1 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
3 * docs/gst/gstreamer-sections.txt:
4 * gst/gst.c: (init_post):
5 * gst/gst_private.h: (_GstParseContext):
6 * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
7 (gst_parse_context_free), (gst_parse_context_get_missing_elements),
8 (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
9 (gst_parse_launch_full):
10 * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
11 (GstParseFlags), (GstParseContext):
12 * gst/gstutils.c: (gst_parse_bin_from_description),
13 (gst_parse_bin_from_description_full):
15 * gst/parse/grammar.y:
17 * win32/common/libgstreamer.def:
18 Add new gst_parse_*_full API (#528178):
19 API: gst_parse_launch_full()
20 API: gst_parse_launchv_full()
21 API: gst_parse_bin_from_description_full()
22 API: gst_parse_context_new()
23 API: gst_parse_context_free()
24 API: gst_parse_context_get_missing_elements()
26 2008-05-23 Stefan Kost <ensonic@users.sf.net>
28 patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
30 * docs/faq/gst-uninstalled:
31 Also support ffmpeg in gst-uninstalled.
33 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
36 After discussion on IRC use the binary registry as default
37 but allow to disable it with --disable-binary-registry.
39 * win32/common/libgstreamer.def:
40 Add the two new symbols for the binary registry.
42 2008-05-22 Tim-Philipp Müller <tim.muller at collabora co uk>
44 * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
45 * gst/gstutils.c: (gst_parse_bin_from_description):
46 * gst/parse/grammar.y: (graph):
47 More guards against bad input; typo fix; some minor clean-ups.
49 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
51 Patch by: Sjoerd Simons <sjoerd at luon dot net>
53 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
54 If nothing else can be used, use the last buffer's start time as
55 the segment's last stop. Fixes bug #534258.
57 2008-05-21 Tim-Philipp Müller <tim.muller at collabora co uk>
59 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
60 Move size sanity check to the right place: downstream may return
61 a buffer with a smaller size if the buffer caps are different than
62 the requested ones, as may happen when doing reverse negotiation.
64 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
66 * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
67 (gst_file_sink_render):
68 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
70 Small cleanups. Add note adbout g_fopen() on windows and why we don't
73 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
75 * gst/gstpad.c: (gst_pad_load_and_link):
76 * gst/gstutils.c: (gst_element_link_pads),
77 (gst_element_unlink_pads):
78 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
79 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
80 (gst_check_teardown_sink_pad),
81 (gst_check_element_push_buffer_list):
82 * tests/check/elements/fakesink.c: (GST_START_TEST):
83 * tests/check/elements/filesink.c:
84 * tests/check/elements/filesrc.c: (GST_START_TEST):
85 * tests/check/elements/multiqueue.c: (setup_multiqueue),
86 (mq_sinkpad_to_srcpad):
87 * tests/check/elements/tee.c: (GST_START_TEST):
88 * tests/check/generic/sinks.c: (GST_START_TEST):
89 * tests/check/gst/gstbin.c: (GST_START_TEST):
90 * tests/check/gst/gstevent.c: (GST_START_TEST):
91 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
92 * tests/check/gst/gstpipeline.c: (GST_START_TEST):
93 * tests/check/gst/gstquery.c: (GST_START_TEST):
94 * tests/check/gst/gstutils.c: (GST_START_TEST):
95 * tests/check/libs/basesrc.c: (GST_START_TEST):
96 * tests/check/pipelines/parse-launch.c: (run_delayed_test),
97 (gst_parse_test_element_change_state):
98 Don't use gst_element_get_pad().
100 2008-05-21 Felipe Contreras <felipe.contreras@gmail.com>
103 Fix installing plugin documentation when gtk-doc is disabled.
105 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
107 * docs/manual/advanced-autoplugging.xml:
108 * docs/manual/basics-helloworld.xml:
109 * docs/manual/basics-pads.xml:
110 * docs/manual/highlevel-components.xml:
111 Avoid using a bad function in the example code.
113 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
115 * gst/gstclock.c: (gst_clock_set_calibration):
116 Fix debug of the new clock rate.
118 2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
120 * win32/common/libgstbase.def:
121 Add gst_base_sink_wait_clock() to the exported symbols.
123 2008-05-20 Sebastian Dröge <slomo@circular-chaos.org>
125 Patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
127 * libs/gst/base/gstbasetransform.c:
128 (gst_base_transform_sink_event):
129 Unref events that the GstBaseTransform::event vfunc didn't want to
130 have forwarded by the base class. Closes a leak in identity.
133 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
135 * docs/libs/gstreamer-libs-sections.txt:
136 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
137 * libs/gst/base/gstbasesink.h:
138 Expose a method that was previously used internally to synchronize
139 against the clock because it can be useful for subclasses too.
140 API: GstBaseSink::gst_base_sink_wait_clock()
142 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
144 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
145 Add sanity check to make sure we don't get smaller buffers
146 than requested (and fallback to normal buffer alloc if we do).
148 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
150 * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
151 (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
152 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
153 Refactor adjusting the running_time with latency and offset into a
155 When doing clipping, we still want to use the subclass get_times method,
156 just in case the DURATION or TIMESTAMP are not set.
158 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
160 * docs/gst/gstreamer-sections.txt:
161 * gst/gsttypefind.c: (gst_type_find_suggest_simple):
163 * win32/common/libgstreamer.def:
164 API: add gst_type_find_suggest_simple(), #533740.
166 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
168 * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
169 Use right error code when typefinding fails, so we can use
170 the default (translated) error messages.
172 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
174 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
175 (gst_base_src_start):
176 When the subclass did not set caps on outgoing buffers, configure the
177 caps we negotiated on the source pad.
178 When the typefind helper does not find caps, error out properly instead
179 of doing things with NULL caps.
181 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
184 Tabs to spaces, oh yes!
186 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
188 * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
189 Add David's and Benjamin's tests for array intersection to the
190 unit test suite (#147931).
192 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
195 Document that gst_event_new_tag() and gst_event_new_navigation()
196 take ownership of the taglist/structure passed to them. (#533635).
198 2008-05-17 Jan Schmidt <jan.schmidt@sun.com>
201 Don't descend into the plugins dir if plugin docs building
205 Add a note about the new type:GTypeName syntax for the plugin
206 documentation .types file.
208 2008-05-17 Sebastian Dröge <slomo@circular-chaos.org>
210 * gst/gstmessage.c: (gst_message_new_error),
211 (gst_message_new_warning), (gst_message_new_info):
213 Mark the debug string parameters as const. Fixes bug #533490.
215 2008-05-16 Sebastian Dröge <slomo@circular-chaos.org>
217 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
218 Sort buffer cache list by end offsets. This makes sure that we don't
219 stop to search for a cached buffer that contains the requested data
221 Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
222 more efficient. Fixes bug #459862.
224 2008-05-14 Stefan Kost <ensonic@users.sf.net>
227 Explain why we copy the list.
233 Add one debug-log statement to help tracing probelms with linking pads.
235 2008-05-12 Stefan Kost <ensonic@users.sf.net>
237 * tests/check/gst/gstinfo.c:
238 Add a test for removing the default log handler. Seems to fail under
241 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
243 * gst/gstpad.c: (gst_pad_peer_accept_caps):
244 Release pad lock before calling out to avoid a possible deadlock.
246 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
248 * gst/parse/grammar.y:
249 Remove unneeded value unset.
251 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
252 Add unit test for de/serialization of caps.
254 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
256 * plugins/elements/gstfakesink.c:
257 (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
258 * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
259 (gst_fake_src_class_init):
260 Use custom marshalers that take GstMiniObject as first parameter.
261 Using OBJECT as parameter while a GstMiniObject is given will lead
262 to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
264 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
266 * plugins/elements/gsttypefindelement.c:
267 (gst_type_find_element_handle_event),
268 (gst_type_find_element_send_cached_events),
269 (gst_type_find_element_change_state):
270 Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
273 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
275 * plugins/elements/gsttypefindelement.c:
276 (gst_type_find_handle_src_query), (stop_typefinding),
277 (gst_type_find_element_handle_event),
278 (gst_type_find_element_send_cached_events),
279 (gst_type_find_element_change_state):
280 Forward FLUSH_START events immediately and clean up instead of
283 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
285 Patch by: Sjoerd Simons <sjoerd at luon dot net>
287 * libs/gst/base/gstbasetransform.c:
288 (gst_base_transform_buffer_alloc):
289 Check the caps of the buffer returned by gst_pad_alloc_buffer() and
290 fall back to default negotiation in the chain function if the caps
291 are different from what was requested. Fixes bug #526768.
293 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
296 * tests/check/gst/gstsegment.c:
297 No, let's not use g_slice_{dup|copy} here, since they only exist
298 since GLib 2.14 and we still depend only on >= 2.12. Also add
299 unit test for gst_segment_copy().
301 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
303 * gst/gstutils.h: (GST_BOILERPLATE_FULL):
304 Try to fix 'dereferencing type-punned pointer will break strict
305 aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
306 changed the default GType typedef from gulong to gsize at some point,
307 but kept GType typedef'ed to gulong for C++ for ABI reasons; the
308 g_once_* functions all take a gsize * though, so work around the type
309 mismatch for C++ by doing everything in gsize and casting to GType
312 2008-05-09 Jan Schmidt <jan.schmidt@sun.com>
314 * plugins/elements/gstmultiqueue.c:
315 Add documentation for the signals to push our core plugin docs
316 coverage back up to 100%.
318 2008-05-08 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
320 * gst/gstinfo.h (GST_FUNCTION):
321 Reverted GST_FUNCTION to the old version as we don't want the
322 full signature in C++ code. Also added support for MSVC.
324 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
327 Intern the type name string, similar to what G_DEFINE_TYPE does.
329 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
332 Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
334 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
336 Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
338 * libs/gst/base/gstbasetransform.c:
339 (gst_base_transform_buffer_alloc):
340 Don't passthrough buffer allocation too easily if the caps change.
341 This breaks when working in passthrough mode and upstream changes
342 it's caps. Fixes bug #526768.
344 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
346 * gst/gstinfo.c (gst_debug_log_valist):
347 Improved the __FILE__ part of debug output for MSVC.
349 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
351 * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
352 Declaration after statement fix for compilers like MSVC.
354 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
356 * win32/common/config.h.in:
357 Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
358 use the real thing than having "???" unconditionally.
360 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
362 * gst/gstinfo.h (GST_FUNCTION):
363 Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
365 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
367 * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
370 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
371 (gst_base_sink_set_flushing):
372 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
375 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
377 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
378 (gst_fake_src_init), (gst_fake_src_set_property),
379 (gst_fake_src_get_property), (gst_fake_src_start):
380 * plugins/elements/gstfakesrc.h:
381 Added format property to control the format of the newsegment events.
382 API: GstFakeSrc:format
384 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
386 * win32/common/libgstreamer.def:
387 Add gst_pad_has_name() to the exported symbols.
389 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
391 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
392 * libs/gst/base/gstbasetransform.c:
393 (gst_base_transform_prepare_output_buffer):
394 Don't allow negative sizes when allocating new buffers.
397 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
399 Patch by: Sjoerd Simons <sjoerd at luon net>
401 * gst/gstbus.c: (gst_bus_source_dispatch):
402 Don't print a warning if the queue is empty when we try to pop
403 here. That could happen if another thread or callback set the
404 bus to flushing between the source's check/prepare and the
405 dispatch being called (#531538).
407 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
409 * plugins/elements/gstmultiqueue.c:
412 2008-05-05 Sebastian Dröge <slomo@circular-chaos.org>
414 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
415 Add unit test for deserializing uint64s and check some really large
416 numbers in the int64 test.
418 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
420 * tools/gst-inspect.c: (n_print), (print_hierarchy),
421 (print_interfaces), (print_element_properties_info),
423 Use "%s" as format string instead of printing strings directly.
425 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
427 * gst/gstclock.c: (gst_clock_set_calibration):
428 Make some checks actually useful.
430 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
431 Remove some unused code. Unsigned integers tend to be >= 0.
433 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
435 * gst/gstminiobject.c: (gst_value_get_mini_object):
436 Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
437 function was not in the unscheduled 0.10.19 release.
439 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
441 * gst/gstregistry.c: (gst_registry_scan_path_level):
442 Only print one log message per non-plugin file.
444 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
446 * gst/gstinfo.c: (gst_debug_log_default):
447 Fix alignment of debug log columns on 64-bit.
449 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
451 * docs/libs/Makefile.am:
452 * docs/libs/gstreamer-libs-sections.txt:
453 Ignore private controller headers for docs.
455 2008-05-03 Sebastian Dröge <slomo@circular-chaos.org>
457 * libs/gst/controller/gstcontrollerprivate.h:
458 * libs/gst/controller/gsthelper.c:
459 * libs/gst/controller/gstinterpolation.c:
460 * libs/gst/controller/gstinterpolationcontrolsource.c:
461 (gst_interpolation_control_source_set_interpolation_mode):
462 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
463 * libs/gst/controller/lib.c:
464 Move some private declarations into private headers.
466 2008-05-02 Sebastian Dröge <slomo@circular-chaos.org>
468 * gst/gstdebugutils.c: (debug_dump_element_pad):
469 Remove some code that is unused after Stefan's refactoring and uses
470 uninitialized variables now, resulting in a compiler warning.
472 2008-05-01 Tim-Philipp Müller <tim.muller at collabora co uk>
474 * gst/gstregistry.c: (gst_registry_scan_path_level):
475 Run g_str_has_suffix() only on the file name, not the
478 2008-04-30 Tim-Philipp Müller <tim.muller at collabora co uk>
480 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
481 Since we're not called only from the chain function any longer,
482 we can't assume that there's always data in the queue, so move
483 the is_full check to the beginning of the loop (otherwise we'd
484 hit the assert when changing the limit properties while the
485 queue is empty or not running yet).
486 Also, only set a discont if items were actually removed from
489 * tests/check/elements/queue.c: (test_leaky_downstream):
490 Test case for the above.
492 2008-04-30 Wim Taymans <wim.taymans@collabora.co.uk>
494 Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
496 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
497 (gst_queue_chain), (queue_capacity_change),
498 (gst_queue_set_property):
499 When changing thr max capacity of a leaky queue, immediatly drop buffers
500 instead of waiting for a push on the sinkpad. Fixes #530637.
502 2008-04-30 Stefan Kost <ensonic@users.sf.net>
504 * gst/gstdebugutils.c:
505 Refactor code and fix handling of ghostpads and their proxypads.
507 2008-04-29 Wim Taymans <wim.taymans@collabora.co.uk>
509 * docs/gst/gstreamer-sections.txt:
510 * gst/gstevent.c: (gst_event_has_name):
512 * tests/check/gst/gstevent.c: (GST_START_TEST):
513 Add method to conveniently check the name of a custom event with
514 gst_event_has_name().
515 Reformat the event docs so that related methods are put together instead
516 of the default alphabetical sort.
517 Update unit test with new method.
518 API: GstEvent::gst_event_has_name()
520 2008-04-28 Michael Smith <msmith@songbirdnest.com>
522 * libs/gst/check/Makefile.am:
523 Don't add an explicit link to libgstreamer-0.10.la; it's already
524 included in GST_OBJ_LIBS.
526 2008-04-28 Sebastian Dröge <slomo@circular-chaos.org>
529 Register GstClock type from a type-safe context. Fixes bug #530317.
531 2008-04-25 Michael Smith <msmith@songbirdnest.com>
533 Patch by Edward Hervey <edward.hervey@collabora.co.uk>
535 Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
537 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
539 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
541 Use the GLib stuff to create a private structure.
542 Add some locking around some dispose methods to make them a little
543 safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
545 2008-04-25 Stefan Kost <ensonic@users.sf.net>
547 * libs/gst/base/gstbasesink.h:
548 * libs/gst/base/gstbasesrc.h:
549 * libs/gst/base/gstbasetransform.h:
550 * libs/gst/base/gstcollectpads.h:
551 Fix doc typos and unify caps a bit.
553 2008-04-25 Stefan Kost <ensonic@users.sf.net>
555 * tools/gst-launch.1.in:
556 Forgot to also add the envvar docs here.
558 2008-04-25 Tim-Philipp Müller <tim at centricular dot net>
560 * gst/gst.c: (init_post), (gst_deinit):
561 * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
562 (test_concurrent_create), (gst_pipeline_suite):
563 Ref some more classes in gst_init() to work around thread-safety
564 issues in pre-2.16 GLibs, and add basic unit test.
566 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
568 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
569 (gst_base_sink_send_event):
570 Rearrange the latency query code. We always want to do the upstream
571 query, even if we are not live so that the upstream elements can get the
572 latency results too. If we fail doing the query and we are live, we
573 return TRUE afterwards.
575 2008-04-24 Stefan Kost <ensonic@users.sf.net>
577 patch by: Jason Zhao <e3423c@motorola.com>
579 * docs/gst/running.xml:
581 Enable/disable scan_and_update_registry() based on commandline switch
582 or environment variable. Fixes #520468.
585 Fix typo in my previous commit.
587 2008-04-24 Stefan Kost <ensonic@users.sf.net>
589 * gst/gstregistrybinary.c:
590 Add a warning if we hit unhandled factories when saving.
591 More debug logging detail, but move to LOG category.
593 2008-04-24 Stefan Kost <ensonic@users.sf.net>
596 Tell the *truth* when improving the documentation.
598 2008-04-23 Sebastian Dröge <slomo@circular-chaos.org>
600 * gst/gstelementfactory.c: (gst_element_factory_make):
601 Unref the factory after it was used the last time, not before.
603 * gst/gstindexfactory.c: (gst_index_factory_make):
604 Improve debugging a bit and don't leak a ref to the index factory with
607 2008-04-23 Stefan Kost <ensonic@users.sf.net>
610 Improve the documentation.
612 2008-04-23 Stefan Kost <ensonic@users.sf.net>
615 The glib macro seems to be borked. Use g_slice_copy directly and cast
616 in the hope that this fixes the warning on 64bit.
618 2008-04-23 Stefan Kost <ensonic@users.sf.net>
621 Document the new function. Use g_slice_dup() (no need for
624 2008-04-23 Stefan Kost <ensonic@users.sf.net>
626 * docs/gst/gstreamer-sections.txt:
627 Move GParamSepc macros to standart section.
630 Dn't document _get_type - its in private section in docs anyway and
631 this doc-blob was incomplete.
634 Fix wrong symbol names in docs.
637 Add once doc sentence.
639 * tests/check/gst/.cvsignore:
642 2008-04-21 Stefan Kost <ensonic@users.sf.net>
644 * docs/gst/Makefile.am:
645 And remove those libs here.
647 2008-04-21 Tim-Philipp Müller <tim at centricular dot net>
649 * docs/libs/Makefile.am:
650 Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
652 2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk>
654 Patch by: Olivier Crete <tester at tester dot ca>
656 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
657 Add the min-threshold to the min latency if possible. Fixes #529148.
659 2008-04-21 Stefan Kost <ensonic@users.sf.net>
661 * docs/gst/gstreamer.types.in:
662 Stupid editor, I removed that line as it should go in yet.
664 2008-04-21 Stefan Kost <ensonic@users.sf.net>
666 * docs/gst/gstreamer.types.in:
667 * docs/libs/gstreamer-libs.types:
668 Remove library types fro core docs and have them in libs docs.
669 Reformat and cleanup. Add comment for miniobject types.
671 2008-04-20 Tim-Philipp Müller <tim at centricular dot net>
673 * gst/gsturi.c: (gst_uri_get_protocol):
674 Fix leak: g_strdown operates on the string in place, while
675 g_ascii_strdown() returns a newly-allocated string.
677 2008-04-20 Sebastian Dröge <slomo@circular-chaos.org>
679 * tools/gst-inspect.c: (print_uri_handler_info),
680 (print_element_info):
681 Print the URI protocols and the URI type supported by the element.
683 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
685 * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
686 Use g_value_take_string() instead of the deprecated
687 g_value_set_string_take_ownership().
689 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
691 * gst/gstregistrybinary.c: (_gst_crc32):
692 Return the old CRC instead of 0 if we give a NULL buffer
693 or a buffer with a length of 0.
695 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
697 * gst/gsturi.c: (gst_uri_protocol_check_internal),
698 (gst_uri_get_protocol), (gst_uri_has_protocol),
699 (gst_uri_construct), (gst_uri_handler_set_uri):
700 A valid URI scheme can also include '+', '-' and '.' additional
701 to alphanumeric characters as per RFC 3986 Section 3.1.
703 Handle URI schemes case insensitive in all places and convert
704 to lower-case when constructing an URI or setting an URI with
705 the GstURIHandler interface. Fixes bug #528868.
706 All elements can still assume (as before) that they will
707 get passed URIs with a lower-case URI scheme by the GstURIHandler
710 2008-04-17 Tim-Philipp Müller <tim at centricular dot net>
712 * gst/gstcaps.c: (gst_static_caps_get):
713 * gst/gstclock.c: (gst_clock_entry_new):
714 Don't use g_atomic_set_int where it's not needed.
716 2008-04-17 Wim Taymans <wim.taymans@collabora.co.uk>
718 * gst/gstvalue.c: (gst_value_deserialize_caps):
719 * gst/parse/grammar.y:
722 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
724 * gst/gstutils.c: (gst_atomic_int_set):
725 Use g_atomic_int_set() here too instead of assignment +
728 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
732 API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
733 now that we depend on new enough GLib.
735 * gst/gstcaps.c: (gst_static_caps_get):
736 * gst/gstclock.c: (gst_clock_entry_new):
737 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
738 (gst_debug_set_default_threshold), (_gst_debug_category_new),
739 (gst_debug_category_set_threshold):
740 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
741 (gst_base_sink_set_qos_enabled):
742 * libs/gst/net/gstnettimeprovider.c:
743 (gst_net_time_provider_set_property):
744 Use g_atomic_int_set() instead of gst_atomic_int_set().
746 2008-04-16 Stefan Kost <ensonic@users.sf.net>
749 Also use G_GINT64_CONSTANT for the queries.
751 2008-04-16 Stefan Kost <ensonic@users.sf.net>
754 Use G_GINT64_CONSTANT in varargs function.
756 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
758 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
759 Initialize the registry magic with zeroes.
761 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
763 * gst/gstregistrybinary.c: (_gst_crc32),
764 (gst_registry_binary_write),
765 (gst_registry_binary_initialize_magic),
766 (gst_registry_binary_write_cache),
767 (gst_registry_binary_check_magic),
768 (gst_registry_binary_read_cache):
769 * gst/gstregistrybinary.h:
770 Add crc32 checksum to the binary registry file and check this before
771 accepting a registry file.
773 Also free the data list when writing to the registry file fails.
775 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
777 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
778 (gst_registry_binary_load_feature),
779 (gst_registry_binary_load_plugin):
780 If an element supports the Uri interface, returns a valid pointer
781 to the supported URI protocols but this pointer contains nothing
782 don't try to save that as it will corrupt the registry.
784 Don't unref the plugin if we added it to the registry already but
785 fail to load a feature as gst_registry_add_plugin() takes ownership
788 Improve debugging a bit.
790 2008-04-16 Stefan Kost <ensonic@users.sf.net>
793 Clarify some tag item docs after discussion on irc.
795 2008-04-15 Stefan Kost <ensonic@users.sf.net>
797 * docs/gst/gstreamer-docs.sgml:
798 Remove commented out plugins (they have their own docs). Update
801 2008-04-15 Stefan Kost <ensonic@users.sf.net>
803 * docs/gst/gstreamer-docs.sgml:
804 * docs/gst/gstreamer-sections.txt:
805 * gst/gstparamspecs.c:
806 * gst/gstparamspecs.h:
807 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
811 This now only documents GValue.
813 * docs/libs/gstreamer-libs-sections.txt:
814 * libs/gst/controller/gstcontroller.h:
815 Remove GST_PARAM_CONTROLLABLE.
817 2008-04-15 Stefan Kost <ensonic@users.sf.net>
820 Correct file path. Tell about how to use -overrides.txt.
821 * docs/design/draft-tagreading.txt:
824 2008-04-14 Sebastian Dröge <slomo@circular-chaos.org>
826 * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
827 (gst_registry_binary_load_plugin):
828 Fix a typo in a debug message and revert change from yesterday as
829 gst_registry_add_plugin() will only fail if something is really wrong
830 already and we can't survive it anyway.
832 2008-04-14 Tim-Philipp Müller <tim at centricular dot net>
834 * gst/gst.c: (init_post), (gst_deinit):
835 Pre-register GstGError GType from a thread-safe context
836 (fixes #527967); unref enum type classes in deinit.
838 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
840 Patch by: Rene Stadler <mail at renestadler de>
842 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
843 Merging an empty list with another list in KEEP_ALL mode should
844 yield an empty list as result and not the second list (#512578).
846 * tests/check/gst/gsttagsetter.c:
847 Add unit test for tag merge modes and the aforementioned bug.
849 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
851 Patch by: Rene Stadler <mail at renestadler de>
854 Fix description to match the order in the table (#512577).
856 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
858 Patch by: Kwang Yul Seo <kwangyul.seo gmail com>
860 * libs/gst/net/gstnettimepacket.h:
861 * docs/libs/gstreamer-libs-sections.txt:
862 Define socklen_t as int if it's not defined yet. Fixes compilation
863 with MSVC6 and other versions where socklen_t is not defined in
864 the windows headers (#518022).
866 2008-04-13 Sebastian Dröge <slomo@circular-chaos.org>
868 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
869 If gst_registry_add_plugin() fails our reference to the plugin is
870 invalid so don't try to use it anymore and instead error out.
872 2008-04-12 Tim-Philipp Müller <tim at centricular dot net>
874 * tools/gst-xmlinspect.c: (print_element_info), (main):
875 De-cruft a bit. If no argument is specified, print all elements in
876 XML syntax rather than a freestyle list of elements like gst-inspect.
877 Also, don't print XML header chunk unless we actually have something
878 to print (ie. don't print it before an error message); print error
879 message to stderr not stdout. Remove support for printing plugin
880 info (it would just output something freestyle along the lines of
881 gst-inspect so far), which fixes #514507. Also add license header.
883 2008-04-11 Julien Moutte <julien@fluendo.com>
886 * configure.ac: Merge platform specific defines, introduce a new
887 define on OS X to remember that forking when updating registry is
889 * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
891 * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
893 * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
894 condition that leads to absolutely no plugins being registered on
897 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
899 Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
901 * gst/gstutils.c: (gst_pad_add_data_probe),
902 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
903 (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
904 (gst_pad_add_buffer_probe_full):
906 * docs/gst/gstreamer-sections.txt:
907 * win32/common/libgstreamer.def:
908 Add gst_pad_add_*_probe_full() functions with a notify callback that
909 lets the caller free the data it passes to the probe functions. This
910 is useful for bindings such as gst-python or gstreamermm (#526814).
911 API: gst_pad_add_data_probe_full
912 API: gst_pad_add_buffer_probe_full
913 API: gst_pad_add_event_probe_full
915 * tests/check/gst/gstutils.c:
916 Add minimal unit test to make sure freeing the data actually works
919 * tests/benchmarks/.cvsignore:
920 Random cvsignore addendum.
922 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
924 * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
925 (GST_DEBUG_BIN_TO_DOT_FILE):
926 Mention GstDebugGraphDetails enum type in doc blurb so we get a link
927 to it in the docs (since these are macros the types of the arguments
928 won't be shown in the docs otherwise).
930 2008-04-10 Stefan Kost <ensonic@users.sf.net>
933 Do not abort on out of memory for pad_alloc_buffer.
935 2008-04-10 Stefan Kost <ensonic@users.sf.net>
937 * libs/gst/check/gstcheck.c:
938 Remove blank line between symbol name ad parameters to fix gtkdoc
941 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
943 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
945 * docs/gst/gstreamer-sections.txt:
948 * win32/common/libgstreamer.def:
949 Expose gst_segment_copy() to make things easier for the c++ bindings.
951 API: gst_segment_copy()
953 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
955 * gst/gst.c: (gst_init_get_option_group), (init_post):
956 Fix const position; ref GType classes for enum types to work
957 around thread-safety issues in GLib versions < 2.16.
959 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
961 * docs/design/part-buffering.txt:
962 Fix some typos and set the estimated total for push mode to -1.
964 * gst/gstquery.c: (gst_query_new_buffering):
965 Set buffering-left to 0 as we're not buffering by default.
967 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
968 Implement BUFFERING query.
970 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
972 Based on patch by: Milosz Derezynski <internalerror gmail com>
974 * gst/gsterror.c: (_gst_stream_errors_init):
976 Add two new error codes for encrypted content. Fixes #524659.
977 API: GST_STREAM_ERROR_DECRYPT
978 API: GST_STREAM_ERROR_DECRYPT_NOKEY
980 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
985 * win32/common/libgstreamer.def:
988 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
990 * plugins/elements/gstidentity.c: (gst_identity_event),
991 (gst_identity_start):
992 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
993 event after processing some data. Fixes bug #526042.
995 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
997 * docs/gst/gstreamer-sections.txt:
998 * gst/gstquery.c: (gst_query_parse_latency),
999 (gst_query_set_buffering_percent),
1000 (gst_query_parse_buffering_percent),
1001 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
1003 Rename _avail -> _range
1004 API: gst_query_set_buffering_range
1005 API: gst_query_parse_buffering_range
1007 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
1009 * docs/design/part-buffering.txt:
1012 * gst/gstquery.c: (gst_query_parse_latency),
1013 (gst_query_new_buffering), (gst_query_set_buffering_percent),
1014 (gst_query_parse_buffering_percent):
1016 Add busy field and quark for the buffering query so that the app can
1017 only use the query to see if buffering is in progress.
1019 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
1021 * docs/gst/gstreamer-sections.txt:
1022 * gst/gstmessage.c: (gst_message_set_buffering_stats),
1023 (gst_message_parse_buffering_stats):
1025 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1026 (gst_query_parse_latency), (gst_query_new_buffering),
1027 (gst_query_set_buffering_percent),
1028 (gst_query_parse_buffering_percent),
1029 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
1030 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
1032 Reorder the message docs and headers for clarity.
1033 Add aditional buffering stats API for messages.
1034 Add buffering query.
1035 Convert some leftover queries to use GstQuark.
1036 API: gst_message_set_buffering_stats
1037 API: gst_message_parse_buffering_stats
1038 API: GST_QUERY_BUFFERING
1039 API: GstBufferingMode
1040 API: gst_query_new_buffering
1041 API: gst_query_set_buffering_percent
1042 API: gst_query_parse_buffering_percent
1043 API: gst_query_set_buffering_stats
1044 API: gst_query_parse_buffering_stats
1046 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
1048 * gst/gstmessage.c: (gst_message_new_error),
1049 (gst_message_new_warning), (gst_message_new_info),
1050 (gst_message_new_buffering), (gst_message_new_state_changed),
1051 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
1052 (gst_message_new_new_clock), (gst_message_new_segment_start),
1053 (gst_message_new_segment_done), (gst_message_new_duration),
1054 (gst_message_new_async_start), (gst_message_parse_buffering),
1055 (gst_message_parse_state_changed),
1056 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
1057 (gst_message_parse_new_clock), (gst_message_parse_error),
1058 (gst_message_parse_warning), (gst_message_parse_info),
1059 (gst_message_parse_segment_start),
1060 (gst_message_parse_segment_done), (gst_message_parse_duration),
1061 (gst_message_parse_async_start):
1062 Use GstQuark for messages.
1064 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
1066 * gst/gstquark.c: (_priv_gst_quarks_initialize):
1068 Add some more quarks needed for messages and queries.
1070 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
1072 * docs/design/part-buffering.txt:
1073 Remove the "none" buffering mode, STREAM is a good default.
1074 Move estimated-time to the avail query, that's when it will be needed.
1075 Other small typo fixes and updates.
1077 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
1079 * gst/gstindex.c: (gst_index_resolver_get_type):
1080 Don't put descriptions into the nick field of a GEnumValue: it's not
1081 meant for that and some language bindings rely on the nick field to
1082 construct constants and the like. Fixes #526705.
1084 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
1089 Merge other changes from 0.10.19 release branch.
1091 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
1093 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
1096 Actually build dlls when cross-compiling with mingw32.
1099 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
1101 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
1104 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
1106 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
1108 * docs/design/draft-latency.txt:
1111 * docs/design/part-buffering.txt:
1112 Update design docs with more buffering ideas.
1114 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
1117 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
1119 2008-04-03 Stefan Kost <ensonic@users.sf.net>
1122 Revert part that belongs to the preset patch.
1124 2008-04-03 Stefan Kost <ensonic@users.sf.net>
1127 Add qoutes to the define. Fixes # 525961.
1129 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
1131 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
1132 (gst_file_index_load), (gst_file_index_add_id),
1133 (gst_file_index_get_assoc_entry):
1134 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
1135 (gst_mem_index_free_id), (gst_mem_index_add_id),
1136 (gst_mem_index_index_format):
1137 Use GSlice when possible.
1139 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
1141 * libs/gst/controller/gstinterpolationcontrolsource.c:
1142 (gst_control_point_free),
1143 (gst_interpolation_control_source_set_internal):
1144 Use GSlice for allocating the control points.
1146 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
1148 * plugins/elements/gsttypefindelement.c:
1149 (gst_type_find_element_class_init),
1150 (gst_type_find_element_set_property),
1151 (gst_type_find_element_get_property),
1152 (gst_type_find_element_activate):
1153 * plugins/elements/gsttypefindelement.h:
1155 Fix pad leak when peer query fails.
1156 We can still typefind when the peer returns -1.
1157 Add property to force caps and bypass typefinding. This will be used in
1161 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
1166 * gst/glib-compat-private.h:
1167 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
1168 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
1169 Unconditionally use GSlice for allocation.
1171 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
1172 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
1173 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
1174 (gst_structure_free):
1175 Use GSlice for allocation.
1177 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
1179 * gst/parse/Makefile.am:
1180 * gst/parse/grammar.tab.pre.c:
1181 * gst/parse/grammar.tab.pre.h:
1182 * gst/parse/lex._gst_parse_yy.pre.c:
1183 Require a new enough flex and bison and remove the parser hacks to use
1184 a pre-regenerated version.
1186 2008-04-01 Julien Moutte <julien@fluendo.com>
1188 patch by: Jason Zhao <E3423C@motorola.com>
1190 * configure.ac: Add a configure switch to disable option parsing
1194 2008-03-31 Stefan Kost <ensonic@users.sf.net>
1197 * gst/gstregistry.c:
1198 MacOS has plugins under .so or under .dylib. Add detection for MacOS
1199 and handle this case.
1202 Add a comment here describing, why we stat each plugin and not try to
1205 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
1207 * libs/gst/base/gstbasetransform.c:
1208 (gst_base_transform_prepare_output_buffer):
1209 Also unset the GAP flag on buffers if we're working inplace but
1210 the element is not GAP-aware.
1212 Mark a comment as FIXME 0.11.
1214 2008-03-31 Stefan Kost <ensonic@users.sf.net>
1217 Fix type in log message and add one to ease seeing how long registry
1218 cache verification takes.
1220 * gst/gstregistry.c:
1221 Only test plugin filenames against G_MODULE_SUFFIX.
1223 2008-03-31 Stefan Kost <ensonic@users.sf.net>
1225 * gst/gstdebugutils.c:
1226 Improve handling ghost/proxy pads.
1228 2008-03-27 Stefan Kost <ensonic@users.sf.net>
1230 * docs/gst/gstreamer-sections.txt:
1233 Expose macro to docs and fix link to it.
1235 2008-03-27 Michael Smith <msmith@fluendo.com>
1237 * libs/gst/dataprotocol/dataprotocol.c:
1238 (gst_dp_packet_from_event_1_0):
1239 When calculating GDP body CRC, use the correct pointer.
1240 Fixes part of #522401.
1242 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
1244 Patch by: Mark Nauwelaerts <manauw at skynet be>
1246 * plugins/elements/gstidentity.c: (gst_identity_class_init),
1247 (gst_identity_init), (gst_identity_prepare_output_buffer):
1248 Identity is not always a passthrough element, it can modify the buffer
1249 timestamps when it has a datarate and operates in single-segment mode.
1250 We therefore make it an in_place filter with a custom buffer prepare
1251 function that conditionally makes the input buffer metadata writable
1252 when needed. Fixes #523985.
1254 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
1256 Patch by: Mark Nauwelaerts <manauw at skynet be>
1259 * libs/gst/base/gstbasesrc.h:
1260 * libs/gst/base/gstbasetransform.c:
1261 * libs/gst/check/gstcheck.c:
1262 Small documentation fixes. Fixes #523978.
1264 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
1266 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
1267 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
1268 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
1270 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
1272 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
1273 (single_queue_underrun_cb):
1274 When trying to make room in the queue, bump the max allowed buffers
1275 bigger than the current amount of buffers in the queue. this fixes some
1276 nasty deadlocks in multiqueue when dynamically changing the limits of
1279 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
1281 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
1283 * gst/gstcaps.c: (gst_caps_set_simple),
1284 (gst_caps_set_simple_valist), (gst_caps_intersect):
1286 Constify the field gchar * params in set_simple and friends.
1289 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
1291 * gst/gstvalue.c: (gst_value_transform_object_string):
1292 Transform a GstObject to a more meaningfull string that includes the
1293 object type in addition to its name.
1295 2008-03-23 Stefan Kost <ensonic@users.sf.net>
1298 ChangeLog surgery to add bugnumber to commit.
1300 2008-03-23 Rene Stadler <mail@renestadler.de>
1302 * libs/gst/base/gstbasetransform.c:
1303 (gst_base_transform_set_gap_aware): Fix confusing documentation.
1305 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
1307 * gst/gstregistrybinary.c: (gst_registry_binary_write):
1308 Rename constant everywhere and don't forget one occurence.
1310 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
1312 * gst/gstregistrybinary.c: (gst_registry_binary_write):
1313 Align memory to the pointer size even if the architecture allows
1314 unaligned memory access. Unaligned memory access usually comes with
1315 performance penality.
1317 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
1319 * gst/gstregistrybinary.c: (gst_registry_binary_write),
1320 (gst_registry_binary_check_magic),
1321 (gst_registry_binary_load_pad_template),
1322 (gst_registry_binary_load_feature),
1323 (gst_registry_binary_load_plugin):
1324 Align memory to the pointer size instead of always 32 bit. Fixes
1325 unaligned memory accesses on ia64 and friends.
1327 * gst/gstregistrybinary.h:
1328 Bump binary registry format version for this as it changes the
1329 format on those architectures that don't have unaligned access
1330 and 64 bit pointers.
1332 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
1334 * docs/pwg/advanced-dparams.xml:
1335 * docs/pwg/building-props.xml:
1336 * docs/pwg/other-source.xml:
1337 * gst/glib-compat.h:
1338 * gst/gstbin.c: (gst_bin_class_init):
1339 * gst/gstclock.c: (gst_clock_class_init):
1340 * gst/gstindex.c: (gst_index_class_init):
1341 * gst/gstobject.c: (gst_object_class_init):
1342 * gst/gstpad.c: (gst_pad_class_init):
1343 * gst/gstpipeline.c: (gst_pipeline_class_init):
1344 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1345 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1346 * libs/gst/base/gstbasetransform.c:
1347 (gst_base_transform_class_init):
1348 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
1349 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
1350 (_gst_check_fault_handler_sighandler),
1351 (_gst_check_fault_handler_setup), (gst_check_init):
1352 * libs/gst/controller/gstcontroller.c:
1353 (_gst_controller_class_init):
1354 * libs/gst/controller/gstlfocontrolsource.c:
1355 (gst_lfo_control_source_class_init):
1356 * libs/gst/net/gstnetclientclock.c:
1357 (gst_net_client_clock_class_init):
1358 * libs/gst/net/gstnettimeprovider.c:
1359 (gst_net_time_provider_class_init):
1360 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1361 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1362 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1363 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1364 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1365 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1366 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1367 * plugins/elements/gstidentity.c: (gst_identity_class_init):
1368 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
1369 * plugins/elements/gstqueue.c: (gst_queue_class_init):
1370 * plugins/elements/gsttee.c: (gst_tee_class_init):
1371 * plugins/elements/gsttypefindelement.c:
1372 (gst_type_find_element_class_init):
1373 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1374 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
1375 use it everywhere for GParamSpecs that use static strings (i.e. all).
1376 This gives us less memory usage, fewer allocations and thus less
1377 memory defragmentation. Fixes bug #523806.
1379 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
1381 * gst/gstminiobject.c: (gst_value_dup_mini_object),
1382 (gst_param_spec_mini_object):
1383 * gst/gstminiobject.h:
1384 * win32/common/libgstreamer.def:
1385 * docs/gst/gstreamer-sections.txt:
1386 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
1387 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
1388 GstParamSpecMiniObject into a public header for this.
1390 This make GstMiniObject a bit more consistent with GObject and makes
1391 it possible to extend the param specs.
1393 gst_value_dup_mini_object is mainly useful for set_property methods.
1397 * tools/gst-inspect.c: (print_element_properties_info):
1398 Print something useful for GstMiniObject properties and not just
1401 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
1403 * docs/gst/gstreamer-sections.txt:
1404 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
1405 (gst_registry_binary_check_magic):
1406 * gst/gstregistrybinary.h:
1407 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
1408 and add it to the (private part) of the docs to fix the build.
1410 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
1412 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
1413 (gst_registry_binary_check_magic),
1414 (gst_registry_binary_read_cache):
1415 * gst/gstregistrybinary.h:
1416 Don't use GST_MAJORMINOR for the binary registry version. Instead
1417 hardcode a value that must be changed whenever the format changes
1418 in an incompatible way.
1419 Also don't GST_ERROR when there is a version mismatch, just
1420 regenerate the registry silently.
1422 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
1425 Back to development - 0.10.18.1
1427 === release 0.10.18 ===
1429 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
1432 releasing 0.10.18, "So far away"
1434 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
1437 * win32/common/config.h:
1438 0.10.17.4 pre-release
1440 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
1442 Patch by: Ole André Vadla Ravnås
1443 <ole dot andre dot ravnas at tandberg dot com>
1445 * docs/gst/gstreamer-sections.txt:
1446 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
1447 (gst_poll_update_winsock_event_mask),
1448 (gst_poll_prepare_winsock_active_sets),
1449 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
1450 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
1451 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
1452 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
1453 (gst_poll_check_ctrl_commands), (gst_poll_wait):
1455 * win32/common/libgstreamer.def:
1456 Add new function gst_poll_fd_ignored() for improved Windows
1458 Various minor fixes and cleanups. See #520808.
1460 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
1462 * gst/gstindex.c: (gst_index_entry_free):
1464 Don't free key strings which we don't own. Fixes crash in
1465 gst_index_entry_free() (#522741).
1467 * tests/check/Makefile.am:
1468 * tests/check/gst/.cvsignore:
1469 * tests/check/gst/gstindex.c: (test_index_entries),
1470 (gst_index_suite), (gst_index):
1471 Add unit test for the above.
1473 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
1475 * win32/common/libgstreamer.def:
1476 Remove symbols that were removed recently. Fixes bug #521740.
1478 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
1481 * win32/common/config.h:
1482 0.10.17.3 pre-release
1484 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
1486 Patch by: Ole André Vadla Ravnås
1487 <ole dot andre dot ravnas at tandberg dot com>
1489 * docs/gst/gstreamer-sections.txt:
1490 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
1491 (gst_poll_update_winsock_event_mask), (gst_poll_new),
1492 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
1493 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
1494 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
1495 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
1496 (gst_poll_fd_can_write), (gst_poll_wait),
1497 (gst_poll_set_controllable), (gst_poll_restart),
1498 (gst_poll_set_flushing):
1500 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
1501 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
1502 (gst_net_time_provider_new):
1503 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
1504 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
1505 * tests/benchmarks/gstpollstress.c: (main):
1506 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
1507 Remove GstPollMode from the API, it does not make sense to let the
1508 application control this.
1509 Add support for Win32.
1510 Fix the testsuite. Fixes #520671.
1512 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
1514 Patch by: Ole André Vadla Ravnås
1515 <ole dot andre dot ravnas at tandberg dot com>
1517 * gst/gstregistrybinary.c:
1518 Include io.h for write() and close() when building with MSVC. Fixes
1521 2008-03-07 Stefan Kost <ensonic@users.sf.net>
1524 * gst/gst_private.h:
1525 * gst/gstconfig.h.in:
1526 * gst/gstregistry.h:
1527 * gst/gstregistrybinary.c:
1528 * win32/common/gstconfig.h:
1529 Move registry backend API to private headers where we can. Add
1530 fixme-0.11 comments for the others. Add stubs for the xml backend when
1531 using the binary to ensure they functions exists (they should not be
1532 used though). Fixes #520756.
1534 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
1537 * win32/common/config.h:
1540 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
1542 * gst/gstregistrybinary.c: (gst_registry_binary_write),
1543 (gst_registry_binary_read_cache):
1544 * gst/gstregistryxml.c: (gst_registry_save):
1545 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
1546 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
1547 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
1548 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
1549 Switch to using portabl gsize/gssize instead of size_t/ssize_t
1552 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
1554 * gst/gstminiobject.c:
1555 Import gst_private.h before any other header that might include other
1556 glib headers. This fixes the build on windows using native compilers.
1558 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
1560 * win32/common/gstconfig.h:
1561 Add here too, just for completeness.
1563 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
1566 * gst/gstconfig.h.in:
1567 * gst/gstregistry.h:
1568 Fix broken use of config.h-defined preprocessor directive in a public
1569 header file. Add a corresponding define to gstconfig.h, since we can't
1570 really remove those function declarations from the header file now
1571 (or can we? and why are they there in the first place?).
1573 2008-03-03 Andy Wingo <wingo@pobox.com>
1575 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
1578 * gst/gststructure.c (gst_structure_from_string): Warn if
1579 structure_from_string didn't consume the whole string, but the
1580 caller did not provide an end pointer.
1582 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
1584 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
1586 * gst/gstregistryxml.c: (read_string), (load_feature):
1587 Strings allocated by libxml2 should be freed with xmlFree(), not
1588 with g_free(). Fixes issues on windows in certain contexts (#519698).
1590 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
1592 * gst/gstinterface.c: (gst_element_implements_interface):
1593 Don't crash if the element supports the interface queried, but does
1594 not implement GstImplementsInterface. Fixes #519584.
1596 * tests/check/Makefile.am:
1597 * tests/check/gst/.cvsignore:
1598 * tests/check/gst/gstinterface.c:
1599 Add unit test for the above.
1601 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
1603 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1606 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
1608 * gst/gstsegment.c: (gst_segment_set_seek),
1609 (gst_segment_to_stream_time):
1610 Improve some comment.
1611 Update variables where it makes more sense.
1613 2008-02-29 Rene Stadler <mail@renestadler.de>
1615 * gst/gsturi.c: (gst_uri_handler_get_protocols):
1616 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
1617 URIHandlers implemented using language bindings.
1619 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
1621 * gst/gstelementfactory.h:
1622 * tests/check/elements/fakesink.c:
1623 * tests/check/elements/fakesrc.c: (setup_fakesrc):
1624 * tests/check/elements/fdsrc.c: (setup_fdsrc):
1625 * tests/check/elements/filesink.c: (setup_filesink):
1626 * tests/check/elements/filesrc.c: (setup_filesrc):
1627 * tests/check/elements/identity.c: (setup_identity):
1628 * tests/check/elements/tee.c:
1629 * tests/check/generic/sinks.c:
1630 * tests/check/generic/states.c: (setup), (teardown):
1631 * tests/check/gst/gst.c:
1632 * tests/check/gst/gstabi.c:
1633 * tests/check/gst/gstbin.c:
1634 * tests/check/gst/gstbus.c: (pull_messages):
1635 * tests/check/gst/gstcaps.c:
1636 * tests/check/gst/gstelement.c:
1637 * tests/check/gst/gstevent.c:
1638 * tests/check/gst/gstghostpad.c:
1639 * tests/check/gst/gstiterator.c:
1640 * tests/check/gst/gstmessage.c:
1641 * tests/check/gst/gstminiobject.c: (my_foo_init):
1642 * tests/check/gst/gstobject.c: (thread_name_object),
1644 * tests/check/gst/gstpad.c:
1645 * tests/check/gst/gstplugin.c:
1646 * tests/check/gst/gstpoll.c:
1647 * tests/check/gst/gstquery.c:
1648 * tests/check/gst/gstsegment.c:
1649 * tests/check/gst/gststructure.c:
1650 * tests/check/gst/gstsystemclock.c:
1651 * tests/check/gst/gsttask.c:
1652 * tests/check/gst/gstutils.c:
1653 * tests/check/gst/gstvalue.c:
1654 * tests/check/gst/struct_hppa.h:
1655 * tests/check/gst/struct_i386.h:
1656 * tests/check/gst/struct_ppc32.h:
1657 * tests/check/gst/struct_ppc64.h:
1658 * tests/check/gst/struct_x86_64.h:
1659 * tests/check/libs/adapter.c: (create_and_fill_adapter):
1660 * tests/check/libs/basesrc.c:
1661 * tests/check/libs/controller.c: (GST_START_TEST):
1662 * tests/check/libs/gdp.c:
1663 * tests/check/libs/gstnetclientclock.c:
1664 * tests/check/libs/gstnettimeprovider.c:
1665 * tests/check/libs/libsabi.c:
1666 * tests/check/libs/struct_hppa.h:
1667 * tests/check/libs/struct_i386.h:
1668 * tests/check/libs/struct_ppc32.h:
1669 * tests/check/libs/struct_ppc64.h:
1670 * tests/check/libs/struct_x86_64.h:
1671 * tests/check/pipelines/cleanup.c:
1672 * tests/check/pipelines/simple-launch-lines.c:
1673 * tests/check/pipelines/stress.c:
1674 And correct even more valid sparse warnings.
1676 * win32/common/libgstreamer.def:
1677 Add gst_poll_fd_init to the list of symbols.
1679 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
1681 * gst/gstconfig.h.in:
1682 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
1683 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
1684 (gst_check_log_critical_func), (gst_check_drop_buffers),
1685 (gst_check_element_push_buffer_list):
1686 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
1687 (gst_controller_get_type):
1688 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
1689 (gst_object_get_controller), (gst_object_get_control_source):
1690 * libs/gst/controller/gstinterpolationcontrolsource.c:
1691 (gst_interpolation_control_source_new):
1692 * libs/gst/controller/gstlfocontrolsource.c:
1693 (gst_lfo_control_source_new):
1694 * libs/gst/dataprotocol/dataprotocol.c:
1695 (gst_dp_event_from_packet_0_2):
1696 * plugins/elements/gstfdsrc.c:
1697 * plugins/elements/gstmultiqueue.c:
1698 * plugins/elements/gsttee.c:
1699 * plugins/elements/gsttypefindelement.c:
1700 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
1701 (gst_file_index_add_association):
1702 * plugins/indexers/gstmemindex.c:
1703 * tests/benchmarks/gstpollstress.c: (mess_some_more):
1704 * tests/check/elements/queue.c: (setup_queue):
1705 * tests/check/gst/gstpipeline.c:
1706 * tests/check/libs/collectpads.c: (setup), (teardown),
1707 (gst_collect_pads_suite):
1708 * tests/examples/adapter/adapter_test.c:
1709 * tests/examples/metadata/read-metadata.c: (make_pipeline):
1710 * tests/examples/xml/createxml.c:
1711 * tests/examples/xml/runxml.c:
1712 * tools/gst-inspect.c:
1714 Correct all relevant warnings found by the sparse semantic code
1715 analyzer. This include marking several symbols static, using
1716 NULL instead of 0 for pointers, not using variable sized arrays
1717 on the stack, moving variable declarations to the beginning of
1718 a block and using "foo (void)" instead of "foo ()" for declarations.
1720 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
1722 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
1723 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
1724 Don't reset GstPollFDs, this is not necessary at all.
1726 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
1727 (delayed_restart), (delayed_control):
1728 Use GST_POLL_FD_INIT.
1730 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
1732 * gst/gstpoll.c: (gst_poll_fd_init):
1736 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
1737 Use some more init macros.
1739 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
1741 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
1742 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
1743 Use init macros and functions.
1745 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
1747 * docs/gst/gstreamer-sections.txt:
1748 * gst/gstpoll.c: (gst_poll_fd_init):
1750 Add INIT macro and _init method for initializing the GstPollFD.
1752 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
1754 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
1755 (gst_fd_sink_update_fd):
1756 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
1757 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
1758 (delayed_restart), (delayed_control):
1759 Initialize some uninitialized variables as spotted by valgrind.
1761 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
1763 * tests/benchmarks/Makefile.am:
1764 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
1766 Add poll stress test.
1768 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
1770 Patch by: Peter Kjellerstedt <pkj at axis dot com>
1772 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1773 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
1774 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
1775 * plugins/elements/gstfdsink.h:
1776 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
1777 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
1778 (gst_fd_src_unlock_stop), (gst_fd_src_create),
1779 (gst_fd_src_uri_set_uri):
1780 * plugins/elements/gstfdsrc.h:
1781 Port to GstPoll. See #505417.
1783 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
1785 * win32/common/libgstreamer.def:
1786 Add new gst_poll_ symbols to win32 defs.
1788 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
1790 * docs/libs/gstreamer-libs-sections.txt:
1791 * libs/gst/net/gstnetclientclock.c:
1792 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
1793 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
1794 (gst_net_client_clock_thread), (gst_net_client_clock_start),
1795 (gst_net_client_clock_stop), (gst_net_client_clock_new):
1796 * libs/gst/net/gstnetclientclock.h:
1797 * libs/gst/net/gstnettimeprovider.c:
1798 (gst_net_time_provider_class_init), (gst_net_time_provider_init),
1799 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
1800 (gst_net_time_provider_start), (gst_net_time_provider_stop),
1801 (gst_net_time_provider_new):
1802 * libs/gst/net/gstnettimeprovider.h:
1803 Use a private stuct to not break ABI.
1805 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
1807 Patch by: Peter Kjellerstedt <pkj at axis dot com>
1809 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
1810 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
1811 (gst_net_client_clock_thread), (gst_net_client_clock_start),
1812 (gst_net_client_clock_stop), (gst_net_client_clock_new):
1813 * libs/gst/net/gstnetclientclock.h:
1814 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
1815 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
1816 (gst_net_time_provider_start), (gst_net_time_provider_stop),
1817 (gst_net_time_provider_new):
1818 * libs/gst/net/gstnettimeprovider.h:
1819 Massive code removal and cleanups because of GstPoll.
1822 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
1825 Add checks for poll, ppoll and pselect.
1827 * docs/gst/gstreamer-docs.sgml:
1828 * docs/gst/gstreamer-sections.txt:
1829 Add docs for GstPoll.
1833 * gst/gstpoll.c: (find_index), (selectable_fds),
1834 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
1835 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
1836 (gst_poll_set_mode), (gst_poll_get_mode),
1837 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
1838 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
1839 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
1840 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
1841 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
1842 (gst_poll_fd_can_write), (gst_poll_wait),
1843 (gst_poll_set_controllable), (gst_poll_restart),
1844 (gst_poll_set_flushing):
1846 Add generic poll abstraction. We ideally don't want to have this in core
1847 here but in glib intead...
1848 This code will be used in various network elements and ultimately for
1849 the nanosecond precision monotonic clock (that's why it's here in core).
1850 It'll allow us to implement cancelable socket operations for windows too.
1852 * tests/check/Makefile.am:
1853 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
1854 (delayed_stop), (delayed_restart), (delayed_flush),
1855 (delayed_control), (gst_poll_suite):
1856 Add GstPoll unit test.
1858 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
1861 Improve documentation of gst_filter_run(). Fixes #518627.
1863 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
1866 Add a few lines about the new 'check-inspected-versions' target.
1868 2008-02-21 Stefan Kost <ensonic@users.sf.net>
1870 * tests/check/gst/gstevent.c:
1871 Add qos to the event test. Rename tcase/tsuite; is not only about
1874 2008-02-21 Stefan Kost <ensonic@users.sf.net>
1876 * plugins/elements/gstqueue.c:
1877 Ensure that buffer metadata is writeable, before modifying. Spotted by
1880 2008-02-20 Stefan Kost <ensonic@users.sf.net>
1882 * plugins/elements/gstqueue.c:
1883 * plugins/elements/gstqueue.h:
1884 When dropping buffers in leaky modes, mark next buffers we sent as
1887 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
1889 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
1890 Also, if mmap() fails that would be a READ error, not OPEN_READ.
1892 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
1894 * plugins/elements/Makefile.am:
1895 * plugins/elements/gstbufferstore.c:
1896 * plugins/elements/gstbufferstore.h:
1897 * plugins/elements/gsttypefindelement.h:
1898 Remove GstBufferStore, no idea why we were still building it.
1899 It's not used anywhere and superseded by GstAdapter.
1901 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
1902 (gst_file_src_create_mmap):
1903 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
1904 Printf format fixes for 64-bit integers.
1906 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
1909 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
1910 We're not in 0.8 times anymore.
1912 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
1914 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
1915 (gst_check_element_push_buffer_list):
1916 * libs/gst/check/gstcheck.h:
1917 Make the declaration in the header for
1918 gst_check_element_push_buffer_list match the implementation.
1920 Fix up spelling, grammar and wording of the documentation in a few
1921 places, and add the Since keyword to new API functions.
1922 Use g_list_delete_link instead of g_list_remove in
1923 gst_check_drop_buffers, since it's immeasurably more efficient.
1925 * tests/check/elements/fakesrc.c: (GST_START_TEST):
1926 Use new gst_check_drop_buffers function where appropriate.
1928 * win32/common/libgstbase.def:
1929 * win32/common/libgstreamer.def:
1930 Add new symbols gst_collect_pads_take_buffer,
1931 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
1934 Changelog surgery to add API keyword to new gst_check API.
1936 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
1938 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
1939 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
1940 Update pre-generated flex files with flex 2.3.34.
1942 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
1944 * gst/gstminiobject.c:
1945 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
1946 friendly to subclasses and not require them to know all internals
1947 of their parent class.
1949 2008-02-15 Stefan Kost <ensonic@users.sf.net>
1951 * docs/libs/gstreamer-libs-sections.txt:
1952 * libs/gst/base/gstcollectpads.c:
1953 * libs/gst/base/gstcollectpads.h:
1954 Add sub-buffer functions to collectpads. Fixes #516187.
1955 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
1957 2008-02-15 Stefan Kost <ensonic@users.sf.net>
1960 Copy selected buffer-flags when creating subbuffers.
1963 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
1965 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
1966 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
1967 * gst/gstmessage.c: (gst_message_class_init),
1968 (gst_message_finalize):
1969 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
1970 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
1971 (gst_mmap_buffer_finalize):
1972 Properly chain up finalize functions to the parent class.
1974 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
1976 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
1978 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
1979 (gst_index_set_resolver_full):
1981 Add new function with option to dispose of user_data in resolver.
1982 Actually call the dispose function when finalizing the object and not
1983 just when changing the resolver/filter.
1984 API: GstIndex::gst_index_set_resolver_full()
1986 * docs/gst/gstreamer-sections.txt:
1987 Add new function to docs. Fixes #515469.
1989 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
1991 * gst/gstindex.c: (gst_index_finalize):
1992 Chain up finalize to the parent class. Fixes leaking the GstObject
1993 name and other things.
1995 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
1998 Make DISABLE_DEPRECATED defined *only* during CVS, not during
1999 pre-releases or releases.
2001 * docs/faq/gst-uninstalled:
2004 * docs/random/release:
2005 Change one of the steps - we only upload core & base to Gnome FTP
2007 2008-02-06 Stefan Kost <ensonic@users.sf.net>
2009 * gst/gstconfig.h.in:
2010 Add 'id' for example.
2014 * plugins/elements/gstfdsink.c:
2015 Link to signals. Doc and comment fixes.
2017 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
2019 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
2020 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
2021 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
2022 unused and unimplemented; finally, it is plugin features, not
2023 plugins, that have ranks.
2025 2008-02-05 Stefan Kost <ensonic@users.sf.net>
2027 * gst/gstpluginfeature.h:
2028 Clarify GstRank range docs.
2030 2008-02-05 David Schleef <ds@schleef.org>
2032 * gst/gst.c: Add a separate gst_deinitialized that prevents
2033 gst_init() from being called after gst_deinit(). Fixes #509559
2035 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
2037 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
2038 (gst_bin_class_init):
2039 * gst/gstelement.c: (gst_element_base_class_init),
2040 (gst_element_class_add_pad_template):
2041 * gst/gstpadtemplate.c: (gst_pad_template_init):
2042 * gst/gstpipeline.c: (gst_pipeline_get_type),
2043 (gst_pipeline_base_init), (gst_pipeline_class_init):
2044 * libs/gst/base/gstbasesink.c:
2045 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
2046 (gst_base_src_base_init), (gst_base_src_class_init):
2047 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
2048 (gst_capsfilter_class_init):
2049 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
2050 (gst_fake_sink_class_init):
2051 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
2052 (gst_fake_src_class_init):
2053 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
2054 (gst_fd_sink_class_init):
2055 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
2056 (gst_fd_src_class_init):
2057 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
2058 (gst_file_sink_class_init):
2059 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
2060 (gst_file_src_class_init):
2061 * plugins/elements/gstidentity.c: (gst_identity_base_init),
2062 (gst_identity_class_init):
2063 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2064 (gst_multi_queue_class_init):
2065 * plugins/elements/gstqueue.c: (gst_queue_base_init),
2066 (gst_queue_class_init):
2067 * plugins/elements/gsttee.c: (gst_tee_base_init),
2068 (gst_tee_class_init):
2069 * plugins/elements/gsttypefindelement.c:
2070 (gst_type_find_element_base_init),
2071 (gst_type_find_element_class_init):
2072 * tests/check/gst/gstelement.c: (gst_element_suite):
2073 Revert previous changes to the behaviour of GstPadTemplates, etc
2074 and the possiblity to call them in class_init as it breaks too
2075 many elements. Reopens bug #491501.
2077 Should be applied again for 0.11, thus added a few FIXME 0.11 at
2080 2008-02-05 Stefan Kost <ensonic@users.sf.net>
2082 * tools/gst-launch.c:
2083 Dump one graph per pipeline state-change and state change name
2084 (if GST_DEBUG_DUMP_DOT_DIR is set).
2086 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
2089 * tests/check/gst/gstpad.c:
2090 Be sure that we have a new copy of the caps and not
2091 reffed caps from a template
2093 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
2095 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
2096 * gst/gstpipeline.c: (gst_pipeline_get_type),
2097 (gst_pipeline_class_init):
2098 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2099 (gst_base_sink_class_init):
2100 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
2101 (gst_base_src_class_init):
2102 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2103 (gst_base_transform_class_init):
2104 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2105 (gst_collect_pads_class_init):
2106 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
2107 * libs/gst/net/gstnettimeprovider.c:
2108 (gst_net_time_provider_base_init),
2109 (gst_net_time_provider_class_init):
2110 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
2111 (gst_capsfilter_class_init):
2112 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
2113 (gst_fake_sink_class_init):
2114 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
2115 (gst_fake_src_class_init):
2116 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
2117 (gst_fd_sink_class_init):
2118 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
2119 (gst_fd_src_class_init):
2120 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
2121 (gst_file_sink_class_init):
2122 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
2123 (gst_file_src_class_init):
2124 * plugins/elements/gstidentity.c: (gst_identity_base_init),
2125 (gst_identity_class_init):
2126 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2127 (gst_multi_queue_class_init):
2128 * plugins/elements/gstqueue.c: (gst_queue_base_init),
2129 (gst_queue_class_init):
2130 * plugins/elements/gsttee.c: (gst_tee_base_init),
2131 (gst_tee_class_init):
2132 * plugins/elements/gsttypefindelement.c:
2133 (gst_type_find_element_base_init),
2134 (gst_type_find_element_class_init):
2135 Don't use base_init where not absolutely necessary. For example it's
2136 not necessary anymore for adding pad templates or setting element
2139 Leave empty base_init functions in several places as GST_BOILERPLATE
2140 still defines and uses them.
2142 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
2144 * gst/gstelement.c: (gst_element_base_class_init),
2145 (gst_element_class_add_pad_template):
2146 * gst/gstpadtemplate.c:
2147 Make it possible (and recommended) to set element details and add
2148 pad templates in the class_init functions by copying the details/pad
2149 templates in GstElement's base_init.
2151 Also make it possible to replace existing pad templates by adding
2152 a new one with the same name. This was done in a hackish fashion
2153 in same elements before already.
2155 Don't reference pad templates that are added a second time. A
2156 new pad template has a refcount of one and is not floating anymore
2157 and to be owned by the element's class. Make this more explicit by
2158 mentioning it in the docs of gst_element_class_add_pad_template().
2160 These changes are backwards compatible. Fixes bug #491501.
2162 * tests/check/gst/gstelement.c:
2163 Add unit test for setting element details, adding pad templates and
2164 replacing them in a subclass.
2166 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
2168 * tools/gst-inspect.c: (print_interfaces),
2169 (print_element_properties_info), (print_pad_info),
2170 (print_signal_info), (print_element_info):
2171 Fix a few memory leaks.
2173 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
2175 * docs/libs/gstreamer-libs-sections.txt:
2176 * libs/gst/check/gstcheck.c:
2177 * libs/gst/check/gstcheck.h:
2178 Add more functions for unit testing: gst_check_drop_buffers,
2179 gst_check_caps_equal, gst_check_element_push_buffer_list,
2180 gst_check_element_push_buffer
2181 API: gst_check_drop_buffers
2182 API: gst_check_caps_equal
2183 API: gst_check_element_push_buffer_list
2184 API: gst_check_element_push_buffer
2186 2008-02-01 Julien Moutte <julien@fluendo.com>
2188 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
2189 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
2190 (gst_index_finalize), (gst_index_entry_free),
2191 (gst_index_add_association): Fix memory leaks.
2192 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
2193 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
2194 (gst_mem_index_free_format), (gst_mem_index_free_id),
2195 (gst_mem_index_finalize): Fix memory leaks.
2196 * win32/common/config.h: Updated to CVS HEAD.
2198 2008-02-01 Stefan Kost <ensonic@users.sf.net>
2201 Some more details about how the plugin docs works.
2203 * docs/plugins/gstreamer-plugins-sections.txt:
2206 2008-02-01 Stefan Kost <ensonic@users.sf.net>
2208 * gst/parse/grammar.tab.pre.c:
2209 * gst/parse/grammar.tab.pre.h:
2210 * gst/parse/grammar.y:
2211 * gst/parse/lex._gst_parse_yy.pre.c:
2212 Add delayed set-property. This allows to set properties on dynamicaly
2213 created objects (pads in videomxer). Fixes #509391.
2215 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
2218 Check if caps are not NULL (fix bug #510194)
2220 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
2222 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
2223 (gst_base_sink_get_position_paused):
2224 Add fixme regarding EOS in pull mode.
2225 Fix position reporting in PAUSED for negative rates.
2227 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
2229 * gst/gstminiobject.c: (gst_mini_object_replace):
2230 When replacing a miniobject, do a quick equality check first so that we
2231 can avoid a ref/unref pair.
2233 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
2235 * docs/design/part-synchronisation.txt:
2238 * docs/plugins/Makefile.am:
2239 * docs/plugins/gstreamer-plugins-docs.sgml:
2240 * docs/plugins/gstreamer-plugins-sections.txt:
2241 * plugins/elements/gstmultiqueue.c:
2242 Add multiqueue to the docs.
2244 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
2249 === release 0.10.17 ===
2251 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
2254 releasing 0.10.17, "Due Negligence"
2256 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
2259 Revert caps != NULL check temporarily for 0.10.17 release.
2261 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
2264 Check if caps are not NULL (fix bug #510194)
2266 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
2269 Fix compilation on systems that have posix timers but no
2272 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
2275 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
2277 * tools/gst-inspect.c:
2278 Revert previous commit in preparation for an impromptu 0.10.17 release
2280 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
2282 * tools/gst-inspect.c: (print_interfaces),
2283 (print_element_properties_info), (print_pad_info),
2284 (print_signal_info), (print_element_info):
2285 Fix a few memory leaks.
2287 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
2292 === release 0.10.16 ===
2294 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
2297 releasing 0.10.16, "Special Dispensation"
2299 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
2302 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
2303 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
2304 not fail when trying to crosscompile on OpenEmbedded (#511750).
2306 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
2309 Use $(MAKE) instead of make to fix the build if GNU make is
2310 called different. Fixes bug #510747.
2312 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
2314 * gst/gstplugin.c: (_gst_plugin_initialize):
2315 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
2316 again, which I broke two commits ago when changing the API
2317 of gst_plugin_register_static(): the g_list_foreach() in
2318 _gst_plugin_register_static still assumed the old function
2319 signature and would therefore fail (re-fixes #510187).
2321 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
2322 (_gst_plugin_register_static), (gst_plugin_register_static):
2323 Revert the (technically correct) change to call g_thread_init() from
2324 the pre-main() constructor. This will break programs which call
2325 g_thread_init() without an if (!g_thread_supported()) guard in their
2326 main function. We could just blame it on GLib or the application, but
2327 it's probably best to just avoid this altogether and simply not use
2328 any GLib functions here and use plain old malloc() with a simple
2329 array to store the plugins to register later when gst_init() is
2330 finally called (re-fixes #510187).
2332 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
2333 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
2334 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
2335 (GST_START_TEST), (gst_plugin_suite):
2336 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
2339 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
2341 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
2342 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
2343 This makes gtk-doc complain, but results in slightly better
2344 compiler errors. The old _gst_plugin_register_static() is
2345 still guarded, so there'll be a compiler warning about that
2346 instead. Fixes #510187 too.
2348 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
2350 * gst/gst.c: (init_post):
2351 * gst/gstplugin.c: (_gst_plugin_register_static),
2352 (gst_plugin_register_static), (_gst_plugin_initialize):
2353 * gst/gstplugin.h: (GstPluginFilter):
2354 Change API of gst_plugin_register_static() to not take
2355 a GstPluginDesc, but rather just take all the arguments
2356 in a GstPluginDesc directly. This is more intuitive and
2357 avoids certain mistakes when porting code from
2358 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
2361 * tests/check/gst/gstplugin.c:
2362 Fix up for changed API.
2364 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
2366 * docs/faq/legal.xml:
2367 Update FAQ, Totem actually has an exception these days.
2369 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
2371 * win32/common/libgstreamer.def:
2372 Add new API declarations
2374 2008-01-14 Stefan Kost <ensonic@users.sf.net>
2376 * gst/gstminiobject.c:
2377 Spelling fixes for the API docs.
2379 2008-01-14 Stefan Kost <ensonic@users.sf.net>
2381 * libs/gst/base/gstbasetransform.c:
2382 Fix long property description for QoS.
2384 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
2387 _gst_trace_on is already provided by gsttrace.h, no need to declare
2390 * docs/libs/gstreamer-libs-sections.txt:
2391 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
2392 and remove strange tcase_add_test which is outputting a warning.
2394 * libs/gst/check/gstcheck.c:
2395 * libs/gst/check/gstcheck.h:
2396 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
2397 and define them in gstcheck.c instead of having every .c file whcih
2398 includes gstcheck.h be defining its own copy and relying on symbol
2399 interposing to marry them all, which doesn't work on Solaris.
2401 * tests/check/elements/identity.c: (GST_START_TEST):
2402 Don't define 'buffers' locally, it comes from libgstcheck.
2404 * tests/check/generic/sinks.c: (send_buffer):
2405 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
2407 * tests/check/gst/gststructure.c: (GST_START_TEST):
2408 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
2409 * tests/check/gst/gstutils.c: (GST_START_TEST):
2410 * tests/check/gst/gstvalue.c: (GST_START_TEST):
2411 Add a bunch of casts to make various constants fit the types
2412 they're being assigned to.
2414 2008-01-10 Stefan Kost <ensonic@users.sf.net>
2416 * gst/gstchildproxy.c:
2417 Improve docs and add some ideas for making this more general-purpose.
2419 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
2421 * gst/gst_private.h: (GST_CAT_TYPES):
2422 Add GST_CAT_TYPES, for consistency, and so that the other
2423 debug categories don't make fun of it. Spotted by Saur on IRC.
2425 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
2427 * gst/parse/Makefile.am:
2428 Move types.h from EXTRA_DIST to noinst_HEADERS.
2430 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
2433 Add -Wno-portability to the automake parameters to stop warnings
2434 about GNU make extensions being used. We require GNU make in almost
2435 every Makefile anyway.
2438 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
2439 at the same time is required for per target flags.
2441 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
2444 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
2445 __GNUC__ is defined before using it.
2447 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
2449 * docs/gst/gstreamer-sections.txt:
2450 * gst/gst.c: (init_post):
2451 * gst/gstplugin.c: (_gst_plugin_register_static),
2452 (gst_plugin_register_static), (_gst_plugin_initialize),
2453 (gst_plugin_register_func):
2454 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
2455 API: add gst_plugin_register_static() and deprecate
2456 GST_PLUGIN_DEFINE_STATIC, since it's not portable
2458 Also, in _gst_plugin_register_static(), make sure to call
2459 g_thread_init() before calling GLib functions such as
2460 g_list_append() if we're not initialised yet, since that
2461 may lead to random crashes with older GSlice/GLib versions.
2463 * tests/check/gst/gstplugin.c:
2464 Adapt unit test to above changes.
2466 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
2468 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
2469 * gst/gstcaps.c: (gst_caps_to_string):
2470 * gst/gststructure.c: (GST_ASCII_IS_STRING),
2471 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
2472 Yet another gratuitous GString micro-optimisation: add a (private)
2473 function that serialises a structure appending to an existing
2474 GString, so that when we serialise caps we don't need to alloc+free
2475 a throwaway GString for each structure (each of which also entailing
2476 multiple reallocs on the way); also use g_string_sized_new() in
2477 various places with an approximate string length to avoid reallocs
2478 within GString. See #500143.
2480 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
2482 * gst/gststructure.c: (gst_structure_id_set_value):
2483 Always check UTF-8 conformance of structure strings and not only
2484 if the debugging system is enabled; reasoning: the behaviour of
2485 the actual code shouldn't really change depending on whether the
2486 debugging system is enabled or not (#508291).
2488 2008-01-09 Stefan Kost <ensonic@users.sf.net>
2491 Remove old coverage target in favour of "make lcov".
2493 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
2495 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2496 (gst_base_src_loop):
2497 The start segment for reverse playback goes from start to last_stop.
2499 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
2501 Patch by: Peter Kjellerstedt <pkj axis com>
2504 Cast the results from the timeval/spec_to_time macros to what the
2505 docs say it casts to, a GstClockTime. fixes #508175.
2507 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
2510 Update some comments.
2512 * tools/gst-inspect.c: (print_element_properties_info):
2513 Improve printing of flags.
2515 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
2517 * libs/gst/base/gstbasetransform.c:
2518 (gst_base_transform_transform_size):
2519 Print element name with g_warning() if there's a problem
2522 2008-01-07 David Schleef <ds@schleef.org>
2524 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
2526 * libs/gst/controller/gstcontroller.h:
2527 * libs/gst/controller/gstcontrolsource.h:
2528 * libs/gst/controller/gstinterpolationcontrolsource.h:
2529 * libs/gst/controller/gstlfocontrolsource.h:
2530 * libs/gst/dataprotocol/dataprotocol.h:
2531 Fix empty prototypes. Fixes bug #507957.
2533 2008-01-07 David Schleef <ds@schleef.org>
2535 * docs/faq/dependencies.xml: Fix typo.
2537 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
2539 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
2540 (gst_base_src_loop):
2541 Don't update the last_stop position in do_seek, that's the position we
2543 Read backwards when we have a negative rate.
2545 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
2546 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
2548 Add check for reverse reading.
2550 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
2552 Patch by: Alexis Ballier <aballier at gentoo org>
2554 * tests/check/gst/gstabi.c:
2555 * tests/check/gst/struct_ppc64.h:
2556 * tests/check/libs/libsabi.c:
2557 * tests/check/libs/struct_ppc64.h:
2558 Decide which header to include based on the userland ABI target
2559 and not the kernel/cpu. Fix up structure sizes of ppc64 header
2560 for 64-bit userland (#503590). Might need something similar for
2563 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
2565 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
2566 Log the reason why fopen fails in addition to the fact that it failed.
2568 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
2570 * gst/parse/parse.l:
2571 Use "%option never-interactive" to prevent useless calls to isatty()
2572 on every input when parsing. Also use "%option noinput" to not define
2573 the static input/yyinput functions which we don't use anyway. This
2574 removes a compiler warning with gcc 4.3 and saves some bytes in the
2577 * gst/parse/lex._gst_parse_yy.pre.c:
2578 Regenerated for the above change.
2580 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
2582 * gst/gstpad.c: (fixate_value):
2583 Don't crash when trying to fixate and empty list.
2586 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
2588 * docs/faq/gst-uninstalled:
2589 Clarify the comments to make the usage of this script and what it
2590 does easier to understand.
2592 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
2594 * tools/gst-plot-timeline.py:
2595 Add more options to gst-plot-timeline
2597 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
2599 * docs/design/part-synchronisation.txt:
2600 Some more info on how the stream_time in GstBaseSink is done.
2602 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
2604 * tests/check/generic/sinks.c: (gst_sinks_suite):
2605 Put back the tcase_set_timeout(), apparently it's needed after
2606 all; fix it up in a way that makes things work with valgrind too.
2608 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
2610 * gst/gstdebugutils.c:
2611 Add warning when failed to open file for writing.
2613 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
2615 Based on patch by: Laurent Glayal <spglegle yahoo fr>
2617 * gst/gstvalue.c: (gst_value_is_fixed):
2618 Optimisation: bail out of the loop as early as possible (#500143).
2620 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
2622 * gst/gstcaps.c: (gst_caps_to_string):
2623 * gst/gstinfo.c: (gst_debug_construct_term_color):
2624 * gst/gstparse.c: (gst_parse_launchv):
2625 * gst/gstutils.c: (gst_util_dump_mem):
2626 * gst/gstvalue.c: (gst_value_serialize_any_list),
2627 (gst_value_transform_any_list_string):
2628 Bunch of gratuitous nano-optimisations.
2630 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
2632 * tests/check/generic/sinks.c: (async_done_func),
2633 (async_done_eos_func):
2634 Fix leak in unit test (bus sync handler must unref the message
2635 if it returns GST_BUS_DROP). Don't fiddle with the default test
2636 timeout, this is smaller than the current preconfigured value
2637 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
2638 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
2640 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
2642 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
2645 Check for stdio_ext.h for the filesink changes.
2647 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
2648 (gst_file_sink_class_init), (gst_file_sink_init),
2649 (gst_file_sink_dispose), (gst_file_sink_set_property),
2650 (gst_file_sink_get_property), (gst_file_sink_open_file),
2651 (gst_file_sink_close_file):
2652 * plugins/elements/gstfilesink.h:
2653 Add two properties to control the buffering mode and size.
2654 API: GstFileSink::buffer-mode
2655 API: GstFileSink::buffer-size
2658 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
2660 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
2661 Add some more docs to explain why a FIXME was wrongly added.
2663 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
2666 Fix typo in the gst_object_{ref,unref} documentation.
2668 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
2670 * tests/check/libs/controller.c:
2671 * tests/check/libs/typefindhelper.c:
2672 * tests/check/pipelines/parse-launch.c:
2673 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
2674 going to be deprecated (see #498924).
2676 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
2678 * gst/gsttypefind.c: (gst_type_find_register):
2679 Make gst_type_find_register work for static typefind functions,
2680 ie. allow passing plugin == NULL (prerequisite for #498924).
2682 * gst/gstelementfactory.c: (gst_element_register):
2683 Small docs addition.
2685 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
2687 * gst/gstpad.c: (gst_pad_dispose):
2688 Really unlink the peer pad instead of setting the peer pointer to NULL
2689 when we dispose the pad.
2690 This correctly calls the unlink functions and makes sure that the peer
2691 does not have a handle to invalid memory. See #504671.
2693 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2694 Add testsuite for above case.
2696 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
2698 Patch by: Peter Kjellerstedt <pkj axis com>
2700 * libs/gst/check/gstcheck.h:
2701 Fix detection of the check version we're compiling against (would
2702 otherwise break if check goes v0.10.0); correctly report the
2703 name of the failed test again in case of failure, instead of
2704 just 'tf' (fixes #504499).
2706 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
2708 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2709 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2710 (gst_base_src_loop), (gst_base_src_set_flushing),
2711 (gst_base_src_change_state):
2712 Allow sending EOS to the source to make it send out an EOS event from
2713 the streaming thread.
2714 Update docs and deprecate the old NULL/READY shutdown method.
2716 * tests/check/libs/basesrc.c: (GST_START_TEST),
2717 (gst_basesrc_suite):
2718 Add unit test for controlled shutdown.
2720 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
2722 * docs/design/part-synchronisation.txt:
2725 * gst/gstsegment.c: (gst_segment_set_seek),
2726 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2727 (gst_segment_to_running_time):
2728 The seek format can be different from the segment format when the start
2729 and stop values are not to be updated, when we only do a rate change for
2732 * tests/check/gst/gstsegment.c: (GST_START_TEST),
2733 (gst_segment_suite):
2734 Add a testcase for the rate-only seeks, checking that the format is
2735 correctly ignored when start and stop are not updated.
2737 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
2739 Patch by: Matthias Bolte <photon at mail dot upb dot de>
2741 * win32/vs8/grammar.vcproj:
2742 * win32/vs8/libgstcontroller.vcproj:
2743 * win32/vs8/libgstreamer.vcproj:
2744 Fix compilation with VS8 and include some missing files.
2746 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
2749 Small docs addition: mention that the strings returned by
2750 gst_tag_list_get_string*() are in UTF-8 encoding.
2752 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
2755 The check-exports stuff moved to common/win32.mak, so include that.
2757 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
2759 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2760 (gst_base_src_perform_seek), (gst_base_src_get_range),
2761 (gst_base_src_set_playing), (gst_base_src_change_state):
2762 Make _wait_playing() not check any variables so that we can call this
2763 function from subclasses. Move the checks elsewhere similar to
2764 _wait_preroll() in basesink.
2766 Only signal the LIVE cond when we are going back to PLAYING.
2768 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
2770 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
2771 Use g_remove() and g_rename(). Check result of g_rename(), and
2772 don't leak the open file descriptor if we error out when writing.
2774 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
2775 Must check the return value of close() after writing out the new
2776 registry file. Sometimes write problems such as out-of-diskspace
2777 are only reported when the file is closed and not already during
2778 the write. This may have caused partial/broken registry files in
2779 some rare circumstances. Should fix #503675.
2781 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
2783 * docs/gst/.cvsignore:
2784 * docs/libs/.cvsignore:
2785 * docs/plugins/.cvsignore:
2786 Ignore files generated by new common/* modifications
2788 2007-12-15 Stefan Kost <ensonic@users.sf.net>
2790 * win32/common/libgstbase.def:
2791 Yes, you can also have a <TAB> if you want.
2793 2007-12-15 Stefan Kost <ensonic@users.sf.net>
2795 * win32/common/libgstbase.def:
2796 Add new basetransform API to win export file.
2798 2007-12-15 Stefan Kost <ensonic@users.sf.net>
2800 * tests/check/gst/gstbin.c:
2801 Adjust the test to the refcount change two days ago.
2803 2007-12-14 David Schleef <ds@schleef.org>
2805 * docs/faq/getting.xml: Fix typo.
2807 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
2809 * docs/libs/gstreamer-libs-sections.txt:
2810 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
2811 (gst_base_transform_prepare_output_buffer),
2812 (gst_base_transform_set_gap_aware):
2813 * libs/gst/base/gstbasetransform.h:
2814 API: Add gst_base_transform_set_gap_aware() to control whether
2815 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
2816 get buffers with this flag at all. Fixes #503231.
2818 2007-12-13 Stefan Kost <ensonic@users.sf.net>
2820 * libs/gst/base/gstbasesink.c:
2821 * libs/gst/base/gstbasesrc.c:
2822 * libs/gst/base/gstbasetransform.c:
2823 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
2824 thread. Correct log message in gstbasesrc.c.
2826 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
2828 * gst/gstutils.c: (element_find_unconnected_pad):
2829 Fix possible compiler warning (#503417).
2831 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
2833 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
2834 Don't use GST_CAT_EVENT here for logging, it makes no sense.
2836 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
2838 * tools/gst-inspect.c: (print_element_properties_info):
2839 Add support for GstFraction properties.
2841 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
2844 Add check-exports target and run it as part of 'make check'
2845 (see #499140 and #493983).
2847 * gst/gst_private.h:
2848 * gst/gstelementfactory.h:
2849 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
2850 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
2851 (_priv_gst_in_valgrind):
2852 * gst/gstinfo.h: (GstLogFunction):
2853 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
2854 (gst_type_find_register):
2855 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
2856 (gst_type_find_factory_get_type):
2857 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
2858 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
2859 (gst_controller_new_valist), (gst_controller_new_list),
2860 (_gst_controller_dispose), (_gst_controller_class_init):
2861 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
2862 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
2863 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
2864 (gst_object_get_controller), (gst_object_set_controller),
2865 (gst_object_suggest_next_sync), (gst_object_sync_values),
2866 (gst_object_set_control_source), (gst_object_get_control_source),
2867 (gst_object_get_value_arrays), (gst_object_get_value_array),
2868 (gst_object_get_control_rate), (gst_object_set_control_rate):
2869 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
2870 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
2871 Make some functions that should be static static; rename some
2872 private symbols so that they don't get exported; add some FIXME
2873 comments so we can move accidentally exported functions into
2874 our private section in 0.11.
2876 * win32/common/libgstreamer.def:
2877 Add gst_utils_get_timestamp().
2879 2007-12-12 Stefan Kost <ensonic@users.sf.net>
2883 Add more missing "Since:" tags to docs.
2885 2007-12-12 Stefan Kost <ensonic@users.sf.net>
2888 Add mising "Since:" to docs.
2890 2007-12-11 Stefan Kost <ensonic@users.sf.net>
2893 Include "glib-compat-private.h" to fix the build on system with
2894 glib < 2.10. Fixes #503131.
2896 2007-12-11 Stefan Kost <ensonic@users.sf.net>
2900 Actually its not PURE as it gets the time from elsewhere.
2902 2007-12-11 Stefan Kost <ensonic@users.sf.net>
2904 * docs/gst/gstreamer-sections.txt:
2906 * gst/gstdebugutils.c:
2910 * libs/gst/base/gstbasesink.c:
2911 * tools/gst-launch.c:
2912 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
2913 uses as we don't have HAVE_POSIX_TIMERS in public headers.
2914 Thanks Tim for spotting.
2915 API: gst_util_get_timestamp
2917 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
2920 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
2922 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
2924 * gst/gststructure.c: (gst_structure_validate_name),
2925 (gst_structure_new_valist), (gst_structure_parse_value),
2926 (gst_structure_from_string):
2927 Don't crash in _from_string() if the structure name is not valid
2928 (fixes #501560). Allow structure names to start with a number
2929 again (this apparently broke the ubuntu codec installer).
2931 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
2933 Add unit test for the crash; update unit tests for new behaviour.
2935 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
2938 Clarify gst_element_get_compatible_pad() documentation.
2941 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
2943 * tests/check/Makefile.am:
2944 Don't forget to dist {gst,libs}/struct_hppa.h.
2946 2007-11-28 Stefan Kost <ensonic@users.sf.net>
2948 * libs/gst/base/gstbasesink.c:
2949 Use new API to get elapsed time.
2951 2007-11-28 Stefan Kost <ensonic@users.sf.net>
2953 * gst/gstdebugutils.c:
2955 Fix wrong order of args in GST_CLOCK_DIFF() usage.
2957 * tools/gst-launch.c:
2958 Use new API to get elapsed time.
2960 2007-11-28 Stefan Kost <ensonic@users.sf.net>
2962 * docs/gst/gstreamer-sections.txt:
2964 * gst/gstdebugutils.c:
2966 Rename new API + ChangeLog surgery to remove old name from last entry..
2968 2007-11-28 Stefan Kost <ensonic@users.sf.net>
2970 * docs/gst/gstreamer-sections.txt:
2972 * gst/gstdebugutils.c:
2974 Now hide the different clock stuff behind a macro.
2976 2007-11-28 Stefan Kost <ensonic@users.sf.net>
2979 * gst/gstdebugutils.c:
2981 Apply the posix-timer check from #361155. Conditionally use the posix
2982 timer for logging. This gives better timestamp precission, less
2983 overhead and no ntp jitter.
2985 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
2987 * gst/gstminiobject.c: (gst_mini_object_get_type),
2988 (gst_mini_object_class_init), (gst_mini_object_copy_default),
2989 (gst_mini_object_finalize), (gst_mini_object_copy),
2990 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
2991 (gst_mini_object_replace), (param_mini_object_validate),
2992 (gst_param_spec_mini_object_get_type):
2993 Some cleanup and checking against invalid function parameters.
2995 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
2997 * docs/gst/gstreamer-sections.txt:
2999 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3000 (gst_systemclock_suite):
3001 Start merging in the easy bits of #361155, the monotonic clock patch.
3002 This one adds a few handy macros with docs and a testsuite.
3004 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
3006 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
3007 Be a bit smarter when seeking, like, don't try to do a seek when it's
3008 not needed. This avoids errors when the file is not seekable.
3011 2007-11-26 Stefan Kost <ensonic@users.sf.net>
3013 * docs/gst/gstreamer-docs.sgml:
3014 * docs/gst/gstreamer-sections.txt:
3015 * docs/gst/gstreamer.types.in:
3020 * plugins/elements/gstqueue.c:
3021 Due to popular request remove preset interface again. :-(.
3023 2007-11-22 Stefan Kost <ensonic@users.sf.net>
3025 * tools/gst-inspect.c:
3026 Print 'default value' for enums and flags too.
3028 2007-11-22 Stefan Kost <ensonic@users.sf.net>
3030 * docs/random/ensonic/profiling.txt:
3034 Fix typo and give better log output.
3036 * gst/gstdebugutils.c:
3037 * gst/gstdebugutils.h:
3038 More ideas, make graphs a bit smaller and fix param name in macro.
3040 2007-11-22 Stefan Kost <ensonic@users.sf.net>
3043 Try harder to use the return value from fgets().
3045 2007-11-21 Stefan Kost <ensonic@users.sf.net>
3048 For theses two fgets we handle the error below.
3050 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
3052 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
3053 Only send upstream events upstream. Fixes #498746.
3055 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
3057 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
3059 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3060 (gst_identity_init), (gst_identity_transform_ip),
3061 (gst_identity_set_property), (gst_identity_get_property):
3062 * plugins/elements/gstidentity.h:
3063 Add property to disable handoff signal emission. Fixes #498694.
3064 API: GstIdentity::signal-handoffs
3066 2007-11-21 Julien Moutte <julien@fluendo.com>
3068 * docs/faq/gst-uninstalled: Yet another missing library for the
3069 uninstalled script (fft)
3071 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
3073 * docs/faq/developing.xml:
3074 Add a question about how to submit new translations.
3076 * docs/random/release:
3077 Update the contact email address for the Translation Project
3079 * plugins/elements/gstfdsrc.c:
3080 The parent_class for fdsrc is pushsrc, not GstElement.
3082 2007-11-20 Stefan Kost <ensonic@users.sf.net>
3085 Plug a leak and fix saving.
3087 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
3089 * docs/gst/gstreamer-sections.txt:
3090 Add new gst_preset__get_property_names() function to the docs
3093 2007-11-20 Stefan Kost <ensonic@users.sf.net>
3097 Change _get_preset_names API to return a strv with copies. Add
3098 _get_property_names to allow implementations to filter and provide
3099 good default implementation.
3101 2007-11-20 Julien MOUTTE <julien@moutte.net>
3103 * docs/faq/gst-uninstalled: Add another library to the uninstalled
3106 2007-11-19 Stefan Kost <ensonic@users.sf.net>
3109 More cleanups, docs, and TODOs from comments that now slowly come in.
3111 2007-11-19 Julien MOUTTE <julien@moutte.net>
3113 * docs/faq/gst-uninstalled: Add new base libraries in the LD
3116 2007-11-19 Stefan Kost <ensonic@users.sf.net>
3119 Fix bogus warning and make the property type specific code more
3122 2007-11-19 Julien MOUTTE <julien@moutte.net>
3124 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
3127 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
3129 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3130 (gst_bin_add_func), (gst_bin_remove_func),
3131 (gst_bin_change_state_func), (gst_bin_continue_func):
3132 Change email, cleanups add some more debug and comments.
3133 Also set bus and clock on new elements when the pipeline was in error.
3135 2007-11-18 Stefan Kost <ensonic@users.sf.net>
3138 * gst/gstdebugutils.c:
3139 Fix build with --disable-gst-debug. Fixes #497859.
3140 Spotted by Sameer Naik.
3142 2007-11-17 Stefan Kost <ensonic@users.sf.net>
3145 Little documentation improvment.
3148 More TODO cleanups. Remove c++ comments.
3150 * libs/gst/controller/gstcontroller.c:
3151 Add TODO and use quark from static string.
3153 * tests/check/gst/gstmessage.c:
3154 * tests/check/gst/gststructure.c:
3155 Use quark from static string.
3157 2007-11-17 Stefan Kost <ensonic@users.sf.net>
3160 Add some comments and TODOs.
3163 Add padding for future changes.
3165 * plugins/elements/gstqueue.c:
3166 Implement the iface.
3168 2007-11-17 Stefan Kost <ensonic@users.sf.net>
3170 * docs/gst/gstreamer-docs.sgml:
3171 * docs/gst/gstreamer-sections.txt:
3172 * docs/gst/gstreamer.types.in:
3177 Add the preset interface (Fixes #396779). Do some doc cleanups along.
3179 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
3185 === release 0.10.15 ===
3187 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
3190 releasing 0.10.15, "October"
3192 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
3194 * win32/vs6/libgstreamer.dsp:
3195 Convert line endings back to DOS.
3197 2007-11-13 Stefan Kost <ensonic@users.sf.net>
3199 * docs/design/draft-tagreading.txt:
3200 * docs/random/ensonic/profiling.txt:
3201 Update fast tagreading draft and performance profiling ideas.
3203 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
3205 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
3206 Don't hold the object lock when unreffing a buffer because it could
3207 cause a deadlock when the finalize function wants to grab the object
3208 lock too. Fixes #495133.
3210 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
3212 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
3213 (gst_segment_to_stream_time), (gst_segment_to_running_time):
3214 Also accumulate time correctly when doing reverse playback. Fixes
3216 When converting to running and stream time, use default values for
3217 start/stop/time/accum when comparing different formats. Fixes #494245.
3219 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3220 Do running/stream time in TIME format.
3222 * tests/check/gst/gstsegment.c: (GST_START_TEST),
3223 (gst_segment_suite):
3224 2 new unit tests for segment accumulation.
3226 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
3228 * gst/gst.c: (init_pre):
3229 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
3230 (_gst_debug_bin_to_dot_file):
3231 Move getenv() back into gst_init, so everyone can live happily
3232 ever after. Make sure the symbol isn't exported though.
3234 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
3236 Patch by: Sebastien Moutte <sebastien moutte net>
3238 * win32/common/gstenumtypes.c:
3239 * win32/common/gstenumtypes.h:
3242 * win32/vs6/libgstreamer.dsp:
3243 Update vs6 project files (#494343).
3245 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
3247 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
3248 (gst_base_src_perform_seek), (gst_base_src_default_event),
3249 (gst_base_src_set_flushing), (gst_base_src_activate_push),
3250 (gst_base_src_activate_pull):
3251 Unify flushing code, remove some old unlock code that is no longer used.
3252 Take the streaming lock when seeking to avoid races. Fixes #492729.
3253 Added some more comments.
3255 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
3257 * gst/gst.c: (_gst_disable_segtrap):
3258 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
3259 we can use gst_segtrap_is_enabled() there now that we have that API.
3260 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
3261 to do the getenv here (and export the variable).
3263 * gst/gstdebugutils.c: (debug_dump_element),
3264 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
3265 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
3267 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
3268 (gst_debug_log_default):
3269 Rename _gst_info_start_time to priv_gst_info_start_time so it
3270 doesn't get exported (was never in any header).
3272 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
3273 (gst_plugin_loading_mutex):
3274 Make static mutex gst_plugin_loading_mutex really static (was never
3275 in any header), and use gst_segtrap_is_enabled() instead of
3276 _gst_disable_segtrap.
3278 * gst/gsttrace.c: (_gst_trace_default):
3279 Make local _gst_trace_default static (was never in any header).
3281 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
3283 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
3285 * win32/common/libgstbase.def:
3286 * win32/common/libgstcontroller.def:
3287 * win32/common/libgstdataprotocol.def:
3288 * win32/common/libgstnet.def:
3289 * win32/common/libgstreamer.def:
3290 Add more missing symbols, remove some duplicates, and sort
3291 as the 'sort' command sorts it (partially fixes #493983).
3293 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
3295 * gst/gstelement.c: (gst_element_set_state_func):
3296 Only change the state cookie if a different state was set on the
3297 element. See #492729.
3299 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
3302 Remove unused and uninitialised type variables that were still
3303 exported for some reason (they were never in any header files
3306 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
3308 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3309 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
3310 (gst_base_sink_event), (gst_base_sink_get_position_last),
3311 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
3312 (gst_base_sink_change_state):
3313 Don't try to report a 0 position when we don't know, return -1 and FALSE
3314 instead. This mostly happens when we are prerolling.
3315 Make sure we can report the right position before we post the ASYNC_DONE
3316 message so that a message handler can query position without races.
3318 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
3319 (async_done_handoff), (async_done_func), (send_buffer),
3320 (async_done_eos_func), (gst_sinks_suite):
3321 Add two tests for the above.
3323 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
3326 Update with new email address.
3328 * docs/design/part-TODO.txt:
3329 Add some more info about future pad-block and negotiation changes.
3331 * docs/design/part-buffering.txt:
3332 Add some ideas about buffering reporting.
3334 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
3336 * tests/check/gst/gstobject.c:
3337 Disable silly racy test that always fails on this combination of CPU
3340 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
3342 Patch by: Murray Cumming <murrayc@murrayc.com>
3345 Corrected the registration of the parent-set and parent-unset
3346 signals: The parameter is a GstObject, not a GObject (#493134).
3348 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
3350 * gst/gst_private.h:
3359 Move declaration of private _gst_foo_initialize() functions into
3360 our private header file where they should have been all along.
3362 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
3364 * docs/plugins/gstreamer-plugins-sections.txt:
3365 * gst/gstdebugutils.h:
3367 * plugins/elements/gstqueue.c:
3368 gtk-doc fixes; trailing-comma-in-enum fix.
3370 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
3372 * gst/gst.c: (gst_deinit):
3373 Clean up on deinit (not the external ones though, doesn't seem to be
3374 needed for some reason).
3376 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
3378 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
3379 Remove __declspec(dllimport) for MSVC that was copied over into core
3380 from a plugin, obviously without ever having been tested (note the
3381 single underscore in _declspec in the initial commit), and that doesn't
3382 really make sense. See #492077.
3384 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
3386 * gst/gst.c: (init_post):
3387 * gst/gstevent.c: (_gst_event_initialize):
3388 * gst/gstquery.c: (_gst_query_initialize):
3389 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
3390 g_type_class_ref() other types as well, see #349410 and #64764.
3392 * gst/gstbuffer.c: (_gst_buffer_initialize):
3393 * gst/gstmessage.c: (_gst_message_initialize):
3394 Simplify existing g_type_class_ref().
3396 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
3398 * gst/gstformat.c: (_gst_format_initialize):
3399 g_type_class_ref() our GstFormat type to make sure we avoid the
3400 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
3401 bug #64764. Should fix intermittent tee unit test failures (#474823).
3403 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
3405 * tests/check/elements/tee.c: (test_num_buffers):
3406 Simplify, simplify, simplify - or not. Rewrite unit test
3407 not to use gst_parse_launch(); allow N sub-streams. Increasing
3408 the number of sub-streams seems to reproduce #474823 more easily.
3410 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
3412 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
3415 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3416 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3417 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
3418 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
3419 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
3420 so use _pipe() directly (#492077).
3422 * win32/common/dirent.c: (_treaddir):
3423 Add a couple of casts to make it build without warnings with MSVC.
3425 * win32/common/libgstreamer.def:
3426 Add some more symbols that need to be exported.
3428 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
3430 * tests/examples/metadata/read-metadata.c: (message_loop):
3431 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
3432 arriving in a second or third tag message are added to
3433 the tag list as well.
3435 2007-10-31 Stefan Kost <ensonic@users.sf.net>
3437 * libs/gst/base/gstbasesrc.c:
3438 Its "Since:" and not "@Since:". And remove an superflous cast.
3440 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
3442 * docs/libs/gstreamer-libs-sections.txt:
3443 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3444 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
3445 (gst_base_sink_get_property), (gst_base_sink_render_object),
3446 (gst_base_sink_preroll_object),
3447 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
3448 (gst_base_sink_change_state):
3449 * libs/gst/base/gstbasesink.h:
3450 Add a new last-buffer property that contains the last buffer used in
3451 basesink for preroll or rendering. useful for making snapshots.
3452 API: gst_base_sink_get_last_buffer()
3453 API: GstBaseSink::last-buffer
3455 2007-10-29 Stefan Kost <ensonic@users.sf.net>
3457 * docs/gst/running.xml:
3459 * gst/gstdebugutils.c:
3460 * gst/gstdebugutils.h:
3461 * tools/gst-launch.c:
3462 Improve bin graph dumping, by using the envvar to specify a path.
3463 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
3465 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
3467 * plugins/elements/gsttypefindelement.c:
3468 (gst_type_find_element_handle_event),
3469 (gst_type_find_element_activate):
3470 Post special error message if we can't determine the type of a stream
3473 2007-10-29 Stefan Kost <ensonic@users.sf.net>
3475 * docs/gst/running.xml:
3476 * gst/gstdebugutils.c:
3477 Document new env-var. Add one log-line after dumpng a graph.
3479 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
3482 Ugly hack to put the (recently removed and non-portable, apparently)
3483 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
3484 GNU ld, because without that 'make check' fails miserably on my debian
3485 stable box. Someone with more knowledge of linker intricacies and
3486 portability issues than me fix this properly please.
3488 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
3490 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3491 Reset last seen position after flushing so that we don't report the old
3494 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
3496 * gst/gstelementfactory.c: (gst_element_register):
3498 Patch from Alessandro Decina adding get_type_full and
3499 get_protocols_full private vfuncs to the URIHandler interface
3500 to allow bindings to support creating URI handlers.
3501 Partially fixes: #339279
3502 API: GstURIHandlerInterface::get_type_full
3503 API: GstURIHandlerInterface::get_protocols_full
3505 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
3507 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
3508 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
3509 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
3510 Make it so that pads are considered linked until a buffer is pushed
3511 and discovered otherwise. This avoids problems with decodebin2 hanging
3512 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
3515 Make sure we lock the multiqueue when updating the max-size properties.
3517 Fix a crash on Solaris in a debug statement in get_request_pad that
3518 passes a NULL string to GST_DEBUG.
3520 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
3521 (run_output_order_test):
3522 Fix the test to allow the first buffer on not-linked pads to come out
3523 of sequence while multiqueue discovers that they are not-linked.
3525 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
3528 * libs/gst/check/Makefile.am:
3529 Use a custom export symbol regex for libgstcheck, as it needs
3530 to export symbols that don't match the standard GStreamer gst_*
3531 pattern, and --export-dynamic is not portable (only works on
3534 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3535 (gst_check_setup_sink_pad):
3536 Make sure to pass a message parameter to the fail_* macros.
3538 * tests/check/gst/gstinfo.c: (GST_START_TEST):
3539 Fix some compiler warnings.
3541 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
3543 * tests/check/gst/gststructure.c: (test_to_string):
3544 Disable test that checks that white spaces are not allowed
3545 in structure names or field names, since we need to
3546 support that for now for backwards compatibility reasons.
3548 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
3550 * docs/gst/gstreamer-sections.txt:
3553 API: add GST_TAG_ARTIST_SORTNAME
3554 API: add GST_TAG_ALBUM_SORTNAME
3555 API: add GST_TAG_TITLE_SORTNAME
3556 Add tag variants for sorting (#414539).
3558 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
3560 * gst/gststructure.c:
3561 Also allow white space for names so we don't break
3562 backwards compatibility.
3564 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
3566 * docs/design/part-TODO.txt:
3567 * docs/design/part-segments.txt:
3568 * docs/design/part-streams.txt:
3571 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
3573 * docs/gst/gstreamer-sections.txt:
3574 Fixed documentation from my previous commit (added new API add
3575 gst_value_set_structure(), add gst_value_get_structure() and
3576 GST_VALUE_HOLDS_STRUCTURE).
3578 2007-10-22 Stefan Kost <ensonic@users.sf.net>
3580 * gst/gstdebugutils.c:
3581 Reflow code to fix uninitialized variable warning.
3583 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
3585 * gst/gstcaps.c: (gst_caps_to_string),
3586 (gst_caps_from_string_inplace):
3587 * gst/gststructure.c: (gst_structure_get_abbrs),
3588 (gst_structure_to_string), (gst_structure_from_string):
3589 * gst/gstvalue.c: (gst_value_set_structure),
3590 (gst_value_get_structure), (gst_value_serialize_structure),
3591 (gst_value_deserialize_structure), (_gst_value_initialize):
3593 * tests/check/gst/gststructure.c: (GST_START_TEST),
3594 (gst_structure_suite):
3595 * tests/check/gst/gstvalue.c: (GST_START_TEST):
3596 Added GstStructure to gst_value_table and its related functions.
3597 Changed gst_structure_to_string to print ';' in the end.
3598 Changed gst_caps_to_string to not print ';' beteween its
3599 fields (structures) anymore and remove the lastes ';' from latest
3600 structure. Now it is possible to have nested structures.
3601 In addition, backward compatibilty is assured by accepting '\0' as
3602 end delimiter. Fixes: #487969.
3603 API: add gst_value_set_structure()
3604 API: add gst_value_get_structure()
3605 API: add GST_VALUE_HOLDS_STRUCTURE
3607 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
3610 When no GSource callback has been set up, tell developer
3611 to use a function that actually exists.
3613 2007-10-17 Stefan Kost <ensonic@users.sf.net>
3615 * docs/gst/gstreamer-sections.txt:
3619 * gst/gstdebugutils.c:
3620 * gst/gstdebugutils.h:
3623 * tools/gst-launch.c:
3624 Allow dumping pipelines as dot graphs. Fixes #456573.
3626 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
3628 * gst/gststructure.c:
3629 Allow '+' as well, it can be part of media or mime types
3630 such as image/svg+xml.
3632 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
3634 * docs/gst/gstreamer-sections.txt:
3637 API: add gst_bus_pop_filtered
3638 API: add gst_bus_timed_pop_filtered
3639 Two new functions for waiting for specific message types on the
3640 bus for a specified amount of time without iterating any main
3641 loops or main contexts.
3643 * tests/check/gst/gstbus.c:
3644 Some tests for the new functions.
3646 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
3648 * docs/libs/gstreamer-libs-sections.txt:
3649 Make gtk-doc ignore stuff it should ignore.
3651 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
3653 * libs/gst/check/gstcheck.c:
3654 * libs/gst/check/gstcheck.h:
3655 Allow runtime selection of unit tests to run via the GST_CHECKS
3656 environment variable (test case function names, comma-separated).
3658 2007-10-16 Stefan Kost <ensonic@users.sf.net>
3660 * gst/gststructure.c:
3661 * tests/check/gst/gststructure.c:
3662 Revert serialisation change and constrain structure-names after
3663 consensus on irc. Update api documentation to reflect the change.
3665 2007-10-16 Stefan Kost <ensonic@users.sf.net>
3667 * gst/gststructure.c:
3668 Improve serialization and fix tests.
3670 * tests/check/gst/gststructure.c:
3671 Add another test that covers why I actually did the previous structure
3674 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
3676 * tools/gst-inspect.c: (print_element_info):
3677 Don't crash when inspecting an element.
3679 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
3681 * tests/check/gst/gststructure.c:
3682 Add unit test for escaping of structure name when serialising
3683 and deserialising to/from strings.
3685 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
3687 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
3688 (gst_single_queue_new):
3689 * plugins/elements/gstqueue.c: (gst_queue_init),
3690 (gst_queue_push_one):
3691 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
3692 upstream is tricked into thinking it can suggest a format downstream
3693 while downstream does not support that format. The real problem is that
3694 core calls acceptcaps when pushing a buffer with new caps, for which we
3695 do a little workaround by setting the caps on the srcpad ourselves
3696 before pushing the buffer (until this is figured out). Fixes #486758.
3698 2007-10-15 Stefan Kost <ensonic@users.sf.net>
3700 * gst/gststructure.c:
3702 Add some more comments and debug output. Quote structure name to fix
3703 deserialisation of some strings.
3705 2007-10-15 Stefan Kost <ensonic@users.sf.net>
3708 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
3709 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
3711 2007-10-15 Stefan Kost <ensonic@users.sf.net>
3713 * tools/gst-inspect.c:
3714 Save approx. 400 1 byte allocs when printing. Use API to acces element
3720 * tools/gst-xmlinspect.c:
3721 Use API to acces element details.
3723 2007-10-15 Stefan Kost <ensonic@users.sf.net>
3726 Fix some spelling errors.
3728 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
3730 * gst/gstbin.c: (bin_handle_async_done):
3731 Correctly set the next state if all of our async children commited their
3732 state. This makes sure we can actually cancel the state change in
3733 progress. Fixes a regression in Rhythmbox when seeking.
3735 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
3738 Don't shadow local variable.
3741 Don't shadow global function name.
3743 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
3745 * gst/gstelementfactory.c:
3746 * gst/gstpluginfeature.c:
3747 * gst/gstpluginfeature.h:
3748 * gst/gstregistrybinary.c:
3749 * gst/gstregistryxml.c:
3750 * gst/gsttypefind.c:
3751 Use already-interned string for the private GstPluginFeature
3754 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
3756 * docs/libs/gstreamer-libs-sections.txt:
3757 Add new API to docs; fixes the build.
3759 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
3761 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
3763 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
3764 (gst_base_sink_event):
3765 * libs/gst/base/gstbasesink.h:
3766 Add function to wait for EOS, subclasses can use this to correctly wait
3767 for devices to drain before performing the EOS logic. Fixes #485343.
3768 API: gst_base_sink_wait_eos()
3770 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
3773 Cast description string constants in GST_PLUGIN_DEFINE macros
3774 to a (gchar*) to make C++ code using these macros compile
3775 without warning with g++-4.2 (see #462737). Even if slightly
3776 ugly, this seems preferable to putting the description strings
3777 into the GLib quark table or making the structure member a
3778 const gchar * and doing casts in core code that allocs and
3779 frees these strings, or requiring a cast in the C++ code.
3781 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
3784 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
3785 to print the entire class/function signature into the log
3786 file for C++ code. This only affects C++ code, for C code
3787 everything remains the same.
3789 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
3791 * gst/gstbin.c: (remove_from_queue):
3792 Work around a problem with pipelines containing (semi)loops until a
3793 proper, more complicated solution is ready. See #475455.
3795 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
3799 * gst/gstregistrybinary.c:
3800 * gst/gstregistryxml.c:
3801 Put more strings into the GLib quark table. No need to keep
3802 a hundred-something copies of identical version strings,
3803 license strings, package name strings and package origin
3806 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
3808 * docs/manual/advanced-dataaccess.xml:
3809 Don't imply that it's okay to unconditionally change
3810 buffer data or buffer metadata in a pad probe callback,
3811 and a bunch of other comments. Fixes #430031.
3813 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
3815 * win32/common/gstenumtypes.c:
3816 * win32/common/gstenumtypes.h:
3817 * win32/common/gstversion.h:
3818 Update generated files.
3820 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
3822 * docs/manual/advanced-autoplugging.xml:
3823 Prefix section with broken code with a warning (see #342432).
3825 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
3827 * docs/manual/appendix-integration.xml:
3828 * docs/manual/basics-init.xml:
3829 Call g_thread_init() before g_option_context_new() to
3830 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
3832 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
3834 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3835 (gst_base_sink_queue_object_unlocked),
3836 (gst_base_sink_queue_object), (gst_base_sink_event),
3837 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
3838 When we received EOS and are waiting for when to post the EOS message,
3839 our state is prerolled and we should not return ASYNC.
3840 Reorganize some code paths to implement this behavior.
3842 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
3844 Add unit test to verify above EOS fix.
3846 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
3848 * plugins/elements/gsttypefindelement.c:
3849 (gst_type_find_element_have_type), (gst_type_find_element_init),
3850 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
3851 Move detecting the input caps of the sinkpad to the setcaps function.
3852 This allows us to update the output caps when we receive new input caps
3853 instead of always using the first detected caps.
3855 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
3857 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
3858 (gst_base_sink_get_position):
3859 Don't try to preroll non-async elements after a flush.
3860 Subtract latency form clock times when reporting position.
3862 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
3864 * gst/gstpad.c: (gst_pad_pause_task):
3866 Small comment and documentation update.
3868 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
3870 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3871 (gst_base_src_set_live), (gst_base_src_is_live),
3872 (gst_base_src_query_latency), (gst_base_src_perform_seek),
3873 (gst_base_src_default_event), (gst_base_src_wait),
3874 (gst_base_src_do_sync), (gst_base_src_get_range),
3875 (gst_base_src_pad_get_range), (gst_base_src_loop),
3876 (gst_base_src_unlock), (gst_base_src_unlock_stop),
3877 (gst_base_src_set_flushing), (gst_base_src_set_playing),
3878 (gst_base_src_activate_push), (gst_base_src_activate_pull),
3879 (gst_base_src_change_state):
3880 Rework the locking of basesrc in a similar fashion to basesink. We
3881 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
3882 us to handle live sources and semi live ones much better.
3884 Fix unlocking when seeking, shutting down and pausing in live sources.
3886 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
3888 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
3889 Fix compilation again.
3891 2007-10-03 Stefan Kost <ensonic@users.sf.net>
3894 Use meaningful categories for the logs to clean the default one.
3896 2007-10-03 Stefan Kost <ensonic@users.sf.net>
3898 * tests/check/pipelines/cleanup.c:
3899 Print message name and not just number.
3901 2007-10-03 Stefan Kost <ensonic@users.sf.net>
3903 * docs/design/draft-tagreading.txt:
3904 Add some more thoughts.
3906 2007-10-03 Stefan Kost <ensonic@users.sf.net>
3908 * tests/check/pipelines/simple-launch-lines.c:
3909 Print message name and not just number.
3911 2007-10-03 Stefan Kost <ensonic@users.sf.net>
3913 * libs/gst/base/gsttypefindhelper.c:
3914 Speedup typefinding. This is work in progress (see #459862).
3916 2007-10-03 Stefan Kost <ensonic@users.sf.net>
3919 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
3920 Spotted by Josep Torra Valles <josep@fluendo.com>.
3922 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
3925 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
3926 field has moved to GstObject.
3928 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
3930 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
3931 (gst_base_src_get_range), (gst_base_src_change_state):
3932 Call unlock for live sources so that they can't get stuck in _create and
3933 produce a buffer before they are set back to PLAYING.
3935 2007-10-02 Edward Hervey <bilboed@bilboed.com>
3937 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
3938 (gst_queue_locked_dequeue):
3939 Comment the segment-related code... in the PROPER function.
3940 See #482147 and my commit from yesterday.
3942 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
3944 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3945 Also initialize the counter that calculates the first timestamp on a
3946 buffer correctly for non-live sources.
3948 2007-10-01 Edward Hervey <bilboed@bilboed.com>
3950 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
3951 Disable code that's breaking the current-time-level reporting.
3954 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
3956 * docs/gst/gstreamer-sections.txt:
3957 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
3958 as they shouldn't show up. Fixes the docs build.
3960 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
3963 Add an explicit variable importation needed on VS6 (only for MSC_VER)
3964 Define M_PI which is used in files which are including gstinfo.h.
3965 VS6 includes doesn't define it.
3966 * win32/common/libgstbase.def:
3967 * win32/common/libgstcontroller.def:
3968 * win32/common/libgstreamer.def:
3969 Add new exported functions and variables.
3970 * win32/vs6/libgstcontroller.dsp:
3971 * win32/vs6/libgstreamer.dsp:
3972 Update the list of files to build.
3974 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
3976 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
3978 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
3979 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
3980 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
3981 Improve debugging. Fixes #480858.
3983 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
3985 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
3987 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3988 First patch of code cleanups, use the macros and right arguments in the
3989 macros to signal and lock the queue. See #480858.
3991 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
3993 * gst/gstbus.c: (poll_func):
3994 Improve debugging when dealing with _poll().
3996 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
3998 * gst/gstregistryxml.c:
3999 Fix memory leak I introduced a few days ago.
4001 2007-09-26 Michael Smith <msmith@fluendo.com>
4003 * gst/gstbuffer.c: (gst_buffer_finalize):
4004 Make it once again possible to free GstBuffers in the default
4006 The poisoning scribbles on parts of the miniobject we need in
4010 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
4012 * docs/gst/gstreamer-sections.txt:
4015 API: add GST_TAG_COMPOSER, fixes #459809.
4017 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
4021 Add the 3-clause BSD license and the MIT/X11 license to the license
4022 list. Fixes #479784.
4024 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
4026 * docs/faq/getting.xml:
4027 Add Q+A about different GStreamer versions (#364056).
4029 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
4031 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4032 (gst_base_sink_event), (gst_base_sink_change_state):
4033 Return correct gboolean from query function.
4035 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
4037 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4038 (gst_base_sink_event), (gst_base_sink_query),
4039 (gst_base_sink_change_state):
4040 Simplify latency query.
4041 When not synchronizing, we can report latency without querying the peer
4044 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
4048 Fix small typos in the docs.
4050 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
4052 * docs/design/draft-latency.txt:
4053 * docs/design/draft-push-pull.txt:
4054 * docs/design/draft-tagreading.txt:
4055 * docs/design/part-MT-refcounting.txt:
4056 * docs/design/part-activation.txt:
4057 * docs/design/part-block.txt:
4058 * docs/design/part-element-source.txt:
4059 * docs/design/part-events.txt:
4060 * docs/design/part-gstbin.txt:
4061 * docs/design/part-gstelement.txt:
4062 * docs/design/part-gstobject.txt:
4063 * docs/design/part-gstpipeline.txt:
4064 * docs/design/part-messages.txt:
4065 * docs/design/part-preroll.txt:
4066 * docs/design/part-push-pull.txt:
4067 * docs/design/part-qos.txt:
4068 * docs/design/part-query.txt:
4069 * docs/design/part-scheduling.txt:
4070 * docs/design/part-seeking.txt:
4071 * docs/design/part-segments.txt:
4072 * docs/design/part-states.txt:
4073 Documentation updates and typo fixes.
4075 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
4077 * plugins/elements/gstfakesink.c:
4078 Add some debug text to error message to indicate that
4079 we errored out on request.
4081 * tools/gst-launch.c:
4082 When the state change to PLAYING fails, check for an
4083 error message on the bus and print it.
4085 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
4087 translated by: Jorge González González <aloriel@gmail.com>
4091 Added Spanish translation.
4093 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
4095 * plugins/elements/gstqueue.c: (gst_queue_push_one):
4096 Fix printf arguments.
4098 2007-09-20 Stefan Kost <ensonic@users.sf.net>
4100 * tests/check/generic/states.c:
4101 Improved state change unit test.
4103 2007-09-20 Stefan Kost <ensonic@users.sf.net>
4106 Move priv to the right place.
4108 * gst/gstsystemclock.c:
4109 Add FIXME: and improve log.
4111 * tests/check/Makefile.am:
4112 * tests/examples/manual/Makefile.am:
4113 Work with all types of registries.
4115 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
4117 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
4118 Don't unref the event after pushing it. Fixes #478401.
4120 2007-09-19 Stefan Kost <ensonic@users.sf.net>
4123 * tests/examples/manual/.cvsignore:
4124 Ignore registries in any format.
4126 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
4128 * gst/glib-compat-private.h:
4129 Add compatibility macro for g_intern_string() for
4130 GLib-2.8 (any reason we can't just bump the
4131 requirement to at least 2.10?)
4133 * gst/gstpadtemplate.h:
4134 * gst/gstelementfactory.c:
4135 * gst/gstregistryxml.c:
4136 * gst/gstregistrybinary.c:
4137 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
4138 up the internal code accordingly. This shouldn't be a problem, since
4139 there is no reason external code could ever assume the string in such
4140 a structure is dynamically allocated unless it did that itself; the
4141 use of g_strdup() is private to element factories. The new code also
4142 saves some memory by putting pad template name strings into the GLib
4143 quark table instead of allocating them dynamically.
4144 Declaring this field constant fixes warnings with g++-4.2 when using
4145 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
4147 2007-09-19 Stefan Kost <ensonic@users.sf.net>
4149 * gst/gstelementfactory.c:
4150 Release static caps. Fixes #475723.
4152 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
4156 Make some internal API take const gchar * instead of just
4157 gchar * to avoid compiler warnings with g++-4.2.2 when
4158 passing string constants (partially fixes #478092).
4160 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
4162 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
4163 A latency query fails when one of the sinks fail.
4165 * gst/gstelement.c: (gst_element_set_base_time):
4168 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
4170 * gst/gstbin.c: (gst_bin_continue_func):
4171 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
4172 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
4173 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
4175 Fix minor compilation warnings shown with Forte.
4177 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
4179 * plugins/elements/gstqueue.c: (apply_buffer),
4180 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
4181 Measure queue level based on the diff between head and tail timestamps
4182 even when pushing the first buffer.
4184 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
4186 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4187 (gst_base_sink_event), (gst_base_sink_change_state):
4188 Sinks that don't preroll can always be queried for the latency.
4189 Don't post ASYNC start when we are not async.
4191 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
4193 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
4194 (gst_queue_handle_sink_event), (gst_queue_chain),
4195 (gst_queue_push_one), (gst_queue_handle_src_query),
4196 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
4197 * plugins/elements/gstqueue.h:
4198 When downstream returns UNEXPECTED from pushing a buffer, don't try to
4199 push more buffers but allow pushing of EOS and NEWSEGMENT.
4200 Add some more debug info here and there. Fixes #476514.
4202 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
4204 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4205 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
4206 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
4207 (gst_base_sink_set_flushing), (gst_base_sink_query),
4208 (gst_base_sink_change_state):
4209 Latency query is allowed after we are prerolled. Introduce a new flag
4210 for this and stop abusing other variables.
4212 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
4214 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
4215 Push OOB events downstream when we get them in send_event. This allows
4216 the application to insert events in the pipeline.
4217 Add some more comments.
4219 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
4221 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
4222 (do_bin_latency), (gst_bin_change_state_func):
4223 * gst/gstpipeline.c: (gst_pipeline_change_state):
4224 Move latency query from GstPipeline to GstBin so that we can also
4225 use it when async-handling is enabled on bins.
4227 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
4229 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4230 (gst_base_src_do_sync), (gst_base_src_change_state):
4232 Clean up the timestamping and syncing code for pseudo live sources.
4234 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
4236 Patch by: Steve Fink <sphink gmail com>
4238 * docs/manual/appendix-checklist.xml:
4239 Mention less -R switch in the section about debug output (#474055).
4241 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
4243 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4244 Queue can latency to the pipeline up to the configured max size in time.
4245 Report this fact in the latency query.
4247 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
4249 Patch by: Sebastien Moutte <sebastien at moutte dot net>
4251 * libs/gst/controller/gstinterpolation.c:
4252 * libs/gst/controller/gstlfocontrolsource.c:
4253 Use gst_guint64_to_gdouble() when converting from a uint64 or
4254 GstClockTime to double to fix the build on win32. Fixes #474371.
4256 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
4258 * gst/gstbuffer.c: (gst_buffer_finalize):
4259 Implement poisoning for GstBuffer if --enable-poisoning is specified.
4260 When finalizing a buffer the complete struct is filled with 0xff,
4261 thus making a use of the buffer after the final unref impossible.
4263 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
4265 * tests/check/libs/controller.c: (GST_START_TEST):
4266 Use fail_unless_equals_int(a, b) instead of
4267 fail_unless_equals (a == b) to get better output on failures.
4269 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
4271 * tests/check/gst/gsturi.c:
4272 Also check for the other file URI variant on win32.
4274 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
4276 * gst/gsturi.c: (gst_uri_get_location):
4277 If there's no hostname, we want to return 'c:/foo/bar.txt'
4278 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
4280 * tests/check/gst/gsturi.c:
4281 Unit test for the above and a few more things.
4283 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
4285 * docs/design/part-live-source.txt:
4286 Add docs on how live sources should timestamp.
4288 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
4289 Add some more debug info.
4290 For subclasses that are live and like to sync, add aditional startup
4291 latency to sync time and timestamps so that we timstamp according to the
4294 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
4297 Also do a g_type_class_ref() for the subbuffer type in
4300 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
4302 * docs/gst/gstreamer-sections.txt:
4303 * gst/gstpad.c: (gst_pad_peer_query):
4305 Add function to perform a query on the peer of a pad.
4306 API: gst_pad_peer_query()
4308 2007-09-11 Stefan Kost <ensonic@users.sf.net>
4310 * tests/check/gst/gstsystemclock.c:
4311 Cleanup the test a little (use gst-logging and not g_message). Improve
4312 test to check if a wait reached the target.
4314 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
4316 * docs/libs/gstreamer-libs-sections.txt:
4317 Add new API to docs and fix the build.
4319 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
4321 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4322 (gst_base_src_init), (gst_base_src_set_do_timestamp),
4323 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
4324 (gst_base_src_get_property), (gst_base_src_do_sync):
4325 * libs/gst/base/gstbasesrc.h:
4326 Add property to make the basesrc timestamp buffers based on the current
4328 API: GstBaseSrc::do-timestamp
4329 API: gst_base_src_set_do_timestamp()
4330 API: gst_base_src_get_do_timestamp()
4332 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
4334 * docs/random/release:
4335 Really make sure translations are up-to-date before
4336 a release (#465010).
4338 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
4340 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4341 Always destroy the timer, also in error cases.
4343 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
4345 * docs/manual/highlevel-xml.xml:
4346 Fix XML example code. Fixes #472714.
4348 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
4350 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4351 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
4352 (gst_base_sink_query):
4353 Protect eos and have_preroll with the OBJECT lock so we don't need to
4354 take the PREROLL lock when querying the latency. Fixes #473846.
4356 2007-09-05 Stefan Kost <ensonic@users.sf.net>
4359 Give some log-messages a category.
4361 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
4363 * gst/gststructure.c:
4364 (gst_structure_fixate_field_nearest_fraction):
4365 Fix fraction list fixation code. Take the fraction with the smallest
4366 difference with the target instead of the first one in the list.
4368 * tests/check/gst/gststructure.c: (GST_START_TEST),
4369 (gst_structure_suite):
4370 Added test to verify correct fraction list fixation behaviour.
4372 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
4374 * win32/common/libgstreamer.def:
4375 Export gst_bus_add_signal_watch too.
4377 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
4379 * docs/libs/gstreamer-libs-sections.txt:
4380 Add new methods to docs.
4382 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4383 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
4384 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
4385 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
4386 * libs/gst/base/gstbasesink.h:
4387 Add ts-offset property to fine-tune the synchronisation.
4388 API: GstBaseSink::ts-offset property
4389 API: gst_base_sink_set_ts_offset()
4390 API: gst_base_sink_get_ts_offset()
4392 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
4394 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4395 (gst_base_sink_init), (gst_base_sink_set_sync),
4396 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
4397 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
4398 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
4399 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
4400 (gst_base_sink_get_property), (gst_base_sink_change_state):
4401 * libs/gst/base/gstbasesink.h:
4402 Add async property to instruct the sink never to inform the parent about
4403 ASYNC state changes, update docs.
4404 Check argument with g_return_* for the public functions.
4405 API: GstBaseSink::async property
4406 API: gst_base_sink_set_async_enabled()
4407 API: gst_base_sink_is_async_enabled()
4409 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
4411 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
4414 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4415 (gst_base_src_default_query), (gst_base_src_wait),
4416 (gst_base_src_do_sync), (gst_base_src_change_state):
4417 Rearrange some code so that we can add support for measuring the
4420 2007-08-27 Stefan Kost <ensonic@users.sf.net>
4422 * docs/random/ensonic/dynlink.txt:
4423 More thoughs on this.
4425 * plugins/elements/gstcapsfilter.c:
4426 Add bugzilla ticket number to FIXME comment.
4428 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
4430 * docs/design/part-TODO.txt:
4431 * docs/design/part-block.txt:
4434 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
4437 Revert patch which uses $(gst_headers) instead of $^ because it
4440 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
4442 * tests/check/gst/gstbin.c: (GST_START_TEST):
4443 Fix leaks in the new unit test.
4445 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
4448 Don't use GST_INFO before the debug system is actually initialised
4449 (shouldn't do any harm, but won't print anything either, so we can
4450 just as well remove it).
4453 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
4454 compilers that don't support variadic macros (such as MSVC), should
4455 check for debug_level <= __gst_debug_min as well, since that's the
4456 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
4457 inline helper functions. Should improve performance a bit, but also
4458 makes sure uses of GST_INFO et.al are ignored if the debugging
4459 system isn't initialised yet (instead of printing an assertion
4462 2007-08-23 Stefan Kost <ensonic@users.sf.net>
4464 patch by: David Nečas <yeti@physics.muni.cz>
4467 Replace some non portable makefile constructs.
4469 2007-08-21 Stefan Kost <ensonic@users.sf.net>
4471 * common/gtk-doc-plugins.mak:
4472 Grrrrr. Don't remove the types file on make clean.
4474 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
4476 * tools/gst-launch.1.in:
4477 Add colorspace to example pipeline. Fixes #458274.
4479 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
4481 * docs/random/release:
4482 The release manager should run 'make download-po' before making a
4483 release to make sure translations are up-to-date.
4489 Add some new translations.
4491 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
4493 * tools/gst-launch.c: (event_loop), (main):
4494 Don´t try to do any state management when a live pipeline posts
4496 Also make the buffering string translatable.
4498 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
4500 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
4501 (bin_handle_async_start), (gst_bin_handle_message_func):
4503 When adding elements, insert messages into the bus of the newly added
4504 element and make sure the element is the source of the message. This
4505 allows the parent bin to intercept the message and do the
4506 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
4507 messages to the app (which is not allowed).
4510 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4511 Fix testsuite so that is does not work around messages that should not
4512 have been posted in the first place.
4514 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
4516 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
4517 (update_degree), (gst_bin_sort_iterator_next):
4518 Fix annoying bug in the sorted iterator where a sink that is not really
4519 a sink (when it has downstream links) screwed up the iterator.
4521 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4522 Unit test to verify the fix.
4524 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
4527 Add some more docs for the messages.
4529 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4530 (gst_base_sink_query):
4531 Add some more debugging.
4533 * tools/gst-launch.c: (event_loop):
4534 When interrupting, don't try to set pipeline to PAUSED twice.
4536 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
4539 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
4540 (bin_handle_async_start), (gst_bin_handle_message_func):
4541 Move ASYNC_START message posting to where it belongs, similar to
4543 Don't post ASYNC_START when we are in error.
4544 Post ASYNC_START when we added an async element to a bin.
4546 2007-08-14 Julien MOUTTE <julien@moutte.net>
4548 * gst/gstindex.c: (gst_index_add_association): Fix index entry
4549 generation from vargs. Fixes #466595.
4551 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
4553 * gst/gstbin.c: (gst_bin_element_set_state):
4554 Always change the state of a NO_PREROLL element even if it has ASYNC
4555 elements inside (in case of a bin).
4557 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
4558 Unit test for this case.
4560 2007-08-13 Stefan Kost <ensonic@users.sf.net>
4562 * libs/gst/check/gstbufferstraw.c:
4563 * libs/gst/check/gstcheck.h:
4564 * libs/gst/controller/gstcontroller.c:
4565 * libs/gst/controller/gstcontrolsource.h:
4566 * libs/gst/controller/gstlfocontrolsource.h:
4567 * plugins/elements/gstcapsfilter.h:
4568 * plugins/elements/gstfdsink.h:
4569 * plugins/elements/gstfdsrc.h:
4570 Add more missing docs.
4572 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
4574 * gst/gststructure.c:
4575 Add Since tag to docs.
4577 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
4579 * docs/gst/gstreamer-sections.txt:
4580 * gst/gststructure.c: (gst_structure_get_uint):
4581 * gst/gststructure.h:
4582 Add function to get uint from a structure.
4583 API: gst_structure_get_uint()
4585 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
4587 * gst/gstcaps.c: (gst_caps_set_simple_valist),
4588 (gst_caps_intersect):
4589 Fix proper check for simple caps.
4591 2007-08-10 Stefan Kost <ensonic@users.sf.net>
4593 * docs/gst/Makefile.am:
4594 * docs/libs/Makefile.am:
4595 Remove cruft and do some cleanups.
4597 * docs/gst/gstreamer-docs.sgml:
4598 * docs/libs/gstreamer-libs-docs.sgml:
4599 Prepare for comming gtkdoc features (rebase against online docs).
4601 2007-08-10 Michael Smith <msmith@fluendo.com>
4603 * docs/gst/gstreamer-sections.txt:
4604 Add gst_registry_add_path to docs.
4606 2007-08-10 Michael Smith <msmith@fluendo.com>
4608 * gst/gstregistry.h:
4609 Add gst_registry_add_path, which was missing from this header.
4611 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
4613 * libs/gst/controller/gstlfocontrolsource.c:
4616 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
4618 * libs/gst/base/gstbasesink.c:
4619 Don't send an async_start message during downwards state change if
4620 target state is less than READY
4622 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
4624 translated by: Gabor Kelemen <kelemeng@gnome.hu>
4628 Added Hungarian translation.
4630 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
4637 Updated translations.
4639 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
4641 * libs/gst/controller/Makefile.am:
4642 Dist gstlfocontrolsourceprivate.h
4644 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
4646 * docs/libs/gstreamer-libs.types:
4647 Don't register the enum type gst_lfo_waveform_get_type() in the
4648 .types file - only GObject derived types belong.
4650 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
4652 Patch by: <arenevier at fdn dot fr>
4655 Remove comma from last element in enum to avoid compile errors when
4656 using -pendantic. Fixes #464366.
4658 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
4660 * docs/design/part-TODO.txt:
4661 Add some more TODO items
4663 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
4666 * gst/gstcaps.c: (gst_caps_intersect):
4667 Optimize trivial intersection case between identical caps pointers.
4669 * gst/gstelement.c: (gst_element_continue_state),
4670 (gst_element_set_state_func):
4672 Fix spelling and grammar mistakes.
4674 2007-08-05 Stefan Kost <ensonic@users.sf.net>
4678 Update POTFILES. Fixes #461599.
4680 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
4683 Fix confusing typo in debug output.
4685 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
4687 reviewed by: Stefan Kost <ensonic@users.sf.net>
4689 * libs/gst/controller/Makefile.am:
4690 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
4691 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
4692 (gst_lfo_control_source_new),
4693 (gst_lfo_control_source_set_waveform),
4694 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
4695 (gst_lfo_control_source_finalize),
4696 (gst_lfo_control_source_dispose),
4697 (gst_lfo_control_source_set_property),
4698 (gst_lfo_control_source_get_property),
4699 (gst_lfo_control_source_class_init):
4700 * libs/gst/controller/gstlfocontrolsource.h:
4701 * libs/gst/controller/gstlfocontrolsourceprivate.h:
4702 API: Add GstLFOControlSource, a control source that gives values
4703 for specific timestamps based on several periodic waveforms.
4706 * tests/check/libs/controller.c: (GST_START_TEST),
4707 (gst_controller_suite):
4708 * docs/libs/gstreamer-libs-docs.sgml:
4709 * docs/libs/gstreamer-libs-sections.txt:
4710 * docs/libs/gstreamer-libs.types:
4711 Add documentation and unit tests for GstLFOControlSource.
4713 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
4718 === release 0.10.14 ===
4720 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
4723 releasing 0.10.14, "Breathing Vacuum"
4725 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
4727 * gst/gstelement.c: (gst_element_class_set_details_simple):
4729 Make strings passed to gst_element_class_set_details_simple()
4730 constant, as they should be (#462752).
4732 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
4734 * gst/gstbin.c: (gst_bin_change_state_func),
4735 (bin_handle_async_done), (gst_bin_handle_message_func):
4736 Don't forget about the fact that some element went ASYNC even after a
4737 resync. This makes us post the ASYNC_DONE message correctly.
4740 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
4742 * gst/gstregistry.c: (gst_registry_add_feature):
4743 When replacing an existing feature in the registry, make sure to
4744 continue holding a reference until we've replaced the name string
4745 within our feature hash table. Make sure to use g_hash_table_replace
4746 instead of g_hash_table_insert to ensure the new name string is used
4747 as a key instead of the old one that we're about to free.
4750 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
4752 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4753 (gst_plugin_feature_set_name):
4754 Revert patch from #459466 until after the release and we can work
4755 out exactly what the problem is (if any).
4757 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
4759 * docs/gst/gstreamer-sections.txt:
4762 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
4764 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
4766 * docs/libs/Makefile.am:
4767 Include our build-prefix libs and includes before the generic ones to
4768 avoid linking against the installed libs when we want the build-tree
4771 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
4773 Patch by: Steve Fink <sphink gmail com>
4775 * docs/pwg/building-testapp.xml:
4776 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
4777 if people try to build or install the example from the plugin
4778 template against a GStreamer from package using the configure
4781 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
4783 Patch by: Steve Fink <sphink gmail com>
4785 * tools/gst-inspect.1.in:
4786 Document --print-all and --print-plugin-auto-install-info command
4787 line options in man page.
4789 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
4791 * docs/gst/gstreamer-sections.txt:
4792 Add docs for new api function.
4794 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
4796 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
4797 * gst/gstelementfactory.h:
4798 API: gst_element_factory_has_interface()
4799 Added method to check if an element factory implements a named
4802 2007-07-25 Stefan Kost <ensonic@users.sf.net>
4805 * docs/gst/gstreamer.types.in:
4806 Another conditional doc check.
4809 * gst/gstparamspecs.h:
4810 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4815 2007-07-24 Stefan Kost <ensonic@users.sf.net>
4817 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
4818 (gst_registry_binary_load_feature),
4819 (gst_registry_binary_load_plugin),
4820 (gst_registry_binary_read_cache):
4821 Print error just once and with additional info.
4823 2007-07-24 Stefan Kost <ensonic@users.sf.net>
4825 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
4826 (helper_find_suggest), (helper_find_get_length),
4827 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
4828 (gst_type_find_helper_for_buffer):
4829 Cleanup the typefindhelper code and add private doc comments.
4831 2007-07-24 Edward Hervey <bilboed@bilboed.com>
4833 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
4834 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
4835 Fix capsfilter for cases where the caps set on capsfilter will provide
4836 additional information.
4839 2007-07-24 Stefan Kost <ensonic@users.sf.net>
4841 * gst/gsttypefindfactory.c:
4842 Fix docs that recommened wrong function to use.
4844 2007-07-23 Stefan Kost <ensonic@users.sf.net>
4846 * tools/gst-inspect.c: (print_plugin_features):
4847 Also give media-type for typefinders in element output.
4849 2007-07-23 Stefan Kost <ensonic@users.sf.net>
4851 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
4852 (gst_registry_remove_features_for_plugin_unlocked),
4853 (gst_registry_add_feature), (gst_registry_remove_feature),
4854 (gst_registry_lookup_feature_locked):
4855 * gst/gstregistry.h:
4856 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
4859 2007-07-23 Stefan Kost <ensonic@users.sf.net>
4861 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4862 (gst_plugin_feature_set_name):
4863 Avoid double memory usage for pluginfeature names. Fixes #459466.
4865 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
4868 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
4869 driving the pipeline may need to explicitly check for NOT_LINKED as
4870 well, since IS_FATAL doesn't cover that.
4872 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
4874 * docs/pwg/advanced-types.xml:
4875 Fix typo and duplicate entry in video formats list.
4877 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
4879 * libs/gst/controller/gstinterpolation.c:
4880 Also round to the nearest int when using cubic interpolation.
4882 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
4884 * libs/gst/controller/gstinterpolation.c:
4885 When linearly interpolating integer types, round to the nearest int
4886 by adding 0.5. Don't do it for float/double types.
4887 Fixes the failing controller test on my machine, which is somehow
4888 rounding differently than on the buildbots.
4890 2007-07-20 Stefan Kost <ensonic@users.sf.net>
4892 * tools/gst-plot-timeline.py:
4893 Better log parsing (categories can have -). Adjust text vs. lines, so
4894 that they span the same y-range.
4896 2007-07-20 Stefan Kost <ensonic@users.sf.net>
4898 * docs/random/ensonic/audiobaseclasses.txt:
4899 * docs/random/ensonic/dynlink.txt:
4900 * docs/random/ensonic/profiling.txt:
4903 * docs/random/moving-plugins:
4904 Add note to use g_assert type macros.
4906 2007-07-20 Stefan Kost <ensonic@users.sf.net>
4909 * libs/gst/check/Makefile.am:
4910 Add libm check as we use in for plugins.
4912 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
4914 * gst/gstbin.c: (gst_bin_continue_func):
4915 Check that the state_cookie hasn't changed since the continue_func
4916 was scheduled. Avoids problems where the state changes back to
4917 something it shouldn't be because it was changed in the meantime.
4919 2007-07-17 Stefan Kost <ensonic@users.sf.net>
4921 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
4922 (gst_registry_binary_save_string),
4923 (gst_registry_binary_save_pad_template),
4924 (gst_registry_binary_save_feature),
4925 (gst_registry_binary_save_plugin),
4926 (gst_registry_binary_load_feature),
4927 (gst_registry_binary_load_plugin),
4928 (gst_registry_binary_read_cache):
4929 Fix memory leak. Be less verbose in the log.
4931 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
4933 * tests/check/elements/.cvsignore:
4934 Add file to cvsignore as commanded.
4936 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
4938 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
4939 (mq_dummypad_event), (run_output_order_test):
4940 Use a GStaticMutex to protect all cases where libcheck
4941 fail_if/fail_unless macros might be called from multiple threads
4942 simultaneously to avoid errors like:
4943 "check_pack.c:107: :-1081725400:Bad message type arg"
4945 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
4947 * tests/check/pipelines/stress.c: (GST_START_TEST):
4948 Make sure we set the pipeline back to the NULL state before
4949 dropping our final reference.
4951 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
4953 * tests/check/elements/tee.c: (GST_START_TEST):
4954 Make the tee stress-test a little less stressful so it doesn't just
4955 time out on slow-machines, and remove a small race when it's starting
4956 up by adding a get_state() call.
4958 2007-07-16 Stefan Kost <ensonic@users.sf.net>
4961 Avoid reading registry twice on startup. Fixes #457322.
4963 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
4965 * pkgconfig/gstreamer-check-uninstalled.pc.in:
4966 * pkgconfig/gstreamer-check.pc.in:
4967 Substitute the CFLAGS for libcheck into our .pc file too so that
4968 dependent modules will pick it up properly if libcheck is installed
4969 into some other prefix.
4971 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
4974 Revert the pkg-config check for libcheck, since it pulls in the
4975 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
4976 a proper solution, either from the check project, or something else.
4978 2007-07-12 Stefan Kost <ensonic@users.sf.net>
4981 Use pkg-config to locate check.
4983 2007-07-10 Stefan Kost <ensonic@users.sf.net>
4990 Add deprecation guards.
4992 * libs/gst/base/gstcollectpads.h:
4993 Don't document object (this is implicitly private).
4995 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
4997 * gst/gststructure.c: (gst_structure_parse_value):
4998 When deserialising foo=bar without a type cast, check if it's a
4999 boolean before falling back to a string type, otherwise things like
5000 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
5001 because the filtercaps end up having a signed=(string)true field,
5002 which causes problems later when intersection caps.
5004 * tests/check/gst/gststructure.c: (GST_START_TEST):
5005 Add a unit test for this.
5007 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
5009 Reviewed by: Stefan Kost <ensonic@users.sf.net>
5011 * libs/gst/controller/Makefile.am:
5012 * libs/gst/controller/gstcontroller.c:
5013 (gst_controlled_property_add_interpolation_control_source),
5014 (gst_controlled_property_new), (gst_controlled_property_free),
5015 (gst_controller_find_controlled_property),
5016 (gst_controller_new_valist), (gst_controller_new_list),
5017 (gst_controller_new), (gst_controller_remove_properties_valist),
5018 (gst_controller_remove_properties_list),
5019 (gst_controller_remove_properties),
5020 (gst_controller_set_property_disabled),
5021 (gst_controller_set_disabled), (gst_controller_set_control_source),
5022 (gst_controller_get_control_source), (gst_controller_get),
5023 (gst_controller_sync_values), (gst_controller_get_value_array),
5024 (_gst_controller_dispose), (gst_controller_get_type),
5025 (gst_controlled_property_set_interpolation_mode),
5026 (gst_controller_set), (gst_controller_set_from_list),
5027 (gst_controller_unset), (gst_controller_unset_all),
5028 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
5029 * libs/gst/controller/gstcontroller.h:
5030 * libs/gst/controller/gstcontrollerprivate.h:
5031 * libs/gst/controller/gstcontrolsource.c:
5032 (gst_control_source_class_init), (gst_control_source_init),
5033 (gst_control_source_get_value),
5034 (gst_control_source_get_value_array), (gst_control_source_bind):
5035 * libs/gst/controller/gstcontrolsource.h:
5036 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
5037 (gst_object_get_control_source):
5038 * libs/gst/controller/gstinterpolation.c:
5039 (gst_interpolation_control_source_find_control_point_node),
5040 (gst_interpolation_control_source_get_first_value),
5041 (_interpolate_none_get), (interpolate_none_get),
5042 (interpolate_none_get_boolean_value_array),
5043 (interpolate_none_get_enum_value_array),
5044 (interpolate_none_get_string_value_array),
5045 (_interpolate_trigger_get), (interpolate_trigger_get),
5046 (interpolate_trigger_get_boolean_value_array),
5047 (interpolate_trigger_get_enum_value_array),
5048 (interpolate_trigger_get_string_value_array):
5049 * libs/gst/controller/gstinterpolationcontrolsource.c:
5050 (gst_control_point_free), (gst_interpolation_control_source_reset),
5051 (gst_interpolation_control_source_new),
5052 (gst_interpolation_control_source_set_interpolation_mode),
5053 (gst_interpolation_control_source_bind),
5054 (gst_control_point_compare), (gst_control_point_find),
5055 (gst_interpolation_control_source_set_internal),
5056 (gst_interpolation_control_source_set),
5057 (gst_interpolation_control_source_set_from_list),
5058 (gst_interpolation_control_source_unset),
5059 (gst_interpolation_control_source_unset_all),
5060 (gst_interpolation_control_source_get_all),
5061 (gst_interpolation_control_source_get_count),
5062 (gst_interpolation_control_source_init),
5063 (gst_interpolation_control_source_finalize),
5064 (gst_interpolation_control_source_dispose),
5065 (gst_interpolation_control_source_class_init):
5066 * libs/gst/controller/gstinterpolationcontrolsource.h:
5067 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
5068 API: Refactor GstController into the core controller which can take
5069 a GstControlSource for providing actual values for timestamps.
5070 Implement a interpolation control source and use this for backward
5071 compatibility, deprecate a bunch of functions that are now handled
5072 by GstControlSource or GstInterpolationControlSource.
5073 Make it possible to disable the controller completely or only for
5074 specific properties. Fixes #450711.
5075 * docs/libs/gstreamer-libs-docs.sgml:
5076 * docs/libs/gstreamer-libs-sections.txt:
5077 * docs/libs/gstreamer-libs.types:
5078 Add new functions and classes to the docs.
5079 * tests/check/libs/controller.c: (GST_START_TEST),
5080 (gst_controller_suite):
5081 * tests/examples/controller/audio-example.c: (main):
5082 Port unit test and example to the new API and add some new
5085 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
5087 Patch by: Mark Nauwelaerts <manauw at skynet be>
5089 * plugins/elements/gstmultiqueue.c:
5090 (gst_multi_queue_get_internal_links), (apply_buffer),
5091 (single_queue_overrun_cb), (gst_single_queue_new):
5092 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
5093 the pipeline layout can be tracked correctly. Fixes #453732.
5095 2007-07-05 Stefan Kost <ensonic@users.sf.net>
5097 * docs/gst/Makefile.am:
5098 * docs/libs/Makefile.am:
5099 * docs/plugins/Makefile.am:
5100 Simplify --extra-dir as gtkdoc scans recursively.
5102 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
5104 * tools/gst-launch.c: (main):
5105 When we got an error, there is no point in waiting for preroll when
5108 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
5110 * plugins/elements/gsttee.c: (gst_tee_base_init),
5111 (gst_tee_request_new_pad), (gst_tee_release_pad),
5112 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
5113 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
5115 Be a lot smarter when deciding what srcpad to use for proxying
5116 the buffer_alloc. Also handle pad added/removed when doing so.
5118 Keep track of what pads we already pushed on in case we have pads
5119 added/removed while pushing. Fixes #374639
5121 * tests/check/Makefile.am:
5122 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
5124 Added unit test for pad resync.
5126 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
5130 Updated translations.
5132 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
5134 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
5138 Added new Finnish translation.
5140 2007-06-28 Wim Taymans <wim@fluendo.com>
5142 * plugins/elements/gstmultiqueue.c: (apply_buffer),
5143 (single_queue_overrun_cb):
5144 When figuring out when a queue is filled, use our internal time estimate
5145 based on segments, just like check_full does.
5147 2007-06-27 Stefan Kost <ensonic@users.sf.net>
5149 * gst/gstminiobject.c: (gst_mini_object_get_type):
5150 Remove 3 do-nothing methods.
5152 2007-06-27 Wim Taymans <wim@fluendo.com>
5154 Patch by: Tim Angus <tim at ngus dot net>
5156 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5157 (gst_capsfilter_set_property):
5158 Take a reference instead of a copy when setting "caps".
5159 Fix documentation to clarify this behaviour. Fixes #449414.
5161 2007-06-27 Stefan Kost <ensonic@users.sf.net>
5163 * gst/gstindexfactory.c: (gst_index_factory_get_type):
5164 * gst/gstplugin.c: (gst_plugin_init):
5165 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
5166 * gst/gstquery.c: (gst_query_get_type):
5167 * gst/gstregistry.c: (gst_registry_init):
5168 * gst/gsturi.c: (gst_uri_handler_base_init):
5169 Remove empty instance_init() functions to save relocs and lessen the
5170 noise. Remove some of the function prototypes that are doubled by
5173 2007-06-27 Wim Taymans <wim@fluendo.com>
5175 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
5177 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
5178 Add peer and direction in the XML serialisation of ghostpads.
5181 2007-06-26 Stefan Kost <ensonic@users.sf.net>
5184 Preserve useful information, thanks Tim.
5186 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
5188 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
5189 (gst_single_queue_flush), (apply_segment), (apply_buffer),
5190 (gst_single_queue_push_one), (gst_multi_queue_loop),
5191 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5192 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
5193 (compute_high_id), (gst_single_queue_new):
5194 * plugins/elements/gstmultiqueue.h:
5195 Take the multiqueue lock when updating the fill level so we don't get
5198 After applying a buffer or event on the src pad segment, make sure to
5199 call gst_data_queue_limits_changed() to get the data queue to unblock
5200 and check the filled state again.
5202 Rework the not-linked pad handling so the logic is that not-linked
5203 pads can push as fast as they like, but only so they never get
5204 ahead of any linked pads.
5206 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
5207 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
5208 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
5210 Add a test to check that not-linked pads always stay behind
5215 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
5217 * docs/random/release:
5218 Some updates to the release procedure.
5220 2007-06-26 Stefan Kost <ensonic@users.sf.net>
5222 * gst/gstelementfactory.c: (__gst_element_details_clear):
5223 Microoptimization that saves stunning 80 bytes.
5225 2007-06-25 Stefan Kost <ensonic@users.sf.net>
5227 * docs/plugins/gstreamer-plugins.args:
5228 * docs/plugins/inspect/plugin-coreelements.xml:
5229 * docs/plugins/inspect/plugin-coreindexers.xml:
5230 Update docs with caps info.
5232 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
5235 Updated Italian translation.
5237 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
5241 Update Vietnamese translations.
5243 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
5245 * libs/gst/base/gstbasesink.c:
5246 Remove unused signal enum.
5248 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
5250 * docs/gst/gstreamer-sections.txt:
5252 * gst/gstutils.c: (gst_type_register_static_full):
5253 Beef up and include the docs for gst_type_register_static_full and
5254 gst_element_class_set_details_simple and add the API keyword
5257 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
5259 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5260 (update_time_level), (gst_single_queue_push_one),
5261 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
5262 (single_queue_overrun_cb), (single_queue_underrun_cb),
5263 (single_queue_check_full):
5264 Fix setting max-* properties after adding queues.
5265 Use IS_FILLED for checking visible items.
5266 Signal overrun if multiple queues overrun.
5267 Add extra debug output.
5268 Patch by: Wim Taymans <wim@fluendo.com>
5270 2007-06-21 Stefan Kost <ensonic@users.sf.net>
5272 * gst/gstelement.c: (gst_element_class_set_details_simple):
5274 * gst/gstutils.c: (gst_type_register_static_full):
5276 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
5277 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
5278 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
5279 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
5280 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
5281 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
5282 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
5283 * plugins/elements/gstidentity.c: (gst_identity_base_init):
5284 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
5285 * plugins/elements/gstqueue.c: (gst_queue_base_init),
5286 (apply_buffer), (gst_queue_chain):
5287 * plugins/elements/gsttee.c: (gst_tee_base_init):
5288 * plugins/elements/gsttypefindelement.c:
5289 (gst_type_find_element_base_init),
5290 (gst_type_find_element_class_init):
5291 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
5292 API: add gst_type_register_static_full
5293 API: add gst_element_class_set_details_simple
5295 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
5297 * docs/pwg/advanced-types.xml:
5298 Fix typo in iana.org URI.
5300 2007-06-19 Andy Wingo <wingo@pobox.com>
5302 * tests/check/pipelines/simple-launch-lines.c
5303 (test_state_change_returns): Enable pull-mode tests now that
5304 basesink has been fixed.
5306 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
5307 Changed from gst_base_sink_is_prerolled, reversing the sense of
5308 the return value. Returns FALSE also if the sink is in pull mode,
5309 in which case it needs no preroll.
5310 (gst_base_sink_query, gst_base_sink_change_state): Update for
5311 needs_preroll change.
5312 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
5313 chaining up, in which we return SUCCESS directly if we activated
5314 in pull mode instead of ASYNC. Involves countering an async_start
5315 message sent before chaining up; not sure if this is correct, in
5316 an ideal world we only send async-start when activating in push
5319 * tests/check/pipelines/simple-launch-lines.c
5320 (test_state_change_returns): New test, partially disabled until
5323 2007-06-19 Wim Taymans <wim@fluendo.com>
5325 * plugins/elements/gstmultiqueue.c: (apply_buffer),
5326 (gst_multi_queue_sink_event):
5329 2007-06-19 Wim Taymans <wim@fluendo.com>
5331 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5332 (gst_bin_change_state_func), (bin_push_state_continue),
5333 (bin_handle_async_start), (bin_handle_async_done),
5334 (gst_bin_handle_message_func):
5335 Move the common code for posting state-change messages into
5337 Broadcast the state signal after we posted the messages.
5338 Mark the bin as busy when it's doing a state-change.
5339 Make sure async-start/done messages don't interfere with the bin's
5340 state when it's busy.
5341 After the state change, let the bin check which elements completed the
5342 state change while it was busy so that it can update its state.
5344 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
5346 * docs/random/release:
5347 Add a note about updating the doap file to the release checklist
5349 2007-06-18 Wim Taymans <wim@fluendo.com>
5351 * plugins/elements/gstmultiqueue.c: (apply_buffer),
5352 (gst_single_queue_push_one), (gst_multi_queue_chain),
5353 (gst_multi_queue_sink_event):
5354 Make sure we don't reference the buffer/event after we have given away
5355 ownership in the queue.
5357 2007-06-18 Wim Taymans <wim@fluendo.com>
5359 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
5360 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
5361 Update queue state _after_ adding the item in the queue because else we
5362 could end up being full without the element added yet.
5364 2007-06-18 Wim Taymans <wim@fluendo.com>
5366 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5367 (gst_bin_remove_func), (gst_bin_get_state_func),
5368 (gst_bin_element_set_state), (gst_bin_continue_func),
5369 (bin_push_state_continue), (bin_handle_async_start),
5370 (bin_handle_async_done), (gst_bin_handle_message_func):
5372 Immediatly commit the toplevel bin state when receiving an async-done
5373 message. This enables us to avoid spawning a thread to commit the state
5374 in some common cases and it also avoids some races.
5375 Avoid spawning a state thread when adding/removing async elements to a
5376 toplevel bin. Instead we immediatly update the bin state.
5377 Get rid of iterating all the children when getting the state in the bin
5378 because it is now always up-to-date.
5379 Fix bug where locked elements would always return _SUCCESS even it they
5380 returned NO_PREROLL before being locked.
5381 Fix the order of the state_change, async-start/done messages that was
5382 sometimes incorrect.
5383 Mark the state_dirty field as deprecated, we don't need it anymore as we
5384 are always up-to-date.
5386 * gst/gstelement.c: (gst_element_get_state_func),
5387 (gst_element_continue_state):
5388 Small debug inprovements.
5389 Return the previous element state return when nothing is pending instead
5390 of blindly returning SUCCESS.
5392 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
5394 Add a whole bunch of new testcases.
5396 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
5400 Update translations.
5402 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
5405 Fix typo in the docs.
5407 2007-06-15 Wim Taymans <wim@fluendo.com>
5409 * docs/libs/gstreamer-libs-sections.txt:
5410 Add docs for new methods.
5412 2007-06-15 Wim Taymans <wim@fluendo.com>
5414 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
5415 (gst_multi_queue_item_new):
5416 Don't use GSlice because we don't depend on >= 2.10 yet.
5418 2007-06-15 Wim Taymans <wim@fluendo.com>
5420 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
5421 (update_time_level), (apply_segment), (apply_buffer),
5422 (gst_single_queue_push_one), (gst_multi_queue_item_new),
5423 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
5424 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
5425 (single_queue_underrun_cb), (single_queue_check_full):
5426 Remove debug printf.
5428 2007-06-15 Wim Taymans <wim@fluendo.com>
5430 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
5431 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
5432 (gst_data_queue_set_flushing), (gst_data_queue_push),
5433 (gst_data_queue_pop), (gst_data_queue_drop_head),
5434 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
5435 * libs/gst/base/gstdataqueue.h:
5437 Added methods to get the current levels and to inform the queue that the
5438 'full' limits changed.
5440 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
5441 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
5442 (gst_single_queue_flush), (update_time_level), (apply_segment),
5443 (apply_buffer), (gst_single_queue_push_one),
5444 (gst_multi_queue_item_steal_object),
5445 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
5446 (gst_multi_queue_loop), (gst_multi_queue_chain),
5447 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5448 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
5449 (gst_multi_queue_src_query), (single_queue_overrun_cb),
5450 (single_queue_underrun_cb), (single_queue_check_full),
5451 (gst_single_queue_new):
5452 Keep track of time in the queue by measuring the difference between
5453 running_time on input and output. This gives more accurate results and
5454 can compensate for segments correctly.
5455 Make a queue by default only 5 buffers deep. We will now increase the
5456 buffer size depending on the filledness of the other queues.
5457 Factor out commong flush code.
5458 Make sure we don't add additional refcounts to buffers when we can avoid
5460 Propagate GstFlowReturn differently.
5461 Use GSlice for intermediate GstMultiQueueItems.
5463 Resize queues on over and underruns based on filled level of other
5465 When checking if the queue is filled, prefer to measure in time if we
5466 can and fall back to bytes when no time is known.
5468 * plugins/elements/gstqueue.c:
5471 2007-06-15 Wim Taymans <wim@fluendo.com>
5473 * libs/gst/base/gstbasetransform.c:
5474 (gst_base_transform_sink_event):
5475 Work around the brokenness of the event vmethod in basetransform. Prefer
5476 to return TRUE when the subclass returned FALSE (meaning don't forward
5479 * libs/gst/base/gstbasetransform.h:
5482 2007-06-15 Wim Taymans <wim@fluendo.com>
5484 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
5485 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5486 (gst_base_src_default_query), (gst_base_src_get_range),
5487 (gst_base_src_start):
5488 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
5491 2007-06-15 Stefan Kost <ensonic@users.sf.net>
5493 * docs/pwg/advanced-types.xml:
5494 Added more formats to caps table.
5496 2007-06-15 Stefan Kost <ensonic@users.sf.net>
5498 * tools/gst-launch.c: (main):
5499 Remove crufy code. GOption does not need this workaround.
5501 2007-06-14 Stefan Kost <ensonic@users.sf.net>
5503 * libs/gst/controller/gstcontroller.c:
5504 (gst_controlled_property_set_interpolation_mode):
5505 Fix wrong getter for enums in controller.
5507 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
5509 * libs/gst/check/gstcheck.c: (gst_check_init):
5510 Intercept criticals and warnings in the Gst-Phonon log domain, so
5511 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
5514 2007-06-14 Edward Hervey <edward@fluendo.com>
5516 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
5517 Since this file doesn't include "gst.h" it will not go through the
5518 macros that disable GST_LOG if debugging was disabled.
5520 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
5522 * libs/gst/check/Makefile.am:
5523 * libs/gst/check/gstcheck.h:
5524 * pkgconfig/gstreamer-check-uninstalled.pc.in:
5525 * pkgconfig/gstreamer-check.pc.in:
5526 Ugly 'fix' for the controller unit test on the p5 bot: in
5527 fail_unless_equals_float() check whether the values are 'almost
5528 equal' by allowing a small absolute error, which should be good
5529 enough for our use cases (normal numbers and values close to 0).
5530 Proper fixage left to floating point arithmetic aficionados.
5532 2007-06-14 Stefan Kost <ensonic@users.sf.net>
5534 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
5535 (gst_base_sink_render_object), (gst_base_sink_get_position):
5536 Add two breaks thats where missing.
5538 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
5540 * docs/libs/gstreamer-libs-sections.txt:
5541 * libs/gst/check/gstcheck.h:
5542 API: add fail_unless_equals_float() and assert_equals_float().
5543 Add documentation for some of the macros.
5545 * tests/check/libs/controller.c: (GST_START_TEST):
5546 Use newly-added asserts.
5548 2007-06-14 Stefan Kost <ensonic@users.sf.net>
5550 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
5551 Show the caps change in the log to help spotting the case of not
5552 exactly matching caps.
5554 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
5556 * docs/pwg/building-boiler.xml:
5557 Fix typos, spotted by Thijs Vermeir (#447190).
5559 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
5561 * docs/plugins/tmpl/.cvsignore:
5562 Ignore file to keep the buildbots happy
5564 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
5566 * docs/plugins/Makefile.am:
5567 * docs/plugins/gstreamer-plugins-docs.sgml:
5568 * docs/plugins/gstreamer-plugins-sections.txt:
5569 Pull fdsink into the docs too.
5571 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
5573 * libs/gst/controller/gstinterpolation.c:
5574 Actually use the new functions with min/max checks for the trigger and
5575 none interpolation modes for get() and get_value_array() instead of
5578 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
5580 * libs/gst/controller/gstcontroller.c:
5581 (gst_controlled_property_free):
5582 Unset the minimum and maximum GValues when freeing the corresponding
5583 GstControllerProperty struct.
5585 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
5587 * libs/gst/controller/gstcontroller.c:
5588 (gst_controlled_property_new):
5589 * libs/gst/controller/gstcontrollerprivate.h:
5590 * libs/gst/controller/gstinterpolation.c:
5591 (gst_controlled_property_find_control_point_node),
5592 (interpolate_none_get), (interpolate_none_get_enum_value_array),
5593 (interpolate_none_get_string_value_array),
5594 (interpolate_trigger_get),
5595 (interpolate_trigger_get_enum_value_array),
5596 (interpolate_trigger_get_string_value_array):
5597 Protect against values larger or smaller than the minimum or maximum
5598 allowed value for the property when using values that can be compared.
5600 Optimize trigger interpolator a bit by taking the last requested value
5601 into account instead of always looping through the complete list.
5603 Fix coding style a bit, everywhere else we use "return foo" instead
5606 * tests/check/libs/controller.c: (GST_START_TEST),
5607 (gst_controller_suite):
5608 Add unit test for the protection against too large or too small
5611 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
5613 * docs/random/slomo/controller.txt:
5614 Add some thoughts about the future of the controller.
5616 2007-06-08 Wim Taymans <wim@fluendo.com>
5618 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5619 Don't overflow in retimestamping code.
5621 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
5623 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
5624 Use gst_util_guint64_to_gdouble for conversions.
5625 * win32/common/libgstreamer.def:
5626 Add new exported functions.
5628 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
5631 Small docs addition.
5633 2007-06-07 Stefan Kost <ensonic@users.sf.net>
5636 Remove that test line again.
5638 2007-06-07 Stefan Kost <ensonic@users.sf.net>
5641 Test commit mail sending.
5643 2007-06-07 Stefan Kost <ensonic@users.sf.net>
5646 Fix typo and test commit mail sending.
5648 2007-06-07 Stefan Kost <ensonic@users.sf.net>
5650 * tests/examples/controller/audio-example.c:
5651 Improve comment and test commit mail sending.
5653 2007-06-07 Wim Taymans <wim@fluendo.com>
5655 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
5656 (gst_bin_remove_func), (gst_bin_element_set_state),
5657 (bin_handle_async_start), (bin_handle_async_done),
5658 (gst_bin_handle_message_func):
5659 Add helper function to find messages.
5660 Generate the async-done messages together with the state change
5662 Small cleanups in handling toplevel bins.
5664 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
5666 * libs/gst/base/gstdataqueue.c:
5667 * libs/gst/base/gstdataqueue.h:
5668 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
5669 (gst_multi_queue_item_new), (gst_multi_queue_chain),
5670 (gst_multi_queue_sink_event):
5671 * tests/check/elements/multiqueue.c: (multiqueue_suite):
5672 Fix multiqueue leaking buffers and events when downstream or the
5673 queue are flushing. Make refcounting assumptions explicit and
5674 document them (shouldn't break existing code that uses it other than
5675 maybe leak miniobjects, but that already happens anyway). Add unit
5676 test for the most common flushing case. Fixes #423700.
5678 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
5680 * libs/gst/controller/gstcontroller.c:
5681 Clarify docs: The get_all, get_value_array(s) functions
5682 don't modify the GObject properties.
5684 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
5686 * libs/gst/controller/gstcontroller.c:
5687 (gst_controlled_property_set_interpolation_mode),
5688 (gst_controlled_property_prepend_default),
5689 (gst_controlled_property_new), (gst_controller_set_unlocked),
5690 (gst_controller_set), (gst_controller_set_from_list),
5691 (gst_controller_unset), (gst_controller_unset_all):
5692 * libs/gst/controller/gstcontrollerprivate.h:
5693 * libs/gst/controller/gstinterpolation.c:
5694 Factor out the 'set' logic into gst_controller_set_unlocked for the
5695 gst_controller_set and gst_controller_set_from_list functions.
5697 To make life of the interpolators easier always add a control point
5698 at timestamp zero with the default value.
5700 In the linear interpolator make things more obvious by better variable
5703 Implement cubic interpolation mode (by using a natural cubic spline)
5704 and map the quadratic interpolation mode to this too (as quadratic
5705 doesn't make much sense, see discussion on the list).
5707 * tests/check/libs/controller.c: (GST_START_TEST),
5708 (gst_controller_suite):
5709 Add unit test for the cubic interpolation mode and check everywhere
5710 if the interpolation mode could be set as expected.
5712 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
5714 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
5715 Don't use GLib-2.10 functions, we still depend on
5716 GLib-how-old-is-it-again-2.8.
5718 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
5720 * docs/gst/gstreamer-sections.txt:
5724 * gst/gstparamspecs.c: (_gst_param_fraction_init),
5725 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
5726 (_gst_param_fraction_values_cmp),
5727 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
5728 * gst/gstparamspecs.h:
5730 * tests/check/Makefile.am:
5731 * tests/check/gst/.cvsignore:
5732 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
5733 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
5734 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
5735 (GST_START_TEST), (gst_param_spec_suite):
5736 API: add GstParamSpecFraction, so elements can have fraction
5737 properties without lots of painful string parsing (#444648).
5739 2007-06-05 Wim Taymans <wim@fluendo.com>
5741 * gst/gstobject.c: (gst_object_class_init):
5742 Fix signal signature.
5745 Add small clarification in the api docs.
5747 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
5748 States are protected with object lock.
5750 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
5753 I should probably be listed as an author by now.
5755 * docs/random/release:
5756 Update the release doc
5758 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
5761 Make docs for gst_value_compare() mention return enums that
5764 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
5769 === release 0.10.13 ===
5771 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
5774 releasing 0.10.13, "With or without you"
5776 2007-05-25 Wim Taymans <wim@fluendo.com>
5778 * gst/gstbin.c: (bin_handle_async_done):
5779 Make sure that the child bin stops after completing the async state
5780 change so that the parent can continue the state change to PLAYING.
5783 2007-05-25 Wim Taymans <wim@fluendo.com>
5785 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5786 (unref_data), (gst_collect_pads_remove_pad),
5787 (gst_collect_pads_check_pads):
5788 Use additional refcounting to avoid crashes when dynamically adding and
5789 removing pads. Fixes #420206.
5791 2007-05-24 Wim Taymans <wim@fluendo.com>
5793 * tools/gst-launch.c: (event_loop):
5794 When buffering goes from a two digit to a single digit number, make sure
5795 to remove the old second digit by writing a blank over it.
5797 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
5799 * libs/gst/base/gstdataqueue.c:
5800 Eliminate tabs and trailing comma in enum list; fix some typos.
5802 2007-05-24 Wim Taymans <wim@fluendo.com>
5804 * tests/check/gst/gstbin.c: (GST_START_TEST):
5805 Allow refcount of 3 and 4 because some state thread might still be busy
5808 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
5810 * plugins/elements/Makefile.am:
5811 * plugins/elements/gstmultiqueue.h:
5812 * plugins/elements/gstqueue.h:
5813 These are not installed headers, no need for padding.
5815 2007-05-24 Wim Taymans <wim@fluendo.com>
5817 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
5818 (gst_bin_continue_func):
5819 Enable latency for next release.
5820 Restore STATE_LOCK around recalc_state that was left out during the
5821 rewrite and could result in racy behaviour when _get_state and
5822 recalc_state are run concurrently. See #440463.
5824 2007-05-23 Wim Taymans <wim@fluendo.com>
5826 * tests/check/gst/gstsystemclock.c: (store_callback),
5828 Improve test_async_order to also work when both timers are already
5829 expired when we get scheduled to check it.
5831 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
5833 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
5834 (gst_bin_set_property), (gst_bin_get_property),
5835 (gst_bin_remove_func), (gst_bin_handle_message_func):
5837 'private' is a c++ keyword, let's not use that in header files,
5838 otherwise c++ compilers will throw a tantrum.
5840 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
5842 * plugins/elements/gstelements.c:
5843 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
5844 (gst_file_sink_get_current_offset):
5845 * plugins/indexers/gstindexers.c: (plugin_init):
5846 Use #ifdef for HAVE_XYZ for consistency.
5848 * tests/check/Makefile.am:
5849 * tests/check/elements/.cvsignore:
5850 * tests/check/elements/filesink.c: (setup_filesink),
5851 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
5852 Add some unit tests for filesink.
5854 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
5856 Patch by: Mark Nauwelaerts <manauw at skynet be>
5858 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5859 (gst_file_sink_query), (gst_file_sink_do_seek),
5860 (gst_file_sink_get_current_offset), (gst_file_sink_render):
5861 * plugins/elements/gstfilesink.h:
5862 Fix position reporting; rename data_written member to current_pos to
5863 reflect its real meaning (fixes #412648).
5865 2007-05-22 Edward Hervey <edward@fluendo.com>
5867 * docs/gst/gstreamer-sections.txt:
5868 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5869 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
5870 (gst_bin_remove_func), (gst_bin_handle_message_func):
5872 Add a property for bins that handle the state change of their childs.
5875 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
5877 * libs/gst/controller/gstinterpolation.c:
5878 Use an array of the correct type when using _get_value_array with
5879 linear interpolation.
5881 2007-05-22 Stefan Kost <ensonic@users.sf.net>
5883 * gst/gstelement.c (gst_element_requires_clock,
5884 gst_element_provides_clock, gst_element_request_pad,
5885 gst_element_class_set_details, gst_element_class_set_details_simple,
5886 gst_element_default_send_event, gst_element_abort_state,
5887 gst_element_continue_state, gst_element_set_state,
5888 gst_element_set_state_func, iterator_activate_fold_with_resync):
5889 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
5890 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
5891 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
5892 gst_pad_get_range, gst_pad_pull_range):
5893 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
5894 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
5895 GstPadActivateModeFunction, GstPadChainFunction,
5896 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
5897 GstPadFixateCapsFunction, GstPadTemplate):
5898 * gst/gstpipeline.c (gst_pipeline_change_state,
5899 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
5900 gst_pipeline_set_clock, gst_pipeline_auto_clock,
5901 gst_pipeline_get_delay):
5902 Whitespace and docs fixes.
5904 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
5906 * libs/gst/controller/gstinterpolation.c:
5907 (interpolate_trigger_get_enum_value_array),
5908 (interpolate_trigger_get_string_value_array):
5909 Add support for retrieving value arrays when using the trigger
5912 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
5914 * libs/gst/controller/gstcontroller.c:
5915 (gst_controller_get_value_array):
5916 * libs/gst/controller/gstcontroller.h:
5917 Clarify the docs of gst_controller_get_value_array(): The array where
5918 the values should be written to must be allocated as there seems to be
5919 no way to get the size of a random GType. This doesn't change any
5920 behaviour. Also fix some typos all over the place and remove an unused,
5921 commented function that is not necessary as g_object_set() could be
5923 * tests/check/libs/controller.c: (GST_START_TEST),
5924 (gst_controller_suite):
5925 Add unit test for gst_controller_get_value_array().
5927 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
5929 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5931 Disable part of the gst_buffer_try_new_and_alloc test, because
5932 it can happily succeed on 64-bit systems where there's more address
5935 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
5937 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5938 Add unit test for the improved caps checking from bug #421543.
5940 2007-05-21 Wim Taymans <wim@fluendo.com>
5942 * docs/design/part-synchronisation.txt:
5945 * gst/gstbin.c: (gst_bin_query):
5946 * plugins/elements/gstqueue.c: (apply_segment):
5952 2007-05-21 Wim Taymans <wim@fluendo.com>
5954 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
5955 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
5956 (gst_pad_configure_src):
5957 Added simple version of improved caps checking. It was previously
5958 assumed that a setcaps function would check the validity of the caps but
5959 people prefer us to check caps against the template automatically.
5962 2007-05-21 Wim Taymans <wim@fluendo.com>
5964 * libs/gst/base/gstbasetransform.h:
5965 Fix macro for locking/unlocking the transform lock.
5967 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
5969 * docs/plugins/tmpl/.cvsignore:
5972 2007-05-18 Edward Hervey <edward@fluendo.com>
5974 * plugins/elements/gstqueue.c: (gst_queue_loop):
5975 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
5976 for the subtle art of warning a potentially blocking thread that it
5977 should check the source pad return value, and relay the information
5980 2007-05-18 Edward Hervey <edward@fluendo.com>
5982 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5983 Release the queue lock !
5985 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
5987 * docs/libs/gstreamer-libs-sections.txt:
5988 Add the two new controller functions to the appropiate places.
5990 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
5992 reviewed by: Stefan Kost <ensonic@users.sf.net>
5994 * libs/gst/controller/gstcontroller.c:
5995 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
5996 (_gst_controller_get_property), (_gst_controller_set_property),
5997 (_gst_controller_init), (_gst_controller_class_init):
5998 * libs/gst/controller/gstcontroller.h:
5999 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
6000 (gst_object_get_control_rate), (gst_object_set_control_rate):
6001 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
6002 Add API that provides sync suggestion timestamps for elements that
6003 call gst_object_sync_values() from which those elements can subdivide
6004 their processing loop to get the best results for the controlled
6005 properties. For now it just suggests last_sync + control_rate as
6006 new timestamp but this will be improved in the future.
6008 While doing that change the control-rate property to a GstClockTime
6009 from guint and change it's meaning from samples to nanoseconds as
6010 the GstController doesn't know anything about sampling rate. Strictly
6011 speaking this breaks ABI but as the control-rate property didn't do
6012 anything in the past and as such couldn't be used this should be no
6015 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
6017 reviewed by: Stefan Kost <ensonic@users.sf.net>
6019 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6020 (gst_controller_unset_all):
6021 * libs/gst/controller/gstcontrollerprivate.h:
6022 * libs/gst/controller/gstinterpolation.c:
6023 (gst_controlled_property_find_control_point_node):
6024 Save last synced value from the list to continue searching from there
6025 in future syncs. This speeds everything up a bit.
6027 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
6029 reviewed by: Stefan Kost <ensonic@users.sf.net>
6031 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
6032 (gst_control_point_find), (gst_controlled_property_new),
6033 (gst_control_point_free), (gst_controlled_property_free),
6034 (gst_controller_set), (gst_controller_set_from_list),
6035 (gst_controller_unset), (gst_controller_unset_all),
6036 (gst_controller_sync_values):
6037 * libs/gst/controller/gstcontroller.h:
6038 * libs/gst/controller/gstcontrollerprivate.h:
6039 * libs/gst/controller/gstinterpolation.c:
6040 (gst_controlled_property_find_control_point_node),
6041 (interpolate_none_get), (interpolate_trigger_get):
6042 Add a new private GstControlPoint struct which "inherits" from
6043 GstTimedValue to allow different interpolators to store internal
6044 values next to each control point. From the outside everything is
6045 still a GstControlPoint so we don't loose binary compatibility.
6046 Also fixup all the GValue handling to not leak GValues or list nodes.
6047 * tests/check/libs/controller.c: (GST_START_TEST):
6048 Free the list nodes and GValues in the controller_misc test.
6050 2007-05-17 Edward Hervey <edward@fluendo.com>
6055 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
6057 * gst/gstplugin.c: (gst_plugin_load_file):
6058 If we fail to load a plugin because of unresolved symbols or missing
6059 libraries and spew a warning to stderr, we may just as well mention
6060 which plugin it was that failed to load.
6062 2007-05-13 David Schleef <ds@schleef.org>
6064 * docs/Makefile.am: the gtk-doc makefile snippet correctly
6065 handles the case when ENABLE_GTK_DOC is false, and installs
6066 the prebuilt documentation. So gtk-doc subdirs are
6067 unconditionally enabled. Fixes: #349099.
6069 2007-05-13 David Schleef <ds@schleef.org>
6071 * gst/gstutils.h: Reword some documentation.
6073 2007-05-12 David Schleef <ds@schleef.org>
6075 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
6076 do anything with the passed "module" parameter, so remove it.
6077 Allows removal of additional vestigal code.
6079 2007-05-12 David Schleef <ds@schleef.org>
6082 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
6083 Switch to using g_stat() because it's more portable.
6085 2007-05-12 David Schleef <ds@schleef.org>
6088 Add GST_DISABLE_OPTION_PARSING, in order to disable option
6089 parsing for embedded systems.
6090 * gst/gstelementfactory.c:
6091 Allow gst_element_register() to be called with plugin==NULL.
6092 Did nobody notice that static elements were broken?
6094 2007-05-12 Wim Taymans <wim@fluendo.com>
6096 * tools/gst-launch.c: (event_loop):
6097 Give more interesting info when buffering starts and stops.
6098 Fix case where buffering starts but we fail to update the buffering flag
6099 because the target state is not PLAYING.
6101 2007-05-12 Wim Taymans <wim@fluendo.com>
6103 * plugins/elements/gstqueue.c: (gst_queue_init),
6104 (gst_queue_finalize), (update_time_level), (apply_segment),
6105 (apply_buffer), (gst_queue_locked_flush),
6106 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
6107 (gst_queue_handle_sink_event), (gst_queue_chain),
6108 (gst_queue_push_one), (gst_queue_loop):
6109 * plugins/elements/gstqueue.h:
6110 Refactor an cleanup queue a bit.
6111 Do better time level calculations that also work when the srcpad is not
6113 Remove some unneeded debug lines.
6115 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
6116 Added testcase for time level measurement.
6117 Try to make some stuff more racefree.
6119 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
6121 * gst/gsturi.c: (gst_element_make_from_uri):
6122 Don't leak plugin feature.
6124 * tests/check/Makefile.am:
6125 * tests/check/gst/.cvsignore:
6126 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
6127 Add brain-dead unit test.
6129 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
6131 Patch by: Jeroen Wouters <woutersj at gmail com>
6133 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
6134 Treat protocol strings in a case-insensitive way (#437563).
6136 2007-05-11 Michael Smith <msmith@fluendo.com>
6138 * gst/gstplugin.c: (gst_plugin_load_file):
6139 * gst/gstregistry.c: (gst_registry_scan_path_level):
6140 Don't print a g_warning for any failure to load a shared object.
6141 Instead, push this down into gstplugin.c, and warn _only_ if we
6142 failed to open the module (i.e. failure to link).
6143 Avoids warnings on normal, working, non-plugin .so files.
6145 2007-05-11 Stefan Kost <ensonic@users.sf.net>
6147 * gst/gstplugin.c (gst_plugin_load_file):
6148 * gst/gstregistry.c (GST_CAT_DEFAULT,
6149 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
6150 Print a g_warning if there was an error when loading a plugins during
6151 registry scan. The shuld help beginners starting with gst-plugin
6154 2007-05-10 Wim Taymans <wim@fluendo.com>
6156 * plugins/elements/gstqueue.c: (gst_queue_class_init),
6157 (update_time_level), (gst_queue_locked_flush),
6158 (gst_queue_handle_sink_event), (gst_queue_chain),
6159 (gst_queue_push_one), (gst_queue_loop):
6160 * plugins/elements/gstqueue.h:
6161 Be smarter when calculating the current amount of data in the queue by
6162 measuring the difference between start and end timestamps (in running
6163 time) inside the queue. Fixes #432876.
6164 API: GstQueue::pushing to notify elements that we are pushing data again
6165 since the running signal is rather broken for this purpose.
6167 2007-05-10 Stefan Kost <ensonic@users.sf.net>
6169 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
6170 gst_queue_base_init, gst_queue_init):
6173 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
6175 * win32/common/libgstreamer.def:
6176 Add new exported functions.
6177 * win32/vs6/grammar.dsp:
6178 Use grammar pre-generated files.
6180 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
6182 Based on patch by: Peter Kjellerstedt <pkj at axis com>
6185 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
6187 * gst/gstutils.c: (gst_parse_bin_from_description):
6189 Maintain API and ABI when --disable-parse is used. Now that
6190 we have an appropriate error code, we can just return NULL and the
6191 appropriate error when gst_parse_launch() is used despite it having
6192 been disabled (#342564).
6194 * tests/check/Makefile.am:
6195 * tests/check/pipelines/.cvsignore:
6196 * tests/check/pipelines/parse-disabled.c:
6197 Make sure these functions exist and return NULL plus a GError when
6198 --disable-parse is used.
6200 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
6202 * tests/benchmarks/complexity.c: (main):
6203 * tests/benchmarks/mass-elements.c: (main):
6204 Set a good example and don't leak messages.
6206 2007-05-06 Stefan Kost <ensonic@users.sf.net>
6208 * docs/gst/Makefile.am:
6209 * docs/libs/Makefile.am:
6210 Correct fixxrefs options.
6212 * docs/plugins/Makefile.am:
6213 * docs/plugins/gstreamer-plugins-docs.sgml:
6214 * docs/plugins/gstreamer-plugins-sections.txt:
6215 * plugins/elements/Makefile.am:
6216 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
6217 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
6218 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
6219 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
6220 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
6221 _GstCapsFilterClass, trans_class):
6222 * plugins/elements/gstelements.c (name, rank, type, _elements):
6223 * plugins/elements/gstidentity.c
6224 (gst_identity_check_imperfect_timestamp,
6225 gst_identity_check_imperfect_offset):
6226 Document capsfilter and add doc-blurb to identity.
6228 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
6230 * libs/gst/controller/gstcontroller.c:
6231 (gst_controlled_property_set_interpolation_mode):
6232 * libs/gst/controller/gstinterpolation.c:
6233 Don't crash if someone tries to set an interpolation mode that
6234 is invalid or that isn't supported yet. Fixes #422295.
6236 * tests/check/libs/controller.c: (GST_START_TEST),
6237 (gst_controller_suite):
6238 Add a test case for the above.
6240 2007-05-03 Edward Hervey <edward@fluendo.com>
6242 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
6243 Properly set the last_stop position on GstSegment. This will only happen
6244 if there is a buffer to push out.
6246 2007-05-03 Wim Taymans <wim@fluendo.com>
6248 * libs/gst/base/gstbasetransform.c:
6249 (gst_base_transform_buffer_alloc):
6250 always_in_place does not mean that the sink and source caps are the
6251 same! Make sure we don't blindly proxy the buffer_alloc in this case.
6253 2007-05-03 Wim Taymans <wim@fluendo.com>
6255 * docs/libs/gstreamer-libs-sections.txt:
6256 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6257 (gst_base_src_default_query), (gst_base_src_get_range):
6258 * libs/gst/base/gstbasesrc.h:
6259 API: gst_base_src_query_latency(). Added method so that subclasses can
6260 easily get the latency values of the base source class.
6262 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
6264 * tools/gst-inspect.c (print_implementation_info):
6267 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
6269 * tools/Makefile.am:
6270 * tools/gst-launch.1.in:
6271 Don't create a customised man page based on the host architecture,
6272 describe the default registry path generically. That way the man
6273 page is the same for all architectures and packagers have one
6274 multilib issue less to deal with. Fixes #434926.
6276 2007-05-02 Wim Taymans <wim@fluendo.com>
6279 Fix documentation as spotted by rg on IRC.
6281 2007-04-29 Stefan Kost <ensonic@users.sf.net>
6284 Improve docs for gst_element_{link,unlink}.
6286 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
6288 * docs/design/part-events.txt:
6289 * docs/design/part-overview.txt:
6293 * libs/gst/base/gstbasesink.c:
6294 Typo fixes; minor docs addition.
6296 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
6298 * docs/gst/gstreamer-sections.txt:
6299 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
6300 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
6302 API: Add gst_uri_protocol_is_supported(), which checks if a sink
6303 or src that supports a given URI protocol exists.
6305 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
6307 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6308 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6309 Set the location to NULL if "file://" is set as URI. Otherwise
6310 some random previous URI would still be set if "file://" is
6311 set on an already used filesink/filesrc.
6313 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
6315 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6316 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6317 Special case the "file://" URI as as this is used by some
6318 applications to test with gst_element_make_from_uri if there's
6319 an element that supports the URI protocol.
6320 Also move the g_path_is_absolute() check for the location part
6321 of the URI to also check this for "file://localhost/bla" URIs.
6323 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
6325 * docs/gst/gstreamer-sections.txt:
6326 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
6328 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
6330 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
6332 2007-04-26 Stefan Kost <ensonic@users.sf.net>
6334 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
6335 (gst_registry_binary_load_pad_template),
6336 (gst_registry_binary_load_plugin),
6337 (gst_registry_binary_read_cache):
6338 * gst/gstregistrybinary.h:
6339 Implement no-mmap alternative for registry reading. Do code cleanups.
6340 Add more comments about avoiding strdups for all text data. Comments
6343 2007-04-25 Stefan Kost <ensonic@users.sf.net>
6345 * gst/gstregistrybinary.h (GstBinaryPluginElement,
6346 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
6347 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
6348 Comment structs and reformat to fix the build (that stuff should go
6349 into a priv. header).
6351 2007-04-25 Stefan Kost <ensonic@users.sf.net>
6353 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
6354 (gst_registry_binary_load_feature):
6355 * gst/gstregistrybinary.h:
6356 Refactor so that we can implement multiple features. Add support for
6357 TypeFindFactory features.
6359 2007-04-24 Stefan Kost <ensonic@users.sf.net>
6361 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
6364 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
6366 2007-04-23 Stefan Kost <ensonic@users.sf.net>
6368 * gst/gstbin.c: (gst_bin_element_set_state),
6369 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
6370 (bin_handle_async_done), (gst_bin_handle_message_func):
6371 Fix build with --gst-disable-gst-debug
6373 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
6375 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
6376 Make sure streaming has finished before calling the ::stop() vfunc,
6377 since that vfunc might clear state which is being used in the
6378 streaming thread. This fixes a race that caused crashes in
6379 audioresample when shutting down a pipeline (#420106).
6381 2007-04-20 Stefan Kost <ensonic@users.sf.net>
6383 * docs/gst/gstreamer-sections.txt:
6384 That was one byte missing.
6386 2007-04-20 Stefan Kost <ensonic@users.sf.net>
6389 * docs/gst/gstreamer-sections.txt:
6391 * gst/gstconfig.h.in:
6392 * gst/gstobject.c: (gst_object_class_init),
6393 (gst_signal_object_class_init):
6395 2nd attempt to have a xml-less build as a joined effort of #413123
6398 2007-04-20 Stefan Kost <ensonic@users.sf.net>
6400 * docs/design/draft-tagreading.txt:
6401 Added open issues/thoughts to draft.
6403 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
6405 * gst/parse/grammar.tab.pre.c:
6406 * gst/parse/grammar.tab.pre.h:
6407 * gst/parse/lex._gst_parse_yy.pre.c:
6408 Update the prebuild parser sources.
6410 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
6412 * gst/parse/Makefile.am:
6413 And now fix the building of the flex sources. Now everything should
6416 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
6418 * gst/parse/Makefile.am:
6419 Now hopefully fix the build failures by setting proper rule
6420 dependencies and moving instead of copying.
6422 2007-04-19 Stefan Kost <ensonic@users.sf.net>
6424 * tests/benchmarks/complexity.gnuplot:
6425 * tests/benchmarks/complexity.scm:
6426 * tests/benchmarks/mass-elements.gnuplot:
6427 * tests/benchmarks/mass-elements.scm:
6428 Total licensification.
6430 2007-04-19 Stefan Kost <ensonic@users.sf.net>
6432 * gst/parse/Makefile.am:
6433 Fix the build by correcting the rule that gave wrong files to flex.
6435 2007-04-19 Stefan Kost <ensonic@users.sf.net>
6437 * tests/benchmarks/complexity.c:
6438 * tests/benchmarks/mass-elements.c:
6439 Change licence to LGPL as granted by Benjamin and Andy.
6441 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
6443 * gst/parse/Makefile.am:
6444 Add correct grammar.tab.h dependency if compiling without new enough
6445 flex. Fixes #431150.
6447 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
6449 * gst/parse/Makefile.am:
6450 Fix typo and use outdated sources if the flex/bison sources are newer
6451 than the pregenerated ones but flex is too old. Print a warning in
6452 that case. This should fix the build on the build bot.
6454 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
6456 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
6457 * gst/parse/Makefile.am:
6458 * gst/parse/grammar.y:
6459 * gst/parse/parse.l:
6460 Make the parser reentrant and recursively callable. This requires flex
6461 >= 2.5.31, for older versions pregenerated sources are used as we
6462 can't bump the build dependency. Finally fixes #349180.
6464 * gst/gstparse.c: (gst_parse_launch):
6465 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
6468 * docs/gst/Makefile.am:
6469 * docs/gst/Makefile.am:
6470 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
6471 (__gst_parse_strfree), (__gst_parse_link_new),
6472 (__gst_parse_link_free), (__gst_parse_chain_new),
6473 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
6474 (gst_parse_element_set), (gst_parse_free_link),
6475 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
6476 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
6477 (_gst_parse_launch):
6478 * gst/parse/grammar.tab.pre.h:
6479 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
6480 (yy_get_previous_state), (yy_try_NUL_trans), (input),
6481 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
6482 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
6483 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
6484 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
6485 (_gst_parse_yypop_buffer_state),
6486 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
6487 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
6488 (yy_fatal_error), (_gst_parse_yyget_extra),
6489 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
6490 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
6491 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
6492 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
6493 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
6494 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
6495 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
6496 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
6497 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
6498 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
6499 (_gst_parse_yyfree):
6500 If the installed flex version is too old use pre-generated parser
6501 sources. These pre-generated parser sources are always updated when
6502 the actual flex/bison sources change but require everybody who wants
6503 to change something in the parser to have flex >= 2.5.31 installed.
6505 2007-04-18 Stefan Kost <ensonic@users.sf.net>
6507 * common/m4/gst-gettext.m4:
6508 * gst/gst-i18n-lib.h:
6509 Make --disable-nls to work
6511 2007-04-17 Wim Taymans <wim@fluendo.com>
6513 * gst/gstconfig.h.in:
6514 Revert previous change that broke the build.
6516 2007-04-17 Stefan Kost <ensonic@users.sf.net>
6520 * gst/gstconfig.h.in:
6521 Drop libxml2 dependency when building with
6522 --enable-binary-registry --disable-loadsave
6524 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
6526 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
6527 (gst_registry_binary_read_cache):
6528 * gst/gstregistrybinary.h:
6529 Remove unnecessary <sys/mman.h> include which broke the win32 build
6530 with MingW; move includes from header file to .c file, even if the
6531 header file isn't installed; use g_strerror() where UTF-8 strings
6532 are expected, such as in GST_DEBUG messages.
6534 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
6536 * docs/libs/gstreamer-libs-sections.txt:
6537 Remove bogus addition for API I didn't end up keeping.
6539 * libs/gst/base/gstbasesrc.h:
6540 Mention Since: 0.10.13 in the documentation.
6542 Add the API keyword to the previous ChangeLog entry.
6544 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
6546 * docs/libs/gstreamer-libs-sections.txt:
6547 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6548 (gst_base_src_default_prepare_seek_segment),
6549 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
6550 * libs/gst/base/gstbasesrc.h:
6551 Allow basesrc derived classes to execute seeks in other formats
6552 by providing a prepare_seek_segment vmethod. Sub-classes can choose
6553 to prepare the GstSegment in any format that their perform_seek method
6554 will be able to understand. The default implementation provides the
6555 old behaviour of attempting to convert the seek offsets to the
6556 configured native format.
6558 API: basesrc::prepare_seek_segment vmethod.
6560 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
6562 * gst/gstelement.c: (gst_element_get_state_func):
6563 Don't output the same debug statement twice.
6565 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
6566 (gst_adapter_peek), (gst_adapter_take_buffer):
6567 Optimise the case where we have buffers at the head of the queue that
6568 can be joined quickly (because they're contiguous sub-buffers) by
6569 merging them together rather than copying data out into new memory.
6571 * gst/parse/grammar.y:
6572 * tests/check/pipelines/parse-launch.c:
6573 Fix a leak in an error path for parse_launch, and add a check
6574 for it to the testsuite.
6576 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
6578 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
6579 Don't deadlock when releasing a pad - gst_pad_set_active may try
6580 and take the multiqueue lock too.
6582 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
6584 * gst/gsterror.c: (_gst_core_errors_init):
6586 API: add GST_CORE_ERROR_DISABLED (#392804).
6588 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
6590 * docs/faq/gst-uninstalled:
6591 don't get empty paths on the PATH variables
6592 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
6593 Don't format for the uncommon terminal width of 84 characters.
6595 2007-04-06 Wim Taymans <wim@fluendo.com>
6597 * gst/gstpipeline.c: (reset_stream_time),
6598 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
6599 Only try to select a different pipeline clock when we went back to
6600 PAUSED and not when we merely got flushed.
6602 2007-04-05 Michael Smith <msmith@fluendo.com>
6604 * tools/gst-launch.1.in:
6605 fractions are better supported in gstreamer than ractions, so
6606 suggest using those.
6608 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
6610 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
6614 Added Danish translation.
6616 2007-04-05 Wim Taymans <wim@fluendo.com>
6618 * libs/gst/base/gstbasesink.c:
6619 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
6620 Fix leak caused when refusing newsegment after EOS.
6622 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
6623 (gst_fake_sink_init), (gst_fake_sink_set_property),
6624 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
6625 (gst_fake_sink_render), (gst_fake_sink_change_state):
6626 * plugins/elements/gstfakesink.h:
6627 Add num-buffers property to make the element generate EOS after a
6628 configurable amount of buffers.
6629 API: fakesink::num-buffers property.
6631 * tests/check/elements/fakesink.c: (GST_START_TEST),
6633 Fix GstBus leak in test.
6634 Test for fakesink num-buffers.
6636 2007-04-05 Wim Taymans <wim@fluendo.com>
6638 * libs/gst/base/gstbasesink.c:
6639 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6640 (gst_base_sink_change_state):
6641 Don't accept anything after an EOS, return UNEXPECTED instead.
6643 * tests/check/elements/fakesink.c: (GST_START_TEST),
6645 Unit test for new EOS behaviour.
6647 2007-04-05 Wim Taymans <wim@fluendo.com>
6649 * gst/gstelement.c: (gst_element_get_request_pad):
6650 Make padtemplates also work when they don't contain %s or %d.
6652 2007-04-05 Wim Taymans <wim@fluendo.com>
6654 * docs/gst/gstreamer-sections.txt:
6655 * gst/gstclock.c: (gst_clock_adjust_unlocked),
6656 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
6658 Improve _adjust_unlocked() so that it overflows less.
6659 Add gst_clock_unadjust_unlocked to convert from external time to
6660 internal time based on calibration.
6661 Add some more debug.
6662 API: GstClock::gst_clock_unadjust_unlocked()
6664 2007-04-03 Wim Taymans <wim@fluendo.com>
6666 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
6668 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
6669 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
6670 when releasing sink pad. Fixes #425400.
6672 2007-04-02 Stefan Kost <ensonic@users.sf.net>
6674 * docs/random/ensonic/dynlink.txt:
6675 More work on proposal for new core api.
6677 * docs/libs/gstreamer-libs-sections.txt:
6678 * libs/gst/base/gstbasetransform.h:
6679 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
6681 * libs/gst/controller/gstcontroller.c:
6682 (on_object_controlled_property_changed),
6683 (gst_controller_sync_values),
6684 (gst_controller_set_interpolation_mode):
6685 * libs/gst/controller/gstcontroller.h:
6686 Less verbose logging add docs for unimplemented parts and correctly
6687 return when using unavailable parts.
6689 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
6691 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
6692 Move all the debug to the CLOCK category, and associate it with
6695 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
6697 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
6698 Make take_buffer a bit quicker by removing redundant checks
6699 caused by calling gst_adapter_take.
6701 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
6703 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
6706 * tests/check/Makefile.am:
6707 * tests/check/elements/.cvsignore:
6708 * tests/check/elements/multiqueue.c: (setup_multiqueue),
6709 (GST_START_TEST), (multiqueue_suite):
6710 Add some dead simple unit tests for the 'multiqueue' element
6711 (some bits don't work yet and are disabled for now).
6713 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
6715 * gst/gstelement.c: (gst_element_get_request_pad),
6716 (gst_element_class_get_request_pad_template):
6717 Make gst_element_get_request_pad() create request pads only for
6718 request pad templates and not for, say, sometimes pad templates.
6720 2007-03-28 Stefan Kost <ensonic@users.sf.net>
6722 * docs/design/draft-klass.txt:
6723 Add example that needs more thinking.
6725 * docs/design/draft-missing-plugins.txt:
6726 More thoughts about wrapper plugins.
6728 * docs/random/ensonic/embedded.txt:
6729 * docs/random/ensonic/profiling.txt:
6732 2007-03-25 Wim Taymans <wim@fluendo.com>
6734 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
6735 (gst_base_src_loop):
6736 Only push the segment events in the PLAYING state for live sources.
6738 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
6740 * gst/gstpipeline.c: (gst_pipeline_change_state):
6741 Modify the clock distribution path in PAUSED->PLAYING so that we
6742 never attempt to choose a new clock unless we're actually leaving
6743 the PAUSED state for the first time. This prevents choosing a
6744 different clock when the state_change gets called for a 2nd time due
6745 to some element doing an async state change.
6747 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
6749 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
6750 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
6751 (gst_pad_chain_unchecked), (gst_pad_push):
6752 Revert last commit. This needs some more thoughts.
6754 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
6756 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
6757 (gst_pad_chain_unchecked), (gst_pad_push):
6758 Check in set_caps if the caps are compatible with the pad and remove
6759 two functions that are redundant now. Fixes #421543.
6761 2007-03-22 Wim Taymans <wim@fluendo.com>
6763 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
6764 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
6765 Unref some more to make valgrind happy.
6767 2007-03-22 Wim Taymans <wim@fluendo.com>
6769 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
6770 (gst_system_clock_id_wait_jitter),
6771 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
6772 Fix anoying regression that survived a few releases. When adding an
6773 async entry while blocking on a sync entry, the sync entry will unblock
6774 but still be busy, so it should continue to wait instead of returning
6776 Add some comments here and there.
6778 * tests/check/gst/gstsystemclock.c: (mixed_thread),
6779 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
6780 Add testcase for this.
6782 2007-03-22 Wim Taymans <wim@fluendo.com>
6784 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
6785 Handle errors from the clock sync better, only UNSCHEDULED indicates a
6786 WRONG_STATE and can silently pause the task. All other cases should
6789 2007-03-22 Wim Taymans <wim@fluendo.com>
6791 Patch by: Ville Syrjala <syrjala at sci dot fi>
6793 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
6794 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
6797 2007-03-21 Michael Smith <msmith@fluendo.com>
6799 * docs/pwg/advanced-types.xml:
6800 Fix some errors in the typefinding docs pointed out on irc.
6802 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
6804 * libs/gst/base/gstbasesrc.c:
6805 Clarify FIXME comment in the face of having added unlock_stop()
6807 2007-03-21 Wim Taymans <wim@fluendo.com>
6809 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
6810 Prepare for release where we warn against possible app breakage in the
6811 case of live pipelines along with an env var to enable/disable live
6812 preroll mode (GST_COMPAT=[no-]live-preroll).
6814 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
6816 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
6817 So we should use correct constants for checking for None offset.
6819 2007-03-20 Wim Taymans <wim@fluendo.com>
6821 * docs/design/part-block.txt:
6822 Mention the fact that the newly switched element should be set to at
6825 2007-03-20 Wim Taymans <wim@fluendo.com>
6828 Fix compilation with registry disabled as spotted by Saur.
6830 2007-03-20 Wim Taymans <wim@fluendo.com>
6832 Patch by: Olivier Crete <tester at tester dot ca>
6834 * gst/gstelement.c: (gst_element_sync_state_with_parent):
6835 Look at the pending state too when syncing the element state to the
6836 parent. Fixes #420133.
6838 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
6840 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6841 (gst_base_sink_change_state):
6842 * libs/gst/base/gstbasesink.h:
6843 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6844 (gst_base_src_default_event), (gst_base_src_unlock_stop),
6845 (gst_base_src_deactivate):
6846 * libs/gst/base/gstbasesrc.h:
6847 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
6848 for sub-classes to correctly clear any state they set trying to
6849 unlock, such as clearing out unlock commands from a command fd.
6850 API: basesrc::unlock_stop
6851 API: basesink::unlock_stop
6853 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
6854 (gst_fd_sink_render), (gst_fd_sink_unlock),
6855 (gst_fd_sink_unlock_stop):
6856 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
6857 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
6858 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
6860 Implement unlock_stop in fdsrc and fdsink.
6861 Implement seeking in fdsrc when a seekable fd is passed, as in
6862 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
6864 2007-03-19 Wim Taymans <wim@fluendo.com>
6866 Patch by: Evan Nemerson <evan at coeus dash group dot com>
6868 * gst/gstelement.c: (gst_element_class_init):
6869 Fix pad-added and pad-removed signal signatures so that the pad type is
6870 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
6872 2007-03-19 Wim Taymans <wim@fluendo.com>
6874 * docs/gst/gstreamer-sections.txt:
6875 Add new element field and method.
6877 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6878 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
6879 (gst_bin_recalc_state), (gst_bin_get_state_func),
6880 (gst_bin_element_set_state), (gst_bin_change_state_func),
6881 (gst_bin_continue_func), (bin_bus_handler),
6882 (bin_push_state_continue), (bin_handle_async_start),
6883 (bin_handle_async_done), (gst_bin_handle_message_func):
6884 Make async state changes a bit smarter by using new ASYNC_START and
6885 ASYNC_DONE messages. This reduces the number of times we run the state
6886 recalculation thread.
6887 Don't change state of element with a pending ASYNC_START message.
6888 Deprecate STATE_DIRTY messages.
6890 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
6891 (gst_element_get_state_func), (gst_element_continue_state),
6892 (gst_element_lost_state), (gst_element_set_state_func),
6893 (gst_element_change_state):
6895 Keep the state that was last set by the app in a new element field.
6896 Don't allow state changes when handling an element event.
6897 Post ASYNC_START and ASYNC_DONE messages.
6898 Change lost_state so that we go to PAUSED and wait for the parent to set
6899 us to PLAYING again (so latency calculation can be performed)
6900 Export gst_element_change_state() method so that subclasses can use it.
6901 API: gst_element_change_state()
6902 API: GST_STATE_TARGET
6904 * gst/gstpipeline.c: (gst_pipeline_class_init),
6905 (reset_stream_time), (gst_pipeline_change_state),
6906 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
6907 Using the new ASYNC_START message we can reset the base_time when
6908 needed. This can then be used to implement base_time redistribution in
6909 flushing seeks so that we can remove the explicit seek handling.
6910 Perform latency query and configuration when going to PLAYING.
6912 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6913 (gst_base_sink_query), (gst_base_sink_change_state):
6914 Post new ASYNC_START/ASYNC_DONE messages.
6916 * tests/check/generic/sinks.c: (GST_START_TEST):
6917 Fix test because the bin will not set the async element to PLAYING right
6920 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
6921 Make the message check a little stronger.
6922 Handle ASYNC messages.
6924 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
6925 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
6926 Expect ASYNC_DONE messages.
6928 2007-03-19 Wim Taymans <wim@fluendo.com>
6930 * docs/gst/gstreamer-sections.txt:
6931 * gst/gstmessage.c: (gst_message_new_async_start),
6932 (gst_message_new_async_done), (gst_message_parse_info),
6933 (gst_message_parse_async_start):
6935 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
6938 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
6940 * tools/gst-inspect.c:
6941 (print_plugin_automatic_install_info_codecs):
6942 Now that we don't check for the 'Codec' keyword any longer in the
6943 klass, we shouldn't spew a warning if the klass isn't a decoder or
6944 encoder (since it might be a Source/Network, for example).
6946 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
6948 * tools/gst-inspect.c:
6949 (print_plugin_automatic_install_info_codecs):
6950 Don't require decoder/demuxer/depayloader elements or
6951 encoder/muxer/paylader elements to have 'Codec' as part of their
6952 factory class string when introspecting a plugin's capabilities.
6953 draft-klass.txt mentions that it might be removed in future, and
6954 flump3dec doesn't have it as part of its class string, so chances
6955 are others might also not have it.
6957 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
6979 Update translations from translation project
6981 2007-03-14 Stefan Kost <ensonic@users.sf.net>
6983 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
6984 (gst_child_proxy_set_property):
6985 Invert precondition check to be alike the ones in the mimiced gobject
6988 2007-03-13 Stefan Kost <ensonic@users.sf.net>
6990 * docs/design/draft-tagreading.txt:
6991 * docs/random/ensonic/audiobaseclasses.txt:
6992 Do some Architect work.
6994 * gst/gstobject.c: (gst_object_set_name):
6998 Add docs that point from gst_pad_get_range to gst_pad_pull_range
7000 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
7002 * gst/gstsystemclock.c: (gst_system_clock_init),
7003 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
7004 Defer starting the async system clock thread until the first async
7005 wait is scheduled. Fixes #414986.
7007 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
7009 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
7010 (gst_single_queue_free):
7011 Fix small leak (free GstSingleQueue structure too, not only contents).
7013 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
7015 * gst/gstbin.c:(gst_bin_add):
7016 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
7017 * win32/common/libgstbase.def:
7018 * win32/common/libgstreamer.def:
7019 Add new exported functions.
7021 2007-03-09 Wim Taymans <wim@fluendo.com>
7023 * docs/plugins/gstreamer-plugins-sections.txt:
7026 2007-03-09 Wim Taymans <wim@fluendo.com>
7028 * docs/gst/gstreamer-sections.txt:
7029 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
7031 Add metadata copy functions. Fixes #393099.
7032 API: gst_buffer_copy_metadata()
7034 * gst/gstutils.c: (gst_buffer_stamp):
7035 * libs/gst/base/gstbasetransform.c:
7036 (gst_base_transform_prepare_output_buffer):
7037 Use new metadata copy functions.
7039 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
7041 * plugins/elements/gstidentity.c: (gst_identity_class_init),
7042 (gst_identity_init), (gst_identity_check_perfect),
7043 (gst_identity_check_imperfect_timestamp),
7044 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
7045 (gst_identity_set_property), (gst_identity_get_property):
7046 * plugins/elements/gstidentity.h:
7047 Separate out check-imperfect-timestamp and check-imperfect-offset.
7048 Put back check-perfect as it was to keep compatibility.
7050 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
7052 * gst/gstelement.c: (gst_element_dispose):
7053 There's no need to warn if VOID_PENDING is not NONE here, as
7054 long as the state is NULL it's ok, and that's checked immediately
7057 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
7059 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7060 Fix check for perfect stream to ignore buffers with -1
7061 offsets/offset ends when checking data contiguity.
7063 2007-03-08 Wim Taymans <wim@fluendo.com>
7065 * tools/gst-launch.c: (event_loop):
7066 Print INFO messages.
7068 2007-03-08 Wim Taymans <wim@fluendo.com>
7070 * libs/gst/base/gstbasetransform.c:
7071 (gst_base_transform_sink_eventfunc),
7072 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7073 (gst_base_transform_activate):
7074 * libs/gst/base/gstbasetransform.h:
7075 Add support for dropping buffers with custom GstFlowReturn.
7076 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
7077 buffers or dropped buffers.
7079 * docs/libs/gstreamer-libs-sections.txt:
7080 docs for new custom return code.
7082 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7083 Use drop support in base class to implement drop-probability.
7085 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
7087 * gst/gst.c: (load_plugin_func):
7088 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
7089 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7090 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
7091 Remove newlines at end of debug log strings.
7093 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
7095 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7096 Only post bus message at max, once per buffer received.
7098 2007-03-07 Wim Taymans <wim@fluendo.com>
7100 * docs/design/Makefile.am:
7101 * docs/design/part-synchronisation.txt:
7102 Add doc about synchronisation
7104 * docs/design/draft-latency.txt:
7105 * docs/design/part-TODO.txt:
7106 * docs/design/part-clocks.txt:
7107 * docs/design/part-events.txt:
7108 * docs/design/part-gstbus.txt:
7109 * docs/design/part-gstpipeline.txt:
7110 * docs/design/part-live-source.txt:
7111 * docs/design/part-messages.txt:
7112 * docs/design/part-overview.txt:
7113 * docs/design/part-streams.txt:
7114 * docs/design/part-trickmodes.txt:
7115 Documentation updates.
7117 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
7120 Update the doap file.
7122 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
7124 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7125 Rename non-perfect to imperfect for Mike and for the sanctity of the
7127 Also make sure bus message gets emitted for data-incontiguities.
7129 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
7131 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
7132 (gst_identity_start):
7133 * plugins/elements/gstidentity.h:
7134 Emit bus message if check-perfect is true and we encounter a
7135 non-perfect stream between 2 consecutive buffers.
7138 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
7143 === release 0.10.12 ===
7145 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
7148 releasing 0.10.12, "Inevitable Demise"
7150 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
7153 Version 0.10.11.2 (0.10.12 pre-release)
7154 Bump libtool versioning.
7156 2007-03-01 Stefan Kost <ensonic@users.sf.net>
7158 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7159 Log flow-names and not numbers.
7161 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
7164 Convert to new AG_GST style.
7166 2007-02-28 Wim Taymans <wim@fluendo.com>
7168 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
7169 Don't unref query twice.
7171 2007-02-28 Wim Taymans <wim@fluendo.com>
7173 * gst/gstvalue.c: (gst_value_transform_object_string),
7174 (_gst_value_initialize):
7175 Implement GstObject -> string transform so we print object names
7176 when serializing GValues containing GstObjects.
7178 2007-02-28 Wim Taymans <wim@fluendo.com>
7180 * docs/gst/gstreamer-sections.txt:
7181 Add new stuff to docs.
7183 2007-02-28 Wim Taymans <wim@fluendo.com>
7185 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
7186 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
7187 (gst_base_sink_change_state):
7188 Improve latency query code.
7189 Don't leak latency events.
7191 * tests/check/gst/gstbin.c: (GST_START_TEST):
7194 2007-02-28 Wim Taymans <wim@fluendo.com>
7196 * gst/gstelement.c: (gst_element_message_full),
7197 (gst_element_get_state_func):
7199 Improve docs a little. Added Since: for new macro.
7201 * gst/gstobject.c: (gst_object_sink):
7202 * gst/gstpipeline.c: (gst_pipeline_change_state),
7203 (gst_pipeline_set_new_stream_time):
7204 * gst/gstpipeline.h:
7205 Improve debugging and docs.
7207 * gst/gstutils.c: (gst_element_state_change_return_get_name):
7210 2007-02-28 Wim Taymans <wim@fluendo.com>
7212 * gst/gstelement.c: (gst_element_message_full),
7213 (gst_element_set_locked_state), (gst_element_get_state_func),
7214 (gst_element_change_state):
7215 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
7216 Documentation updates.
7217 Small code cleanups.
7219 * gst/gstmessage.c: (gst_message_new_info),
7220 (gst_message_parse_info):
7222 API: gst_message_new_info()
7223 API: gst_message_parse_info()
7224 Add INFO message create and parse code.
7226 2007-02-28 Wim Taymans <wim@fluendo.com>
7228 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
7229 (bin_query_latency_done):
7230 Also report the live parameter of a latency query.
7232 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
7234 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
7235 Copy the current generic/states example from -base and adapt so
7236 we can use the exact same code everywhere.
7237 Check a STATES_IGNORE_ELEMENTS env var which can be used
7238 to ignore certain element factories for this test, which is
7239 what is being done in -base
7240 * tests/check/Makefile.am:
7241 Mention this environment variable.
7243 2007-02-27 Wim Taymans <wim@fluendo.com>
7245 * docs/gst/gstreamer-sections.txt:
7246 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
7247 (gst_bus_timed_pop), (gst_bus_pop):
7249 API: gst_bus_timed_pop()
7250 Implement gst_bus_timed_pop() to do a blocking timed wait for a
7251 message to arrive on the bus.
7253 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
7255 Two unit tests for new _timed_pop() function.
7257 2007-02-23 Wim Taymans <wim@fluendo.com>
7259 * gst/gstpipeline.c: (gst_pipeline_change_state),
7260 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
7261 Don't ref a NULL clock in _provide_clock_func().
7262 Don't allow an INVALID delay.
7263 Don't try to calculate base_time with an invalid start_time.
7264 Also distribute and notify a NULL clock when it was selected.
7266 * tools/gst-launch.c: (event_loop):
7267 Don't crash when a NULL clock was selected in the pipeline.
7269 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
7271 * docs/design/Makefile.am:
7272 * docs/design/draft-missing-plugins.txt:
7273 * docs/random/draft-missing-plugins.txt:
7274 Some small updates: update plugin system identifier prefix
7275 ('gstreamer.net' to 'gstreamer'), mention our new install
7276 API in libgstbaseutils rather than libgimme-codec, add
7277 reference to the online docs.
7279 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
7281 * win32/common/config.h:
7282 Pretty sure Bill never made a powerpc version. Powerpc hackers,
7283 use moap cl ci to only check in what is mentioned in the ChangeLog.
7285 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
7287 * docs/gst/gstreamer-sections.txt:
7289 Fix up documentation to link to the correct GstGError section.
7290 Add GST_ELEMENT_INFO macro since someone else added a Info message.
7292 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
7294 * tools/gst-launch.c: (event_loop):
7295 Make sure that we actually show the important message part of a
7297 No need to check if the gerror is not NULL to free; first of all
7298 g_free accepts NULL; and second the default error handler would
7299 segfault if gerror was NULL.
7301 2007-02-21 Wim Taymans <wim@fluendo.com>
7303 * docs/gst/gstreamer-sections.txt:
7304 Removed docs as well.
7306 2007-02-21 Wim Taymans <wim@fluendo.com>
7308 * gst/gstmessage.c: (gst_message_parse_duration):
7310 Remove new messages for release.
7312 2007-02-20 Wim Taymans <wim@fluendo.com>
7314 * docs/design/part-gstghostpad.txt:
7315 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
7316 (gst_ghost_pad_new_full):
7317 Make the ghostpad a parent of the internal pad again for better backward
7318 compatibility. Don't write code that relies on this however.
7320 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
7321 (gst_pad_link_check_hierarchy):
7322 Require that parents should be GstElements in the hierarchy check.
7324 2007-02-20 Wim Taymans <wim@fluendo.com>
7326 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
7327 (gst_bin_change_state_func), (bin_query_min_max_init),
7328 (bin_query_latency_fold), (bin_query_latency_done),
7331 Implement latency query.
7333 2007-02-20 Wim Taymans <wim@fluendo.com>
7335 * docs/design/part-gstghostpad.txt:
7336 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
7337 (gst_ghost_pad_internal_do_activate_push),
7338 (gst_ghost_pad_internal_do_activate_pull),
7339 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7340 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
7341 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
7342 Do not set the internal pad as a parent anymore so we can avoid
7343 hierarchy linking errors when the ghostpad has no parent yet. This also
7344 fixes failed activation because of unlinked internal pads, which in
7345 turn fixes the impossible case where you have to activate a pad before
7346 you can add it to a running element.
7349 * gst/gstpad.c: (pre_activate), (post_activate),
7350 (gst_pad_set_active), (gst_pad_activate_pull),
7351 (gst_pad_activate_push), (gst_pad_check_pull_range):
7352 Add some more debug info.
7353 Mark activation mode in pre_activate so that we don't try to activate in
7354 endless loops. Fixes #385084.
7356 2007-02-19 Wim Taymans <wim@fluendo.com>
7358 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
7359 (gst_base_transform_check_get_range):
7360 Implement a checkgetrange function instead of relying on the default
7361 core behaviour that assumes we can operate in pull mode if we have a
7362 getrange function. First step at fixing #385084.
7364 2007-02-15 Stefan Kost <ensonic@users.sf.net>
7366 * gst/gstchildproxy.h:
7367 * libs/gst/base/gstbasesink.h:
7368 * libs/gst/base/gstbasesrc.h:
7369 * libs/gst/base/gstbasetransform.h:
7370 More docs coverage and some ChangeLog surgery (add missing names)
7372 2007-02-15 Wim Taymans <wim@fluendo.com>
7374 * docs/design/part-TODO.txt:
7375 * docs/design/part-activation.txt:
7376 * docs/design/part-block.txt:
7377 * docs/design/part-buffering.txt:
7378 * docs/design/part-clocks.txt:
7379 * docs/design/part-element-source.txt:
7380 * docs/design/part-events.txt:
7381 * docs/design/part-gstbin.txt:
7382 * docs/design/part-gstbus.txt:
7383 * docs/design/part-gstpipeline.txt:
7384 * docs/design/part-live-source.txt:
7385 * docs/design/part-messages.txt:
7386 * docs/design/part-overview.txt:
7387 * docs/design/part-qos.txt:
7388 * docs/design/part-query.txt:
7389 * docs/design/part-states.txt:
7390 * docs/design/part-trickmodes.txt:
7391 Some doc updates. Start renaming from stream_time to running_time where
7392 it was used wrongly.
7394 2007-02-15 Wim Taymans <wim@fluendo.com>
7396 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
7397 Answer LATENCY query.
7399 2007-02-15 Wim Taymans <wim@fluendo.com>
7401 * tests/check/gst/gstevent.c: (event_probe), (test_event),
7405 2007-02-15 Wim Taymans <wim@fluendo.com>
7407 * gst/gstpad.c: (gst_pad_get_internal_links_default),
7408 (gst_pad_dispatcher):
7409 Improve debugging of default pad dispatcher and query functions.
7411 2007-02-15 Wim Taymans <wim@fluendo.com>
7413 * docs/gst/gstreamer-sections.txt:
7414 Remove old unused method.
7416 2007-02-13 Wim Taymans <wim@fluendo.com>
7418 * tests/check/gst/gstsegment.c: (GST_START_TEST):
7421 2007-02-13 Wim Taymans <wim@fluendo.com>
7423 * docs/design/part-seeking.txt:
7426 * gst/gstsegment.c: (gst_segment_set_seek):
7427 Revert old bogus change that should make seeking work again.
7429 2007-02-13 Stefan Kost <ensonic@users.sf.net>
7431 * docs/random/ensonic/dynlink.txt:
7432 * docs/random/ensonic/interfaces.txt:
7433 * docs/random/ensonic/receipies.txt:
7434 Possible dynamic reconnection api, plus some type fixes the other two
7437 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
7439 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7440 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7441 Also check for an absolute path following file:// in the filesrc
7442 element. Remove redundant check and call g_path_is_absolute() on the
7445 2007-02-13 Stefan Kost <ensonic@users.sf.net>
7447 * docs/design/draft-klass.txt:
7448 Add existing category analysis.
7451 Fix doc example, framerate is a fraction.
7453 2007-02-12 Stefan Kost <ensonic@users.sf.net>
7456 * docs/gst/Makefile.am:
7457 * docs/gst/gstreamer-sections.txt:
7458 * docs/libs/Makefile.am:
7459 Erm, forgot a bunch of --extra-dir.
7461 2007-02-12 Stefan Kost <ensonic@users.sf.net>
7464 * docs/gst/Makefile.am:
7465 * docs/libs/Makefile.am:
7466 * docs/plugins/Makefile.am:
7467 Add crossreferences to glib/gobject docs.
7469 2007-02-12 Wim Taymans <wim@fluendo.com>
7471 * docs/design/draft-latency.txt:
7474 * docs/libs/gstreamer-libs-sections.txt:
7475 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7476 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
7477 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
7478 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
7479 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
7480 (gst_base_sink_get_position), (gst_base_sink_query),
7481 (gst_base_sink_change_state):
7482 * libs/gst/base/gstbasesink.h:
7483 API: gst_base_sink_query_latency() to let subclasses query the upstream
7485 API: gst_base_sink_get_latency() to let subclasses query the configured
7486 latency in the sink.
7487 Implement query and set latency.
7489 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
7490 don't continue preroll when we are flushing. Fixes #405284.
7492 * tests/check/pipelines/stress.c: (change_state_timeout),
7493 (quit_timeout), (GST_START_TEST), (stress_suite):
7496 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
7498 Patch by: René Stadler <mail at renestadler de>
7500 * docs/gst/gstreamer-sections.txt:
7501 * gst/gsttaglist.c: (_gst_tag_initialize):
7503 API: add GST_TAG_REFERENCE_LEVEL (#403597).
7505 2007-02-11 Stefan Kost <ensonic@users.sf.net>
7507 * docs/libs/Makefile.am:
7508 Fix path to core docs.
7510 * gst/gstbin.c: (gst_bin_get_by_interface),
7511 (gst_bin_iterate_all_by_interface):
7512 Refix docs by also renaming 'interface' to 'iface' in implementation.
7514 * docs/gst/gstreamer-sections.txt:
7516 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
7517 * gst/gstchildproxy.h:
7518 * gst/gstelementfactory.c:
7519 * gst/gstpadtemplate.h:
7520 * libs/gst/controller/gstcontroller.c:
7521 (gst_controlled_property_new):
7524 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
7526 * gst/gstbin.h:(gst_bin_get_by_interface),
7527 (gst_bin_iterate_all_by_interface):
7528 Replace interface parameter name by iface as interface is
7529 a reserved keyword in Visual Studio for C++ projects so it removes
7530 a build error for application developpers using VS.
7531 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
7532 Fix a bug on Windows in uri format check. Now the prefix checked
7533 is file:// and next we check if the path after file:// is absolute.
7534 * win32/common/libgstbase.def:
7535 * win32/common/libgstdataprotocol.def:
7536 * win32/common/libgstgstreamer.def:
7537 Add new exported functions.
7539 2007-02-09 Andy Wingo <wingo@pobox.com>
7541 * tests/check/pipelines/simple-launch-lines.c
7542 (simple_launch_lines_suite, test_tee): Disable tee test until I
7543 have time to fix it :-(
7545 * tests/check/Makefile.am (noinst_HEADERS):
7546 * tests/check/libs/libsabi.c:
7547 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
7548 * tests/check/gst/gstabi.c:
7549 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
7551 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
7552 tests for push and pull tee behavior.
7554 * plugins/elements/gsttee.h:
7555 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
7556 mark as deprecated as well as unimplemented. It was a crack idea.
7557 Add support for tee operating in pull mode, off by default.
7559 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
7560 normal-case logs down to LOG, raise errors to WARNING.
7561 (gst_registry_xml_read_cache): Don't log before calling a function
7564 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
7565 exit (registry finalize).
7566 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
7567 DEBUG log when we emit signals that people don't even have the
7568 chance to connect to.
7569 (gst_registry_scan_path_level): Less logging in the normal case.
7571 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
7573 Patch by: Michal Benes <michal dot benes at itonis dot tv>
7575 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7576 Correctly generate EOS for non-seekable files. We don't have a total
7577 length for them and would get an unexpected end of file if we only
7578 special-cased for regular files. (Fixes: #404569)
7580 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
7582 * tests/check/elements/filesrc.c: (GST_START_TEST),
7584 Add unit test for the GstURIHandler interface in filesrc. This also
7585 tests the newly added file://localhost/foo/bar support.
7587 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
7589 * gst/gstelementfactory.h:
7590 The klass string is not a hierarchy. Add reference to the design doc
7591 for more information and common types.
7593 2007-02-02 Wim Taymans <wim@fluendo.com>
7595 * gst/gstquery.c: (gst_query_new_latency):
7596 Remove old structure field.
7598 2007-02-02 Stefan Kost <ensonic@users.sf.net>
7600 * tools/gst-launch.1.in:
7601 Give example for network streaming (#351998)
7603 2007-02-02 Wim Taymans <wim@fluendo.com>
7605 * docs/gst/gstreamer-sections.txt:
7606 Add docs for new methods.
7608 * gst/gstevent.c: (gst_event_new_latency),
7609 (gst_event_parse_latency):
7611 Add new LATENCY event to configure latency in a pipeline.
7612 API: gst_event_new_latency
7613 API: gst_event_parse_latency
7615 * gst/gstmessage.c: (gst_message_new_buffering),
7616 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
7617 (gst_message_new_latency), (gst_message_parse_buffering),
7618 (gst_message_parse_lost_preroll):
7620 Added messages used in draft-latency.
7621 API: gst_message_new_lost_preroll
7622 API: gst_message_parse_lost_preroll
7623 API: gst_message_new_prerolled
7624 API: gst_message_new_latency
7626 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
7627 (gst_query_parse_latency):
7629 Implemented new latency query as in design doc.
7630 API: gst_query_new_latency
7631 API: gst_query_set_latency
7632 API: gst_query_parse_latency
7634 2007-02-02 Wim Taymans <wim@fluendo.com>
7636 * docs/design/draft-latency.txt:
7637 Slight redesign to allow for dynamic latency adjustments.
7639 * docs/design/part-negotiation.txt:
7642 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
7644 reviewed by: Wim Taymans <wim@fluendo.com>
7646 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7647 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7648 Allow file://localhost/foo/bar URLs and correctly fail for every other
7649 hostname that one sets. This was gnomevfssrc is linked for those if
7650 installed as it can handle it (#403172)
7652 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
7654 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
7656 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7657 (unref_data), (gst_collect_pads_add_pad_full):
7658 * libs/gst/base/gstcollectpads.h:
7659 Don't put the previously added destroy notify in the GstCollectData
7660 struct as all it's padding is already used and we don't want to break
7661 ABI. Instead put in the pad's GObject data for now. This should be
7662 cleaned up for 0.11 (#402393).
7664 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
7666 reviewed by: Wim Taymans <wim@fluendo.com>
7668 * docs/libs/gstreamer-libs-sections.txt:
7669 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7670 (unref_data), (gst_collect_pads_add_pad),
7671 (gst_collect_pads_add_pad_full):
7672 * libs/gst/base/gstcollectpads.h:
7673 API: Add function to specify a destroy notification for custom
7674 GstCollectData when adding new pads in GstCollectPads (#402393).
7676 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
7679 Update Swedish translation (#378255).
7681 2007-01-31 Stefan Kost <ensonic@users.sf.net>
7683 * docs/design/draft-klass.txt:
7684 Fix the previous change, this is a list of categories and not a hierarchy.
7686 2007-01-31 Stefan Kost <ensonic@users.sf.net>
7688 * docs/design/draft-klass.txt:
7689 Add info about how to get a list of used classes.
7691 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
7693 * plugins/elements/gsttypefindelement.c:
7694 (gst_type_find_element_chain_do_typefinding),
7695 (gst_type_find_element_change_state):
7696 Don't leak found caps in chain function (no idea why that never
7697 showed up as a leak anywhere).
7699 2007-01-30 Stefan Kost <ensonic@users.sf.net>
7702 Fix and expand GstPluginDesc API docs.
7704 2007-01-29 Stefan Kost <ensonic@users.sf.net>
7707 * gst/gstelementfactory.c:
7708 * gst/gstpadtemplate.h:
7711 * libs/gst/controller/gstcontroller.c:
7712 (gst_controlled_property_new):
7713 * tests/examples/controller/audio-example.c:
7716 2007-01-29 Stefan Kost <ensonic@users.sf.net>
7719 comment about refining the xml deps
7722 comments about moving away from jade for docs
7725 recommit the ifdefs to use the binary registry
7727 * gst/gstbin.c: (gst_bin_change_state_func):
7728 this break is obsolete
7730 * gst/gstelementfactory.h:
7731 better GST_ELEMENT_DETAILS docs, add comment about translation
7736 * gst/gstobject.c: (gst_signal_object_get_type):
7737 add G_UNLIKELY as usual
7739 * gst/gstpad.c: (gst_pad_event_default):
7740 add fall trhu comment
7742 * gst/gstregistrybinary.c: (gst_registry_binary_write),
7743 (gst_registry_binary_initialize_magic),
7744 (gst_registry_binary_save_string),
7745 (gst_registry_binary_save_pad_template),
7746 (gst_registry_binary_save_feature),
7747 (gst_registry_binary_save_plugin),
7748 (gst_registry_binary_write_cache),
7749 (gst_registry_binary_check_magic),
7750 (gst_registry_binary_load_pad_template),
7751 (gst_registry_binary_load_feature),
7752 (gst_registry_binary_load_plugin),
7753 (gst_registry_binary_read_cache):
7754 comment typo and formatting
7756 * gst/gstutils.c: (gst_element_state_get_name),
7757 (gst_element_state_change_return_get_name):
7758 remove obsolete breaks
7760 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
7761 add FIXME 0.11 and remove cpp comment
7763 2007-01-29 Edward Hervey <edward@fluendo.com>
7765 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7766 Fix print statement in an even more portable way.
7768 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
7770 * docs/gst/gstreamer-sections.txt:
7772 API: add GST_ROUND_DOWN_* macros (#401781).
7774 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
7776 * docs/gst/gstreamer.types.in:
7777 * gst/gstregistry.c: (gst_registry_class_init):
7778 Document registry signals and make gtk-doc pick them up (#401381).
7780 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
7782 * docs/pwg/building-testapp.xml:
7783 Add some audioconverts and audioresample to the pipeline, and some
7784 more comments and error handling.
7786 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
7788 * docs/manual/manual.xml:
7792 2007-01-26 Wim Taymans <wim@fluendo.com>
7794 * gst/gstcaps.c: (gst_static_caps_get):
7795 Init caps flags too.
7797 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
7799 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
7801 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7802 If not using mmap'ed files try to seek to the end instead of the
7803 start to determine whether we can seek at all. This fixes the case
7804 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
7805 seeks for everything afterwards fail. Fixes #400656
7807 2007-01-25 Wim Taymans <wim@fluendo.com>
7809 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
7810 Add some refcount debugging.
7811 Make gst_static_caps_get threadsafe, which is needed when autoplugging
7812 in multiple streaming threads.
7814 2007-01-25 Wim Taymans <wim@fluendo.com>
7816 Patch by: David Schleef <ds at schleef dot org>
7818 * docs/libs/gstreamer-libs-sections.txt:
7819 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
7820 * libs/gst/base/gstadapter.h:
7821 API: gst_adapter_copy() that can reduce the amount of memcpy when
7822 getting data from the adapter. Fixes #388201.
7824 2007-01-25 Edward Hervey <edward@fluendo.com>
7826 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7827 In print statements, "%x" is for guint. Fixes build on macosx.
7829 2007-01-24 Edward Hervey <edward@fluendo.com>
7831 * plugins/elements/gstmultiqueue.c:
7832 (gst_multi_queue_loop):
7834 (single_queue_overrun_cb), (single_queue_underrun_cb),
7835 (single_queue_check_full), (gst_single_queue_new):
7836 Implement single queue growth system.
7837 This uses the extra-size properties, and will grow single queues by
7838 that much if one goes full whereas there are others empty. This is
7839 called extra-mode in the code.
7840 When a single queue's levels go back below the initial max-size
7841 limits, it is no longer in extra-mode. This is to ensure we don't
7842 consume too much memory.
7845 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
7847 * gst/gst.c: (gst_init_get_option_group):
7848 Make warning about late g_thread_init() calls a bit more explicit,
7849 so that it's more obvious to application developers what they need
7850 to do if a user files a bug against their application.
7852 2007-01-22 Edward Hervey <edward@fluendo.com>
7854 * plugins/elements/gstmultiqueue.c:
7855 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
7856 Remove previous hack of unsetting the flushing flag for the source pad
7857 instead of activating it. Instead, fix the source pad activate function
7858 so that it no longer depends on having a parent set or not.
7860 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
7862 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
7864 * docs/manual/basics-bus.xml:
7865 Fix example code, gst_element_unref() doesn't exist any longer.
7867 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
7869 Patch by: Mark Nauwelaerts <manauw at skynet be>
7872 Fix two docs typoes (#399094).
7874 2007-01-19 Edward Hervey <edward@fluendo.com>
7876 * docs/faq/gst-uninstalled:
7877 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
7878 depending on libgstbaseutils can work in uninstalled environment.
7880 2007-01-18 Stefan Kost <ensonic@users.sf.net>
7883 * gst/gsttagsetter.c:
7884 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
7885 statement for new tag.
7887 2007-01-17 Edward Hervey <edward@fluendo.com>
7889 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
7890 When dynamically creating single queues, activate sinkpad before adding
7892 We should be doing the same thing for the source pad, but we can't
7893 since it would call a method which needs the parent to be set in order
7894 to work propertly. Instead of activating the source pad, we just unset
7895 the flushing flag, which is the minimal requirement for adding a pad
7896 to an element in a state greater than READY.
7898 2007-01-17 Edward Hervey <edward@fluendo.com>
7900 * docs/faq/gst-uninstalled:
7901 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
7904 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
7906 * tests/check/gst/gstabi.c:
7907 * tests/check/gst/struct_hppa.h:
7908 * tests/check/libs/libsabi.c:
7909 * tests/check/libs/struct_hppa.h:
7910 Add ABI structs for HPPA (see #393796).
7912 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
7914 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
7915 Actually write ABI structs to the file specified in the GST_ABI
7916 environment variable, as the message we print claims we would.
7918 2007-01-15 Stefan Kost <ensonic@users.sf.net>
7920 * tests/check/gst/gsttask.c:
7923 2007-01-15 Stefan Kost <ensonic@users.sf.net>
7925 * gst/gsttaglist.c: (_gst_tag_initialize):
7926 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
7927 previous two entries.
7929 2007-01-15 Stefan Kost <ensonic@users.sf.net>
7931 * docs/gst/gstreamer-sections.txt:
7932 * gst/gsttaglist.c: (_gst_tag_initialize):
7934 Add tag support for beat-per-minute.
7936 2007-01-15 Stefan Kost <ensonic@users.sf.net>
7938 * gst/gstregistrybinary.c: (gst_registry_binary_write),
7939 (gst_registry_binary_initialize_magic),
7940 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
7941 (gst_registry_binary_save_pad_template),
7942 (gst_registry_binary_save_feature),
7943 (gst_registry_binary_save_plugin),
7944 (gst_registry_binary_write_cache),
7945 (gst_registry_binary_check_magic),
7946 (gst_registry_binary_load_pad_template),
7947 (gst_registry_binary_load_feature),
7948 (gst_registry_binary_load_plugin),
7949 (gst_registry_binary_read_cache):
7950 * gst/gstregistrybinary.h:
7951 Use glib types, cleanup comments, impement interfaces and uri-types.
7953 2007-01-13 Andy Wingo <wingo@pobox.com>
7955 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
7956 getrange() to return buffers with other caps, while we fix
7957 demuxers and typefind, or otherwise change part-negotiation.txt.
7959 2007-01-12 Andy Wingo <wingo@pobox.com>
7961 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
7962 Factor start/stop into this private function instead of partially
7963 in activate functions and partially in the change_state function.
7964 Fixes setup before the element has changed from READY->PAUSED, as
7965 is the case in pull-mode pipelines.
7966 (gst_base_transform_sink_activate_push)
7967 (gst_base_transform_src_activate_pull): Refactor to use
7968 gst_base_transform_activate().
7969 (gst_base_transform_change_state): Removed, not needed any more.
7971 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
7972 Truncate before fixating.
7974 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
7975 Don't set_caps() if the result of fixating is ANY, as it's not
7976 supported, and not necessary in the case of a link with no
7977 template caps on either side. Fixes tests/check/libs/basesrc in
7978 some pull-mode tests.
7980 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
7981 (gst_base_transform_init, gst_base_transform_sink_activate_push)
7982 (gst_base_transform_src_activate_pull):
7983 Track the activation mode.
7984 (gst_base_transform_setcaps): In pull mode, when activating the
7985 src pad, after activating the sink pad, activate the sink pad's
7986 peer, as discussed in part-negotiation.txt.
7988 * libs/gst/base/gstbasesrc.h:
7989 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
7990 vmethod, as in basesink.
7992 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
7994 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
7995 mode, first proxy the setcaps to the peer pad.
7996 (gst_base_sink_pad_fixate): Add a fixate function that calls the
7998 (gst_base_sink_default_activate_pull): Rename from
7999 gst_base_sink_activate_pull.
8000 (gst_base_sink_negotiate_pull): New function, performs negotiation
8001 in pull mode before calling ::activate_pull().
8002 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
8003 vmethod instead of the default implementation. I have no idea how
8004 this worked before. Negotiate before calling activate_pull.
8006 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
8007 sink pads in pull mode. In addition to being correct, fixes
8008 filesrc ! decodebin ! identity ! fakesink.
8009 (gst_pad_get_range, gst_pad_pull_range): Don't call
8010 gst_pad_set_caps() if the caps changes; instead error out with
8011 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
8013 2007-01-12 Andy Wingo <wingo@pobox.com>
8015 * docs/design/part-negotiation.txt: Update with more policy.
8017 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
8019 * libs/gst/check/gstbufferstraw.h:
8020 * libs/gst/check/gstcheck.h:
8021 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
8024 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
8026 * tests/check/Makefile.am:
8027 * tests/check/gst/.cvsignore:
8028 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
8029 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
8030 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
8031 (GST_START_TEST), (gst_tag_setter_suite):
8032 Add minimal unit test for beforementioned GstTagSetter bug.
8034 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
8036 Patch by: René Stadler <mail at renestadler dot de>
8038 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
8039 gst_tag_list_merge() returns a new list, so it's not the best idea
8040 to ingore its return value. Effectively meant that tags could only
8041 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
8042 Also add function guard to require a non-NULL taglist as input (has
8043 always been so due to gst_tag_list_copy(), just making it explicit).
8045 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
8047 * docs/random/draft-missing-plugins.txt:
8048 Some additions: mention new API that is supposed to be used at the
8049 various stages; short blob about new gst-inspect introspection
8050 option; mention potential future problem with plugins that have
8051 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
8053 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
8055 * tools/gst-inspect.c:
8056 (print_plugin_automatic_install_info_codecs),
8057 (print_plugin_automatic_install_info_protocols),
8058 (print_plugin_automatic_install_info), (main):
8059 Add --print-plugin-auto-install-info option to gst-inspect, so we can
8060 introspect plugin files and get machine-parsable output that corresponds
8061 to the last bit of the missing-plugin installer string (small gotcha:
8062 doesn't take into account ranks).
8064 2007-01-11 Stefan Kost <ensonic@users.sf.net>
8067 * docs/gst/gstreamer-sections.txt:
8069 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
8070 (gst_registry_lookup_locked):
8071 * gst/gstregistry.h:
8072 * gst/gstregistrybinary.c: (gst_registry_binary_write),
8073 (gst_registry_binary_initialize_magic),
8074 (gst_registry_binary_save_string),
8075 (gst_registry_binary_save_pad_template),
8076 (gst_registry_binary_save_feature),
8077 (gst_registry_binary_save_plugin),
8078 (gst_registry_binary_write_cache),
8079 (gst_registry_binary_check_magic),
8080 (gst_registry_binary_load_pad_template),
8081 (gst_registry_binary_load_feature),
8082 (gst_registry_binary_load_plugin),
8083 (gst_registry_binary_read_cache):
8084 * gst/gstregistrybinary.h:
8085 * gst/gstregistryxml.c: (load_feature),
8086 (gst_registry_xml_read_cache):
8087 commit binary registry (disabled by default, see #359653)
8089 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
8091 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
8092 Fix 'make check' too.
8094 2007-01-10 Andy Wingo <wingo@pobox.com>
8096 * docs/design/part-negotiation.txt: Fix a typo, add a couple
8099 * docs/design/part-negotiation.txt: Update with, um, one way that
8100 pull-mode negotiation might work?
8103 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
8104 that the pad must be a src pad; makes sense to call it the other
8105 way in pull mode, and the logic is symmetric anyway.
8107 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
8109 * plugins/elements/gstfilesink.c:
8110 Include <stdio.h> for fseeko().
8112 2007-01-10 Wim Taymans <wim@fluendo.com>
8116 Reserve LATENCY event.
8118 2007-01-09 Wim Taymans <wim@fluendo.com>
8120 * docs/design/draft-latency.txt:
8123 2007-01-09 Wim Taymans <wim@fluendo.com>
8125 * docs/design/draft-latency.txt:
8129 * gst/gststructure.c:
8133 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
8135 * tests/check/.cvsignore:
8136 Ignore test-registry.xml as well.
8138 2007-01-09 Wim Taymans <wim@fluendo.com>
8140 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
8141 unref data at the end when we are done with the pad.
8143 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
8145 * docs/gst/gstreamer-sections.txt:
8146 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
8147 (init_post), (gst_deinit), (gst_update_registry):
8149 API: add gst_update_registry() (#391296).
8151 * tests/check/Makefile.am:
8152 * tests/check/gst/gstregistry.c:
8153 * tests/check/gst/.cvsignore:
8154 Simple unit test for the above.
8156 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
8158 * gst/gstregistry.c: (gst_registry_scan_path_level):
8159 Plugin extension on HP-UX is .sl, add that to the list of approved
8160 plugin extensions (see #393796).
8162 * tests/check/gst/gstpad.c: (GST_START_TEST):
8163 ulong => gulong. Fixes compilation with HP-UX compiler.
8165 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8166 Fix compilation if valgrind headers are not available.
8168 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
8170 * win32/common/libgstreamer.def:
8171 Add new exported function.
8172 * win32/vs6/libgstbase.dsp:
8173 Add gstdataqueue.c to the build.
8174 * win32/vs6/libgstcoreelements.dsp:
8175 Add gstmultiqueue.c to the build.
8177 2007-01-06 Andy Wingo <wingo@pobox.com>
8179 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
8180 activate_pull(), providing for a way to specialize the process of
8181 spawning a thread to pull on the sink pad. There is a default
8184 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
8185 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
8186 (gst_base_sink_init): Renamed pad activation functions (inserting
8187 "_pad" in their names). Refactor to use the new activate_pull
8188 vmethod, as appropriate.
8189 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
8190 default activate_pull function to start a task pulling from the
8191 sink pad, as before.
8193 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
8194 on the pads if necessary, as in push()/chain(). Update docs.
8195 Shouldn't affect existing pull() usage as it is currently only
8196 being used on buffers without caps.
8198 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
8200 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8202 Call g_thread_init() first thing in gst_init() / gst_check_init().
8203 When initialisation is done via gst_init_get_option_group() and
8204 GOption parsing, issue a warning if the GLib thread system has not
8205 been initialised yet by the time gst_init_get_option_group() is
8206 called, as it's quite likely other GLib functions such as
8207 g_option_context_new() have been called already then, and
8208 g_thread_init() must be called before any other GLib function. The
8209 application in question must be fixed in that case, since memory
8210 corruption might happen otherwise.
8211 We issue the warning because even if the GLib folks decide to work
8212 around the problem on their end in future, this is still an issue
8213 with all GLib versions >= 2.10.0, so we should warn until we depend
8214 on a GLib version we know to be safe.
8215 Update documentation as well.
8218 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
8220 * tools/gst-inspect.c: (main):
8221 * tools/gst-launch.c: (main):
8222 * tools/gst-typefind.c: (main):
8223 * tools/gst-xmlinspect.c: (main):
8224 Call g_thread_init() really really early, before any other GLib
8225 function (see #342564 and recent discussion on gtk-devel-list).
8227 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
8229 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
8231 * gst/gst_private.h:
8232 * gst/gstconfig.h.in:
8234 On win32, all the __declspec stuff for symbol exporting is
8235 apparently only needed with MSVC, but doesn't work with MingW.
8236 Fixes compilation with MingW and #391909.
8238 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
8240 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
8241 Change some GST_ERROR_OBJECT that aren't really errors to
8242 GST_WARNING_OBJECT in order to reduce terminal spam.
8244 2007-01-04 Stefan Kost <ensonic@users.sf.net>
8246 * tests/check/Makefile.am:
8247 disable test again, as there seem to be still race problems
8249 2007-01-04 Stefan Kost <ensonic@users.sf.net>
8251 * tests/check/Makefile.am:
8252 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8253 (GST_START_TEST), (queue_suite):
8254 enable queue test again, add tests for the leaky behaviour
8256 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
8259 * tests/examples/Makefile.am:
8260 Compile adapter test/example only if the required headers are
8261 available (fixes #391915).
8263 2007-01-01 David Schleef <ds@schleef.org>
8266 Restore the previous signal handler for SIGSEGV instead of
8267 setting to default, since we may have stolen it away from
8268 someone. (i.e., Mono)
8270 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
8272 * docs/random/draft-missing-plugins.txt:
8273 Some small additions and clarifications.
8275 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
8277 * gst/gstregistryxml.c: (gst_registry_save_escaped):
8278 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
8279 since that can lead to random memory corruptions and crashes
8280 (may or may not be related to #383244, #386711, and #386711).
8282 2006-12-21 Stefan Kost <ensonic@users.sf.net>
8284 * tests/check/.cvsignore:
8285 * tests/check/Makefile.am:
8286 sync .cvsignome and CLEANFILES
8288 2006-12-21 Stefan Kost <ensonic@users.sf.net>
8290 * tests/check/Makefile.am:
8293 2006-12-21 Stefan Kost <ensonic@users.sf.net>
8295 * docs/design/part-states.txt:
8296 two tiny additional comments
8298 * gst/gststructure.c:
8301 * tests/check/Makefile.am:
8302 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8304 disable test for now, unless it gets fixed
8306 2006-12-21 Stefan Kost <ensonic@users.sf.net>
8308 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8310 fix race in underrun test
8312 2006-12-21 Stefan Kost <ensonic@users.sf.net>
8314 * tests/check/elements/.cvsignore:
8317 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8319 try to narrow test failure
8321 2006-12-21 David Schleef <ds@schleef.org>
8323 * plugins/elements/gstfakesrc.c:
8324 Use g_random_int_range(), since it produces better random
8325 numbers in a range than almost-correct floating point code.
8327 2006-12-21 Stefan Kost <ensonic@users.sf.net>
8329 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
8330 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8331 (gst_check_teardown_sink_pad):
8332 do not automatically (de)activate pads
8334 * tests/check/Makefile.am:
8335 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8336 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
8337 add new, yet simple tests for queue
8339 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
8340 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
8341 * tests/check/elements/filesrc.c: (cleanup_filesrc),
8343 * tests/check/elements/identity.c: (cleanup_identity):
8344 consistent pad (de)activation
8346 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
8348 Patch by: Sebastian Dröge <slomo ubuntu com>
8350 * libs/gst/base/gstcollectpads.c:
8351 Fix two doc typos (#387866).
8353 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
8355 * docs/manual/advanced-dparams.xml:
8356 Fix typo (g_object_control_properties() doesn't exist).
8358 2006-12-19 Edward Hervey <edward@fluendo.com>
8360 * gst/gstsegment.c: (gst_segment_set_seek):
8361 Fine tune the cases where the segment start/stop values are really
8363 * tests/check/gst/gstsegment.c: (GST_START_TEST):
8364 Add tests for the return values of gst_segment_set_seek().
8366 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
8371 * plugins/elements/gstqueue.c: (gst_queue_class_init),
8373 Fix incorrect documentation and flesh it out a bit more.
8374 Set default values for the max properties on the GParamSpec as well,
8375 so it shows up correctly in gst-inspect.
8377 2006-12-18 Stefan Kost <ensonic@users.sf.net>
8379 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
8380 Correct docs of queue, add more detail and crosslink it more.
8382 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
8384 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8385 Print additional debug info when the stream isn't perfectly
8386 timestamped; don't try to use invalid durations.
8388 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
8390 * docs/design/Makefile.am:
8391 Dist new design docs.
8393 2006-12-16 Wim Taymans <wim@fluendo.com>
8395 Patch by: Sjoerd Simons <sjoerd at luon dot net>
8397 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
8398 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8399 (gst_collect_pads_stop), (gst_collect_pads_event),
8400 (gst_collect_pads_chain):
8401 * libs/gst/base/gstcollectpads.h:
8402 Add refcounting to the collectpads data so we can track when it's safe
8403 to free the data. Fixes #383382.
8405 2006-12-15 Wim Taymans <wim@fluendo.com>
8407 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8408 (gst_collect_pads_remove_pad):
8409 Automatically activate/deactivate pads when they are added to a
8410 started/stoped collectpads.
8412 2006-12-15 Wim Taymans <wim@fluendo.com>
8414 * gst/gstelement.c: (gst_element_add_pad):
8415 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
8416 * gst/gstpad.c: (gst_pad_init):
8417 Set pads to FLUSHING when they are created. Check, warn and fix when a
8418 demuxer adds an inactive pad to itself when running. Fixes #339326.
8420 2006-12-15 Wim Taymans <wim@fluendo.com>
8422 * gst/gstelement.c: (gst_element_class_init),
8423 (gst_element_default_send_event), (gst_element_send_event),
8424 (gst_element_default_query), (gst_element_query):
8425 Expose default element send_event and query handling as vmethods that
8426 subclasses can chain up to.
8428 2006-12-15 Wim Taymans <wim@fluendo.com>
8430 * gst/gstelement.c: (gst_element_set_state_func):
8431 Small documentation fixes.
8433 2006-12-15 Wim Taymans <wim@fluendo.com>
8435 * docs/design/draft-latency.txt:
8436 Checked in draft for handling latency in pipelines.
8438 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
8442 * gstreamer.spec.in:
8445 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
8447 * gst/gst.c: (init_pre), (init_post):
8448 init_pre() and init_post() might be called via our GOptionGroup or
8449 from gst_init(), and we should skip both of them if we've already
8450 been initialised, otherwise we will init some things twice or add
8451 two default log functions.
8453 2006-12-13 Edward Hervey <edward@fluendo.com>
8455 * docs/manual/basics-bus.xml:
8456 No, gst_main_loop does not exist. Its g_main_loop.
8457 Discovered by somebody who abused the copy-paste technique of coding :)
8459 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
8461 * gst/gstghostpad.c:
8462 Log ghostpad debug stuff to the GST_PADS category as well rather
8463 than just to the default category.
8465 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
8468 * gst/gst.c: (init_pre):
8469 Add some basic system details such as OS and architecture
8470 to the debug output if possible, courtesy of uname().
8472 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
8474 * docs/gst/running.xml:
8475 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
8476 environment variables.
8478 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
8480 * tests/check/gst/gstbin.c: (GST_START_TEST):
8481 It is acceptable to have a refcount of 2 or 3 at this point in the
8482 test, because the pipeline might be just posting its state_change
8483 message. The next line then waits for that message to appear using
8484 bus_poll, so that should be fine too.
8486 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
8488 * gst/gst.c: (ensure_current_registry_forking):
8489 Ignore EINTR when reading from the child registry pipe.
8490 Explicitly ignore the return value from close, since it makes no
8493 * gst/gstminiobject.c: (gst_mini_object_ref),
8494 (gst_mini_object_unref):
8495 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
8497 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
8498 When removing cached plugins, remove their features too, so they're
8499 not visible after they've disappeared.
8501 * gst/gstutils.c: (prepare_link_maybe_ghosting):
8502 In the unlikely case that we are linking pads with no parents, don't
8503 crash trying to get the non-existent parent bin.
8505 * gst/parse/grammar.y:
8506 Output debug in the PIPELINE category
8508 2005-03-08 Wim Taymans <wim@fluendo.com>
8510 Patch by: René Stadler <mail at renestadler dot de>
8512 * gst/gstclock.c: (gst_clock_new_periodic_id):
8513 Reject invalid clock times for interval of periodic ids.
8516 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
8518 * gst/gstelementfactory.c: (gst_element_factory_create):
8519 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8520 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
8521 * tools/gst-inspect.c: (print_element_info):
8522 Fix refcounting of gst_plugin_feature_load to match the docs.
8525 2006-12-07 Wim Taymans <wim@fluendo.com>
8527 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
8528 (gst_base_sink_get_position):
8529 Improve debugging of events.
8531 2006-12-07 Wim Taymans <wim@fluendo.com>
8533 Patch by: René Stadler <mail at renestadler dot de>
8535 * gst/gstclock.c: (gst_clock_id_wait):
8536 Make period ids add the interval to the origial requested time instead
8537 of the possibly updated time which can be wrong when there are multiple
8538 waiters for the same id. Fixes #382592.
8540 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
8541 (gst_system_clock_id_wait_jitter_unlocked),
8542 (gst_system_clock_id_wait_jitter):
8543 Fix restart in the async notify thread when an async entry is added to
8544 the front of the list. Fixes #381492.
8546 * tests/check/gst/gstsystemclock.c: (store_callback),
8547 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
8548 Added test for multiple async waits.
8549 Added test for async wait order.
8551 2006-12-07 Wim Taymans <wim@fluendo.com>
8553 * gst/gstbin.c: (gst_bin_query):
8554 Add some more docs about the POSITION query.
8556 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
8559 Bump version nano - back to CVS.
8561 === release 0.10.11 ===
8563 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
8566 releasing 0.10.11, "Love never runs on time"
8568 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
8570 * win32/common/libgstbase.def:
8571 * win32/common/libgstreamer.def:
8572 * win32/vs8/libgstbase.vcproj:
8573 * win32/vs8/libgstcoreelements.vcproj:
8574 * win32/vs8/libgstreamer.vcproj:
8575 Fix compilation on win32 under VS8
8576 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
8577 Partially fixes #381175
8579 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
8581 * gst/gstvalue.c: (gst_value_compare_fraction):
8582 If someone is foolish enough to compare 2 fractions with denominator =
8583 0, return UNORDERED rather than aborting.
8585 2006-11-28 Edward Hervey <edward@fluendo.com>
8587 * libs/gst/base/Makefile.am:
8588 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
8589 (gst_data_queue_base_init), (gst_data_queue_class_init),
8590 (gst_data_queue_init), (gst_data_queue_new),
8591 (gst_data_queue_cleanup), (gst_data_queue_finalize),
8592 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
8593 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
8594 (gst_data_queue_is_empty), (gst_data_queue_is_full),
8595 (gst_data_queue_set_flushing), (gst_data_queue_push),
8596 (gst_data_queue_pop), (gst_data_queue_drop_head),
8597 (gst_data_queue_set_property), (gst_data_queue_get_property):
8598 * libs/gst/base/gstdataqueue.h:
8599 New GstDataQueue object for threadsafe queueing. Most useful for
8600 elements that need some queueing functionnality.
8601 * docs/libs/gstreamer-libs-docs.sgml:
8602 * docs/libs/gstreamer-libs-sections.txt:
8603 Insert documentation for GstDataQueue
8604 * plugins/elements/Makefile.am:
8605 * plugins/elements/gstelements.c:
8606 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
8607 (gst_multi_queue_class_init), (gst_multi_queue_init),
8608 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8609 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
8610 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
8611 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8612 (gst_multi_queue_loop), (gst_multi_queue_chain),
8613 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8614 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
8615 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
8616 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
8617 (wake_up_next_non_linked), (compute_next_non_linked),
8618 (single_queue_overrun_cb), (single_queue_underrun_cb),
8619 (single_queue_check_full), (gst_single_queue_new):
8620 * plugins/elements/gstmultiqueue.h:
8621 New multiqueue element, using GstDataQueue. Used for queuing multiple
8623 Closes #344639 and #347785
8625 2006-11-22 Stefan Kost <ensonic@users.sf.net>
8627 * docs/pwg/advanced-types.xml:
8628 add more missing type details
8630 * tools/gst-run.c: (main):
8631 remove unused variable
8633 2006-11-21 Stefan Kost <ensonic@users.sf.net>
8635 * docs/libs/Makefile.am:
8636 * docs/libs/gstreamer-libs.types:
8637 add types of base classes to enable gobject specific stuff in the docs
8639 * docs/random/ensonic/embedded.txt:
8640 more ideas about isolating platform specific things
8642 2006-11-20 Wim Taymans <wim@fluendo.com>
8644 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
8646 * libs/gst/check/gstcheck.h:
8647 Fix compilation and running against 0.9.4. Fixes #377332.
8649 2006-11-20 Wim Taymans <wim@fluendo.com>
8651 * gst/gstsegment.c: (gst_segment_set_seek),
8652 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
8653 (gst_segment_to_running_time):
8654 Fix boundary checking in to_running_time() and to_stream_time().
8657 * tests/check/gst/gstsegment.c: (GST_START_TEST):
8658 stream and running time can now be calculated for the complete
8661 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
8663 * gst/gstpad.c: (gst_pad_push_event):
8664 Can't access event structure after giving away ownership of
8667 2006-11-15 Stefan Kost <ensonic@users.sf.net>
8669 * docs/random/ensonic/embedded.txt:
8670 * docs/random/ensonic/profiling.txt:
8671 * docs/random/ensonic/receipies.txt:
8674 2006-11-13 Wim Taymans <wim@fluendo.com>
8676 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
8679 Fix documentation for gst_pad_dispatcher. Fixes #374475.
8681 2006-11-13 Wim Taymans <wim@fluendo.com>
8683 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
8685 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
8686 Store new length in segment duration so we don't keep on calling the
8687 potentially expensize get_size() call. Fixes #370865.
8689 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
8691 Patch by: Sergey Scobich <sergey.scobich at gmail com>
8693 * win32/common/libgstreamer.def:
8694 Add two missing symbols (#366492).
8696 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
8698 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
8699 (gst_adapter_take_buffer):
8700 Fix format string to use all its arguments.
8701 Remove useless >= check on a guint
8703 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
8705 * tests/examples/adapter/.cvsignore:
8706 Ignore build file as commanded by the build-bot
8708 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
8710 * tests/examples/adapter/Makefile.am:
8711 * tests/examples/adapter/adapter_test.c: (run_test_take),
8712 (run_test_take_buffer), (run_tests), (main):
8714 Add new files from the previous commit
8716 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
8720 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
8721 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
8722 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
8723 * libs/gst/base/gstadapter.h:
8724 * tests/check/libs/adapter.c: (create_and_fill_adapter),
8725 (GST_START_TEST), (gst_adapter_suite):
8726 * tests/examples/Makefile.am:
8727 Do some optimisation work in GstAdapter to avoid copies in more cases.
8728 It could still do slightly better by merging buffers when
8729 gst_buffer_is_span_fast is true, but is already faster.
8731 Also, avoid traversing a single-linked list to append each incoming
8732 buffer inside the adapter.
8734 Add simple test app that times the adapter behaviour in different
8735 situations, and extend the unit test to check that bytes enter and
8736 exit the adapter in their original order.
8738 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
8740 * docs/random/draft-missing-plugins.txt:
8741 Update: use element message instead of adding a new message
8742 type to the core; don't provide GStreamer API to initiate the
8743 plugin download, just provide API to compose the strings needed
8744 and let an external libgimmestuff handle the rest.
8746 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
8748 * tools/gst-inspect.c: (print_element_properties_info):
8749 Print a string instead of 'unknown type' for GValueArray properties
8751 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
8753 * docs/random/draft-missing-plugins.txt:
8756 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
8758 * tests/examples/typefind/typefind.c: (type_found), (main):
8759 Make typefind element example work again (#371894); add a
8762 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
8764 * docs/random/draft-missing-plugins.txt:
8765 Commit initial draft about how to deal with missing plugins,
8766 needs work (API too).
8768 2006-11-07 Stefan Kost <ensonic@users.sf.net>
8770 * docs/pwg/advanced-types.xml:
8771 documents the new caps elements (see #363118)
8773 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
8775 * gst/gstplugin.c: (gst_plugin_load_file):
8776 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
8777 (gst_file_src_map_region), (gst_file_src_start):
8778 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
8779 (gst_file_index_commit):
8780 Use g_strerror() instead of strerror() - we want UTF-8.
8782 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
8784 Patch by: Peter Kjellerstedt <pkj at axis com>
8786 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
8787 Another printf fix (#371493).
8789 2006-11-06 Stefan Kost <ensonic@users.sf.net>
8791 * tests/check/gst/gsttag.c:
8792 relicence (okay with author=company)
8794 2006-11-06 Stefan Kost <ensonic@users.sf.net>
8796 * gst/gstpad.c: (gst_pad_event_default_dispatch),
8797 (gst_pad_push_event):
8798 Enhance debug and improve docs
8803 2006-11-06 Stefan Kost <ensonic@users.sf.net>
8805 * docs/random/ensonic/distributed.txt:
8806 * docs/random/ensonic/profiling.txt:
8809 2006-11-06 Stefan Kost <ensonic@users.sf.net>
8811 * docs/gst/gstreamer-sections.txt:
8812 add new API and fix the build
8814 * gst/gstbin.c: (gst_bin_recalc_state):
8815 * gst/gstelement.c: (gst_element_message_full),
8816 (gst_element_get_state_func), (gst_element_set_state_func):
8817 use new API and improve logging
8819 * gst/gstutils.c: (gst_element_state_change_return_get_name):
8821 API: add function to get StateChangereturn names to improve logs
8823 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
8825 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
8826 I'm considering shooting the next person to put strerror stuff
8827 in the translateable part of the message.
8829 2006-11-03 Wim Taymans <wim@fluendo.com>
8831 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
8832 Get the type and printf conversion specifiers right.
8834 2006-11-03 Wim Taymans <wim@fluendo.com>
8836 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
8838 * gst/gstpad.c: (gst_pad_init), (pre_activate),
8839 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
8840 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
8841 Some small cleanups. Improve debugging.
8843 Signal all waiting threads with a broadcast instead of just one.
8846 2006-11-03 Wim Taymans <wim@fluendo.com>
8848 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
8849 (gst_fd_src_create):
8851 Only update fd when it's different from the old.
8853 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
8855 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
8856 Printf fixes for PPC/OSX, take two (#369366).
8858 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
8860 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
8862 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
8863 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
8864 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
8865 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
8866 don't cast to long long for portability reasons, but use
8867 GLib's types instead.
8869 2006-10-30 Michael Smith <msmith@fluendo.com>
8871 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
8872 Get the arguments to lseek() the right way around.
8875 2006-10-30 Wim Taymans <wim@fluendo.com>
8877 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
8880 _declspec should be __declspec (two underscores, not one). Fixes 366572.
8882 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
8884 Patch by: Kjartan Maraas <kmaraas at gnome org>
8886 * docs/design/part-MT-refcounting.txt:
8887 * docs/random/wtay/capsnego2-docs:
8890 Typo fixes (#366212).
8892 2006-10-28 Wim Taymans <wim@fluendo.com>
8894 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
8897 * win32/common/libgstbase.def:
8898 * win32/common/libgstreamer.def:
8899 * win32/vs8/libgstbase.vcproj:
8900 * win32/vs8/libgstcontroller.vcproj:
8901 Add needed entries in .def files.
8903 Rearrange def files in vs8 solutions. Fixes #366286.
8905 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
8907 * win32/common/gstconfig.h:
8908 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
8909 hand-made win32 gstconfig.h. Fixes #366321.
8911 2006-10-27 Wim Taymans <wim@fluendo.com>
8913 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
8914 (gst_ghost_pad_new_full):
8915 Make acceptcaps return TRUE when we don't have a target, just like
8918 2006-10-27 Wim Taymans <wim@fluendo.com>
8920 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8921 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
8923 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
8925 * gst/gststructure.c: (gst_structure_id_set_value):
8926 If someone tries to set a non-UTF8 string field on a structure,
8927 don't just print a warning, but also ignore the request and do
8928 not change/add that field to the structure.
8930 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8933 2006-10-25 David Schleef <ds@schleef.org>
8936 g_hash_table_insert() needs a cast to a non-const pointer duh.
8938 2006-10-25 David Schleef <ds@schleef.org>
8942 Change name parameter of _gst_debug_register_funcptr to const
8943 to reflect the constness of its use in the function as well
8944 as to quiet a gcc warning.
8946 2006-10-25 Edward Hervey <edward@fluendo.com>
8948 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8949 Don't push the buffer if it's empty.
8952 2006-10-24 Wim Taymans <wim@fluendo.com>
8957 * libs/gst/base/gstbasetransform.c:
8958 (gst_base_transform_sink_eventfunc):
8959 Debug segment values *after* updating them as this is more
8962 2006-10-23 Wim Taymans <wim@fluendo.com>
8964 * docs/design/part-events.txt:
8967 * docs/design/part-block.txt:
8968 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
8969 (gst_pad_push_event):
8970 Revert BLOCKING patch, it tries to be smart without really having a
8971 clear idea what or how. So, now we discard all FLUSHING events again on
8972 a blocking pad. Should fix gnonlin again.
8974 2006-10-23 Wim Taymans <wim@fluendo.com>
8976 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
8978 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
8979 (gst_base_src_start), (gst_base_src_activate_push):
8980 Make sure size is always initialized. Fixes #364388.
8982 2006-10-20 Stefan Kost <ensonic@users.sf.net>
8984 * docs/random/ensonic/distributed.txt:
8985 add some ideas about doing distributed processing
8987 * docs/random/ensonic/profiling.txt:
8988 get_rusage look promising
8990 2006-10-18 Stefan Kost <ensonic@users.sf.net>
8992 * docs/manual/basics-helloworld.xml:
8993 Add a cast in example to fix compile warning
8995 2006-10-18 Wim Taymans <wim@fluendo.com>
8997 * gst/gstsegment.c: (gst_segment_set_last_stop),
8998 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
8999 Relax arg checking again, -1 is allowed.
9001 2006-10-18 Wim Taymans <wim@fluendo.com>
9003 * gst/gstsegment.c: (gst_segment_set_last_stop),
9004 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
9005 _set_last_stop() must be with a value != -1
9006 A _TYPE_SET to -1 means seek to 0.
9007 Calc last_stop correctly for negative rates.
9008 Make sure we work with positive durations when updating a segment.
9010 2006-10-18 Wim Taymans <wim@fluendo.com>
9012 * docs/design/part-live-source.txt:
9016 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
9019 Add an explicit cast to GstBuffer** to keep old code that added an
9020 explicit cast to GstMiniObject** for gst_mini_object_replace()
9021 compiling without warning.
9023 2006-10-18 Stefan Kost <ensonic@users.sf.net>
9025 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
9026 check for validity of dates
9028 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
9030 * docs/gst/gstreamer-sections.txt:
9031 Forgot this one, makes gtk-doc shut up.
9033 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
9035 Patch by: Peter Kjellerstedt <pkj at axis com>
9038 Don't define xmlNodePtr to gpointer if the core was built with
9039 --disable-loadsave and --disable-registry, this will break
9040 applications that want to use libxml2 but are buildling against a
9041 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
9042 instead so we don't have to mess with the libxml2 namespace
9045 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
9048 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
9049 type-punned pointer warnings.
9051 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
9054 Add casts to the correct return type to state <=> state transition
9057 2006-10-16 Stefan Kost <ensonic@users.sf.net>
9059 * docs/design/part-live-source.txt:
9060 describe howto handle latency
9062 * docs/random/ensonic/profiling.txt:
9065 * tools/gst-plot-timeline.py:
9066 fix log parsing for solaris, remove unused function
9068 2006-10-16 Wim Taymans <wim@fluendo.com>
9070 * docs/design/part-trickmodes.txt:
9072 Update some docs regarding reverse playback.
9074 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
9076 Patch by: Marcus Granado <mrc dot gran at gmail com>
9078 * win32/vs8/grammar.vcproj:
9079 Error out with a warning if glib-genmarshal.exe is not in path,
9080 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
9082 2006-10-13 Wim Taymans <wim@fluendo.com>
9084 * gst/gstsegment.c: (gst_segment_set_seek):
9085 When seeking to stop -1, set last_stop (current position) to the
9086 duration of the segment.
9088 2006-10-13 Wim Taymans <wim@fluendo.com>
9091 Clarify _NO_PREROLL a bit more.
9096 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
9097 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
9098 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
9099 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
9100 due to wrong locking order. Fixes #361769.
9101 Remove some redundant/misplaced checks in pad_block.
9103 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9104 For negative rates, count backwards from the duration.
9106 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
9108 * gst/gsterror.c: (_gst_library_errors_init):
9109 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
9110 up with something better).
9112 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
9114 * win32/vs6/libgstreamer.dsp:
9115 * win32/vs7/libgstreamer.vcproj:
9116 * win32/vs8/libgstreamer.vcproj:
9117 Don't reference glib-compat.c which is currently not used and not
9118 disted; add gstquark.c which was recently added. Fixes #361730.
9120 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
9122 * win32/common/libgstbase.def:
9123 * win32/common/libgstcontroller.def:
9124 * win32/common/libgstreamer.def:
9125 Add gst_caps_merge() and a bunch of other recently-added functions.
9128 2006-10-11 Wim Taymans <wim@fluendo.com>
9130 * docs/plugins/gstreamer-plugins.args:
9131 * docs/plugins/inspect/plugin-coreelements.xml:
9132 * docs/plugins/inspect/plugin-coreindexers.xml:
9133 Update element args.
9135 * gst/gstsystemclock.c:
9136 Small comment update.
9138 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
9139 (gst_tee_request_new_pad), (gst_tee_release_pad),
9140 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
9141 (gst_tee_sink_activate_pull):
9142 * plugins/elements/gsttee.h:
9144 Add default property defines.
9145 Implement release pad function.
9146 Give properties better blubs etc.
9147 Activate pads before adding them to a running tee.
9148 Do simple buffer_alloc on the first requested pad.
9149 Post error when activation fails.
9151 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
9153 * gst/gst.c: (ensure_current_registry_forking):
9154 Check return value of write() to make compiler happy.
9156 2006-10-11 Wim Taymans <wim@fluendo.com>
9158 Patch by: Sjoerd Simons <sjoerd at luon dot net>
9160 * plugins/elements/gstqueue.c: (gst_queue_chain):
9161 Recheck queue filledness after signalling the overrun when we're about
9162 to leak downstream because we released the lock when emitting the signal
9163 and the queue could be empty again. Fixes #352345.
9165 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
9167 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
9168 Fix refcounting here too, just like we did for _new_valist() a few
9169 days ago (#357180) (thanks to René Stadler). Also remove all those
9170 'Since: 0.9' from the gtk-doc blobs.
9172 * tests/check/libs/controller.c: (controller_refcount_new_list),
9173 (gst_controller_suite):
9174 Unit test for the above.
9176 2006-10-10 Wim Taymans <wim@fluendo.com>
9178 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
9180 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
9181 (gst_pad_save_thyself):
9183 Write pad direction in XML output. Fixes #345496.
9185 2006-10-10 Wim Taymans <wim@fluendo.com>
9187 Patch by: René Stadler <mail at renestadler dot de>
9189 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9190 (gst_controller_new_list), (_gst_controller_dispose),
9191 (_gst_controller_finalize), (_gst_controller_class_init):
9192 Take ref to controlled object so that it cannot disappear.
9195 2006-10-10 Wim Taymans <wim@fluendo.com>
9197 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
9198 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9199 (gst_check_teardown_sink_pad):
9200 Activate/deactivate pads in setup/teardown respectively.
9202 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9204 Patch by: Josep Torra Valles <josep@fluendo.com>
9207 Cast values when making gstenumtypes.h. This pacifies Forte
9208 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
9211 2006-10-09 Wim Taymans <wim@fluendo.com>
9213 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
9214 Rename some more @cur to @start to fix docs.
9216 * gst/gstsegment.c: (gst_segment_set_seek):
9218 time and start must always stay in sync as defined in design doc.
9220 * gst/gsttaglist.c: (gst_tag_list_is_empty):
9221 Rename param to fix docs.
9223 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9224 Check that start and time are in sync.
9226 * tests/check/pipelines/parse-launch.c:
9227 (gst_parse_test_element_change_state):
9228 Activate pad before adding to the element.
9230 2006-10-09 Wim Taymans <wim@fluendo.com>
9232 * docs/design/part-qos.txt:
9237 Update seek event docs regarding negative rates.
9238 Rename @cur to @start.
9240 * gst/gstsegment.c: (gst_segment_set_seek):
9242 Update set_seek docs regarding negative rates.
9243 Correctly update last_stop to @stop when dealing with negative
9245 Rename @cur to @start.
9247 * tests/check/gst/gstpad.c: (GST_START_TEST):
9248 Activate pads before trying to use them.
9250 * tests/check/gst/gstsegment.c: (GST_START_TEST),
9251 (gst_segment_suite):
9252 Add simple check for segments and negative rates.
9254 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
9256 * gst/gsttaglist.c: (gst_tag_list_is_empty):
9258 * docs/gst/gstreamer-sections.txt:
9259 API: add gst_tag_list_is_empty() (#360467).
9261 * tests/check/gst/gsttag.c: (GST_START_TEST):
9264 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9267 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
9268 a value that doesn't fit on enumeration.
9270 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9272 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
9273 Remove local debugging system and use Gstreamer's instead.
9275 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9277 Patch by: Josep Torra Valles <josep@fluendo.com>
9279 * common/m4/gst-error.m4:
9280 Disable warning of statement not reached on Forte.
9282 Fix warning on Forte (value doesn't fit on enumeration).
9283 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
9284 Fix warning on Forte (value doesn't fit on enumeration).
9285 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
9286 DEBUG macro says it takes minimum of 2 args and so Forte
9287 complains about the use with just 1 arg.
9288 * plugins/elements/gstfdsink.c:
9289 * plugins/elements/gstfdsrc.c:
9290 * plugins/elements/gstfilesink.c:
9291 * plugins/elements/gstfilesrc.c:
9292 Use correct return type for the uri handler implementations.
9294 All these fix warnings in Forte. Fixes bug #360860.
9296 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
9299 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
9300 format string, so don't use G_GNUC_PRINTF for those versions.
9302 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
9304 * gst/gsttaglist.c: (gst_is_tag_list):
9306 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
9308 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9309 Small test for the above.
9311 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
9314 Less tabs, more spaces.
9316 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
9319 Those two function declarations do actually belong there, revert
9320 commit from yesterday that turned them intro macros.
9322 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9324 Patch by: Josep Torra Valles <josep@fluendo.com>
9326 * gst/gst.c: (gst_init_get_option_group):
9327 Fix empty declaration and type mismatch.
9328 * gst/gstbin.c: (gst_bin_change_state_func):
9330 * gst/gstelement.c: (gst_element_continue_state),
9331 (gst_element_set_state_func), (gst_element_change_state),
9332 (gst_element_change_state_func):
9333 Fix type mismatches.
9334 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
9335 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
9336 Cast as appropriate.
9337 * gst/gstobject.c: (gst_class_signal_connect):
9338 Cast as appropriate. The function pointer parameter really
9339 has the wrong type but would break API if we change it.
9341 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
9342 order of including string.h.
9343 * gst/gstutils.c: (gst_element_state_get_name):
9344 Remove unreachable line.
9345 * gst/gstxml.c: (gst_xml_parse_doc):
9347 All these caught by Forte.
9349 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9351 Patch by: Josep Torra Valles <josep@fluendo.com>
9353 * common/m4/gst-error.m4:
9355 We need to disable warnings on Forte for empty declarations
9356 due to gst-indent adding ;s to lines that just use macros
9357 where the macro actually doesn't need a ; at end to end
9360 2006-10-06 Wim Taymans <wim@fluendo.com>
9362 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
9363 (gst_file_sink_close_file), (gst_file_sink_event),
9364 (gst_file_sink_render):
9365 Add some FIXME for the NEWSEGMENT handling.
9367 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9369 * gst/parse/grammar.y:
9370 Remove static function gst_parse_element_lock as all it does
9371 is return. Looks like cruft from 0.8.
9373 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9375 Patch by: Josep Torra Valles <josep@fluendo.com>
9377 * common/m4/gst-error.m4:
9379 * libs/gst/net/Makefile.am:
9380 Fix a compilation issue with Forte on Solaris. inet_aton is in
9383 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
9385 * gst/gstpad.c: (pre_activate):
9386 * gst/gstregistry.c: (gst_registry_scan_path_level):
9387 * gst/gstregistryxml.c: (load_plugin):
9388 * libs/gst/controller/gstcontroller.c:
9389 (gst_controlled_property_set_interpolation_mode):
9390 * libs/gst/dataprotocol/dataprotocol.c:
9391 (gst_dp_packet_from_event_1_0):
9392 * libs/gst/net/gstnetclientclock.c:
9393 (gst_net_client_clock_observe_times):
9394 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9397 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
9400 * docs/gst/gstreamer-sections.txt:
9401 * gst/gstconfig.h.in:
9404 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
9405 whether we can use G_GNUC_PRINTF in other header files and at
9406 least check the printf format/arguments of debug messages and
9407 GST_ELEMENT_ERROR messages when the printf extension is not
9409 Replace more tabs with spaces in gstinfo.h and remove two spurious
9410 function declarations in GST_DISABLE_DEBUG part with macros.
9412 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
9414 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
9415 More docs for the sync-message signal (mention that it is not
9416 emitted by default); log message structures of messages posted on
9419 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
9421 * gst/gst.c: (ensure_current_registry_forking):
9422 Use a pipe pair to receive status results from the forked child, and
9423 ignore the result from waitpid. Fixes #355499
9425 2006-10-02 Wim Taymans <wim@fluendo.com>
9427 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
9428 (gst_ghost_pad_suite):
9431 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
9434 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
9436 2006-10-02 Edward Hervey <edward@fluendo.com>
9438 * docs/design/part-block.txt:
9439 Further explain the use of flushing on blocked pads.
9440 * docs/gst/gstreamer-sections.txt:
9441 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
9442 (gst_pad_push_event):
9444 Added new GstPadFlag : GST_PAD_BLOCKING.
9445 Adds the notion of pads really blocking, which enables to properly
9446 handle FLUSH_START/FLUSH_STOP events on blocked pads.
9448 API: gst_pad_is_blocking()
9449 API: GST_PAD_IS_BLOCKING() macro
9450 API: GST_PAD_BLOCKING GstPadFlag
9452 2006-10-02 Wim Taymans <wim@fluendo.com>
9454 Patch by: mrcgran <mrc.gran at gmail dot com>
9456 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
9457 Filter the proxied caps against the padtemplate if we have one.
9459 * gst/gstquery.c: (gst_query_new_segment):
9460 Add include for gstinfo.h so that compilation with
9461 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
9463 2006-10-02 Wim Taymans <wim@fluendo.com>
9465 Patch by: Alessandro Decina <alessandro at nnva org>
9467 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
9468 (gst_file_sink_set_location), (gst_file_sink_open_file),
9469 (gst_file_sink_close_file), (gst_file_sink_event),
9470 (gst_file_sink_render):
9471 Set file to NULL when closing filesink so that we can set a new filename
9472 in READY. Fixes #358613.
9474 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
9476 Patch by: Alessandro Decina <alessandro at nnva org>
9478 * gst/gstevent.c: (_gst_event_copy):
9479 Fix gst_mini_object_make_writable() and gst_event_copy() for events
9480 with event structures by setting the parent refcount address of the
9481 copied structure to the address of the refcount member of the newly
9482 copied event rather than the address of the refcount member of the
9483 original event. Fixes #358737.
9485 * tests/check/gst/gstevent.c: (GST_START_TEST):
9486 Unit test for the above.
9488 2006-09-29 Stefan Kost <ensonic@users.sf.net>
9490 * docs/design/Makefile.am:
9491 Dist some more files.
9493 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
9495 * tests/check/libs/controller.c: (GST_START_TEST),
9496 (gst_controller_suite):
9497 Add test for the previous fix; add some more tests
9498 for correct refcounting behaviour; fix a few leaks
9499 in test cases; call gst_controller_init() at start
9502 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
9504 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9505 (gst_controller_set_from_list):
9506 Don't g_return_val_if_fail() on timed values with invalid timestamps
9507 inside a critical section without unlocking the mutex. Spotted by
9508 René Stadler. (#357617)
9509 Also, fix up refcounting properly: when returning an existing
9510 controller, we should increase the reference only once and not
9511 once per property and when trying to control a property again
9512 we should also increase the refcount.
9514 2006-09-29 Wim Taymans <wim@fluendo.com>
9516 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
9517 * libs/gst/net/gstnettimeprovider.c:
9518 (gst_net_time_provider_thread):
9519 Stop reading commands when EOF as well.
9521 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
9522 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
9523 * plugins/elements/gstidentity.c: (gst_identity_class_init):
9524 Unify description of the dump property.
9526 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
9528 * tests/examples/manual/.cvsignore:
9529 OK, so it's actually cvsignore that needs changing. Stop laughing.
9531 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
9533 * tests/examples/manual/Makefile.am:
9534 Gah, declare vars *before* using them
9536 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
9538 * gst/gst.c: (init_pre), (scan_and_update_registry),
9539 (ensure_current_registry_nonforking),
9540 (ensure_current_registry_forking), (ensure_current_registry),
9541 (init_post), (gst_debug_help), (gst_deinit):
9542 * gst/gst_private.h:
9543 * gst/gstregistry.c: (gst_registry_finalize),
9544 (gst_registry_remove_features_for_plugin_unlocked),
9545 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
9546 (gst_registry_scan_path),
9547 (_priv_gst_registry_remove_cache_plugins),
9548 (_priv_gst_registry_cleanup):
9549 * gst/gstregistry.h:
9550 Re-commit the registry changes, along with an extra fix:
9551 When a cached plugin is encountered at a different file path,
9552 update the stored path in the registry cache so that the parent
9553 process knows where it actually is now when it re-reads the registry
9554 cache. Fixes the thing that broke distcheck with the previous commit.
9556 * tests/check/Makefile.am:
9557 Clean up files named 'core' too when running make clean.
9559 * tests/examples/manual/Makefile.am:
9560 Set up a registry path for running these tests, and clean it properly
9563 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
9566 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
9567 want gmodule-no-export-2.0.pc instead so that we don't drag in
9568 --export-dynamic on every project that links to GStreamer.
9570 Also, make our export regex only match the start of symbols, rather
9571 than any symbol that contains '_gst' somewhere.
9573 * libs/gst/check/Makefile.am:
9574 The libgstcheck we build does however need export-dynamic, as it
9575 produces some symbols that don't match our _gst... style regex.
9578 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
9580 * gst/gst.c: (init_pre), (scan_and_update_registry),
9581 (ensure_current_registry_nonforking),
9582 (ensure_current_registry_forking), (ensure_current_registry),
9583 (init_post), (gst_debug_help), (gst_deinit):
9584 * gst/gst_private.h:
9585 * gst/gstregistry.c: (gst_registry_finalize),
9586 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
9587 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
9588 (_gst_registry_cleanup):
9589 * gst/gstregistry.h:
9590 Revert previous change until I figure out why it breaks distcheck.
9592 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
9594 * gst/gst.c: (init_pre), (scan_and_update_registry),
9595 (ensure_current_registry_nonforking),
9596 (ensure_current_registry_forking), (ensure_current_registry),
9597 (init_post), (gst_debug_help), (gst_deinit):
9599 Make init_pre and init_post take the full complement of GOptionFunc
9600 args so they can return useful GErrors. Make the registry updating
9603 Call _priv_gst_registry_remove_cache_plugins after scanning files to
9604 ensure that the registry we're about to write out doesn't contain
9605 stale information about old-deleted plugin files.
9607 Make _priv_gst_registry_remove_cache_plugins return a boolean so
9608 that deletion of plugin files is considered a registry change.
9610 * gst/gst_private.h:
9611 * gst/gstregistry.c: (gst_registry_finalize),
9612 (gst_registry_remove_features_for_plugin_unlocked),
9613 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
9614 (gst_registry_scan_path),
9615 (_priv_gst_registry_remove_cache_plugins),
9616 (_priv_gst_registry_cleanup):
9617 * gst/gstregistry.h:
9618 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
9619 by adding _priv prefix, so that they won't appear in the global
9620 symbol table. They still do atm though because of #318031. Move the
9621 prototypes to gst_private.h
9623 When removing a plugin, remove all features for that plugin too.
9626 2006-09-27 Wim Taymans <wim@fluendo.com>
9628 * docs/random/moving-plugins:
9629 Make it clear that the "compiled-in descriptions" really mean
9630 the element details.
9632 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9633 (gst_base_sink_wait_preroll):
9636 * docs/libs/gstreamer-libs-sections.txt:
9637 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
9638 (gst_base_src_get_range), (gst_base_src_activate_push):
9639 * libs/gst/base/gstbasesrc.h:
9640 Added function to block while waiting for PLAYING, this function
9641 is used by live sources that block on the clock.
9642 API: gst_base_src_wait_playing()
9644 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
9646 Patch by: Peter Kjellerstedt <pkj at axis com>
9649 gst-element-check.m4 is generated and should therefore be
9650 copied from the build dir rather than the source dir (#357593).
9651 'make distcheck' hasn't noticed this because we were disting
9652 the file as well, so stop doing that.
9654 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
9656 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9657 Add some tests for gst_caps_intersect().
9659 * tools/gst-launch.c: (event_loop):
9660 Print all buffering percentages we get, even the 100% one.
9662 2006-09-26 Wim Taymans <wim@fluendo.com>
9664 * tools/gst-inspect.c: (print_element_properties_info),
9665 (print_signal_info):
9666 Fix printing of flags to match the look of enums.
9668 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
9670 * gst/gstelementfactory.c:
9671 Fix typo in docs blurb.
9673 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
9675 * gst/gsturi.c: (search_by_entry):
9676 Don't assert/crash here if a uri handler doesn't return any
9677 supported protocols. The list of protocols could be generated
9678 dynamically at runtime or at plugin registration, and an error
9679 in the underlying library shouldn't be fatal (#353301).
9681 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
9684 Fix warning if HAVE_PRINTF_EXTENSION is undefined
9685 (spotted by Peter Kjellerstedt).
9687 2006-09-23 Wim Taymans <wim@fluendo.com>
9689 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
9691 * libs/gst/base/gstbasesrc.c:
9692 (gst_base_src_default_check_get_range), (gst_base_src_start),
9693 (gst_base_src_activate_push), (gst_base_src_activate_pull),
9694 (gst_base_src_change_state):
9695 Match _start/_stop calls in the activate functions. Remove redundant
9696 _stop call from the state change function. Fixes #356910.
9697 Turn failure DEBUG into ERROR.
9699 2006-09-22 Wim Taymans <wim@fluendo.com>
9701 * docs/design/part-buffering.txt:
9702 * gst/gstmessage.c: (gst_message_new_buffering),
9703 (gst_message_parse_buffering):
9704 Update docs about buffering.
9706 * docs/design/part-trickmodes.txt:
9709 2006-09-22 Stefan Kost <ensonic@users.sf.net>
9711 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9712 (gst_controller_new_list):
9713 Ref instances when returning them again (fixes #357180)
9715 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
9717 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
9718 Don't forget to release proxy lock when there's an error.
9720 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
9723 Add extra initialisers for Caps things, to fix some plugin warnings
9726 2006-09-18 Wim Taymans <wim@fluendo.com>
9728 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
9729 Also set template on the internal pad so that a getcaps from the
9730 target pad returns the template caps.
9732 2006-09-18 Wim Taymans <wim@fluendo.com>
9734 * gst/gstelement.c: (gst_element_post_message),
9735 (gst_element_dispose):
9736 Use _DEBUG_OBJECT some more.
9738 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9741 * tools/gst-launch.c: (main):
9742 If the toplevel element is not a GstPipeline, it must be put in a
9743 pipeline so that a bus and clock is selected.
9745 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
9747 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9748 JITTER, RATE, and LATENCY query should be handled by the
9749 default case and not by the CONVERT query code.
9751 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
9753 * gst/gstformat.c: (gst_format_register):
9754 Fix locking order (must take lock before using n_values).
9756 * gst/gstvalue.c: (gst_value_serialize_enum),
9757 (gst_value_deserialize_enum_iter_cmp),
9758 (gst_value_deserialize_enum):
9759 Fix serialisation/deserialisation of custom registered GstFormats.
9761 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9762 Unit test for custom format serialisation/deserialisation.
9764 2006-09-17 Stefan Kost <ensonic@users.sf.net>
9766 * docs/pwg/building-boiler.xml:
9767 * plugins/elements/gstcapsfilter.c:
9768 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
9771 2006-09-16 Edward Hervey <edward@fluendo.com>
9773 * libs/gst/base/gstbasetransform.c:
9774 (gst_base_transform_buffer_alloc):
9775 Check if requested caps are the same as the sinks caps IF
9776 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
9778 This fixes the renegotiation issues stated in #352827.
9780 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
9783 * docs/manual/advanced-autoplugging.xml:
9784 * tests/examples/Makefile.am:
9785 * tests/examples/manual/.cvsignore:
9786 * tests/examples/manual/Makefile.am:
9787 * tests/examples/manual/extract.pl:
9788 Extract the manual examples again like we used to do.
9791 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
9793 * win32/common/config.h:
9796 2006-09-16 Stefan Kost <ensonic@users.sf.net>
9799 Documents how to receive errors.
9801 2006-09-15 Wim Taymans <wim@fluendo.com>
9803 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
9804 (event_loop), (main):
9805 Added some comments here and there.
9806 Post an application message when an interrupt is caught instead of doing
9807 an uncontrolled state change.
9808 Clean up the event loop.
9809 Handle buffering messages, pause/resume the pipeline.
9810 Make shutdown because of an interrupt more reliable.
9812 2006-09-15 Wim Taymans <wim@fluendo.com>
9814 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9815 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
9816 (gst_base_sink_preroll_object):
9817 Make sure that our internal state is correct when we commit our state
9818 asynchronously. This solves a race where a state change to PLAYING
9819 could cause the sink to remain blocked in preroll in some situations.
9821 2006-09-15 Wim Taymans <wim@fluendo.com>
9823 * tools/gst-inspect.c: (print_element_properties_info),
9824 (print_signal_info):
9825 List flags as hex so it's easier to deal with.
9827 2006-09-15 Wim Taymans <wim@fluendo.com>
9829 * docs/libs/gstreamer-libs-sections.txt:
9830 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
9831 (gst_base_sink_do_sync):
9832 * libs/gst/base/gstbasesink.h:
9833 Expose logic to wait for preroll so that subclasses such as audiosink
9834 can also use this method.
9835 API: gst_base_sink_wait_preroll()
9837 2006-09-15 Wim Taymans <wim@fluendo.com>
9839 * gst/gstobject.c: (gst_object_set_parent):
9840 * gst/gstpipeline.c: (do_pipeline_seek):
9841 Small cleanups in docs and code.
9843 * gst/gstsegment.c: (gst_segment_clip):
9844 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9845 if stop == start and start is in the segment, no clipping should be
9846 done. Also add a test for this.
9848 2006-09-15 Wim Taymans <wim@fluendo.com>
9850 * docs/design/part-buffering.txt:
9851 * docs/gst/gstreamer-sections.txt:
9852 * gst/gstmessage.c: (gst_message_new_buffering),
9853 (gst_message_parse_buffering):
9855 Added methods to create and parse BUFFERING messages.
9856 Added preliminary docs about buffering.
9857 API: gst_message_new_buffering
9858 API: gst_message_parse_buffering
9860 2006-09-06 Wim Taymans <wim@fluendo.com>
9863 Update documentation.
9865 * gst/gstelement.c: (gst_element_class_init),
9866 (gst_element_release_request_pad), (gst_element_set_clock),
9867 (gst_element_get_index), (gst_element_add_pad),
9868 (gst_element_remove_pad), (gst_element_get_random_pad),
9869 (gst_element_send_event), (gst_element_get_query_types),
9870 (gst_element_query), (gst_element_post_message),
9871 (gst_element_message_full), (gst_element_continue_state),
9872 (gst_element_lost_state), (gst_element_save_thyself),
9873 (gst_element_restore_thyself):
9874 Documentation updates.
9875 Rename last bit of the new-pad -> pad-added signal rename.
9876 Fix the case where an element query would only work if the source
9878 Avoid some useless type checking in message handling.
9883 Documentation updates.
9885 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
9887 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
9888 add an INFO line for when we actually update the fd
9890 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
9895 === release 0.10.10 ===
9897 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
9900 releasing 0.10.10, "Pais"
9902 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
9904 * docs/manual/advanced-position.xml:
9905 Fix typo in sample code.
9907 2006-09-05 Wim Taymans <wim@fluendo.com>
9909 * libs/gst/net/gstnetclientclock.c: (inet_aton),
9910 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
9911 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
9912 * libs/gst/net/gstnetclientclock.h:
9913 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
9914 * libs/gst/net/gstnettimepacket.h:
9915 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
9916 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
9917 (gst_net_time_provider_thread), (gst_net_time_provider_new):
9918 * libs/gst/net/gstnettimeprovider.h:
9919 Make stuff compile on windows. Fixes #345295.
9921 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
9923 * gst/gst.c: (ensure_current_registry_forking):
9924 Print better details when child was terminated by signal.
9926 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
9928 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
9929 Print a warning rather than g_assert() if a plugin feature
9930 is a URI handler but returns no protocols (#353976).
9932 2006-09-02 Stefan Kost <ensonic@users.sf.net>
9934 * docs/random/moving-plugins:
9937 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
9939 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
9940 Fix locking order, handle NULL function values properly.
9945 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
9946 Initialise variable before using it and fix debug statement to
9947 print the address of the function rather than the address of the
9948 variable on the stack holding the address of the function.
9950 2006-09-01 Wim Taymans <wim@fluendo.com>
9952 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
9953 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
9954 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
9955 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
9956 (gst_ghost_pad_parent_unset),
9957 (gst_ghost_pad_internal_do_activate_push),
9958 (gst_ghost_pad_internal_do_activate_pull),
9959 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9960 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9961 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
9962 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
9963 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
9964 (gst_ghost_pad_new_no_target_from_template),
9965 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9967 Avoid needless typechecking in macros.
9968 Since the internal pad is always present and never changes, there is
9969 no need to locking or ref when retrieving it.
9970 Improve debugging a bit.
9971 Handle link errors when setting the target. Fixes #341029.
9973 2006-09-01 Wim Taymans <wim@fluendo.com>
9975 * docs/libs/gstreamer-libs-sections.txt:
9976 * docs/plugins/gstreamer-plugins-sections.txt:
9979 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
9980 (gst_collect_pads_event):
9981 * libs/gst/base/gstcollectpads.h:
9982 Documentation updates.
9983 Free queued buffer when removing a pad.
9985 2006-08-31 Michael Smith <msmith@fluendo.com>
9987 * gst/gstutils.c: (gst_element_link_pads),
9988 (gst_element_link_pads_filtered):
9989 Ensure that we set a capsfilter to NULL if we failed to link it
9990 when doing filtered linking, to avoid criticals.
9992 No need to check for unreffing srcpad, which is explicly NULLed
9993 above (a trivial code cleanup).
9995 2006-08-31 Wim Taymans <wim@fluendo.com>
9997 * docs/design/part-gstghostpad.txt:
9998 Update ascii art in documentation.
10000 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
10001 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
10002 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
10003 (gst_ghost_pad_internal_do_activate_push),
10004 (gst_ghost_pad_internal_do_activate_pull),
10005 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10006 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10007 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
10008 (gst_ghost_pad_set_target):
10009 Small cleanups and leak fixes.
10010 Remove some checks now that the internal pad is never NULL.
10011 Fix the case where linking pads without a target would create nasty
10012 criticals. Fixes #341029.
10013 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
10014 value of _set_target().
10016 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10017 (gst_ghost_pad_suite):
10018 Some more tests for creating and linking untargeted ghostpads.
10020 2006-08-31 Edward Hervey <edward@fluendo.com>
10022 * docs/gst/gstreamer-sections.txt:
10023 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
10024 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
10025 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
10026 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
10027 (gst_ghost_pad_new_from_template),
10028 (gst_ghost_pad_new_no_target_from_template):
10029 * gst/gstghostpad.h:
10030 Refactored *_new() functions.
10031 Templates are now used as a g_object_new() parameter.
10032 Use template in _do_getcaps() if we don't have a target.
10033 Small documentation cleanups.
10034 Added two new constructors:
10035 gst_ghost_pad_new_from_template()
10036 gst_ghost_pad_new_no_target_from_template()
10037 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10038 (gst_ghost_pad_suite):
10039 Added tests for new ghostpad instanciation functions.
10041 API additions: gst_ghost_pad_new_from_template,
10042 gst_ghost_pad_new_no_target_from_template
10044 2006-08-30 Stefan Kost <ensonic@users.sf.net>
10046 * docs/random/ensonic/profiling.txt:
10047 Ideas about qos profiling.
10049 2006-08-29 Wim Taymans <wim@fluendo.com>
10051 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
10055 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
10058 Improve and detypofy docs.
10060 * tests/check/Makefile.am:
10061 * tests/check/gst/.cvsignore:
10062 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
10063 Add a basic test suite for GstXML.
10065 2006-08-29 Wim Taymans <wim@fluendo.com>
10067 * gst/gstelement.c: (activate_pads), (clear_caps),
10068 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
10069 Clear the pad caps when the element shut down all of the pads and
10070 is not streaming data that could modify the caps.
10073 2006-08-28 Michael Smith <msmith@fluendo.com>
10075 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10076 Revert previous change; I misunderstood single-segment mode.
10078 2006-08-28 Michael Smith <msmith@fluendo.com>
10080 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10081 Unset DISCONT on buffers when using single-segment mode.
10083 2006-08-28 Wim Taymans <wim@fluendo.com>
10085 * gst/gstcaps.c: (gst_caps_merge_structure):
10087 Fix docs and indentation again.
10089 * tests/check/gst/gstquery.c: (GST_START_TEST):
10090 Fix leak in tests and add some more tests.
10092 2006-08-28 Edward Hervey <edward@fluendo.com>
10094 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10095 Inform GstSegment of the last stop position in order for the current
10096 segment to have a proper duration if it doesn't have a specific stop
10097 position from which a duration could be calculated.
10098 This bug was noticeable when a non-flushing, non-update new segment was
10099 followed by another segment (all buffers from the new segment were being
10102 2006-08-28 Wim Taymans <wim@fluendo.com>
10104 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
10105 Small comment update.
10107 * plugins/elements/gstidentity.c: (gst_identity_class_init),
10108 (gst_identity_transform_ip):
10109 Drop-probability is broken, mention this in the code with a
10110 FIXME and also in the property description.
10111 Make silent also be silent about the drop messages.
10113 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
10115 * docs/manual/appendix-win32.xml:
10116 Remove mention of popt, we don't depend on that any
10117 longer (#353136). Add some comments pointing out that
10118 this section is slightly outdated.
10120 2006-08-28 Wim Taymans <wim@fluendo.com>
10122 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
10124 * gst/gstquery.c: (gst_query_new_segment):
10125 * tests/check/gst/gstquery.c: (GST_START_TEST):
10126 Initialize variables when creating a new segment query.
10129 2006-08-28 Wim Taymans <wim@fluendo.com>
10131 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
10133 * gst/gstelement.c: (gst_element_get_bus):
10134 * tests/check/gst/gstelement.c: (GST_START_TEST):
10135 Check for NULL before _reffing the bus. Fixes #353122.
10137 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
10139 * docs/manual/basics-bus.xml:
10140 Docs update: fix wrong callback return value explanation; add
10141 some lines about the implicit relationship between main loop
10142 and main context; remove duplicate main loop variable declaration.
10144 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
10146 * tests/check/gst/gstcaps.c: (GST_START_TEST):
10147 Don't leak caps in unit test; add a few more simple
10150 2006-08-24 Stefan Kost <ensonic@users.sf.net>
10152 * docs/gst/gstreamer-sections.txt:
10153 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
10154 (gst_caps_structure_is_subset), (gst_caps_merge),
10155 (gst_caps_merge_structure):
10157 * libs/gst/base/gstbasetransform.c:
10158 (gst_base_transform_transform_caps):
10159 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10160 implement caps merging (fixes #352580)
10162 2006-08-23 Stefan Kost <ensonic@users.sf.net>
10164 * tools/Makefile.am:
10165 * tools/gst-plot-timeline.py:
10166 add debug-log plotting developer tool (#340674)
10168 2006-08-23 Wim Taymans <wim@fluendo.com>
10170 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
10171 (gst_pad_stop_task):
10172 Improve debugging for task functions.
10174 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
10175 (gst_task_start), (gst_task_pause), (gst_task_join):
10176 Make sure that the task function started and finished after a
10178 Don't try to push the task function on the threadpool multiple
10180 Improve the g_warning message with some useful suggestions
10181 about how to fix the problem.
10183 2006-08-23 Wim Taymans <wim@fluendo.com>
10185 * gst/gstutils.c: (gst_pad_proxy_getcaps):
10186 Handle RESYNC correctly in _proxy_getcaps.
10188 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
10190 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
10191 (gst_xml_parse_memory), (gst_xml_get_element):
10192 Chain up to parent class in dispose function and also
10193 unref the elements in the toplevel_elements GList.
10194 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
10195 Always return a reference in gst_xml_get_element() rather
10196 than only sometimes.
10198 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10199 Don't leak GstXml object.
10201 2006-08-21 Stefan Kost <ensonic@users.sf.net>
10203 * docs/gst/gstreamer-sections.txt:
10204 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
10207 * libs/gst/base/gstbasetransform.c:
10208 (gst_base_transform_transform_caps):
10209 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
10212 2006-08-21 Edward Hervey <edward@fluendo.com>
10214 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
10215 Implement GObject::dispose virtual method in GstXML so we can free the
10216 top_elements GList.
10218 2006-08-21 Wim Taymans <wim@fluendo.com>
10220 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
10221 (gst_buffer_create_sub):
10222 Copy duration/offset_end/caps when creating a subbuffer of the
10224 Make the subbuffer read-only when we make the metadata writable for
10225 now. Fixes #351768.
10227 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
10228 Added check for metadata copy when creating subbuffers.
10230 2006-08-21 Edward Hervey <edward@fluendo.com>
10232 * libs/gst/base/gstbasetransform.c:
10233 (gst_base_transform_buffer_alloc):
10234 Only call downstream buffer_alloc if transform element is passthrough
10235 or always_in_place. Closes #350449.
10237 2006-08-20 Stefan Kost <ensonic@users.sf.net>
10240 ChangeLog surgery to add comments to previous changes
10242 2006-08-20 Stefan Kost <ensonic@users.sf.net>
10247 * gst/gstpad.c: (gst_pad_set_active):
10248 Be more verbose in the log
10250 * libs/gst/base/gstbasetransform.c:
10251 (gst_base_transform_transform_caps):
10252 Simplify caps to get rid of duplicates, fixes #345444
10254 2006-08-20 Stefan Kost <ensonic@users.sf.net>
10258 Use these optimizations only internally.
10260 2006-08-20 Stefan Kost <ensonic@users.sf.net>
10262 * gst/gstvalue.c: (gst_value_compare_list),
10263 (gst_value_compare_fraction_range),
10264 (gst_value_intersect_fraction_fraction_range),
10265 (gst_value_intersect_fraction_range_fraction_range),
10266 (gst_value_subtract_fraction_fraction_range),
10267 (gst_value_subtract_fraction_range_fraction_range),
10268 (gst_value_get_compare_func), (gst_value_compare),
10269 (gst_value_compare_with_func):
10271 Saves the expensive lookup of the compare function in many cases
10274 2006-08-18 Edward Hervey <edward@fluendo.com>
10276 * tests/check/gst/gstinfo.c: (gst_info_suite):
10277 Disable test that require gstdebug if it wasn't built in core.
10279 2006-08-18 Stefan Kost <ensonic@users.sf.net>
10281 * docs/random/ensonic/logging.txt:
10284 * gst/gstinfo.c: (gst_debug_log_default):
10285 reorder fields, save some columns, add optional color codes for log
10288 2006-08-18 Stefan Kost <ensonic@users.sf.net>
10290 * docs/random/ensonic/logging.txt:
10291 add ideas about making the logs a bit more useful
10293 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
10295 * docs/pwg/advanced-events.xml:
10296 * docs/pwg/titlepage.xml:
10297 Update for 0.10 API (#340627). Add myself
10300 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
10302 * docs/libs/gstreamer-libs-docs.sgml:
10303 * docs/libs/gstreamer-libs-sections.txt:
10304 * libs/gst/check/gstbufferstraw.c:
10305 Make gstcheck stuff show up in docs (still needs to
10306 be documented properly though).
10308 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
10310 * docs/gst/gstreamer-sections.txt:
10312 * gst/gst.c: (init_post):
10313 * gst/gst_private.h:
10314 * gst/gstquark.c: (_priv_gst_quarks_initialize):
10316 * gst/gstquery.c: (gst_query_new_position),
10317 (gst_query_set_position), (gst_query_parse_position),
10318 (gst_query_new_duration), (gst_query_set_duration),
10319 (gst_query_parse_duration), (gst_query_new_convert),
10320 (gst_query_set_convert), (gst_query_parse_convert),
10321 (gst_query_new_segment), (gst_query_set_segment),
10322 (gst_query_parse_segment), (gst_query_new_seeking),
10323 (gst_query_set_seeking), (gst_query_parse_seeking):
10324 Add internal helpers for pre-registering quarks from static strings
10325 and using the quark values directly instead of looking them up when
10326 creating and parsing queries. Can be used for event construction too.
10329 2006-08-16 Wim Taymans <wim@fluendo.com>
10334 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
10336 * gst/gstutils.c: (gst_util_set_value_from_string):
10337 Fix memleak (#351502).
10339 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10340 Add unit test for most of gst_util_set_value_from_string()
10341 (not that one would want to encourage use of this function).
10343 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
10345 * libs/gst/check/gstcheck.h:
10346 Use const gchar * variables in fail_unless_equals_string
10347 macro to avoid compiler warnings (and don't use tabs for
10350 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
10352 * tools/gst-launch.c: (print_tag):
10353 More space on the left for the tag names, to cater
10354 for the 'extended comment' tag (not touching the
10355 string for the first line since it's translated).
10357 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
10359 * libs/gst/check/gstcheck.h:
10360 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
10361 print something when they fail.
10363 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
10365 * docs/gst/gstreamer-sections.txt:
10366 * gst/gsttaglist.c: (_gst_tag_initialize):
10367 * gst/gsttaglist.h:
10368 API: add GST_TAG_EXTENDED_COMMENT (#350935).
10369 Also change merge function for GST_TAG_COMMENT to
10372 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
10374 * gst/gstinfo.c: (gst_debug_print_object):
10375 Make GST_PTR_FORMAT print messages as well.
10377 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
10378 (GST_START_TEST), (gst_info_suite):
10381 2006-08-14 Edward Hervey <edward@fluendo.com>
10383 * gst/gstelementfactory.c: (gst_element_register):
10384 If the GstElementClass doesn't have a GstElementDetails with all fields
10385 filled up correctly (longname, description AND author), then error out
10386 nicely instead of crashing.
10388 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
10390 * gst/gststructure.c:
10391 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
10394 Expand on the difference between arrays and lists as we use them.
10396 2006-08-14 Wim Taymans <wim@fluendo.com>
10398 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
10399 If the parent state change function failed, don't assume we can safely
10400 stop the source, this will be done when the pads are deactivated.
10402 2006-08-14 Wim Taymans <wim@fluendo.com>
10405 * gst/gsttask.c: (gst_task_join):
10408 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10409 (gst_pad_stop_task):
10410 When pad (de)activation failed for some reason, restore the old
10411 activation mode and set the pad to flushing instead of assuming the
10412 pad is deactivated.
10413 If the _task_join() failed, reinstall the task on the pad so that it can
10414 be stopped later and return an error.
10416 2006-08-11 Andy Wingo <wingo@pobox.com>
10419 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
10420 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
10421 is only for users of API that don't want to see deprecated
10422 functions in the headers; people that want to compile out
10423 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
10424 CFLAGS. Fixes the build of multifdsink, or will soon..
10426 2006-08-11 Wim Taymans <wim@fluendo.com>
10428 * docs/gst/gstreamer-sections.txt:
10429 Add GstClockClass vmethod docs.
10432 Mark #endif with comment for associated #if
10434 * gst/gstclock.c: (gst_clock_id_wait):
10436 Add vmethod wait_jitter to avoid an unneeded _get_time() for
10437 most clock implementations.
10439 Flesh out docs about resolution methods.
10440 API: GstClockClass::wait_jitter
10442 * gst/gstsystemclock.c: (gst_system_clock_class_init),
10443 (gst_system_clock_async_thread),
10444 (gst_system_clock_id_wait_jitter_unlocked),
10445 (gst_system_clock_id_wait_jitter):
10446 Use base class wait_jitter variant for improved performance
10447 due to less clock polling.
10449 2006-08-11 Edward Hervey <edward@fluendo.com>
10451 * gst/gst.c: (gst_init_check), (init_post):
10452 Set gst as being initialized before scanning/updating the registry,
10453 since there might be my python plugin loader that calls gst_init() and
10454 we don't want to loop back in.
10457 2006-08-11 Wim Taymans <wim@fluendo.com>
10459 * docs/design/part-qos.txt:
10460 Bring docs in line with the code. Mostly the sign of the jitter was
10461 wrong in the docs. Fixes #349943.
10464 Fix the docs for the jitter.
10466 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
10467 (gst_event_parse_tag), (gst_event_new_buffer_size),
10468 (gst_event_parse_buffer_size), (gst_event_parse_qos),
10469 (gst_event_new_seek), (gst_event_parse_seek),
10470 (gst_event_new_navigation):
10471 Make sure the GstStructure has no parent when creating custom
10473 Add some more argument checking so that we avoid 0.0 rates.
10474 Flesh out the docs for the QoS event some more.
10476 2006-08-11 Wim Taymans <wim@fluendo.com>
10478 * docs/gst/gstreamer-sections.txt:
10479 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10480 (ensure_current_registry_forking), (ensure_current_registry),
10481 (parse_one_option), (parse_goption_arg), (gst_deinit),
10482 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
10485 Added API and command line option to disable registry forking in
10486 addition to the environment variable.
10487 Constify some static arrays.
10488 Added some more debug.
10489 Don't deinit twice.
10490 API: gst_registry_fork_is_enabled()
10491 API: gst_registry_fork_set_enabled()
10492 API: --gst-disable-registry-fork command line option
10495 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
10497 * gst/gst.c: (gst_init):
10498 Fix typo in error message.
10500 2006-08-10 Stefan Kost <ensonic@users.sf.net>
10502 * libs/gst/controller/gstcontroller.h:
10503 fix ABI size-correction
10505 * tests/check/libs/gdp.c: (gst_dp_suite):
10506 make tests that use deprecated API conditional
10508 2006-08-10 Stefan Kost <ensonic@users.sf.net>
10510 * docs/libs/gstreamer-libs-sections.txt:
10511 * libs/gst/controller/gstcontroller.c:
10512 (_gst_controller_get_property), (_gst_controller_set_property),
10513 (_gst_controller_init), (_gst_controller_class_init):
10514 * libs/gst/controller/gstcontroller.h:
10515 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
10516 (gst_object_set_control_rate):
10517 API: add gst_object_{s,g}et_control_rate(), add private data section,
10520 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
10521 * libs/gst/dataprotocol/dataprotocol.h:
10522 add deprecation guards to make gtk-doc happy and allow disabling cruft
10524 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
10526 * tests/check/Makefile.am:
10527 * tests/check/gst/.cvsignore:
10528 Let's enable the new unit test as well.
10530 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
10533 * docs/gst/gstreamer-sections.txt:
10534 * gst/gstconfig.h.in:
10535 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
10536 (_gst_info_printf_extension_ptr),
10537 (_gst_info_printf_extension_segment):
10538 API: add GST_SEGMENT_FORMAT, which is a printf extension we
10539 register that lets us easily dump GstSegments into debug
10542 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
10543 (info_segment_format_printf_extension), (gst_info_suite):
10544 Add simple unit test that logs a bunch of different segments (not
10545 valgrinded at the moment because of leaks in
10546 gst_debug_add_log_function).
10548 2006-08-09 Edward Hervey <edward@fluendo.com>
10550 * libs/gst/base/gstbasetransform.c:
10551 (gst_base_transform_buffer_alloc):
10552 Even if we can't figure out the proper format to request downstream,
10553 call buffer_alloc() downstream with the input parameters without setting
10554 the caps on the srcpad. This will force negotiation in the chain
10558 2006-08-08 Edward Hervey <edward@fluendo.com>
10560 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10561 Unlinking from a pad without a target is now a perfectly valid case
10562 which should NOT raise an assertion.
10563 This case would happen if a linked ghostpad its target set to NULL after
10564 it was previously linked.
10566 2006-08-08 Edward Hervey <edward@fluendo.com>
10568 * tests/check/libs/gdp.c:
10569 Also comment out the test (see below).
10571 2006-08-08 Edward Hervey <edward@fluendo.com>
10573 * tests/check/libs/gdp.c: (gst_dp_suite):
10574 Use the architecture information from config.h and not gcc macros
10575 in order to properly disable a test that fails on PPC64.
10577 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
10579 * gst/gstelement.c: (gst_element_remove_pad):
10580 Don't crash printing the warning if the pad has no parent.
10582 2006-08-02 Wim Taymans <wim@fluendo.com>
10584 * libs/gst/dataprotocol/dataprotocol.c:
10585 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
10586 (gst_dp_crc), (gst_dp_header_payload_length),
10587 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
10588 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
10589 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
10590 (gst_dp_event_from_packet), (gst_dp_validate_header),
10591 (gst_dp_validate_payload):
10592 Make debug category static
10593 Constify the crc table.
10594 Do some more arg checking in public functions.
10595 Fix some docs and do some small cleanups.
10597 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
10598 Add some more checks to see if GDP deals with bogus input.
10600 2006-07-31 Wim Taymans <wim@fluendo.com>
10602 * gst/gstvalue.c: (gst_value_compare_list):
10603 Fix GstValueList comparison code. Fixes #347293.
10605 * tests/check/gst/gstvalue.c: (GST_START_TEST):
10606 Check to test GstValueList comparison.
10608 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
10610 * gst/gstelementfactory.c: (gst_element_factory_create):
10611 Remove unnecessary ref/unref pair
10613 * gst/parse/grammar.y:
10614 Make sure to free the parse buffer on all code paths.
10615 Move a g_free up to the error handler where it's easier to see.
10617 * tests/check/gst/gstevent.c: (test_event):
10618 Extending timeout for downstream travelling events to 10 seconds to
10619 hopefully avoid intermittent failure on the buildbots.
10621 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
10622 Don't manually set the state of the src element - it will happen as a
10623 natural consequence of the pipeline changing state, and that way it
10624 will do it in the right order too.
10626 2006-07-31 Wim Taymans <wim@fluendo.com>
10628 * libs/gst/base/gstbasetransform.c:
10629 (gst_base_transform_buffer_alloc):
10630 Use OBJECT_LOCK and refcounting to get the pad caps in the
10631 buffer_alloc function because the caps could change while we are
10632 busy with them. Fixes #349105
10634 2006-07-31 Wim Taymans <wim@fluendo.com>
10636 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
10637 Protect _PAD_CAPS with OBJECT_LOCK.
10639 2006-07-31 Wim Taymans <wim@fluendo.com>
10641 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10642 (gst_pad_get_property), (gst_pad_activate_pull),
10643 (gst_pad_activate_push), (gst_pad_set_blocked_async),
10644 (gst_pad_set_activate_function),
10645 (gst_pad_set_activatepull_function),
10646 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
10647 (gst_pad_set_getrange_function),
10648 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
10649 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
10650 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
10651 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
10652 (gst_pad_set_acceptcaps_function),
10653 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
10654 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
10655 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
10656 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
10657 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
10658 (gst_pad_configure_sink), (gst_pad_configure_src),
10659 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
10660 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
10661 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
10662 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
10663 (gst_pad_send_event):
10664 Use _DEBUG_OBJECT when it makes sense.
10665 Protect GST_PAD_CAPS with the OBJECT_LOCK.
10666 Small cleanups and code reflows.
10667 Avoid caps refcounting in _accept_caps.
10668 Refactor alloc_buffer so that the code performed on the peer is in a
10669 separate function. Also if the pad does not implement a buffer alloc
10670 function, we should still check if the pad is flushing before falling
10671 back to the default allocator.
10673 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
10675 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10676 Make all uses of identity and fakesink have silent=true to avoid
10677 serialising every passing data structure, which is breaking tests
10678 on FC4 for some unknown reason.
10680 2006-07-30 Stefan Kost <ensonic@users.sf.net>
10682 * gst/parse/Makefile.am:
10683 * gst/parse/grammar.y:
10684 * gst/parse/parse.l:
10685 Reverted previous patch as it required to bump the flex dependency to
10686 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
10688 2006-07-30 Stefan Kost <ensonic@users.sf.net>
10690 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
10692 * gst/parse/Makefile.am:
10693 * gst/parse/grammar.y:
10694 * gst/parse/parse.l:
10695 push & pop the state of the lexer for reentrant use case
10698 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
10700 * libs/gst/base/gstbasesrc.h:
10701 Note in the docs that the ::newsegment vfunc is not actually used by
10704 2006-07-28 Wim Taymans <wim@fluendo.com>
10706 * libs/gst/base/gstcollectpads.c:
10707 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
10708 (gst_collect_pads_clear), (gst_collect_pads_flush),
10709 (gst_collect_pads_event), (gst_collect_pads_chain):
10710 When flushing a pad, also clear the queued buffer so that we don't
10711 accidentally use it when we shouldn't.
10712 Fix leaks by inreffing incomming buffer.
10713 Flush out queued buffers in case of errors.
10716 2006-07-28 Wim Taymans <wim@fluendo.com>
10718 * docs/random/phonon-gst:
10719 Random notes about a Phonon backend.
10721 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
10723 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10725 * tests/check/libs/gdp.c: (gst_dp_suite):
10726 Take a whack at fixing the ppc compile using a different define to
10727 disable the broken test.
10729 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10730 Remove excess g_print()
10732 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
10734 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
10735 Oops, meant to uncomment this line too to dampen the noise a bit.
10737 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
10739 * gst/parse/grammar.y:
10740 * gst/parse/parse.l:
10741 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
10742 (GST_START_TEST), (parse_suite):
10743 Fix some of the leaks exposed by extending the parse-launch testsuite,
10744 and move the 3 I can't figure out into a separate test that won't run
10745 the pipelines unless the appropriate line is uncommented.
10747 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
10749 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10750 Requesting 0 bytes before the end of the file should result in
10751 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
10754 2006-07-27 Wim Taymans <wim@fluendo.com>
10756 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
10757 Fix useless assert, a uint is always positive.
10759 * gst/gststructure.c: (gst_structure_nth_field_name),
10760 (gst_structure_foreach), (gst_structure_map_in_place):
10761 Check input arguments for public functions to avoid obvious crashes.
10763 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
10764 * plugins/elements/gstfakesink.h:
10765 Do less useless typechecking.
10767 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
10769 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
10770 Do not use mmap() by default since there are a number of error
10771 conditions that we would like to handle in a non-fatal way that
10772 will result in a SIGBUS if we use mmap(). Examples: external
10773 devices (USB harddrive, portable music player) being unplugged
10774 while in use; file on mounted CD/DVD that can't be read because
10775 the medium is partly damaged. Fixes #348455 and #348475.
10777 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
10780 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
10781 rates are a gdouble
10783 2006-07-26 Stefan Kost <ensonic@users.sf.net>
10785 * gst/gstregistry.c:
10786 Move big documentation comment into class section header, so that it
10787 appears in the API docs.
10789 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
10791 * docs/gst/gstreamer-sections.txt:
10792 Oops. Commit the docs additions too for new API.
10793 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
10795 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
10797 * gst/gststructure.c: (gst_structure_id_set),
10798 (gst_structure_id_set_valist):
10799 * gst/gststructure.h:
10800 Add API for setting values into structures without performing
10801 a quark lookup, if the appropriate quark is already known.
10803 API: gst_structure_id_set
10804 API: gst_structure_id_set_valist
10806 * gst/parse/grammar.y:
10807 * gst/parse/parse.l:
10808 Remove some dead code shown by the coverage information.
10809 Don't throw a critical g_warning when encountering a syntax error,
10810 just warn and let the normal error path handle it.
10812 * plugins/elements/gstelements.c:
10813 Bump the rank of filesink up to PRIMARY so that it is preferred over
10814 gnomevfssink for file:// sink uri's
10816 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
10817 (GST_START_TEST), (run_delayed_test),
10818 (gst_parse_test_element_base_init),
10819 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
10820 (gst_parse_test_element_change_state),
10821 (gst_register_parse_element), (parse_suite):
10822 Beef up the tests for parse syntax to check that more error cases
10823 fail as they are supposed to. Increases the test coverage a bit.
10825 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
10827 * docs/manual/basics-elements.xml:
10828 Fix gst_element_link() example.
10831 Mention in API docs that one should usually gst_bin_add()
10832 elements to a bin or pipeline before doing the linking.
10834 2006-07-26 Wim Taymans <wim@fluendo.com>
10836 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
10837 (gst_subbuffer_get_type), (gst_buffer_create_sub):
10838 Avoid function call for known types by keeping the buffer and
10839 subbuffer GType global.
10841 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10842 Random silly optimisations in read() path.
10844 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
10846 * tools/gst-launch.c: (main):
10847 If the top-level of the parse is a normal bin, it doesn't do the
10848 right logic to run as a top-level element, so place it inside a
10851 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
10853 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
10854 Remove superfluous g_object_notify() calls, GObject does
10855 that for us automatically.
10857 2006-07-25 Stefan Kost <ensonic@users.sf.net>
10860 on Win32, use dllspec to export the debug category symbols
10862 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
10864 * gst/gsttaglist.c: (_gst_tag_initialize):
10865 Allow more than one GST_TAG_IMAGE per taglist.
10867 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
10869 * gst/gstminiobject.c:
10871 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
10872 (gst_fd_src_create):
10873 log recurring events at LOG level
10874 add more debug for when the fd gets set
10876 2006-07-21 Stefan Kost <ensonic@users.sf.net>
10878 * gst/gstparse.c: (gst_parse_launch):
10879 Also remove reentrance checks if flex is MT safe (#348179)
10880 Fix my empty ChangeLog entry below
10882 2006-07-21 Andy Wingo <wingo@pobox.com>
10884 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
10886 * libs/gst/check/Makefile.am
10887 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
10888 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
10889 * libs/gst/check/gstbufferstraw.h:
10890 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
10891 functions, thus proving I am still a GStreamer haxor. OK I wrote
10892 them a long time ago, but anyways.
10894 2006-07-21 Stefan Kost <ensonic@users.sf.net>
10897 * gst/gstparse.c: (gst_parse_launch):
10898 Check for flex version and omit mutex if we have a MT save flex
10901 2006-07-21 Wim Taymans <wim@fluendo.com>
10903 * gst/gstparse.c: (gst_parse_launch):
10904 Protect recursive calls to _parse with a recursive mutex
10907 2006-07-21 Wim Taymans <wim@fluendo.com>
10909 * tests/check/gst/gstpad.c: (GST_START_TEST):
10912 2006-07-20 Stefan Kost <ensonic@users.sf.net>
10914 * gst/gstparse.c: (gst_parse_launch):
10915 Do not hang on recursive usage of gst_parse_launch()
10917 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
10919 * gst/gsttaglist.c:
10920 Add some more docs, comments and FIXME 0.11s here and there
10921 and also fix some typos.
10923 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
10925 * gst/gstsegment.h:
10926 Convert tabs to spaces for better readability.
10928 2006-07-20 Edward Hervey <edward@fluendo.com>
10930 * tests/check/libs/gdp.c: (gst_dp_suite):
10931 the test_buffer test fails at line 140 on ppc64 at the following
10933 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
10934 GST_BUFFER_FLAG_IN_CAPS),
10935 "GST_BUFFER_IN_CAPS flag should have been copied !");
10936 See bug #348114 for more details.
10938 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
10940 * docs/pwg/advanced-scheduling.xml:
10942 Fix typos (#348000).
10944 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
10946 * docs/pwg/intro-basics.xml:
10947 Fix wrong links (#347927).
10949 2006-07-18 Stefan Kost <ensonic@users.sf.net>
10951 * gst/gstregistry.h:
10952 * gst/gstregistryxml.c: (load_feature),
10953 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
10954 * win32/common/config.h:
10955 make --disable-index work (#342564)
10957 2006-07-18 Wim Taymans <wim@fluendo.com>
10959 Patch by: Peter Kjellerstedt <pkj at axis dot com>
10963 The attached patch adds two missing defines to gsttrace.h when tracing
10964 is disabled. It also corrects one existing define.
10967 2006-07-17 Wim Taymans <wim@fluendo.com>
10969 * docs/gst/gstreamer-sections.txt:
10970 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
10972 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
10973 Add two functions to check and change the SIGSEGV behaviour
10974 when loading plugins.
10975 Don't mess with the SIGSEGV handler when we were told not to.
10977 API: gst_segtrap_is_enabled
10978 API: gst_segtrap_set_enabled
10980 2006-07-14 Wim Taymans <wim@fluendo.com>
10982 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
10983 * tests/check/elements/filesrc.c: (GST_START_TEST):
10984 Revert fix for regression in #347408 after release.
10986 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
10988 Patch by: Antoine Tremblay <hexa00 at gmail com>
10990 * gst/gstutils.c: (gst_element_unlink):
10991 Free iterator when done (#347311).
10993 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10994 And add a test case for this.
10996 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
10999 Bump nano back to CVS
11001 === release 0.10.9 ===
11003 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
11006 releasing 0.10.9, "On the road again"
11008 2006-07-13 Wim Taymans <wim@fluendo.com>
11010 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11011 * tests/check/elements/filesrc.c: (GST_START_TEST):
11012 Revert pull-0 fix for release. Disable check. Fixes #347408.
11014 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
11016 * libs/gst/dataprotocol/dataprotocol.c:
11017 (gst_dp_event_from_packet_1_0):
11018 Fixes #347337: failure to deserialize event packets with
11019 empty payload (only event type)
11021 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
11024 do not install a .c file in the header directory
11026 2006-07-13 Edward Hervey <edward@fluendo.com>
11028 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
11029 GhostPad no longer implicitely use the padtemplates of the targets.
11032 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
11034 * gst/gstvalue.c: (gst_value_compare_list),
11035 (gst_value_compare_array), (_gst_value_initialize):
11036 * tests/check/gst/gstvalue.c: (GST_START_TEST):
11037 Make GstValueArray comparison be order dependent as designed.
11038 Add checks for value lists and value array comparisons.
11041 2006-07-11 Edward Hervey <edward@fluendo.com>
11043 * gst/gstbin.c: (activate_pads),
11044 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
11045 (gst_bin_change_state_func):
11046 (de)activate src pads before calling state_change on the childs.
11047 This is to avoid the case where a src ghostpad is blocked (holding the
11048 stream lock), which would block the deactivation of the ghostpad's
11050 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
11051 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
11052 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
11053 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
11054 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
11055 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11056 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
11057 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
11058 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
11059 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
11060 (gst_ghost_pad_class_init),
11061 (gst_ghost_pad_internal_do_activate_push),
11062 (gst_ghost_pad_internal_do_activate_pull),
11063 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11064 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11065 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
11066 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
11067 GhostPads now create their internal GstProxyPad at creation (and not
11068 when they're linked, as it was being done previously).
11069 The internal and target pads are linked straight away.
11070 The data will also travel through the other pad in order to make
11071 pad blocking and probes non-hackish (the probe/block now really happens
11072 on the GhostPad and not on the target).
11073 * gst/gstpad.c: (gst_pad_set_blocked_async),
11074 (gst_pad_link_prepare), (gst_pad_push_event):
11075 Remove previous ghostpad cruft.
11076 * gst/gstutils.c: (gst_pad_add_data_probe),
11077 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11078 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11079 (gst_pad_remove_buffer_probe):
11080 Remove previous ghost pad cruft.
11081 Added more detailed debug statements.
11082 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11083 Fix the testsuite for refcounting changes.
11084 The comments about who has references were correct, but the refcount
11085 being checked wasn't the same (!?!).
11089 2006-07-10 Stefan Kost <ensonic@users.sf.net>
11091 * docs/gst/gstreamer-sections.txt:
11092 * gst/gstconfig.h.in:
11093 More docs for configuration options, add docs to gtk-doc.
11095 2006-07-10 Stefan Kost <ensonic@users.sf.net>
11098 * gst/gstconfig.h.in:
11099 * win32/common/config.h:
11100 Fix build when disabling tracing (fixes #344016). Also start to document
11101 the defines that disable the sub-systems.
11103 2006-07-10 Edward Hervey <edward@fluendo.com>
11105 * gst/gst.c: (ensure_current_registry_forking):
11106 let's make valgrind happy...
11108 2006-07-09 Wim Taymans <wim@fluendo.com>
11110 * gst/gstelement.c: (activate_pads),
11111 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
11112 Better pad activation code: Reset the collect value too on resync.
11115 2006-07-09 Wim Taymans <wim@fluendo.com>
11117 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
11118 (gst_pad_activate_push):
11119 Use some more macros where it makes sense.
11120 Allow pad mode switching instead of asserting. When a pad
11121 is activated in one mode and we activate it in another,
11122 deactivate it first before activating it in a different mode.
11125 2006-07-08 Andy Wingo <wingo@pobox.com>
11127 * tools/gst-launch.c (main): Handle err == NULL.
11129 * gst/gst.c (init_post, ensure_current_registry)
11130 (ensure_current_registry_forking)
11131 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
11132 factoring out the registry scanning into separate functions. Don't
11133 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
11134 Better environment var name/interface suggestions accepted.
11136 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
11138 * gst/gstobject.c: (gst_object_set_name_default),
11139 (gst_object_set_name):
11140 Random micro-optimisation: don't use a hash table
11141 with strings as keys and the usual strdup/strcmp
11142 involved, but rather just use the GQuark of the
11143 type name as key, since it needs to be looked up
11144 anyway to get the type name string.
11146 * tests/check/gst/gstobject.c: (GST_START_TEST):
11149 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
11151 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
11152 (gst_bin_iterate_all_by_interface):
11153 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
11154 GTypes are gulongs and thus the top 4 bytes might be cut
11155 off on some platforms when doing GPOINTER_TO_INT, leading
11156 to invalid GTypes and bad things happening (see RH bug #179654).
11157 Also add a check to make sure the type passed in is really
11160 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
11165 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
11169 * gst-element-check.m4:
11170 * gst-element-check.m4.in:
11171 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
11172 instead of the unversioned gst-inspect (#324176, #168659).
11174 2006-07-06 Wim Taymans <wim@fluendo.com>
11176 * gst/gstmessage.h:
11177 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
11180 2006-07-06 Wim Taymans <wim@fluendo.com>
11182 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11183 (gst_base_src_wait), (gst_base_src_update_length),
11184 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
11185 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
11186 (gst_base_src_loop), (gst_base_src_start),
11187 (gst_base_src_activate_pull):
11189 blocksize == 0 now means the default blocksize when working in push
11191 Remove some pointless asserts in _wait function.
11192 Fix offset/length calculations and EOS handling. We can now pull 0
11193 bytes as well, which is allowed.
11194 use _check_get_range() to decide if we can operate in _pull based
11196 Fix refcounting leak when check_get_range function was not
11198 API GstBaseSrc::blocksize range can be 0 too now (default)
11200 * tests/check/elements/filesrc.c: (GST_START_TEST),
11202 Added check to test _get_range() behaviour.
11204 2006-07-06 Wim Taymans <wim@fluendo.com>
11206 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
11207 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
11208 (gst_pad_pull_range):
11210 Lots of comments and docs added to the pad functions.
11211 Flesh out the expected behaviour of the get_range() functions.
11213 2006-07-06 Wim Taymans <wim@fluendo.com>
11218 * gst/gstiterator.h:
11222 Remove comma at end of enumerator list.
11224 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
11226 * win32/common/libgstbase.def:
11227 * win32/common/libgstdataprotocol.def:
11228 * win32/common/libsgtreamer.def:
11229 Add new exported functions.
11231 2006-07-05 Wim Taymans <wim@fluendo.com>
11233 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
11234 Add some more docs here and there.
11236 2006-07-05 Wim Taymans <wim@fluendo.com>
11238 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
11239 (gst_base_sink_loop), (gst_base_sink_get_position):
11240 When operating in pull mode update the offset so that we
11243 2006-07-05 Wim Taymans <wim@fluendo.com>
11245 * gst/gstregistryxml.c: (read_string):
11246 Avoid strdup. (will happen in libxml, but hey!)
11249 Add some more docs.
11251 2006-07-05 Wim Taymans <wim@fluendo.com>
11253 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
11254 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
11255 (gst_buffer_suite):
11256 No point in checking if the size of the subbuffer > 0, the
11257 code handles it correclty as demonstrated by unit test.
11258 Also add a unit test for the zero sized _new_and_alloc and
11259 _copy. Fixes #346663.
11261 2006-07-05 Wim Taymans <wim@fluendo.com>
11263 * libs/gst/base/gstbasetransform.c:
11264 (gst_base_transform_prepare_output_buffer),
11265 (gst_base_transform_buffer_alloc),
11266 (gst_base_transform_handle_buffer):
11267 Make sure the buffer we pass to transform_ip has a refcount of
11268 1 and thus is writable. Fixes #343196
11270 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
11272 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11273 (gst_file_src_init), (gst_file_src_set_property),
11274 (gst_file_src_get_property), (gst_file_src_map_region):
11275 * plugins/elements/gstfilesrc.h:
11276 Add "sequential" property, off by default, to use madvise and hint
11277 to the kernel that sequential access is desired.
11278 Touch all retrieved pages by default to ensure they are pulled
11279 into memory. (Closes #345720)
11281 2006-07-03 Wim Taymans <wim@fluendo.com>
11283 * docs/design/part-block.txt:
11284 * docs/design/part-dynamic.txt:
11285 Small docs updates.
11287 2006-07-03 Wim Taymans <wim@fluendo.com>
11289 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
11290 (gst_caps_unref), (gst_static_caps_get),
11291 (gst_caps_append_structure):
11292 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
11293 Use GSlice when the glib we build against is >= 2.10
11295 2006-07-03 Wim Taymans <wim@fluendo.com>
11297 * gst/gstelement.c: (gst_element_pads_activate):
11298 Small cleanup in pad activation code.
11300 2006-07-03 Wim Taymans <wim@fluendo.com>
11302 Patch by: Peter Kjellerstedt <pkj at axis dot com>
11304 * gst/gst-i18n-app.h:
11305 * gst/gst-i18n-lib.h:
11306 * tools/gst-inspect.c: (print_signal_info):
11307 The attached patch will make the inclusion of gettext.h unconditional in
11308 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
11309 libintl.h in tools/gst-inspect.c.
11310 This allows use of --disable-nls again and fixes #344642.
11312 2006-07-03 Edward Hervey <edward@fluendo.com>
11314 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
11315 Implement pad blocking on events according to part-block.txt.
11316 More comments on behaviour.
11317 * tests/check/gst/gstevent.c: (test_event):
11318 Send event to peer pad of blocked pad (else it will block).
11320 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
11322 * libs/gst/check/gstcheck.c: (gst_check_message_error),
11323 (gst_check_run_suite):
11324 if we get the wrong message, give us the types as string
11325 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11327 * tests/check/elements/filesrc.c: (GST_START_TEST):
11328 add a test for trying to open a non-existing file
11330 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
11332 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11333 add a test for adding self
11335 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
11337 * libs/gst/check/gstcheck.h:
11338 add some assert_ as alias for fail_unless_*
11339 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
11340 increase test coverage
11342 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
11345 include lcov.mak for lcov coverage generation
11346 * tools/Makefile.am:
11349 2006-07-02 Edward Hervey <edward@fluendo.com>
11351 * tests/check/elements/.cvsignore:
11354 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
11357 don't set CFLAGS and friends for gcov, done from GST_GCOV now
11358 * tests/check/Makefile.am:
11359 clean up gcov files
11361 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
11363 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
11364 remove gst_caps_simplify; it was not declared and not used
11365 and deprecated in 0.8
11367 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
11369 * docs/faq/gst-uninstalled:
11370 don't put empty paths on PYTHONPATH
11371 * docs/gst/gstreamer-sections.txt:
11372 remove some symbols that are not there
11374 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
11376 * gst/gstcaps.c: (gst_caps_compare_structures):
11378 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11379 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11382 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
11384 * libs/gst/dataprotocol/Makefile.am:
11385 build dataprotocol test by linking to the lib, instead of
11386 compiling the source, so we get coverage
11387 * tests/check/Makefile.am:
11388 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
11389 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
11390 add a test for filesrc
11392 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
11394 * tests/check/gst/gststructure.c: (GST_START_TEST),
11395 (gst_structure_suite):
11396 Push coverage from 59.04% to 70.00%
11398 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
11400 * tests/check/Makefile.am:
11401 gst-inspect every element; this makes sure that we also get
11402 coverage on element's get/set functions
11404 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
11407 set CFLAGS and friends to -O0 if gcov is being used
11410 * libs/gst/base/Makefile.am:
11411 * libs/gst/check/Makefile.am:
11412 * libs/gst/controller/Makefile.am:
11413 * libs/gst/dataprotocol/Makefile.am:
11414 * libs/gst/net/Makefile.am:
11415 * plugins/elements/Makefile.am:
11416 * plugins/indexers/Makefile.am:
11417 add makefile rules to generate gcov data and clean up
11418 * tests/check/Makefile.am:
11419 add a coverage target that generates an html overview
11422 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
11424 * tests/check/elements/fakesink.c:
11425 * tests/check/elements/fakesrc.c:
11426 * tests/check/elements/fdsrc.c:
11427 * tests/check/elements/identity.c:
11428 * tests/check/generic/sinks.c: (gst_sinks_suite):
11429 * tests/check/generic/states.c:
11430 * tests/check/gst/gst.c:
11431 * tests/check/gst/gstabi.c:
11432 * tests/check/gst/gstbin.c:
11433 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
11434 * tests/check/gst/gstbus.c: (gst_bus_suite):
11435 * tests/check/gst/gstcaps.c: (GST_START_TEST):
11436 * tests/check/gst/gstelement.c:
11437 * tests/check/gst/gstevent.c: (gst_event_suite):
11438 * tests/check/gst/gstghostpad.c:
11439 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
11440 * tests/check/gst/gstmessage.c: (gst_message_suite):
11441 * tests/check/gst/gstminiobject.c:
11442 * tests/check/gst/gstobject.c:
11443 * tests/check/gst/gstpad.c:
11444 * tests/check/gst/gstpipeline.c:
11445 * tests/check/gst/gstplugin.c:
11446 * tests/check/gst/gstquery.c: (gst_query_suite):
11447 * tests/check/gst/gstsegment.c: (gst_segment_suite):
11448 * tests/check/gst/gststructure.c:
11449 * tests/check/gst/gstsystemclock.c:
11450 * tests/check/gst/gsttag.c:
11451 * tests/check/gst/gsttask.c: (gst_task_suite):
11452 * tests/check/gst/gstutils.c:
11453 * tests/check/gst/gstvalue.c:
11454 * tests/check/libs/adapter.c:
11455 * tests/check/libs/basesrc.c:
11456 * tests/check/libs/collectpads.c:
11457 * tests/check/libs/controller.c:
11458 * tests/check/libs/gdp.c: (gst_dp_suite):
11459 * tests/check/libs/gstnetclientclock.c:
11460 * tests/check/libs/gstnettimeprovider.c:
11461 * tests/check/libs/libsabi.c: (libsabi_suite):
11462 * tests/check/libs/typefindhelper.c:
11463 * tests/check/pipelines/cleanup.c:
11464 * tests/check/pipelines/parse-launch.c:
11465 * tests/check/pipelines/simple-launch-lines.c:
11466 * tests/check/pipelines/stress.c: (stress_suite):
11469 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
11471 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
11472 * libs/gst/check/gstcheck.h:
11473 create a macro and function so that the simple unit test
11474 case can be just one macro to create main()
11476 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
11478 * gst/gstbin.c: (gst_bin_restore_thyself):
11479 * gst/gstxml.c: (gst_xml_make_element):
11480 Fix deserialisation from XML. Set parent manually
11481 instead of using gst_bin_add(), since gst_bin_add()
11482 will unlink all pads of the element being added.
11485 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
11487 Patch by: Peter Kjellerstedt <pkj at axis com>
11489 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
11490 Fix missing g_strdup() and double free when using the
11491 --gst-plugin-load command line option (#346097).
11493 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
11496 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
11498 * libs/gst/net/gstnetclientclock.c:
11499 * libs/gst/net/gstnettimeprovider.c:
11500 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
11502 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
11504 * docs/manual/advanced-dataaccess.xml:
11505 Fix buffer probe example compilation in
11508 2006-06-22 Edward Hervey <edward@fluendo.com>
11510 * gst/gstelement.c: (gst_element_pads_activate):
11511 We need to deactivate src pads first and then sink pads.
11512 The reason is the src pads might be blocking while holding the streaming
11513 lock, so we need to deactivate them first so that deactivating the sink
11514 pads doesn't block (since it will require the streaming lock).
11516 2006-06-22 Wim Taymans <wim@fluendo.com>
11518 * libs/gst/base/gstbasetransform.c:
11519 (gst_base_transform_buffer_alloc):
11520 Forgot to remove two unneeded unrefs.
11521 Simplify a check _is_equal allready checks the obvious case.
11523 2006-06-22 Wim Taymans <wim@fluendo.com>
11525 * docs/design/part-block.txt:
11526 Some docs about what pad_block should do.
11528 2006-06-22 Wim Taymans <wim@fluendo.com>
11530 * gst/gstcaps.c: (gst_caps_replace):
11531 Fix crasher when passed NULL. Doc clarification.
11532 Optimize for the trivial case.
11534 * gst/gstpipeline.c: (gst_pipeline_change_state):
11537 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11538 Small documentation cleanup.
11540 * libs/gst/base/gstbasetransform.c:
11541 (gst_base_transform_buffer_alloc):
11542 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
11543 is what we need and it avoids a whole lot of redundant
11544 refcount operations.
11546 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
11548 Patch by: Philip Jägenstedt <philip at lysator liu se>
11550 * docs/manual/advanced-dataaccess.xml:
11551 Fix 'Embedding static elements' section to use
11552 GST_PLUGIN_DEFINE_STATIC (#345607).
11554 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
11556 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
11557 Attempt to 'fix' spuriously failing test case: it seems like the
11558 timeout of half a second is simply too small when the system is under
11559 load otherwise, and the timeout doesn't really seem to serve any
11560 particular purpose here. Give the pipeline a few seconds to preroll
11561 first, and then give it another half a second to go from PAUSED to
11562 PLAYING and marshal the message into the main thread.
11564 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
11566 * tools/gst-feedback-m.m:
11567 Don't only use unversioned tools, try versioned tools as well
11570 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
11572 * gst/gstbus.c: (gst_bus_class_init):
11573 Fix some typos, make docs more explicit.
11575 2006-06-20 Wim Taymans <wim@fluendo.com>
11577 * tests/check/gst/gstghostpad.c: (block_callback),
11578 (GST_START_TEST), (gst_ghost_pad_suite):
11579 Added some more ghostpad tests, mainly blocking
11582 2006-06-16 Wim Taymans <wim@fluendo.com>
11584 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11585 (gst_file_sink_close_file), (gst_file_sink_do_seek),
11586 (gst_file_sink_event), (gst_file_sink_render):
11587 * plugins/elements/gstfilesink.h:
11588 Check if we can seek in the file instead of assuming
11589 we always can. Post an error when we are asked to seek in a
11590 non-seekable file (like a fifo). Fixes #343312.
11593 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
11595 * tools/gst-launch.1.in:
11596 Un-garble (fourcc) bit in filtered caps section.
11598 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
11600 * docs/manual/advanced-autoplugging.xml:
11601 * docs/manual/basics-helloworld.xml:
11602 * docs/manual/highlevel-components.xml:
11603 Don't leak bus reference in sample code.
11605 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
11608 Add default for new --enable-plugin-docs switch.
11611 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
11614 * docs/Makefile.am:
11615 Use new ENABLE_PLUGIN_DOCS conditional.
11617 2006-06-14 Wim Taymans <wim@fluendo.com>
11619 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
11620 Make it clear with a FIXME and a real define what the #if 0
11621 previously disabled.
11623 2006-06-14 Wim Taymans <wim@fluendo.com>
11625 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
11626 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
11627 * libs/gst/base/gstbasetransform.c:
11628 (gst_base_transform_sink_eventfunc):
11629 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11630 Don't randomly and silently reset a segment when the format
11631 changes as this is a bug somewhere upstream. Fixes #330379.
11633 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
11635 Patch by: Wouter Paesen <wouter at kangaroot net>
11637 * libs/gst/controller/gstcontroller.c:
11638 (gst_controlled_property_new):
11639 Fix controlling of float properties (#344849).
11641 * tests/check/libs/controller.c:
11642 (gst_test_mono_source_get_property),
11643 (gst_test_mono_source_set_property),
11644 (gst_test_mono_source_class_init), (GST_START_TEST):
11645 While we're at it, add some float stuff to unit test.
11647 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
11650 * docs/images/gdp-header.svg:
11652 * docs/libs/Makefile.am:
11653 * docs/libs/gdp-header.png:
11654 * libs/gst/dataprotocol/dataprotocol.c:
11655 add it to the API docs
11656 * docs/manual/intro-motivation.xml:
11659 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
11661 * gst/gst.c: (scan_and_update_registry), (init_post):
11662 If the fork()'ed child process can't write the updated registry cache
11663 file to disk for some reason, make it exit with a failure exit code,
11664 so that the parent can then re-scan the plugins itself and update the
11665 registry structures in memory and work with that (rather than failing
11666 when creating elements because seemingly no plugins are available).
11667 Refactor registry scanning code into separate function for this and
11668 also separate fork() and non-fork() code paths. Fixes #344748.
11670 2006-06-13 Wim Taymans <wim@fluendo.com>
11672 * docs/manual/advanced-dataaccess.xml:
11673 Fix wrong PluginDesc. Fixes #344755.
11675 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
11677 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
11678 Fix silly bug that prevented us from creating
11679 ~/.gstreamer-0.10 and writing the registry in one
11680 go (the first call to g_mkstemp() would overwrite the
11681 placeholder in the template string, so the second call
11682 to g_mkstemp() after creating the missing directory
11683 would then error out with 'invalid argument').
11685 2006-06-13 Edward Hervey <edward@fluendo.com>
11687 * gst/gst.c: (init_post):
11690 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
11692 * gst/glib-compat-private.h:
11693 * gst/glib-compat.c:
11694 * gst/glib-compat.h:
11695 * gst/gstvalue.c: (gst_value_serialize_flags):
11696 remove GLib 2.6 compatibility code
11698 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
11700 * gst/parse/Makefile.am:
11701 Fix build with 'make -j N' even more (#340016).
11703 2006-06-12 Wim Taymans <wim@fluendo.com>
11705 * docs/gst/gstreamer-sections.txt:
11708 2006-06-12 Wim Taymans <wim@fluendo.com>
11710 * gst/gstsegment.c: (gst_segment_set_duration),
11711 (gst_segment_set_last_stop), (gst_segment_set_seek),
11712 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11713 (gst_segment_to_running_time), (gst_segment_clip):
11714 Use G_UNLIKELY to help the compiler a bit.
11716 2006-06-12 Wim Taymans <wim@fluendo.com>
11718 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
11720 * gst/gstevent.c: (gst_event_get_type):
11721 * gst/gstmessage.c:
11722 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
11724 constify quark registration strings. Fixes #344115
11725 Avoid unneeded type checking is _pad_push() by internally
11726 calling gst_pad_chain_unchecked().
11728 2006-06-12 Wim Taymans <wim@fluendo.com>
11730 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
11731 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
11732 (gst_subbuffer_finalize), (gst_buffer_create_sub),
11733 (gst_buffer_is_span_fast), (gst_buffer_span):
11734 Init _type for consistency.
11735 Use _FLAGS macro to avoid type check.
11736 Avoid unneeded type checks in subbufer code.
11738 2006-06-12 Wim Taymans <wim@fluendo.com>
11740 * gst/gst.c: (gst_debug_help):
11741 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
11742 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
11743 (gst_plugin_feature_list_free):
11744 * gst/gstregistry.c: (gst_registry_add_plugin),
11745 (gst_registry_add_feature), (gst_registry_plugin_filter),
11746 (gst_registry_feature_filter), (gst_registry_find_plugin),
11747 (gst_registry_find_feature), (gst_registry_get_plugin_list),
11748 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
11749 * gst/gstregistryxml.c: (load_feature),
11750 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
11751 * gst/gstminiobject.c: (gst_mini_object_unref),
11752 (gst_mini_object_replace), (gst_value_mini_object_free),
11753 (gst_value_mini_object_copy):
11754 Use _CAST macros to avoid unneeded type checking.
11755 Added some more G_UNLIKELY.
11757 2006-06-12 Wim Taymans <wim@fluendo.com>
11760 Avoid unneeded type checking.
11761 API: GST_BUFFER_IS_DISCONT
11763 * gst/gstminiobject.h:
11764 Avoid type check in flag accessor.
11766 * gst/gstelementfactory.h:
11768 * gst/gstpluginfeature.h:
11770 API: GST_ELEMENT_FACTORY_CAST
11771 API: GST_PLUGIN_CAST
11772 API: GST_PLUGIN_FEATURE_CAST
11774 2006-06-12 Wim Taymans <wim@fluendo.com>
11776 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
11777 (gst_object_unref):
11778 Add G_UNLIKELY in type registration.
11779 Avoid type check in _ref/_unref since that is also
11782 2006-06-12 Wim Taymans <wim@fluendo.com>
11784 * gst/gsterror.c: (gst_g_error_get_type):
11785 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
11786 (gst_static_pad_template_get_type):
11787 * gst/gsttaglist.c: (gst_tag_list_get_type):
11788 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
11789 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
11790 * gst/gsturi.c: (gst_uri_handler_get_type):
11791 * gst/gstvalue.c: (gst_date_get_type):
11792 * gst/gstxml.c: (gst_xml_get_type):
11793 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
11794 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
11795 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
11796 Add G_UNLIKELY in type registration.
11798 2006-06-12 Wim Taymans <wim@fluendo.com>
11800 * tools/gst-inspect.c: (print_signal_info):
11801 Properly print enum values.
11803 2006-06-12 Wim Taymans <wim@fluendo.com>
11805 * gst/gstinfo.c: (gst_debug_set_active),
11806 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
11808 Add some G_[UN]LIKELY.
11809 Maintain __gst_debug_min to avoid formatting the arguments of
11810 debug messages that will be dropped anyway to avoid a lot of
11811 overhead from the debugging system.
11813 2006-06-11 Stefan Kost <ensonic@users.sf.net>
11816 * po/POTFILES.skip:
11817 add missing files containing translatable strings, tell intltool about
11820 2006-06-11 Stefan Kost <ensonic@users.sf.net>
11822 * tests/check/libs/.cvsignore:
11823 add test-binary to ignore list
11825 2006-06-11 Stefan Kost <ensonic@users.sf.net>
11827 * docs/libs/gstreamer-libs-docs.sgml:
11828 reorder (put dp into a chapter) and indent
11830 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
11835 === release 0.10.8 ===
11837 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
11840 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
11842 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
11844 * gst/gst.c: (init_post):
11845 move pid declaration to declaration block
11847 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
11849 * gst/gst.c: (init_post):
11850 use _exit() instead of exit() in our forked child; this ensures
11851 that none of the registered exit handlers from whatever is using
11852 GStreamer get executed. This fixes gnome-mixer-applet failing
11853 to load, because ORBit would shut down.
11854 Spotted by: Edward Hervey <edward@fluendo.com>
11855 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
11858 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
11863 === release 0.10.7 ===
11865 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
11868 releasing 0.10.7, "Soepeke, ik zie ou"
11870 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
11893 * win32/common/config.h:
11894 0.10.6.2 prerelease
11896 2006-06-07 Wim Taymans <wim@fluendo.com>
11898 * gst/gstindex.c: (gst_index_gtype_resolver):
11899 * tools/gst-xmlinspect.c: (print_plugin_info):
11900 Fix leak spotted by coverity checker. Fixes #343827
11901 Fix another other leak found by paolo borelli.
11903 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
11905 * libs/gst/dataprotocol/dataprotocol.c:
11906 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
11907 (gst_dp_version_get_type), (gst_dp_init),
11908 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
11909 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
11910 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
11911 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
11912 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
11913 (gst_dp_packetizer_free):
11914 * libs/gst/dataprotocol/dataprotocol.h:
11915 API: add a GstDPPacketizer object, and create/free functions
11916 API: add GstDPVersion enum
11917 Add 1.0 event function that uses the string serialization
11918 Serialize more useful buffer flags
11921 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
11923 * tests/check/Makefile.am:
11924 * tests/check/gst/gstabi.c:
11925 * tests/check/gst/struct_ppc64.h:
11926 * tests/check/libs/libsabi.c:
11927 * tests/check/libs/struct_ppc64.h:
11928 add ppc64 structure sizes
11930 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
11932 * tests/check/Makefile.am:
11933 * tests/check/gst/gstabi.c:
11934 * tests/check/gst/struct_x86_64.h:
11935 * tests/check/libs/libsabi.c:
11936 * tests/check/libs/struct_x86_64.h:
11937 generate and add structure size lists for x86_64
11939 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
11941 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
11942 * libs/gst/check/gstcheck.h:
11943 factor out the method from tests that checks size of structures,
11944 and add code to generate the header containing these sizes
11945 * tests/check/gst/gstabi.c: (GST_START_TEST):
11946 * tests/check/gst/struct_i386.h:
11947 * tests/check/libs/libsabi.c: (GST_START_TEST):
11948 * tests/check/libs/struct_i386.h:
11951 2006-06-06 Michael Smith <msmith@fluendo.com>
11953 * gst/gstsegment.h:
11954 Don't use c++-style comments, fixes #343929
11956 2006-06-05 Edward Hervey <edward@fluendo.com>
11959 plugin_paths is not used if we build without registry support.
11961 * gst/gstsegment.c: (gst_segment_copy):
11962 _copy() was always returning NULL...
11964 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
11966 * libs/gst/dataprotocol/dataprotocol.c:
11967 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11968 (gst_dp_packet_from_event):
11969 factor out CRC code
11971 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
11973 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
11974 make sure we unset caps
11976 2006-06-02 Michael Smith <msmith@fluendo.com>
11978 * libs/gst/check/gstcheck.c: (gst_check_init),
11979 (gst_check_chain_func):
11980 * libs/gst/check/gstcheck.h:
11981 Add a cond/mutex to the check support lib, signal this whenever we
11982 add to the buffers list. This will allow tests to not busy-wait on
11985 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
11987 * libs/gst/dataprotocol/dataprotocol.c:
11988 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11989 (gst_dp_packet_from_event):
11990 factor out some common header init code
11992 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
11994 * docs/libs/gstreamer-libs-sections.txt:
11995 * docs/libs/tmpl/gstdataprotocol.sgml:
11996 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
11997 * libs/gst/dataprotocol/dataprotocol.h:
11998 API: make gst_dp_crc() public
12000 2006-06-01 Stefan Kost <ensonic@users.sf.net>
12002 * plugins/indexers/gstindexers.c: (plugin_init):
12003 conditionally register fileindexer (fixes #343598)
12005 2006-06-01 Stefan Kost <ensonic@users.sf.net>
12007 * gst/gsttagsetter.h:
12008 Can't cast ifaces to a class
12010 * libs/gst/net/gstnetclientclock.h:
12011 * libs/gst/net/gstnettimeprovider.h:
12012 * plugins/elements/gstfakesink.h:
12013 * plugins/elements/gstfakesrc.h:
12014 * plugins/elements/gstfdsink.h:
12015 * plugins/elements/gstfdsrc.h:
12016 * plugins/elements/gstfilesink.h:
12017 * plugins/elements/gstfilesrc.h:
12018 * plugins/elements/gstidentity.h:
12019 * plugins/elements/gstqueue.h:
12020 * plugins/elements/gsttee.h:
12021 * plugins/indexers/gstfileindex.c:
12022 * plugins/indexers/gstmemindex.c:
12023 * tests/old/examples/plugins/example.h:
12024 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
12026 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
12028 * libs/gst/dataprotocol/dataprotocol.c:
12029 (gst_dp_header_from_buffer):
12030 make sure we zero the whole ABI-compatible area
12032 2006-06-01 Wim Taymans <wim@fluendo.com>
12034 Patch by: Alessandro Decina <alessandro at nnva dot org>
12036 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
12037 Make sure the EOS flag is cleared from pads after a flush
12038 or stop. Fixes #343538.
12040 * tests/check/libs/collectpads.c: (GST_START_TEST),
12041 (gst_collect_pads_suite):
12042 Added test for collectpads reusage after EOS.
12044 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
12047 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
12048 * win32/common/libgstbase.def:
12049 export gst_collect_pads_set_flushing
12050 * win32/common/libgstreamer.def:
12051 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
12052 gst_value_fraction_multiply
12053 * win32/vs6/gst_inspect.dsp:
12054 add a link to intl.lib
12056 2006-05-30 Wim Taymans <wim@fluendo.com>
12058 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12059 (gst_collect_pads_chain):
12060 Handle the case where a pad is removed from the collection
12061 that could cause the other pads to become collectable.
12063 2006-05-30 Wim Taymans <wim@fluendo.com>
12065 * gst/gstelement.c:
12066 Clarify the use of _release_request_pad() and
12067 _get_request_pad() a bit better.
12069 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
12070 (gst_adapter_take_buffer):
12071 Fix some doc and comment typos.
12073 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
12075 * docs/gst/gstreamer-sections.txt:
12076 * docs/libs/gstreamer-libs-sections.txt:
12077 add declared symbols
12079 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
12081 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12082 Add debug that can be enabled using a #define at the top of the file,
12083 for dumping stats about how late/early we were when waking up from
12084 waiting on the clock.
12086 2006-05-30 Wim Taymans <wim@fluendo.com>
12088 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
12089 When rebuilding the pad list, don't leak the previous list.
12091 2006-05-30 Wim Taymans <wim@fluendo.com>
12093 Patch by: Lutz Mueller <lutz at topfrose dot de>
12095 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12096 (gst_base_src_get_query_types), (gst_base_src_update_length):
12097 Publish supported query types.
12098 Update last_stop field in get_range mode so the position
12099 query works. Fixes #342321.
12101 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
12103 * docs/gst/gstreamer-sections.txt:
12104 * gst/gsttaglist.c: (_gst_tag_initialize):
12105 * gst/gsttaglist.h:
12106 API: add GST_TAG_PREVIEW_IMAGE (#343341).
12108 2006-05-30 Wim Taymans <wim@fluendo.com>
12110 Patch by: Alessandro Decina <alessandro at nnva dot org>
12112 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
12113 Unlock mutex when removing an unknown pad.
12116 * tests/check/Makefile.am:
12117 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
12118 (push_event), (setup), (teardown), (GST_START_TEST),
12119 (gst_collect_pads_suite), (main):
12120 Added collecpads check, disabled for now as check crashes for
12123 2006-05-29 Wim Taymans <wim@fluendo.com>
12125 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
12126 Don't leak pads lists.
12128 2006-05-29 Wim Taymans <wim@fluendo.com>
12130 * docs/libs/gstreamer-libs-sections.txt:
12131 * libs/gst/base/gstcollectpads.c:
12132 (gst_collect_pads_set_flushing_unlocked),
12133 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
12134 (gst_collect_pads_stop):
12135 * libs/gst/base/gstcollectpads.h:
12136 API: gst_collect_pads_set_flushing()
12137 Added api to set the pads to flushing, useful for seeking
12138 code in elements using collectpads.
12139 Clear segment when receiving a flush.
12141 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
12143 * gst/gst.c: (add_path_func), (init_post):
12144 Don't scan registry paths passed via --gst-plugin-path immediately
12145 (will crash, because absolutely nothing is set up and no types are
12146 registered etc.); do this later in init_post(). Fixes #343057.
12148 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
12150 * gst/gst.c: (init_post):
12151 if we have fork, fork while reading/rebuilding the registry
12152 so the parent doesn't take the hit of having all plugins loaded
12153 in memory. Fixes #342777.
12155 Check if we have fork()
12156 * win32/common/config.h.in:
12159 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
12161 * plugins/elements/gstelements.c:
12162 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
12163 (gst_file_src_init), (gst_file_src_set_property),
12164 (gst_file_src_get_property), (gst_file_src_start):
12165 * plugins/elements/gstfilesrc.h:
12166 API: GstFileSrc::use-mmap
12168 Add a use-mmap property to enable easier testing of all code paths.
12169 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
12170 in the absence of gnomevfssrc. (Closes #340501)
12172 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12174 * tools/gst-inspect.c:
12175 Add missing include, removes warning of ngettext not being defined on
12178 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
12180 * gst/gstvalue.c: (gst_value_deserialize_fraction):
12181 Handle NULL input and output pointers silently as a failed conversion,
12182 rather than g_warnings.
12184 2006-05-25 Wim Taymans <wim@fluendo.com>
12186 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
12187 Initialize variable before using. Fixes #342820.
12189 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
12191 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
12192 Fix off-by-one bug that would only allow peeks of N-1 bytes
12193 from the start even if the buffer to typefind on contains
12194 in fact N bytes of data (makes vorbis typefinding from a
12195 vorbis identification header buffer work).
12197 * tests/check/Makefile.am:
12198 * tests/check/libs/.cvsignore:
12199 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
12200 (gst_typefindhelper_suite), (main), (foobar_typefind),
12202 Add very basic unit test for gst_type_find_helper_for_buffer()
12203 that checks for the problem fixed above.
12205 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
12207 * tools/gst-inspect.c: (print_interfaces),
12208 (print_element_properties_info), (print_element_list), (main):
12209 add more translatable strings
12211 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
12213 Patch by: Julien Moutte <julien at moutte net>
12215 * docs/gst/gstreamer-sections.txt:
12216 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
12218 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
12219 (gst_fake_sink_preroll):
12220 * plugins/elements/gstfakesink.h:
12221 API: Add new GstFakeSink::preroll-handoff signal (#337100).
12223 2006-05-23 Wim Taymans <wim@fluendo.com>
12225 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
12227 Added _CUSTOM error and success GstFlowReturn that can be
12228 used be elements internally.
12229 Added macro to check for SUCCESS flowreturns.
12230 API: GST_FLOW_CUSTOM_SUCCESS
12231 API: GST_FLOW_CUSTOM_ERROR
12232 API: GST_FLOW_IS_SUCCESS
12234 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
12235 Added check for GstFlowReturn sanity.
12237 2006-05-23 Wim Taymans <wim@fluendo.com>
12239 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
12241 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12242 (gst_collect_pads_event):
12243 clear/reset segment info in FLUSH_STOP.
12246 2006-05-22 Stefan Kost <ensonic@users.sf.net>
12248 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
12249 (gst_collect_pads_check_collected):
12250 Flush queued buffer on _stop(), fixes playing again (#342454)
12252 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
12254 * tests/check/gst/gststructure.c: (GST_START_TEST),
12255 (gst_structure_suite):
12256 add a test for a complete structure
12258 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
12260 * docs/faq/developing.xml:
12261 * docs/faq/faq.xml:
12262 * docs/faq/troubleshooting.xml:
12263 * docs/faq/using.xml:
12264 Some minor FAQ updates that won't change the fact that
12265 our FAQ is badly structured, full of information hardly
12266 anyone new to GStreamer needs to know and lacking lots
12267 of information people constantly ask for.
12269 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
12271 * gst/gstpad.c: (gst_pad_set_caps):
12272 Short-circuit gst_pad_set_caps if setting the existing
12273 caps pointer again, and avoid printing debug and
12274 reffing/unreffing the caps.
12276 * plugins/elements/gstqueue.c: (gst_queue_push_one):
12277 There's actually no need to set the caps before pushing -
12278 the acceptcaps method will handle it anyway.
12280 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
12282 * docs/gst/gstreamer-sections.txt:
12283 * win32/common/libgstreamer.def:
12284 * gst/gstutils.c: (gst_element_seek_simple):
12286 API: add gst_element_seek_simple() (#342238).
12288 2006-05-18 Edward Hervey <edward@fluendo.com>
12290 * gst/gsttypefind.c: (gst_type_find_get_type):
12291 * gst/gsttypefind.h:
12292 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
12293 registered for GstTypeFind pointers. This allows wrapping the structure
12294 in bindings (i.e. gst-python).
12296 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
12298 * gst/gsttagsetter.c:
12299 Docs additions and fixes (see #339918).
12301 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
12303 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12304 The caps intersection algorithm can produce multiple copies of the
12305 caps. Until that is fixed, we need to simplify the result to be
12306 sure whether the allowed caps are fixed or not.
12308 * plugins/elements/gstqueue.c: (gst_queue_init),
12309 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
12310 (gst_queue_push_one):
12311 Proxied buffer alloc should not set the caps on the source pad.
12312 When pushing buffers, we always accept the caps change that triggers.
12313 This prevents negotiation errors caused by caps changing mid-stream
12314 and then being refused on our source pad (because upstream is now
12315 refusing those caps).
12317 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
12319 * tests/examples/helloworld/helloworld.c: (main):
12320 Must plug audioconvert and audioresample between decoder
12323 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
12325 * gst/gstregistryxml.c: (read_string), (load_pad_template),
12326 (load_feature), (load_plugin):
12327 Allow empty strings for some of the plugin fields so we don't
12328 drop valid plugin entries that were written out correctly
12331 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
12333 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
12334 Use g_remove and g_rename instead of remove and rename that don't
12335 handle utf8 characters. rename was failing for users who had specific
12336 characters in their name then the registry was built at each
12338 * win32/vs6/gst_inspect.dsp:
12339 * win32/vs6/gst_launch.dsp:
12340 * win32/vs6/libgstbase.dsp:
12341 * win32/vs6/libgstcoreelements.dsp:
12342 * win32/vs6/libgstreamer.dsp:
12343 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
12344 build of libgstreamer and clean unused libraries in projects link
12347 2006-05-17 Edward Hervey <edward@fluendo.com>
12349 * plugins/elements/gstqueue.c: (gst_queue_push_one):
12350 The queue is not responsible for pushing an EOS when receiving a fatal
12351 flow error. It's up to the real element driving the pipeline to do that.
12353 2006-05-16 Edward Hervey <edward@fluendo.com>
12355 * plugins/elements/gstqueue.c: (gst_queue_push_one):
12356 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
12357 buffer returned a fatal error. It should just send an EOS and stop
12359 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
12360 when pushing buffers on the queue and will be able to handle the event.
12362 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
12364 * docs/manual/basics-bins.xml:
12365 * docs/manual/basics-init.xml:
12366 Fix typos and minor errors in sample code (#341856).
12368 2006-05-16 Wim Taymans <wim@fluendo.com>
12370 * docs/design/part-qos.txt:
12371 Fix indexes in formulas to make more sense.
12373 2006-05-15 Wim Taymans <wim@fluendo.com>
12375 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12376 Don't report POSITION based on clock time if sync is
12377 disabled in a sink.
12379 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
12382 Add cast to make compiler happy - refcount variable was a gint
12383 in GstObject but is a guint in GObject and g_atomic_int_get()
12386 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
12388 * gst/parse/Makefile.am:
12389 chain commands using &&, which also makes parallel make work
12391 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
12393 * docs/gst/gstreamer-sections.txt:
12396 * gst/gstmessage.h:
12399 === release 0.10.6 ===
12401 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
12404 releasing 0.10.6, "Take the cannoli"
12406 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
12408 * tools/gst-launch.c: (print_tag):
12409 Fix use of uninitialized variable in the hypothetical
12410 case that some broken plugin creates a GST_TAG_IMAGE
12411 tag containing a NULL buffer (#341667).
12413 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
12415 * tools/gst-launch.c: (print_tag):
12416 Print something more intelligible for image tags when
12417 using the -t switch (#341556).
12419 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
12424 define GST_MAJORMINOR so we have it available in win32/common/config.h
12425 Possibly remove it from our Makefile.am files later
12426 * win32/common/config.h:
12427 * win32/common/config.h.in:
12428 added GST_MAJORMINOR
12429 * win32/common/gstenumtypes.c: (register_gst_resource_error):
12430 * win32/common/gstversion.h:
12433 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
12436 Update win32 files listing.
12437 * win32/common/gstversion.h:
12438 Add GST_MAJORMINOR definition.
12439 * win32/common/libgstreamer.def:
12440 Add new exported functions.
12442 2006-05-12 Michael Smith <msmith@fluendo.com>
12444 * gst/gstplugin.c: (gst_plugin_load_file):
12445 If an so file has no plugin entry point, unload the module.
12447 2006-05-11 Wim Taymans <wim@fluendo.com>
12449 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
12450 (gst_queue_set_property):
12451 Don't forget to signal the _chain or _loop function
12452 when the queue size or thresholds change since that might
12453 cause them to make progres again.
12455 2006-05-11 Stefan Kost <ensonic@users.sf.net>
12457 * gst/gstclock.c: (gst_clock_class_init):
12458 * gst/gstindex.c: (gst_index_class_init):
12459 * gst/gstobject.c: (gst_object_class_init):
12460 * gst/gstpad.c: (gst_pad_class_init):
12461 * gst/gstpipeline.c: (gst_pipeline_class_init):
12462 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12463 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
12464 * libs/gst/base/gstbasetransform.c:
12465 (gst_base_transform_class_init):
12466 * libs/gst/net/gstnetclientclock.c:
12467 (gst_net_client_clock_class_init):
12468 * libs/gst/net/gstnettimeprovider.c:
12469 (gst_net_time_provider_class_init):
12470 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
12471 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12472 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12473 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
12474 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
12475 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
12476 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
12477 * plugins/elements/gstidentity.c: (gst_identity_class_init):
12478 * plugins/elements/gsttee.c: (gst_tee_class_init):
12479 * tests/old/examples/plugins/example.c: (gst_example_class_init):
12480 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
12481 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
12483 2006-05-11 Wim Taymans <wim@fluendo.com>
12485 * gst/gstbuffer.c: (_gst_buffer_initialize):
12486 Register subbufer along with the buffer type so that
12487 it does not accidentally gets registered from N
12488 different streaming threads in a non threadsafe way.
12490 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
12494 * gst/gstmessage.h:
12495 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
12496 gst_event_ref() and gst_message_ref() functions again
12497 (ugly hack, please do fix if there's a better way besides
12498 overrides.txt, which doesn't seem to work).
12500 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
12502 * libs/gst/check/gstcheck.h:
12503 add an assert for setting state to avoid lots of repetitive code
12506 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
12508 * gst/gstvalue.c: (gst_value_serialize_flags):
12509 fix a leak if no flags are set
12510 * tests/check/gst/gstvalue.c: (GST_START_TEST):
12513 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
12515 * docs/manual/basics-pads.xml:
12516 Expand a bit on caps and filtered links and update
12517 examples that were still using the no longer existing
12518 gst_pad_link_filtered() (#338206).
12520 2006-05-10 Wim Taymans <wim@fluendo.com>
12522 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
12523 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
12524 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
12525 (gst_collect_pads_stop):
12526 * libs/gst/base/gstcollectpads.h:
12527 No need to call _stop in _finalize.
12528 Iterate the main pad list in _finalize.
12529 Added some more debug.
12530 Free lists and data in the right order.
12531 Also free data whem doing _remove_pad when stopped for
12532 backward compatibility protect ::started with PAD_LOCK as
12535 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
12537 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
12538 (gst_structure_parse_value):
12540 rename a method so that it actually says what it does better
12542 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
12544 * gst/gstevent.c: (_gst_event_initialize):
12545 * gst/gstformat.c: (_gst_format_initialize):
12546 make sure some essential types used by events are registered
12547 as part of gst_init()
12548 * gst/gstvalue.c: (gst_value_serialize_flags):
12549 if no flags are set, serialize them to a value that represents NONE
12550 so that deserializing them works
12551 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12552 add tests for serialization and deserialization of flags
12554 2006-05-10 Wim Taymans <wim@fluendo.com>
12556 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
12557 (gst_collect_pads_collect_range), (gst_collect_pads_available),
12558 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
12559 (gst_collect_pads_event), (gst_collect_pads_chain):
12562 Catch and return errors from the collect function
12563 Refuse data on eos pads.
12565 2006-05-10 Edward Hervey <edward@fluendo.com>
12567 * gst/gstinterface.h:
12568 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
12569 GInterface type checking.
12570 They were previously using non-defined macros.
12572 2006-05-09 Wim Taymans <wim@fluendo.com>
12574 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
12575 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
12576 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
12577 (gst_collect_pads_start), (gst_collect_pads_stop),
12578 (gst_collect_pads_peek), (gst_collect_pads_pop),
12579 (gst_collect_pads_available), (gst_collect_pads_read),
12580 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
12581 (gst_collect_pads_is_collected), (gst_collect_pads_event),
12582 (gst_collect_pads_chain):
12583 * libs/gst/base/gstcollectpads.h:
12584 Clean up the mess that is collectpads, add comments and
12585 FIXMEs where needed.
12586 Maintain a separate pad list so we can add pads while
12587 collecting the other ones. For this we need a new separate
12589 Fix memory leak in finalize.
12590 Refactor some weird code to set/unset pad flushing flags, mark
12592 Don't crash in _available, _read, _flush when we're EOS.
12594 * tests/check/libs/.cvsignore:
12595 Ignore adapter check binary.
12597 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
12599 * gst/gstindex.c: (gst_index_resolver_get_type):
12600 * plugins/elements/gstfakesink.c:
12601 (gst_fake_sink_state_error_get_type):
12602 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
12603 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
12604 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
12605 Const-ify GEnumValue arrays.
12607 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
12609 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12610 Add test case for flags + gst_buffer_make_metadata_writable().
12612 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
12614 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
12615 gst_buffer_make_metadata_writable() should maintain the
12616 buffer flags (those that make sense at least) (see #340859).
12618 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
12620 * tools/gst-inspect.c:
12621 * tools/gst-launch.c:
12622 * tools/gst-typefind.c:
12623 * tools/gst-xmlinspect.c:
12625 Fix up includes: need to include stdlib.h in tools.h for exit().
12627 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
12629 * gst/gsttaglist.c: (_gst_tag_initialize):
12630 * gst/gsttaglist.h:
12631 API: add GST_TAG_IMAGE tag (#340721).
12633 2006-05-08 Wim Taymans <wim@fluendo.com>
12636 Added some docs for the segment query.
12638 2006-05-08 Wim Taymans <wim@fluendo.com>
12640 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
12641 (gst_base_src_loop), (gst_base_src_change_state):
12642 Always push non-flushing serialized events in the streaming
12645 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
12647 * gst/gsterror.c: (_gst_stream_errors_init):
12648 Add a missing error string.
12650 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
12652 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
12653 Add applied_rate to the debug
12655 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12656 Copy applied_rate into the outgoing NEWSEGMENT event
12658 2006-05-08 Wim Taymans <wim@fluendo.com>
12660 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
12662 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
12663 (gst_base_sink_change_state):
12664 call ::unlock before taking the PREROLL_LOCK so we can safely
12665 handle elements that lock in ::render.
12668 2006-05-08 Edward Hervey <edward@fluendo.com>
12670 * autogen.sh: (CONFIGURE_DEF_OPT):
12671 Darwin's libtoolize is in fact called glibtoolize.
12672 Adding glibtoolize to the list of accepted names for libtoolize.
12674 2006-05-08 Wim Taymans <wim@fluendo.com>
12676 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12677 Unify error handling, don't post an error message
12678 when a push() returns EOS but perform our normal EOS
12679 handling code. Fixes #340772.
12681 2006-05-08 Wim Taymans <wim@fluendo.com>
12683 * docs/design/part-overview.txt:
12684 Make upsteam/downstream concepts more clear.
12685 Give an example of serialized/non-serialized events.
12687 * docs/design/part-events.txt:
12688 * docs/design/part-streams.txt:
12689 Mention applied_rate.
12691 * docs/design/part-trickmodes.txt:
12692 Mention applied rate, flesh out some more use cases.
12694 * gst/gstevent.c: (gst_event_new_new_segment),
12695 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
12696 (gst_event_parse_new_segment_full), (gst_event_new_tag),
12697 (gst_event_parse_tag), (gst_event_new_buffer_size),
12698 (gst_event_parse_buffer_size), (gst_event_new_qos),
12699 (gst_event_parse_qos), (gst_event_parse_seek),
12700 (gst_event_new_navigation):
12702 Add applied_rate field to NEWSEGMENT event.
12703 API: gst_event_new_new_segment_full()
12704 API: gst_event_parse_new_segment_full()
12706 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
12707 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
12708 (gst_segment_to_stream_time), (gst_segment_to_running_time):
12709 * gst/gstsegment.h:
12710 Add applied_rate to GstSegment structure.
12711 Make calculation of stream_time and running_time more correct
12712 wrt rate/applied_rate.
12713 Add some more docs.
12714 API: GstSegment::applied_rate field
12715 API: gst_segment_set_newsegment_full();
12717 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12718 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
12719 * libs/gst/base/gstbasetransform.c:
12720 (gst_base_transform_sink_eventfunc),
12721 (gst_base_transform_handle_buffer):
12722 Parse and use applied_rate in the GstSegment field.
12724 * tests/check/gst/gstevent.c: (GST_START_TEST):
12725 Add check for applied_rate field.
12727 * tests/check/gst/gstsegment.c: (GST_START_TEST),
12728 (gstsegments_suite):
12729 Add more checks for various GstSegment operations.
12731 2006-05-08 Wim Taymans <wim@fluendo.com>
12733 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
12734 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
12735 (gst_base_sink_get_position), (gst_base_sink_change_state):
12736 Store the sync time of the buffer end position separatly in a
12737 new variable eos_rtime so we can properly sync the EOS event.
12739 Fix the docs for gst_base_sink_set_qos_enabled().
12740 Don't set segment start to invalid value when we receive a
12741 non TIME newsegment.
12742 get closer to handling position reporting for negative rates
12745 2006-05-07 Stefan Kost <ensonic@users.sf.net>
12748 Docs about how to print caps for debug purposes.
12750 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
12751 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
12753 2006-05-07 Stefan Kost <ensonic@users.sf.net>
12755 * gst/gstelement.c:
12756 use full enum names and preprend a '%' in docs strings to make recent
12757 gtk-doc turn that into a link
12759 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
12761 * docs/manual/basics-bins.xml:
12762 * docs/manual/basics-bus.xml:
12763 * docs/manual/basics-pads.xml:
12764 Some typo fixes, some additions, some clarifications.
12766 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
12768 * tools/gst-inspect.c: (main):
12769 * tools/gst-launch.c: (main):
12770 * tools/gst-run.c: (main):
12771 * tools/gst-typefind.c: (main):
12772 * tools/gst-xmlinspect.c: (main):
12773 Use the string passed to g_option_context_new() for
12774 what it's intended for - the program name is already
12777 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
12779 * tools/Makefile.am:
12780 * tools/gst-inspect.c: (main):
12781 * tools/gst-launch.c: (main):
12782 * tools/gst-xmlinspect.c: (main):
12784 Add back --version command line option (#340460).
12786 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
12787 Add --version option and use GOption for argument parsing; refactor a
12788 bit; accept directories as arguments and recurse into them; lastly,
12789 print a decent error message when things go wrong.
12791 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
12793 * docs/manual/basics-bins.xml:
12794 Don't mention GstThread (#340611)
12795 * docs/manual/basics-elements.xml:
12796 Update link to GObject tutorial (#340607)
12798 2006-05-05 Wim Taymans <wim@fluendo.com>
12801 * gst/gstminiobject.c:
12802 Add note about refcounting and miniobject/buffer writeability
12803 to docs. Fixes #340604
12805 * gst/gstelementfactory.h:
12806 Added some explanation about @klass.
12808 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
12810 * docs/manual/intro-motivation.xml:
12811 * docs/manual/manual.xml:
12812 Avoid CORBA & Bonobo references (#340598)
12814 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
12816 * docs/manual/basics-bus.xml:
12817 * docs/manual/basics-pads.xml:
12818 Fix up some inaccuracies and omissions (#340609)
12820 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
12822 * gst/gstghostpad.c:
12823 Small typo in docs (#340625)
12825 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
12827 * gst/parse/Makefile.am:
12828 Make 'make -j' proof (see #340698).
12830 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
12833 Require GLib-2.8 here as well.
12835 2006-05-05 Wim Taymans <wim@fluendo.com>
12837 * gst/glib-compat.c:
12838 * gst/gst.c: (init_pre):
12839 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12840 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
12841 (gst_object_dispatch_properties_changed):
12843 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
12844 * gst/gststructure.c: (gst_structure_set_valist):
12845 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
12846 Remove pre glib2.8 compatibility, fixes #340508
12848 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
12850 * gst/gsttaglist.h:
12851 Mention type of tags in doc blurbs.
12853 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
12855 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
12856 (gst_pad_configure_src), (gst_pad_push):
12857 Restore acceptcaps checking behaviour now that good plugins have
12860 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
12862 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
12869 * gst/gstmessage.c:
12873 * gst/parse/Makefile.am:
12874 * libs/gst/base/gstadapter.c:
12875 * libs/gst/base/gstbasesrc.c:
12876 * libs/gst/base/gstpushsrc.c:
12877 * libs/gst/base/gsttypefindhelper.c:
12878 * plugins/elements/gstfakesrc.c:
12879 * plugins/elements/gstidentity.c:
12880 Make sure gstprivate.h and/or config.h are
12881 always included first, otherwise some of our
12882 defines (like _FILE_OFFSET_BITS) might be
12883 redefined in the system headers. Fixes build
12884 on opensolaris (#340016).
12886 2006-05-04 Wim Taymans <wim@fluendo.com>
12888 * docs/libs/gstreamer-libs-sections.txt:
12889 API: addition: gst_adapter_take_buffer()
12891 * libs/gst/base/gstadapter.c: (gst_adapter_push),
12892 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
12893 (gst_adapter_available_fast):
12894 * libs/gst/base/gstadapter.h:
12895 Prepare for optimizing the hell out of this hugely inefficient
12897 Added gst_adapter_take_buffer() so we can at least start thinking
12898 about subbuffering and merging.
12899 Added some comments.
12901 * tests/check/Makefile.am:
12902 * tests/check/libs/adapter.c: (GST_START_TEST),
12903 (gst_adapter_suite), (main):
12904 Added GstAdapter check.
12906 2006-05-04 Wim Taymans <wim@fluendo.com>
12908 * docs/design/part-overview.txt:
12909 Fix some typos, add blurb about buffer flags.
12911 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
12913 * docs/libs/gstreamer-libs-sections.txt:
12914 make sure GstBaseTransformClass shows up in the docs
12915 * libs/gst/base/gstbasetransform.c:
12916 * libs/gst/base/gstbasetransform.h:
12917 move docs so gtk-doc picks it up now
12919 2006-05-02 Stefan Kost <ensonic@users.sf.net>
12921 * docs/libs/gstreamer-libs-sections.txt:
12922 add missing symbols to docs
12924 2006-05-02 Stefan Kost <ensonic@users.sf.net>
12926 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
12927 back out the newsegment handling change, see #340060 for ongoing
12930 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
12932 * tools/gst-run.c: (get_candidates), (main):
12933 Fix wrong g_file_test() usage (see glib docs for why it doesn't
12934 work); fix typo in error message. Fixes #340079.
12936 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
12938 * common/Makefile.am:
12939 * docs/Makefile.am:
12940 * docs/faq/Makefile.am:
12941 * docs/gst/Makefile.am:
12942 * docs/libs/Makefile.am:
12943 * docs/manual/Makefile.am:
12944 * docs/plugins/Makefile.am:
12945 * docs/pwg/Makefile.am:
12946 * docs/slides/Makefile.am:
12948 * common/upload.mak:
12949 move upload.mak to common
12951 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
12953 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12954 add more asserts on refcounts
12955 do more cleanup at end of tests
12956 fix test leaks showing in FC5
12958 2006-04-29 Stefan Kost <ensonic@users.sf.net>
12960 * plugins/elements/gsttypefindelement.c:
12961 (gst_type_find_element_handle_event):
12962 reverted wrong change and reflowed code to avoid others falling into
12965 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12967 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
12968 fix changelog entry about last collectpads change,
12969 add notes about proper fix
12971 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12974 * gst/gstregistry.c: (gst_registry_scan_path_level),
12975 (gst_registry_scan_path):
12976 * gst/gstregistry.h:
12977 only write out registry if it has changed, fixes #338339
12979 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12982 * gst/gstpipeline.c:
12983 * plugins/elements/gstcapsfilter.c:
12984 * plugins/elements/gstfakesink.c:
12985 * plugins/elements/gstfakesrc.c:
12986 * plugins/elements/gstfdsink.c:
12987 * plugins/elements/gstfdsrc.c:
12988 * plugins/elements/gstfilesink.c:
12989 * plugins/elements/gstfilesrc.c:
12990 * plugins/elements/gstidentity.c:
12991 * plugins/elements/gstqueue.c:
12992 * plugins/elements/gsttee.c:
12993 * plugins/elements/gsttypefindelement.c:
12994 (gst_type_find_element_handle_event):
12995 make GstElementDetails const
12997 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12999 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
13000 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
13001 (gst_collect_pads_is_collected), (gst_collect_pads_event):
13002 more detailed debug and formatting cleanup,
13003 forward newsegments to src-pad (so that e.g. adder not eats them)
13005 2006-04-28 Stefan Kost <ensonic@users.sf.net>
13007 * gst/gstutils.c: (gst_element_link_pads):
13008 cleanup double code
13010 2006-04-28 Stefan Kost <ensonic@users.sf.net>
13012 * libs/gst/controller/gstcontroller.c:
13013 (gst_controller_sync_values):
13015 * tests/check/libs/controller.c: (GST_START_TEST),
13016 (gst_controller_suite):
13017 a new test for live value handling
13019 2006-04-28 Wim Taymans <wim@fluendo.com>
13021 * gst/gstutils.c: (push_and_ref):
13022 Added some more docs.
13023 Fix refcount issue whith gst_element_found_tags() helper
13024 function. Fixes #338335
13026 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13027 Added testsuite for gst_element_found_tags().
13029 2006-04-28 Michael Smith <msmith@fluendo.com>
13031 * gst/gstvalue.c: (gst_value_serialize_flags):
13032 Avoid NULL dereference when trying to serialize flags containing
13035 2006-04-28 Michael Smith <msmith@fluendo.com>
13037 * plugins/elements/gsttypefindelement.c:
13038 (gst_type_find_element_handle_event):
13039 If we get EOS before any data is accumulated, don't use
13040 uninitialised local variables.
13042 2006-04-28 Michael Smith <msmith@fluendo.com>
13044 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13045 (gst_dp_event_from_packet):
13046 Fixes in reading/writing events over GDP (not currently used?) -
13047 dereferencing NULL events for unknown/invalid event types, memory
13048 leak, and change g_warning to GST_WARNING.
13050 2006-04-28 Wim Taymans <wim@fluendo.com>
13052 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
13053 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
13054 (gst_base_sink_get_position), (gst_base_sink_change_state):
13055 When frame dropping is enabled, we should not ignore frames
13056 without a duration.
13057 Update some documentation.
13059 2006-04-28 Wim Taymans <wim@fluendo.com>
13061 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13062 (gst_base_src_send_event), (gst_base_src_change_state):
13063 Documentation updates.
13065 2006-04-28 Wim Taymans <wim@fluendo.com>
13067 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
13068 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
13069 handle EAGAIN, EINTR and short writes correctly. Also clean
13070 up some error cases, avoid a deadlock on bad file descriptors and
13071 use GST_DEBUG_OBJECT.
13074 2006-04-28 Wim Taymans <wim@fluendo.com>
13076 * gst/gstvalue.c: (gst_value_serialize_buffer),
13077 (gst_value_deserialize_buffer):
13078 Don't try to serialize a GValue with a NULL buffer.
13081 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13082 Added check for serialisation of NULL buffers.
13084 2006-04-28 Wim Taymans <wim@fluendo.com>
13086 * gst/gstminiobject.c: (gst_value_take_mini_object):
13087 Taking a NULL miniobject is valid, fix the case where
13088 we try to unref the NULL miniobject.
13090 2006-04-28 Wim Taymans <wim@fluendo.com>
13092 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
13094 * gst/gstbin.c: (gst_bin_handle_message_func):
13096 Don't leak bin refcount when a state recalc is
13097 in progress and we delay another one #339808.
13099 2006-04-28 Wim Taymans <wim@fluendo.com>
13101 * docs/design/part-TODO.txt:
13102 Mention QoS as an ongoing work item.
13104 * docs/design/part-buffering.txt:
13105 New doc about buffering that needs to be fleshed out
13108 * docs/design/part-qos.txt:
13109 More QoS policy for decoders/demuxers/transforms
13111 * docs/design/part-trickmodes.txt:
13114 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
13119 === release 0.10.5 ===
13121 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
13124 releasing 0.10.5, "Fogo"
13126 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
13128 patch by: Wim Taymans
13130 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
13131 (gst_pad_configure_src), (gst_pad_push):
13132 * gst/gstpipeline.c: (gst_pipeline_init):
13133 Fix internal data flow errors. Fixes #338711.
13135 2006-04-12 Wim Taymans <wim@fluendo.com>
13137 * tests/check/gst/gstelement.c: (GST_START_TEST):
13138 Don't leak the factory.
13140 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
13143 * win32/common/config.h:
13146 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
13148 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
13149 (gst_controller_unset_all):
13150 Free allocated GstTimedValues when freeing list nodes.
13151 Should fix leaks 'make check-valgrind' complains about.
13153 * win32/common/libgstcontroller.def:
13154 Add gst_controller_unset_all.
13156 2006-04-11 Stefan Kost <ensonic@users.sf.net>
13158 * docs/libs/gstreamer-libs-sections.txt:
13159 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
13160 (gst_controller_unset_all):
13161 * libs/gst/controller/gstcontroller.h:
13162 API: Added new method gst_controller_unset_all()
13163 fixed gst_controller_unset()
13164 * tests/check/libs/controller.c: (GST_START_TEST),
13165 (gst_controller_suite):
13166 Added two testcases for new and fixed method
13168 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
13170 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
13171 MSG_DONTWAIT is not defined on Cygwin, so work
13172 around that (fixes #317048).
13174 2006-04-11 Wim Taymans <wim@fluendo.com>
13176 * gst/gstelementfactory.c: (gst_element_register),
13177 (gst_element_factory_create), (gst_element_factory_make):
13180 Updated docs (Fixes #131079)
13182 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
13185 * tests/check/gst/gstelement.c: (GST_START_TEST),
13186 (gst_element_suite):
13187 Added testcase for elementfactory class field.
13189 2006-04-10 Wim Taymans <wim@fluendo.com>
13191 * gst/gstsegment.c:
13192 Added some more docs.
13194 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
13195 (gst_base_sink_reset_qos):
13196 Calculate more accurate rate values.
13198 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
13200 * gst/gst_private.h:
13201 add a new #ifdef to use __declspec(dllimport) only for
13202 other modules and not for gstreamer core
13203 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
13204 use gst_guint64_to_gdouble for conversion
13205 * win32/common/libgstreamer.def:
13206 add new exported functions
13207 * win32/vs6/gst_inspect.dsp:
13208 * win32/vs6/gst_launch.dsp:
13209 * win32/vs6/libgstbase.dsp:
13210 * win32/vs6/libgstcontroller.dsp:
13211 * win32/vs6/libgstcoreelements.dsp:
13212 * win32/vs6/libgstdataprotocol.dsp:
13213 * win32/vs6/libgstnet.dsp:
13214 update project files
13216 2006-04-08 Stefan Kost <ensonic@users.sf.net>
13218 * gst/gstbuffer.c: (gst_subbuffer_class_init):
13219 * gst/gstclock.c: (gst_clock_class_init):
13220 * gst/gstelement.c: (gst_element_class_init):
13221 * gst/gstindex.c: (gst_index_class_init):
13222 * gst/gstindexfactory.c: (gst_index_factory_class_init):
13223 * gst/gstobject.c: (gst_object_class_init),
13224 (gst_signal_object_class_init):
13225 * gst/gstpad.c: (gst_pad_class_init):
13226 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
13227 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
13228 * gst/gstregistry.c: (gst_registry_class_init):
13229 * gst/gstsystemclock.c: (gst_system_clock_class_init):
13230 * gst/gsttask.c: (gst_task_class_init):
13231 * gst/gstxml.c: (gst_xml_class_init):
13232 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13233 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13234 (gst_base_src_loop):
13235 * libs/gst/controller/gstcontroller.c:/
13236 (_gst_controller_class_init):
13237 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
13238 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
13239 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
13240 * tests/old/examples/plugins/example.c: (gst_example_class_init):
13241 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
13242 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
13244 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
13246 * gst/gstpad.c: (gst_pad_link):
13247 Must set peer pads before calling the link function, otherwise
13248 a task started from a link function might get a flow-not-linked
13249 result when trying to push because the other thread where the
13250 linking happens hasn't had a chance to set the peers yet. This
13251 might happen for example when a queue gets linked to a downstream
13252 element, as queue starts a streaming task when its source pad
13253 gets linked. Happens in real life when playing back flac/musepack
13254 files in playbin (#332390).
13256 2006-04-08 Stefan Kost <ensonic@users.sf.net>
13260 * libs/gst/base/gstadapter.h:
13261 * libs/gst/base/gstbasesink.h:
13262 * libs/gst/base/gstbasesrc.h:
13263 * libs/gst/base/gstbasetransform.h:
13264 * libs/gst/base/gstcollectpads.h:
13265 * libs/gst/base/gstpushsrc.h:
13266 Fix broken GObject macros
13268 2006-04-07 Wim Taymans <wim@fluendo.com>
13270 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13271 Initialize start and stop times, thanks valgrind.
13273 2006-04-07 Wim Taymans <wim@fluendo.com>
13275 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13276 Be a bit nicer to badly behaving upstream elements that expect
13277 us to deal with non TIME segments and timestamps (such as fakesrc
13280 2006-04-07 Wim Taymans <wim@fluendo.com>
13283 Small documentation clarification about the signal watch.
13285 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
13286 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
13287 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
13288 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
13289 (gst_base_sink_get_position_last),
13290 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
13291 Convert and store timestamps in stream time and running time, the
13292 raw timestamps are not useful, also document this better.
13293 Use different window sizes for good and bad QoS observations so
13294 we react to badness a little quicker.
13295 Keep track of the amount of rendered and dropped buffers.
13296 Send QoS timestamps in running time.
13298 * libs/gst/base/gstbasetransform.c:
13299 (gst_base_transform_sink_eventfunc),
13300 (gst_base_transform_handle_buffer):
13301 Compare QoS timestamps against running time.
13303 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
13306 Typo fixes in docs.
13308 2006-04-06 Michael Smith <msmith@fluendo.com>
13310 * gst/gstpad.c: (gst_pad_set_property):
13311 Use g_value_get_object() instead of g_value_dup_gst_object(),
13312 to avoid double-reffing the pad template (which we then sink,
13313 so this worked previously if (and only if) the pad template
13316 * gst/gstpadtemplate.c: (gst_pad_template_init),
13317 (gst_pad_template_pad_created):
13318 Never return floating references to pad templates, create
13319 them as initially-sunken.
13321 Document an extra function (and make this stop sinking our
13322 pad template, since that is now guaranteed to do nothing,
13323 since we created it sunken).
13325 * gst/gstghostpad.c:
13328 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
13330 * gst/gstinfo.c: (__gst_in_valgrind):
13333 * plugins/elements/gsttypefindelement.c:
13334 (gst_type_find_element_chain):
13335 Don't leak buffer caps.
13337 2006-04-06 Michael Smith <msmith@fluendo.com>
13339 * gst/parse/grammar.y:
13340 Fix a leak in parse-launch for any source-or-sink named element
13343 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13344 Unref the pipeline if it exists after we've failed parsing.
13346 2006-04-05 Michael Smith <msmith@fluendo.com>
13348 * gst/gstpipeline.c: (gst_pipeline_init):
13349 When we create a pipeline bus, initially create it in flushing mode.
13350 Fixes leaks in at least one test, and makes a new pipeline work the
13351 same as one that has gone to READY and then back to NULL.
13353 * gst/gstelement.c:
13356 2006-04-05 Michael Smith <msmith@fluendo.com>
13358 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13359 Unref a pad we reffed.
13360 * tests/check/gst/gstutils.c: (GST_START_TEST):
13363 2006-04-05 Michael Smith <msmith@fluendo.com>
13365 * gst/gstquery.c: (gst_query_set_formats),
13366 (gst_query_set_formatsv):
13367 Fix leaking GValues in queries, as shown by valgrind/testsuite.
13369 2006-04-05 Michael Smith <msmith@fluendo.com>
13371 * tests/check/generic/sinks.c: (GST_START_TEST):
13372 Fix a variety of memleaks in sinks check, which are only sometimes
13373 shown by running the tests under valgrind (weird?).
13375 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
13377 * docs/version.entities.in:
13378 Fix the substituted entity name after thomas' changes on the
13381 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
13383 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
13386 2006-04-05 Andy Wingo <wingo@pobox.com>
13388 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
13390 * libs/gst/base/gstbasetransform.c
13391 (gst_base_transform_sink_eventfunc): When resetting our segment on
13392 FLUSH_STOP, also update the flag saying we haven't seen a
13395 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
13397 Patch by: Paolo Borelli <pborelli at katamail dot com>
13399 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
13400 (gst_plugin_check_license):
13401 minor clean-ups: G_DEFINE_TYPE already takes care of the
13402 parent_class stuff, no need to do it twice. Mark array of
13403 license strings as constant. (#337103)
13405 2006-04-04 Michael Smith <msmith@fluendo.com>
13407 * tools/gst-inspect.c: (print_element_list):
13408 Free the right plugin list; fixes a memory leak.
13410 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
13412 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
13414 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
13415 Don't error out on empty buffers (#336945).
13417 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
13419 * docs/libs/gstreamer-libs-sections.txt:
13420 * gst/gsttaglist.c:
13421 * libs/gst/base/gstbasesink.c:
13422 * libs/gst/base/gstbasesink.h:
13423 * libs/gst/base/gstbasesrc.c:
13424 * libs/gst/base/gstbasesrc.h:
13425 Documentation updates. Make BaseSink and BaseSrc docs contain the
13426 class structure so that people can actually see the prototypes for
13427 virtual functions they're supposed to be overriding.
13429 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
13431 * plugins/elements/gsttypefindelement.c:
13432 (gst_type_find_element_chain):
13433 More debug info; when skipping typefinding, send cached
13434 events in all cases.
13436 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
13439 use new AS_VERSION and AS_NANO macros
13440 * gst/gst-i18n-lib.h:
13443 * gst/gstversion.h.in:
13444 * win32/common/config.h:
13445 * win32/common/config.h.in:
13448 2006-03-31 Michael Smith <msmith@fluendo.com>
13450 * plugins/elements/gsttypefindelement.c:
13451 (gst_type_find_element_chain):
13452 Do not typefind content if the buffers already have caps.
13453 Neccesary for icydemux (#333657), and the right thing to do anyway.
13455 2006-03-30 Wim Taymans <wim@fluendo.com>
13457 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13458 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
13459 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
13460 (gst_base_sink_record_qos_observation),
13461 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
13462 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
13463 (gst_base_sink_change_state):
13464 More QoS measurements as described in the design doc.
13465 Get rid of ringbuffer with observations, running average is
13466 more simple and equally good.
13467 Calculates valid proportion now.
13468 Added beginning of flood measurement.
13470 2006-03-29 Wim Taymans <wim@fluendo.com>
13472 * docs/design/part-qos.txt:
13474 Small documentation updates and additions.
13476 2006-03-29 Wim Taymans <wim@fluendo.com>
13478 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
13479 (gst_base_src_send_event), (gst_base_src_loop),
13480 (gst_base_src_change_state):
13481 Perform the EOS logic when we reach the segment stop position.
13482 Fix compilation on gcc4.1
13484 2006-03-29 Wim Taymans <wim@fluendo.com>
13486 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
13488 * plugins/elements/gstqueue.c: (gst_queue_init),
13489 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13490 (gst_queue_set_property):
13491 * plugins/elements/gstqueue.h:
13492 In queue, when EOS is received, if minimum threshold > max_size -
13493 current_level, there is chance that queue blocks forever in conditional
13494 item del wait. This is because the queue is not emptied completely due
13495 to minimum threshold. Here is another approach. Instead of setting
13496 cur_levels to max in EOS, just zero all minimum threshold levels. This
13497 should make sure that queue gives out all data. When going to READY
13498 (stop) state, just reset the original minimum threshold levels.
13501 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
13503 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
13504 (gst_type_find_element_handle_event),
13505 (gst_type_find_element_send_cached_events),
13506 (gst_type_find_element_change_state):
13507 * plugins/elements/gsttypefindelement.h:
13508 When typefinding is done in push mode, we should cache
13509 events we receive during typefinding instead of just
13510 dropping them (e.g. newsegment, custom events from
13511 dvdreadsrc etc.) and then send them out once we've
13512 determined the type of the stream (and decodebin
13513 has had a chance to plug in a decoder/demuxer).
13515 2006-03-27 Wim Taymans <wim@fluendo.com>
13517 * docs/design/part-qos.txt:
13520 2006-03-27 Wim Taymans <wim@fluendo.com>
13522 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
13524 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
13525 (gst_base_src_send_event), (gst_base_src_change_state):
13526 Handle element seek correctly when we are streaming.
13529 2006-03-24 Michael Smith <msmith@fluendo.com>
13531 * docs/faq/gst-uninstalled:
13532 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
13533 allow you to correctly run intalled applications built against old
13534 core, using plugins that require updated core (e.g. running
13535 installed totem against a full uninstalled gstreamer stack)
13537 2006-03-24 Stefan Kost <ensonic@users.sf.net>
13539 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
13542 2006-03-24 Wim Taymans <wim@fluendo.com>
13544 * docs/gst/gstreamer-sections.txt:
13545 Rearrange the order of the methods so that related methods
13546 are grouped together in sections.
13548 2006-03-24 Stefan Kost <ensonic@users.sf.net>
13550 * gst/gstelement.c:
13551 Little clarification in the docs
13553 2006-03-24 Stefan Kost <ensonic@users.sf.net>
13557 * plugins/elements/gstidentity.c:
13558 * plugins/elements/gstqueue.c:
13559 * plugins/elements/gsttee.c:
13560 * plugins/elements/gsttypefindelement.c:
13561 GST_ELEMENT_DETAILS formatting
13563 2006-03-24 Wim Taymans <wim@fluendo.com>
13565 * libs/gst/base/gstbasesink.h:
13566 Only add fields, not insert or we break ABI.
13568 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
13570 * win32/common/libgstbase.def:
13571 * win32/common/libgstreamer.def:
13572 Update, add recently added functions.
13574 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
13576 * docs/gst/gstreamer-sections.txt:
13577 * gst/gstutils.c: (gst_pad_query_peer_position),
13578 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
13580 API: add some new utility functions:
13581 - gst_pad_query_peer_position()
13582 - gst_pad_query_peer_duration()
13583 - gst_pad_query_peer_convert()
13585 2006-03-23 Wim Taymans <wim@fluendo.com>
13587 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
13588 (gst_base_sink_init), (gst_base_sink_finalize),
13589 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
13590 (gst_base_sink_set_property), (gst_base_sink_get_property),
13591 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
13592 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
13593 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
13594 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
13595 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
13596 (gst_base_sink_preroll_object), (gst_base_sink_event),
13597 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
13598 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
13599 (gst_base_sink_query), (gst_base_sink_change_state):
13600 Decouple max-lateness and the fact that QoS messages are generated
13601 with a new property (qos).
13602 added API: GstBaseSink::async_play()
13603 Add vmethod so subclasses can be notified of ASYNC playing
13605 Collect timestamp start and stop to report better current
13606 position in EOS/PLAYING/PAUSED/READY/NULL.
13607 Refactor QoS/frame dropping and other measurements.
13608 API: GstBaseSrc::qos
13611 * libs/gst/base/gstbasesink.h:
13612 Added Private struct.
13613 API: gst_base_sink_set_qos_enabled()
13614 API: gst_base_sink_is_qos_enabled()
13616 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
13618 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
13619 If compiling against GLib-2.8 or newer, try to read the
13620 registry file using GMappedFile first before falling back
13621 to fopen() + fread() (#332151).
13623 2006-03-22 Wim Taymans <wim@fluendo.com>
13625 * gst/gstinfo.c: (gst_debug_set_active),
13626 (gst_debug_category_set_threshold):
13627 Disable debugging unless explicitly activated.
13630 2006-03-22 Wim Taymans <wim@fluendo.com>
13632 * gst/gstelement.c: (gst_element_set_locked_state),
13633 (gst_element_dispose):
13634 Cleanup the error case.
13636 * gst/gstobject.c: (gst_object_dispose):
13637 print a critical when some object was disposed with
13638 a parent, also revive the object since it might
13641 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
13643 * tools/gst-launch.1.in:
13646 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
13649 * tests/check/Makefile.am:
13650 disable some tests when we don't have a registry
13651 * tests/check/gst/gstutils.c: (gst_utils_suite):
13652 don't build the part that needs parsing
13654 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
13657 * tests/examples/Makefile.am:
13658 fix --disable-parse build
13660 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
13662 * tools/gst-feedback.1.in:
13663 Fix typo: s/feeback/feedback/ (#133494).
13665 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
13667 * tools/Makefile.am:
13668 * tools/gst-launch.1.in:
13669 Add FILES section and correct entry about GST_REGISTRY_PATH
13670 environment variable (#133495; #133494).
13672 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
13674 * tools/Makefile.am:
13675 * tools/gst-md5sum.1.in:
13676 * tools/gst-md5sum.c:
13677 Remove gst-md5sum and man page (the md5sink element
13678 required was removed ages ago)
13680 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
13682 * gst/gststructure.c: (gst_structure_id_set_value):
13683 Make sure that string fields in structures/taglists
13684 contain valid UTF-8 - we don't want to pass rubbish to
13685 applications because of a buggy plugin (cp. #334167).
13687 2006-03-21 Edward Hervey <edward@fluendo.com>
13689 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
13690 (gst_bin_handle_message_func):
13691 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
13692 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
13693 (gst_element_set_bus_func):
13694 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
13695 * gst/gstminiobject.c: (gst_value_set_mini_object),
13696 (gst_value_take_mini_object):
13697 * gst/gstpad.c: (gst_pad_set_pad_template):
13698 * gst/gstpipeline.c: (gst_pipeline_dispose),
13699 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
13700 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
13701 (gst_collect_pads_chain):
13702 * libs/gst/net/gstnettimeprovider.c:
13703 (gst_net_time_provider_set_property):
13704 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
13705 It's in fact all issues with gst_*object_replace().
13707 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
13709 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
13711 * pkgconfig/gstreamer-check-uninstalled.pc.in:
13712 * pkgconfig/gstreamer-check.pc.in:
13713 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
13715 2006-03-21 Edward Hervey <edward@fluendo.com>
13719 * gst/gstmessage.h:
13720 gst_[buffer|event|message]_ref() macros are replaced by a static
13721 inline functions because gcc-4.1 will about if the return value
13723 * tests/check/gst/gstevent.c: (event_probe):
13724 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
13726 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
13729 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
13730 the type' case. (Closes: #335195 for now). In the future, when we
13731 depend on GLib 2.10, we could also intern the type name using
13732 g_intern_static_string()
13734 2006-03-20 Wim Taymans <wim@fluendo.com>
13736 * gst/gstbin.c: (gst_bin_handle_message_func),
13737 (bin_query_max_init), (bin_query_position_fold),
13738 (bin_query_position_done), (gst_bin_query):
13739 Position query should also take max of all streams.
13741 2006-03-20 Wim Taymans <wim@fluendo.com>
13743 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13744 (gst_fake_src_finalize):
13745 Fix leaks in fakesrc.
13747 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13748 Fix leaks in the testcase.
13750 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
13752 * gst/gst_private.h:
13753 add win32 specific import decoration(__declspec(dllimport))
13754 for all extern GstDebugCategory * variables
13755 * win32/common/libgstbase.def:
13756 * win32/common/libgstcontroller.def:
13757 * win32/common/libgstreamer.def:
13758 Add some exports, remove empty lines
13759 * win32/common/libgstdataprotocol.def:
13760 * win32/common/libgstdataprotocol.dsp:
13761 * win32/common/libgstnet.def:
13762 * win32/common/libgstnet.dsp:
13763 new project files and exportation files added
13765 2006-03-19 Wim Taymans <wim@fluendo.com>
13767 * tests/check/libs/basesrc.c: (eos_event_counter):
13768 Use proper return value for probe.
13770 2006-03-17 Wim Taymans <wim@fluendo.com>
13772 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
13774 Don't leak buffers, caps and pads on negotiation errors.
13776 2006-03-16 Stefan Kost <ensonic@users.sf.net>
13778 * docs/faq/cvs.xml:
13779 * docs/faq/dependencies.xml:
13780 * docs/faq/developing.xml:
13781 * docs/faq/faq.xml:
13782 * docs/faq/general.xml:
13783 * docs/faq/getting.xml:
13784 * docs/faq/legal.xml:
13785 * docs/faq/troubleshooting.xml:
13786 * docs/faq/using.xml:
13787 Faq review and update.
13789 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
13791 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
13793 Don't pound the cpu to pieces by checking get_caps when accept_caps
13794 is called with the same caps as the pad already has.
13795 Use GST_DEBUG_OBJECT when outputting caps change information.
13797 2006-03-15 Wim Taymans <wim@fluendo.com>
13799 * gst/gstclock.c: (gst_clock_class_init):
13802 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
13807 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
13808 (gst_pad_accept_caps), (gst_pad_configure_sink),
13809 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
13810 Make the default acceptcaps behaviour be to check the requested
13811 caps against the gst_pad_get_caps output.
13813 Ensure that gst_pad_accept_caps is used to check caps when a pad
13814 doesn't have a setcaps function, so that pads automatically refuse
13815 caps that they don't allow in their pad template. (Fixes #332986)
13817 When a buffer with attached caps is pushed, ensure that the source
13818 pad receives those caps even if the element didn't call
13819 gst_pad_set_caps first.
13821 2006-03-15 Wim Taymans <wim@fluendo.com>
13823 * libs/gst/base/gstadapter.c:
13826 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
13828 * win32/common/libgstbase.def:
13829 * win32/common/libgstcontroller.def:
13830 * win32/common/libgstreamer.def:
13831 Add a whole bunch of missing functions (#334434).
13833 2006-03-14 Wim Taymans <wim@fluendo.com>
13835 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13836 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
13837 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
13838 Better debug info when we receive a segment event.
13839 Reorganize a bit so we can pass the get_times() results around.
13840 Use the segment format when calculating the running time.
13841 Don't do QoS is sync is disabled or we have no clock or the
13842 element does not want us to sync to the clock.
13843 Don't drop buffers if QoS is disabled for now.
13845 2006-03-14 Wim Taymans <wim@fluendo.com>
13847 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
13848 Marked the stats property as unimplemented so people don't get
13850 Add debug message when regression goes wrong.
13851 Added some more docs.
13853 2006-03-14 Wim Taymans <wim@fluendo.com>
13855 * gst/gstsegment.c: (gst_segment_to_stream_time):
13856 Return correct return type in case of errors.
13858 2006-03-14 Wim Taymans <wim@fluendo.com>
13860 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
13861 Don't segfault on invalid formats.
13863 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
13865 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13866 Can't use gst_segment_to_running_time() when the segment
13867 is not in GST_TIME_FORMAT (like with filesink, for example).
13868 Stops flac encoding pipelines from spewing critical warnings
13871 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
13873 * gst/gstpipeline.c: (gst_pipeline_class_init):
13874 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
13876 * plugins/elements/gsttypefindelement.c:
13877 (gst_type_find_element_handle_event):
13878 Don't try to typefind empty streams.
13880 2006-03-14 Wim Taymans <wim@fluendo.com>
13882 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
13883 (gst_base_sink_do_qos):
13884 Separate QoS calculation.
13885 Only drop buffers when lateness is bigger than the
13886 duration of the buffer.
13888 2006-03-13 Wim Taymans <wim@fluendo.com>
13890 * gst/gstpipeline.c: (gst_pipeline_set_property),
13891 (gst_pipeline_get_property), (do_pipeline_seek),
13892 (gst_pipeline_change_state), (gst_pipeline_set_delay),
13893 (gst_pipeline_get_delay):
13894 Don't deadlock when reading properties.
13896 2006-03-13 Wim Taymans <wim@fluendo.com>
13898 * libs/gst/base/gstbasetransform.c:
13899 (gst_base_transform_class_init), (gst_base_transform_init),
13900 (gst_base_transform_sink_event),
13901 (gst_base_transform_sink_eventfunc),
13902 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
13903 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13904 (gst_base_transform_set_property),
13905 (gst_base_transform_get_property),
13906 (gst_base_transform_change_state), (gst_base_transform_update_qos),
13907 (gst_base_transform_set_qos_enabled),
13908 (gst_base_transform_is_qos_enabled):
13909 * libs/gst/base/gstbasetransform.h:
13910 Make basetransform virtual method for src events too.
13911 Handle QOS in basetransform.
13912 API: gst_base_transform_update_qos()
13913 API: gst_base_transform_set_qos_enabled()
13914 API: gst_base_transform_is_qos_enabled()
13916 2006-03-13 Wim Taymans <wim@fluendo.com>
13918 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13919 (gst_base_sink_do_sync):
13921 Use QOS debug category.
13923 2006-03-13 Wim Taymans <wim@fluendo.com>
13925 * plugins/elements/gstqueue.c:
13926 Very small doc update.
13928 2006-03-13 Wim Taymans <wim@fluendo.com>
13930 * gst/gst_private.h:
13931 * gst/gstinfo.c: (_gst_debug_init):
13932 Added QOS debug category
13934 2006-03-13 Wim Taymans <wim@fluendo.com>
13936 * docs/gst/gstreamer-sections.txt:
13937 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
13939 * gst/gstbus.c: (gst_bus_class_init):
13942 * gst/gstelement.c: (gst_element_set_locked_state):
13943 * gst/gstsegment.c:
13944 Documentation updates.
13946 * gst/gstpipeline.c: (gst_pipeline_get_type),
13947 (gst_pipeline_class_init), (gst_pipeline_init),
13948 (gst_pipeline_dispose), (gst_pipeline_set_property),
13949 (gst_pipeline_get_property), (do_pipeline_seek),
13950 (gst_pipeline_send_event), (gst_pipeline_change_state),
13951 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
13952 (gst_pipeline_get_delay):
13953 * gst/gstpipeline.h:
13954 Added methods for setting the delay.
13955 API: gst_pipeline_set_delay()
13956 API: gst_pipeline_get_delay()
13957 Add pipeline debug category
13960 Don't reset stream time when seek failed.
13962 2006-03-13 Wim Taymans <wim@fluendo.com>
13964 * docs/design/draft-klass.txt:
13965 * docs/design/part-clocks.txt:
13966 * docs/design/part-events.txt:
13967 * docs/design/part-gstbin.txt:
13968 * docs/design/part-gstpipeline.txt:
13969 * docs/design/part-messages.txt:
13970 * docs/design/part-negotiation.txt:
13971 * docs/design/part-overview.txt:
13972 * docs/design/part-preroll.txt:
13973 * docs/design/part-seeking.txt:
13974 * docs/design/part-states.txt:
13975 * docs/design/part-streams.txt:
13976 Documentation updates.
13978 2006-03-12 Julien MOUTTE <julien@moutte.net>
13980 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
13981 us to leak strings...
13983 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
13985 * libs/gst/net/gstnettimeprovider.c:
13987 * win32/common/config.h:
13990 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
13992 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
13995 Don't check for libgnomeui (leftover from old examples
13996 that aren't built or disted any longer) (#334303).
13998 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
14000 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
14001 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
14002 Emit RESOURCE_NO_SPACE_LEFT error here as well when
14003 there's no space left on the device.
14005 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
14008 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
14009 to cast the input to GstClockTime before comparing with
14010 another GstClockTime value.
14012 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
14017 === release 0.10.4 ===
14019 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
14022 releasing 0.10.4, "Light"
14024 2006-03-10 Michael Smith <msmith@fluendo.com>
14026 * libs/gst/dataprotocol/dataprotocol.c:
14027 Fix docs for dataprocotol to not get the return types completely
14028 wrong for a few functions.
14030 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
14032 * docs/gst/gstreamer-sections.txt:
14033 * gst/gstpipeline.c: (gst_pipeline_class_init),
14034 (gst_pipeline_init), (gst_pipeline_set_property),
14035 (gst_pipeline_get_property), (gst_pipeline_change_state),
14036 (gst_pipeline_set_auto_flush_bus),
14037 (gst_pipeline_get_auto_flush_bus):
14038 * gst/gstpipeline.h:
14039 Add new API: gst_pipeline_set_auto_flush_bus() and
14040 gst_pipeline_get_auto_flush_bus() to disable automatic
14041 flushing of the pipeline's GstBus when going from READY
14042 to NULL state (#332045).
14044 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
14046 * docs/gst/gstreamer-sections.txt:
14047 * gst/gsturi.c: (gst_uri_has_protocol):
14049 Add new API: gst_uri_has_protocol() (#333779).
14051 2006-03-09 Wim Taymans <wim@fluendo.com>
14053 * gst/gstclock.c: (gst_clock_entry_new),
14054 (gst_clock_id_compare_func), (gst_clock_id_wait),
14055 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
14056 (gst_clock_init), (gst_clock_get_internal_time),
14057 (gst_clock_set_master), (do_linear_regression),
14058 (gst_clock_add_observation), (gst_clock_set_property):
14062 Fix a possible segfault when the window-size is made smaller.
14063 Calculate jitter before performing the clock wait. Ideally
14064 the clock implementation should calculate jitter but we need
14065 API breakage for that.
14067 * gst/gstsystemclock.c: (gst_system_clock_init):
14070 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14071 Remove leftover else
14073 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
14074 (gst_systemclock_suite):
14075 Added check to test GST_CLOCK_DIFF.
14077 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
14079 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
14080 (gst_type_find_helper_get_range):
14081 If we are provided with the size, we should implement
14082 GstTypeFind::get_length, so that typefind functions who
14083 want to can actually peek at the middle of a file.
14085 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
14087 * docs/manual/advanced-dataaccess.xml:
14088 Add some very very basic error checking.
14090 * docs/pwg/appendix-checklist.xml:
14091 Some updates to the list of things to check when writing an element.
14093 2006-03-08 Wim Taymans <wim@fluendo.com>
14095 * docs/design/part-element-transform.txt:
14096 Added some docs about the design of tranform elements.
14098 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14099 (gst_base_src_loop), (gst_base_src_change_state):
14100 Mark buffers with the DISCONT flag.
14102 2006-03-08 Michael Smith <msmith@fluendo.com>
14104 * gst/gstregistry.h:
14105 * gst/gstregistryxml.c: (gst_registry_save),
14106 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
14107 (gst_registry_xml_save_pad_template),
14108 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
14109 (gst_registry_xml_write_cache):
14110 Rewrite registry-saving to avoid race conditions and check for
14113 2006-03-08 Wim Taymans <wim@fluendo.com>
14115 * libs/gst/base/gstbasetransform.c:
14116 (gst_base_transform_transform_caps),
14117 (gst_base_transform_transform_size),
14118 (gst_base_transform_prepare_output_buffer),
14119 (gst_base_transform_get_unit_size),
14120 (gst_base_transform_buffer_alloc),
14121 (gst_base_transform_handle_buffer),
14122 (gst_base_transform_change_state):
14123 Cleanups, separate normal flow from errors, add sensible
14125 Don't try to renegotiate when allocating an output buffer.
14126 Also copy DISCONT buffer flag when copying a buffer.
14127 Reset the transform after we finish streaming, not during.
14129 2006-03-08 Wim Taymans <wim@fluendo.com>
14131 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14132 Use last buffer timestamp in qos message.
14134 2006-03-07 Wim Taymans <wim@fluendo.com>
14136 Patch by: Christophe Fergeau
14138 * docs/pwg/advanced-tagging.xml:
14139 * docs/pwg/building-pads.xml:
14142 2006-03-07 Wim Taymans <wim@fluendo.com>
14144 * docs/libs/gstreamer-libs-sections.txt:
14145 Added basesink new methods.
14149 Docs updates. Flesh out the QoS docs.
14151 * libs/gst/base/gstadapter.c:
14152 Small doc clarification about ownership and flushing.
14154 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
14155 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
14156 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
14157 (gst_base_sink_get_property), (gst_base_sink_do_sync):
14158 * libs/gst/base/gstbasesink.h:
14160 Added new methods to allow subclass to control max-lateness
14162 Generate very basic QoS events based on last sync observation.
14163 Updated docs, fix typo, added some QoS blurb.
14165 * libs/gst/base/gstbasesrc.c:
14166 Remove obsolete _get_state() calls from docs.
14168 2006-03-07 Wim Taymans <wim@fluendo.com>
14170 * docs/libs/gstreamer-libs-sections.txt:
14171 * libs/gst/base/gstbasetransform.h:
14172 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
14173 Fix docs for GstBaseSrc.
14175 2006-03-07 Wim Taymans <wim@fluendo.com>
14177 * docs/gst/gstreamer-sections.txt:
14180 * libs/gst/base/gstbasetransform.h:
14181 Small documentation fixes.
14183 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
14186 Document thread-unsafety of gst_value_register_foo_func()
14187 when used at the same time as gst_value_foo() (#322628).
14189 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
14191 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
14192 (gst_push_src_check_get_range):
14193 Push sources don't support pull mode by default.
14195 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
14197 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14198 (gst_base_src_init), (gst_base_src_pad_check_get_range),
14199 (gst_base_src_default_check_get_range):
14200 * libs/gst/base/gstbasesrc.h:
14201 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
14202 provide default implementation, and rename
14203 gst_base_src_check_get_range() to
14204 gst_base_src_pad_check_get_range() for clarity.
14206 2006-03-06 Wim Taymans <wim@fluendo.com>
14208 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14209 Make property overridable.
14211 2006-03-06 Wim Taymans <wim@fluendo.com>
14213 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14214 (gst_base_sink_init), (gst_base_sink_set_property),
14215 (gst_base_sink_get_property), (gst_base_sink_do_sync):
14216 * libs/gst/base/gstbasesink.h:
14217 API addition: Make max-lateness a property.
14219 2006-03-06 Wim Taymans <wim@fluendo.com>
14221 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
14222 (gst_base_sink_do_sync), (gst_base_sink_render_object):
14223 Don't ever draw a frame that is >10ms late.
14225 2006-03-06 Michael Smith <msmith@fluendo.com>
14227 * gst/gstmessage.c: (_gst_message_copy):
14228 When copying a message, set the parent_refcount of the enclosed
14229 structure to point at the copy, not the original message.
14231 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
14233 Patch by: Christophe Fergeau
14236 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
14237 usable in c++ code (#333417)
14239 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
14242 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
14244 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
14246 * libs/gst/base/gstbasetransform.c:
14247 (gst_base_transform_transform_caps):
14248 Make sure caps are writable before passing them to
14251 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
14254 Fix some minor docs errors.
14256 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
14258 Patch by: Ross Burton <ross at burtonini dot com>
14260 * gst/gsterror.c: (_gst_resource_errors_init):
14262 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
14264 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
14267 Add a check and output a g_warning when GStreamer is built
14268 against GLib 2.6 but running against 2.8 or higher, and vice
14269 versa. (Closes: #323542)
14271 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
14273 * gst/parse/parse.l:
14274 Commit patch for parse_launch syntax from #331255. Removes
14275 support for quoted strings and mimetypes when writing filtered
14276 caps. See the bug report for more details - I'm pretty sure this
14277 obscure feature is not in use by _anyone_ anywhere.
14279 With this simple change, the size of the gstreamer.so here
14280 drops from 2193KB to 1565KB.
14282 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
14284 * plugins/elements/gsttypefindelement.h:
14285 * plugins/elements/gsttypefindelement.c:
14286 (gst_type_find_element_src_event), (start_typefinding),
14287 (stop_typefinding), (gst_type_find_element_handle_event),
14288 (gst_type_find_element_chain),
14289 (gst_type_find_element_chain_do_typefinding):
14290 Use gst_type_find_helper_for_buffer() for chain-based
14293 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
14295 * plugins/elements/gsttypefindelement.c:
14296 (gst_type_find_element_class_init),
14297 (gst_type_find_element_set_property),
14298 (gst_type_find_element_get_property):
14299 Deprecate "maximum" property (not only was it only taken into
14300 account for typefinding in push-mode anyway, it also was never
14301 actually possible to set it in the first place because the
14302 property was registered with the numeric property ID for the
14303 "minimum" property). Register "maximum" property correctly,
14304 for the sake of future copy'n'pasters. Remove some cruft
14305 from property get/set functions.
14307 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
14309 * plugins/elements/gsttypefindelement.c:
14310 (gst_type_find_element_activate):
14311 Use gst_type_find_helper_get_range() here, so we
14312 can honour the "minimum" property and also emit
14313 the signal with the correct probability of the found caps.
14315 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
14317 * docs/libs/gstreamer-libs-sections.txt:
14318 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
14319 (helper_find_suggest), (gst_type_find_helper_get_range),
14320 (gst_type_find_helper):
14321 * libs/gst/base/gsttypefindhelper.h:
14322 New API: gst_type_find_helper_get_range() (#333042).
14324 2006-03-02 Michael Smith <msmith@fluendo.com>
14326 * gst/gstregistryxml.c: (load_feature):
14327 Asserting on a failure to read part of the registry is Not Cool.
14328 Just log a warning and return NULL (which is already handled)
14330 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
14332 * win32/common/libgstbase.def:
14333 added export of gst_type_find_helper_for_buffer
14334 * win32/common/libgstbase.def:
14335 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
14336 gst_ghost_pad_get_target
14338 2006-02-28 Wim Taymans <wim@fluendo.com>
14340 * docs/design/draft-klass.txt:
14342 Added Connector to mark elements that are only used to
14343 allow pipeline connections.
14344 Moved Debug to extra feature since most of them are
14345 functionally something else.
14347 2006-02-28 Wim Taymans <wim@fluendo.com>
14349 * docs/design/draft-klass.txt:
14350 Some updates and clarifications.
14352 2006-02-28 Wim Taymans <wim@fluendo.com>
14354 * docs/design/draft-klass.txt:
14355 Proposal for klass field values.
14357 * docs/design/part-streams.txt:
14358 Start of a doc describing stream anatomy.
14360 2006-02-28 Wim Taymans <wim@fluendo.com>
14362 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
14363 Help the compiler a bit with type registration.
14364 Use existing forward cod path instead of duplicating it when
14365 handling a message.
14367 * gst/gstbus.c: (gst_bus_get_type):
14368 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
14369 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
14370 * gst/gstclock.c: (gst_clock_get_type):
14371 * gst/gstelement.c: (gst_element_get_type),
14372 * gst/gstelementfactory.c: (gst_element_factory_get_type):
14373 * gst/gstindexfactory.c: (gst_index_factory_get_type):
14374 * gst/gstminiobject.c: (gst_mini_object_get_type):
14375 * gst/gstpad.c: (gst_pad_get_type):
14376 * gst/gstsegment.c: (gst_segment_get_type):
14377 * gst/gststructure.c: (gst_structure_get_type):
14378 * gst/gstsystemclock.c: (gst_system_clock_get_type):
14379 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
14381 Help compiler with type registration.
14383 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
14386 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
14388 * plugins/elements/gsttypefindelement.c:
14389 (gst_type_find_element_handle_event):
14390 When we get an EOS event and have not found a type yet
14391 (most likely because we had not yet accumulated
14392 TYPE_FIND_MIN_SIZE of data yet), try to determine the
14393 type given the data we have so far. Fixes typefinding
14394 for very short streams again, most notably quicktime
14395 redirections as used on Apple's trailer site (#331701).
14397 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
14399 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
14400 (gst_type_find_helper):
14401 Try typefinding factories with the highest rank first.
14403 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
14405 * docs/libs/gstreamer-libs-docs.sgml:
14406 * docs/libs/gstreamer-libs-sections.txt:
14407 * libs/gst/base/gsttypefindhelper.c:
14408 Add section for typefind helper and add documentation
14409 for the old and the new function.
14411 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
14413 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
14414 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
14415 (gst_type_find_helper_for_buffer):
14416 * libs/gst/base/gsttypefindhelper.h:
14417 New API: gst_type_find_helper_for_buffer() (#332723).
14419 2006-02-27 Michael Smith <msmith@fluendo.com>
14421 Patch by: Loïc Minier
14424 * docs/Makefile.am:
14425 * docs/slides/Makefile.am:
14426 prevent CVS directories getting disted.
14428 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
14430 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
14431 Use the REFCOUNTING category for caps refcounting.
14433 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
14435 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
14436 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
14438 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
14440 * plugins/elements/gsttypefindelement.c:
14441 (gst_type_find_element_activate):
14442 Use gst_pad_check_pull_range() before _activate_pull()
14443 to avoid unnecessary open/close (see #331690).
14445 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
14448 Docs enhancement: make it crystal clear what the
14449 gst_pad_add_*_probe() callbacks should look like.
14451 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
14453 * libs/gst/base/gstbasesrc.c:
14454 Document how applications can stop recording from
14455 live sources (see #330996).
14457 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
14459 * tests/check/Makefile.am:
14460 * tests/check/libs/basesrc.c: (eos_event_counter),
14461 (basesrc_eos_events_pull), (basesrc_eos_events_push),
14462 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
14463 (gst_basesrc_suite), (main):
14464 ... and add some tests for the base source EOS stuff.
14466 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
14468 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
14469 Test case originally showed the problem fixed below,
14470 but was then amended. Add checks back at the place
14471 where they used to be.
14473 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
14475 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14476 (gst_base_src_init), (gst_base_src_loop),
14477 (gst_base_src_activate_push), (gst_base_src_activate_pull),
14478 (gst_base_src_change_state):
14479 * libs/gst/base/gstbasesrc.h:
14480 Don't unconditionally send EOS when going from PAUSED to
14481 READY state, esp. make sure we don't send two EOS events
14482 in some cases (e.g. one when reaching EOS and one when
14483 going from PAUSED to READY). Also, we don't want to send
14484 EOS events when operating in pull mode. However, we do
14485 want to send an EOS event when shutting down a live
14486 source explicitly, for example (fixes #330996).
14488 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
14490 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
14491 Update src->read_position after a seek when not using mmap.
14492 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
14494 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
14500 Make things work with --disable-parse as they do with
14501 --disable-load-save - the symbols involved disappear, but the
14502 header is still installed and GST_DISABLE_PARSE is included via
14505 2006-02-20 Julien MOUTTE <julien@moutte.net>
14507 * libs/gst/base/gstbasetransform.c:
14508 (gst_base_transform_change_state): Fix a stupid bug. I was
14509 sure I compiled that.
14511 2006-02-20 Julien MOUTTE <julien@moutte.net>
14513 * gst/gstpad.c: (gst_pad_set_blocked_async):
14514 * gst/gstutils.c: (gst_pad_add_data_probe),
14515 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14516 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14517 (gst_pad_remove_buffer_probe): Make those function act on the
14518 ghostpad target when it's a ghostpad. (Closes #331727)
14520 2006-02-20 Julien MOUTTE <julien@moutte.net>
14522 * libs/gst/base/gstbasetransform.c:
14523 (gst_base_transform_change_state): Make basetransform reusable.
14526 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
14528 * docs/random/release:
14529 Move the current documentation of how to do a release to the top
14532 * gst/gstbin.c: (gst_bin_class_init),
14533 (gst_bin_handle_message_func):
14534 Allow multiple state-recalculation threads. (Closes #328873)
14536 2006-02-19 Julien MOUTTE <julien@moutte.net>
14538 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
14539 * gst/gstpad.c: (gst_pad_set_event_function),
14540 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
14541 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
14542 2 strings. You can't use the STR_NULL macro on that.
14544 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
14546 * gst/gstpad.c: (gst_pad_set_event_function),
14547 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
14548 (gst_pad_set_getcaps_function)
14549 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
14550 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
14551 So now, we can use --gst-debug-level=5 on Windows
14552 * win32/common/libgstcontroller.def:
14553 Added export of gst_controller_init
14554 * win32/vs6/libgstcontroller.dsp:
14555 Fixed Release post build configuration
14557 2006-02-17 Wim Taymans <wim@fluendo.com>
14559 * tests/check/gst/gstquery.c: (GST_START_TEST):
14560 Added another check.
14562 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
14564 * plugins/elements/gsttypefindelement.c: (find_peek):
14565 We can do peeks at non-zero offsets, as long as they
14566 fall within the buffer we have.
14568 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
14570 * tests/check/Makefile.am:
14571 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
14572 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
14573 (parse_suite), (main):
14574 Add testsuite for parse launch syntax
14576 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
14578 * plugins/elements/gsttypefindelement.c:
14579 (gst_type_find_element_chain):
14580 When typefinding is unsuccessful in the chain function, don't
14581 error out immediately. Only error out with NO_CAPS_FOUND if
14582 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
14583 otherwise simply wait for more data so we can try typefinding
14584 again with more data later. Also, don't attempt to typefind
14585 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
14586 this should improve typefinding from network sources where the
14587 size of the first buffer can be somewhat random.
14589 2006-02-14 Wim Taymans <wim@fluendo.com>
14591 * docs/gst/gstreamer-sections.txt:
14592 * gst/gstpadtemplate.c:
14593 * gst/gstpadtemplate.h:
14594 Fix padtemplate docs, fixes #328805.
14596 2006-02-14 Wim Taymans <wim@fluendo.com>
14598 * tools/gst-launch.c: (main):
14599 NO_PREROLL is not an ERROR so don't send confusing messages
14602 2006-02-14 Wim Taymans <wim@fluendo.com>
14604 Patch by: Torsten Schoenfeld
14606 * gst/gstregistry.c: (gst_registry_get_default),
14607 (_gst_registry_cleanup):
14608 Protect default registry with lock and ref/sink it.
14611 2006-02-14 Wim Taymans <wim@fluendo.com>
14614 * gst/gstquery.c: (gst_query_list_add_format),
14615 (gst_query_set_formatsv), (gst_query_parse_formats_length),
14616 (gst_query_parse_formats_nth):
14617 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14620 2006-02-14 Wim Taymans <wim@fluendo.com>
14622 * docs/gst/gstreamer-sections.txt:
14623 Reworked query docs.
14625 * gst/gstquery.c: (gst_query_new_formats),
14626 (gst_query_list_add_format), (gst_query_set_formats),
14627 (gst_query_set_formatsv), (gst_query_parse_formats_length),
14628 (gst_query_parse_formats_nth):
14630 Flesh out formats query, added some new methods.
14631 Fix part of #324398.
14633 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
14634 Added query creation tests.
14636 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
14638 * gst/gstpad.c: (fixate_value):
14639 Add a default fixation for fraction lists.
14641 2006-02-13 Wim Taymans <wim@fluendo.com>
14643 * gst/gsttask.c: (gst_task_init), (gst_task_func),
14644 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
14647 Detect and warn for obvious deadlocks. fixes #320340
14648 Fix error case where lock was not released.
14650 * tests/check/Makefile.am:
14651 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
14652 (task_func), (gst_element_suite), (main):
14655 2006-02-13 Wim Taymans <wim@fluendo.com>
14657 * docs/gst/gstreamer-sections.txt:
14659 Add new functions to docs.
14661 2006-02-13 Wim Taymans <wim@fluendo.com>
14663 * docs/design/part-TODO.txt:
14664 Updated TODO list, basesrc supports seeking to non-bytes
14667 * docs/design/part-element-sink.txt:
14670 * gst/gstbin.c: (bin_replace_message),
14671 (gst_bin_handle_message_func):
14672 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
14673 * gst/gstevent.c: (gst_event_finalize):
14674 * gst/gstpad.c: (gst_pad_event_default_dispatch),
14675 (gst_pad_send_event):
14676 Use shiny new _TYPE_NAME macros.
14678 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
14679 Move debug statement up.
14681 * gst/gstelement.c: (gst_element_set_locked_state):
14682 Add some debugging.
14684 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
14686 * docs/gst/gstreamer-sections.txt:
14687 * gst/gstmessage.h:
14689 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
14690 macros (#330906). Also, document the already existing
14691 GST_QUERY_TYPE macro.
14693 2006-02-13 Wim Taymans <wim@fluendo.com>
14695 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
14696 (event_probe), (GST_START_TEST):
14697 Only events up to the pipeline EOS are counted, there are
14698 some more when going to NULL currently which we don't care
14701 2006-02-13 Wim Taymans <wim@fluendo.com>
14703 * gst/gstpad.c: (gst_pad_send_event):
14704 Correctly check flushing and emit probes. fixes #330125
14706 2006-02-10 Andy Wingo <wingo@pobox.com>
14708 * gst/gstbus.c (gst_bus_class_init): Declare our private data
14710 (gst_bus_init): Cache the location of the private data in the
14711 instance structure.
14712 (gst_bus_enable_sync_message_emission)
14713 (gst_bus_disable_sync_message_emission): Implement new public
14715 (gst_bus_post): Emit the sync-message signal if the user asked for
14718 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
14719 location of the bus-private structure.
14720 (gst_bus_enable_sync_message_emission)
14721 (gst_bus_disable_sync_message_emission): API addition
14723 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
14725 Patch by: Vincent Torri
14727 * docs/pwg/building-boiler.xml:
14728 PWG patch from #326800
14730 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
14733 * docs/Makefile.am:
14734 * docs/design/Makefile.am:
14737 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
14742 === release 0.10.3 ===
14744 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
14747 releasing 0.10.3, "Like a virgin"
14749 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
14752 2nd prerelease of 0.10.3
14753 Bump libtool versioning.
14755 2006-02-07 Andy Wingo <wingo@pobox.com>
14757 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
14758 update last_stop if we're in TIME format and the timestamp is
14761 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
14762 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
14763 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
14764 If we get a new newsegment with a different format, adapt
14767 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
14768 of 0. Not a problem, really.
14770 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
14773 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
14778 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
14781 project files updated to the default vs7 configuration
14782 * win32/common/libgstbase.def:
14783 * win32/common/libgstreamer.def:
14785 removed empty lines,
14786 sorted all exported symbols alphabetically
14787 * win32/common/dirent.c:
14788 * win32/common/dirent.h:
14789 * win32/common/gchar.h:
14790 use windows line end.
14792 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
14794 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
14795 Send EOS event when stopping.
14797 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
14800 Tell folks what to do if the plugin-foobar.xml file
14801 hasn't been generated for a newly-added plugin.
14803 2006-02-05 Julien MOUTTE <julien@moutte.net>
14805 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
14806 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
14807 (gst_collect_pads_start), (gst_collect_pads_stop),
14808 (gst_collect_pads_event): Collectpads now holds a reference
14809 to the GstPad that was added. Indeed we don't want to look
14810 at pads that might just go away with no warning...
14812 2006-02-05 Julien MOUTTE <julien@moutte.net>
14814 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
14815 (gst_collect_pads_start), (gst_collect_pads_stop),
14816 (gst_collect_pads_event), (gst_collect_pads_chain):
14817 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
14818 Mark Nauwelaerts's patch on bug #328491.
14820 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
14822 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
14824 Add some simple tests for gst_parse_bin_from_description() and
14825 gst_bin_find_unconnected_pad() (#329069).
14827 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
14829 * tools/gst-launch.c: (event_loop), (main):
14830 Catch errors during preroll (#320084).
14832 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
14834 * plugins/elements/gsttypefindelement.c:
14835 (gst_type_find_element_activate):
14836 Post TYPE_NOT_FOUND error message when typefinding
14837 is unsuccessful in the activate function as well.
14839 2006-02-02 Wim Taymans <wim@fluendo.com>
14841 * docs/design/part-element-sink.txt:
14844 2006-02-02 Wim Taymans <wim@fluendo.com>
14846 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
14847 (gst_base_sink_render_object),
14848 (gst_base_sink_queue_object_unlocked):
14849 Only keep track of prerollable items when we are
14851 Before rendering after preroll, always check if we
14853 Added some more debugging.
14855 2006-02-02 Wim Taymans <wim@fluendo.com>
14857 * gst/gstelement.c: (gst_element_continue_state),
14858 (gst_element_set_state_func), (gst_element_change_state):
14859 Fixed #326576, been running this for quite some time with
14860 no regressions at all.
14862 2006-02-02 Wim Taymans <wim@fluendo.com>
14865 Added more suppressions
14867 2006-02-02 Wim Taymans <wim@fluendo.com>
14869 * docs/design/part-element-sink.txt:
14872 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14873 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
14874 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
14875 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
14876 (gst_base_sink_do_sync), (gst_base_sink_render_object),
14877 (gst_base_sink_preroll_object),
14878 (gst_base_sink_queue_object_unlocked),
14879 (gst_base_sink_queue_object), (gst_base_sink_event),
14880 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
14881 (gst_base_sink_loop), (gst_base_sink_activate_pull),
14882 (gst_base_sink_get_position), (gst_base_sink_change_state):
14883 * libs/gst/base/gstbasesink.h:
14884 Totally refactored matching the design doc.
14885 Use two segments, one to clip incomming buffers and another to
14887 Handle queueing correctly, bypass the queue when playing.
14888 Make EOS cancelable.
14889 Handle errors correctly when operating in pull based mode.
14891 * tests/check/elements/fakesink.c: (GST_START_TEST),
14893 Added new check for sinks.
14895 2006-02-02 Wim Taymans <wim@fluendo.com>
14897 * gst/gstsegment.c: (gst_segment_clip):
14898 No reason to refuse to clip when start == -1
14900 2006-02-02 Stefan Kost <ensonic@users.sf.net>
14903 * docs/manual/intro-basics.xml:
14904 * docs/manual/intro-preface.xml:
14905 * docs/manual/manual.xml:
14906 * docs/pwg/advanced-dparams.xml:
14907 * docs/pwg/intro-basics.xml:
14908 * docs/pwg/intro-preface.xml:
14909 * docs/pwg/pwg.xml:
14910 describe dparams (controller) for plugins
14911 unify docs a little more
14913 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
14915 * docs/gst/gstreamer-sections.txt:
14916 * gst/gstutils.c: (element_find_unconnected_pad),
14917 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
14919 Add new API: gst_parse_bin_from_description() and
14920 gst_bin_find_unconnected_pad() (#329069).
14922 2006-02-01 Stefan Kost <ensonic@users.sf.net>
14924 * docs/manual/README:
14925 uncover a nasty detail of the docs build
14927 2006-01-31 Wim Taymans <wim@fluendo.com>
14929 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
14930 Don't cache duration messages if we're not going to use or
14933 2006-01-31 Stefan Kost <ensonic@users.sf.net>
14935 * docs/manual/advanced-dparams.xml:
14936 * docs/pwg/advanced-dparams.xml:
14940 * libs/gst/controller/lib.c: (gst_controller_init):
14943 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
14945 * gst/gstelement.c: (gst_element_message_full):
14946 also show file/line/func if no additional debug was given
14948 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
14950 * win32/vs7/grammar.vcproj:
14951 activate copy of autogenerated files for Release mode
14953 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
14955 * win32/common/libgstreamer.def:
14956 export gst_value_compare
14958 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
14960 * plugins/elements/Makefile.am:
14961 * plugins/elements/gstelements.c:
14962 * plugins/elements/gstfdsink.c: (_do_init),
14963 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
14964 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
14965 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
14966 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
14967 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
14968 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
14969 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
14970 * plugins/elements/gstfdsink.h:
14971 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
14973 2006-01-30 Stefan Kost <ensonic@users.sf.net>
14975 * docs/manual/advanced-dparams.xml:
14976 describe controller
14977 * docs/manual/advanced-position.xml:
14978 * docs/manual/basics-init.xml:
14979 * docs/manual/manual.xml:
14980 * docs/manual/titlepage.xml:
14981 * docs/pwg/pwg.xml:
14982 * docs/pwg/titlepage.xml:
14983 cleanup xml (more to come)
14984 * libs/gst/controller/gstcontroller.c:
14987 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
14989 * win32/vs6/grammar.dsp:
14990 add autogen of gstmarshal.c,h for Release mode
14992 2006-01-30 Wim Taymans <wim@fluendo.com>
14994 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14995 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
14996 (gst_base_sink_handle_object), (gst_base_sink_event),
14997 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
14998 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14999 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
15000 (gst_base_sink_deactivate), (gst_base_sink_activate),
15001 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
15002 (gst_base_sink_query), (gst_base_sink_change_state):
15003 Basesink cleanups, remove some old code.
15004 Handle the case where a subclass can preroll in the render
15005 method (mostly audiosinks).
15006 Handle more events.
15007 Remove some locks around variables that are now protected
15008 with the PREROLL_LOCK (clock_id, flushing, ..).
15009 Optimize position query some more, do correct locking.
15010 Remove old code to push queue in state change, this is not
15011 needed anymore since preroll blocks on all prerollable items
15013 Almost implemented as described in design doc.
15015 2006-01-30 Wim Taymans <wim@fluendo.com>
15017 * tests/check/gst/gstbin.c: (GST_START_TEST):
15018 Wait for refcount to settle down before checking.
15020 2006-01-30 Wim Taymans <wim@fluendo.com>
15022 * docs/design/part-element-sink.txt:
15023 Pseudo code overview of desired sink behaviour regarding
15026 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
15027 * win32/vs6/grammar.dsp:
15028 fix some bugs in Release mode for autogenerated files
15030 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
15031 * win32/common/libgstbase.def:
15032 * win32/common/libgstreamer.def:
15033 export some new symbols: gst_base_src_set_format,
15034 gst_iterator_next, gst_structure_set_valist
15036 2006-01-29 Julien MOUTTE <julien@moutte.net>
15038 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
15039 Set pad functions unconditionally. Fixes #329105.
15041 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
15043 add vs8 project files created by Sergey Scobich
15045 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
15047 * gst/gstutils.c: (gst_element_unlink_pads):
15048 Don't leak pad references.
15050 * tests/check/elements/fakesink.c: (GST_START_TEST):
15051 * tests/check/generic/sinks.c: (GST_START_TEST):
15052 * tests/check/generic/states.c: (GST_START_TEST):
15053 * tests/check/gst/gstbin.c: (GST_START_TEST):
15054 * tests/check/gst/gstcaps.c: (GST_START_TEST):
15055 * tests/check/gst/gstelement.c: (GST_START_TEST):
15056 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15057 * tests/check/gst/gstiterator.c: (GST_START_TEST):
15058 * tests/check/gst/gstvalue.c: (GST_START_TEST):
15059 Fix a bunch of leaks. Make generic/sinks.c
15060 use a bit less cpu by slowing the buffer rate
15061 between fakesrc and fakesink.
15063 2006-01-27 Stefan Kost <ensonic@users.sf.net>
15065 * gst/gstelement.c: (gst_element_send_event):
15068 * gst/gstiterator.c:
15069 * gst/gstiterator.h:
15070 * gst/gstpad.c: (gst_pad_send_event):
15071 * gst/gststructure.c:
15075 * libs/gst/base/gstadapter.c:
15076 doc fixes, to link to function, just write gst_cool_function(), don't
15079 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
15081 * plugins/elements/gsttee.c: (gst_tee_do_push),
15082 (gst_tee_handle_buffer):
15083 Always prefer an actual return value from a src
15084 pad in place of NOT_LINKED. This means we return
15085 WRONG_STATE when all src pads are WRONG_STATE
15086 instead of NOT_LINKED.
15088 Lock when replacing the last message to prevent
15089 racing with the get_property method.
15093 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
15095 * tests/check/Makefile.am:
15096 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
15098 Add a very simple check that should have caught the memleak I fixed
15099 last night (if not for the slice allocator hiding it)
15101 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
15103 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15104 (gst_bin_remove_func), (gst_bin_handle_message_func),
15105 (bin_query_duration_fold), (bin_query_generic_fold):
15106 Clean up references to the clock provider when disposed or when
15107 handling a clock-lost message from it.
15109 Unref sinks when performing a query via gst_iterator_fold, as the
15110 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
15112 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
15113 (gst_clock_set_master):
15114 Drop our reference to the master clock, if any, when we are disposed.
15116 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
15117 Chain up in dispose.
15119 2006-01-26 Wim Taymans <wim@fluendo.com>
15121 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
15122 Add some debugging.
15124 2006-01-26 Julien MOUTTE <julien@moutte.net>
15126 * plugins/elements/gsttee.c: (gst_tee_do_push),
15127 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
15128 handles pad being NOT_LINKED or in WRONG_STATE.
15130 2006-01-26 Stefan Kost <ensonic@users.sf.net>
15135 2006-01-26 Stefan Kost <ensonic@users.sf.net>
15138 remove obsolete entry
15140 2006-01-26 Stefan Kost <ensonic@users.sf.net>
15142 * docs/gst/gstreamer-sections.txt:
15143 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
15144 (gst_bin_iterate_sources), (gst_bin_send_event):
15146 * gst/gstelement.c: (gst_element_send_event):
15148 * gst/gstpad.c: (gst_pad_send_event):
15149 added code for downstream events, reviewed docs in gstevent.c
15151 2006-01-25 Julien MOUTTE <julien@moutte.net>
15153 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15154 We only query position using the clock in the playing state.
15155 Query peer in the other cases.
15156 * win32/common/config.h: Updates.
15158 2006-01-24 Wim Taymans <wim@fluendo.com>
15160 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
15161 A clock entry that is scheduled for the exact time of the
15162 clock is still in time.
15164 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15165 (gst_base_sink_do_sync):
15166 Add some more debug info.
15168 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
15171 Add new vs7 project files and solution.
15173 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
15176 all files removed as they were out-dated.
15178 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
15180 * docs/random/release:
15182 * gst/gstbin.c: (gst_bin_init):
15183 * gst/gstbus.c: (gst_bus_new):
15185 * gst/gstpipeline.c: (gst_pipeline_init):
15186 use gst_bus_new(), improve logging, fix docs
15187 * win32/common/config.h:
15188 update for cvs build
15190 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
15193 up required version of automake to 1.7
15195 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
15197 * win32/common/libgstreamer.def:
15198 export gst_buffer_is_metadata_writable
15200 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
15202 * docs/gst/gstreamer-sections.txt:
15204 Add gst_event_replace() (#327001)
15206 2006-01-20 Wim Taymans <wim@fluendo.com>
15208 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
15209 Make it actually compile too..
15211 2006-01-20 Wim Taymans <wim@fluendo.com>
15214 Clarify behaviour of _is_equal() when passing NULL parameters.
15216 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15217 (gst_pad_set_caps):
15218 Cleanups. Don't unref NULL caps.
15219 When setting the same caps, protect caps of the pad with
15221 Use full functionality of _is_equal() when comparing caps.
15223 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
15225 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
15226 Don't loop infinitely if there are no buffers to present. Partially
15227 fixes #327197, but collectpads is just broken for reusing elements
15228 to do multiple encodes atm.
15230 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
15232 * tools/gst-inspect.c: (print_element_features):
15233 * tools/gst-xmlinspect.c: (main):
15234 URL_HANDLER is not a plugin feature we can search for in
15237 2006-01-19 Edward Hervey <edward@fluendo.com>
15239 * gst/gstelement.c: (gst_element_pads_activate):
15240 When activating, do src pads first, then sink pads.
15241 When de-activating, do sink pads first, then src pads.
15243 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
15245 * docs/gst/gstreamer-sections.txt:
15246 Add gst_index_add_associationv to the docs
15248 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
15253 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
15254 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
15255 Do some refactoring. Doesn't actually change functionality,
15256 but makes landing the DRAIN event easier later.
15258 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
15260 * docs/pwg/advanced-scheduling.xml:
15261 Update from 0.9.x to 0.10 API and make example a bit
15264 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
15266 * docs/gst/gstreamer-sections.txt:
15267 Add gst_buffer_(is|make)_metadata_writable methods.
15269 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
15271 * docs/design/part-sparsestreams.txt:
15272 Update sparse streams doc, hopefully for greater clarity
15274 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
15276 * docs/design/part-events.txt:
15277 Remove mention of FILLER events.
15280 * docs/design/part-sparsestreams.txt:
15281 Write some things about using NEWSEGMENT to keep sparse streams
15284 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
15286 * gst/gstbin.c: (gst_bin_dispose):
15287 Guard gst_object_unref call against a NULL object (dispose
15288 can theoretically be called multiple times).
15290 2006-01-18 Wim Taymans <wim@fluendo.com>
15292 * gst/gstbin.c: (gst_bin_element_set_state):
15293 * gst/gstclock.c: (gst_clock_id_wait):
15294 Added some more debug info.
15296 * libs/gst/base/gstadapter.c:
15299 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15300 (gst_base_sink_do_sync), (gst_base_sink_chain):
15301 Added some comments.
15303 2006-01-18 Wim Taymans <wim@fluendo.com>
15305 * tests/check/Makefile.am:
15306 * tests/check/elements/fakesink.c: (chain_async_buffer),
15307 (chain_async), (chain_async_return), (GST_START_TEST),
15308 (fakesink_suite), (main):
15309 Added fakesink test that checks prerolling and clipping
15312 * tests/check/gst/gstutils.c: (GST_START_TEST):
15313 Make check run faster so that buildbots don't timeout.
15315 2006-01-18 Wim Taymans <wim@fluendo.com>
15317 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15318 (gst_base_sink_do_sync):
15320 When the sink finishes blocking on the preroll buffer, it can
15321 immediatly render it instead of rendering when the next buffer
15324 2006-01-18 Wim Taymans <wim@fluendo.com>
15326 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
15327 (gst_base_sink_get_property), (gst_base_sink_do_sync),
15328 (gst_base_sink_chain):
15330 GST_ELEMENT_CLOCK and sync are protected with LOCK.
15331 Don't store _last_stop if the buffer is dropped.
15333 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
15335 * plugins/elements/gsttypefindelement.c:
15336 (gst_type_find_element_class_init):
15337 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
15338 object method handler that sets the caps on the pad and we want
15339 that to happen before we emit the signal (fixes e.g. feeding a
15340 plain text file to decodebin).
15342 2006-01-18 Christian Schaller <Christian@fluendo.com>
15344 * gst/gstplugin.c: Add MPL and Proprietary as license options
15346 2006-01-18 Andy Wingo <wingo@pobox.com>
15348 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
15349 symbol was exported before, it appears this was just an oversight.
15351 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
15353 * gst/gstindex.c (gst_index_add_associationv): Changed int in
15354 prototype to gint. OK since this prototype was not in the header.
15356 2006-01-17 Andy Wingo <wingo@pobox.com>
15358 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
15359 registry while we remove plugins.
15361 * tools/gst-inspect.c (print_element_info): Don't unref the
15362 factory arg, that should be the responsibility of whatever code
15363 received the ref. Fixes a double-free when called from
15364 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
15365 (main): Unref the factory if we have one.
15366 (print_element_list): No change -- relies on the
15367 plugin_feature_list_free to free the list of features.
15369 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
15371 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
15372 (gst_buffer_make_metadata_writable):
15374 * libs/gst/base/gstbasetransform.c:
15375 (gst_base_transform_prepare_output_buf):
15376 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15377 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15378 Replace gst_buffer_(make|is)_metadata_writable patch now
15379 that the release is out.
15381 2006-01-17 Andy Wingo <wingo@pobox.com>
15383 * gst/gstregistry.c: Reflow design comment. Update so as to speak
15384 in the present tense without reference to versions.
15386 * gst/gstregistry.c (gst_registry_add_plugin)
15387 (gst_registry_remove_plugin, gst_registry_remove_feature)
15388 (gst_registry_find_feature, gst_registry_get_feature_list)
15389 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
15390 (gst_registry_lookup, gst_registry_scan_path)
15391 (_gst_registry_remove_cache_plugins)
15392 (gst_registry_get_feature_list_by_plugin): Add argument
15395 === release 0.10.2 ===
15397 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
15400 releasing 0.10.2, "If man is five"
15402 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
15406 * libs/gst/base/gstbasetransform.c:
15407 (gst_base_transform_prepare_output_buf):
15408 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15409 * tests/check/gst/gstbuffer.c: (gst_test_suite):
15410 Back out patch until after the release.
15412 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
15414 * gst/gstminiobject.c:
15415 Spelling fix in docs.
15416 * ChangeLog - remove conflict indicator
15418 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
15420 Reviewed By: Andy Wingo
15422 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
15423 (gst_buffer_make_metadata_writable):
15425 Add gst_buffer_(is|make)_metadata_writable as analogues of
15426 gst_buffer_(is|make)_writable.
15428 * libs/gst/base/gstbasetransform.c:
15429 (gst_base_transform_prepare_output_buf):
15430 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15431 Use name gst_buffer_(is|make)_metadata_writable functions.
15433 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15434 Test gst_buffer_(is|make)_metadata_writable
15438 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
15440 * docs/manual/Makefile.am:
15441 don't do parallel make
15444 * win32/common/config.h.in:
15445 add generations for HOST_CPU and GST_MAJORMINOR
15446 * win32/common/config.h:
15447 commit generated result
15449 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
15451 * docs/manual/appendix-integration.xml:
15452 Update GNOME integration section to use gst_init_get_option_group()
15453 instead of the old popt stuff (#322911). Also, GNOME applications
15454 should now use gconf*sink and gconf*src instead of the old gconf
15457 2006-01-13 Stefan Kost <ensonic@users.sf.net>
15460 * docs/gst/gstreamer-docs.sgml:
15461 * docs/gst/gstreamer-sections.txt:
15462 * docs/libs/gstreamer-libs-sections.txt:
15463 add new API entries to the docs
15464 * libs/gst/controller/Makefile.am:
15465 * libs/gst/controller/gstcontroller.c:
15466 * libs/gst/controller/gstcontroller.h:
15467 * libs/gst/controller/gstcontrollerprivate.h:
15468 * libs/gst/controller/gsthelper.c:
15469 * libs/gst/controller/gstinterpolation.c:
15470 move private structs to private header
15472 gstreamer-0.7 -> gstreamer-0.10
15473 * tests/check/libs/struct_i386.h:
15474 remove private structs
15476 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
15478 * plugins/indexers/Makefile.am:
15479 Fixes as part of #317048
15481 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
15483 * plugins/indexers/Makefile.am:
15484 fix #316086 - compilation when mmap is missing
15486 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
15488 * libs/gst/base/gstbasesink.c:
15489 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
15490 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
15491 * win32/common/config.h:
15492 added some defines GST_MAJORMINOR and HOST_CPU
15493 * win32/common/libgstbase.def:
15494 * win32/common/libgstreamer.def:
15495 added some exported functions.
15497 2006-01-12 Stefan Kost <ensonic@users.sf.net>
15499 * libs/gst/controller/gstcontroller.c:
15500 (gst_controlled_property_set_interpolation_mode),
15501 (gst_controlled_property_new):
15502 * libs/gst/controller/gstcontroller.h:
15503 * libs/gst/controller/gstinterpolation.c:
15504 (interpolate_none_get_string_value_array):
15505 make G_TYPE_STRING controlable
15507 2006-01-12 Stefan Kost <ensonic@users.sf.net>
15510 * tools/gst-feedback.1.in:
15511 * tools/gst-inspect.1.in:
15512 * tools/gst-launch.1.in:
15513 * tools/gst-md5sum.1.in:
15514 * tools/gst-typefind.1.in:
15515 * tools/gst-xmlinspect.1.in:
15516 * tools/gst-xmllaunch.1.in:
15517 cleanup man-pages, remove reference to gst-register, document env-vars
15519 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
15521 * gst/gstbuffer.c: (gst_buffer_span):
15522 gst_buffer_span should copy the timestamp of the first buffer
15523 if they were both originally overlapping subbuffers of the
15524 same parent, using the same logic as the 'slow copy' case.
15526 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
15528 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
15529 Need to awaken ALL the pads when we pop a buffer, otherwise
15530 collectpads only works when there is 2 input streams.
15532 2006-01-11 Stefan Kost <ensonic@users.sf.net>
15534 * docs/random/ensonic/media-device-daemon.txt:
15537 fix doc example, add clarification
15538 * tools/gst-launch.1.in:
15539 add initial info about GST_PLUGIN_PATH, needs more work
15541 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
15543 * docs/manual/basics-bins.xml:
15544 * docs/manual/basics-elements.xml:
15545 * docs/manual/intro-basics.xml:
15546 Some more minor docs additions and updates.
15548 2006-01-11 Wim Taymans <wim@fluendo.com>
15550 * docs/manual/basics-bins.xml:
15551 * docs/manual/basics-elements.xml:
15552 Some small fixes as pointed out by Ser-ver on IRC.
15554 2006-01-10 Edward Hervey <edward@fluendo.com>
15556 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
15557 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
15558 the single-segment mode.
15560 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
15562 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
15564 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
15565 (gst_base_src_perform_seek), (gst_base_src_send_event),
15566 (gst_base_src_set_property), (gst_base_src_get_property),
15567 (gst_base_src_loop), (gst_base_src_start),
15568 (gst_base_src_activate_push):
15569 * libs/gst/base/gstbasesrc.h:
15570 Name (private) union; makes Sun's Forte compiler happy (#324900).
15572 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
15575 gst-register is gone.
15577 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
15579 * gst/gstvalue.c: (_gst_value_initialize):
15580 make the G_TYPE_DATE instantiation work if debug is disabled
15582 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
15584 * gst/gstmessage.c: (gst_message_parse_tag),
15585 (gst_message_parse_error), (gst_message_parse_warning):
15586 Don't crash when return location for error/warning debug
15587 string is NULL; add fact that return locations can be
15588 NULL to docs where appropriate.
15590 2006-01-05 Wim Taymans <wim@fluendo.com>
15592 * gst/gstplugin.c: (gst_plugin_load_file):
15593 Replace strdup by g_strdup.
15595 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
15597 * docs/pwg/advanced-types.xml:
15600 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
15602 submitted by: Abel Cheung
15606 Added Chinese (traditional) translation
15608 2006-01-04 Wim Taymans <wim@fluendo.com>
15610 * docs/manual/basics-pads.xml:
15611 * docs/plugins/Makefile.am:
15612 * docs/plugins/gstreamer-plugins-docs.sgml:
15613 * docs/plugins/gstreamer-plugins-sections.txt:
15614 * docs/pwg/advanced-clock.xml:
15615 * docs/pwg/advanced-scheduling.xml:
15616 * docs/pwg/advanced-types.xml:
15617 * plugins/elements/gstfdsink.c:
15618 * plugins/elements/gstfdsrc.c:
15619 * plugins/elements/gstfdsrc.h:
15620 * plugins/elements/gstidentity.c: (gst_identity_class_init):
15621 * plugins/elements/gstidentity.h:
15622 * plugins/elements/gstqueue.h:
15623 * plugins/elements/gsttee.c:
15624 * plugins/elements/gsttee.h:
15625 * plugins/elements/gsttypefindelement.c:
15626 (gst_type_find_element_class_init):
15627 * plugins/elements/gsttypefindelement.h:
15628 Small updates to various docs.
15629 Added core plugins to docs.
15631 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15634 add a suppression for liboil's uninitialized variable
15636 2006-01-02 James Livingston <jrl at ids dot org dot au>
15638 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
15641 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
15642 macro, so that gcc doesn't complain if the -Wmissing-prototypes
15643 compiler switch is being used (#325429).
15645 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
15647 * gst/gstbin.c: (gst_bin_query):
15648 Disable duration query caching in bins until it gets
15649 fixed (see #324807).
15651 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
15653 * tools/gst-inspect.c: (print_element_properties_info):
15654 Handle properties of POINTER and BOXED type.
15656 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
15658 * gst/gst.c: (init_post):
15659 Init tags stuff and some other things before loading
15660 any static plugins (there may be other static plugins
15661 than just the GStreamer ones, and they may want to
15662 register their own tags or formats or whatever, and
15663 preferably without segfaulting).
15665 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
15666 Print at least a warning in the debug logs if we drop a
15667 query just because we don't know how to adjust the value
15668 in the particular format.
15670 2005-12-24 David Schleef <ds@schleef.org>
15672 * tools/gstreamer-completion:
15673 Replacement for gst-complete written in sh and sed. Only
15674 completes names of features, but that's 90% of what I want
15675 it for. Properties are not available in registry.xml. (Maybe
15678 === release 0.10.1 ===
15680 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
15683 releasing 0.10.1, "Nollaig chridheil"
15685 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
15687 * docs/faq/cvs.xml:
15688 Add missing quote, should be make ERROR_CFLAGS="".
15690 2005-12-20 Wim Taymans <wim@fluendo.com>
15692 * docs/design/part-trickmodes.txt:
15693 More documentation on trickmodes.
15695 2005-12-20 Edward Hervey <edward@fluendo.com>
15697 * gst/gstcaps.c: (gst_static_caps_get_type):
15699 API addition: GST_TYPE_STATIC_CAPS
15700 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
15701 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
15702 * gst/gstpadtemplate.h:
15703 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
15704 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
15707 2005-12-18 Wim Taymans <wim@fluendo.com>
15709 * libs/gst/base/gstadapter.c:
15710 * libs/gst/base/gstadapter.h:
15711 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15712 (gst_base_sink_get_position):
15713 * libs/gst/base/gstbasesink.h:
15714 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15715 (gst_base_src_default_query), (gst_base_src_default_do_seek),
15716 (gst_base_src_do_seek), (gst_base_src_perform_seek),
15717 (gst_base_src_send_event), (gst_base_src_update_length),
15718 (gst_base_src_get_range), (gst_base_src_loop),
15719 (gst_base_src_start):
15720 * libs/gst/base/gstbasesrc.h:
15721 * libs/gst/base/gstbasetransform.h:
15722 * libs/gst/base/gstcollectpads.h:
15723 * libs/gst/base/gstpushsrc.c:
15724 * libs/gst/base/gstpushsrc.h:
15725 * libs/gst/dataprotocol/dataprotocol.c:
15726 * libs/gst/dataprotocol/dataprotocol.h:
15727 * libs/gst/net/gstnetclientclock.h:
15728 * libs/gst/net/gstnettimeprovider.h:
15729 Documentation updates.
15731 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
15733 * docs/manual/basics-helloworld.xml:
15734 Remove superfluous closing bracket in helloworld example.
15736 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
15738 * tools/gst-launch.1.in:
15739 Update gst-launch man page; add a section with useful
15740 environment variables. Fixes #323882.
15742 2005-12-16 Stefan Kost <ensonic@users.sf.net>
15745 * gst/gst_private.h:
15746 change some char* into char[]
15748 2005-12-16 Wim Taymans <wim@fluendo.com>
15750 * gst/gstregistryxml.c: (load_feature):
15752 Don't use g_object_unref on GstObjects so that we avoid
15753 leaks on unsafe glibs.
15755 2005-12-16 Wim Taymans <wim@fluendo.com>
15757 * gst/gstbin.c: (gst_bin_recalc_state):
15760 2005-12-16 Wim Taymans <wim@fluendo.com>
15762 * common/check.mak:
15763 Added make forever target for check.
15765 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
15767 * gst/gst.c: (init_post):
15768 make the registry cache file HOST_CPU-dependent
15770 2005-12-16 Andy Wingo <wingo@pobox.com>
15772 * plugins/elements/gstbufferstore.c
15773 (gst_buffer_store_cleared_func): Pay attention to g_list_append
15776 * tests/check/gst/gstobject.c
15777 (test_fake_object_name_threaded_unique): Pay attention to
15778 g_list_sort return value.
15780 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
15782 * tools/gst-feedback-m.m:
15783 Update for 0.9/0.10 (fixes #323870).
15785 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
15787 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
15788 Fix lcopy for mini objects, the mini object needs to be ref'ed.
15790 * tests/check/gst/gstminiobject.c: (my_foo_init),
15791 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
15792 (test_value_collection), (gst_mini_object_suite):
15793 Add test to ensure refcounts end up as expected when passing
15794 GstMiniObjects through g_object_get() and g_object_set().
15796 2005-12-14 Julien MOUTTE <julien@moutte.net>
15798 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15799 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
15800 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
15801 of collectpads. This version removes a lot of races without
15802 touching API/ABI. Yay !
15804 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
15806 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
15807 Don't allow activation of a srcpad in pull_range if it has no
15809 Change some debug statements to be a little clearer
15811 * plugins/elements/gsttypefindelement.c:
15812 (gst_type_find_handle_src_query):
15813 Check that we have a peer before executing queries thereupon.
15815 * tests/examples/metadata/read-metadata.c: (message_loop):
15816 Use gst_bus_pop instead of gst_bus_poll when we just want it to
15817 immediately return us any available message with 0 timeout.
15819 2005-12-12 Michael Smith <msmith@fluendo.com>
15821 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
15822 Don't unref factories after calling them.
15823 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
15824 * plugins/elements/gsttypefindelement.c:
15825 (gst_type_find_element_chain):
15826 Free lists of factories after using them. Fixing typefinding memory
15829 2005-12-12 Stefan Kost <ensonic@users.sf.net>
15831 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
15832 (gst_plugin_feature_load):
15833 more meaningful debug output
15835 * tests/Makefile.am:
15836 * tests/old/examples/Makefile.am:
15837 make make distcheck happy again
15839 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
15841 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
15842 Catch the special case where we are operating chain-based,
15843 but the downstream peer pad has no chain function. Emit a
15844 custom error message in this case instead of letting the
15845 core generate one implying that this is some sort of core
15846 bug. It's not, it just means that whatever got plugged
15847 into the pipeline downstream when we announced the type
15848 can only operate pull-based, while our source can only
15849 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
15850 Error string has not been marked for translation yet, as
15851 it probably needs some more work first.
15853 (gst_type_find_element_get_best_possibility):
15854 Add helper function to find the best of all available
15855 found possibilities that qualify given the min. threshold.
15857 (gst_type_find_element_handle_event):
15858 Fix the case where we get an EOS while still in TYPEFIND
15859 mode (we want to chose the best of all possible types,
15860 not just the first type that happens to be in our unsorted
15861 list of possible types).
15863 (gst_type_find_element_chain):
15864 Make sure we return GST_FLOW_ERROR when we errored out
15865 in stop_typefinding(); also, don't just find the best of
15866 all found type entries and then use the last examined
15867 type entry, but actually use the best entry.
15869 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
15871 * tests/examples/typefind/typefind.c: (type_found):
15872 * tests/examples/xml/runxml.c: (xml_loaded):
15873 More gcc4 fixes and a mem leak fix.
15875 2005-12-12 Stefan Kost <ensonic@users.sf.net>
15877 * tests/examples/xml/createxml.c: (object_saved):
15880 2005-12-12 Stefan Kost <ensonic@users.sf.net>
15882 * tests/Makefile.am:
15883 enable the examples even more
15885 2005-12-12 Andy Wingo <wingo@pobox.com>
15887 * libs/gst/net/gstnettimeprovider.c
15888 (gst_net_time_provider_class_init, gst_net_time_provider_init)
15889 (gst_net_time_provider_set_property)
15890 (gst_net_time_provider_get_property):
15891 API addition: Export "active" as a GObject property.
15892 (gst_net_time_provider_thread): Only respond to time queries if
15893 the time provider is active.
15895 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
15896 NetTimeProvider, preserving binary compat.
15898 2005-12-12 Stefan Kost <ensonic@users.sf.net>
15900 * tests/examples/controller/audio-example.c: (main):
15901 * tests/examples/launch/Makefile.am:
15902 convert comments again
15904 2005-12-12 Wim Taymans <wim@fluendo.com>
15906 * libs/gst/base/gstpushsrc.c:
15909 2005-12-12 Wim Taymans <wim@fluendo.com>
15911 * docs/libs/gstreamer-libs-sections.txt:
15912 Added new symbol to docs.
15914 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15915 (gst_base_src_init), (gst_base_src_set_format),
15916 (gst_base_src_default_query), (gst_base_src_query),
15917 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
15918 (gst_base_src_perform_seek), (gst_base_src_send_event),
15919 (gst_base_src_default_event), (gst_base_src_event_handler),
15920 (gst_base_src_set_property), (gst_base_src_get_property),
15921 (gst_base_src_wait), (gst_base_src_do_sync),
15922 (gst_base_src_update_length), (gst_base_src_get_range),
15923 (gst_base_src_check_get_range), (gst_base_src_loop),
15924 (gst_base_src_default_negotiate), (gst_base_src_start),
15925 (gst_base_src_activate_push), (gst_base_src_activate_pull),
15926 (gst_base_src_change_state):
15927 * libs/gst/base/gstbasesrc.h:
15928 Implement seeking to other formats than _BYTES.
15929 Implement more seeking methods correctly.
15931 Added query vmethod.
15932 Added do_seek vmethod to make life easier for subclasses
15934 API addition: gst_base_src_set_format()
15936 2005-12-12 Stefan Kost <ensonic@users.sf.net>
15938 * tests/examples/Makefile.am:
15941 2005-12-12 Stefan Kost <ensonic@users.sf.net>
15944 * docs/random/ensonic/media-device-daemon.txt:
15945 * tests/examples/controller/.cvsignore:
15946 * tests/examples/controller/Makefile.am:
15947 * tests/examples/controller/audio-example.c: (main):
15948 * tests/examples/helloworld/.cvsignore:
15949 * tests/examples/helloworld/Makefile.am:
15950 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
15951 * tests/examples/launch/.cvsignore:
15952 * tests/examples/launch/Makefile.am:
15953 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
15954 * tests/examples/metadata/.cvsignore:
15955 * tests/examples/metadata/Makefile.am:
15956 * tests/examples/metadata/read-metadata.c: (message_loop),
15957 (make_pipeline), (print_tag), (main):
15958 * tests/examples/queue/.cvsignore:
15959 * tests/examples/queue/Makefile.am:
15960 * tests/examples/queue/queue.c: (event_loop), (main):
15961 * tests/examples/typefind/.cvsignore:
15962 * tests/examples/typefind/Makefile.am:
15963 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
15965 * tests/examples/xml/.cvsignore:
15966 * tests/examples/xml/Makefile.am:
15967 * tests/examples/xml/createxml.c: (object_saved), (main):
15968 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
15969 * tests/old/examples/Makefile.am:
15970 * tests/old/examples/TODO:
15971 * tests/old/examples/controller/.cvsignore:
15972 * tests/old/examples/controller/Makefile.am:
15973 * tests/old/examples/controller/audio-example.c:
15974 * tests/old/examples/helloworld/.cvsignore:
15975 * tests/old/examples/helloworld/Makefile.am:
15976 * tests/old/examples/helloworld/helloworld.c:
15977 * tests/old/examples/launch/.cvsignore:
15978 * tests/old/examples/launch/Makefile.am:
15979 * tests/old/examples/launch/mp3parselaunch.c:
15980 * tests/old/examples/launch/mp3play:
15981 * tests/old/examples/manual/Makefile.am:
15982 * tests/old/examples/metadata/Makefile.am:
15983 * tests/old/examples/metadata/read-metadata.c:
15984 * tests/old/examples/queue/.cvsignore:
15985 * tests/old/examples/queue/Makefile.am:
15986 * tests/old/examples/queue/queue.c:
15987 * tests/old/examples/typefind/.cvsignore:
15988 * tests/old/examples/typefind/Makefile.am:
15989 * tests/old/examples/typefind/typefind.c:
15990 * tests/old/examples/xml/.cvsignore:
15991 * tests/old/examples/xml/Makefile.am:
15992 * tests/old/examples/xml/createxml.c:
15993 * tests/old/examples/xml/runxml.c:
15994 applied some simple fixing to some examples
15995 re-enabled the working examples
15997 2005-12-12 Wim Taymans <wim@fluendo.com>
15999 * gst/gstsegment.c: (gst_segment_init),
16000 (gst_segment_set_last_stop), (gst_segment_set_seek),
16001 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
16002 (gst_segment_to_running_time):
16003 Added more documentation.
16004 Make sure the last_pos value is updated properly.
16005 Make sure to_stream_time and to_running_time don't
16006 operate on wrong values.
16008 * tests/check/gst/gstsegment.c: (GST_START_TEST):
16011 2005-12-12 Michael Smith <msmith@fluendo.com>
16013 * plugins/elements/gsttypefindelement.c: (free_entry),
16014 (gst_type_find_element_chain):
16015 Now that we're not leaking factories, make sure we keep references
16016 to them while we need them.
16018 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
16020 * tests/check/gst/struct_i386.h:
16021 ifdef out the XML structs
16023 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
16025 * gst/gstvalue.c: (gst_value_transform_double_fraction):
16026 floor is not needed, F is always positive; this obviates the
16027 need for adding -lm when building without libxml
16029 2005-12-12 Wim Taymans <wim@fluendo.com>
16031 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16032 Take current playback rate into account when reporting
16035 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
16037 * docs/manual/mime-world.fig:
16038 Let's try this again, this time with a file that is
16039 actually in XFig format.
16041 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
16043 * docs/manual/mime-world.fig:
16044 Add audioconvert element to diagram so that it
16045 matches the text and the code (fixes #319526).
16047 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
16049 * docs/pwg/building-chainfn.xml:
16050 * docs/pwg/building-pads.xml:
16051 * docs/pwg/building-state.xml:
16052 * docs/pwg/other-source.xml:
16053 Update state change stuff for 0.10 (fixes #322969).
16055 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
16057 * docs/manual/advanced-dataaccess.xml:
16058 * docs/manual/appendix-checklist.xml:
16059 * docs/manual/appendix-programs.xml:
16060 * docs/manual/basics-pads.xml:
16061 * docs/manual/highlevel-components.xml:
16062 * docs/manual/manual.xml:
16063 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
16064 add converters in front of pipelines; remove curly
16065 brackets for threads stuff, they no longer exist; use
16066 GST_TYPE_FRACTION for framerates; update some pieces of
16067 code to 0.10, but there's plenty more to do.
16069 * docs/manual/appendix-porting.xml:
16070 Expand on asynchroneous state changes; s/0.9/0.10/;
16071 mention disappearance of gst_init_get_popt_table()
16074 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
16076 * docs/faq/using.xml:
16077 Spider no longer exists, and neither does gst-launch-ext.
16078 Update examples to use decodebin and playbin and put
16079 converters in front of sinks (fixes #323726).
16081 2005-12-09 Michael Smith <msmith@fluendo.com>
16083 * plugins/elements/gsttypefindelement.c: (find_peek),
16084 (gst_type_find_element_chain):
16085 Fix leaking element factories in typefinding.
16086 Fix problem where we forgot about a probable type on non-seekable
16087 files, and thus later mis-typefound it.
16089 2005-12-09 Michael Smith <msmith@fluendo.com>
16091 * common/m4/gst-makecontext.m4:
16092 * common/m4/gst-mcsc.m4:
16094 * win32/common/config.h:
16095 * win32/common/config.h.in:
16096 Remove makecontext stuff; not used in 0.10 and causes problems on
16097 HPUX according to bug #322441
16099 2005-12-07 Wim Taymans <wim@fluendo.com>
16101 * tests/check/Makefile.am:
16102 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
16104 * tests/check/libs/struct_i386.h:
16105 Added ABI check for libs
16107 2005-12-07 Wim Taymans <wim@fluendo.com>
16109 * tests/check/Makefile.am:
16110 And add the struct_i386.h to dist.
16112 2005-12-07 Wim Taymans <wim@fluendo.com>
16114 * tests/check/Makefile.am:
16115 * tests/check/gst/.cvsignore:
16116 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
16118 * tests/check/gst/struct_i386.h:
16119 Added check for ABI compatibility.
16121 2005-12-07 Wim Taymans <wim@fluendo.com>
16123 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16124 (gst_fake_src_get_times), (gst_fake_src_create):
16125 Fix broken sync option, fixes #323259
16127 2005-12-07 Wim Taymans <wim@fluendo.com>
16132 * gst/gstcaps.c: (gst_caps_is_equal):
16133 Don't assert on NULL <--> X. Fixes #323260
16135 * gst/gstminiobject.c: (gst_mini_object_replace):
16136 If we're doing atomic operations, we might just as well use
16137 the proper way to get an atomic pointer.
16139 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16140 Clean up debugging.
16142 2005-12-07 Michael Smith <msmith@fluendo.com>
16144 * gst/parse/grammar.y:
16145 Remove handling of { } for threads.
16147 2005-12-06 David Schleef <ds@schleef.org>
16149 * libs/gst/base/gstbasetransform.c: speling fix.
16151 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
16153 * docs/libs/tmpl/gstdataprotocol.sgml:
16154 * docs/random/omega/testing/gstobject.c:
16157 * gst/gstelement.c:
16158 * gst/gstelementfactory.c:
16161 * gst/gstghostpad.c:
16163 * gst/gstpadtemplate.c:
16164 * gst/gstregistryxml.c:
16165 * gst/gsttaglist.c:
16166 * gst/gsttagsetter.c:
16167 * gst/gsttypefind.c:
16169 * libs/gst/base/gstbasesrc.c:
16170 * libs/gst/net/gstnetclientclock.c:
16171 * libs/gst/net/gstnettimeprovider.c:
16172 * plugins/elements/gstfakesrc.c:
16173 * plugins/elements/gstfdsrc.c:
16174 * plugins/elements/gstfilesrc.c:
16175 * plugins/elements/gstidentity.c:
16176 * plugins/elements/gstqueue.c:
16177 * plugins/elements/gsttypefindelement.c:
16178 * plugins/indexers/gstfileindex.c:
16179 * plugins/indexers/gstmemindex.c:
16180 * tests/check/gst/gsttag.c:
16181 * tests/old/examples/cutter/cutter.c:
16182 * tests/old/examples/mixer/mixer.c:
16183 * tests/old/examples/xml/runxml.c: (main):
16184 * tests/old/testsuite/caps/normalisation.c:
16185 * tests/old/testsuite/debug/global.c:
16186 * tests/old/testsuite/parse/parse1.c:
16187 * tools/gst-xmlinspect.c:
16188 * win32/common/dirent.c:
16191 === release 0.10.0 ===
16193 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16196 releasing 0.10.0, "Maroilles"
16198 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
16200 submitted by: Funda Wang <fundawang@linux.net.cn>
16204 added Chinese (Traditional) translation
16206 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
16208 * docs/gst/gstreamer-sections.txt:
16209 * docs/libs/tmpl/gstdataprotocol.sgml:
16210 * docs/random/thomasvs/TODO:
16215 2005-12-05 Andy Wingo <wingo@pobox.com>
16217 patch by: Wim Taymans <wim@fluendo.com>
16219 * libs/gst/base/gstbasetransform.c
16220 (gst_base_transform_prepare_output_buf)
16221 (gst_base_transform_buffer_alloc):
16222 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
16223 alloc_buffer_and_set_caps.
16225 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
16226 set_caps on the source pad.
16227 (gst_pad_alloc_buffer_and_set_caps): New function, does what
16228 alloc_buffer used to do. Fixes #322874.
16230 * docs/gst/gstreamer-sections.txt:
16231 * docs/design/part-negotiation.txt:
16232 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
16235 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
16237 patch by: Sebastien Moutte
16240 * win32/common/config.h.in:
16241 * win32/vs6/libgstcontroller.dsp:
16244 2005-12-05 Wim Taymans <wim@fluendo.com>
16246 * gst/gstcaps.c: (gst_caps_is_equal):
16247 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16248 (gst_fake_src_create):
16249 Back out previous code changes, leave doc updates, file bugs
16252 2005-12-05 Wim Taymans <wim@fluendo.com>
16254 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16255 (gst_fake_src_get_times), (gst_fake_src_create):
16256 * plugins/elements/gstfakesrc.h:
16257 Fix broken sync code.
16259 2005-12-05 Wim Taymans <wim@fluendo.com>
16261 * gst/gstcaps.c: (gst_caps_is_equal):
16262 Comparing NULL against !NULL yields different caps, not a
16265 2005-12-05 Wim Taymans <wim@fluendo.com>
16267 * gst/gstpipeline.c:
16268 Fix small typo in docs.
16270 2005-12-05 Andy Wingo <wingo@pobox.com>
16272 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
16274 * gst/gst.c (init_post): remove hard-coded 0.9 location for
16275 registries/plugins with a MAJORMINOR one.
16276 (plugin_desc): Rename library from gstcoreleements to
16277 staticelements. Fixes #323222.
16279 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
16281 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
16282 Change debug category to 'collectpads' from 'collect_pads'
16285 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
16287 patch by: Sebastien Moutte
16289 * libs/gst/controller/gstinterpolation.c:
16290 use convert function for uint64/double
16291 * win32/vs6/libgstcontroller.dsp:
16294 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
16296 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
16297 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
16299 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16300 add tests that seem to show that the guint64/gdouble conversions
16303 2005-12-02 Wim Taymans <wim@fluendo.com>
16305 * gst/gstregistry.c: (gst_registry_add_path):
16306 * gst/gstregistry.h:
16307 * gst/gstregistryxml.c:
16310 2005-12-02 Wim Taymans <wim@fluendo.com>
16312 * gst/gstutils.c: (gst_util_uint64_scale_int64),
16313 (gst_util_uint64_scale_int):
16316 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16317 Add debug log line.
16319 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
16322 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
16325 * win32/common/config.h:
16326 * win32/vs6/gstreamer.dsw:
16327 * win32/vs6/libgstcoreelements.dsp:
16328 * win32/vs6/libgstelements.dsp:
16329 renamed core elements plugin
16331 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
16333 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
16335 do piece-wise major/minor comparison so 0.9 < 0.10
16336 also allow .exe extensions for tools
16338 2005-12-02 Michael Smith <msmith@fluendo.com>
16341 Escape a % to make gtkdoc happier; bug 322958.
16343 === release 0.9.7 ===
16345 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16348 releasing 0.9.7, "My Dog Has No Nose"
16350 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16352 * common/gst-xmlinspect.py:
16354 * docs/libs/tmpl/gstdataprotocol.sgml:
16355 * docs/random/release:
16374 * win32/common/config.h:
16375 * win32/common/config.h.in:
16376 * win32/vs6/gst_inspect.dsp:
16377 * win32/vs6/gst_launch.dsp:
16378 * win32/vs6/libgstbase.dsp:
16379 * win32/vs6/libgstelements.dsp:
16380 * win32/vs6/libgstreamer.dsp:
16381 * win32/vs7/GStreamer.vcproj:
16382 * win32/vs7/gst-inspect.vcproj:
16383 * win32/vs7/gst-launch.vcproj:
16384 * win32/vs7/libgstbase.vcproj:
16385 bump GST_MAJORMINOR to 0.10
16386 reset libtool version
16388 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16392 Added Bulgarian translation by (Alexander Shopov)
16394 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16396 * tests/check/gst/gstplugin.c:
16399 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16401 * common/gst-xmlinspect.py:
16402 * common/gtk-doc-plugins.mak:
16404 * docs/Makefile.am:
16405 * docs/gst/Makefile.am:
16406 * docs/gst/gstreamer-docs.sgml:
16407 * docs/gst/gstreamer-sections.txt:
16408 * docs/gst/gstreamer.types:
16409 * docs/gst/gstreamer.types.in:
16410 * docs/plugins/Makefile.am:
16411 * docs/plugins/gstreamer-plugins-docs.sgml:
16412 * docs/plugins/gstreamer-plugins-sections.txt:
16413 * docs/plugins/gstreamer-plugins.types:
16414 * docs/plugins/inspect.stamp:
16415 * docs/plugins/inspect/plugin-coreelements.xml:
16416 * docs/plugins/inspect/plugin-coreindexers.xml:
16417 * docs/plugins/scanobj-build.stamp:
16418 * gstreamer.spec.in:
16419 * plugins/elements/Makefile.am:
16420 * plugins/elements/gstelements.c:
16421 * plugins/elements/gstfakesink.c:
16422 * plugins/elements/gstfakesrc.c:
16423 * plugins/elements/gstfilesink.c:
16424 * plugins/elements/gstfilesrc.c:
16425 * plugins/elements/gstqueue.c:
16426 * plugins/indexers/Makefile.am:
16427 * plugins/indexers/gstindexers.c:
16428 document core plugins in a separate document just like all the
16430 rename these plugins to something starting with core
16432 2005-12-01 Andy Wingo <wingo@pobox.com>
16434 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
16435 padding here before, but it missed the commit.
16437 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
16439 * libs/gst/controller/gstinterpolation.c:
16440 whitespace prices have crashed, we should feel free to use some now
16441 use gst_guint64_to_gdouble
16443 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
16445 * libs/gst/controller/gstcontroller.c:
16446 * libs/gst/controller/gsthelper.c:
16447 * libs/gst/controller/gstinterpolation.c:
16448 * libs/gst/controller/lib.c:
16449 wrap config.h include
16451 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
16453 * docs/gst/gstreamer-sections.txt:
16456 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
16458 * plugins/elements/gstelements.c:
16459 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
16460 (gst_fd_sink__class_init), (gst_fd_sink__init),
16461 (gst_fd_sink__chain), (gst_fd_sink__set_property),
16462 (gst_fd_sink__get_property):
16463 * plugins/elements/gstfdsink.h:
16464 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
16465 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
16466 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
16467 (gst_fd_src_unlock), (gst_fd_src_set_property),
16468 (gst_fd_src_get_property), (gst_fd_src_create),
16469 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
16470 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
16471 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
16472 (gst_fd_src_uri_handler_init):
16473 * plugins/elements/gstfdsrc.h:
16474 * plugins/elements/gstqueue.c: (gst_queue_get_type):
16477 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16479 * docs/gst/Makefile.am:
16480 * docs/gst/gstreamer.types.in:
16484 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16490 * gst/gstregistry.h:
16491 * tests/benchmarks/complexity.c:
16492 * tests/benchmarks/mass-elements.c:
16493 * tests/check/Makefile.am:
16494 * tools/Makefile.am:
16495 * tools/gst-inspect.c:
16496 * tools/gst-xmlinspect.c:
16497 various fixes to make
16498 --disable-nls --disable-registry --disable-loadsave
16499 --disable-parse --disable-gst-debug
16500 work and get the core .so down to 360444 bytes after stripping
16502 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16507 * docs/random/thomasvs/TODO:
16508 * tests/Makefile.am:
16512 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16514 * win32/GStreamer.vcproj:
16517 * win32/Makefile.inspect:
16518 * win32/Makefile.launch:
16519 * win32/Makefile.register:
16520 * win32/README.txt:
16521 * win32/gst-inspect.vcproj:
16522 * win32/gst-launch.vcproj:
16523 * win32/gst-register.vcproj:
16524 * win32/gstelements.vcproj:
16525 * win32/gstgetbits.def:
16526 * win32/gstgetbits.vcproj:
16527 * win32/gstreamer-dbg.def:
16528 * win32/gstreamer.def:
16529 * win32/libgstbase.def:
16530 * win32/libgstbase.vcproj:
16531 * win32/link_oldruntime.c:
16535 * win32/msvc71.sln:
16536 move even more stuff, win32/ is nice and clean now
16538 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16540 * libs/gst/control/.cvsignore:
16545 * win32/gstbytestream.def:
16546 * win32/gstbytestream.vcproj:
16547 * win32/gstconfig.h:
16548 * win32/gstenumtypes.c:
16549 * win32/gstenumtypes.h:
16550 * win32/gstoptimalscheduler.vcproj:
16551 * win32/gstversion.h:
16553 * win32/testsuite/bins.vcproj:
16554 * win32/testsuite/bytestream.vcproj:
16555 * win32/testsuite/caps.vcproj:
16556 * win32/testsuite/cleanup.vcproj:
16557 * win32/testsuite/clock.vcproj:
16558 * win32/testsuite/debug.vcproj:
16559 * win32/testsuite/dlopen.vcproj:
16560 * win32/testsuite/dynparams.vcproj:
16561 * win32/testsuite/elements.vcproj:
16562 * win32/testsuite/ghostpads.vcproj:
16563 * win32/testsuite/indexers.vcproj:
16564 * win32/testsuite/negotiation.vcproj:
16565 * win32/testsuite/parse.vcproj:
16566 * win32/testsuite/plugin.vcproj:
16567 * win32/testsuite/refcounting.vcproj:
16568 * win32/testsuite/schedulers.vcproj:
16569 * win32/testsuite/states.vcproj:
16570 * win32/testsuite/tags.vcproj:
16571 * win32/testsuite/threads.vcproj:
16572 remove old win32 stuff that isn't maintained and should be
16575 2005-11-30 Andy Wingo <wingo@pobox.com>
16577 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
16578 loading the gst.interfaces python module bork.
16580 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
16581 available since GLib 2.2. Fixes #318031.
16583 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16586 * check/.cvsignore:
16587 * check/Makefile.am:
16588 * check/elements/.cvsignore:
16589 * check/elements/fakesrc.c:
16590 * check/elements/fdsrc.c:
16591 * check/elements/identity.c:
16592 * check/generic/.cvsignore:
16593 * check/generic/states.c:
16594 * check/gst-libs/.cvsignore:
16595 * check/gst-libs/controller.c:
16596 * check/gst-libs/gdp.c:
16597 * check/gst/.cvsignore:
16598 * check/gst/capslist.h:
16600 * check/gst/gstbin.c:
16601 * check/gst/gstbuffer.c:
16602 * check/gst/gstbus.c:
16603 * check/gst/gstcaps.c:
16604 * check/gst/gstelement.c:
16605 * check/gst/gstevent.c:
16606 * check/gst/gstghostpad.c:
16607 * check/gst/gstiterator.c:
16608 * check/gst/gstmessage.c:
16609 * check/gst/gstminiobject.c:
16610 * check/gst/gstobject.c:
16611 * check/gst/gstpad.c:
16612 * check/gst/gstpipeline.c:
16613 * check/gst/gstplugin.c:
16614 * check/gst/gstsegment.c:
16615 * check/gst/gststructure.c:
16616 * check/gst/gstsystemclock.c:
16617 * check/gst/gsttag.c:
16618 * check/gst/gstutils.c:
16619 * check/gst/gstvalue.c:
16620 * check/net/.cvsignore:
16621 * check/net/gstnetclientclock.c:
16622 * check/net/gstnettimeprovider.c:
16623 * check/pipelines/.cvsignore:
16624 * check/pipelines/cleanup.c:
16625 * check/pipelines/simple_launch_lines.c:
16626 * check/pipelines/stress.c:
16627 * check/states/.cvsignore:
16628 * check/states/sinks.c:
16630 * examples/Makefile.am:
16631 * examples/appreader/.cvsignore:
16632 * examples/appreader/Makefile.am:
16633 * examples/appreader/appreader.c:
16634 * examples/controller/.cvsignore:
16635 * examples/controller/Makefile.am:
16636 * examples/controller/audio-example.c:
16637 * examples/cutter/.cvsignore:
16638 * examples/cutter/Makefile.am:
16639 * examples/cutter/cutter.c:
16640 * examples/cutter/cutter.h:
16641 * examples/events/Makefile.am:
16642 * examples/events/seek.c:
16643 * examples/helloworld/.cvsignore:
16644 * examples/helloworld/Makefile.am:
16645 * examples/helloworld/helloworld.c:
16646 * examples/helloworld2/.cvsignore:
16647 * examples/helloworld2/Makefile.am:
16648 * examples/helloworld2/helloworld2.c:
16649 * examples/launch/.cvsignore:
16650 * examples/launch/Makefile.am:
16651 * examples/launch/mp3parselaunch.c:
16652 * examples/launch/mp3play:
16653 * examples/manual/.cvsignore:
16654 * examples/manual/Makefile.am:
16655 * examples/manual/extract.pl:
16656 * examples/metadata/Makefile.am:
16657 * examples/metadata/read-metadata.c:
16658 * examples/mixer/.cvsignore:
16659 * examples/mixer/Makefile.am:
16660 * examples/mixer/mixer.c:
16661 * examples/mixer/mixer.h:
16662 * examples/pingpong/.cvsignore:
16663 * examples/pingpong/Makefile.am:
16664 * examples/pingpong/pingpong.c:
16665 * examples/plugins/.cvsignore:
16666 * examples/plugins/Makefile.am:
16667 * examples/plugins/example.c:
16668 * examples/plugins/example.h:
16669 * examples/pwg/.cvsignore:
16670 * examples/pwg/Makefile.am:
16671 * examples/pwg/extract.pl:
16672 * examples/queue/.cvsignore:
16673 * examples/queue/Makefile.am:
16674 * examples/queue/queue.c:
16675 * examples/queue2/.cvsignore:
16676 * examples/queue2/Makefile.am:
16677 * examples/queue2/queue2.c:
16678 * examples/queue3/.cvsignore:
16679 * examples/queue3/Makefile.am:
16680 * examples/queue3/queue3.c:
16681 * examples/queue4/.cvsignore:
16682 * examples/queue4/Makefile.am:
16683 * examples/queue4/queue4.c:
16684 * examples/retag/.cvsignore:
16685 * examples/retag/Makefile.am:
16686 * examples/retag/retag.c:
16687 * examples/retag/transcode.c:
16688 * examples/thread/.cvsignore:
16689 * examples/thread/Makefile.am:
16690 * examples/thread/thread.c:
16691 * examples/typefind/.cvsignore:
16692 * examples/typefind/Makefile.am:
16693 * examples/typefind/typefind.c:
16694 * examples/xml/.cvsignore:
16695 * examples/xml/Makefile.am:
16696 * examples/xml/createxml.c:
16697 * examples/xml/runxml.c:
16698 * tests/Makefile.am:
16699 * tests/check/Makefile.am:
16700 * testsuite/.cvsignore:
16701 * testsuite/Makefile.am:
16703 * testsuite/caps/.cvsignore:
16704 * testsuite/caps/Makefile.am:
16705 * testsuite/caps/app_fixate.c:
16706 * testsuite/caps/audioscale.c:
16707 * testsuite/caps/caps.c:
16708 * testsuite/caps/caps.h:
16709 * testsuite/caps/caps_strings:
16710 * testsuite/caps/compatibility.c:
16711 * testsuite/caps/deserialize.c:
16712 * testsuite/caps/enumcaps.c:
16713 * testsuite/caps/eratosthenes.c:
16714 * testsuite/caps/filtercaps.c:
16715 * testsuite/caps/fixed.c:
16716 * testsuite/caps/fraction-convert.c:
16717 * testsuite/caps/fraction-multiply-and-zero.c:
16718 * testsuite/caps/intersect2.c:
16719 * testsuite/caps/intersection.c:
16720 * testsuite/caps/normalisation.c:
16721 * testsuite/caps/random.c:
16722 * testsuite/caps/renegotiate.c:
16723 * testsuite/caps/sets.c:
16724 * testsuite/caps/simplify.c:
16725 * testsuite/caps/string-conversions.c:
16726 * testsuite/caps/structure.c:
16727 * testsuite/caps/subtract.c:
16728 * testsuite/caps/union.c:
16729 * testsuite/debug/.cvsignore:
16730 * testsuite/debug/Makefile.am:
16731 * testsuite/debug/category.c:
16732 * testsuite/debug/commandline.c:
16733 * testsuite/debug/global.c:
16734 * testsuite/debug/output.c:
16735 * testsuite/debug/printf_extension.c:
16736 * testsuite/dlopen/.cvsignore:
16737 * testsuite/dlopen/Makefile.am:
16738 * testsuite/dlopen/dlopen_gst.c:
16739 * testsuite/dlopen/loadgst.c:
16740 * testsuite/elements/.cvsignore:
16741 * testsuite/elements/Makefile.am:
16742 * testsuite/elements/gst-inspect-check.in:
16743 * testsuite/elements/struct_i386.h:
16744 * testsuite/elements/struct_size.c:
16745 * testsuite/indexers/.cvsignore:
16746 * testsuite/indexers/Makefile.am:
16747 * testsuite/indexers/cache1.c:
16748 * testsuite/indexers/indexdump.c:
16749 * testsuite/parse/.cvsignore:
16750 * testsuite/parse/Makefile.am:
16751 * testsuite/parse/parse1.c:
16752 * testsuite/parse/parse2.c:
16753 * testsuite/plugin/.cvsignore:
16754 * testsuite/plugin/Makefile.am:
16755 * testsuite/plugin/README:
16756 * testsuite/plugin/dynamic.c:
16757 * testsuite/plugin/linked.c:
16758 * testsuite/plugin/loading.c:
16759 * testsuite/plugin/registry.c:
16760 * testsuite/plugin/static.c:
16761 * testsuite/plugin/static2.c:
16762 * testsuite/plugin/testplugin.c:
16763 * testsuite/plugin/testplugin2.c:
16764 * testsuite/plugin/testplugin2_s.c:
16765 * testsuite/plugin/testplugin_s.c:
16766 * testsuite/refcounting/.cvsignore:
16767 * testsuite/refcounting/Makefile.am:
16768 * testsuite/refcounting/bin.c:
16769 * testsuite/refcounting/element.c:
16770 * testsuite/refcounting/element_pad.c:
16771 * testsuite/refcounting/mainloop.c:
16772 * testsuite/refcounting/mem.c:
16773 * testsuite/refcounting/mem.h:
16774 * testsuite/refcounting/object.c:
16775 * testsuite/refcounting/pad.c:
16776 * testsuite/refcounting/sched.c:
16777 * testsuite/refcounting/thread.c:
16778 * testsuite/states/.cvsignore:
16779 * testsuite/states/Makefile.am:
16780 * testsuite/states/bin.c:
16781 * testsuite/states/locked.c:
16782 * testsuite/states/parent.c:
16783 * testsuite/threads/.cvsignore:
16784 * testsuite/threads/159566.c:
16785 * testsuite/threads/159852.c:
16786 * testsuite/threads/Makefile.am:
16787 * testsuite/threads/queue.c:
16788 * testsuite/threads/signals.c:
16789 * testsuite/threads/staticrec.c:
16790 * testsuite/threads/thread.c:
16791 * testsuite/threads/threadb.c:
16792 * testsuite/threads/threadc.c:
16793 * testsuite/threads/threadd.c:
16794 * testsuite/threads/threade.c:
16795 * testsuite/threads/threadf.c:
16796 * testsuite/threads/threadg.c:
16797 * testsuite/threads/threadh.c:
16798 * testsuite/threads/threadi.c:
16799 move all of these under tests
16801 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16804 * tests/Makefile.am:
16807 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16809 * docs/gst/gstreamer-sections.txt:
16810 * tests/sched/.cvsignore:
16811 * tests/sched/Makefile.am:
16812 * tests/sched/cases/(fs-fs).xml:
16813 * tests/sched/cases/(fs-i-fs).xml:
16814 * tests/sched/cases/(fs-i-i-fs).xml:
16815 * tests/sched/cases/(fs-i-q[i-fs]).xml:
16816 * tests/sched/dynamic-pipeline.c:
16817 * tests/sched/interrupt1.c:
16818 * tests/sched/interrupt2.c:
16819 * tests/sched/interrupt3.c:
16820 * tests/sched/runtestcases:
16821 * tests/sched/runxml.c:
16822 * tests/sched/sched-stress.c:
16823 * tests/sched/sort.c:
16824 * tests/sched/testcases:
16825 * tests/sched/testcases1.tc:
16826 * tests/seeking/.cvsignore:
16827 * tests/seeking/Makefile.am:
16828 * tests/seeking/seeking1.c:
16829 * tests/threadstate/.cvsignore:
16830 * tests/threadstate/Makefile.am:
16831 * tests/threadstate/test1.c:
16832 * tests/threadstate/test2.c:
16833 * tests/threadstate/threadstate1.c:
16834 * tests/threadstate/threadstate2.c:
16835 * tests/threadstate/threadstate3.c:
16836 * tests/threadstate/threadstate4.c:
16837 * tests/threadstate/threadstate5.c:
16838 remove obsolete tests
16840 * tests/bench-complexity.scm:
16841 * tests/bench-mass_elements.scm:
16842 * tests/complexity.c:
16843 * tests/complexity.gnuplot:
16844 * tests/instantiate/.cvsignore:
16845 * tests/instantiate/Makefile.am:
16846 * tests/instantiate/caps.c:
16847 * tests/mass_elements.c:
16848 * tests/network-clock-utils.scm:
16849 * tests/network-clock.scm:
16851 First pass at cleaning up tests/ dir before moving the rest
16852 Combined with CVS surgery
16854 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16857 queue has moved, update
16859 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16861 * docs/gst/gstreamer-sections.txt:
16862 remove double entries from the docs
16863 * gst/gst_private.h:
16864 * gst/gstinfo.c: (_gst_debug_init):
16865 remove the THREAD debug category
16869 * docs/gst/gstreamer.types:
16870 * plugins/elements/gstqueue.c: (gst_queue_get_type),
16871 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
16872 completely move queue and fix up debugging categories
16874 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16876 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
16877 make initialization portable, using LL is not
16879 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16881 * win32/common/gstconfig.h:
16884 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16886 * win32/common/libgstreamer.def:
16887 rename symbols; sort base section
16889 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16891 * gst/gstclock.c: (do_linear_regression):
16892 remove crack non-portable handrolled DEBUG macro
16894 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16896 * docs/random/release:
16898 * win32/common/gstenumtypes.c: (register_gst_object_flags),
16899 (gst_object_flags_get_type), (register_gst_bin_flags),
16900 (gst_bin_flags_get_type), (register_gst_buffer_flag),
16901 (gst_buffer_flag_get_type), (register_gst_bus_flags),
16902 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
16903 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
16904 (gst_caps_flags_get_type), (register_gst_clock_return),
16905 (gst_clock_return_get_type), (register_gst_clock_entry_type),
16906 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
16907 (gst_clock_flags_get_type), (register_gst_state),
16908 (gst_state_get_type), (register_gst_state_change_return),
16909 (gst_state_change_return_get_type), (register_gst_state_change),
16910 (gst_state_change_get_type), (register_gst_element_flags),
16911 (gst_element_flags_get_type), (register_gst_core_error),
16912 (gst_core_error_get_type), (register_gst_library_error),
16913 (gst_library_error_get_type), (register_gst_resource_error),
16914 (gst_resource_error_get_type), (register_gst_stream_error),
16915 (gst_stream_error_get_type), (register_gst_event_type_flags),
16916 (gst_event_type_flags_get_type), (register_gst_event_type),
16917 (gst_event_type_get_type), (register_gst_seek_type),
16918 (gst_seek_type_get_type), (register_gst_seek_flags),
16919 (gst_seek_flags_get_type), (register_gst_format),
16920 (gst_format_get_type), (register_gst_index_certainty),
16921 (gst_index_certainty_get_type), (register_gst_index_entry_type),
16922 (gst_index_entry_type_get_type),
16923 (register_gst_index_lookup_method),
16924 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
16925 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
16926 (gst_index_resolver_method_get_type), (register_gst_index_flags),
16927 (gst_index_flags_get_type), (register_gst_debug_level),
16928 (gst_debug_level_get_type), (register_gst_debug_color_flags),
16929 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
16930 (gst_iterator_result_get_type), (register_gst_iterator_item),
16931 (gst_iterator_item_get_type), (register_gst_message_type),
16932 (gst_message_type_get_type), (register_gst_mini_object_flags),
16933 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
16934 (gst_pad_link_return_get_type), (register_gst_flow_return),
16935 (gst_flow_return_get_type), (register_gst_activate_mode),
16936 (gst_activate_mode_get_type), (register_gst_pad_direction),
16937 (gst_pad_direction_get_type), (register_gst_pad_flags),
16938 (gst_pad_flags_get_type), (register_gst_pad_presence),
16939 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
16940 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
16941 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
16942 (gst_plugin_error_get_type), (register_gst_plugin_flags),
16943 (gst_plugin_flags_get_type), (register_gst_rank),
16944 (gst_rank_get_type), (register_gst_query_type),
16945 (gst_query_type_get_type), (register_gst_tag_merge_mode),
16946 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
16947 (gst_tag_flag_get_type), (register_gst_task_state),
16948 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
16949 (gst_alloc_trace_flags_get_type),
16950 (register_gst_type_find_probability),
16951 (gst_type_find_probability_get_type), (register_gst_uri_type),
16952 (gst_uri_type_get_type), (register_gst_parse_error),
16953 (gst_parse_error_get_type):
16954 * win32/common/gstenumtypes.h:
16955 * win32/common/gstversion.h:
16956 update visual studio generated files
16958 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16960 * win32/vs6/libgstbase.dsp:
16961 * win32/vs6/libgstelements.dsp:
16962 update project files for new locations
16964 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16969 reinstate and update
16974 * docs/random/LICENSE:
16977 2005-11-30 Edward Hervey <edward@fluendo.com>
16979 * gst/gsttypefind.c: (gst_type_find_register):
16980 * gst/gsttypefind.h:
16981 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
16982 (gst_type_find_factory_dispose):
16983 * gst/gsttypefindfactory.h:
16984 Fix memory leak in GstTypeFindFactory.
16986 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16989 * plugins/elements/Makefile.am:
16990 * plugins/elements/gstelements.c:
16991 * plugins/elements/gstqueue.c:
16992 move queue from core to the elements plugin
16994 2005-11-29 Andy Wingo <wingo@pobox.com>
16996 * libs/gst/base/gstbasetransform.h:
16997 * libs/gst/base/gstbasesrc.h:
16998 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
17000 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
17001 of pointers by which to pad very extensible base classes (like the
17002 ones in libs/gst/base).
17004 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17006 * docs/gst/gstreamer-docs.sgml:
17007 * docs/gst/gstreamer-sections.txt:
17008 * docs/libs/gstreamer-libs-docs.sgml:
17009 * docs/libs/gstreamer-libs-sections.txt:
17010 moving documentation from core to lib
17012 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17014 * check/Makefile.am:
17016 * docs/gst/Makefile.am:
17018 * gst/base/.cvsignore:
17019 * gst/base/Makefile.am:
17021 * gst/base/gstadapter.c:
17022 * gst/base/gstadapter.h:
17023 * gst/base/gstbasesink.c:
17024 * gst/base/gstbasesink.h:
17025 * gst/base/gstbasesrc.c:
17026 * gst/base/gstbasesrc.h:
17027 * gst/base/gstbasetransform.c:
17028 * gst/base/gstbasetransform.h:
17029 * gst/base/gstcollectpads.c:
17030 * gst/base/gstcollectpads.h:
17031 * gst/base/gstpushsrc.c:
17032 * gst/base/gstpushsrc.h:
17033 * gst/base/gsttypefindhelper.c:
17034 * gst/base/gsttypefindhelper.h:
17035 * gst/check/Makefile.am:
17036 * gst/check/gstcheck.c:
17037 * gst/check/gstcheck.h:
17038 * gst/net/Makefile.am:
17039 * gst/net/gstnet.h:
17040 * gst/net/gstnetclientclock.c:
17041 * gst/net/gstnetclientclock.h:
17042 * gst/net/gstnettimepacket.c:
17043 * gst/net/gstnettimepacket.h:
17044 * gst/net/gstnettimeprovider.c:
17045 * gst/net/gstnettimeprovider.h:
17046 * libs/gst/Makefile.am:
17047 * libs/gst/base/Makefile.am:
17048 * libs/gst/base/gstbasetransform.c:
17049 * libs/gst/check/Makefile.am:
17050 * plugins/elements/Makefile.am:
17052 CVS surgery + support to move base, check, and net out of gst
17055 2005-11-29 Andy Wingo <wingo@pobox.com>
17057 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
17059 * gst/gststructure.h (struct _GstStructure): Only one pointer of
17062 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
17064 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
17066 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
17068 * gst/gstobject.h: (struct _GstObject): Only one pointer of
17069 padding; reduces object size by about 30%. We don't expect
17070 anything else to go into gstobject.
17072 * gst/gstminiobject.h (struct _GstMiniObject)
17073 (struct _GstMiniObjectClass): Only one pointer of padding; the
17074 payload is only a pointer and two ints anyway. For the class there
17075 are only two methods as well.
17077 * gst/gstelement.h (struct _GstElementClass): Removed
17078 the state_changed signal callback, it is not used.
17080 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
17082 * docs/gst/gstreamer.types:
17083 fix includes, though they are a little dinky
17085 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17087 * check/Makefile.am:
17088 look in the right place for elements, a lot more chance of
17091 remove indexers and elements subdirs
17092 * plugins/Makefile.am:
17093 make indexers conditional
17095 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17099 * plugins/elements/Makefile.am:
17100 * plugins/elements/gstcapsfilter.c:
17101 * plugins/elements/gstfilesink.c:
17102 * plugins/elements/gstfilesrc.c:
17103 * plugins/elements/gstidentity.c:
17104 * plugins/indexers/Makefile.am:
17105 do CVS surgery and related build fixery to move elements
17106 and indexers in a new gstreamer/plugins directory, out of the
17109 2005-11-29 Andy Wingo <wingo@pobox.com>
17111 * check/Makefile.am:
17112 * pkgconfig/gstreamer-net-uninstalled.pc.in:
17113 * pkgconfig/gstreamer-net.pc.in:
17114 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
17117 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
17119 * tools/Makefile.am:
17120 * tools/gst-complete.1.in:
17121 * tools/gst-complete.c:
17122 * tools/gst-compprep.1.in:
17123 * tools/gst-compprep.c:
17124 removing -compprep and -complete
17126 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
17128 * gst/gstevent.c: (gst_event_new_new_segment),
17129 (gst_event_parse_new_segment):
17131 fix #320529 - clean up new_segment API and structure.
17132 Let's hope everyone was using the methods, and not the structure.
17134 2005-11-29 Edward Hervey <edward@fluendo.com>
17136 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17137 (gst_base_sink_event), (gst_base_sink_do_sync),
17138 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
17139 Properly handle non GST_FORMAT_TIME segment
17140 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17141 Properly handle non GST_FORMAT_TIME segment
17142 * gst/gstsegment.c:
17143 This function is valid if the accumulator is 0 and the format
17144 is different from the requested format.
17146 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
17148 * docs/gst/gstreamer-sections.txt:
17149 Add gst_query_new_seeking and gst_query_parse_seeking to the
17152 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
17154 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17155 Treat a pad alloc with new caps the same as if we were not
17156 negotiated, in order to allow a changing upstream output
17157 to produce a new format of data.
17159 2005-11-29 Edward Hervey <edward@fluendo.com>
17161 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17162 (gst_base_transform_event), (gst_base_transform_eventfunc):
17163 The event virtual method is now properly implemented, with a default
17165 Sub classes should call the parent_class event method. They should
17166 return FALSE if they had a problem handling the given event, or don't
17167 want GstBaseTransform to send that even downstream
17168 * gst/elements/gstidentity.c: (gst_identity_class_init),
17169 (gst_identity_init), (gst_identity_event),
17170 (gst_identity_transform_ip), (gst_identity_set_property),
17171 (gst_identity_get_property):
17172 * gst/elements/gstidentity.h:
17173 Added the single-segment boolean property.
17174 If set to TRUE, it will output a single segment of data, starting from
17175 0, will eat up all incoming newsegment, and modify the timestamp of the
17176 buffers accordingly
17178 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
17180 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
17181 Don't ref NULL target pad (#322751). Improve docs.
17183 2005-11-29 Michael Smith <msmith@fluendo.com>
17185 * gst/gstregistryxml.c: (load_plugin):
17186 Don't crash if we failed to load a feature from a plugin.
17188 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
17190 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17192 use more check API and less GLib API
17194 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
17197 don't run checks if we don't have check
17198 * common/check.mak:
17199 remove the registry when running make torture
17200 * docs/gst/gstreamer-sections.txt:
17201 remove second multiply
17202 * gst/gstqueue.c: (gst_queue_loop):
17203 fix a compile warning when disabling debug
17205 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
17208 Hey! Let's print the pad name if the pointer != NULL instead
17209 of when it == NULL :-)
17211 2005-11-28 Wim Taymans <wim@fluendo.com>
17213 * check/gst/gstutils.c: (GST_START_TEST):
17214 Updated check, add some scaling accuracy checking code.
17216 * gst/gstutils.c: (gst_util_div128_64),
17217 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
17218 (gst_util_uint64_scale_int):
17219 Fix 6 times faster division code. Optimize for common
17220 1/1 and less common X/1 cases.
17222 2005-11-28 Wim Taymans <wim@fluendo.com>
17224 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17227 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
17228 (do_linear_regression), (gst_clock_add_observation):
17230 Release lock when the clock cannot be slaved.
17231 Catch the case where the regression returned an invalid denominator.
17233 * gst/gstutils.c: (gst_util_div128_64_iterate),
17234 (gst_util_div128_64), (gst_util_uint64_scale_int64),
17235 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
17236 Add protentially more performant non-iterative 128/64 divide function
17237 that unfortunatly does not work yet.
17238 Shortcut the trivial 0/X = 0 case.
17239 Remove the warnings on overflow.
17241 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
17243 * gst/gstplugin.c: (gst_plugin_register_func):
17244 everything causing a plugin not to load should be at least a WARNING
17246 2005-11-28 Stefan Kost <ensonic@users.sf.net>
17248 * docs/random/ensonic/dparams.txt:
17249 some TODOs for the next dev cycle
17250 * libs/gst/controller/gstcontroller.c:
17251 (gst_controlled_property_set_interpolation_mode),
17252 (gst_controlled_property_new):
17253 * libs/gst/controller/gstcontroller.h:
17254 use base type to assign acccessor functions
17256 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
17258 * check/Makefile.am:
17259 Oops, that should have been top_srcdir
17261 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
17263 * check/Makefile.am:
17264 * check/elements/fdsrc.c: (GST_START_TEST):
17265 Use a cmdline define to specify the location of a file to use for
17266 testing, to avoid breaking distcheck.
17268 2005-11-28 Andy Wingo <wingo@pobox.com>
17270 * gst/gstpad.c (fixate_value): Use array functions for arrays.
17272 2005-11-28 Edward Hervey <edward@fluendo.com>
17274 * tools/gst-launch.c: (main):
17275 Clarify the output strings, makes it easier to translate.
17278 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
17281 don't try and build net if we don't even have <sys/socket.h>
17283 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
17285 * check/Makefile.am:
17286 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
17287 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
17288 Add tests for fdsrc seekability
17290 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
17291 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
17292 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
17293 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
17294 * gst/elements/gstfdsrc.h:
17295 fdsrc should not be a 'live' source.
17296 Implement seeking on seekable fd's.
17298 * gst/gstquery.c: (gst_query_new_seeking),
17299 (gst_query_parse_seeking):
17301 Implement SEEKING query functions:
17302 *_new_seeking and *_parse_seeking
17304 2005-11-27 Stefan Kost <ensonic@users.sf.net>
17306 * gst/gstelement.c: (gst_element_dispose):
17309 * gst/gstiterator.c:
17310 * gst/gststructure.c:
17313 * libs/gst/controller/gstcontroller.c:
17314 (gst_controlled_property_set_interpolation_mode):
17315 * libs/gst/controller/gstcontroller.h:
17316 * libs/gst/controller/gstinterpolation.c:
17317 (interpolate_none_get_enum_value_array):
17318 support controlling enums
17320 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
17323 Improve documentation for gst_value_union().
17326 Change return value for union, intersect and subtract functions
17327 from gint to gboolean.
17329 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
17331 * gst/gstvalue.c: (gst_value_serialize_any_list),
17332 (gst_value_transform_any_list_string),
17333 (gst_value_deserialize_list), (gst_value_deserialize_array),
17334 (gst_value_set_int_range), (gst_value_deserialize_int_range),
17335 (gst_value_set_double_range), (gst_value_deserialize_double_range),
17336 (gst_value_set_fraction_range_full),
17337 (gst_value_deserialize_fraction_range),
17338 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
17339 (gst_value_deserialize_boolean),
17340 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
17341 (gst_value_serialize_float), (gst_value_deserialize_float),
17342 (gst_string_wrap), (gst_value_deserialize_string),
17343 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
17344 (gst_value_union_int_range_int_range),
17345 (gst_value_intersect_int_range_int_range),
17346 (gst_value_intersect_double_range_double_range),
17347 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
17348 (gst_value_subtract_int_range_int_range),
17349 (gst_value_subtract_double_double_range),
17350 (gst_value_subtract_double_range_double_range),
17351 (gst_value_deserialize_fraction):
17353 Use gint, gdouble and gchar in our API instead of int, double and
17354 char (and make usage in gstvalue.c more consistent).
17356 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
17358 * check/Makefile.am:
17359 * libs/gst/controller/Makefile.am:
17360 * libs/gst/dataprotocol/Makefile.am:
17361 fix up Makefile.am and remove GST_ENABLE_NEW
17363 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
17367 * gst/base/Makefile.am:
17368 * gst/check/Makefile.am:
17369 * gst/elements/Makefile.am:
17370 * gst/net/Makefile.am:
17371 update LDFLAGS use some more
17373 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
17375 * common/m4/gst-doc.m4:
17378 2005-11-26 Edward Hervey <edward@fluendo.com>
17380 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
17381 This shouldn't issue a g_warning since it returns NULL if it
17382 couldn't find the plugin, and all functions using this behave
17383 properly on a NULL return. Switching to a GST_WARNING.
17385 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
17387 * gst/gstbin.c: (gst_bin_handle_message_func):
17388 Don't leak clock messages.
17390 2005-11-25 Wim Taymans <wim@fluendo.com>
17392 * gst/gstutils.c: (gst_util_uint64_scale_int64),
17393 (gst_util_uint64_scale_int):
17394 Optimisations, remove unneeded vars.
17396 2005-11-25 Wim Taymans <wim@fluendo.com>
17398 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17399 Added more checks for the high precision uint64 cases.
17401 * gst/gstutils.c: (gst_util_uint64_scale_int64),
17402 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
17403 Implement high precision (guint64 * guint64) / guint64.
17405 2005-11-24 Wim Taymans <wim@fluendo.com>
17407 * gst/base/gstbasesrc.c: (gst_base_src_query):
17408 Fix wrong percentage query.
17410 * gst/gstutils.c: (gst_util_uint64_scale),
17411 (gst_util_uint64_scale_int):
17412 Add some more common cases that can be handled
17413 efficiently to _scale.
17415 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
17417 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
17418 (gst_mini_object_suite):
17419 don't use check calls from threads; check probably isn't
17420 threadsafe and using a lock to make it threadsafe would
17421 defeat the purpose of this check
17422 * gst/check/gstcheck.c:
17423 * gst/check/gstcheck.h:
17424 use GST_DEBUG some more
17426 2005-11-24 Wim Taymans <wim@fluendo.com>
17428 * gst/gstutils.c: (gst_util_uint64_scale),
17429 (gst_util_uint64_scale_int):
17430 Chain trivial case to _scale_int.
17432 2005-11-24 Wim Taymans <wim@fluendo.com>
17434 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17435 Added test for scaling.
17440 * gst/gstutils.c: (gst_util_uint64_scale_int):
17441 Implemented high precision scaling code.
17443 2005-11-24 Stefan Kost <ensonic@users.sf.net>
17446 do not crash on pad==NULL
17448 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
17450 Patch by: Stefan Kost
17452 * common/gtk-doc.mak:
17453 * docs/gst/Makefile.am:
17454 * docs/libs/Makefile.am:
17455 Fix distcheck issues for the libraries docs build
17458 2005-11-24 Michael Smith <msmith@fluendo.com>
17460 * docs/manual/basics-helloworld.xml:
17461 Fix bug #315027: memory leak in example code in docs.
17463 2005-11-24 Michael Smith <msmith@fluendo.com>
17465 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17466 Unlock the PREROLL_LOCK in a failure case.
17468 2005-11-24 Wim Taymans <wim@fluendo.com>
17470 * docs/gst/gstreamer-sections.txt:
17471 * gst/base/gstadapter.h:
17472 * gst/base/gstbasesink.h:
17473 * gst/base/gstbasesrc.h:
17474 * gst/base/gstbasetransform.h:
17475 * gst/base/gstpushsrc.h:
17476 * gst/elements/gstfakesink.h:
17477 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
17478 * gst/elements/gstfakesrc.h:
17479 * gst/elements/gstfilesink.h:
17480 * gst/elements/gstfilesrc.h:
17483 * gst/gstbuffer.c: (_gst_buffer_copy):
17486 * gst/gstchildproxy.c:
17488 * gst/gstelement.c:
17489 * gst/gstelementfactory.c:
17490 * gst/gstelementfactory.h:
17492 * gst/gstghostpad.h:
17494 * gst/gstinterface.h:
17495 * gst/gstminiobject.c:
17496 * gst/gstminiobject.h:
17499 * gst/gstpadtemplate.h:
17500 * gst/gstpipeline.h:
17501 * gst/gstpluginfeature.h:
17504 * gst/gsttaglist.c:
17505 * gst/gsttaglist.h:
17506 * gst/gsttagsetter.c:
17507 * gst/gsttagsetter.h:
17510 * gst/gsttypefind.h:
17513 * gst/net/gstnetclientclock.c:
17514 * gst/net/gstnetclientclock.h:
17515 * gst/net/gstnettimepacket.c:
17516 * gst/net/gstnettimeprovider.c:
17517 * gst/net/gstnettimeprovider.h:
17520 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
17522 * configure.ac: back to HEAD
17524 === release 0.9.6 ===
17526 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
17529 releasing 0.9.6, "Always On Time"
17531 2005-11-23 Wim Taymans <wim@fluendo.com>
17533 * docs/gst/gstreamer-sections.txt:
17534 * gst/glib-compat.c:
17535 * gst/gsttagsetter.c:
17537 * gst/net/gstnetclientclock.c:
17538 * gst/net/gstnettimepacket.h:
17541 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
17543 * docs/faq/using.xml:
17544 * docs/libs/tmpl/gstcontrol.sgml:
17545 * docs/manual/advanced-dparams.xml:
17546 * docs/manual/appendix-checklist.xml:
17547 * docs/manual/basics-elements.xml:
17548 * docs/pwg/other-source.xml:
17549 * docs/random/moving-plugins:
17551 * tools/gst-launch.1.in:
17552 remove mentions of sinesrc
17554 2005-11-23 Michael Smith <msmith@fluendo.com>
17556 * docs/gst/gstreamer-sections.txt:
17557 Update for new API and API changes.
17559 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
17561 Documentation typo fix.
17562 * gst/net/gstnettimepacket.c:
17563 Documentation fixes for arguments.
17565 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
17567 * gst/gststructure.c: (gst_structure_get_fraction),
17568 (gst_structure_parse_value),
17569 (gst_structure_fixate_field_nearest_fraction):
17570 * gst/gststructure.h:
17571 * gst/gstutils.c: (gst_util_uint64_scale_int):
17573 * scripts/update-funcnames:
17575 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
17576 Make gst_structure_fixate_field_nearest_fraction take a numerator
17577 and denominator argument instead of a GValue
17578 add gst_structure_get_fraction helper function.
17580 2005-11-23 Wim Taymans <wim@fluendo.com>
17582 * docs/design/part-TODO.txt:
17585 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
17586 * gst/net/gstnetclientclock.h:
17587 Use parent fields for timeout and window_size.
17589 2005-11-23 Andy Wingo <wingo@pobox.com>
17591 * check/net/gstnetclientclock.c (test_functioning): Adjust to
17592 rate_num/rate_denom change.
17594 * gst/net/gstnetclientclock.c
17595 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
17596 OBJECT_LOCK. Don't call add_observation with the lock.
17598 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
17600 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
17602 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
17603 deal with rate as a fraction whose numerator and denominator are
17604 GstClockTime values.
17605 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
17606 master; the other fields are protected by the SLAVE_LOCK.
17607 (do_linear_regression): Note that this must be called with the
17609 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
17610 OBJECT_LOCK. Call set_calibration instead of touching the
17611 variables directly.
17612 (gst_clock_set_property, gst_clock_get_property): Protect
17613 master/slave parameters with the SLAVE_LOCK.
17615 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
17616 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
17617 note that all of the instance variables that add_observation and
17618 the set_master functions use are protected by that lock and not
17620 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
17622 * gst/gstclock.c (gst_clock_add_observation): No longer requires
17623 the caller to take the object lock.
17625 2005-11-23 Wim Taymans <wim@fluendo.com>
17627 * gst/gsterror.c: (_gst_core_errors_init):
17629 Add error for clock stuff.
17631 * gst/gstpipeline.c: (gst_pipeline_change_state),
17632 (gst_pipeline_set_clock):
17633 Post clock error when clock cannot be used in a pipeline.
17635 2005-11-23 Stefan Kost <ensonic@users.sf.net>
17637 * docs/gst/gstreamer-sections.txt:
17638 make two symbols from gstinfo private for the docs
17639 * gst/base/gstcollectpads.h:
17641 fix doc typos, update docs
17643 2005-11-22 Wim Taymans <wim@fluendo.com>
17645 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
17646 (gst_base_sink_wait), (gst_base_sink_do_sync),
17647 (gst_base_sink_handle_event):
17648 * gst/base/gstbasesink.h:
17649 No need to store the clock, the parent element class already
17652 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
17653 Updates for clock_set returning a gboolean
17655 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
17656 (gst_clock_id_wait_async), (gst_clock_class_init),
17657 (gst_clock_init), (gst_clock_finalize),
17658 (gst_clock_get_internal_time), (gst_clock_get_time),
17659 (gst_clock_slave_callback), (gst_clock_set_master),
17660 (gst_clock_get_master), (do_linear_regression),
17661 (gst_clock_add_observation), (gst_clock_set_property),
17662 (gst_clock_get_property):
17664 Implement master/slave. When setting a clock as a slave, a
17665 periodic timeout is scheduled to sample master and slave times.
17666 Then the slave clock is recalibrated to match offset and rate
17667 of the master clock.
17668 Update logging a bit.
17669 Add flag so that a clock can state that is cannot be slaved to
17672 * gst/gstelement.c: (gst_element_set_clock):
17673 * gst/gstelement.h:
17674 The set clock returns a gboolean for when an element cannot
17675 deal with the selected clock in the pipeline.
17677 * gst/gstpipeline.c: (gst_pipeline_change_state),
17678 (gst_pipeline_set_clock):
17679 * gst/gstpipeline.h:
17680 Handle the case where the selected clock cannot be set on
17683 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
17684 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
17685 (gst_net_client_clock_set_property),
17686 (gst_net_client_clock_get_property),
17687 (gst_net_client_clock_observe_times):
17688 * gst/net/gstnetclientclock.h:
17689 Use regression code in GstClock parent, remove duplicated
17692 2005-11-22 Michael Smith <msmith@fluendo.com>
17694 * gst/gstutils.c: (gst_util_clock_time_scale):
17696 * docs/gst/gstreamer-sections.txt:
17697 Rename method to have extra underscore.
17699 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
17701 * gst/elements/Makefile.am:
17702 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
17703 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
17704 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
17705 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
17706 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
17707 * gst/elements/gstfakesrc.h:
17708 * gst/gstqueue.c: (queue_leaky_get_type):
17709 correctly fix GEnumValues so that nick is the short lowercase
17711 * tools/gst-inspect.c: (print_element_properties_info):
17712 also show the nick, since it's useful to use from parse_launch
17716 2005-11-22 Michael Smith <msmith@fluendo.com>
17718 * gst/gstutils.c: (gst_util_clocktime_scale):
17720 * docs/gst/gstreamer-sections.txt:
17721 Add util method for scaling a clocktime by a fraction. Useful
17722 implementation is left as an exercise for the reader.
17724 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
17726 * gst/gstvalue.c: (gst_value_collect_fraction_range):
17727 If needed, allocate storage in the destination value during
17730 2005-11-22 Edward Hervey <edward@fluendo.com>
17732 * docs/gst/gstreamer-sections.txt:
17735 * gst/gsturitype.c:
17736 * gst/gsturitype.h:
17737 * gst/gstutils.c: (gst_util_set_object_arg):
17738 * tools/gst-compprep.c: (main):
17739 * tools/gst-inspect.c: (print_element_properties_info):
17740 Removed GstURI, closes bug #321061
17742 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
17744 * check/gst/gststructure.c: (GST_START_TEST):
17745 * gst/gststructure.c: (gst_structure_parse_value):
17746 Oops, broke automatic string type parsing.
17747 Add a test to catch it in future.
17749 2005-11-22 Andy Wingo <wingo@pobox.com>
17751 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
17752 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
17753 Actually rename the function implementations. Grr.
17755 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
17757 * check/gst/capslist.h:
17759 * check/gst/gststructure.c: (GST_START_TEST),
17760 (gst_structure_suite):
17761 Test automatic value type detection in gst_structure_from_string.
17762 * gst/gststructure.c: (gst_structure_parse_value):
17763 Add fraction as a type we try and guess automatically in
17764 caps/structure strings.
17766 2005-11-22 Andy Wingo <wingo@pobox.com>
17768 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
17770 * gst/gsttagsetter.h:
17771 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
17772 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
17773 (gst_tag_setter_add_tag_valist)
17774 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
17775 _add_values, _add_valist, and _add_valist_values. Since this is an
17776 interface the function suffixes should be more explicit so
17777 language binding don't end up with element.add_valist ->
17778 gst_tag_setter_add_valist, for example. Fixes #322069.
17780 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
17782 * check/gst/gstcaps.c: (GST_START_TEST):
17783 Extend caps string tests to check that a caps to string
17784 conversion is reversible and produces the same caps.
17786 * gst/gststructure.c: (gst_structure_value_get_generic_type):
17787 Output "fraction" as the generic type fraction range, so caps
17788 serialisation and deserialisation works.
17789 * check/gst/capslist.h:
17790 * gst/gstvalue.c: (gst_value_deserialize_fraction):
17791 Support 'MIN' and 'MAX' for deserialising fractions.
17793 2005-11-22 Andy Wingo <wingo@pobox.com>
17795 * gst/gstevent.h (gst_event_new_new_segment)
17796 (gst_event_parse_new_segment, gst_event_new_buffer_size)
17797 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
17798 Renamed from *_newsegment, *_buffersize, *_notarget.
17800 * scripts/update-funcnames: New script, performs the changes
17803 2005-11-22 Wim Taymans <wim@fluendo.com>
17805 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17806 Make sure the GstFlowReturn is returned.
17808 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
17809 (gst_bus_add_signal_watch):
17811 add gst_bus_add_signal_watch_full.
17813 * gst/gstplugin.c: (gst_plugin_load_file):
17814 Small style cleanup.
17816 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
17818 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
17819 Block the fakesrc srcpad when we send an event, to avoid
17820 contention on the stream_lock causing random test failures.
17822 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
17824 * check/gst/gstvalue.c: (GST_START_TEST):
17825 * gst/gstvalue.c: (gst_value_fraction_subtract):
17828 2005-11-22 Stefan Kost <ensonic@users.sf.net>
17831 include "gstchildproxy.h"
17832 * gst/gstchildproxy.h:
17833 * libs/gst/controller/gstcontroller.h:
17834 use G_GNUC_NULL_TERMINATED
17836 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
17838 * check/gst/capslist.h:
17839 * check/gst/gstcaps.c: (GST_START_TEST):
17840 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17841 * gst/gststructure.c: (gst_structure_parse_range),
17842 (gst_structure_fixate_field_nearest_fraction):
17843 * gst/gststructure.h:
17844 * gst/gstvalue.c: (gst_value_init_fraction_range),
17845 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
17846 (gst_value_collect_fraction_range),
17847 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
17848 (gst_value_set_fraction_range_full),
17849 (gst_value_get_fraction_range_min),
17850 (gst_value_get_fraction_range_max),
17851 (gst_value_serialize_fraction_range),
17852 (gst_value_transform_fraction_range_string),
17853 (gst_value_compare_fraction_range),
17854 (gst_value_deserialize_fraction_range),
17855 (gst_value_intersect_fraction_fraction_range),
17856 (gst_value_intersect_fraction_range_fraction_range),
17857 (gst_value_subtract_fraction_fraction_range),
17858 (gst_value_subtract_fraction_range_fraction),
17859 (gst_value_subtract_fraction_range_fraction_range),
17860 (gst_value_collect_fraction), (gst_value_fraction_multiply),
17861 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
17862 (gst_value_transform_string_fraction), (_gst_value_initialize):
17864 Implement fraction ranges and extend GstFraction to support
17865 arithmetic subtraction, as well as deserialization from integer
17866 strings such as "100"
17867 Add a testsuite as for int and double range set operations
17869 2005-11-21 Andy Wingo <wingo@pobox.com>
17871 * gst/gsttaglist.h:
17873 * gst/gststructure.h: Add glib-compat.h.
17875 2005-11-21 Wim Taymans <wim@fluendo.com>
17877 * gst/gstbin.c: (gst_bin_change_state_func):
17880 2005-11-21 Wim Taymans <wim@fluendo.com>
17882 * gst/gstsegment.h:
17883 And add a nice define too.
17885 2005-11-21 Wim Taymans <wim@fluendo.com>
17887 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
17888 (gst_segment_new), (gst_segment_free), (gst_segment_init),
17889 (gst_segment_set_duration), (gst_segment_set_last_stop),
17890 (gst_segment_set_seek), (gst_segment_set_newsegment),
17891 (gst_segment_to_stream_time), (gst_segment_to_running_time),
17892 (gst_segment_clip):
17893 * gst/gstsegment.h:
17894 Make binding friendly.
17896 2005-11-21 Andy Wingo <wingo@pobox.com>
17898 * gst/gsttagsetter.h:
17899 * gst/gsttaglist.h:
17900 * gst/gststructure.h:
17902 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
17905 * gst/gsterror.c (_gst_core_errors_init):
17906 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
17909 * gst/Makefile.am (gst_headers): Add glib-compat.h.
17910 (noinst_HEADERS): noinst the -private.
17912 2005-11-21 Michael Smith <msmith@fluendo.com>
17915 * gst/gstregistry.h:
17916 Remove unimplemented declarations for which we can see no sensible
17919 2005-11-21 Andy Wingo <wingo@pobox.com>
17921 * gst/gst.h: Include glib-compat.h.
17923 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
17925 * gst/glib-compat.c: Include the public and the private header.
17927 * gst/glib-compat-private.h: Copied here from glib-compat.h.
17931 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
17933 * check/gst/gstevent.c (create_custom_events): Check that
17934 FLUSH_STOP is serialized.
17936 * check/elements/identity.c (event_func):
17937 * check/elements/fakesrc.c (event_func): No stream lock, the core
17940 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
17941 stream lock taking, yay.
17943 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
17944 ensure that core takes the stream lock.
17946 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
17949 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
17950 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
17951 it already. For the flush start we do take it though so we get the
17952 right preroll state change messages.
17954 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
17955 the stream lock here, the core does it for us.
17957 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
17958 GST_STREAM_GET_LOCK.
17959 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
17960 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
17961 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
17962 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
17963 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
17964 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
17966 * gst/gstpad.c: Update for stream lock name change.
17968 * gst/base/gstbasesink.c: Update for preroll lock name change.
17970 2005-11-21 Wim Taymans <wim@fluendo.com>
17972 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
17973 (gst_clock_get_master):
17975 * gst/gstsystemclock.c: (gst_system_clock_init):
17976 Convert Clock flags to object flags.
17977 Added methods to manage master/slave clocks.
17979 2005-11-21 Wim Taymans <wim@fluendo.com>
17981 * check/gst/gstsegment.c: (GST_START_TEST):
17982 * docs/design/part-TODO.txt:
17983 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17984 (gst_base_sink_event), (gst_base_sink_do_sync),
17985 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17986 (gst_base_sink_query), (gst_base_sink_change_state):
17987 * gst/base/gstbasesink.h:
17988 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
17989 (gst_base_src_default_newsegment),
17990 (gst_base_src_configure_segment), (gst_base_src_do_seek),
17991 (gst_base_src_get_range), (gst_base_src_loop),
17992 (gst_base_src_change_state):
17993 * gst/base/gstbasesrc.h:
17994 * gst/base/gstbasetransform.c:
17995 (gst_base_transform_prepare_output_buf),
17996 (gst_base_transform_event), (gst_base_transform_change_state):
17997 * gst/base/gstbasetransform.h:
17998 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17999 (gst_collect_pads_event):
18000 * gst/base/gstcollectpads.h:
18001 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
18002 (gst_fake_src_create):
18003 * gst/elements/gstfakesrc.h:
18004 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18005 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
18006 (gst_segment_set_last_stop), (gst_segment_set_seek),
18007 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18008 (gst_segment_to_running_time), (gst_segment_clip):
18009 * gst/gstsegment.h:
18010 More segment updates, replace code in plugins with segment
18013 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
18015 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
18016 Don't ignore sscanf results
18018 2005-11-21 Andy Wingo <wingo@pobox.com>
18020 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
18023 * *.c: Ran scripts/update-macros. Oh yes.
18025 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
18026 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
18029 * scripts/update-macros: New script. Run it on your files to
18030 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
18033 2005-11-21 Stefan Kost <ensonic@users.sf.net>
18035 * docs/gst/Makefile.am:
18036 * docs/gst/gstreamer-docs.sgml:
18037 * docs/gst/gstreamer-sections.txt:
18038 * docs/gst/gstreamer.types:
18040 more docs fixes, add new api to the docs
18042 2005-11-21 Andy Wingo <wingo@pobox.com>
18044 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
18045 state_broadcast call.
18047 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
18049 2005-11-21 Julien MOUTTE <julien@moutte.net>
18051 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
18052 function calls for arrays.
18054 2005-11-21 Stefan Kost <ensonic@users.sf.net>
18056 * docs/random/ensonic/media-device-daemon.txt:
18057 wild idea, can this be done?
18058 * docs/gst/gstreamer-sections.txt:
18063 * gst/gstpluginfeature.c:
18067 doc fixes and additions
18069 2005-11-21 Andy Wingo <wingo@pobox.com>
18071 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
18072 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
18073 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
18074 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
18075 private to the basesrc implementation.
18077 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
18078 behalf of event function if necessary. It should no longer be
18079 necessary to take the stream lock in pad's event functions. Fixes
18082 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
18083 * docs/gst/gstreamer-sections.txt:
18084 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
18085 (gst_structure_fixate_field_nearest_double),
18086 (gst_structure_fixate_field_boolean):
18087 * gst/gststructure.h:
18088 * win32/common/libgstreamer.def:
18089 * win32/gstreamer.def:
18091 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
18094 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
18096 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
18097 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
18098 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
18099 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
18100 (gst_fdsrc_uri_handler_init):
18101 * gst/elements/gstfdsrc.h:
18102 Port fd:// URI handler from 0.8 to fdsrc
18104 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
18106 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
18107 (gst_value_serialize_fourcc):
18109 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
18110 consistent with our other format defines (#320324).
18112 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
18114 * gst/gstvalue.c: (gst_value_is_fixed):
18115 Revert previous commit. Value lists are by definition
18116 not fixed, as they are a list of possible values.
18118 2005-11-21 Andy Wingo <wingo@pobox.com>
18120 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
18121 during the stable series if we need it. Fixes #319178.
18123 * gst/gstevent.c (gst_event_new_filler): Removed.
18125 * check/gst/gstevent.c: Update comment about filler events.
18127 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
18129 * gst/gstvalue.c: (gst_value_is_fixed):
18130 Should handle both value arrays and value lists.
18132 2005-11-21 Andy Wingo <wingo@pobox.com>
18134 patch by: Alessandro Dessina <alessandro nnva org>
18136 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
18137 functions to access arrays. Fixes #321962.
18139 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
18141 * docs/gst/gstreamer.types:
18142 gst_collectpads_get_type => gst_collect_pads_get_type.
18144 * gst/base/gstbasetransform.c:
18145 Remove unused SIGNAL_HANDOFF enum.
18147 2005-11-21 Andy Wingo <wingo@pobox.com>
18149 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
18150 the event type (upstream, downstream, serialized). Renamed
18151 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
18152 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
18153 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
18155 * gst/gstevent.c: Update for new CUSTOM event names.
18157 * check/gst/gstevent.c: Update check for new CUSTOM event names.
18160 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
18163 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
18165 * docs/gst/gstreamer-sections.txt:
18166 * win32/common/libgstbase.def:
18167 * win32/libgstbase.def:
18168 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18169 (gst_collect_pads_class_init), (gst_collect_pads_init),
18170 (gst_collect_pads_finalize), (gst_collect_pads_new),
18171 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
18172 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
18173 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
18174 (gst_collect_pads_start), (gst_collect_pads_stop),
18175 (gst_collect_pads_peek), (gst_collect_pads_pop),
18176 (gst_collect_pads_available), (gst_collect_pads_read),
18177 (gst_collect_pads_flush), (gst_collect_pads_event),
18178 (gst_collect_pads_chain):
18179 * gst/base/gstcollectpads.h:
18180 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
18181 unimplemented functions as unimplemented. Add padding to
18182 GstCollectData. (#320766, #320423)
18184 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
18186 * gst/gstmessage.c:
18187 Improve docs for DURATION message (usage of duration parameter)
18190 2005-11-20 Wim Taymans <wim@fluendo.com>
18192 * check/Makefile.am:
18193 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
18197 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
18198 (gst_segment_set_seek), (gst_segment_set_newsegment),
18199 (gst_segment_to_stream_time), (gst_segment_to_running_time),
18200 (gst_segment_clip):
18201 * gst/gstsegment.h:
18202 Added segment helper structure and methods. Not fully implemented
18204 Added segment check.
18206 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
18208 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18209 Add a deserialisation test for fractions
18210 * examples/metadata/read-metadata.c: (message_loop),
18211 (make_pipeline), (main):
18212 Fix up metadata reading sample.
18213 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18215 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18216 Don't try and fixate empty caps
18217 * gst/gst_private.h:
18218 Wrap in G_BEGIN_DECLS/G_END_DECLS
18219 * gst/gstvalue.c: (gst_value_collect_fraction),
18220 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
18221 (gst_value_transform_string_fraction),
18222 (gst_value_compare_fraction):
18223 Add some extra guards to ensure that we don't end up
18224 with an invalid denominator of 0 in a gstfraction and
18225 that fractions always get reduced.
18227 2005-11-20 Wim Taymans <wim@fluendo.com>
18229 * docs/gst/gstreamer-sections.txt:
18231 * gst/gstelement.c:
18240 2005-11-20 Wim Taymans <wim@fluendo.com>
18242 * docs/design/part-TODO.txt:
18244 Make a proper enum of the flag.
18246 2005-11-19 Wim Taymans <wim@fluendo.com>
18248 * docs/design/part-TODO.txt:
18249 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
18250 (gst_format_to_quark), (gst_format_register):
18252 * gst/gstquery.c: (_gst_query_initialize),
18253 (gst_query_type_get_name), (gst_query_type_to_quark),
18254 (gst_query_type_register):
18256 Add type to quark and type to string conversions.
18258 2005-11-19 Andy Wingo <wingo@pobox.com>
18260 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
18263 2005-11-19 Wim Taymans <wim@fluendo.com>
18265 * docs/design/part-TODO.txt:
18266 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
18267 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
18268 (gst_bin_handle_message_func):
18270 Make message handling overridable.
18272 2005-11-19 Andy Wingo <wingo@pobox.com>
18274 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
18277 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
18279 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
18280 is a GstClockTime. Fixes #321710.
18282 * gst/gstclock.h (GstClock): Remove offset property. Add
18283 internal_calibration and external_calibration. Fix padding. Pad
18284 also by GstClockTime so we don't run into problems.
18286 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
18287 (gst_clock_get_rate_offset): Remove.
18288 (gst_clock_set_time_adjust): Remove. Fixes #321712.
18291 * gst/gstutils.c (g_static_rec_cond_wait)
18292 (g_static_rec_cond_timed_wait): Removed, no longer needed.
18294 * gst/gstbin.c: Remove terrible continue_state prototype.
18296 * gst/gstelement.h (gst_element_continue_state): Make public.
18298 * gst/gstelement.h:
18299 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
18300 by continue_state. Fixes #319389.
18302 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
18303 Really fixes #168438. However I don't see anywhere where the
18304 filter function is called... stupid GStreamer...
18306 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
18307 don't have a dispose function, so it won't get called when the
18308 object is unreffed, but oh well!
18310 * gst/gstindex.c (gst_index_set_filter_full): New API function,
18311 allows a destroy function to be set so user_data can be freed.
18313 (gst_index_set_filter): Call gst_index_set_filter_full.
18315 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
18317 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
18318 string should produce an error, given the lack of a way to
18319 represent NULL strings. Fixes #165650.
18322 * gst/gstvalue.c (gst_value_array_append_value)
18323 (gst_value_array_prepend_value, gst_value_array_get_size)
18324 (gst_value_array_get_value): New API, copied from
18325 gst_value_list_*, only operates on arrays.
18326 (gst_value_list_append_value, gst_value_list_prepend_value)
18327 (gst_value_list_concat, gst_value_list_get_size)
18328 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
18330 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
18331 init_list, because it works on both.
18332 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
18333 (gst_value_copy_list_or_array): Renamed from copy_list.
18334 (gst_value_free_list_or_array): Renamed from free_list.
18335 (gst_value_collect_list_or_array): Renamed from collect_list.
18336 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
18337 (gst_value_list_or_array_peek_pointer): Renamed from
18339 (_gst_value_array_value_table, _gst_value_list_value_table):
18340 Update value table functions.
18341 (gst_value_compare_list_or_array): Renamed from compare_list.
18343 * gsttaglist.h: Whoops, foreach function returns void. Also fix
18346 * gst/gsttaglist.c:
18347 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
18348 GstTagList*. Fixes #143472.
18350 * gst/gststructure.h: Clarify what the foreach/map functions can
18351 or can't do to their arguments.
18353 2005-11-18 Wim Taymans <wim@fluendo.com>
18355 * gst/gstclock.c: (gst_clock_set_calibration),
18356 (gst_clock_get_calibration):
18358 Calibration can be set with internal time equal to current
18361 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
18367 2005-11-18 Andy Wingo <wingo@pobox.com>
18370 * pkgconfig/gstreamer-net.pc.in:
18371 * pkgconfig/gstreamer-net-uninstalled.pc.in:
18372 * pkgconfig/Makefile.am: Add net pkgconfig files.
18374 2005-11-18 Stefan Kost <ensonic@users.sf.net>
18377 * gst/gstghostpad.c:
18383 2005-11-18 Andy Wingo <wingo@pobox.com>
18385 * gst/net/gstnetclientclock.c: Turn off debugging.
18387 * check/net/gstnetclientclock.c (test_functioning): Assert that the
18388 times connverge somewhat. Can't make a real test.
18390 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
18391 integer arithmetic. Return the minimum of the domain, which can be
18392 set as "internal" for gst_clock_set_calibration.
18393 (gst_net_client_clock_observe_times): Call _set_calibration.
18394 (gst_net_client_clock_new): Call _set_calibration instead of
18397 * check/net/gstnetclientclock.c (test_functioning): Use the right
18401 * gst/gstclock.c (gst_clock_get_calibration)
18402 (gst_clock_set_calibration): New functions, obsolete the ones I
18403 added yesterday. Doh. Precision issues mean we have to extrapolate
18404 from a point in the more recent past than 1970.
18405 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
18407 (gst_clock_adjust_unlocked): Use the right calibration data.
18409 2005-11-18 Edward Hervey <edward@fluendo.com>
18411 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
18412 Also reset the ->current_* values in READY->PAUSED
18414 2005-11-18 Andy Wingo <wingo@pobox.com>
18416 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
18417 Whoops, check the right fd. Also add some debugging.
18418 (gst_net_client_clock_observe_times): Adjust for int64 offset.
18419 (do_linear_regression): Add a crapload of debugging. Subtract off
18420 the minimum values from the input series to discard unneeded bits.
18421 Use only int arithmetic. There is still double arithmetic when
18422 calculating the intercept that needs fixing. Return boolean to
18423 indicate success; FALSE would mean the domain or range is too
18424 great. Still needs fixes.
18426 2005-11-18 Wim Taymans <wim@fluendo.com>
18428 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
18429 For the current position in stream time, we need to subtract
18432 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
18433 Release lock before calling the callback function of async
18436 2005-11-18 Andy Wingo <wingo@pobox.com>
18438 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
18439 Port goes all the way to MAXUINT16.
18441 * gst/net/gstnettimeprovider.c: Make the port range the same as
18442 for the kernel: 0 assigns, otherwise ports are less than
18445 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
18448 * check/net/gstnetclientclock.c (test_functioning): Add the start
18451 2005-11-18 Wim Taymans <wim@fluendo.com>
18453 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
18454 (gst_bin_remove_func), (bin_bus_handler):
18456 Removing a clock provider from a bin, triggers a clock lost message
18457 so that a new clock will be selected.
18458 Adding a clock to a bin triggers a clock provider message.
18459 Make sure we reselect a clock when we received a clock lost message.
18460 Keep a reference to the element that provided the clock.
18462 2005-11-18 Andy Wingo <wingo@pobox.com>
18464 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
18465 the clock initially so it produces values around the base time.
18466 (gst_net_client_clock_class_init): Typo fix.
18467 (gst_net_client_clock_thread): Add note on when the socket gets
18470 2005-11-17 Wim Taymans <wim@fluendo.com>
18472 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
18473 Free remote and local time arrays.
18475 2005-11-17 Wim Taymans <wim@fluendo.com>
18477 * gst/net/gstnetclientclock.c: (do_linear_regression),
18478 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
18479 Fix compilation, uninitialized vars and a forgotten continue.
18481 2005-11-17 Andy Wingo <wingo@pobox.com>
18483 * check/Makefile.am (check_PROGRAMS):
18484 * check/net/gstnetclientclock.c: Add a most minimal test for the
18485 net client clock. More to come later.
18487 * gst/net/gstnet.h:
18488 * gst/net/Makefile.am: Add netclientclock.
18490 * gst/net/gstnetclientclock.h:
18491 * gst/net/gstnetclientclock.c: New files, implement an untested
18492 GstClock that takes its time from a network time provider.
18493 Implements the algorithm in network-clock.scm.
18495 * tests/network-clock.scm (*window-size*): Rename from
18497 * tests/network-clock.scm (network-time):
18498 * tests/network-clock-utils.scm (q-push): Update callers.
18500 2005-11-17 Wim Taymans <wim@fluendo.com>
18502 * gst/gstbin.c: (gst_bin_provide_clock_func),
18503 (gst_bin_sort_iterator_new):
18504 And unref the child too..
18506 2005-11-17 Wim Taymans <wim@fluendo.com>
18508 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
18509 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
18510 Refactor the sort iterator so it can be used while holding the
18512 Make clock selection select a clock closest to the source.
18514 2005-11-17 Michael Smith <msmith@fluendo.com>
18516 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
18517 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
18519 Anonymous structs are a gcc (and some other compilers) extension, so
18520 don't use them. Since this is only for ABI-compatibility, and our
18521 API/ABI freeze is over in a few days, this whole thing will only
18522 last a few days, so don't bother trying to think up a meaningful
18523 name for the struct.
18525 2005-11-17 Andy Wingo <wingo@pobox.com>
18527 * gst/gstclock.h (GstClock): Add rate and offset properties,
18528 preserving ABI stability. Add rate/offset accessors. Will file bug
18529 for the freeze break.
18531 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
18532 and offset, trying to keep precision and avoiding
18533 underflow/overflow.
18534 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
18535 functions. Make gst_clock_set_time_adjust obsolete.
18536 (gst_clock_set_time_adjust): Note that this function is obsolete.
18537 Will file bug soon.
18539 * gst/base/gstbasetransform.h: Make the ABI-stability hack
18540 greppable by using GST_PADDING-1+1.
18542 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
18544 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18546 * gst/gstmessage.c: (gst_message_parse_clock_lost):
18547 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
18549 * gst/gstpadtemplate.h:
18550 * gst/gstpluginfeature.h:
18551 Don't use c++ style comments in headers (#321638).
18553 2005-11-16 Andy Wingo <wingo@pobox.com>
18555 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
18558 * check/net/gstnettimeprovider.c: Check to see that the time
18559 provider actually provides times. Works, yo!
18561 2005-11-16 Wim Taymans <wim@fluendo.com>
18563 * check/Makefile.am:
18566 * check/elements/fakesrc.c: (GST_START_TEST):
18567 Set element to NULL before disposing it.
18569 2005-11-16 Andy Wingo <wingo@pobox.com>
18571 * gst/net/Makefile.am:
18572 * gst/net/gstnet.h:
18573 * gst/net/gstnettimeprovider.c:
18574 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
18575 provider, include it from gstnet.h, and add it to the build.
18577 * gst/net/gstnettimepacket.h:
18578 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
18579 sending and receiving.
18581 2005-11-16 Wim Taymans <wim@fluendo.com>
18583 * check/Makefile.am:
18584 Enable valgrind check.
18586 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
18587 (gst_fake_src_alloc_buffer):
18590 2005-11-16 Wim Taymans <wim@fluendo.com>
18592 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
18593 Call parent finalize too.
18595 2005-11-16 Wim Taymans <wim@fluendo.com>
18597 * check/Makefile.am:
18598 Enable valgrind check that should work fine now.
18600 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18601 * gst/gstqueue.c: (gst_queue_init):
18602 Fix memleaks in pad allocation.
18604 2005-11-16 Andy Wingo <wingo@pobox.com>
18606 * gst/net/Makefile.am:
18607 * gst/net/gstnet.h: New part of core to hold network elements and
18608 objects. Put in core because it exposes API that applications want
18609 to use. The library is named libgstnet-tempname right now because
18610 of the existing libgstnet in gst-plugins-base. Solution is
18611 probably to rename the one in plugins-base; will file a bug for
18614 * gst/net/gstnettimeprovider.c:
18615 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
18616 get_time call over the network.
18619 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
18621 * check/Makefile.am:
18622 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
18623 get additions shortly.
18625 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
18627 * gst/gstpad.c: (gst_pad_new_from_static_template):
18629 add gst_pad_new_from_static_template functions
18630 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
18631 (gst_check_setup_sink_pad):
18632 * gst/elements/gsttee.c: (gst_tee_init):
18635 2005-11-16 Wim Taymans <wim@fluendo.com>
18637 * gst/gstpad.c: (gst_pad_pause_task):
18638 Removed warning, it's not really an error either.
18640 2005-11-16 Wim Taymans <wim@fluendo.com>
18642 * gst/base/gstbasetransform.c:
18643 (gst_base_transform_prepare_output_buf),
18644 (gst_base_transform_event):
18645 Check if the caps are NULL, this can happen if the element
18646 is shutting down and the pad caps are set to NULL.
18648 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
18650 * gst/elements/gsttee.c: (gst_tee_init):
18651 fix pad template leak in tee
18653 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
18655 * gst/glib-compat.c: (g_value_dup_gst_object):
18656 * gst/glib-compat.h:
18657 * gst/gstpad.c: (gst_pad_set_property):
18658 use gst_object_ref when setting the pad template; this will
18659 trigger the pad template leaks on GLib 2.6 and the slaves
18661 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
18663 * gst/glib-compat.c: (gst_flags_get_first_value):
18664 * gst/glib-compat.h:
18665 * gst/gstregistryxml.c:
18666 remove functions copied from GLib 2.6
18668 2005-11-16 Michael Smith <msmith@fluendo.com>
18671 Don't link against VALGRIND_LIBS. That was always the wrong thing to
18672 do, but only breaks with newer valgrind versions. We're not a
18673 valgrind tool, we have no link-time dependencies on libcoregrind.
18675 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
18677 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18679 * gst/gstmessage.h:
18682 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
18684 * gst/base/gstbasesrc.c: (gst_base_src_init):
18685 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18686 * gst/gstqueue.c: (gst_queue_init):
18687 * gst/gstregistryxml.c: (load_feature):
18688 Revert all these unrefs, they don't even pass make check !
18690 2005-11-15 Johan Dahlin <johan@gnome.org>
18692 * gst/base/gstbasesrc.c: (gst_base_src_init):
18693 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18694 * gst/gstqueue.c: (gst_queue_init):
18695 Free pad templates, fixes a couple of leaks.
18697 2005-11-15 Daniel Fischer <dan at f3c dot com>
18699 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18701 * gst/gstpad.c: (gst_pad_get_property):
18702 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
18703 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
18706 2005-11-15 Wim Taymans <wim@fluendo.com>
18711 2005-11-15 Andy Wingo <wingo@pobox.com>
18713 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
18715 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
18716 using GST_CLOCK_TIME_NONE to disable base time management.
18717 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
18718 time if it was NONE before.
18719 (gst_pipeline_change_state): Only munge the base time if
18720 stream_time != GST_CLOCK_TIME_NONE.
18722 * check/gst/gstpipeline.c (test_base_time): Punt around the
18723 problem of the probe not being called, because that's not the
18724 issue I'm looking at. Add a check that setting stream_time to NONE
18725 disables base time management.
18727 2005-11-15 Wim Taymans <wim@fluendo.com>
18729 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
18730 segment_stop == -1 at startup.
18732 * gst/base/gstbasetransform.c: (gst_base_transform_event),
18733 (gst_base_transform_change_state):
18734 Init segment values at start.
18736 2005-11-15 Wim Taymans <wim@fluendo.com>
18738 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18739 0 segment values are 0 in any format.
18741 * gst/base/gstbasetransform.c: (gst_base_transform_event):
18742 * gst/base/gstbasetransform.h:
18743 Parse newsegment correctly in basetransform
18745 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18746 Sync to clock using updated segment values.
18748 2005-11-15 Andy Wingo <wingo@pobox.com>
18750 * check/gst/gstpipeline.c (test_base_time): Add check that the
18751 base time and stream time are reset correctly.
18753 2005-11-15 Wim Taymans <wim@fluendo.com>
18755 * docs/design/part-TODO.txt:
18756 Some more TODO items.
18758 2005-11-15 Andy Wingo <wingo@pobox.com>
18760 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
18761 error if the user selected "no clock" as the clocking method.
18763 * check/gst/gstpipeline.c (test_base_time): New test for buffer
18764 timestamps with live capture.
18766 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
18767 is 0 but we are a live source, timestamp the buffers using the
18770 2005-11-14 Stefan Kost <ensonic@users.sf.net>
18772 * docs/gst/gstreamer-sections.txt:
18774 * gst/gstghostpad.c:
18779 2005-11-14 Wim Taymans <wim@fluendo.com>
18782 add suppressions from Wim's Debian machine
18784 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
18787 add suppressions from Andy's AMD64 Ubuntu machine
18789 2005-11-14 Andy Wingo <wingo@pobox.com>
18791 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
18792 STATE_LOCK not necessary. Fixes #311489.
18794 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
18797 * gst/gstindex.c (gst_index_add_object): Note in the docs that
18798 this function is not implemented.
18800 2005-11-14 Julien MOUTTE <julien@moutte.net>
18802 * gst/base/gstbasetransform.c:
18803 (gst_base_transform_prepare_output_buf):
18804 Ref the source pad caps while we need them.
18807 2005-11-11 Wim Taymans <wim@fluendo.com>
18809 * docs/gst/gstreamer-sections.txt:
18810 Added some docs for GstCollectData.
18812 * gst/base/gstadapter.c:
18813 Some small code example fix.
18815 * gst/base/gstcollectpads.c:
18816 * gst/base/gstcollectpads.h:
18817 Document some more.
18819 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
18821 * configure.ac: back to HEAD
18823 === release 0.9.5 ===
18825 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
18828 releasing 0.9.5, "Bike Lunch Day"
18830 2005-11-11 Wim Taymans <wim@fluendo.com>
18832 * gst/gstbuffer.c: (_gst_buffer_copy):
18835 * gst/gstcaps.c: (gst_caps_is_equal):
18837 Make _is_equal fast in the trivial cases.
18839 * gst/gstminiobject.c:
18840 * gst/gstminiobject.h:
18841 More docs. Spifify .h file.
18846 2005-11-11 Wim Taymans <wim@fluendo.com>
18848 * gst/base/gstbasetransform.c:
18849 (gst_base_transform_prepare_output_buf),
18850 (gst_base_transform_handle_buffer):
18852 If we're processing a buffer and need to allocate an output
18853 buffer, we cannot accept a format change. If we did get a
18854 format change, we have to alloc a buffer ourselves of the
18857 2005-11-11 Wim Taymans <wim@fluendo.com>
18859 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
18860 While checking the flag for reentrancy in the gstcaps function
18861 is nice to detect recursive invocations, it also makes it
18862 impossible to call getcaps from multiple threads, which must be
18863 possible. So, checking for recursive calls has to go.
18865 2005-11-11 Michael Smith <msmith@fluendo.com>
18867 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18868 Don't sync on buffers that fall partially outside our current
18869 segment. Prevents an assertion failure/abort playing some files.
18871 2005-11-10 Andy Wingo <wingo@pobox.com>
18873 * check/gst/gstbin.c (test_message_state_changed_children): Style
18876 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
18877 gst_bus_poll with the signal watch. Ensures that poll and a signal
18878 watch see the same messages.
18880 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
18881 a poll and a watch at the same time get the same messages.
18883 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
18885 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
18886 * gst/gstcaps.c: (gst_caps_intersect):
18887 Don't call gst_caps_do_simplify - it doesn't respect order of caps
18888 and it's not needed.
18890 2005-11-10 Wim Taymans <wim@fluendo.com>
18892 * docs/design/part-TODO.txt:
18895 2005-11-10 Wim Taymans <wim@fluendo.com>
18897 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18898 * gst/base/gstbasesrc.c: (gst_base_src_wait),
18899 (gst_base_src_do_sync), (gst_base_src_get_range):
18900 Implement clock sync in base class.
18902 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
18904 patch by: Tim-Philipp Müller <tim at centricular dot net>
18906 * gst/gststructure.c: (gst_structure_parse_field),
18907 (gst_structure_from_string):
18908 Forward-port a 0.8 patch to handle escaped spaces in structure string,
18909 so that gst_parse_launch() can deal with spaces in filtered link
18910 caps (fixes #164479)
18911 * check/gst/capslist.h:
18912 * check/gst/gststructure.c: (GST_START_TEST):
18913 add unit tests for this change
18915 2005-11-10 Wim Taymans <wim@fluendo.com>
18917 * docs/gst/gstreamer-sections.txt:
18918 * gst/gstelement.c:
18919 * gst/gstelement.h:
18920 Fix docs, move some STATE macros to private.
18922 2005-11-10 Wim Taymans <wim@fluendo.com>
18924 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18925 Added check for bug #317341
18929 Some more spiffifying.
18931 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
18932 Call peer linkfunction if we are a source pad. Totally fixes
18936 Update docs, source pads should call the peer linkfunction
18937 so they can atomically perform the pad link.
18939 2005-11-09 Wim Taymans <wim@fluendo.com>
18943 Uber-spiffy-spiffify some more.
18945 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
18947 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
18948 * gst/elements/gstfilesink.c: (gst_file_sink_init):
18949 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
18950 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
18951 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
18952 * gst/gstpad.c: (gst_pad_init):
18953 Use GST_DEBUG_FUNCPTR() more extensively.
18955 2005-11-09 Wim Taymans <wim@fluendo.com>
18957 * gst/gstobject.c: (gst_object_class_init):
18959 Documentation fixes.
18961 2005-11-09 Edward Hervey <edward@fluendo.com>
18963 * gst/gsttypefindfactory.c:
18966 2005-11-09 Edward Hervey <edward@fluendo.com>
18968 * gst/base/gsttypefindhelper.c:
18969 * gst/gsttypefind.c:
18970 * gst/gsttypefind.h:
18973 2005-11-09 Wim Taymans <wim@fluendo.com>
18975 * gst/gstiterator.c:
18982 2005-11-09 Wim Taymans <wim@fluendo.com>
18988 2005-11-09 Wim Taymans <wim@fluendo.com>
18990 * docs/gst/gstreamer-sections.txt:
18991 Moved the message async delivery private lock and cond
18992 to the private section.
18994 * gst/gstmessage.c:
18995 * gst/gstmessage.h:
18998 2005-11-09 Edward Hervey <edward@fluendo.com>
19000 * docs/gst/gstreamer-sections.txt:
19003 Document GstURIHandler
19005 2005-11-09 Wim Taymans <wim@fluendo.com>
19007 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
19008 (gst_iterator_find_custom):
19009 * gst/gstiterator.h:
19012 2005-11-09 Wim Taymans <wim@fluendo.com>
19015 Document another field.
19017 * gst/gststructure.c:
19018 * gst/gststructure.h:
19021 2005-11-09 Wim Taymans <wim@fluendo.com>
19024 Documented structs.
19026 2005-11-09 Wim Taymans <wim@fluendo.com>
19028 * docs/gst/gstreamer-sections.txt:
19029 Added some new macros.
19036 2005-11-09 Wim Taymans <wim@fluendo.com>
19038 * docs/design/part-TODO.txt:
19039 Some more items for the TODO
19045 2005-11-09 Andy Wingo <wingo@pobox.com>
19047 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
19048 to work on something else now tho...
19050 * gst/base/gstadapter.c: More adapter docs.
19052 * gst/elements/gstfilesink.c (gst_file_sink_start)
19053 (gst_file_sink_stop): New functions, replace the state change
19055 (gst_file_sink_class_init): Hook up the start and stop functions.
19056 (gst_file_sink_base_init): Don't set the state change handler any
19057 more. It was a bit ugly too, being set from here...
19058 (gst_file_sink_get_property, gst_file_sink_set_property):
19060 (gst_file_sink_set_location): More robust check that doesn't call
19061 GST_STATE. Ugggggg.
19063 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
19065 * gst/base/gstbasetransform.c: (gst_base_transform_event):
19066 Hold STREAM_LOCK while pushing newsegment or tag events as well.
19068 2005-11-08 Wim Taymans <wim@fluendo.com>
19070 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19071 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19072 (gst_base_sink_chain), (gst_base_sink_change_state):
19073 * gst/base/gstbasesink.h:
19074 * gst/base/gstbasesrc.h:
19075 * gst/gstelement.h:
19077 Avoid excessive typechecking in macros.
19079 * gst/gstminiobject.c: (gst_mini_object_get_type),
19080 (gst_mini_object_init), (gst_mini_object_new),
19081 (gst_mini_object_free):
19082 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
19083 (gst_object_finalize):
19084 Remove cruft code, optimize alloc_trace.
19086 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
19088 * docs/faq/gst-uninstalled:
19089 fix up PS1 for systems that try to reset it
19091 2005-11-07 Wim Taymans <wim@fluendo.com>
19093 * gst/base/gstbasesrc.c: (gst_base_src_init),
19094 (gst_base_src_get_range):
19095 Set the segment_end to -1 initially. Fixed typefind.
19097 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
19099 * gst/base/gstadapter.c:
19100 Debug category should be 'adapter', not 'GstAdapter'.
19102 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
19103 (gst_collectpads_class_init), (gst_collectpads_init),
19104 (gst_collectpads_peek), (gst_collectpads_pop),
19105 (gst_collectpads_event), (gst_collectpads_chain):
19106 Add debug category and some debugging output. Use boilerplate
19107 macros. Remove some extraneous words from docs.
19109 2005-11-05 Andy Wingo <wingo@pobox.com>
19111 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
19114 2005-11-04 Stefan Kost <ensonic@users.sf.net>
19116 * docs/gst/gstreamer-sections.txt:
19119 * gst/gstminiobject.h:
19124 2005-11-04 Wim Taymans <wim@fluendo.com>
19126 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19127 Small update to stop at the configured segment_end
19130 2005-11-04 Stefan Kost <ensonic@users.sf.net>
19132 * gst/gstregistry.c:
19133 * gst/gstregistry.h:
19136 2005-11-04 Edward Hervey <edward@fluendo.com>
19138 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19139 Check if we are doing a segment seek and have arrived at the
19140 end of that segment.
19142 2005-11-04 Wim Taymans <wim@fluendo.com>
19144 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
19145 Don't leak a mutex unlock in case of an error.
19150 2005-11-04 Wim Taymans <wim@fluendo.com>
19152 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
19154 Get the context to wake up only once.
19156 2005-11-03 Wim Taymans <wim@fluendo.com>
19158 * check/states/sinks.c: (GST_START_TEST):
19159 Uncomment fixed check.
19161 * docs/design/part-TODO.txt:
19164 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19165 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
19166 (gst_base_sink_get_position):
19167 If we are going to PLAYING, post the right pending state
19168 when we post the intermediate paused message.
19170 * gst/gstelement.c: (gst_element_continue_state),
19171 (gst_element_set_state_func), (gst_element_change_state):
19172 Don't post state changes that were between the same state
19173 and were not ASYNC.
19175 2005-11-03 Stefan Kost <ensonic@users.sf.net>
19177 * docs/gst/gstreamer-sections.txt:
19180 * gst/gstminiobject.h:
19183 more docs and doc style fixes
19185 2005-11-03 Stefan Kost <ensonic@users.sf.net>
19187 * docs/gst/gstreamer-sections.txt:
19188 * gst/gstelement.c:
19189 * gst/gstminiobject.c:
19192 2005-11-03 Andy Wingo <wingo@pobox.com>
19194 * check/states/sinks.c (test_livesrc_sink): Add checks that the
19195 state-changed messages actually have the right order and the right
19198 2005-11-03 Wim Taymans <wim@fluendo.com>
19200 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
19201 Added some more checks. Specifically the case where NO_PREROLL
19202 elements are in the pipeline.
19204 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19205 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
19206 (gst_base_sink_get_position):
19207 Post READY->PAUSED state change messages too.
19208 Fix bug where VOID was posted as pending state...
19210 * gst/gstbin.c: (gst_bin_recalc_state):
19211 use _element_continue_state() to continue the state change.
19213 * gst/gstelement.c: (gst_element_continue_state),
19214 (gst_element_commit_state), (gst_element_set_state_func),
19215 (gst_element_change_state), (gst_element_change_state_func):
19216 Lots of state change cleanups, assign the STATE_RETURN in
19217 a new continue_state() function that also propagates the
19218 last return value from a state change to the app.
19219 Update some debug statements with proper category.
19221 2005-11-03 Wim Taymans <wim@fluendo.com>
19223 * docs/design/part-events.txt:
19224 * docs/design/part-gstpipeline.txt:
19225 * docs/design/part-messages.txt:
19226 * docs/design/part-overview.txt:
19227 * docs/design/part-seeking.txt:
19228 * docs/design/part-states.txt:
19229 * docs/design/part-trickmodes.txt:
19230 * docs/manual/advanced-position.xml:
19231 Small docs updates.
19234 People think !! is ugly, this looks better.
19236 * gst/gstpad.c: (gst_pad_set_blocked_async):
19237 Remove !! since it's fixed elsewhere now.
19239 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
19241 * gst/gstminiobject.h:
19243 Add !! to _FLAG_IS_SET macros to make the result boolean.
19245 2005-11-03 Edward Hervey <edward@fluendo.com>
19247 * gst/gstpad.c: (gst_pad_set_blocked_async):
19248 comparing a flag and a gboolean rarely returns coherent results...
19249 Added two characters (!!) to make that work correctly.
19251 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
19253 * gst/gstbus.c: (gst_bus_class_init):
19256 * gst/gstqueue.c: (gst_queue_loop):
19257 Don't assume a miniobject that isn't a buffer is an
19258 event (it could be that there is a refcounting
19259 problem somewhere and the pointer is stale and
19260 refers to an already destroyed miniobject).
19262 2005-11-03 Julien MOUTTE <julien@moutte.net>
19264 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
19266 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
19268 * docs/manual/advanced-position.xml:
19269 Update seek example and explanations to current 0.9 API.
19271 * gst/elements/gsttypefindelement.c:
19272 (gst_type_find_element_activate):
19273 Remove FIXME comment now that the found caps
19276 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
19278 * gst/gstregistryxml.c: (load_feature):
19279 Add another GST_STR_NULL instance
19281 2005-11-02 Edward Hervey <edward@fluendo.com>
19283 * gst/gstpad.c: (handle_pad_block):
19284 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
19286 2005-11-02 Wim Taymans <wim@fluendo.com>
19291 * gst/gstelement.c: (gst_element_commit_state):
19292 Remove unused value.
19294 * gst/gstiterator.c:
19295 Mention that the returned element is reffed in the docs.
19297 2005-11-02 Wim Taymans <wim@fluendo.com>
19299 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
19300 (gst_pad_push), (gst_pad_push_event):
19301 Unlock blocked pads when they are flushed.
19303 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
19306 * docs/gst/gstreamer-sections.txt:
19309 * gst/gstregistry.c: (gst_registry_scan_path_level):
19310 fix for a nasty little missed situation where an installed plug-in
19311 which was in the cache did not get overridden by an uninstalled one
19312 which was earlier in the plugin path because the newly created plugin
19313 for the uninstalled one (not in the registry) didn't get its
19314 ->registered set to TRUE
19316 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
19318 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
19319 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
19320 (gst_collectpads_is_active), (gst_collectpads_collect),
19321 (gst_collectpads_collect_range), (gst_collectpads_start),
19322 (gst_collectpads_stop), (gst_collectpads_peek),
19323 (gst_collectpads_pop), (gst_collectpads_available),
19324 (gst_collectpads_read), (gst_collectpads_flush):
19325 Guard public API with assertions.
19328 Fix docs for gst_pad_set_link_function().
19330 2005-11-02 Johan Dahlin <johan@gnome.org>
19332 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
19333 Unref found_caps after we used it.
19335 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
19337 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
19338 Don't try to ref NULL.
19340 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
19342 * win32/common/config.h.in:
19343 provide a GST_FUNCTION that just gives a string for now
19345 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
19347 * win32/common/gstenumtypes.c: (register_gst_object_flags),
19348 (gst_object_flags_get_type), (register_gst_bin_flags),
19349 (gst_bin_flags_get_type), (register_gst_buffer_flag),
19350 (gst_buffer_flag_get_type), (register_gst_bus_flags),
19351 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19352 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
19353 (gst_clock_return_get_type), (register_gst_clock_entry_type),
19354 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19355 (gst_clock_flags_get_type), (register_gst_state),
19356 (gst_state_get_type), (register_gst_state_change_return),
19357 (gst_state_change_return_get_type), (register_gst_state_change),
19358 (gst_state_change_get_type), (register_gst_element_flags),
19359 (gst_element_flags_get_type), (register_gst_core_error),
19360 (gst_core_error_get_type), (register_gst_library_error),
19361 (gst_library_error_get_type), (register_gst_resource_error),
19362 (gst_resource_error_get_type), (register_gst_stream_error),
19363 (gst_stream_error_get_type), (register_gst_event_type),
19364 (gst_event_type_get_type), (register_gst_seek_type),
19365 (gst_seek_type_get_type), (register_gst_seek_flags),
19366 (gst_seek_flags_get_type), (register_gst_format),
19367 (gst_format_get_type), (register_gst_index_certainty),
19368 (gst_index_certainty_get_type), (register_gst_index_entry_type),
19369 (gst_index_entry_type_get_type),
19370 (register_gst_index_lookup_method),
19371 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19372 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19373 (gst_index_resolver_method_get_type), (register_gst_index_flags),
19374 (gst_index_flags_get_type), (register_gst_debug_level),
19375 (gst_debug_level_get_type), (register_gst_debug_color_flags),
19376 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19377 (gst_iterator_result_get_type), (register_gst_iterator_item),
19378 (gst_iterator_item_get_type), (register_gst_message_type),
19379 (gst_message_type_get_type), (register_gst_mini_object_flags),
19380 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19381 (gst_pad_link_return_get_type), (register_gst_flow_return),
19382 (gst_flow_return_get_type), (register_gst_activate_mode),
19383 (gst_activate_mode_get_type), (register_gst_pad_direction),
19384 (gst_pad_direction_get_type), (register_gst_pad_flags),
19385 (gst_pad_flags_get_type), (register_gst_pad_presence),
19386 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19387 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19388 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19389 (gst_plugin_error_get_type), (register_gst_plugin_flags),
19390 (gst_plugin_flags_get_type), (register_gst_rank),
19391 (gst_rank_get_type), (register_gst_query_type),
19392 (gst_query_type_get_type), (register_gst_tag_merge_mode),
19393 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19394 (gst_tag_flag_get_type), (register_gst_task_state),
19395 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19396 (gst_alloc_trace_flags_get_type),
19397 (register_gst_type_find_probability),
19398 (gst_type_find_probability_get_type), (register_gst_uri_type),
19399 (gst_uri_type_get_type), (register_gst_parse_error),
19400 (gst_parse_error_get_type):
19401 * win32/common/gstversion.h:
19402 update win32 copies
19404 2005-11-01 Luca Ognibene <luogni@tin.it>
19407 fix docs. popt is dead, long live GOption.
19409 2005-10-31 Wim Taymans <wim@fluendo.com>
19414 2005-10-31 Andy Wingo <wingo@pobox.com>
19418 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
19420 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
19421 need to serialize property notifications on GLib 2.8. GLib 2.6 has
19422 the possibility of deadlocks here if code calling notify() or
19423 set() has a lock that can be taken in another notify handler (ABBA
19424 with class lock and e.g. python GIL state lock).
19426 2005-10-28 Julien MOUTTE <julien@moutte.net>
19428 * gst/gstbus.c: Doc updates.
19430 2005-10-28 Wim Taymans <wim@fluendo.com>
19432 * docs/design/part-TODO.txt:
19433 * gst/gstiterator.c:
19434 * gst/gstsystemclock.c:
19435 * gst/gstsystemclock.h:
19438 2005-10-28 Edward Hervey <edward@fluendo.com>
19440 * docs/gst/gstreamer-docs.sgml:
19441 * docs/gst/gstreamer-sections.txt:
19442 the GstURIType documentation page is private, it only defines GstURIType
19443 which should be defined in the GstURIHandler page
19445 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
19447 * gst/gstbin.c: (gst_bin_class_init):
19450 Documentation updates.
19452 2005-10-28 Wim Taymans <wim@fluendo.com>
19454 * docs/gst/gstreamer-sections.txt:
19457 Documented the clocks.
19459 2005-10-28 Stefan Kost <ensonic@users.sf.net>
19461 * docs/gst/gstreamer-sections.txt:
19462 move some macros to private sections
19463 * gst/gstminiobject.c:
19464 * gst/gstminiobject.h:
19465 add descriptions provided by ds and some more
19467 mark macro as to be removed
19469 2005-10-28 Wim Taymans <wim@fluendo.com>
19471 * docs/design/part-TODO.txt:
19472 Add an item to TODO.
19474 * gst/gstiterator.c: (gst_iterator_fold),
19475 (gst_iterator_find_custom):
19476 * gst/gstiterator.h:
19479 2005-10-28 Wim Taymans <wim@fluendo.com>
19481 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19482 (gst_base_transform_init):
19485 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
19486 An EOS event marks the queue as completely filled.
19488 2005-10-27 Wim Taymans <wim@fluendo.com>
19490 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19491 (gst_base_sink_do_sync), (gst_base_sink_get_position):
19492 Some more debugging.
19494 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
19495 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
19496 (gst_base_transform_event), (gst_base_transform_getrange),
19497 (gst_base_transform_chain):
19498 * gst/base/gstbasetransform.h:
19500 Protect transform and concurrent buffer alloc with a new lock.
19501 Try not to break ABI/API.
19503 2005-10-27 Wim Taymans <wim@fluendo.com>
19505 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19506 (gst_base_src_init), (gst_base_src_query),
19507 (gst_base_src_default_newsegment),
19508 (gst_base_src_configure_segment), (gst_base_src_do_seek),
19509 (gst_base_src_send_event), (gst_base_src_event_handler),
19510 (gst_base_src_pad_get_range), (gst_base_src_loop),
19511 (gst_base_src_unlock), (gst_base_src_default_negotiate),
19512 (gst_base_src_start), (gst_base_src_deactivate),
19513 (gst_base_src_activate_push), (gst_base_src_change_state):
19514 Move some stuff around and cleanup things.
19516 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
19518 * gst/base/gstbasesrc.c: (gst_base_src_query):
19519 Add missing break statements.
19521 2005-10-27 Wim Taymans <wim@fluendo.com>
19523 * check/gst/gstbin.c: (GST_START_TEST):
19524 An extra refcount is taken in basesrc.
19526 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
19527 (gst_base_src_get_range), (gst_base_src_pad_get_range),
19528 (gst_base_src_loop):
19529 Small cleanups, check for flushing after being unlocked from the
19530 LIVE_LOCK. take refcounts correctly (not yet everywhere).
19531 Don't send out EOS when going to READY.
19533 2005-10-27 Wim Taymans <wim@fluendo.com>
19535 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19536 (gst_base_sink_get_position):
19539 * gst/gstbin.c: (message_check), (bin_replace_message),
19540 (bin_remove_messages), (is_eos), (gst_bin_add_func),
19541 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
19542 (bin_query_duration_init), (bin_query_duration_fold),
19543 (bin_query_duration_done), (bin_query_generic_fold),
19545 * tools/gst-launch.c: (main):
19548 2005-10-26 Stefan Kost <ensonic@users.sf.net>
19550 * examples/controller/audio-example.c: (main):
19551 * examples/queue/queue.c: (event_loop):
19552 * gst/base/gstbasetransform.h:
19553 * gst/gstelement.c: (gst_element_send_event):
19555 * gst/gstpad.c: (gst_pad_send_event):
19558 changing log priority in error situations
19560 2005-10-25 Wim Taymans <wim@fluendo.com>
19562 * gst/gstbin.c: (message_check), (bin_replace_message),
19563 (bin_remove_messages), (is_eos), (gst_bin_add_func),
19564 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
19565 (bin_query_duration_init), (bin_query_duration_fold),
19566 (bin_query_duration_done), (bin_query_generic_fold),
19568 Some doc and debug updates.
19569 Cache previously requested query DURATION for speed. invalidate
19570 cached duration if element posts a DURATION message.
19572 2005-10-25 Wim Taymans <wim@fluendo.com>
19574 * docs/design/part-TODO.txt:
19577 * gst/gstbin.c: (message_check), (bin_replace_message),
19578 (bin_remove_messages), (is_eos), (gst_bin_add_func),
19579 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
19580 (bin_query_duration_init), (bin_query_duration_fold),
19581 (bin_query_duration_done), (bin_query_generic_fold),
19583 Handle SEGMENT_START/DONE messages correctly.
19584 More evolved query algorithm that handles duration queries
19587 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
19588 (gst_element_get_state_func), (gst_element_abort_state),
19589 (gst_element_commit_state), (gst_element_lost_state):
19590 Some more debugging.
19592 * gst/gstmessage.h:
19595 2005-10-25 Wim Taymans <wim@fluendo.com>
19597 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
19598 Don't use invalid stream_time.
19600 * gst/gstevent.c: (gst_event_new_newsegment):
19601 stream_time in newsegment cannot be undefined.
19603 2005-10-24 Wim Taymans <wim@fluendo.com>
19608 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
19610 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
19612 2005-10-24 Stefan Kost <ensonic@users.sf.net>
19614 * docs/libs/tmpl/gstdparam.sgml:
19615 * docs/libs/tmpl/gstdplinint.sgml:
19616 * docs/libs/tmpl/gstdpman.sgml:
19617 * docs/libs/tmpl/gstdpsmooth.sgml:
19618 * docs/libs/tmpl/gstunitconvert.sgml:
19621 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
19626 === release 0.9.4 ===
19628 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
19631 releasing 0.9.4, "Tyrannosaurus Rex"
19633 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
19635 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
19636 (gst_file_sink_get_current_offset):
19637 Use fseeko() and ftello() if available. When falling back on
19638 lseek() to get the current offset, fflush() first to make sure
19639 everything is up-to-date and we get the right offset.
19641 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
19643 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19644 * gst/base/gstbasesrc.c: (gst_base_src_loop):
19645 * gst/gsterror.c: (_gst_stream_errors_init):
19647 * gst/gstqueue.c: (gst_queue_loop):
19649 remove prematurely added error category and clean up the instances
19651 2005-10-21 Wim Taymans <wim@fluendo.com>
19653 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19654 (gst_base_sink_get_position), (gst_base_sink_query),
19655 (gst_base_sink_change_state):
19656 Simply set the right flag when going to playing, that's all
19657 we need to do instead of calling a function inside the object
19658 lock (that could take the lock as well and deadlock)
19660 2005-10-21 Wim Taymans <wim@fluendo.com>
19662 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
19663 (gst_base_src_loop):
19664 Don't warn, the peer element knows what to do best when
19665 the seek failed, it might try something else.
19667 2005-10-21 Wim Taymans <wim@fluendo.com>
19669 * gst/base/gstbasesrc.c: (gst_base_src_init),
19670 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
19673 2005-10-21 Wim Taymans <wim@fluendo.com>
19675 * docs/design/part-segments.txt:
19678 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
19679 Correctly set caps, even on the subbufer.
19681 2005-10-21 Wim Taymans <wim@fluendo.com>
19683 * docs/gst/gstreamer-docs.sgml:
19684 * docs/gst/gstreamer-sections.txt:
19685 * gst/gstelement.h:
19688 * gst/gstmessage.h:
19691 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
19695 And 2% more doc coverage.
19697 2005-10-21 Andy Wingo <wingo@pobox.com>
19699 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
19700 position reporting.
19702 2005-10-20 Wim Taymans <wim@fluendo.com>
19704 * gst/gsterror.c: (gst_error_get_message):
19707 * gst/gststructure.c:
19712 2005-10-20 Wim Taymans <wim@fluendo.com>
19717 Another 1% more coverage.
19719 2005-10-20 Wim Taymans <wim@fluendo.com>
19721 * docs/gst/gstreamer-sections.txt:
19722 * gst/gstelement.c: (gst_element_get_state_func),
19723 (gst_element_abort_state), (gst_element_commit_state),
19724 (gst_element_lost_state):
19726 * gst/gstquery.c: (gst_query_set_position),
19727 (gst_query_parse_position), (gst_query_set_duration),
19728 (gst_query_parse_duration), (gst_query_new_convert):
19730 Yay! 1% more docs coverage.
19732 2005-10-20 Wim Taymans <wim@fluendo.com>
19735 * gst/gstquery.c: (gst_query_set_position),
19736 (gst_query_parse_position), (gst_query_set_duration),
19737 (gst_query_parse_duration), (gst_query_new_convert):
19739 * gst/gstutils.c: (gst_element_query_convert):
19741 Docs and consistency fixes.
19743 2005-10-20 Wim Taymans <wim@fluendo.com>
19749 2005-10-20 Wim Taymans <wim@fluendo.com>
19751 * gst/gstbin.c: (message_check), (bin_replace_message),
19752 (bin_remove_messages), (is_eos), (gst_bin_add_func),
19753 (update_degree), (gst_bin_sort_iterator_next),
19754 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
19755 Reworked the message handling a bit, cache the messages instead of
19756 only the senders. alows us to do more in the future.
19758 2005-10-20 Wim Taymans <wim@fluendo.com>
19760 * docs/design/part-TODO.txt:
19763 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
19764 (gst_base_sink_query):
19765 Don't use clock time to report position when in EOS.
19767 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
19769 * tools/gst-inspect.c: (print_interfaces),
19770 (print_element_properties_info), (print_element_info):
19771 Fix interface output with gst-inspect -a; don't print
19772 newlines after double/float properties.
19774 2005-10-20 Wim Taymans <wim@fluendo.com>
19776 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
19777 (gst_base_sink_query):
19778 Speed up current position calculation.
19780 * gst/base/gstbasesrc.c: (gst_base_src_query),
19781 (gst_base_src_default_newsegment):
19782 Correctly set stream position in newsegment.
19784 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
19785 (update_degree), (gst_bin_sort_iterator_next),
19786 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
19787 * gst/gstmessage.c: (gst_message_new_custom):
19788 Clean up debugging info
19790 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
19791 (gst_queue_loop), (gst_queue_handle_src_query):
19794 2005-10-19 Wim Taymans <wim@fluendo.com>
19796 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19797 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
19798 Fix query handling again.
19800 2005-10-19 Wim Taymans <wim@fluendo.com>
19802 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19803 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
19804 * gst/base/gstbasesrc.c: (gst_base_src_query):
19805 * gst/elements/gstfilesink.c: (gst_file_sink_query):
19806 * gst/elements/gsttypefindelement.c:
19807 (gst_type_find_handle_src_query), (find_element_get_length),
19808 (gst_type_find_element_activate):
19811 * gst/gstquery.c: (gst_query_new_position),
19812 (gst_query_set_position), (gst_query_parse_position),
19813 (gst_query_new_duration), (gst_query_set_duration),
19814 (gst_query_parse_duration), (gst_query_set_segment),
19815 (gst_query_parse_segment):
19817 Bundling query position/duration is not a good idea since duration
19818 does not change much and we don't want to recalculate it for every
19819 position query, so they are separated again..
19820 Base value in segment query is not needed.
19822 * gst/gstqueue.c: (gst_queue_handle_src_query):
19823 * gst/gstutils.c: (gst_element_query_position),
19824 (gst_element_query_duration), (gst_pad_query_position),
19825 (gst_pad_query_duration):
19827 Updates for query API change.
19828 Added some docs here and there.
19830 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
19832 * check/gst/gstbin.c: (GST_START_TEST):
19833 * check/gst/gstghostpad.c: (GST_START_TEST):
19834 * check/pipelines/cleanup.c: (GST_START_TEST):
19835 wait on thread to die so we can check refcount correctly
19837 2005-10-18 Wim Taymans <wim@fluendo.com>
19839 * check/pipelines/stress.c: (GST_START_TEST):
19840 Make check a little more time consuming.
19842 2005-10-18 Wim Taymans <wim@fluendo.com>
19844 * check/Makefile.am:
19845 * check/pipelines/stress.c: (GST_START_TEST),
19846 (simple_launch_lines_suite), (main):
19847 Small state change torture test.
19849 * docs/design/part-states.txt:
19850 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19851 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
19852 (gst_base_sink_change_state):
19853 Never take state lock from streaming thread, clean up ugly
19854 hacks. Unfortunatly core does not yet support nice ways to
19855 async commit state.
19857 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
19859 Start state recalc if a STATE_DIRTY message is posted, but only
19860 on the toplevel bin.
19862 * gst/gstelement.c: (gst_element_sync_state_with_parent),
19863 (gst_element_get_state_func), (gst_element_abort_state),
19864 (gst_element_commit_state), (gst_element_lost_state),
19865 (gst_element_set_state_func), (gst_element_change_state):
19866 * gst/gstelement.h:
19867 State variables are now protected with the LOCK, the state
19868 lock is only used to serialize _set_state().
19870 2005-10-18 Wim Taymans <wim@fluendo.com>
19872 * check/gst/gstbin.c: (GST_START_TEST):
19873 * check/gst/gstmessage.c: (GST_START_TEST):
19874 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
19875 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
19877 * gst/gstelement.c: (gst_element_abort_state),
19878 (gst_element_commit_state), (gst_element_lost_state):
19879 * gst/gstmessage.c: (gst_message_new_state_changed),
19880 (gst_message_new_state_dirty), (gst_message_new_segment_start),
19881 (gst_message_new_segment_done), (gst_message_new_duration),
19882 (gst_message_parse_state_changed),
19883 (gst_message_parse_segment_start),
19884 (gst_message_parse_segment_done), (gst_message_parse_duration):
19885 * gst/gstmessage.h:
19886 * tools/gst-launch.c: (event_loop):
19887 Seriously, this is better than a previous commit as we only need
19888 to notify the fact that an element changed state in a streaming
19889 thread, marking the state of the parents dirty, hence the
19890 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
19893 2005-10-18 Wim Taymans <wim@fluendo.com>
19895 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
19896 (gst_bin_recalc_func):
19897 * gst/gstelement.c: (gst_element_set_clock),
19898 (gst_element_abort_state), (gst_element_lost_state):
19899 Cleanups, prepare for state change fixes.
19901 2005-10-18 Wim Taymans <wim@fluendo.com>
19904 * gst/gstelement.c: (gst_element_class_init),
19905 (gst_element_set_state), (gst_element_set_state_func):
19906 * gst/gstelement.h:
19907 Pending ABI changes.
19908 GThreadPool in GstBinClass to monitor async state changes.
19909 state_cookie in GstElement to detect concurrent gst/set state.
19910 set_state is now virtual too in case a very complicated element
19911 has to be constructed.
19913 2005-10-18 Wim Taymans <wim@fluendo.com>
19915 * check/gst/gstbin.c: (GST_START_TEST):
19916 * check/gst/gstmessage.c: (GST_START_TEST):
19917 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
19918 * gst/gstbin.c: (bin_bus_handler):
19919 * gst/gstelement.c: (gst_element_commit_state),
19920 (gst_element_lost_state):
19921 * gst/gstmessage.c: (gst_message_new_state_changed),
19922 (gst_message_new_segment_start), (gst_message_new_segment_done),
19923 (gst_message_new_duration), (gst_message_parse_state_changed),
19924 (gst_message_parse_segment_start),
19925 (gst_message_parse_segment_done), (gst_message_parse_duration):
19926 * gst/gstmessage.h:
19927 * tools/gst-launch.c: (event_loop):
19928 Make messages future proof.
19929 state-change gets a flag if it was a message comming from the
19931 segment-start/stop can also be specified in other formats.
19932 A message to notify an app that a pipeline changed playback
19934 Also fix a GstMessage leak in -launch
19936 2005-10-18 Andy Wingo <wingo@pobox.com>
19938 * gst/gstelement.c (gst_element_dispose): More helpful message.
19940 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
19942 reviewed by: <delete if not using a buddy>
19944 * common/gtk-doc.mak:
19946 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
19948 * gst/gstregistry.c: (gst_registry_scan_path_level):
19949 unref a plug-in we get that was already initialized
19951 2005-10-18 Stefan Kost <ensonic@users.sf.net>
19953 * docs/gst/gstreamer-sections.txt:
19954 * docs/libs/gstreamer-libs-sections.txt:
19955 * gst/gstelement.h:
19956 add new api entries
19957 hide internal macro
19959 2005-10-17 Andy Wingo <wingo@pobox.com>
19961 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
19964 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
19966 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
19968 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
19969 (gst_element_get_state_func): Better debug message.
19970 (gst_element_commit_state): s/INFO/DEBUG/.
19971 (gst_element_lost_state, gst_element_change_state):
19973 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
19974 (gst_message_new_custom): s/INFO/LOG/.
19976 2005-10-17 Michael Smith <msmith@fluendo.com>
19978 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19979 Check if end time is valid using end time, not start time.
19981 2005-10-17 Stefan Kost <ensonic@users.sf.net>
19983 * check/gst-libs/controller.c: (GST_START_TEST),
19984 (gst_controller_suite):
19985 * libs/gst/controller/gstcontroller.c:
19986 (gst_controlled_property_set_interpolation_mode):
19987 * libs/gst/controller/gstcontroller.h:
19988 * libs/gst/controller/gstinterpolation.c:
19989 * testsuite/controller/.cvsignore:
19990 * testsuite/controller/Makefile.am:
19991 * testsuite/controller/interpolator.c:
19992 merge controller testsuites
19994 remove mem-chunk from docs
19996 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
19998 * gst/gstmemchunk.c:
19999 * gst/gstmemchunk.h:
20000 * gst/gsttrashstack.c:
20001 * gst/gsttrashstack.h:
20002 out. get out. you're fired. to the Attic !
20004 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
20006 * gst/gstcaps.c: (gst_caps_intersect):
20007 fix signedness issues in a (hopefully) correct way
20008 * gst/gstelement.c: (gst_element_pads_activate):
20010 * gst/gstobject.c: (gst_object_set_parent):
20013 2005-10-17 Julien MOUTTE <julien@moutte.net>
20015 * gst/gstvalue.h: Fix prototypes.
20017 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
20019 * docs/gst/gstreamer-sections.txt:
20020 * gst/gst.c: (gst_version_string):
20022 * gst/gstversion.h.in:
20023 * win32/common/libgstreamer.def:
20024 add gst_version_string ()
20026 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
20030 * gst/gst.c: (init_post):
20031 * win32/common/config.h.in:
20033 * gst/gstcaps.c: (gst_caps_intersect):
20034 use gint64, the range could be bigger than a guint
20036 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
20039 document potential problem in 2038
20041 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
20043 * gst/gstcaps.c: (gst_caps_intersect):
20044 Fix guint j diving under 0
20046 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
20049 * win32/common/config.h:
20050 * win32/common/config.h.in:
20051 check for process.h, declares getpid() on Windows
20053 include process.h if we have it
20054 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
20055 * gst/gstmemchunk.h:
20056 fix signedness issues
20057 * win32/common/libgstreamer.def:
20060 2005-10-16 Julien MOUTTE <julien@moutte.net>
20062 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
20063 fix. Because of unsigned ints, caps intersection was going nuts and
20064 trying to access structures with G_MAXUINT index. That fixes
20065 videotestsrc ! ffmpegcolorspace ! fakesink
20066 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
20069 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
20072 use the gettext macro
20073 * gst/elements/gstelements.c:
20075 * gst/indexers/gstindexers.c:
20076 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
20077 * win32/common/config.h:
20079 * win32/common/config.h.in:
20080 add the template to generate config.h
20081 * win32/common/gstenumtypes.c:
20082 * win32/common/gstversion.h:
20085 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
20087 * gst/gst.c: (gst_version):
20088 * gst/gstversion.h.in:
20091 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
20094 Oops, add missing closing bracket.
20096 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
20099 use common m4's for argument checking
20101 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
20103 * docs/gst/gstreamer-sections.txt:
20105 Add GST_EVENT_TYPE_NAME() macro.
20107 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
20110 * gst/gstpluginfeature.c:
20112 privatize more symbols
20114 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
20117 add srcdir, builddir includes to GST_ALL_CFLAGS, since
20118 everything that uses GStreamer API should have the includes
20120 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
20122 * docs/gst/gstreamer-sections.txt:
20123 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
20125 give each value a _get_type, removes the DATA exports
20127 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
20131 remove _gst_registry_auto_load, not used anymore
20132 * gst/gstbin.c: (gst_bin_get_type):
20134 * gst/gstelement.c: (gst_element_get_type):
20135 * gst/gstelement.h:
20136 * gst/gstobject.c: (gst_object_get_type):
20138 * gst/gstpad.c: (gst_pad_get_type):
20140 make _get_type functions similar, fixes data export from library
20142 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
20145 correctly make conditionals
20146 * gst/elements/Makefile.am:
20147 * gst/elements/gstelements.c:
20148 fix typo causing fdsrc not to build
20150 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
20152 * testsuite/Makefile.am:
20153 * testsuite/bytestream/.cvsignore:
20154 * testsuite/bytestream/Makefile.am:
20155 * testsuite/bytestream/filepadsink.c:
20156 * testsuite/bytestream/gstbstest.c:
20157 * testsuite/bytestream/test1.c:
20158 * testsuite/bytestream/testfile1:
20159 * testsuite/caps/normalisation.c:
20160 * testsuite/caps/random.c: (main):
20161 * testsuite/cleanup/.cvsignore:
20162 * testsuite/cleanup/Makefile.am:
20163 * testsuite/cleanup/cleanup1.c:
20164 * testsuite/cleanup/cleanup2.c:
20165 * testsuite/cleanup/cleanup3.c:
20166 * testsuite/cleanup/cleanup4.c:
20167 * testsuite/cleanup/cleanup5.c:
20168 * testsuite/controller/interpolator.c:
20169 * testsuite/debug/printf_extension.c: (main):
20170 * testsuite/elements/tee.c:
20171 * testsuite/negotiation/.cvsignore:
20172 * testsuite/negotiation/Makefile.am:
20173 * testsuite/negotiation/pad_link.c:
20174 * testsuite/pad/Makefile.am:
20175 * testsuite/pad/chainnopull.c:
20176 * testsuite/pad/getnopush.c:
20177 * testsuite/pad/link.c:
20178 * testsuite/refcounting/sched.c: (create_pipeline):
20179 * testsuite/registry/Makefile.am:
20180 * testsuite/registry/gst-print-formats.c:
20181 * testsuite/schedulers/.cvsignore:
20182 * testsuite/schedulers/142183-2.c:
20183 * testsuite/schedulers/142183.c:
20184 * testsuite/schedulers/143777-2.c:
20185 * testsuite/schedulers/143777.c:
20186 * testsuite/schedulers/147713.c:
20187 * testsuite/schedulers/147819.c:
20188 * testsuite/schedulers/147894-2.c:
20189 * testsuite/schedulers/147894.c:
20190 * testsuite/schedulers/Makefile.am:
20191 * testsuite/schedulers/group_link.c:
20192 * testsuite/schedulers/queue_link.c:
20193 * testsuite/schedulers/relink.c:
20194 * testsuite/schedulers/unlink.c:
20195 * testsuite/schedulers/unref.c:
20196 * testsuite/schedulers/useless_iteration.c:
20197 * testsuite/states/bin.c:
20198 clean out/remove some stuff from the testsuite directories
20200 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
20203 check for some headers
20204 * gst/elements/Makefile.am:
20205 * gst/elements/gstelements.c:
20206 don't compile fdsrc without sys/socket.h
20207 * gst/indexers/Makefile.am:
20208 * gst/indexers/gstindexers.c: (plugin_init):
20209 don't compile fileindex without mmap
20211 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
20218 * check/Makefile.am:
20219 * docs/gst/Makefile.am:
20220 * examples/helloworld/Makefile.am:
20222 * gst/base/Makefile.am:
20223 * gst/check/Makefile.am:
20224 * gst/elements/Makefile.am:
20225 * gst/indexers/Makefile.am:
20226 * gst/parse/Makefile.am:
20227 * libs/gst/controller/Makefile.am:
20228 * libs/gst/dataprotocol/Makefile.am:
20229 * examples/helloworld/helloworld.c: (event_loop):
20230 compile fixes, though it's not being compiled currently
20232 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
20234 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
20235 Add some simple tests for the new taglist date API.
20237 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
20239 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
20240 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
20241 Beautify 'last-message' output: print 'none' for buffer timestamps
20242 and durations if none is set; improve alignment with next messages.
20244 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
20246 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
20247 * gst/gstpluginfeature.h:
20248 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
20249 * gst/gstregistry.h:
20250 * docs/gst/gstreamer-sections.txt:
20251 Add new API to check plugin feature version requirements.
20253 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
20254 Some basic tests for the above.
20256 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
20258 * gst/gststructure.c: (gst_structure_to_string):
20259 guard against NULL printf - happens when for example
20260 a message structure with GstClock gets serialized
20262 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
20264 * gst/base/gstcollectpads.c: (gst_collectpads_event):
20265 Fix presumable copy'n'pasto.
20267 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
20269 * gst/elements/gstfakesrc.h:
20270 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
20271 * gst/elements/gsttypefindelement.c:
20272 fix some signedness
20273 * gst/elements/gstfilesink.c: (gst_file_sink_render):
20274 I wonder if this could actually write +2GB files before
20276 2005-10-13 Andy Wingo <wingo@pobox.com>
20278 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
20279 Fix Timmeke Waymans bug.
20280 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
20281 string of the proper length to gst_caps_from_string. There's a
20282 potential for, before this fix, that this could cause someone
20283 connecting over the network to cause a segfault if the payload is
20284 not NUL-terminated.
20286 2005-10-13 Stefan Kost <ensonic@users.sf.net>
20288 * docs/design/draft-push-pull.txt:
20289 * docs/design/part-overview.txt:
20290 * docs/random/TODO-pre-0.9:
20291 * docs/random/old/ChangeLog.gstreamer:
20292 * gst/base/gstpushsrc.c:
20296 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
20298 * gst/glib-compat.c: (gst_flags_get_first_value):
20299 * gst/glib-compat.h:
20300 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
20301 (gst_value_compare_double), (gst_value_serialize_flags):
20302 GLib 2.6 g_flags_get_first_value has a bug that triggers an
20305 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
20307 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20308 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20310 * tools/gst-launch.c: (event_loop):
20311 print out clock nicely
20313 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
20315 * docs/gst/gstreamer-sections.txt:
20316 * gst/gsttaglist.h:
20317 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
20318 (gst_tag_list_get_date_index):
20319 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
20320 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
20322 2005-10-13 Julien MOUTTE <julien@moutte.net>
20324 * gst/base/gstcollectpads.c: (gst_collectpads_event),
20325 (gst_collectpads_chain):
20326 * gst/base/gstcollectpads.h: Handle newsegment and store informations
20329 2005-10-13 Stefan Kost <ensonic@users.sf.net>
20331 * docs/gst/gstreamer-sections.txt:
20334 * tools/gst-inspect.c: (main):
20335 * tools/gst-launch.c: (main):
20336 * tools/gst-run.c: (main):
20337 * tools/gst-xmlinspect.c: (main):
20338 fix GOption context leaks
20341 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
20345 * win32/common/config.h:
20347 * win32/vs6/grammar.dsp:
20348 * win32/vs6/libgstelements.dsp:
20349 * win32/vs6/libgstreamer.dsp:
20352 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
20354 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20355 * gst/base/gstbasesrc.c: (gst_base_src_query):
20356 fix more guint64<->gdouble conversions
20358 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
20361 add win32-update target
20362 * win32/common/gstconfig.h:
20363 * win32/common/gstenumtypes.c:
20364 * win32/common/gstenumtypes.h:
20365 * win32/common/gstversion.h:
20366 add files that visual studio can't generate
20368 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
20371 add a win32-update target
20374 2005-10-12 Wim Taymans <wim@fluendo.com>
20376 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
20377 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
20378 * gst/gstelement.c: (gst_element_commit_state),
20379 (gst_element_set_state):
20380 Protect flags with proper lock.
20381 unref provided cached clock in dispose.
20383 2005-10-12 Stefan Kost <ensonic@users.sf.net>
20386 * gst/gstminiobject.h:
20388 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
20389 removed unused flags from miniobject
20392 2005-10-12 Wim Taymans <wim@fluendo.com>
20394 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
20395 (gst_file_sink_event), (gst_file_sink_render):
20396 Flush before seeking.
20398 2005-10-12 Andy Wingo <wingo@pobox.com>
20400 * gst/gst.c (gst_init_check): Ignore unknown options, as has
20401 always been the case.
20403 2005-10-12 Stefan Kost <ensonic@users.sf.net>
20405 * check/gst/gstbin.c: (GST_START_TEST):
20406 * docs/gst/gstreamer-sections.txt:
20407 * gst/base/gstbasesink.c: (gst_base_sink_init):
20408 * gst/base/gstbasesrc.c: (gst_base_src_init),
20409 (gst_base_src_get_range), (gst_base_src_check_get_range),
20410 (gst_base_src_start), (gst_base_src_stop):
20411 * gst/base/gstbasesrc.h:
20412 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
20413 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
20414 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
20418 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
20420 * gst/gstelement.c: (gst_element_is_locked_state),
20421 (gst_element_set_locked_state), (gst_element_commit_state),
20422 (gst_element_set_state):
20423 * gst/gstelement.h:
20424 * gst/gstindex.c: (gst_index_init):
20426 * gst/gstminiobject.h:
20427 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
20428 (gst_object_set_parent):
20430 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
20431 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
20433 * gst/gstpadtemplate.h:
20434 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
20435 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
20436 * gst/gstpipeline.h:
20437 * gst/indexers/gstfileindex.c: (gst_file_index_load),
20438 (gst_file_index_commit):
20439 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
20440 * testsuite/pad/link.c: (gst_test_src_init),
20441 (gst_test_filter_init), (gst_test_sink_init):
20442 * testsuite/states/locked.c: (main):
20443 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
20444 moved bitshift from macro to enum definition
20446 2005-10-12 Wim Taymans <wim@fluendo.com>
20448 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
20449 * gst/elements/gstfilesink.c: (gst_file_sink_event),
20450 (gst_file_sink_render):
20451 Some more debugging info.
20453 2005-10-12 Wim Taymans <wim@fluendo.com>
20455 * docs/design/part-states.txt:
20456 * tools/gst-launch.c: (main):
20458 Revert non-intentional change.
20460 2005-10-12 Wim Taymans <wim@fluendo.com>
20462 * check/gst/gstbin.c: (GST_START_TEST):
20463 * check/gst/gstelement.c: (GST_START_TEST):
20464 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
20465 * check/gst/gstghostpad.c: (GST_START_TEST):
20466 * check/gst/gstpipeline.c: (GST_START_TEST):
20467 * check/pipelines/simple_launch_lines.c: (run_pipeline):
20468 * check/states/sinks.c: (GST_START_TEST):
20469 * gst/elements/gsttypefindelement.c: (stop_typefinding):
20470 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20471 (gst_bin_remove_func), (gst_bin_get_state_func),
20472 (gst_bin_recalc_state), (gst_bin_change_state_func),
20474 * gst/gstelement.c: (gst_element_get_state_func),
20475 (gst_element_get_state), (gst_element_abort_state),
20476 (gst_element_commit_state), (gst_element_set_state),
20477 (gst_element_change_state), (gst_element_change_state_func):
20478 * gst/gstelement.h:
20479 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
20480 (gst_pipeline_provide_clock_func):
20481 * gst/gstutils.c: (gst_element_link_pads_filtered):
20482 * tools/gst-launch.c: (main):
20483 * tools/gst-typefind.c: (main):
20484 Use GstClockTime in _get_state() instead of GTimeVal.
20485 Remove old code in gstutils.c
20487 2005-10-12 Andy Wingo <wingo@pobox.com>
20489 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
20492 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
20493 there is no task. Shouldn't affect any code, as nothing in our
20494 plugins checks this return value.
20495 (gst_pad_stop_task): Also take the stream lock if the pad has no
20496 task. Docs updated.
20498 2005-10-12 Wim Taymans <wim@fluendo.com>
20500 * gst/gstpad.c: (pre_activate), (post_activate),
20501 (gst_pad_activate_pull), (gst_pad_activate_push):
20502 Cleanup activation code. Reset old state if
20505 2005-10-12 Wim Taymans <wim@fluendo.com>
20507 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20508 (gst_base_sink_change_state):
20509 No need to prerol after receiving EOS.
20511 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
20512 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
20513 * gst/elements/gstidentity.c: (gst_identity_event):
20514 Print events more verbosely.
20516 2005-10-12 Wim Taymans <wim@fluendo.com>
20518 * check/Makefile.am:
20519 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
20520 * check/states/sinks2.c:
20521 Moved sinks2 testcode in sinks check.
20523 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20524 (gst_bin_remove_func), (gst_bin_recalc_state),
20525 (gst_bin_change_state_func), (bin_bus_handler):
20526 Fix potential race condition when _get_state() iterated over an
20527 ASYNC element right before it posted a state completion.
20530 Do proper cast here.
20532 * gst/gstevent.c: (gst_event_new_newsegment),
20533 (gst_event_parse_newsegment):
20534 A playback rate of 0.0 is not allowed.
20536 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
20538 * win32/common/config.h:
20539 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
20540 (_trewinddir), (_ttelldir), (_tseekdir):
20541 * win32/common/dirent.h:
20542 * win32/common/gtchar.h:
20543 * win32/common/libgstbase.def:
20544 * win32/common/libgstreamer.def:
20545 * win32/vs6/grammar.dsp:
20546 * win32/vs6/gst_inspect.dsp:
20547 * win32/vs6/gst_launch.dsp:
20548 * win32/vs6/gstreamer.dsw:
20549 * win32/vs6/libgstbase.dsp:
20550 * win32/vs6/libgstelements.dsp:
20551 * win32/vs6/libgstreamer.dsp:
20552 Visual Studio 6 project files, and a new common directory.
20555 2005-10-11 Wim Taymans <wim@fluendo.com>
20557 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20558 (gst_base_sink_do_sync), (gst_base_sink_query),
20559 (gst_base_sink_change_state):
20560 * gst/base/gstbasesink.h:
20561 Correctly parse newsegment info.
20563 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
20565 * gst/gst.c: (init_post):
20566 split plugin paths correctly
20568 2005-10-11 Wim Taymans <wim@fluendo.com>
20570 * check/gst/gstevent.c: (GST_START_TEST):
20571 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20572 (gst_base_sink_change_state):
20573 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
20574 * gst/base/gstbasetransform.c: (gst_base_transform_event):
20575 * gst/elements/gstfilesink.c: (gst_file_sink_event):
20576 * gst/gstevent.c: (gst_event_new_newsegment),
20577 (gst_event_parse_newsegment):
20579 Added extra flag to newsegment for future API freeze.
20580 Updated check and base elements.
20582 2005-10-11 Julien MOUTTE <julien@moutte.net>
20584 * gst/base/gstcollectpads.c: (gst_collectpads_init),
20585 (gst_collectpads_add_pad), (gst_collectpads_pop),
20586 (gst_collectpads_event), (gst_collectpads_chain):
20587 * gst/base/gstcollectpads.h: Handle EOS correctly.
20589 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
20591 * tools/gst-launch.c: (main):
20592 more null protecting
20594 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
20596 * gst/gst-i18n-lib.h:
20597 check for ENABLE_NLS, not GETTEXT_PACKAGE
20598 * gst/gstregistry.c: (gst_registry_add_plugin),
20599 (gst_registry_scan_path_level),
20600 (_gst_registry_remove_cache_plugins):
20601 protect possibly NULL strings
20602 * gst/parse/types.h:
20603 config.h already included before
20604 * tools/gst-inspect.c: (main):
20605 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
20606 check for ENABLE_NLS, not GETTEXT_PACKAGE
20607 * tools/gst-launch.c: (main):
20608 check for ENABLE_NLS, not GETTEXT_PACKAGE
20610 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
20613 if we don't have glib, fail before testing 2.8
20614 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
20615 fix a leak, should fix plugins-base testsuite
20617 2005-10-11 Andy Wingo <wingo@pobox.com>
20619 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
20620 take the mode we're going to as an arg. Go head and set the mode
20621 and flushing flags now, so that if the activate function starts a
20622 thread all the flags will be in the right state.
20623 (post_activate): Renamed also. Just handle making sure streaming
20624 finishes for the deactivation case, and setting the deactivated
20626 (gst_pad_set_active): Complain loudly if deactivation fails.
20627 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
20628 (gst_pad_activate_push): Adapt to pre/post_activate changes,
20629 remove the terrible hack.
20631 2005-10-11 Wim Taymans <wim@fluendo.com>
20633 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
20634 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
20635 (gst_bin_recalc_state), (gst_bin_change_state_func),
20636 (gst_bin_dispose), (bin_bus_handler):
20638 Prepare to make current EOS message queue more generic.
20641 * gst/gstevent.c: (gst_event_new_newsegment),
20642 (gst_event_parse_newsegment):
20644 Rename base to stream_time.
20646 * gst/gstmessage.h:
20649 2005-10-11 Wim Taymans <wim@fluendo.com>
20651 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
20652 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
20653 (gst_bin_change_state_func), (bin_bus_handler):
20655 Work on proper clock selection.
20657 2005-10-11 Edward Hervey <edward@fluendo.com>
20659 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
20660 * libs/gst/controller/gstcontroller.h:
20661 Added GList* version of _remove_properties() in order to be able to wrap
20664 2005-10-11 Wim Taymans <wim@fluendo.com>
20666 * docs/design/part-states.txt:
20669 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
20670 (gst_bin_change_state_func), (bin_bus_handler):
20671 Doc updates. Don't distribute the same clock over and over again.
20677 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
20678 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
20679 (gst_pad_send_event):
20681 Make probe emission threadsafe again.
20682 Register quarks and move _get_name() from utils.
20685 * gst/gstpipeline.c: (gst_pipeline_class_init),
20686 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
20687 Only redistribute the clock of it changed.
20689 * gst/gstsystemclock.h:
20694 Moved the _flow_get_name() to GstPad.
20696 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
20698 * check/gst-libs/gdp.c: (GST_START_TEST):
20699 * check/gst/gstcaps.c: (GST_START_TEST):
20700 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
20701 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
20702 (gst_dp_packet_from_caps):
20703 fix more valgrind warnings before turning up the heat
20705 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
20707 * gst/parse/grammar.y:
20708 some cleanup before the hacking
20710 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
20712 * gst/base/gstbasesrc.c: (gst_base_src_query):
20714 * gst/gstutils.c: (gst_guint64_to_gdouble),
20715 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
20717 externalize, basesrc uses it
20718 obviously the implementation needs testing
20720 2005-10-10 Wim Taymans <wim@fluendo.com>
20722 * tests/sched/Makefile.am:
20723 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
20724 (make_pipeline3), (make_pipeline4), (print_elem), (main):
20726 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
20728 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
20729 apparently converting from guint64 to double is not implemented
20732 2005-10-10 Wim Taymans <wim@fluendo.com>
20734 * check/Makefile.am:
20735 * check/generic/states.c: (GST_START_TEST):
20736 * check/gst/gstbin.c: (GST_START_TEST):
20737 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
20738 * check/states/sinks.c: (GST_START_TEST):
20739 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
20741 Check fixes, use API as stated in design docs, remove hacks.
20743 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20744 (gst_base_sink_change_state):
20745 Catch stopping our task while we're shutting down.
20747 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
20748 (gst_bin_remove_func), (gst_bin_get_state_func),
20749 (gst_bin_recalc_state), (gst_bin_change_state_func),
20752 * gst/gstelement.c: (gst_element_init),
20753 (gst_element_get_state_func), (gst_element_abort_state),
20754 (gst_element_commit_state), (gst_element_lost_state),
20755 (gst_element_set_state), (gst_element_change_state),
20756 (gst_element_change_state_func):
20757 * gst/gstelement.h:
20758 New state change algorithm (see #318116)
20760 * gst/gstpipeline.c: (gst_pipeline_class_init),
20761 (gst_pipeline_init), (gst_pipeline_set_property),
20762 (gst_pipeline_get_property), (do_pipeline_seek),
20763 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
20764 * gst/gstpipeline.h:
20765 Remove crude state change hacks.
20768 Remove crude hacks.
20770 * tools/gst-launch.c: (main):
20771 Fixes for state change. Needs some more work to fully use the
20774 2005-10-10 Andy Wingo <wingo@pobox.com>
20776 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
20778 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
20779 this flag, but it's not even in GLib 2.6. Odd. Hack around the
20782 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
20784 * gst/gstiterator.c: (gst_iterator_new):
20785 Fix my previous commit: GTypes passed to gst_iterator_new()
20786 can be fundamental types.
20788 2005-10-10 Wim Taymans <wim@fluendo.com>
20790 * gst/gstelement.c: (gst_element_iterate_pad_list),
20791 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
20792 (gst_element_iterate_sink_pads):
20793 Use src/sink pads lists for the respective iterators instead
20796 2005-10-10 Andy Wingo <wingo@pobox.com>
20798 Merged in popt removal + GOption addition patch from Ronald, bug
20801 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
20802 GstElement macros around, remove popt-related symbols, add goption
20805 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
20807 * docs/gst/Makefile.am:
20808 * docs/libs/Makefile.am: No POPT_CFLAGS.
20810 * examples/manual/Makefile.am:
20811 * docs/manual/basics-init.xml: Doc updates with an example.
20813 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
20814 (gst_init), (parse_one_option), (parse_goption_arg):
20815 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
20816 bit of hand merging and debugging to get the GOption stuff working
20819 * tests/Makefile.am:
20820 * tools/Makefile.am:
20821 * tools/gst-inspect.c: (main):
20822 * tools/gst-launch.c: (main):
20823 * tools/gst-run.c: (main):
20824 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
20826 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
20828 * gst/gstiterator.c: (gst_iterator_new):
20829 Add assertions to make sure passed GType is likely to really
20830 be a GType (as the compiler won't catch it if the size and
20831 GType arguments get mixed up, see #318447).
20833 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
20835 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
20837 * gst/gstbin.c: (gst_bin_iterate_sorted):
20838 Pass GType and size arguments to gst_iterator_new() in the right
20839 order (maybe we should make _new() take the GType as first argument
20840 just like _new_list()?) (#318447).
20843 2005-10-10 Wim Taymans <wim@fluendo.com>
20845 * gst/gstelement.c: (gst_element_finalize):
20846 And free the GStaticRecMutex too
20848 2005-10-10 Andy Wingo <wingo@pobox.com>
20850 * gst/gstelement.c (gst_element_init, gst_element_finalize):
20851 Allocate and free the mutex properly.
20853 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
20855 (GstElement): The state_lock is now recursive. Rebuild your
20856 plugins, suckers. Old macros adapted.
20858 * docs/gst/gstreamer-sections.txt: Doc updates.
20861 * gst/gstutils.c (g_static_rec_cond_timed_wait)
20862 (g_static_rec_cond_wait): Ported from state changes patch, while
20863 we wait on bug #317802 to be solved in a well-distributed GLib.
20865 * gst/gstelement.c (gst_element_change_state_func): Renamed from
20866 gst_element_change_state, variable name changes.
20867 (gst_element_change_state): Split out of gst_element_set_state in
20868 preparation for the state change merge. Doesn't pay attention to
20869 the 'transition' argument.
20870 (gst_element_set_state): Updates, hopefully purely cosmetic.
20871 (gst_element_sync_state_with_parent): MT-safety. Ported from the
20872 state change patch.
20873 (gst_element_get_state_func): Renamed from get_state, cosmetic
20876 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
20878 * gst/elements/gstelements.c:
20879 * win32/GStreamer.vcproj:
20881 * win32/dirent.c: (_tseekdir):
20882 * win32/gst-inspect.vcproj:
20883 * win32/gst-launch.vcproj:
20884 * win32/gstconfig.h:
20885 * win32/gstelements.vcproj:
20886 * win32/gstenumtypes.c: (gst_object_flags_get_type):
20887 * win32/gstreamer.def:
20888 * win32/msvc71.sln:
20889 updates for the win32 build (patch from Sebastien Moutte)
20891 2005-10-10 Andy Wingo <wingo@pobox.com>
20893 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
20894 gst_bin_get_state, cleaned up (but no logic changes).
20895 (bin_element_is_sink): Comment updates.
20896 (sink_iterator_filter): Remove needless cast.
20897 (gst_bin_iterate_sinks): Doc update.
20898 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
20899 cleaned up (but no logic changes).
20901 * check/states/sinks.c (test_src_sink): Cleanups from the state
20903 (test_livesrc_sink): Sync on the state.
20905 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
20906 the state change patch.
20908 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
20911 * check/gst/gstbin.c: Merge in some style fixes and additional
20912 checks from Wim's state change patch.
20914 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
20916 * gst/base/gsttypefindhelper.c: (helper_find_peek),
20917 (gst_type_find_helper):
20918 Check whether we have the requested data already in our list of
20919 cached buffers before pulling a new buffer; also make the buffer
20920 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
20922 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
20927 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20928 don't use long long, it's not portable. Replacing with
20929 gint64 seems to work; let's hope no skeletons fall out of the closet.
20931 2005-10-10 Andy Wingo <wingo@pobox.com>
20933 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
20935 2005-10-09 Stefan Kost <ensonic@users.sf.net>
20937 * docs/gst/gstreamer-sections.txt:
20942 * gst/gstmessage.c: (gst_message_parse_state_changed):
20945 more docs, fix compilation
20947 2005-10-09 Philippe Khalaf <burger@speedy.org>
20948 * gst/gstmessage.c:
20949 Fixed a few forgotten variables on previous commit
20951 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
20953 * gst/base/gsttypefindhelper.c: (helper_find_peek):
20954 Fix evil typefind crasher: getrange() might return a short
20955 buffer at the end of a file, but gst_type_find_peek() must
20956 either return the full data as requested or NULL, but
20957 never a short buffer.
20959 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
20961 * gst/gstmessage.c: (gst_message_new_state_changed),
20962 (gst_message_parse_state_changed):
20963 * gst/gstmessage.h:
20964 don't use "new", it's a C++ keyword
20966 2005-10-08 Wim Taymans <wim@fluendo.com>
20968 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
20969 * gst/gstelement.c: (gst_element_post_message):
20970 * gst/gstpipeline.c: (gst_pipeline_change_state):
20971 Small docs and debug updates.
20973 2005-10-08 Stefan Kost <ensonic@users.sf.net>
20975 * docs/gst/gstreamer-sections.txt:
20976 * gst/gstelementfactory.c:
20978 * gst/gsttaglist.c:
20981 2005-10-08 Wim Taymans <wim@fluendo.com>
20983 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
20984 (gst_bin_dispose), (bin_bus_handler):
20985 Fix typos, add comments.
20986 Clear EOS list when going to PAUSED from any direction and do it
20987 in a threadsafe way.
20988 Get base time in a threadsafe way too.
20989 Fix confusing debug in the change_state function.
20990 Various other small cleanups.
20992 * gst/gstelement.c: (gst_element_post_message):
20993 Fix very verbose bus posting code.
20995 * gst/gstpipeline.c: (gst_pipeline_class_init),
20996 (gst_pipeline_set_property), (gst_pipeline_get_property),
20997 (gst_pipeline_change_state):
20998 Small ARG_ -> PROP_ cleanup
21000 2005-10-08 Wim Taymans <wim@fluendo.com>
21002 * gst/gstbin.c: (is_eos), (bin_bus_handler):
21003 Do a less CPU demanding EOS check because we can.
21005 2005-10-08 Wim Taymans <wim@fluendo.com>
21007 * libs/gst/dataprotocol/dataprotocol.c:
21008 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
21009 (gst_dp_packet_from_event):
21010 * libs/gst/dataprotocol/dataprotocol.h:
21011 * libs/gst/dataprotocol/dp-private.h:
21012 It's about time we bump the version number.
21013 Since event types don't fit in the guint8 anymore describing
21014 the payload type, make payload type 16 bits wide.
21016 2005-10-08 Wim Taymans <wim@fluendo.com>
21018 * docs/design/part-TODO.txt:
21019 * docs/design/part-clocks.txt:
21020 * docs/design/part-events.txt:
21021 * docs/design/part-gstbin.txt:
21022 * docs/design/part-gstelement.txt:
21023 * docs/design/part-gstpipeline.txt:
21024 * docs/design/part-live-source.txt:
21025 * docs/design/part-messages.txt:
21026 * docs/design/part-overview.txt:
21027 * docs/design/part-states.txt:
21030 2005-10-08 Wim Taymans <wim@fluendo.com>
21034 Fix event quark registration.
21035 Add some space between events so we can insert them in the
21038 2005-10-08 Wim Taymans <wim@fluendo.com>
21040 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21041 (gst_base_sink_handle_buffer):
21042 Better log message.
21045 * gst/gstelement.h:
21048 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
21049 (gst_queue_set_property), (gst_queue_get_property):
21051 Remove old unused properties.
21053 2005-10-08 Stefan Kost <ensonic@users.sf.net>
21054 * docs/gst/gstreamer-sections.txt:
21055 * gst/gstmessage.c:
21056 * gst/gstmessage.h:
21057 * gst/gstminiobject.c:
21058 * gst/gstminiobject.h:
21062 lots of new docs and doc fixes
21064 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
21066 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
21068 * gst/gstregistry.c: (gst_registry_lookup_locked),
21069 (gst_registry_scan_path_level):
21070 * gst/gstregistryxml.c: (load_plugin):
21071 Only ever load one plugin for a given plugin basename.
21072 This ensures correct overriding of GST_PLUGIN_PATH over
21073 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
21074 system installed plugins.
21076 2005-10-08 Wim Taymans <wim@fluendo.com>
21078 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21079 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
21080 Prepare for doing QOS.
21082 2005-10-08 Wim Taymans <wim@fluendo.com>
21084 * check/gst/gstbin.c: (GST_START_TEST):
21085 * check/pipelines/cleanup.c: (GST_START_TEST):
21086 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21087 Allow new clock message too.
21089 2005-10-08 Wim Taymans <wim@fluendo.com>
21091 * gst/gstmessage.c: (gst_message_new_error),
21092 (gst_message_new_warning), (gst_message_new_tag),
21093 (gst_message_new_state_changed), (gst_message_new_clock_provide),
21094 (gst_message_new_clock_lost), (gst_message_new_new_clock),
21095 (gst_message_new_segment_start), (gst_message_new_segment_done),
21096 (gst_message_parse_state_changed),
21097 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
21098 (gst_message_parse_new_clock):
21099 * gst/gstmessage.h:
21100 Also carry the clock in question.
21102 2005-10-08 Wim Taymans <wim@fluendo.com>
21104 * gst/gstmessage.c: (gst_message_new_custom),
21105 (gst_message_new_eos), (gst_message_new_error),
21106 (gst_message_new_warning), (gst_message_new_tag),
21107 (gst_message_new_state_changed), (gst_message_new_clock_provide),
21108 (gst_message_new_new_clock), (gst_message_new_segment_start),
21109 (gst_message_new_segment_done), (gst_message_parse_state_changed),
21110 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
21111 * gst/gstmessage.h:
21113 Added clock related messages.
21115 * gst/gstpipeline.c: (gst_pipeline_change_state):
21116 Post message when the clock changed.
21118 * tools/gst-launch.c: (event_loop):
21121 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
21123 * tools/gst-inspect.c: (print_element_properties_info):
21124 Can't pass NULL strings to g_print() on windows.
21126 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
21128 * docs/Makefile.am:
21129 * docs/gst/Makefile.am:
21130 * docs/gst/gstreamer-docs.sgml:
21131 * docs/gst/running.xml:
21132 * docs/version.entities.in:
21133 add a chapter on running GStreamer.
21134 document GST_DEBUG and GST_PLUGIN* env vars
21136 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
21141 remove PLUGINS_BUILDDIR stuff
21142 * gst/gst.c: (init_post):
21143 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
21145 remove, it was condescending and not needed
21147 2005-10-08 Wim Taymans <wim@fluendo.com>
21149 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
21150 (gst_base_sink_handle_object), (gst_base_sink_event),
21151 (gst_base_sink_wait), (gst_base_sink_handle_event),
21152 (gst_base_sink_change_state):
21153 * gst/base/gstbasesink.h:
21154 Repost EOS message while going to PLAYING if still EOS.
21155 Make sure that when receiving a FLUSH_START we don't attempt
21156 to sync on the clock anymore.
21158 2005-10-08 Wim Taymans <wim@fluendo.com>
21160 * tools/gst-launch.c: (event_loop):
21161 Better message printout.
21163 2005-10-08 Wim Taymans <wim@fluendo.com>
21165 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
21166 (gst_bin_child_proxy_get_children_count):
21167 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
21168 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
21169 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
21170 (gst_child_proxy_set_valist):
21171 * gst/parse/grammar.y:
21172 Make ChildProxy threadsafe and fix mem leaks.
21174 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
21176 * gst/gst.c: (init_post):
21177 debug the GST_PLUGIN_ env vars
21179 2005-10-08 Wim Taymans <wim@fluendo.com>
21181 * check/gst/gstbin.c: (GST_START_TEST):
21182 * check/gst/gstmessage.c: (GST_START_TEST):
21183 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21184 * gst/gstelement.c: (gst_element_commit_state),
21185 (gst_element_lost_state):
21186 * gst/gstmessage.c: (gst_message_new_state_changed),
21187 (gst_message_parse_state_changed):
21188 * gst/gstmessage.h:
21189 * tools/gst-launch.c: (event_loop):
21190 Added extra field to STATE_CHANGE message with the pending
21191 state, which will be different from the new state soon.
21193 2005-10-08 Wim Taymans <wim@fluendo.com>
21195 * gst/gstbus.c: (gst_bus_pop):
21197 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21198 Small cleanups and doc updates.
21200 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
21202 * gst/gst.c: (init_pre):
21203 * gst/gstbin.c: (gst_bin_add_func):
21204 log distributing clocks and base time
21205 * gst/gstregistry.c: (gst_registry_add_plugin),
21206 (gst_registry_scan_path_level), (gst_registry_scan_path):
21207 clean up the debugging output a little
21208 * gst/gstutils.c: (gst_element_state_get_name):
21209 warn about a memleak (I've actually seen this be used, though
21210 it was probably a bug)
21212 2005-10-07 Wim Taymans <wim@fluendo.com>
21214 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21215 (gst_base_src_init), (gst_base_src_default_newsegment),
21216 (gst_base_src_newsegment), (gst_base_src_do_seek),
21217 (gst_base_src_loop), (gst_base_src_start):
21218 * gst/base/gstbasesrc.h:
21219 Make the newsegment event customizable by subclasses.
21221 2005-10-07 Wim Taymans <wim@fluendo.com>
21223 * gst/gstevent.c: (gst_event_new_buffersize),
21224 (gst_event_parse_buffersize):
21226 New event for future idea.
21228 2005-10-07 Andy Wingo <wingo@pobox.com>
21230 * gst/gstelement.c (gst_element_post_message): Doc update.
21232 * docs/gst/gstreamer-sections.txt: Update.
21234 * gst/gstmessage.c (gst_message_new_application): Made into a
21235 function like honest API calls.
21236 (gst_message_new_element): New message type.
21238 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
21240 * check/elements/fakesrc.c (test_no_preroll): New check, checks
21241 that setting a live fakesrc to PAUSED returns NO_PREROLL both
21244 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
21245 NO_PREROLL from gst_element_change_state to fall through.
21247 2005-10-07 Wim Taymans <wim@fluendo.com>
21249 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
21250 (gst_ghost_pad_do_activate_push):
21251 Activating a ghostpad with no internal pad in push mode
21254 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
21257 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
21258 Fixes compilation on Windows.
21260 2005-10-07 Michael Smith <msmith@fluendo.com>
21262 * tools/gst-inspect.c:
21263 Print out feature and plugin count at the end when printing out
21266 2005-10-04 Michael Smith <msmith@fluendo.com>
21268 * gst/gsterror.c: (_gst_stream_errors_init):
21269 Add another error string used in a few existing plugins.
21272 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
21273 * tools/gst-inspect.c: (print_element_info):
21274 When a feature disappears from a plugin (and the feature exists in
21275 the cached registry file), things went horribly wrong. This isn't a
21276 complete fix, we should actually be removing the 'missing' features
21277 from the features list when we load the actual plugin. That's not
21280 2005-10-04 Johan Dahlin <johan@gnome.org>
21282 * check/gst/gstiterator.c: (GST_START_TEST):
21283 * gst/gstbin.c: (gst_bin_iterate_elements),
21284 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
21285 * gst/gstelement.c: (gst_element_iterate_pads):
21286 * gst/gstformat.c: (gst_format_iterate_definitions):
21287 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
21288 (gst_iterator_new_list), (gst_iterator_filter):
21289 * gst/gstiterator.h:
21290 * gst/gstquery.c: (gst_query_type_iterate_definitions):
21291 Add a GType to GstIterator, update callsites and tests.
21293 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
21295 * gst/gstpad.c: (gst_pad_event_default_dispatch):
21296 give events a chance to be handled by event probes when the pad
21299 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
21301 * gst/gstevent.c: (gst_event_type_get_name),
21302 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
21304 add string representations for event types
21306 2005-10-06 Wim Taymans <wim@fluendo.com>
21308 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
21309 Don't use NULL pointers.
21311 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
21313 * gst/gst_private.h:
21315 * gst/gstelement.c:
21317 * gst/gstpluginfeature.c:
21318 widen the debug category in output to fit the biggest one we have
21319 add a bus category and use it
21320 play with the colors
21321 fix up some categories
21323 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
21325 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
21326 add push activation of sink ghost pads.
21327 Andye, please verify
21329 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
21331 * gst/gstutils.c: (gst_element_link_pads):
21332 fix a bug in the case where neither element has a pad
21333 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
21334 add a test for that case
21336 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
21338 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
21339 emit have-data before checking for peers. This allows
21340 for probe handlers to connect elements. This helps autopluggers.
21341 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
21343 add six checks, linked/unlinked with no/true/false probe
21345 2005-10-04 Wim Taymans <wim@fluendo.com>
21347 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
21348 (gst_fake_sink_event), (gst_fake_sink_preroll),
21349 (gst_fake_sink_render), (gst_fake_sink_change_state):
21350 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
21351 (gst_fake_src_get_property), (gst_fake_src_create),
21352 (gst_fake_src_stop):
21353 * gst/elements/gstidentity.c: (gst_identity_stop):
21354 Protect last_message with lock.
21356 2005-10-04 Edward Hervey <edward@fluendo.com>
21359 Added precision in the comments for GST_FORMAT_DEFAULT
21361 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
21363 * tools/gst-launch.c: (main):
21364 Don't try to run erroneous pipelines.
21366 2005-10-04 Julien MOUTTE <julien@moutte.net>
21368 * gst/gstbus.c: We don't need this header.
21370 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
21373 back to development
21375 === release 0.9.3 ===
21377 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
21381 Releasing 0.9.3, "Unregistered"
21383 2005-10-03 Andy Wingo <wingo@pobox.com>
21385 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
21386 whereby calling a pad's activatepush() function can start a thread
21387 that starts to push or pull before the pad gets the FLUSHING flag
21388 unset. Hack around it by holding the stream lock until the flag is
21389 set. Need to replace this with a proper solution. Together with
21390 the ghost pad fixes, this fixes mp3 playing/tagreading.
21392 * docs/design/part-gstghostpad.txt: Add a note about activation of
21393 proxy pads outside of ghost pads.
21395 * gst/gstghostpad.c: Implement the ghost pad activation design.
21397 2005-10-02 Andy Wingo <wingo@pobox.com>
21399 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
21400 It is volatile, after all.
21402 * docs/design/part-gstghostpad.txt: Flesh out activation with
21405 * gst/base/gstbasesrc.c (gst_base_src_init): Use
21408 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
21411 Fix (unused) AM_CONDITIONAL tests.
21413 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
21415 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21417 * gst/gstutils.c: (gst_pad_query_convert):
21418 Add assertion that makes sure src_val is >=0, just like
21419 gst_query_new_convert() has. (#315895)
21421 2005-09-30 Edward Hervey <edward@fluendo.com>
21423 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
21424 Let's not iterate pads we're not interested in, it avoids getting
21425 sky-high refcounts on sinkpad.
21427 2005-09-30 Wim Taymans <wim@fluendo.com>
21429 * gst/gstelement.c: (gst_element_set_state),
21430 (gst_element_change_state):
21431 Small tweak, element in ASYNC remains ASYNC.
21433 2005-09-30 Wim Taymans <wim@fluendo.com>
21435 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21436 Only error is an error.
21438 * gst/gstbin.c: (gst_bin_change_state):
21441 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
21442 Also call pad_block in pad alloc.
21444 * gst/gstutils.c: (gst_flow_get_name):
21447 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
21449 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21450 (gst_base_src_get_range):
21451 Fix documentation typos. Add some more debug info.
21453 2005-09-29 David Schleef <ds@schleef.org>
21455 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
21456 more end-user friendly.
21457 * tools/gst-inspect.c: (main): Check if command-line argument is
21458 a file and attempt to load that file as a plugin.
21460 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
21462 * check/gst/gstbin.c:
21463 * check/states/sinks.c:
21464 fix tests for the new warning
21465 * check/gst/gstpipeline.c:
21466 add a test for pipeline and bus interaction
21467 * gst/gstelement.c:
21468 elements should be NULL if they get disposed; add a warning if not
21470 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
21473 for 2.6 refcounting, make debug log more correct by printing
21474 the actual refcounts at the time of swap (Wim)
21476 2005-09-29 Andy Wingo <wingo@pobox.com>
21478 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
21479 removes signal watches previously added via
21480 gst_bus_add_signal_watch.
21481 (gst_bus_add_signal_watch): Don't return the source id, just store
21482 it on the bus if there wasn't an id already.
21484 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
21485 add_signal_watch and remove_signal_watch.
21487 2005-09-29 Edward Hervey <edward@fluendo.com>
21489 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
21490 Better if we actually iterate the list :)
21492 2005-09-29 Wim Taymans <wim@fluendo.com>
21494 * check/gst/gstbin.c: (GST_START_TEST):
21495 Change for new bus API.
21497 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
21498 (send_messages), (GST_START_TEST), (gstbus_suite):
21499 Change for new bus signal API.
21501 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
21502 (gst_bus_source_prepare), (gst_bus_source_check),
21503 (gst_bus_create_watch), (gst_bus_add_watch_full),
21504 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
21505 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
21507 Remove support for multiple GSources operating on different
21508 message types as it is too complex and unneeded when using
21510 Added support for receiving signals from the bus.
21512 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
21514 * docs/libs/tmpl/gstdataprotocol.sgml:
21515 * docs/manual/advanced-dataaccess.xml:
21516 * gst/elements/gstcapsfilter.c:
21518 rename filter-caps to caps property
21520 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
21522 * gst/gstvalue.c: (gst_value_deserialize_fraction):
21523 More robust fraction string parsing.
21525 * docs/pwg/appendix-porting.xml:
21526 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
21528 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
21530 * gst/gstcaps.c: (gst_caps_do_simplify):
21531 Thou shalt not free a structure and then continue using it
21532 in the next loop iteration.
21534 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
21536 Add test case for caps simplification.
21538 2005-09-29 Wim Taymans <wim@fluendo.com>
21540 * check/gst/gstbin.c: (GST_START_TEST):
21543 2005-09-29 Wim Taymans <wim@fluendo.com>
21545 * check/gst/gstbin.c: (GST_START_TEST):
21548 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
21549 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
21550 (find_element), (gst_bin_sort_iterator_next),
21551 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21552 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21553 (gst_bin_change_state), (gst_bin_dispose):
21554 A bin does not have a bus, it gets the bus from the parent.
21556 * gst/gstelement.c: (gst_element_requires_clock),
21557 (gst_element_provides_clock), (gst_element_is_indexable),
21558 (gst_element_is_locked_state), (gst_element_change_state),
21559 (gst_element_set_bus_func):
21562 * gst/gstpipeline.c: (gst_pipeline_class_init),
21563 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
21564 The pipeline provides a bus.
21566 2005-09-28 Johan Dahlin <johan@gnome.org>
21568 * gst/gstmessage.c (gst_message_parse_state_changed): Use
21569 gst_structure_get_enum instead of gst_structure_get_int
21571 * gst/gststructure.c (gst_structure_get_enum): Impl.
21573 * gst/gststructure.h (gst_structure_get_enum): Add
21575 * docs/gst/gstreamer-sections.txt: Ditto
21577 * gst/gstmessage.c (gst_message_new_state_changed): Use
21578 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
21579 which does introspection.
21580 Reviewed by Christian Schaller
21582 2005-09-28 Stefan Kost <ensonic@users.sf.net>
21584 * gst/gstinfo.c: (gst_debug_log_default):
21585 don't do dummy g_strdup()s
21586 * libs/gst/controller/gstcontroller.c:
21587 (on_object_controlled_property_changed),
21588 (gst_controlled_property_new), (gst_controller_new_valist),
21589 (gst_controller_new_list),
21590 (gst_controller_remove_properties_valist), (gst_controller_set),
21591 (gst_controller_get), (gst_controller_sync_values),
21592 (gst_controller_get_value_array), (_gst_controller_class_init),
21593 (gst_controller_get_type):
21594 * libs/gst/controller/gstcontroller.h:
21595 * libs/gst/controller/gstinterpolation.c:
21596 (gst_controlled_property_find_timed_value_node):
21597 convert // to /**/ comments
21599 2005-09-28 Wim Taymans <wim@fluendo.com>
21601 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
21602 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
21603 (gst_bus_sync_signal_handler):
21605 Added async-message and sync-message signals to the bus.
21606 Added helper BusFunc to emit signals for all posted messages.
21608 * gst/gstmessage.c: (gst_message_type_get_name),
21609 (gst_message_type_to_quark), (gst_message_get_type):
21610 * gst/gstmessage.h:
21611 Register quarks for message names.
21613 2005-09-28 Stefan Kost <ensonic@users.sf.net>
21615 * docs/libs/gstreamer-libs-sections.txt:
21616 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
21617 (gst_controller_new_list):
21618 * libs/gst/controller/gstcontroller.h:
21619 added another constructor for language bindings
21621 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
21623 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21627 * gst/gstinfo.c: (_gst_debug_init):
21628 slightly more readable color for refcount debugging
21630 2005-09-28 Wim Taymans <wim@fluendo.com>
21632 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
21633 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
21634 (find_element), (gst_bin_sort_iterator_next),
21635 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21636 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21637 (gst_bin_change_state), (gst_bin_dispose):
21638 Small doc fixes. get_clock -> provide_clock.
21640 * gst/gstelement.c: (gst_element_class_init),
21641 (gst_element_provides_clock), (gst_element_provide_clock),
21642 (gst_element_get_clock), (gst_element_commit_state),
21643 (gst_element_lost_state):
21644 * gst/gstelement.h:
21645 Make get/set_clock() symetric. Add provide_clock vmethod since
21646 that is actually what this function does.
21648 * gst/gstpipeline.c: (gst_pipeline_class_init),
21649 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
21650 (gst_pipeline_get_clock):
21651 get_clock -> provide_clock.
21653 2005-09-28 Andy Wingo <wingo@pobox.com>
21655 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
21656 lieu of real docs...
21658 * gst/elements/gstfdsrc.c: Cleaned up a bit.
21660 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
21662 * gst/elements/gstcapsfilter.c:
21663 * gst/elements/gstfakesink.c:
21664 * gst/elements/gstfakesrc.c:
21665 * gst/elements/gstfdsink.c:
21666 * gst/elements/gstfdsrc.c:
21667 * gst/elements/gstfilesink.c:
21668 * gst/elements/gstfilesrc.c:
21669 * gst/elements/gstidentity.c:
21670 * gst/elements/gsttee.c:
21671 * gst/elements/gsttypefindelement.c:
21672 Make element details static.
21674 2005-09-28 Wim Taymans <wim@fluendo.com>
21676 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
21677 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
21678 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21679 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21680 (gst_bin_change_state), (gst_bin_dispose):
21681 Some documentation updates.
21682 Clean up dispose handlers.
21684 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
21685 * gst/gstpad.c: (gst_pad_dispose):
21686 Clean up dispose handler.
21688 * gst/gstpipeline.c: (gst_pipeline_change_state):
21689 Removed spurious UNLOCK.
21691 2005-09-27 Stefan Kost <ensonic@users.sf.net>
21693 * docs/gst/gstreamer-sections.txt:
21694 * gst/base/gstbasesrc.h:
21695 * gst/gstelement.h:
21699 * gst/gstpipeline.c:
21700 * gst/gstpipeline.h:
21703 added two new functions to the docs
21704 documents all undocumented GstXXXFlags
21705 completed some incomplete docs
21707 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
21709 * gst/gstbin.c: (gst_bin_dispose):
21710 * gst/gstelement.c: (gst_element_dispose):
21711 remove now useless and leaky resurrection code in dispose
21712 * gst/base/gstbasesrc.c: (gst_base_src_init):
21713 * gst/gstelementfactory.c: (gst_element_factory_create):
21714 * gst/gstobject.c: (gst_object_set_parent):
21717 2005-09-27 Wim Taymans <wim@fluendo.com>
21719 * docs/design/part-TODO.txt:
21722 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
21723 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
21724 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21725 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21726 (gst_bin_change_state):
21727 * gst/gstelement.h:
21728 Remove element variable, we keep element info in the iterator now.
21730 2005-09-27 Andy Wingo <wingo@pobox.com>
21732 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
21735 2005-09-27 Wim Taymans <wim@fluendo.com>
21737 * check/gst/gstbin.c: (GST_START_TEST):
21738 Enable check that works now.
21740 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
21741 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
21742 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
21743 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
21744 (gst_bin_change_state):
21746 Redid the state change algorithm using a topological sort algo.
21747 Handles all cases correctly.
21748 Exposed iterator for state change order.
21750 * gst/gstelement.h:
21751 Temp storage for state changes. Need to get rid of this soon.
21753 2005-09-27 Wim Taymans <wim@fluendo.com>
21755 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
21756 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
21757 (link_fold_func), (gst_pad_proxy_setcaps):
21758 Leak fixes, the fold functions need to unref the passed object and
21759 _get_parent_*() returns ref to parent.
21761 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
21763 * check/gst/gstbuffer.c: (test_make_writable):
21764 Plug leak in test case and fix 'make check-valgrind'
21766 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
21768 * gst/gstbuffer.c: (gst_subbuffer_init):
21769 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
21770 works correctly in all circumstances (we could have just copied
21771 the parent buffer's readonly flag, but conceptually it seems
21772 cleaner to mark all subbuffers as read-only). (based on patch
21773 by Alessandro Decina, #314710).
21775 * check/gst/gstbuffer.c: (create_read_only_buffer),
21776 (test_make_writable), (test_subbuffer_make_writable),
21778 Add some tests for gst_buffer_make_writable().
21780 2005-09-27 Wim Taymans <wim@fluendo.com>
21782 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
21783 use gst_object_has_ancestor().
21785 * gst/gstobject.c: (gst_object_has_ancestor):
21787 gst_object_has_ancestor() copied from gstbin.c as it is a
21790 * tests/instantiate/create.c: (create_all_elements):
21791 * tests/lat.c: (handoff_src), (handoff_sink):
21792 * tests/sched/runxml.c: (main):
21793 * tests/seeking/seeking1.c: (main):
21794 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
21796 Fix compilation of some tests.
21798 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
21801 Remove comment. GST_TYPE_G_ERROR is here to stay,
21802 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
21803 (#316961, #300610).
21805 2005-09-26 Wim Taymans <wim@fluendo.com>
21807 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
21808 Added check that shows error in state change order.
21810 2005-09-26 Wim Taymans <wim@fluendo.com>
21812 * gst/gstbin.c: (gst_bin_change_state):
21813 Make state change function use 3 queues again, we were
21814 adding elements in the wrong order.
21816 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
21819 * gst/gstpad.c: (gst_pad_dispose):
21820 Added some debug info first.
21822 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
21824 * docs/design/draft-push-pull.txt:
21825 * docs/design/part-events.txt:
21826 * docs/design/part-overview.txt:
21827 * docs/design/part-scheduling.txt:
21828 Replace all _pull_region() with _pull_range()
21830 2005-09-26 Andy Wingo <wingo@pobox.com>
21832 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
21834 * check/gst-libs/controller.c: Update for controller api change.
21837 * tests/Makefile.am:
21838 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
21839 over by GLib bug 118439.
21841 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
21842 routines to a function.
21844 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
21846 * libs/gst/controller/gsthelper.c:
21847 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
21848 (gst_object_sync_values): Renamed from sink_values. Ugh.
21850 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
21852 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
21853 Renamed from controller_key, as it is exported.
21855 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
21857 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
21862 * gst/gstpadtemplate.h:
21865 * gst/gstqueryutils.c:
21866 * gst/gstqueryutils.h:
21867 remove queryutils headers after moving the two used functions
21868 to gstquery. also fixes build problem for gstsiddec
21870 2005-09-26 Michael Smith <msmith@fluendo.com>
21872 * tools/gst-launch.1.in:
21873 Correct documentation in manpage of debug syntax
21875 2005-09-26 Wim Taymans <wim@fluendo.com>
21877 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
21878 (gst_base_src_is_seekable), (gst_base_src_change_state):
21879 Some more debugging info.
21881 2005-09-25 Stefan Kost <ensonic@users.sf.net>
21883 * docs/gst/gstreamer-sections.txt:
21884 * gst/base/gstbasetransform.h:
21888 2005-09-25 Stefan Kost <ensonic@users.sf.net>
21890 * docs/gst/.cvsignore:
21891 * docs/gst/tmpl/.cvsignore:
21892 * docs/gst/tmpl/gstpipeline.sgml:
21893 * docs/gst/tmpl/gstplugin.sgml:
21894 * gst/gstpipeline.c:
21897 inlined the last two docs files
21898 removed the tmpl directory from cvs (no more conflicts here!)
21900 2005-09-25 Stefan Kost <ensonic@users.sf.net>
21902 * docs/gst/gstreamer-sections.txt:
21903 * docs/gst/tmpl/.cvsignore:
21904 * docs/gst/tmpl/gstpad.sgml:
21905 * docs/gst/tmpl/gstpadtemplate.sgml:
21907 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
21908 (gst_pad_finalize), (gst_pad_set_pad_template):
21910 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
21911 (gst_pad_template_class_init), (gst_pad_template_init),
21912 (gst_pad_template_dispose), (name_is_valid),
21913 (gst_static_pad_template_get), (gst_pad_template_new),
21914 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
21915 (gst_pad_template_pad_created):
21916 * gst/gstpadtemplate.h:
21917 inlined two more docs
21918 factored gstpadtemplate out of gstpad
21920 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
21922 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
21923 (test_children_state_change_order_semi_sink):
21924 Fix test case: we can't rely on a fixed state change order when
21925 going from READY => PAUSED because the sink might commit its
21926 new state first when the first buffer created by the source
21927 reaches the sink before the source has finished its change state.
21928 (Test case still fails at times, see #316856, comment 5 onwards)
21930 2005-09-24 Wim Taymans <wim@fluendo.com>
21932 * docs/design/part-events.txt:
21933 * docs/design/part-gstbus.txt:
21934 * docs/design/part-gstpipeline.txt:
21935 * docs/design/part-messages.txt:
21936 * docs/design/part-overview.txt:
21937 * docs/design/part-segments.txt:
21941 * gst/gstelement.c:
21944 * gst/gstiterator.c:
21945 Various documentation updates.
21947 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
21950 Well, that's embarassing. Luckily we weren't using
21951 GST_CLOCK_DIFF anywhere.
21953 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
21955 * common/gtk-doc.mak:
21956 don't fail on building XML, FC4 slave shows a bunch of doc
21957 missing bits that I don't get
21959 * gst/gstpipeline.c:
21960 * gst/gststructure.c:
21963 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
21965 * docs/design/part-gstbin.txt:
21966 * docs/design/part-gstbus.txt:
21968 Add blurb about how the bus goes into flushing mode and
21969 drops all messages when its bin goes from READY into NULL
21972 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
21974 * docs/gst/gstreamer-sections.txt:
21975 * gst/gststructure.c: (gst_structure_get_clock_time):
21976 * gst/gststructure.h:
21977 add a method to get a GstClockTime out of a structure
21979 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
21981 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
21982 (test_children_state_change_order_semi_sink), (gst_bin_suite):
21983 Added test to check state change order in bins (can still be made
21984 to fail here under heavy disk load; bails out with 'Push on pad
21985 fakesink:sink0, but it was not activated in push mode').
21987 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
21988 Fix state change order when there is only a semi sink (#316856)
21990 * gst/gstbus.c: (gst_bus_class_init):
21991 Use _class_peek_parent(), not _class_ref(); fix docs to say
21992 'default main context' instead of 'mainloop' where that is
21995 * gst/gstelement.c: (gst_element_commit_state),
21996 (gst_element_set_state):
21997 Fix typos in debug messages
21999 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
22002 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
22003 * gst/gstpluginfeature.c:
22005 various doc updates
22006 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22007 change an assert into an error until it gets fixed properly
22009 2005-09-23 Stefan Kost <ensonic@users.sf.net>
22011 * docs/gst/gstreamer-sections.txt:
22012 * docs/gst/tmpl/.cvsignore:
22013 * docs/gst/tmpl/gstelement.sgml:
22014 * docs/gst/tmpl/gstinfo.sgml:
22015 * docs/gst/tmpl/gstobject.sgml:
22016 * gst/gstelement.c:
22017 * gst/gstelement.h:
22020 * gst/gstobject.c: (gst_object_class_init):
22022 inlined 3 more biiiig doc files and added some missing docs on the fly
22024 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
22026 * check/gst/.cvsignore:
22027 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
22028 * gst/gstregistryxml.c: (load_plugin),
22029 (gst_registry_xml_save_plugin):
22030 put back source in registry. add checks for find_plugin.
22031 * testsuite/states/bin.c: (assert_state), (empty_bin),
22032 (test_adding_one_element), (main):
22033 * testsuite/states/locked.c: (main):
22034 some compile/run fixes
22036 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
22038 * check/gst/gstvalue.c: (GST_START_TEST):
22039 fix leaks in the test itself
22041 2005-09-22 Wim Taymans <wim@fluendo.com>
22043 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
22044 (gst_base_sink_send_event), (gst_base_sink_peer_query),
22045 (gst_base_sink_query):
22046 Prepare for more accurate position reporting and query
22049 * gst/gstelement.c: (gst_element_send_event),
22050 (gst_element_set_state):
22053 2005-09-22 Wim Taymans <wim@fluendo.com>
22055 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
22056 (gst_query_parse_segment):
22058 More documentation.
22059 Add segment query for future use.
22061 2005-09-22 Wim Taymans <wim@fluendo.com>
22063 * gst/gstbin.c: (gst_bin_add_func):
22064 Some more debug info.
22066 * gst/gstelement.c: (gst_element_send_event):
22067 Simplify send_event
22069 * gst/gstelement.h:
22070 Don't know how flags got broken.
22075 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
22077 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
22078 Add simplistic test suite for GST_TYPE_DATE serialisation and
22081 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
22083 * docs/gst/gstreamer-sections.txt:
22084 * gst/gststructure.c: (gst_structure_set_valist),
22085 (gst_structure_get_date):
22086 * gst/gststructure.h:
22087 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
22088 (gst_date_copy), (gst_value_compare_date),
22089 (gst_value_serialize_date), (gst_value_deserialize_date),
22090 (gst_value_transform_date_string),
22091 (gst_value_transform_string_date), (_gst_value_initialize):
22093 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
22094 bunch of utility functions along with a hack that checks that
22095 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
22096 is required. Part of the grand scheme in #170777.
22098 2005-09-22 Andy Wingo <wingo@pobox.com>
22100 * gst/gstconfig.h.in: Psych out gtk-doc.
22102 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
22104 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
22106 * tools/gst-inspect.c (print_element_list): Plug some
22107 inconsequential leaks.
22109 * gst/gstregistry.c (gst_registry_get_default): Doc.
22111 * check/gst/gstplugin.c:
22112 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
22113 * gst/gstelementfactory.c (gst_element_factory_create):
22114 * gst/gstindexfactory.c (gst_index_factory_create): Update for
22117 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
22118 (gst_plugin_feature_load): Doc, don't eat refs.
22120 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
22121 (gst_plugin_list_free): Doc.
22122 (gst_plugin_load_file): Doc updates.
22124 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
22125 accessors returning refcounted objects, return a ref.
22127 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
22128 accessor for caps. IDEMPOTENCE. Oh yes.
22130 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
22132 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
22134 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
22135 (_gst_debug_register_funcptr):
22136 Add mutex to serialise access to the hash table with
22137 the function pointer => function name string mapping;
22138 make that hash table static scope (#316809).
22140 * gst/registries/.cvsignore:
22141 Remove left-over file.
22143 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
22145 * docs/pwg/appendix-porting.xml:
22146 And something about newsegment events and caps-on-buffers to
22147 the porting guide (feel free to improve).
22149 2005-09-21 Andy Wingo <wingo@pobox.com>
22151 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
22152 data and event probes on the same pad.
22153 (test_buffer_probe_once): Test that removing probes from within
22154 the probe functions works.
22156 2005-09-21 Andy Wingo <wingo@pobox.com>
22158 * check/gst/gstutils.c: New file.
22159 (test_buffer_probe_n_times): A simple buffer probe test. More to
22162 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
22163 have-data::buffer, not have-data.
22164 (gst_pad_add_event_probe): Likewise for have-data::event.
22165 (gst_pad_add_data_probe): More docs. The part about 'resolving the
22166 peer' isn't quite right yet though.
22167 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
22168 (gst_pad_remove_data_probe): Change to take the guint handler_id
22169 as their arg, not the function+data, which is more glib-like.
22171 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
22172 the signal emission to indicate if the data is a buffer or an
22174 (gst_pad_get_type): Initialize buffer and event quarks.
22175 (gst_pad_class_init): have-data is now a detailed signal, yes it
22178 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
22180 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
22181 * gst/gstutils.c: (gst_util_set_value_from_string),
22182 (gst_util_set_object_arg):
22183 Don't put functional code in g_return_if_fail() or
22184 g_return_val_if_fail() statements, otherwise things will
22185 break when G_DISABLE_CHECKS is defined during compilation.
22187 2005-09-21 Stefan Kost <ensonic@users.sf.net>
22189 * docs/gst/tmpl/.cvsignore:
22190 * docs/gst/tmpl/gstvalue.sgml:
22193 inlied another one and added some obvious docs
22195 2005-09-21 Wim Taymans <wim@fluendo.com>
22197 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
22198 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
22199 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
22200 (gst_fdsrc_get_property), (gst_fdsrc_create):
22201 * gst/elements/gstfdsrc.h:
22202 Properly implement fdsrc. Removed signal and timeout,
22203 better implemented somewhere else.
22205 2005-09-21 Stefan Kost <ensonic@users.sf.net>
22207 * docs/gst/tmpl/.cvsignore:
22208 * docs/gst/tmpl/gstimplementsinterface.sgml:
22209 * gst/gstinterface.c:
22212 2005-09-21 Stefan Kost <ensonic@users.sf.net>
22214 * docs/gst/gstreamer-sections.txt:
22215 * docs/gst/tmpl/.cvsignore:
22216 * docs/gst/tmpl/gstenumtypes.sgml:
22217 remove obsolete doc file
22219 2005-09-21 David Schleef <ds@schleef.org>
22221 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
22222 little beer, fix a little leak.
22224 2005-09-21 Stefan Kost <ensonic@users.sf.net>
22226 * docs/gst/gstreamer-docs.sgml:
22227 * docs/gst/gstreamer-sections.txt:
22228 * docs/gst/tmpl/.cvsignore:
22232 * gst/gstelement.h:
22233 * gst/gstindex.c: (gst_index_class_init):
22235 * gst/gstindexfactory.c: (gst_index_factory_get_type),
22236 (gst_index_factory_class_init), (gst_index_factory_init),
22237 (gst_index_factory_finalize), (gst_index_factory_new),
22238 (gst_index_factory_destroy), (gst_index_factory_find),
22239 (gst_index_factory_create), (gst_index_factory_make):
22240 * gst/gstindexfactory.h:
22241 * gst/gstpluginfeature.c:
22242 * gst/gstpluginfeature.h:
22243 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22244 more docs inlined, splitted gstindex.{c,h}
22246 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
22248 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22251 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
22253 * gst/elements/gstfilesink.c: (gst_file_sink_init):
22254 Set sync to FALSE by default.
22256 2005-09-20 Wim Taymans <wim@fluendo.com>
22258 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
22259 (gst_base_sink_init):
22260 Make sync property settable from subclass.
22262 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
22263 (gst_fake_sink_change_state):
22264 Set sync to FALSE by default.
22266 2005-09-20 Wim Taymans <wim@fluendo.com>
22268 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
22269 * tools/gst-launch.c: (main):
22270 The timeout handler should have lower priority than the source
22271 so we don't timeout before popping a message with 0 timeout.
22272 Dump error messages after failed state change.
22274 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
22276 * tools/gst-inspect.c: (print_element_properties_info):
22279 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
22281 * check/gst/gstevent.c:
22282 * gst/elements/gstfakesink.c:
22283 * gst/elements/gstfakesink.h:
22284 remove the sync property from fakesink.
22285 has the side effect of setting sync TRUE
22286 for fakesink, which is a change. Anyone who knows how
22287 to fix this nicely in a GObject-y way, feel free.
22289 2005-09-20 Stefan Kost <ensonic@users.sf.net>
22291 * docs/gst/gstreamer-docs.sgml:
22292 remove probe refsection
22294 2005-09-20 Stefan Kost <ensonic@users.sf.net>
22296 * check/Makefile.am:
22297 disable valgrinding the controller test again
22298 * docs/gst/gstreamer-sections.txt:
22299 update for api-changes
22301 2005-09-20 Wim Taymans <wim@fluendo.com>
22303 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
22304 (gst_base_sink_set_property), (gst_base_sink_get_property),
22305 (gst_base_sink_do_sync):
22306 * gst/base/gstbasesink.h:
22307 Added sync property to basesink to disable clock sync.
22309 2005-09-20 Andy Wingo <wingo@pobox.com>
22311 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
22312 eating the caller's refcount.
22314 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
22315 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
22318 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
22319 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
22320 of GLib 2.8 public, so we can know which refcount to check in
22323 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
22324 (gst_object_init): Only set the gst refcount if we're going ahead
22325 with the refcount hack.
22327 2005-09-20 Stefan Kost <ensonic@users.sf.net>
22329 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
22330 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22331 more leaks plumbed, added more debug-logging
22335 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
22337 * gst/gstmessage.c:
22338 remove include of gstmemchunk.h
22340 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
22342 * gst/gstclock.c: (_gst_clock_id_free):
22343 Commit from the Political Party For More Atomic CVS Commits,
22344 so that people don't waste too much of their day fishing
22345 out obvious leaks out of massive commits.
22346 Oh, and fix a pretty damn obvious leak in the memchunk
22349 2005-09-20 Stefan Kost <ensonic@users.sf.net>
22351 * check/Makefile.am:
22352 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
22353 plug mem-leak, re-add to valgrindable tests
22355 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
22358 unbreak the build for those who have chronic arthritis
22359 and typing "make check" is just too taxing on the hands
22361 2005-09-20 Andy Wingo <wingo@pobox.com>
22363 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
22364 really want it out, you should fix plugins at the same time.
22366 2005-09-19 Stefan Kost <ensonic@users.sf.net>
22369 * docs/gst/gstreamer-sections.txt:
22371 added missing symbols to api docs
22372 disable ref-count hack if we have glib >= 2.8
22374 2005-09-19 David Schleef <ds@schleef.org>
22376 * docs/gst/Makefile.am: Ignore a few more internal headers
22377 * docs/gst/gstreamer-docs.sgml: Remove old sections
22378 * docs/gst/gstreamer-sections.txt: Remove old sections
22379 * docs/gst/tmpl/gstobject.sgml: update
22380 * docs/gst/tmpl/gstplugin.sgml: update
22381 * docs/gst/tmpl/gstpluginfeature.sgml: update
22382 * docs/random/ds/0.9-suggested-changes: update.
22383 * gst/Makefile.am: remove memchunk and trashstack, since they're
22385 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
22386 * gst/gst.h: don't include some headers
22387 * gst/gstchildproxy.c: add gstmarshal.h
22388 * gst/gstclock.c: Don't use memchunks
22389 * gst/gstminiobject.c: Add some docs
22390 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
22391 * gst/gstobject.h: same
22392 * gst/gstplugin.c: include gstmacros.h
22393 * gst/gstplugin.h: don't include gstmacros.h, since it's private
22394 * gst/gstquery.c: don't use memchunks
22395 * gst/gstregistry.c: rename gst_registry_deinit()
22396 * gst/gstregistry.h: same
22398 2005-09-19 David Schleef <ds@schleef.org>
22400 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
22401 * docs/libs/gstreamer-libs-sections.txt:
22402 * docs/libs/tmpl/gstgetbits.sgml:
22403 * docs/libs/tmpl/gstputbits.sgml:
22405 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
22407 * win32/gstenumtypes.c:
22408 * win32/gstenumtypes.h:
22411 2005-09-19 Wim Taymans <wim@fluendo.com>
22413 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
22414 Automatically PAUSE and RESUME a pipeline when a flushing seek
22417 2005-09-19 Andy Wingo <wingo@pobox.com>
22419 * gst/gstregistry.h: Spacing fixen.
22421 2005-09-19 Wim Taymans <wim@fluendo.com>
22423 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
22424 Handle state change failure more correctly.
22426 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
22428 * check/Makefile.am:
22429 * check/pipelines/cleanup.c: (run_pipeline):
22430 * check/pipelines/simple_launch_lines.c: (run_pipeline),
22432 enable cleanup again after fixing the leak
22434 some more info on docs
22436 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
22438 * check/Makefile.am:
22439 re-enable tests now that leaks are plugged
22441 * check/gst/gstbin.c:
22442 * check/gst/gstpipeline.c:
22443 add some more tests while fixing leaks
22444 * common/check.mak:
22445 make sure binaries are uptodate when valgrinding/gdbing
22447 * gst/gstelementfactory.c:
22448 remove a ref too many, and add a FIXME for when we get
22449 round to disposing of classes
22451 fix the refcounting when loading a plugin from a file and
22452 the code pretends that the pointer is the same even though
22453 of course it can change
22454 * gst/gstpluginfeature.c:
22455 unref plugins marked cached (a bit confusing as a name)
22456 as the docs state should be done
22457 various doc additions to explain refcounting
22458 * gst/gstregistry.c:
22459 * gst/gstregistryxml.c:
22462 2005-09-19 Wim Taymans <wim@fluendo.com>
22464 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
22465 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
22466 (send_messages), (GST_START_TEST), (gstbus_suite):
22467 * check/gst/gstpipeline.c: (GST_START_TEST):
22468 * check/pipelines/cleanup.c: (run_pipeline):
22469 * check/pipelines/simple_launch_lines.c: (run_pipeline),
22471 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
22472 (gst_bus_source_check), (gst_bus_source_dispatch),
22473 (gst_bus_create_watch), (gst_bus_add_watch_full),
22474 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
22476 * tools/gst-launch.c: (event_loop):
22477 * tools/gst-md5sum.c: (event_loop):
22478 GstBusHandler -> GstBusFunc, return value has the same meaning as
22479 any other GSource (FALSE == remove source).
22480 _add_watch() and _add_watch_full() now take a MessageType mask to
22481 only handle specific types of messages.
22482 _poll() returns the GstMessage instead of the message type to avoid
22484 _have_pending() takes a MessageType mask now too.
22485 Added testsuite for multiple bus watches.
22486 Fix testsuites and applications for new bus API.
22488 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
22490 * check/Makefile.am:
22491 mark a bunch of the tests as to fix until we fix them
22493 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
22495 * common/check.mak:
22496 use GST_PLUGIN settings for valgrind tests as well, so we're
22497 valgrinding the correct thing
22498 * gst/gst.c: (init_post):
22501 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
22503 * gst/gst.c: (init_post), (gst_deinit):
22504 * gst/gstelementfactory.c: (gst_element_factory_class_init),
22505 (gst_element_factory_finalize), (gst_element_factory_cleanup):
22506 * gst/gstindex.c: (gst_index_factory_class_init),
22507 (gst_index_factory_finalize):
22508 * gst/gstobject.c: (gst_object_dispose):
22509 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
22510 (gst_plugin_load_file), (gst_plugin_desc_free):
22511 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
22512 (gst_plugin_feature_finalize):
22513 * gst/gstregistry.c: (gst_registry_class_init),
22514 (gst_registry_init), (gst_registry_finalize),
22515 (gst_registry_get_default), (gst_registry_deinit):
22516 * gst/gstregistry.h:
22517 * gst/gstregistryxml.c: (load_feature), (load_plugin):
22518 various cleanups and memleak plugging. make valgrind is happy now.
22520 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
22522 * common/check.mak:
22523 add a check-valgrind target
22525 2005-09-18 David Schleef <ds@schleef.org>
22527 * tools/gst-inspect.c: Revert the GOption code.
22529 2005-09-17 David Schleef <ds@schleef.org>
22531 * check/Makefile.am: Fix environment variables.
22532 * check/gst/gstplugin.c: Fix for API changes.
22533 * tools/gst-inspect.c: Fix for API changes.
22534 * tools/gst-xmlinspect.c: Fix for API changes.
22535 * gst/gstelementfactory.c:
22538 * gst/gstpluginfeature.c:
22539 * gst/gstpluginfeature.h:
22540 * gst/gstregistry.c:
22541 * gst/gstregistry.h:
22542 * gst/gstregistryxml.c:
22543 * gst/gsttypefind.c:
22544 * gst/gsttypefindfactory.c:
22545 * gst/indexers/gstfileindex.c:
22546 * gst/indexers/gstmemindex.c:
22547 * gst/schedulers/Makefile.am:
22548 Change registry to keep track of both plugins and features,
22549 removing the feature tracking from plugins themselves.
22551 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
22553 * check/Makefile.am:
22554 * tools/gst-register.1.in:
22555 remove gst-register
22557 2005-09-15 David Schleef <ds@schleef.org>
22559 * check/gst/gstplugin.c:
22560 * gst/gstelementfactory.c:
22562 * gst/gstpluginfeature.c:
22563 * gst/gstregistry.c:
22564 Getting tired of debugging. Disabled all the unreffing of
22565 plugins and features, which fixes the segfaults, but of
22566 course leaks like crazy. At least playbin works.
22568 2005-09-15 David Schleef <ds@schleef.org>
22570 * check/gst/gstplugin.c: (register_check_elements),
22571 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
22573 * gst/elements/gsttypefindelement.c: Fix refcounting.
22574 * gst/gsttypefind.c:
22575 * gst/gsttypefindfactory.c:
22576 * gst/gsttypefindfactory.h:
22578 2005-09-15 David Schleef <ds@schleef.org>
22580 * gst/gstindex.c: get refcounting correct.
22581 * gst/gstregistry.c: Handle the case where a feature/plugin is
22584 2005-09-15 David Schleef <ds@schleef.org>
22586 * check/Makefile.am:
22587 * check/gst/gstplugin.c: Add test
22588 * gst/gstplugin.c: Fix problems noticed by testsuite
22590 * gst/gstregistry.c:
22591 * gst/gstregistry.h:
22593 2005-09-15 David Schleef <ds@schleef.org>
22595 * gst/gstplugin.c: Implement semi-decent recounting and locking
22596 in plugins and plugin features.
22598 * gst/gstpluginfeature.c:
22599 * gst/gstpluginfeature.h:
22600 * gst/gstregistry.c:
22602 2005-09-15 Michael Smith <msmith@fluendo.com>
22604 * gst/gstregistry.c: (gst_registry_get_feature_list):
22605 Implement this. Makes oggdemux work; decodebin still broken.
22607 2005-09-14 David Schleef <ds@schleef.org>
22609 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
22611 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
22612 * gst/check/Makefile.am:
22613 * libs/gst/controller/Makefile.am:
22614 * libs/gst/dataprotocol/Makefile.am:
22616 2005-09-14 David Schleef <ds@schleef.org>
22618 * configure.ac: Remove getbits library. Nothing uses it, and
22619 it should be in something like liboil if someone did want
22621 * libs/gst/Makefile.am:
22622 * libs/gst/getbits/Makefile.am:
22623 * libs/gst/getbits/gbtest.c:
22624 * libs/gst/getbits/getbits.c:
22625 * libs/gst/getbits/getbits.h:
22626 * libs/gst/getbits/gstgetbits_generic.c:
22627 * libs/gst/getbits/gstgetbits_i386.s:
22628 * libs/gst/getbits/gstgetbits_inl.h:
22630 2005-09-14 David Schleef <ds@schleef.org>
22632 * gst/Makefile.am: Dist glib-compat.h
22634 2005-09-14 David Schleef <ds@schleef.org>
22636 * configure.ac: Remove gst/registries, since it's no longer used.
22637 * gst/registries/Makefile.am:
22638 * gst/registries/gstlibxmlregistry.c:
22639 * gst/registries/gstlibxmlregistry.h:
22640 * gst/registries/gstxmlregistry.c:
22641 * gst/registries/gstxmlregistry.h:
22642 * gst/registries/registrytest.c:
22644 2005-09-14 David Schleef <ds@schleef.org>
22646 * gst/glib-compat.h:
22647 * gst/gstregistryxml.c:
22648 Convergence is near. Seriously.
22650 2005-09-14 David Schleef <ds@schleef.org>
22652 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22653 * gst/glib-compat.h:
22654 Attempt #4 to appease the buildbots.
22656 2005-09-14 David Schleef <ds@schleef.org>
22658 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22661 2005-09-14 David Schleef <ds@schleef.org>
22663 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22666 2005-09-14 David Schleef <ds@schleef.org>
22668 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
22671 2005-09-14 David Schleef <ds@schleef.org>
22673 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
22674 * gst/glib-compat.h: Add some functions that are in newer versions
22675 of glib than we care to require.
22676 * gst/gstregistryxml.c: Use them.
22678 2005-09-14 David Schleef <ds@schleef.org>
22680 * po/POTFILES.in: remove gst-register.c
22682 2005-09-14 David Schleef <ds@schleef.org>
22684 * docs/gst/gstreamer-docs.sgml:
22685 * docs/gst/gstreamer-sections.txt:
22686 * docs/gst/gstreamer.types:
22687 * docs/gst/tmpl/gstelement.sgml:
22688 * docs/gst/tmpl/gstplugin.sgml:
22689 * docs/gst/tmpl/gstpluginfeature.sgml:
22690 Documentation updates for registry changes.
22692 2005-09-14 David Schleef <ds@schleef.org>
22694 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
22695 because we don't require glib-2.8.
22697 2005-09-14 David Schleef <ds@schleef.org>
22699 * gst/gstregistryxml.c: Added. Essentially moved out of the
22700 registries directory.
22702 2005-09-14 David Schleef <ds@schleef.org>
22704 * check/Makefile.am:
22705 * check/generic/states.c:
22709 * gst/gst_private.h:
22710 * gst/gstelementfactory.c:
22715 * gst/gstpluginfeature.c:
22716 * gst/gstpluginfeature.h:
22717 * gst/gstregistry.c:
22718 * gst/gstregistry.h:
22719 * gst/gstregistrypool.c: remove
22720 * gst/gstregistrypool.h: remove
22721 * gst/gsttypefind.c:
22722 * gst/gsttypefindfactory.c:
22724 * tools/Makefile.am:
22725 * tools/gst-compprep.c:
22726 * tools/gst-inspect.c:
22727 * tools/gst-register.c: remove
22728 * tools/gst-xmlinspect.c:
22729 Registry rewrite. Changes registry from being a file created
22730 by a tool into a simple cache file created automatically by
22731 libgstreamer. Removed gst-register (because it's no longer
22732 needed). Remove registry pools, because we only have one
22733 registry implementation (XML). Fix up other subsystems as
22736 2005-09-13 Michael Smith <msmith@fluendo.com>
22738 * gst/gstconfig.h.in:
22739 Don't Use windows linking attributes for MinGW. Fixes #316157
22741 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
22743 * gst/gstutils.c: (set_state_async_thread_func),
22744 (gst_element_set_state_async):
22745 Apparently people think it's better if this function doesn't
22746 try to set the state to whatever state was asked for on the first
22747 call to this function for any object. Seriously.
22749 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
22751 * check/gst/gstpipeline.c: (GST_START_TEST):
22752 * docs/gst/gstreamer-sections.txt:
22753 * gst/gstutils.c: (set_state_async_thread_func),
22754 (gst_element_set_state_async):
22756 add a "gst_element_set_state_async" method that
22757 sets the state and starts a thread to make sure the state
22758 change completes as best as it can
22760 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
22762 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
22763 codify design+behaviour in testsuite after discussion
22765 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
22767 * docs/gst/tmpl/gstelement.sgml:
22768 * docs/manual/appendix-quotes.xml:
22770 * gst/gstelement.c: (gst_element_set_state):
22773 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
22775 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22776 (gst_base_transform_prepare_output_buf),
22777 (gst_base_transform_handle_buffer):
22778 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
22779 (gst_capsfilter_prepare_buf):
22780 Remove the requirement for sub-classes to call the parent
22781 implementation of prepare_output_buffer with a wrapper function.
22783 * gst/gsttaglist.h:
22784 * gst/gsttagsetter.h:
22785 Fix #define wrapper
22787 2005-09-11 Stefan Kost <ensonic@users.sf.net>
22789 * docs/gst/gstreamer-sections.txt:
22792 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
22794 * docs/gst/gstreamer-sections.txt:
22795 * docs/gst/tmpl/gstelement.sgml:
22796 * docs/gst/tmpl/gstplugin.sgml:
22797 * gst/gstminiobject.c:
22799 docs now stop throwing warnings
22801 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
22803 * docs/gst/gstreamer-sections.txt:
22804 * docs/gst/gstreamer.types:
22805 * docs/gst/tmpl/gstpad.sgml:
22806 * docs/gst/tmpl/gsttypes.sgml:
22807 * gst/base/gstadapter.h:
22808 * gst/base/gstbasesink.h:
22809 * gst/base/gstbasesrc.h:
22815 * gst/gstelement.h:
22817 * gst/gstmessage.h:
22819 * gst/gststructure.c:
22820 * gst/registries/gstlibxmlregistry.h:
22821 various documentation fixes
22823 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
22825 * docs/gst/gstreamer-sections.txt:
22826 * docs/gst/tmpl/gstvalue.sgml:
22827 rearrange gstvalue section
22828 * gst/gstutils.c: (gst_element_state_get_name):
22830 * gst/gstvalue.c: (_gst_value_initialize):
22834 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
22836 * check/gst-libs/controller.c:
22837 Header include fix.
22838 * gst/base/gstbasetransform.c:
22839 (gst_base_transform_default_prepare_buf),
22840 (gst_base_transform_handle_buffer):
22841 * gst/base/gstbasetransform.h:
22842 Some more basetransform changes and fixes to enable sub-classes
22843 that modify buffer metadata only.
22844 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
22845 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
22846 (gst_capsfilter_prepare_buf):
22847 If the output pad has fixed allowed caps and input buffers
22848 don't have any, set the fixed caps on outgoing buffers.
22850 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
22851 * check/elements/identity.c: (GST_START_TEST):
22852 Make the error a little clearer when the test fails because
22853 identity made a copy of the buffer.
22854 * docs/gst/gstreamer-sections.txt:
22855 New symbols in gstbasetransform.h
22856 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22857 (gst_base_transform_init), (gst_base_transform_transform_size),
22858 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22859 (gst_base_transform_default_prepare_buf),
22860 (gst_base_transform_get_unit_size),
22861 (gst_base_transform_buffer_alloc),
22862 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
22863 (gst_base_transform_change_state),
22864 (gst_base_transform_set_passthrough),
22865 (gst_base_transform_set_in_place),
22866 (gst_base_transform_is_in_place):
22867 * gst/base/gstbasetransform.h:
22868 Change BaseTransform to separate in_place operate from same_caps
22869 output. in_place implies that the element can perform the transform
22870 on incoming buffers in-place, even if the caps on the output are
22872 Sub-class elements can now implement special buffer allocation
22873 methods for outgoing buffers if they wish to.
22874 Big documentation addition.
22875 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
22876 * gst/elements/gstelements.c:
22877 Changes for basetransform modifications.
22878 * gst/elements/Makefile.am:
22879 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
22880 Compile fix. Extra debug output.
22882 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
22884 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
22886 add tests for valid pad naming
22887 * gst/check/gstcheck.c: (gst_check_log_message_func),
22888 (gst_check_log_critical_func):
22890 remove printing of code, it is fragile when the code contains
22891 % and the line number is enough info
22892 * gst/check/gstcheck.h:
22893 * gst/gstpad.c: (gst_pad_template_new):
22896 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
22899 say what CHECK flags we use
22900 * docs/libs/gstreamer-libs.types:
22901 * libs/gst/controller/Makefile.am:
22902 * libs/gst/controller/gst-controller.c:
22903 * libs/gst/controller/gst-controller.h:
22904 * libs/gst/controller/gst-helper.c:
22905 * libs/gst/controller/gst-interpolation.c:
22906 * libs/gst/controller/gstcontroller.c:
22907 * libs/gst/controller/gsthelper.c:
22908 * libs/gst/controller/gstinterpolation.c:
22909 * tools/gst-inspect.c: (print_plugin_info):
22910 we don't use dashes in header names
22912 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
22914 * check/Makefile.am:
22915 * check/gst/.cvsignore:
22916 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
22917 (gst_pipeline_suite), (main):
22918 adding a test for pipelines and state changes
22919 * gst/gstutils.c: (get_state_func):
22921 * gstreamer.spec.in:
22924 2005-09-08 Michael Smith <msmith@fluendo.com>
22926 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
22927 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
22928 (gst_file_src_is_seekable), (gst_file_src_get_size),
22929 (gst_file_src_start):
22930 * gst/elements/gstfilesrc.h:
22931 Various fixes for unseekable, unmmapable, and non-normal files, so
22932 that fallback to read() rather than mmap() works.
22933 * gst/gstevent.c: (gst_event_new_newsegment):
22934 Allow newsegment events with segment_start == segment_end, as will
22935 correctly happen if you use filesrc on a zero-size file, for
22938 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
22940 * gst/gstplugin.c: (gst_plugin_load_file):
22941 Call g_module_close when we don't load the module
22943 * gst/registries/gstlibxmlregistry.c:
22944 (gst_xml_registry_get_property):
22945 Port leak fix from 0.8
22947 2005-09-07 Stefan Kost <ensonic@users.sf.net>
22949 * docs/gst/gstreamer-docs.sgml:
22950 * docs/gst/tmpl/.cvsignore:
22951 * docs/gst/tmpl/gsttrace.sgml:
22952 * docs/gst/tmpl/gsttrashstack.sgml:
22955 * gst/gstelement.h:
22957 * gst/gstmessage.c:
22958 * gst/gstmessage.h:
22961 * gst/gsttaginterface.c:
22962 * gst/gsttaginterface.h:
22963 * gst/gsttaglist.c:
22964 * gst/gsttaglist.h:
22965 * gst/gsttagsetter.c:
22966 * gst/gsttagsetter.h:
22969 * gst/gsttrashstack.c:
22970 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
22971 inlined docs for gsttrace, gsttrashstack
22973 2005-09-07 Stefan Kost <ensonic@users.sf.net>
22976 * gst/elements/gstbufferstore.h:
22977 * gst/elements/gsttypefindelement.c:
22978 * gst/elements/gsttypefindelement.h:
22980 * gst/gsttypefind.c:
22981 * gst/gsttypefind.h:
22982 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
22983 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
22984 (gst_type_find_factory_dispose),
22985 (gst_type_find_factory_unload_thyself),
22986 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
22987 (gst_type_find_factory_get_caps),
22988 (gst_type_find_factory_get_extensions),
22989 (gst_type_find_factory_call_function):
22990 * gst/gsttypefindfactory.h:
22991 * gst/registries/gstlibxmlregistry.c:
22992 * gst/registries/gstxmlregistry.c:
22993 splitted gsttypefind into gsttypefind, gsttypefindfactory
22995 2005-09-07 Andy Wingo <wingo@pobox.com>
22997 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
22998 condition whereby the pad's task function is entered before the
22999 pad_mode variable was set.
23001 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
23003 * gst/gstpad.c: (gst_pad_alloc_buffer):
23004 Catch misbehaving pad_alloc functions that don't
23005 set up caps and do it for them.
23007 2005-09-07 Stefan Kost <ensonic@users.sf.net>
23009 * check/pipelines/simple_launch_lines.c: (run_pipeline):
23010 test for pipe!=NULL
23011 * docs/gst/tmpl/.cvsignore:
23012 * docs/gst/tmpl/gstmemchunk.sgml:
23013 * docs/gst/tmpl/gstparse.sgml:
23014 * docs/gst/tmpl/gsttaglist.sgml:
23015 * docs/gst/tmpl/gsttagsetter.sgml:
23016 * docs/gst/tmpl/gsttypefind.sgml:
23017 * docs/gst/tmpl/gsttypefindfactory.sgml:
23018 * gst/gstmemchunk.c:
23021 * gst/gsttaginterface.c:
23022 * gst/gsttypefind.c:
23023 * gst/gsttypefind.h:
23026 === release 0.9.2 ===
23028 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
23033 releasing 0.9.2, "South"
23035 2005-09-05 Andy Wingo <wingo@pobox.com>
23037 * gst/registries/gstxmlregistry.h:
23038 * gst/registries/gstxmlregistry.c: Um... resurrect...
23040 * gst/registries/gstxmlregistry.h:
23041 * gst/registries/gstxmlregistry.c: and update to newer API.
23042 Incidentally they should be a bit faster now that they don't have
23045 2005-09-05 Andy Wingo <wingo@pobox.com>
23047 * gst/registries/gstxmlregistry.h:
23048 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
23049 replaced by the libxml registry a while back
23051 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
23053 * docs/gst/tmpl/gstplugin.sgml:
23054 * gst/elements/gstelements.c:
23056 * gst/gstplugin.c: (gst_plugin_register_func),
23057 (gst_plugin_desc_copy), (gst_plugin_desc_free),
23058 (gst_plugin_get_source):
23060 * gst/registries/gstlibxmlregistry.c: (load_plugin),
23061 (gst_xml_registry_save_plugin):
23062 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
23063 (gst_xml_registry_save_plugin):
23064 * tools/gst-inspect.c: (print_plugin_info):
23065 add a "source" plugin description field, to represent the source
23066 module this plugin is a part of. By default GST_PLUGIN_DEFINE
23067 will set it to PACKAGE, which is automake's idea of the name of
23068 the source project.
23070 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
23075 * docs/Makefile.am:
23076 * docs/faq/Makefile.am:
23077 * docs/gst/tmpl/gstelement.sgml:
23078 * docs/gst/tmpl/gsttypes.sgml:
23079 * docs/htmlinstall.mak:
23080 * docs/manual/Makefile.am:
23081 * docs/pwg/Makefile.am:
23082 reorganize doc build a little
23083 split out docbook and gtk-doc stuff
23084 have two separate --enable's and enable them through autogen
23085 but disable by default in configure (to be similar to other
23087 * gstreamer.spec.in:
23088 clean up docs install
23106 translation updates
23108 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
23110 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
23113 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
23114 (gst_fake_sink_change_state):
23115 Make state change function thread-safe.
23117 * gst/gstpad.c: (gst_pad_alloc_buffer):
23118 Set offset on generic buffer allocated by fallback.
23120 2005-09-03 Stefan Kost <ensonic@users.sf.net>
23122 * docs/gst/gstreamer-sections.txt:
23123 * docs/gst/tmpl/gstelement.sgml:
23125 * libs/gst/controller/gst-controller.c:
23126 (gst_controlled_property_set_interpolation_mode),
23127 (gst_controlled_property_new),
23128 (gst_controller_find_controlled_property):
23129 run the wingo-magic script against the docs
23131 2005-09-02 Stefan Kost <ensonic@users.sf.net>
23133 * docs/gst/gstreamer-docs.sgml:
23134 * docs/gst/gstreamer-sections.txt:
23135 * docs/gst/tmpl/.cvsignore:
23136 * docs/gst/tmpl/gstelementdetails.sgml:
23137 * docs/gst/tmpl/gstelementfactory.sgml:
23140 * gst/gstelementfactory.c:
23141 * gst/gstelementfactory.h:
23142 merged elementdetails docs into elementfactory docs
23145 2005-09-02 Andy Wingo <wingo@pobox.com>
23147 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
23148 consider this enum an enum and not a flags.
23150 2005-09-02 Stefan Kost <ensonic@users.sf.net>
23152 * docs/gst/gstreamer-docs.sgml:
23153 * docs/gst/tmpl/.cvsignore:
23154 * docs/gst/tmpl/gstghostpad.sgml:
23155 * docs/gst/tmpl/gstiterator.sgml:
23156 * docs/gst/tmpl/gstmacros.sgml:
23157 * docs/gst/tmpl/gstrealpad.sgml:
23158 * docs/gst/tmpl/gstregistry.sgml:
23159 * docs/gst/tmpl/gstregistrypool.sgml:
23160 * docs/gst/tmpl/gststructure.sgml:
23161 * docs/gst/tmpl/gstsystemclock.sgml:
23162 * docs/gst/tmpl/gsttrace.sgml:
23163 * gst/gstghostpad.c:
23165 * gst/gstmemchunk.c:
23166 * gst/gstmemchunk.h:
23168 * gst/gstregistry.c:
23169 * gst/gstregistrypool.c:
23170 * gst/gststructure.c:
23171 * gst/gstsystemclock.c:
23174 2005-09-02 Andy Wingo <wingo@pobox.com>
23176 * gst/gstelement.h (GstState): Renamed from GstElementState,
23177 changed to be a normal enum instead of flags.
23178 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
23179 munged to be GST_STATE_CHANGE_*.
23180 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
23181 work with the new state representation.
23182 (GstStateChange): New enumeration of possible state transitions.
23183 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
23184 (GstElementClass::change_state): Pass the GstStateChange along as
23185 an argument. Helps language bindings, so they don't have to use
23186 tricky lock-needing macros like GST_STATE_CHANGE ().
23188 * scripts/update-states (file): New script. Run it on a file to
23189 update it for state naming and API changes. Updates files in
23192 * All files updated for the new API.
23194 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
23196 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
23197 * gst/gstutils.c: (gst_util_set_value_from_string),
23198 (gst_util_set_object_arg):
23199 fix a bunch of unchecked return values
23200 * tools/gst-complete.c: (main):
23201 * gstreamer.spec.in:
23204 2005-09-01 Wim Taymans <wim@fluendo.com>
23206 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23207 (gst_base_sink_event), (gst_base_sink_do_sync),
23208 (gst_base_sink_handle_event):
23209 * gst/base/gstbasesink.h:
23210 Handle newsegments more correctly.
23215 * gst/gstevent.c: (gst_event_new_newsegment):
23216 A newsegment cannot have a start_time of -1
23218 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
23220 * win32/gstenumtypes.c:
23221 * win32/gstenumtypes.h:
23224 2005-08-31 Stefan Kost <ensonic@users.sf.net>
23226 * libs/gst/controller/gst-controller.c:
23227 (gst_controlled_property_set_interpolation_mode),
23228 (gst_controlled_property_new):
23229 fixed boolean again
23231 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
23233 * docs/faq/gst-uninstalled:
23238 * gst/gstutils.c: (gst_element_link_filtered):
23240 add gst_element_link_filtered
23242 2005-08-31 Stefan Kost <ensonic@users.sf.net>
23244 * docs/gst/gstreamer-docs.sgml:
23245 * docs/gst/gstreamer-sections.txt:
23246 * docs/gst/tmpl/.cvsignore:
23247 * docs/gst/tmpl/gsterror.sgml:
23248 * docs/gst/tmpl/gstfilter.sgml:
23249 * docs/gst/tmpl/gsturihandler.sgml:
23250 * docs/gst/tmpl/gsturitype.sgml:
23251 * docs/gst/tmpl/gstutils.sgml:
23252 * docs/gst/tmpl/gstxml.sgml:
23257 * gst/gsturitype.c:
23260 inlined more docs, fixed double id-ref
23262 2005-08-31 Wim Taymans <wim@fluendo.com>
23264 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23265 (gst_base_transform_handle_buffer):
23266 Passthrough elements don't need the caps as they don't care.
23268 2005-08-31 Wim Taymans <wim@fluendo.com>
23270 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23271 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
23272 Don't leak refcounts on buffers.
23274 2005-08-31 Wim Taymans <wim@fluendo.com>
23276 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
23277 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
23278 (gst_base_transform_chain), (gst_base_transform_change_state):
23279 * gst/base/gstbasetransform.h:
23280 Handle the case where we are not negotiated more gracefully.
23282 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
23284 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
23285 (gst_file_src_map_region):
23286 Set READONLY flag on mmap'ed buffers, otherwise
23287 gst_buffer_make_writable() won't work properly (#314708).
23289 2005-08-31 Wim Taymans <wim@fluendo.com>
23291 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
23292 passthrough elements can even do inplace on non writable
23293 buffers (as they don't touch them).
23295 2005-08-31 Stefan Kost <ensonic@users.sf.net>
23297 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
23298 (gst_test_mono_source_set_property),
23299 (gst_test_mono_source_class_init), (GST_START_TEST),
23300 (gst_controller_suite):
23301 more tests (hehe I have the most)
23303 describe popping messages whenusing mulltiple sources
23304 * libs/gst/controller/gst-controller.c:
23305 (gst_controlled_property_set_interpolation_mode),
23306 (gst_controlled_property_new):
23307 * libs/gst/controller/gst-controller.h:
23308 * libs/gst/controller/gst-interpolation.c:
23309 implement boolean properties
23311 2005-08-31 Wim Taymans <wim@fluendo.com>
23313 * gst/gstminiobject.c: (gst_mini_object_ref):
23314 Cannot assert that the refcount has to be positive
23315 since a disposed object can be resurrected.
23317 2005-08-31 Wim Taymans <wim@fluendo.com>
23319 * gst/gstpad.c: (gst_pad_init):
23320 Revert change, need to first fix badly behaving
23323 2005-08-30 Wim Taymans <wim@fluendo.com>
23325 * check/elements/fakesrc.c: (setup_fakesrc):
23326 * check/elements/identity.c: (setup_identity):
23327 Activate pads before using them.
23329 2005-08-30 Wim Taymans <wim@fluendo.com>
23331 * gst/base/gstadapter.c: (gst_adapter_flush):
23332 Flushing out 0 bytes is ok for this function.
23334 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23335 no newsegment gives a warning and sets the start/stop to
23338 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
23339 (gst_base_transform_set_passthrough):
23342 * gst/gstminiobject.c: (gst_mini_object_ref):
23343 Check refcount here too.
23345 * gst/gstpad.c: (gst_pad_init):
23346 Pads are initially flushing and refusing data.
23348 * gst/gstutils.c: (gst_element_link_pads_filtered):
23349 When adding a capsfilter element make sure it has the
23350 same state as the parent bin.
23352 2005-08-30 Stefan Kost <ensonic@users.sf.net>
23354 * docs/gst/tmpl/.cvsignore:
23355 * docs/gst/tmpl/gstformat.sgml:
23356 * docs/gst/tmpl/gstversion.sgml:
23360 * gst/gstversion.h.in:
23361 more docs and two more inlined
23363 2005-08-30 Wim Taymans <wim@fluendo.com>
23365 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
23366 Don't sync to clock.
23368 2005-08-30 Stefan Kost <ensonic@users.sf.net>
23370 * docs/gst/gstreamer-sections.txt:
23371 ultral33t func10ns deserve to appear in the docs actually
23372 * docs/gst/tmpl/.cvsignore:
23373 * docs/gst/tmpl/gstcompat.sgml:
23374 * docs/gst/tmpl/gstconfig.sgml:
23375 * gst/check/gstcheck.c:
23377 * gst/gstconfig.h.in:
23380 2005-08-30 Stefan Kost <ensonic@users.sf.net>
23382 * docs/gst/tmpl/.cvsignore:
23383 * docs/gst/tmpl/gstquery.sgml:
23384 * docs/gst/tmpl/gstutils.sgml:
23387 inlined and extended docs
23389 2005-08-30 Stefan Kost <ensonic@users.sf.net>
23391 * check/gst-libs/controller.c: (GST_START_TEST),
23392 (gst_controller_suite):
23394 * docs/gst/tmpl/gstutils.sgml:
23395 * docs/libs/gstreamer-libs-sections.txt:
23396 * docs/libs/tmpl/gstdataprotocol.sgml:
23398 * examples/controller/audio-example.c: (main):
23399 controller example works now
23402 * tools/gst-inspect.c: (print_element_properties_info):
23403 show param spec flags
23405 2005-08-29 Andy Wingo <wingo@pobox.com>
23407 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
23409 2005-08-28 Andy Wingo <wingo@pobox.com>
23411 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
23412 as having two arguments instead of just one. Allows superclasses
23413 to access information on subclasses -- see the terrible for() loop
23414 in gtype.c:g_type_create_instance for the reason why. All callers
23417 2005-08-27 Stefan Kost <ensonic@users.sf.net>
23419 * docs/design/part-messages.txt:
23421 * docs/gst/tmpl/.cvsignore:
23422 * docs/gst/tmpl/gstcaps.sgml:
23423 * docs/gst/tmpl/gstclock.sgml:
23429 * gst/gstmessage.c:
23430 added descriptions for bus and message
23431 inline caps and clock docs
23433 2005-08-27 Stefan Kost <ensonic@users.sf.net>
23435 * gst/gstmessage.c:
23436 * gst/gstmessage.h:
23439 2005-08-27 Stefan Kost <ensonic@users.sf.net>
23441 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
23444 2005-08-26 Andy Wingo <wingo@pobox.com>
23446 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
23447 element_set_state's return val.
23448 (test_2_elements): Add test that's been disabled for months.
23450 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
23451 can-activate-pull properties.
23453 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
23454 can-activate-pull properties. Implement is_seekable so fakesrc can
23455 operate in pull mode.
23457 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
23459 (gst_base_sink_activate, gst_base_sink_activate_pull)
23460 (gst_base_sink_activate_push): Make activation mode choosing work.
23462 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
23463 is right. Make pull mode work. Post an eos before pausing in pull
23465 (gst_base_sink_change_state): Pay attention to the core's
23466 change_state() return val.
23468 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
23469 has-getrange properties. Cleanups.
23471 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
23472 has_getrange and replace with can_activate_pull and
23475 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
23476 locking comments. Remove has_loop, has_chain and replace with
23477 can_activate_pull and can_activate_push.
23479 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
23482 * examples/Makefile.am:
23483 * examples/metadata/Makefile.am:
23484 * examples/metadata/read-metadata.c: (message_loop),
23485 (have_pad_handler), (make_pipeline), (print_tag), (main):
23486 Add metadata reading example that loops over a list of filenames,
23487 dumping any tags found.
23489 * gst/gstbus.c: (gst_bus_dispose):
23490 * gst/gstelement.c: (gst_element_dispose):
23491 Release a few potentially-held references in dispose.
23493 2005-08-26 Stefan Kost <ensonic@users.sf.net>
23495 * docs/gst/tmpl/gstminiobject.sgml:
23496 do *not* add tmpl/*.sgml files to CVS!
23498 2005-08-26 Stefan Kost <ensonic@users.sf.net>
23500 * libs/gst/bytestream/.cvsignore:
23501 * libs/gst/bytestream/Makefile.am:
23502 * libs/gst/bytestream/adapter.c:
23503 * libs/gst/bytestream/adapter.h:
23504 * libs/gst/bytestream/bytestream.c:
23505 * libs/gst/bytestream/bytestream.h:
23506 * libs/gst/bytestream/filepad.c:
23507 * libs/gst/bytestream/filepad.h:
23508 removing obsolete files
23510 2005-08-26 Stefan Kost <ensonic@users.sf.net>
23512 * docs/gst/gstreamer-docs.sgml:
23513 * docs/libs/gstreamer-libs-docs.sgml:
23514 disabed additional index entries again, as this makes docs-gen just
23515 slow and they aren't useful yet
23516 * docs/libs/gstreamer-libs-sections.txt:
23517 little -section.txt cleanup for libs
23519 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
23521 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23522 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
23523 fix up some debugging
23524 (gst_base_transform_get_unit_size),
23525 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
23526 (gst_base_transform_handle_buffer):
23527 * gst/base/gstbasetransform.h:
23528 handle and store timed NEWSEGMENT events so that subclasses that
23529 calculate time by counting samples have a segment_start time they
23530 need to add to their timestamps - see audioresample
23532 2005-08-26 Stefan Kost <ensonic@users.sf.net>
23535 removed ';' from the end of macro defs
23536 * docs/gst/gstreamer-docs.sgml:
23537 * docs/gst/gstreamer-sections.txt:
23538 * docs/gst/tmpl/.cvsignore:
23540 * gst/gstelement.c: (gst_element_class_init),
23541 (gst_element_set_state), (activate_pads),
23542 (gst_element_save_thyself):
23543 * gst/gstevent.c: (gst_event_new_newsegment):
23545 * gst/gstiterator.c:
23546 * gst/gstiterator.h:
23549 * gst/gstutils.c: (gst_pad_query_convert):
23551 fixed parameter name mismatches between source, header and docs
23552 added some more docs, resolved the last batch of unused elements in
23553 docs (now someone needs to doc them)
23555 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
23557 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
23558 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
23559 don't walk through the plugins backwards. Where is all this
23560 reversed logic coming from ?
23562 2005-08-25 Wim Taymans <wim@fluendo.com>
23564 * gst/base/gstbasetransform.c: (gst_base_transform_init),
23565 (gst_base_transform_transform_size),
23566 (gst_base_transform_configure_caps),
23567 (gst_base_transform_get_unit_size),
23568 (gst_base_transform_buffer_alloc),
23569 (gst_base_transform_change_state):
23570 * gst/base/gstbasetransform.h:
23571 Cache caps unit_size.
23572 Make sure we cannot negotiate up and downstream at the
23575 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
23577 * gst/gst.c: (init_pre), (init_post):
23578 register the installed plugin path after the env var
23579 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
23580 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
23581 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
23582 directories, so the tests can prefer uninstalled over installed
23584 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
23586 * gst/base/gstbasetransform.h:
23591 2005-08-25 Wim Taymans <wim@fluendo.com>
23593 * gst/gstbin.c: (bin_bus_handler):
23594 Be a bit more conservative about the posted message.
23596 * gst/gstbus.c: (gst_bus_post):
23597 Some cleanups, warn wrong return values.
23599 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
23601 * check/gst/gstbin.c: (GST_START_TEST):
23602 * gst/gstbin.c: (bin_bus_handler):
23603 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
23604 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
23605 (gst_message_new_warning), (gst_message_new_tag),
23606 (gst_message_new_state_changed), (gst_message_new_segment_start),
23607 (gst_message_new_segment_done), (gst_message_new_custom):
23608 * gst/gstmessage.h:
23609 * tools/gst-launch.c: (event_loop):
23610 * tools/gst-md5sum.c: (event_loop):
23611 Revert unpopular change for GST_MESSAGE_SRC to GObject.
23613 2005-08-25 Wim Taymans <wim@fluendo.com>
23615 * check/generic/states.c: (GST_START_TEST):
23616 Cleanup can be done at the end.
23618 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
23619 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
23620 (gst_task_get_state), (gst_task_start), (gst_task_pause):
23621 Oh boy.. Thanks for finding this, Thomas.
23623 2005-08-25 Stefan Kost <ensonic@users.sf.net>
23625 * docs/gst/gstreamer.types:
23626 added missing types
23628 2005-08-25 Stefan Kost <ensonic@users.sf.net>
23630 * docs/gst/gstreamer-docs.sgml:
23631 * docs/gst/gstreamer-sections.txt:
23632 * docs/gst/tmpl/.cvsignore:
23634 * gst/gstiterator.c:
23636 * gst/registries/gstxmlregistry.h:
23637 added missing classes and symbols (123 more to go)
23638 removed removed symbols from section file
23639 fixed many doc-comments
23641 2005-08-24 Wim Taymans <wim@fluendo.com>
23643 * check/generic/states.c: (GST_START_TEST):
23644 Make sure all tasks are stopped.
23646 * check/gst/gstbin.c: (GST_START_TEST):
23647 Unref after usage for proper valgrinding.
23649 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
23650 Really wait for the task to stop before destroying the
23653 * gst/gstqueue.c: (gst_queue_sink_activate_push),
23654 (gst_queue_src_activate_push):
23655 Small cleanups. Don't stop the task when we did not start
23658 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
23659 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
23660 (gst_task_get_state), (gst_task_start), (gst_task_pause),
23663 Protect the stream lock with the object lock.
23664 Disallow setting the stream lock when running.
23665 Add cleanup_all to wait for the threadpool to finish.
23666 Remove code to autoallocate a mutex if none was provided.
23667 Add _join() to wait for a task to stop.
23668 Protect the thread pool with a global lock.
23670 2005-08-24 Wim Taymans <wim@fluendo.com>
23672 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23673 (gst_base_sink_get_times), (gst_base_sink_do_sync),
23674 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
23675 * gst/base/gstbasesink.h:
23676 Handle newsegment events correctly.
23677 Drop buffers out of the segment range.
23679 2005-08-22 Andy Wingo <wingo@pobox.com>
23681 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
23682 macro, implements an interface and gstimplementsinterface for a
23685 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
23687 * check/Makefile.am:
23688 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
23689 add a test that does a bunch of state changes on elements
23690 needs some fixing for valgrind
23691 * check/states/sinks.c: (gst_object_suite):
23694 add prototype for gst_caps_is_equal_fixed
23696 * gst/gstregistrypool.c:
23699 2005-08-24 Andy Wingo <wingo@pobox.com>
23701 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
23702 convert a negative value. Doesn't make much sense. Mostly this is
23703 here to force callers to ensure -1 maps to -1.
23705 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
23707 * docs/pwg/advanced-types.xml:
23708 Well done to Michael for catching my deliberate introduction
23709 of this spelling mistake.
23710 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
23711 * gst/gstelement.h:
23712 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
23713 unlink pads before removing the element from the bin.
23715 2005-08-24 Andy Wingo <wingo@pobox.com>
23717 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
23718 the same thing as GST_DEBUG=*:4.
23719 (parse_debug_level, parse_debug_category): New helper parsers.
23721 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
23723 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23724 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
23725 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
23726 (gst_base_transform_buffer_alloc),
23727 (gst_base_transform_handle_buffer):
23728 use gboolean return values and pointers to size so we can use the
23729 full GST_BUFFER_SIZE range (guint) for buffer sizes
23730 use GstPadDirection for transform_caps
23731 * gst/base/gstbasetransform.h:
23732 rename get_size to get_unit_size since that's what it is
23733 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
23734 use GstPadDirection for transform_caps
23735 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
23737 cleanup and debugging
23739 2005-08-24 Stefan Kost <ensonic@users.sf.net>
23741 * gst/gstelement.c: (gst_element_class_init),
23742 (gst_element_set_state), (activate_pads),
23743 (gst_element_save_thyself):
23744 * tools/gst-compprep.c: (main):
23745 * tools/gst-inspect.c: (print_element_properties_info):
23746 * tools/gst-xmlinspect.c: (print_element_properties):
23747 Fixed long standing mem-leak
23749 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
23751 * check/gst/gstbin.c: (GST_START_TEST):
23752 * gst/gstbin.c: (bin_bus_handler):
23753 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
23754 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
23755 (gst_message_new_warning), (gst_message_new_tag),
23756 (gst_message_new_state_changed), (gst_message_new_segment_start),
23757 (gst_message_new_segment_done), (gst_message_new_custom):
23758 * gst/gstmessage.h:
23759 * tools/gst-launch.c: (event_loop):
23760 * tools/gst-md5sum.c: (event_loop):
23761 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
23762 that applications can sensibly post custom messages with references
23763 to their own objects.
23765 2005-08-24 Andy Wingo <wingo@pobox.com>
23767 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
23770 2005-08-24 Wim Taymans <wim@fluendo.com>
23772 * gst/base/gstbasetransform.c: (gst_base_transform_init),
23773 (gst_base_transform_transform_caps),
23774 (gst_base_transform_transform_size),
23775 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23776 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
23777 (gst_base_transform_handle_buffer):
23778 * gst/base/gstbasetransform.h:
23779 Many fixes and new features added by Thomas. Can now also do
23780 transforms with variable sizes and a custom fixate_caps function.
23782 2005-08-24 Wim Taymans <wim@fluendo.com>
23784 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
23788 Cast to ClockTime before formatting to time.
23793 2005-08-24 Stefan Kost <ensonic@users.sf.net>
23795 * check/gst-libs/controller.c: (GST_START_TEST),
23796 (gst_controller_suite):
23797 * docs/gst/tmpl/gstcaps.sgml:
23798 * docs/gst/tmpl/gstghostpad.sgml:
23799 * docs/gst/tmpl/gstquery.sgml:
23800 * docs/gst/tmpl/gstutils.sgml:
23801 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
23802 (gst_object_sink_values), (gst_object_get_value_arrays),
23803 (gst_object_get_value_array):
23804 gracefully handle helper method calls to objects that are not beeing
23805 controlled, added test case for that
23807 2005-08-23 Wim Taymans <wim@fluendo.com>
23809 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
23810 (gst_event_new_newsegment), (gst_event_parse_newsegment),
23811 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
23812 (gst_event_parse_qos), (gst_event_new_seek),
23813 (gst_event_parse_seek):
23815 Some more debugging output and doc cleanups.
23817 * gst/gstqueue.c: (gst_queue_handle_sink_event):
23818 Fix possible deadlock.
23820 2005-08-23 Stefan Kost <ensonic@users.sf.net>
23822 * docs/gst/gstreamer-docs.sgml:
23823 * docs/gst/gstreamer-sections.txt:
23824 * docs/gst/gstreamer.types:
23825 * docs/gst/tmpl/.cvsignore:
23828 * gst/gstelement.c:
23830 added 100 symbols from gstreamer-unused.txt to the right sections
23831 fixed more broken comments
23832 added GstBus to docs
23834 2005-08-23 Stefan Kost <ensonic@users.sf.net>
23836 * docs/gst/gstreamer-sections.txt:
23837 * docs/gst/tmpl/.cvsignore:
23838 * docs/gst/tmpl/gstbin.sgml:
23839 * docs/gst/tmpl/gstbuffer.sgml:
23840 * gst/base/gstbasesrc.c:
23841 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
23844 * tools/gst-launch.1.in:
23845 inlined more doc comments, added missing comments and fixed comments
23848 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
23850 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
23854 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
23856 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
23857 * gst/gststructure.h:
23858 add a fixate function for booleans; add a FIXME that these func
23859 names should probably be gst_structure_fixate_*
23861 2005-08-23 Stefan Kost <ensonic@users.sf.net>
23863 * docs/gst/gstreamer-docs.sgml:
23864 * docs/gst/gstreamer-sections.txt:
23866 * gst/gstbin.c: (gst_bin_get_type),
23867 (gst_bin_child_proxy_get_child_by_index),
23868 (gst_bin_child_proxy_get_children_count),
23869 (gst_bin_child_proxy_init):
23870 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23871 (gst_child_proxy_get_child_by_index),
23872 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
23873 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
23874 (gst_child_proxy_get), (gst_child_proxy_set_property),
23875 (gst_child_proxy_set_valist), (gst_child_proxy_set),
23876 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
23877 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
23878 * gst/gstchildproxy.h:
23879 * gst/parse/grammar.y:
23880 * tools/gst-inspect.c: (print_interfaces),
23881 (print_element_properties_info), (print_element_info):
23882 ported gstchildproxy over from 0.8
23883 ported gst-inspect fixes and enhancements over from 0.8
23885 2005-08-22 Wim Taymans <wim@fluendo.com>
23887 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23888 (gst_base_transform_handle_buffer):
23889 Also call the transform function if we have ANY caps.
23891 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
23894 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
23896 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
23897 Don't pretend to handle seek events if the source is not seekable
23899 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
23901 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23902 Remove extra parameter to debug output
23904 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23905 (gst_base_src_do_seek), (gst_base_src_activate_push):
23906 Fix seek event handling.
23908 * gst/gstpipeline.c: (gst_pipeline_change_state):
23909 * gst/gstqueue.c: (gst_queue_handle_sink_event),
23910 (gst_queue_src_activate_push):
23911 Don't start the src pad task on FLUSH_STOP if the pad
23915 2005-08-22 Wim Taymans <wim@fluendo.com>
23917 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
23918 Added check for gst_static_caps_get() refcounting.
23920 2005-08-22 Wim Taymans <wim@fluendo.com>
23922 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
23923 Make _static_caps_get() refcounting sane.
23925 * gst/gstelement.c: (gst_element_set_state):
23926 Add g_return_val_if_fail() to protect against segfaults.
23928 2005-08-22 Stefan Kost <ensonic@users.sf.net>
23930 * docs/gst/tmpl/gstevent.sgml:
23933 inlined remaining docs, added missing doc comments
23935 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
23937 * check/gst/gstbin.c: (GST_START_TEST):
23938 since we don't know when preroll is done, use refcount range
23940 * gst/check/gstcheck.h:
23941 add macro for checking refcount range
23943 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
23945 * check/Makefile.am:
23946 clean up environment for when registry gets built versus
23947 when actual tests are run; valgrind seems to not report
23948 leaks if GST_PLUGIN_PATH is set to some specific values
23949 * check/gst/gstbin.c: (GST_START_TEST):
23950 add more refcounting checks; maybe this exposes a
23952 * common/check.mak:
23953 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23954 * gst/check/gstcheck.h:
23955 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
23956 (gst_bin_change_state):
23957 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
23958 add/fix debugging/whitespace
23960 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
23962 * check/gst/gstevent.c: (event_probe), (test_event),
23964 Er, don't call gst_bin_watch_for_state_change you idiot.
23966 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
23968 * check/Makefile.am:
23969 Use CHECK_CFLAGS and CHECK_LIBS
23970 * check/gst/gstevent.c: (event_probe), (test_event),
23973 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23974 (gst_base_src_start), (gst_base_src_stop),
23975 (gst_base_src_activate_push), (gst_base_src_activate_pull),
23976 (gst_base_src_change_state):
23977 Sprinkle gst_base_src_stop liberally around error paths to fix
23978 problems reusing a source after failed state changes.
23979 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23980 (helper_find_suggest), (gst_type_find_helper):
23981 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
23983 * docs/gst/tmpl/gstevent.sgml:
23984 Migrate part of the docs from the SGML file. Wait for ensonic to
23985 tell me how I did it wrong ;)
23986 * tools/gst-typefind.c: (main):
23987 Extra robustness to state changes between files.
23989 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
23991 * check/Makefile.am:
23992 don't valgrind the controller test - it's leaking - Stefan, HELP
23993 * gst/check/gstcheck.c: (gst_check_message_error),
23994 (gst_check_chain_func), (gst_check_setup_element),
23995 (gst_check_teardown_element), (gst_check_setup_src_pad),
23996 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
23997 (gst_check_teardown_sink_pad):
23998 * gst/check/gstcheck.h:
23999 add a bunch of methods to set up elements, and src and sink pads
24000 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
24001 * check/elements/identity.c: (setup_identity), (cleanup_identity),
24004 * gst/gstmessage.c:
24006 whitespace/doc fixes
24008 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
24010 * gst/gstelement.h:
24011 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
24012 be handled by the application and not always printed as well
24014 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
24016 * check/Makefile.am:
24018 * gst/check/gstcheck.c: (gst_check_message_error):
24019 * gst/check/gstcheck.h:
24020 add a fail_unless_equals_int
24021 add fail_unless for error messages
24023 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
24025 * check/Makefile.am:
24027 * common/Makefile.am:
24028 * common/check.mak:
24030 factor out some of the common stuff so we can use it
24032 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
24034 * check/Makefile.am:
24035 * check/gst/gstiterator.c: (GST_START_TEST):
24036 * check/gst/gstsystemclock.c: (GST_START_TEST),
24037 (gst_systemclock_suite):
24038 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
24040 valgrind more tests
24042 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
24044 * check/elements/.cvsignore:
24045 * check/elements/gstfakesrc.c:
24046 rename to name of element
24047 * check/elements/identity.c: (chain_func), (event_func),
24048 (setup_identity), (cleanup_identity), (GST_START_TEST),
24049 (identity_suite), (main):
24050 add a test for identity
24051 * check/Makefile.am:
24052 * pkgconfig/Makefile.am:
24053 * pkgconfig/gstreamer-check.pc.in:
24054 * pkgconfig/gstreamer-check-uninstalled.pc.in:
24058 move the check stuff to a library that gets installed
24059 * check/gst-libs/controller.c: (GST_START_TEST):
24060 * check/gst-libs/gdp.c:
24061 * check/gst/gst.c: (GST_START_TEST):
24062 * check/gst/gstbin.c:
24063 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24064 * check/gst/gstbus.c:
24065 * check/gst/gstcaps.c: (GST_START_TEST):
24066 * check/gst/gstelement.c:
24067 * check/gst/gstghostpad.c:
24068 * check/gst/gstiterator.c:
24069 * check/gst/gstmessage.c:
24070 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
24071 * check/gst/gstobject.c:
24072 * check/gst/gstpad.c: (GST_START_TEST):
24073 * check/gst/gststructure.c: (GST_START_TEST):
24074 * check/gst/gstsystemclock.c: (GST_START_TEST),
24075 (gst_systemclock_suite):
24076 * check/gst/gsttag.c: (gst_tag_suite):
24077 * check/gst/gstvalue.c:
24078 * check/pipelines/cleanup.c:
24079 * check/pipelines/simple_launch_lines.c:
24080 * check/states/sinks.c:
24081 change include statement
24083 * docs/gst/gstreamer-sections.txt:
24084 * docs/gst/tmpl/gstpad.sgml:
24085 document more pad stuff
24086 * gst/gstminiobject.c: (gst_mini_object_ref),
24087 (gst_mini_object_unref):
24090 2005-08-19 Stefan Kost <ensonic@users.sf.net>
24092 * docs/gst/tmpl/gst.sgml:
24094 eliminate another tmpl file, fix spelling in the long-description
24096 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
24098 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24099 (test_event), (timediff), (gstevents_suite):
24100 Should fix build on 64-bit arch's
24102 2005-08-18 Andy Wingo <wingo@pobox.com>
24104 Make sure that when a pipeline goes to PLAYING, that data has
24105 actually hit the sink.
24107 * check/states/sinks.c (test_sink): A sink that doesn't get any
24108 data shouldn't return SUCCESS for going to either PLAYING or
24109 PAUSED. Test also the return values on the way back down.
24111 * gst/gstelement.c (gst_element_set_state): When changing the
24112 state of an element currently changing state asynchronously, go to
24113 lost-state after commiting the pending state. Makes future calls
24114 to get_state continue to return ASYNC.
24116 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
24117 ASYNC when going to PLAYING if we still don't have preroll, as can
24118 happen with live sources.
24120 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
24122 * docs/pwg/advanced-types.xml:
24123 Hack long paragraph into 2 chunks as a workaround for buggy
24124 jadetex version in sid and breezy that loops infinitely and
24127 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
24129 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24130 (test_event), (timediff), (gstevents_suite):
24131 Provide more error margin in clock measurements to allow for
24132 g_get_current_time inaccuracies.
24134 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
24136 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24137 (test_event), (timediff), (gstevents_suite):
24138 Fix error message output so I might be able to tell why the
24139 test works here but fails on the build farm.
24141 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
24143 * check/Makefile.am:
24144 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24145 (test_event), (timediff), (gstevents_suite), (main):
24148 * docs/design/part-seeking.txt:
24149 Spelling correction
24151 * docs/gst/tmpl/gstevent.sgml:
24152 * docs/gst/tmpl/gstfakesrc.sgml:
24155 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24156 Treat a buffer-without-newsegment the same as a receiving
24157 a newsegment not in time format, and disable syncing to the clock
24160 * gst/gstbus.c: (gst_bus_set_sync_handler):
24161 Assert if anyone tries to replace the existing sync_handler for bus,
24162 as only the owner should be setting it.
24165 Have a fixed set of custom event enums with events identified by
24166 their structure name (as in 0.8), rather than a free-for-all
24167 allowing collisions between enum values from different plugins.
24169 * gst/gstpad.c: (gst_pad_class_init):
24172 * gst/gstqueue.c: (gst_queue_handle_sink_event):
24173 Handle out-of-band downstream events from the sending thread.
24175 2005-08-17 Andy Wingo <wingo@pobox.com>
24177 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
24178 play-timeout==0 to mean no timeout at all. In that case, don't
24179 bother with a get_state or a warning, just return directly, even
24182 * gst/base/gstbasetransform.c: Debug changes.
24185 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
24186 ensure bins post state change messages. A bit of a hack but I can't
24187 think of a way to avoid it.
24189 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
24191 2005-08-16 Andy Wingo <wingo@pobox.com>
24193 * gst/base/gstadapter.h:
24194 * gst/base/gstadapter.c (gst_adapter_take): New function, like
24195 peek() but you own the data. Not terribly efficient atm.
24197 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24199 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
24200 (gst_element_found_tags):
24202 Add two utility functions for tag handling.
24204 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24206 * docs/manual/advanced-dataaccess.xml:
24207 * docs/manual/basics-helloworld.xml:
24208 Fix docs to use _bin_add() before _link(), which fixes the examples
24209 with recent core versions (reported by Madhan Raj M
24210 <raj_madan@rediffmail.com>, #313199).
24212 2005-08-16 Wim Taymans <wim@fluendo.com>
24214 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
24215 Added subtract checks.
24217 * docs/design/part-events.txt:
24218 Some more docs about newsegment
24220 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
24223 * gst/gstcaps.c: (gst_caps_to_string):
24224 Add comments, cleanups.
24226 * gst/gstelement.c: (gst_element_save_thyself):
24229 * gst/gstvalue.c: (gst_value_collect_int_range),
24230 (gst_string_unwrap), (gst_value_union_int_int_range),
24231 (gst_value_union_int_range_int_range),
24232 (gst_value_intersect_int_int_range),
24233 (gst_value_intersect_int_range_int_range),
24234 (gst_value_intersect_double_double_range),
24235 (gst_value_intersect_double_range_double_range),
24236 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
24237 (gst_value_subtract_int_range_int),
24238 (gst_value_subtract_double_range_double),
24239 (gst_value_subtract_double_range_double_range),
24240 (gst_value_subtract_from_list), (gst_value_subtract_list),
24241 (gst_value_can_compare), (gst_value_compare_fraction):
24242 Cleanups, add comments, remove unneeded asserts.
24244 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
24246 * tools/gst-launch.c: (event_loop):
24247 don't convert NULL structures to strings
24249 2005-08-15 Stefan Kost <ensonic@users.sf.net>
24251 * docs/gst/gstreamer-sections.txt:
24252 made some defines private
24253 * docs/gst/tmpl/gstconfig.sgml:
24254 * docs/gst/tmpl/gstqueue.sgml:
24255 * docs/gst/tmpl/gsttaglist.sgml:
24256 * docs/gst/tmpl/gsttypes.sgml:
24257 * docs/gst/tmpl/gstutils.sgml:
24258 * docs/pwg/appendix-porting.xml:
24259 * gst/base/gstbasesink.h:
24260 * gst/base/gstbasesrc.c:
24261 * gst/base/gstbasesrc.h:
24262 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
24263 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
24264 * gst/gstelement.c: (gst_element_class_init):
24265 * gst/gstpad.c: (gst_pad_class_init):
24266 * gst/gstqueue.c: (gst_queue_class_init):
24267 * gst/gstxml.c: (gst_xml_class_init):
24268 documented all undocumented signal inline
24269 * libs/gst/controller/gst-controller.h:
24272 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24274 * docs/pwg/appendix-porting.xml:
24275 Document _set_link_function -> _set_setcaps_function.
24277 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
24279 * check/Makefile.am:
24280 add a .check target for running the check
24281 * check/gst-libs/controller.c: (GST_START_TEST):
24283 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24284 complete checks for gstbuffer; would be nice if I could get the
24285 gcov stuff to work so I can see if I actually completed gstbuffer.c
24286 * check/gstcheck.h:
24287 add ASSERT_BUFFER_REFCOUNT
24289 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
24291 * docs/gst/gstreamer-sections.txt:
24292 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
24294 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
24295 spew out a warning if a tag that is already registered
24296 is re-registered, unless it is re-registered with a
24297 different type (#308438).
24299 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
24301 * docs/pwg/appendix-porting.xml:
24302 * docs/pwg/building-state.xml:
24303 Add some paragraphs about state changes in 0.9 to the PWG
24304 and the porting guide, in particular about the new meaning
24305 of GST_STATE_PAUSED and how to write state change functions
24306 with concurrent access by multiple threads in mind.
24308 2005-08-11 Stefan Kost <ensonic@users.sf.net>
24310 * docs/gst/gstreamer-docs.sgml:
24311 * docs/libs/gstreamer-libs-docs.sgml:
24312 added deprecation and since indexes
24313 * libs/gst/controller/gst-controller.c:
24314 * libs/gst/controller/gst-helper.c:
24318 2005-08-11 Wim Taymans <wim@fluendo.com>
24320 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
24321 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
24322 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
24323 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
24324 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
24325 (gst_ghost_pad_set_target):
24326 Actually implement (re)setting the target on a ghostpad
24327 as described in the docs.
24329 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
24331 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
24332 Check whether GST_DEBUG_NO_COLOR environment variable is
24333 set and disable coloured debug output if that is the case.
24335 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
24337 * gst/base/gsttypefindhelper.c: (helper_find_peek),
24338 (gst_type_find_helper):
24339 The memory returned by gst_type_find_peek() needs to
24340 stay valid until the end of a typefind function, and
24341 typefind functions may keep results from different
24342 offsets around, so we can't just unref the buffer from
24343 the previous _peek(), but have to save all buffers
24344 returned by _peek() until typefinding is done and only
24347 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
24349 * docs/gst/gstreamer-sections.txt:
24351 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
24353 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24355 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
24356 Fix a pretty good memleak.
24358 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
24360 * gst/gstiterator.h:
24361 Fix wrong include and 'make distcheck'.
24363 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24365 * gst/gstbin.c: (bin_bus_handler):
24366 Use gst_element_post_message() instead.
24368 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
24370 * gst/base/gstadapter.h:
24371 * gst/base/gstbasesink.h:
24372 * gst/base/gstbasesrc.h:
24373 * gst/base/gstbasetransform.h:
24374 * gst/base/gstcollectpads.h:
24375 * gst/base/gstpushsrc.h:
24376 * gst/gstiterator.h:
24377 Add padding to our base elements' class and instance structs and
24378 to GstIterator (you will need to rebuild all plugins and apps!)
24380 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24382 * gst/gstbin.c: (bin_bus_handler):
24383 Make default message forwarding from child->bus to bin->bus
24384 threadsafe and make it not emit warnings if the parent has no bus.
24386 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24388 * gst/gstelement.c: (activate_pads):
24389 On paused->ready, set pad->caps to NULL, as is the documented
24390 behaviour in this state change. Fixes playback of series of
24391 media files when visualization is enabled in Totem.
24393 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24395 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
24396 Allow NULL as filter-caps (which means "any").
24398 2005-08-05 Stefan Kost <ensonic@users.sf.net>
24400 * docs/libs/gstreamer-libs-sections.txt:
24401 * libs/gst/controller/gst-controller.c:
24402 * libs/gst/controller/gst-controller.h:
24403 * libs/gst/controller/gst-helper.c:
24404 adding more entries to the docs and fix small doc-bugs
24406 2005-08-05 Stefan Kost <ensonic@users.sf.net>
24408 * docs/gst/gstreamer-docs.sgml:
24409 * docs/gst/gstreamer-sections.txt:
24410 * docs/gst/gstreamer.types:
24411 * docs/gst/tmpl/gstbasesink.sgml:
24412 * docs/gst/tmpl/gstbasesrc.sgml:
24413 * docs/gst/tmpl/gstbasetransform.sgml:
24414 * docs/gst/tmpl/gstfakesrc.sgml:
24415 * gst/base/gstcollectpads.c:
24416 * gst/base/gstcollectpads.h:
24417 * libs/gst/controller/gst-controller.c:
24418 * libs/gst/controller/gst-controller.h:
24419 * libs/gst/controller/gst-helper.c:
24420 * libs/gst/controller/gst-interpolation.c:
24421 * libs/gst/controller/lib.c:
24422 added long/short desc for controller docs
24423 added collectpads base class docs
24424 added correct includes to base-class docs
24426 2005-08-05 Stefan Kost <ensonic@users.sf.net>
24428 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
24429 (gst_test_mono_source_set_property),
24430 (gst_test_mono_source_class_init), (GST_START_TEST),
24431 (gst_controller_suite):
24432 * docs/gst/gstreamer-docs.sgml:
24433 * docs/gst/gstreamer-sections.txt:
24434 * docs/gst/gstreamer.types:
24435 * docs/libs/gstreamer-libs-docs.sgml:
24436 * docs/libs/gstreamer-libs-sections.txt:
24437 * gst/base/gstadapter.c:
24438 * libs/gst/controller/gst-controller.c:
24439 (gst_controlled_property_new), (gst_controlled_property_free),
24440 (gst_controller_new_valist),
24441 (gst_controller_remove_properties_valist),
24442 (gst_controller_sink_values), (_gst_controller_finalize):
24443 * libs/gst/controller/gst-controller.h:
24444 * libs/gst/controller/gst-helper.c:
24445 (gst_object_control_properties), (gst_object_uncontrol_properties),
24446 (gst_object_get_controller), (gst_object_set_controller),
24447 (gst_object_sink_values), (gst_object_get_value_arrays),
24448 (gst_object_get_value_array):
24449 more tests (and fixes) for the controller
24450 more docs for the controller
24451 integrated companies docs for the adapter
24453 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
24455 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
24456 (GST_START_TEST), (fakesrc_suite):
24457 add tests for sizetype
24459 2005-08-04 Andy Wingo <wingo@pobox.com>
24461 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
24462 fixes buffer_alloc proxying among other things.
24464 * gst/base/gstbasetransform.c:
24465 * gst/base/gstbasetransform.h:
24466 Revert patch to gstbasetransform from 7-28 removing
24469 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
24470 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
24471 Semantics changed, should return not the size of the output buffer
24472 but the byte size of a buffer with a given caps.
24474 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
24476 (gst_base_transform_configure_caps): Don't set out_size here: (in,
24477 out) are not the pad caps until setcaps finishes.
24478 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
24479 not-in-place case as well. Deal with changing from in-place to
24480 not-in-place within calling pad_alloc_buffer. Still a bit
24481 concerned about the overhead here...
24483 2005-08-03 Andy Wingo <wingo@pobox.com>
24485 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
24486 fixating is an error.
24488 2005-08-04 Edward Hervey <edward@fluendo.com>
24490 * gst/base/gstadapter.h:
24491 Added gst_adapter_get_type() to the header
24493 2005-08-03 Stefan Kost <ensonic@users.sf.net>
24495 * check/Makefile.am:
24496 * check/gst-libs/controller.c:
24497 * libs/gst/controller/gst-controller.c:
24498 (gst_controller_new_valist):
24499 added check test suite for the controller
24500 * gst/base/gstpushsrc.c:
24503 2005-08-03 Stefan Kost <ensonic@users.sf.net>
24505 * docs/gst/Makefile.am:
24506 * docs/gst/gstreamer-docs.sgml:
24507 * docs/gst/gstreamer-sections.txt:
24508 * docs/gst/gstreamer.types:
24509 * docs/gst/tmpl/gstfakesrc.sgml:
24511 * gst/base/gstbasesink.c:
24512 * gst/base/gstbasesink.h:
24513 * gst/base/gstbasesrc.c:
24514 * gst/base/gstbasesrc.h:
24515 * gst/base/gstbasetransform.c:
24516 * gst/base/gstpushsrc.c:
24517 * gst/base/gstpushsrc.h:
24518 add short/long description docs to base classes
24519 add pushsrc to the docs
24520 remove consolidated doc fragments
24522 2005-08-03 Stefan Kost <ensonic@users.sf.net>
24525 * docs/libs/Makefile.am:
24526 * docs/libs/gstreamer-libs-docs.sgml:
24527 * docs/libs/gstreamer-libs-sections.txt:
24528 * docs/libs/gstreamer-libs.types:
24529 * examples/Makefile.am:
24530 * examples/controller/.cvsignore:
24531 * examples/controller/Makefile.am:
24532 * examples/controller/audio-example.c: (main):
24533 * libs/gst/Makefile.am:
24534 * libs/gst/controller/.cvsignore:
24535 * libs/gst/controller/Makefile.am:
24536 * libs/gst/controller/gst-controller.c:
24537 (on_object_controlled_property_changed), (gst_timed_value_compare),
24538 (gst_timed_value_find),
24539 (gst_controlled_property_set_interpolation_mode),
24540 (gst_controlled_property_new), (gst_controlled_property_free),
24541 (gst_controller_find_controlled_property),
24542 (gst_controller_new_valist), (gst_controller_new),
24543 (gst_controller_remove_properties_valist),
24544 (gst_controller_remove_properties), (gst_controller_set),
24545 (gst_controller_set_from_list), (gst_controller_unset),
24546 (gst_controller_get), (gst_controller_get_all),
24547 (gst_controller_sink_values), (gst_controller_get_value_arrays),
24548 (gst_controller_get_value_array),
24549 (gst_controller_set_interpolation_mode),
24550 (_gst_controller_finalize), (_gst_controller_init),
24551 (_gst_controller_class_init), (gst_controller_get_type):
24552 * libs/gst/controller/gst-controller.h:
24553 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
24554 (g_object_uncontrol_properties), (g_object_get_controller),
24555 (g_object_set_controller), (g_object_sink_values),
24556 (g_object_get_value_arrays), (g_object_get_value_array):
24557 * libs/gst/controller/gst-interpolation.c:
24558 (gst_controlled_property_find_timed_value_node),
24559 (interpolate_none_get), (interpolate_trigger_get),
24560 (interpolate_trigger_get_value_array):
24561 * libs/gst/controller/lib.c: (gst_controller_init):
24562 * pkgconfig/Makefile.am:
24563 * pkgconfig/gstreamer-control-uninstalled.pc.in:
24564 * pkgconfig/gstreamer-control.pc.in:
24565 * testsuite/Makefile.am:
24566 * testsuite/controller/.cvsignore:
24567 * testsuite/controller/Makefile.am:
24568 * testsuite/controller/interpolator.c: (main):
24569 added controller code
24570 removed dparam pc files
24572 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
24573 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
24574 (gst_collectpads_stop):
24575 Broadcast the condition when shutting down, to make sure we wake all
24576 threads up. Shut down pads on finalize, for safety.
24578 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
24579 * gst/base/gstbasetransform.c: (gst_base_transform_init),
24580 (gst_base_transform_handle_buffer),
24581 (gst_base_transform_change_state):
24582 Handle PAUSED->READY->PAUSED transition after negotiation
24584 * gst/gstmessage.c: (gst_message_init):
24585 Extra piece of debug for new messages.
24587 2005-08-01 Stefan Kost <ensonic@users.sf.net>
24590 * docs/gst/tmpl/gstbasesrc.sgml:
24591 * docs/gst/tmpl/gstelement.sgml:
24592 * docs/gst/tmpl/gstevent.sgml:
24593 * docs/gst/tmpl/gstfakesrc.sgml:
24594 * docs/gst/tmpl/gstformat.sgml:
24595 * docs/gst/tmpl/gstghostpad.sgml:
24596 * docs/gst/tmpl/gstpad.sgml:
24597 * docs/gst/tmpl/gstquery.sgml:
24598 * docs/gst/tmpl/gststructure.sgml:
24599 * docs/gst/tmpl/gsttaglist.sgml:
24600 * docs/gst/tmpl/gstvalue.sgml:
24601 * docs/libs/gstreamer-libs-docs.sgml:
24602 * docs/libs/gstreamer-libs-sections.txt:
24603 * docs/libs/gstreamer-libs.types:
24604 * libs/gst/Makefile.am:
24605 * libs/gst/control/.cvsignore:
24606 * libs/gst/control/Makefile.am:
24607 * libs/gst/control/control.c:
24608 * libs/gst/control/control.h:
24609 * libs/gst/control/dparam.c:
24610 * libs/gst/control/dparam.h:
24611 * libs/gst/control/dparam_smooth.c:
24612 * libs/gst/control/dparam_smooth.h:
24613 * libs/gst/control/dparamcommon.h:
24614 * libs/gst/control/dparammanager.c:
24615 * libs/gst/control/dparammanager.h:
24616 * libs/gst/control/dplinearinterp.c:
24617 * libs/gst/control/dplinearinterp.h:
24618 * libs/gst/control/unitconvert.c:
24619 * libs/gst/control/unitconvert.h:
24620 * testsuite/Makefile.am:
24621 * testsuite/dynparams/.cvsignore:
24622 * testsuite/dynparams/Makefile.am:
24623 * testsuite/dynparams/dparamstest.c:
24624 * tools/Makefile.am:
24625 * tools/gst-inspect.c: (print_element_info), (main):
24626 * tools/gst-xmlinspect.c: (print_element_info), (main):
24627 deactivate and remove dparams (libgstcontrol)
24629 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
24631 * gst/elements/gsttypefindelement.c:
24632 (gst_type_find_element_have_type), (gst_type_find_element_init),
24633 (stop_typefinding), (gst_type_find_element_handle_event),
24634 (gst_type_find_element_chain), (gst_type_find_element_getrange):
24635 * gst/elements/gsttypefindelement.h:
24636 Set caps on all outgoing buffers, not just the first one.
24638 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
24640 * gst/elements/gsttypefindelement.c:
24641 (gst_type_find_element_have_type),
24642 (gst_type_find_element_check_set_buffer_caps),
24643 (gst_type_find_element_init), (stop_typefinding),
24644 (gst_type_find_element_handle_event),
24645 (gst_type_find_element_chain), (gst_type_find_element_getrange):
24646 * gst/elements/gsttypefindelement.h:
24647 Set caps on first outgoing buffer when we've found the type.
24649 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
24651 * docs/gst/gstreamer-docs.sgml:
24652 * docs/gst/gstreamer-sections.txt:
24653 * docs/gst/tmpl/gstscheduler.sgml:
24654 * docs/gst/tmpl/gstschedulerfactory.sgml:
24655 Remove some old cruft from docs.
24657 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
24660 Fix inline docs for GstPadLinkReturn.
24662 * gst/gststructure.c: (gst_structure_has_name):
24663 * gst/gststructure.h:
24664 * docs/gst/gstreamer-sections.txt:
24665 New API: gst_structure_has_name().
24667 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
24670 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
24671 and _LARGEFILE_SOURCE in config.h as required. Do not
24672 export those flags in our .pc files any longer (#142209).
24674 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
24676 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
24677 (gst_file_sink_do_seek), (gst_file_sink_event),
24678 (gst_file_sink_get_current_offset), (gst_file_sink_render):
24679 Redo seek/tell calls with large file support in mind; add some
24680 debugging messages; add log message that tells us when large
24681 file support is unavailable or not enabled for some reason.
24683 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
24684 Add log message that tells us when large file support
24685 is unavailable or not enabled for some reason.
24687 2005-07-29 Wim Taymans <wim@fluendo.com>
24689 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
24690 Added test for removing an element with ghostpad from a bin.
24691 Fixed test as current implementation does the right thing.
24693 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
24694 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
24695 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
24696 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
24697 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
24698 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
24699 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
24700 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
24701 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
24702 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
24703 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
24704 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
24705 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
24706 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
24707 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
24708 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
24709 * gst/gstghostpad.h:
24710 Clean up ghostpads, remove properties for internal stuff.
24713 Prepare for switching targets, not all use cases work yet.
24715 2005-07-29 Wim Taymans <wim@fluendo.com>
24717 * docs/design/part-gstghostpad.txt:
24720 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
24721 (gst_bin_remove_func):
24722 Unlinking pads while holding the bin LOCK is not a good
24725 * gst/gstpad.c: (gst_pad_class_init),
24726 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
24727 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
24728 No prob setting template after creating the pad.
24730 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
24732 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
24733 (gst_bus_peek), (gst_bus_source_dispatch),
24734 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
24735 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
24736 gst_bus_poll may be called from other threads. Handle
24737 this nicely by not making poll_data disappear off the
24738 stack once gst_bus_poll returns.
24739 gst_bus_peek now increments the refcount on the returned
24742 2005-07-29 Wim Taymans <wim@fluendo.com>
24744 * docs/design/part-gstghostpad.txt:
24745 Overview of current GhostPad datastructures and use
24746 cases for changing the target.
24748 2005-07-28 Wim Taymans <wim@fluendo.com>
24750 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24751 Added checks for hierarchy consistency whan adding linked
24754 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24755 Added check to test element scheduling without bin/pipeline.
24757 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24758 First add elements to bin, then link.
24760 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
24761 (gst_bin_remove_func):
24762 Unlink pads from elements added/removed from bin to maintain
24763 hierarchy consistency.
24765 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24767 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
24768 (gst_base_transform_handle_buffer):
24769 * gst/base/gstbasetransform.h:
24770 Remove broken delay_configure (fixes renegotiation of software
24771 scaling pipelines); remove some leftover printf()s.
24773 2005-07-28 Wim Taymans <wim@fluendo.com>
24775 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
24776 Added some more tests for wrong hierarchy
24778 * docs/design/part-overview.txt:
24781 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
24784 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
24785 (gst_element_dispose):
24786 Some more cleanups.
24788 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
24789 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
24790 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24791 (gst_pad_set_caps), (gst_pad_send_event):
24792 Check for correct hierarchy when linking pads. Moving to
24793 strict requirement for ghostpads when linking elements in
24797 Clean ups. Added WRONG_HIERARCHY return value.
24799 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24801 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
24802 Better debug if no transform is possible.
24804 2005-07-27 Wim Taymans <wim@fluendo.com>
24806 * docs/random/wtay/network-transp:
24807 Some old doc I had.
24809 2005-07-27 Wim Taymans <wim@fluendo.com>
24811 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
24812 (gst_dp_event_from_packet):
24813 Fix serialization of seek events.
24815 2005-07-27 Wim Taymans <wim@fluendo.com>
24817 * check/gst-libs/gdp.c: (GST_START_TEST):
24818 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
24819 Fix compilation and fix event serialization.
24821 2005-07-27 Wim Taymans <wim@fluendo.com>
24824 * docs/design/part-TODO.txt:
24825 * docs/design/part-events.txt:
24828 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24829 (gst_base_sink_event), (gst_base_sink_do_sync),
24830 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
24831 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24832 (gst_base_src_do_seek), (gst_base_src_event_handler),
24833 (gst_base_src_loop):
24834 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24835 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24836 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
24837 (gst_base_transform_event), (gst_base_transform_handle_buffer),
24838 (gst_base_transform_set_passthrough),
24839 (gst_base_transform_is_passthrough):
24840 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
24841 * gst/elements/gstfilesink.c: (gst_file_sink_event):
24847 * gst/gstelement.c: (gst_element_seek):
24848 * gst/gstelement.h:
24849 Update gst_element_seek.
24851 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
24852 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
24853 (gst_event_new_flush_start), (gst_event_new_flush_stop),
24854 (gst_event_new_eos), (gst_event_new_newsegment),
24855 (gst_event_parse_newsegment), (gst_event_new_tag),
24856 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
24857 (gst_event_parse_qos), (gst_event_new_seek),
24858 (gst_event_parse_seek), (gst_event_new_navigation):
24860 Make GstEvent use GstStructure. Add parsing code, make sure the
24861 API is sufficiently generic.
24862 Mark possible directions of events and serialization.
24864 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
24865 (_gst_message_copy), (gst_message_new_segment_start),
24866 (gst_message_new_segment_done), (gst_message_new_custom),
24867 (gst_message_parse_segment_start),
24868 (gst_message_parse_segment_done):
24871 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24872 (gst_pad_set_caps), (gst_pad_send_event):
24873 Update for new events.
24874 Catch events sent in wrong directions.
24876 * gst/gstqueue.c: (gst_queue_link_src),
24877 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
24878 (gst_queue_handle_src_query):
24883 Remove event code from this file.
24885 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
24886 (gst_dp_event_from_packet):
24889 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24891 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
24892 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24893 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
24894 Make debugging actually useful.
24896 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24898 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
24899 (gst_pad_fixate_caps):
24900 Implement default fixation once again, so that gst_pad_fixate()
24901 actually does anything at all. This probably needs to be some
24902 sort of a last resort, and use profile-based fixation first, but
24903 since that doesn't exist yet, this is the best we have. Fixes
24904 visualization in Totem.
24906 2005-07-22 Wim Taymans <wim@fluendo.com>
24908 * docs/design/part-events.txt:
24911 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24912 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
24913 (gst_base_sink_activate_pull):
24914 Some more comments.
24916 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
24917 (gst_fake_src_create):
24918 Fix handoff marshall.
24920 * gst/elements/gstidentity.c: (gst_identity_class_init),
24921 (gst_identity_transform_ip):
24922 We're a real inplace element.
24924 * gst/gstbus.c: (gst_bus_post):
24925 Added some comments.
24927 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
24928 * tests/muxing/case1.c: (main):
24929 * tests/sched/dynamic-pipeline.c: (main):
24930 * tests/sched/interrupt1.c: (main):
24931 * tests/sched/interrupt2.c: (main):
24932 * tests/sched/interrupt3.c: (main):
24933 * tests/sched/runxml.c: (main):
24934 * tests/sched/sched-stress.c: (main):
24935 * tests/seeking/seeking1.c: (event_received), (main):
24936 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24938 * tests/threadstate/threadstate3.c: (main):
24939 * tests/threadstate/threadstate4.c: (main):
24940 * tests/threadstate/threadstate5.c: (main):
24943 2005-07-21 Wim Taymans <wim@fluendo.com>
24945 * docs/design/part-seeking.txt:
24946 Some small additions.
24948 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24949 (gst_base_sink_get_times), (gst_base_sink_do_sync),
24950 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
24951 * gst/base/gstbasesink.h:
24952 discont values are gint64, handle the math correctly.
24954 * gst/base/gstbasesrc.c: (gst_base_src_loop):
24955 Make the basesrc report error if the source pad is not linked.
24957 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
24958 (gst_queue_loop), (gst_queue_handle_src_query),
24959 (gst_queue_src_activate_push):
24960 Make queue collect data even if the srcpad is not linked.
24961 Start pushing out data as soon as it is linked.
24963 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
24965 Added gst_flow_get_name() to ease error reporting.
24967 2005-07-20 Wim Taymans <wim@fluendo.com>
24969 * gst/gstmessage.c: (gst_message_new_segment_start),
24970 (gst_message_new_segment_done), (gst_message_parse_segment_start),
24971 (gst_message_parse_segment_done):
24972 * gst/gstmessage.h:
24973 Added a bunch of messages for advanced seeking.
24975 * gst/parse/grammar.y:
24976 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
24977 (gst_dpman_state_changed):
24978 Fix some new-pad -> pad-added signals
24980 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24982 * docs/manual/appendix-porting.xml:
24983 * docs/pwg/appendix-porting.xml:
24984 Document new-pad/state-change signal renames and the FixedList
24987 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24989 * docs/manual/advanced-autoplugging.xml:
24990 * docs/manual/basics-helloworld.xml:
24991 * docs/manual/basics-pads.xml:
24992 * docs/random/ds/0.9-suggested-changes:
24993 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
24994 * gst/gstelement.h:
24998 * gst/gststructure.c: (gst_structure_value_get_generic_type),
24999 (gst_structure_parse_array), (gst_structure_parse_value):
25000 * gst/gstvalue.c: (gst_type_is_fixed),
25001 (gst_value_list_prepend_value), (gst_value_list_append_value),
25002 (gst_value_list_get_size), (gst_value_list_get_value),
25003 (gst_value_transform_array_string), (gst_value_serialize_array),
25004 (gst_value_deserialize_array), (gst_value_intersect_array),
25005 (gst_value_is_fixed), (_gst_value_initialize):
25007 GstElement::new-pad -> pad-added, GstElement::state-change ->
25008 state-changed, GstValueFixedList -> GstValueArray, add format and
25009 flags as their own arguments in gst_element_seek() (should improve
25010 "bindeability"), remove function generators since they don't work
25011 under a whole bunch of compilers (they were deprecated already
25014 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25016 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
25017 (_gst_debug_register_funcptr):
25019 Fix illegal cast on some platforms (#309253).
25021 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25023 * gst/gstmessage.c: (gst_message_new_custom):
25024 * gst/gstmessage.h:
25025 Add _new_custom, make _new_application a macro to _new_custom.
25027 2005-07-20 Wim Taymans <wim@fluendo.com>
25029 * gst/base/gstbasesrc.c: (gst_base_src_init),
25030 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
25031 * gst/base/gstbasesrc.h:
25032 Add a gboolean to decide when to push out a discont.
25034 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25035 (gst_queue_loop), (gst_queue_handle_src_query),
25036 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
25037 (gst_queue_set_property), (gst_queue_get_property):
25040 * tests/threadstate/threadstate1.c: (main):
25041 Make a thread test compile and run... very silly..
25044 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25046 * docs/manual/appendix-porting.xml:
25047 Mention removal of libgstgconf-0.9.la and existence of gconf
25050 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25052 * docs/pwg/advanced-clock.xml:
25053 * docs/pwg/appendix-porting.xml:
25054 * docs/pwg/intro-preface.xml:
25055 * docs/pwg/other-base.xml:
25056 * docs/pwg/other-manager.xml:
25057 * docs/pwg/other-nton.xml:
25058 * docs/pwg/other-ntoone.xml:
25059 * docs/pwg/other-oneton.xml:
25060 * docs/pwg/pwg.xml:
25061 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
25062 demuxer), remove n-to-n (was never written), fix some code examples
25063 and links and update the porting section to include all this.
25065 2005-07-19 Wim Taymans <wim@fluendo.com>
25067 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
25068 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
25069 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
25070 (gst_queue_src_activate_push), (gst_queue_change_state),
25071 (gst_queue_get_property):
25073 Propagate GstFlowReturn more intelligently upstream and output
25074 an ERROR/EOS when streaming stopped due to fatal error.
25076 2005-07-19 Wim Taymans <wim@fluendo.com>
25078 * tools/gst-launch.c: (check_intr), (event_loop), (main):
25079 Don't block forever for the state change to complete, the
25080 pipeline already did with a sensible timeout.
25082 2005-07-19 Wim Taymans <wim@fluendo.com>
25084 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
25085 Make sure we never call the create function is we
25088 2005-07-19 Andy Wingo <wingo@pobox.com>
25090 * gst/parse/parse.l: Attempt to solve bug #172815.
25092 2005-07-19 Wim Taymans <wim@fluendo.com>
25094 * docs/design/part-clocks.txt:
25095 * docs/design/part-events.txt:
25096 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
25097 Small docs updates.
25098 Only update the seeking values when we are not
25101 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
25103 * gst/base/gstbasesrc.c: (gst_base_src_loop):
25104 Oops, ignore the result of gst_pad_push_event here.
25106 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
25108 * gst/base/gstbasesrc.c: (gst_base_src_loop),
25109 (gst_base_src_activate_push):
25110 Send discont event from the loop function, as pads
25111 aren't activated yet in the activate_push handler.
25113 * gst/gstbin.c: (bin_bus_handler):
25114 Don't leak element name.
25116 2005-07-18 Andy Wingo <wingo@pobox.com>
25118 * configure.ac: Use AS_LIBTOOL_TAGS.
25120 2005-07-18 Wim Taymans <wim@fluendo.com>
25122 * docs/gst/gstreamer.types:
25123 Remove deleted types.
25125 2005-07-18 Wim Taymans <wim@fluendo.com>
25127 * check/elements/gstfakesrc.c: (GST_START_TEST):
25130 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
25131 (init_popt_callback):
25133 * gst/gst_private.h:
25134 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
25135 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
25138 * gst/gstconfig.h.in:
25139 * gst/gstelement.c: (gst_element_class_init),
25140 (gst_element_set_base_time), (gst_element_get_base_time),
25141 (iterator_fold_with_resync), (gst_element_change_state),
25142 (gst_element_dispose), (gst_element_get_bus):
25143 * gst/gstelement.h:
25144 * gst/gstelementfactory.h:
25145 * gst/gsterror.c: (_gst_core_errors_init):
25148 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
25150 * gst/gstinfo.c: (_gst_debug_init):
25151 * gst/gstmessage.c: (_gst_message_copy):
25152 * gst/gstmessage.h:
25153 * gst/gstminiobject.h:
25156 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25157 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
25160 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
25161 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
25162 (gst_pipeline_get_last_stream_time):
25163 * gst/gstpipeline.h:
25164 * gst/gstpluginfeature.h:
25166 * gst/gstscheduler.c:
25167 * gst/gstscheduler.h:
25168 * gst/gststructure.h:
25169 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
25170 (gst_task_finalize), (gst_task_func), (gst_task_create),
25171 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
25172 (gst_task_stop), (gst_task_pause):
25174 * gst/gsttypefind.h:
25176 * gst/registries/gstlibxmlregistry.c: (load_feature),
25177 (gst_xml_registry_load), (gst_xml_registry_save_feature):
25178 * gst/registries/gstxmlregistry.c:
25179 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
25180 * gst/schedulers/threadscheduler.c:
25181 * libs/gst/control/dparammanager.h:
25182 * tools/gst-inspect.c: (print_element_list),
25183 (print_plugin_features), (print_element_features):
25184 * tools/gst-xmlinspect.c: (print_element_list),
25185 (print_plugin_info), (main):
25186 Removed plugable schedulers.
25187 Removed Scheduler/Manager from elements.
25188 Removed gsttypes.h, rearranged includes.
25189 Removed dependency pad<->element, element<>pipeline, and
25190 various others, fix includes.
25191 implement gst_pad_get_parent() with gst_object_get_parent()
25192 Make GstTask sefcontained.
25193 Fix _get_state() on GstBin, it did not return ASYNC with a 0
25195 Fix endless loop in iterator_fold_with_resync.
25198 2005-07-18 Wim Taymans <wim@fluendo.com>
25204 2005-07-18 Wim Taymans <wim@fluendo.com>
25207 No more cothreads.h
25209 2005-07-18 Wim Taymans <wim@fluendo.com>
25213 Let's remove these.
25215 2005-07-18 Wim Taymans <wim@fluendo.com>
25217 * docs/design/part-dynamic.txt:
25218 * docs/design/part-events.txt:
25219 * docs/design/part-seeking.txt:
25220 Some more docs in the works.
25222 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25223 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
25224 (gst_base_transform_setcaps), (gst_base_transform_get_size),
25225 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25226 (gst_base_transform_handle_buffer),
25227 (gst_base_transform_sink_activate_push),
25228 (gst_base_transform_src_activate_pull),
25229 (gst_base_transform_set_passthrough),
25230 (gst_base_transform_is_passthrough):
25233 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
25236 * gst/gstevent.c: (gst_event_finalize):
25239 * gst/gstutils.c: (gst_element_unlink),
25240 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
25241 (gst_pad_proxy_setcaps):
25243 Add _get_parent_element() to get a pads parent as an element.
25245 2005-07-18 Wim Taymans <wim@fluendo.com>
25247 * check/gst/gstbin.c: (GST_START_TEST):
25250 2005-07-18 Wim Taymans <wim@fluendo.com>
25252 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
25253 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
25254 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
25255 (gst_base_sink_event), (gst_base_sink_do_sync),
25256 (gst_base_sink_chain), (gst_base_sink_loop),
25257 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
25258 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
25260 Fix logic for returning ASYNC when not prerolled.
25262 2005-07-18 Wim Taymans <wim@fluendo.com>
25264 * gst/gstqueue.c: (gst_queue_handle_sink_event):
25265 Fix nasty refcount bug.
25267 2005-07-16 Philippe Khalaf <burger@speedy.org>
25269 * gst/elements/gstfdsrc.c:
25270 * gst/elements/gstfdsrc.h:
25271 * gst/elements/gstelements.c:
25272 * gst/elements/Makefile.am:
25273 Ported fdsrc to 0.9.
25275 2005-07-16 Wim Taymans <wim@fluendo.com>
25277 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25278 (gst_base_sink_do_sync):
25281 2005-07-16 Wim Taymans <wim@fluendo.com>
25283 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25284 (gst_base_sink_event), (gst_base_sink_get_times),
25285 (gst_base_sink_do_sync), (gst_base_sink_change_state):
25286 * gst/base/gstbasesink.h:
25287 Store and use discont values when syncing buffers as described
25290 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25291 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
25292 (gst_base_src_activate_push):
25293 Push discont event when starting.
25295 * gst/elements/gstidentity.c: (gst_identity_transform):
25298 * gst/gstbin.c: (gst_bin_change_state):
25299 Small cleanups in base_time distribution.
25301 * gst/gstelement.c: (gst_element_set_base_time),
25302 (gst_element_get_base_time), (gst_element_change_state):
25303 * gst/gstelement.h:
25304 Added methods for the base_time of the element.
25307 * gst/gstpipeline.c: (gst_pipeline_send_event),
25308 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
25309 (gst_pipeline_get_last_stream_time):
25310 * gst/gstpipeline.h:
25312 Handle seeking as described in design doc, remove stream_time
25314 Cleanups clock and stream_time selection code. Added accessors
25315 for the stream_time.
25318 2005-07-16 Andy Wingo <wingo@pobox.com>
25320 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
25323 2005-07-16 Wim Taymans <wim@fluendo.com>
25325 * check/gst/gstbin.c: (GST_START_TEST):
25326 Make elements silent as the deep_notify refs the
25327 parent, which might make the test fail.
25329 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
25330 Don't hold the lock for too long.
25332 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
25334 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
25335 Don't unref the caps we passed to gst_caps_make_writable() after
25336 passing them. gst_caps_make_writable() will do that for us.
25338 2005-07-15 Andy Wingo <wingo@pobox.com>
25340 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
25343 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
25344 own marshalling function for the handoff signal. Properly type the
25345 buffer as a buffer. Fixes some warnings. Should do a more general
25347 (gst_identity_class_init): Plug into the right marshaller.
25349 2005-07-15 Wim Taymans <wim@fluendo.com>
25351 * docs/design/part-TODO.txt:
25352 * docs/design/part-clocks.txt:
25353 * docs/design/part-element-sink.txt:
25354 * docs/design/part-events.txt:
25355 * docs/design/part-gstpipeline.txt:
25356 Updated docs, mostly DISCONT related.
25358 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
25360 * docs/pwg/building-pads.xml:
25361 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
25363 2005-07-15 Andy Wingo <wingo@pobox.com>
25365 * tools/gst-typefind.c: Update, add copyright block.
25367 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
25368 Normalize and truncate caps before fixation.
25371 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
25372 discards all but the first structure from its argument.
25374 2005-07-15 Wim Taymans <wim@fluendo.com>
25376 * gst/base/gstbasetransform.c: (gst_base_transform_init),
25377 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
25378 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25379 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25380 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
25381 (gst_base_transform_chain), (gst_base_transform_change_state),
25382 (gst_base_transform_set_passthrough),
25383 (gst_base_transform_is_passthrough):
25384 * gst/base/gstbasetransform.h:
25385 Make passthrough work using the bufferpools.
25386 Changed API a bit, subclasses have to write into a buffer
25387 provided by the base class.
25388 More debug info in nego functions.
25390 * gst/elements/gstidentity.c: (gst_identity_init),
25391 (gst_identity_transform):
25392 Port to new base class.
25394 2005-07-15 Wim Taymans <wim@fluendo.com>
25396 * gst/gstmessage.c: (gst_message_new_state_changed):
25397 * tools/gst-launch.c: (event_loop), (main):
25398 Totally dump messages in -launch with the -m option.
25399 Fix message name for State messages,
25401 2005-07-14 Wim Taymans <wim@fluendo.com>
25403 * gst/base/gstbasesrc.c: (gst_base_src_loop):
25404 Post error messages on errors.
25406 2005-07-14 Wim Taymans <wim@fluendo.com>
25408 * gst/gstcaps.c: (gst_caps_do_simplify):
25412 Define error for stream stopped.
25414 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25415 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
25416 Do proper return values.
25418 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25419 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
25420 (gst_pad_get_range):
25421 Better return values.
25424 Reorganise return values, add macro to check for fatal errors.
25426 * gst/gstqueue.c: (gst_queue_chain):
25427 Return proper GstFlowReturn values,
25429 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
25431 * docs/gst/gstreamer-sections.txt:
25432 * docs/gst/gstreamer.types:
25433 * docs/gst/tmpl/gst.sgml:
25434 * docs/gst/tmpl/gstbasesink.sgml:
25435 * docs/gst/tmpl/gstbasesrc.sgml:
25436 * docs/gst/tmpl/gstbasetransform.sgml:
25437 * docs/gst/tmpl/gstbin.sgml:
25438 * docs/gst/tmpl/gstbuffer.sgml:
25439 * docs/gst/tmpl/gstcaps.sgml:
25440 * docs/gst/tmpl/gstclock.sgml:
25441 * docs/gst/tmpl/gstcompat.sgml:
25442 * docs/gst/tmpl/gstconfig.sgml:
25443 * docs/gst/tmpl/gstelement.sgml:
25444 * docs/gst/tmpl/gstelementdetails.sgml:
25445 * docs/gst/tmpl/gstelementfactory.sgml:
25446 * docs/gst/tmpl/gstenumtypes.sgml:
25447 * docs/gst/tmpl/gsterror.sgml:
25448 * docs/gst/tmpl/gstevent.sgml:
25449 * docs/gst/tmpl/gstfakesink.sgml:
25450 * docs/gst/tmpl/gstfakesrc.sgml:
25451 * docs/gst/tmpl/gstfilesink.sgml:
25452 * docs/gst/tmpl/gstfilesrc.sgml:
25453 * docs/gst/tmpl/gstfilter.sgml:
25454 * docs/gst/tmpl/gstformat.sgml:
25455 * docs/gst/tmpl/gstghostpad.sgml:
25456 * docs/gst/tmpl/gstimplementsinterface.sgml:
25457 * docs/gst/tmpl/gstindex.sgml:
25458 * docs/gst/tmpl/gstindexfactory.sgml:
25459 * docs/gst/tmpl/gstinfo.sgml:
25460 * docs/gst/tmpl/gstiterator.sgml:
25461 * docs/gst/tmpl/gstmacros.sgml:
25462 * docs/gst/tmpl/gstmemchunk.sgml:
25463 * docs/gst/tmpl/gstminiobject.sgml:
25464 * docs/gst/tmpl/gstobject.sgml:
25465 * docs/gst/tmpl/gstpad.sgml:
25466 * docs/gst/tmpl/gstpadtemplate.sgml:
25467 * docs/gst/tmpl/gstparse.sgml:
25468 * docs/gst/tmpl/gstpipeline.sgml:
25469 * docs/gst/tmpl/gstplugin.sgml:
25470 * docs/gst/tmpl/gstpluginfeature.sgml:
25471 * docs/gst/tmpl/gstquery.sgml:
25472 * docs/gst/tmpl/gstqueue.sgml:
25473 * docs/gst/tmpl/gstregistry.sgml:
25474 * docs/gst/tmpl/gstregistrypool.sgml:
25475 * docs/gst/tmpl/gstscheduler.sgml:
25476 * docs/gst/tmpl/gstschedulerfactory.sgml:
25477 * docs/gst/tmpl/gststructure.sgml:
25478 * docs/gst/tmpl/gstsystemclock.sgml:
25479 * docs/gst/tmpl/gsttaglist.sgml:
25480 * docs/gst/tmpl/gsttagsetter.sgml:
25481 * docs/gst/tmpl/gsttrace.sgml:
25482 * docs/gst/tmpl/gsttrashstack.sgml:
25483 * docs/gst/tmpl/gsttypefind.sgml:
25484 * docs/gst/tmpl/gsttypefindfactory.sgml:
25485 * docs/gst/tmpl/gsttypes.sgml:
25486 * docs/gst/tmpl/gsturihandler.sgml:
25487 * docs/gst/tmpl/gsturitype.sgml:
25488 * docs/gst/tmpl/gstutils.sgml:
25489 * docs/gst/tmpl/gstvalue.sgml:
25490 * docs/gst/tmpl/gstversion.sgml:
25491 * docs/gst/tmpl/gstxml.sgml:
25492 * docs/libs/tmpl/gstcontrol.sgml:
25493 * docs/libs/tmpl/gstdataprotocol.sgml:
25494 * docs/libs/tmpl/gstdparam.sgml:
25495 * docs/libs/tmpl/gstdplinint.sgml:
25496 * docs/libs/tmpl/gstdpman.sgml:
25497 * docs/libs/tmpl/gstdpsmooth.sgml:
25498 * docs/libs/tmpl/gstgetbits.sgml:
25499 * docs/libs/tmpl/gstunitconvert.sgml:
25500 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
25501 (gst_push_src_base_init), (gst_push_src_class_init),
25502 (gst_push_src_init), (gst_push_src_create):
25503 * gst/base/gstpushsrc.h:
25504 * gst/elements/gstelements.c:
25505 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
25506 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
25507 (gst_fake_sink_init), (gst_fake_sink_set_property),
25508 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
25509 (gst_fake_sink_event), (gst_fake_sink_preroll),
25510 (gst_fake_sink_render), (gst_fake_sink_change_state):
25511 * gst/elements/gstfakesink.h:
25512 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
25513 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
25514 (gst_fake_src_base_init), (gst_fake_src_class_init),
25515 (gst_fake_src_init), (gst_fake_src_event_handler),
25516 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
25517 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
25518 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
25519 (gst_fake_src_create_buffer), (gst_fake_src_create),
25520 (gst_fake_src_start), (gst_fake_src_stop):
25521 * gst/elements/gstfakesrc.h:
25522 * gst/elements/gstfilesink.c: (_do_init),
25523 (gst_file_sink_base_init), (gst_file_sink_class_init),
25524 (gst_file_sink_init), (gst_file_sink_dispose),
25525 (gst_file_sink_set_location), (gst_file_sink_set_property),
25526 (gst_file_sink_get_property), (gst_file_sink_open_file),
25527 (gst_file_sink_close_file), (gst_file_sink_query),
25528 (gst_file_sink_event), (gst_file_sink_render),
25529 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
25530 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
25531 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
25532 * gst/elements/gstfilesink.h:
25533 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
25534 (gst_file_src_class_init), (gst_file_src_init),
25535 (gst_file_src_finalize), (gst_file_src_set_location),
25536 (gst_file_src_set_property), (gst_file_src_get_property),
25537 (gst_file_src_map_region), (gst_file_src_map_small_region),
25538 (gst_file_src_create_mmap), (gst_file_src_create_read),
25539 (gst_file_src_create), (gst_file_src_is_seekable),
25540 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
25541 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
25542 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
25543 (gst_file_src_uri_handler_init):
25544 * gst/elements/gstfilesrc.h:
25545 more autistic cleanliness in functions/names/defines
25547 2005-07-13 Andy Wingo <wingo@pobox.com>
25549 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
25550 source couldn't negotiate.
25552 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
25556 * gst/gstutils.c (gst_element_link_pads_filtered): New old
25557 function. I am channeling Hades. Put your boots on suckers!!!
25559 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
25561 * testsuite/caps/Makefile.am:
25562 * testsuite/caps/value_compare.c:
25563 * testsuite/caps/value_intersect.c:
25564 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
25565 move two testsuite apps over to the check dir
25567 2005-07-12 Wim Taymans <wim@fluendo.com>
25569 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
25570 Added more debug info in the negotiate process.
25572 * gst/gstmessage.h:
25573 Prepare for segment playback.
25575 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
25581 * tools/gst-launch.c: (main):
25582 NULL pipeline on errors.
25584 2005-07-12 Andy Wingo <wingo@pobox.com>
25586 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
25587 not it comes from a malloc region. Make sure our copy gets freed.
25589 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
25591 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
25592 * check/gst/gstmessage.c: (GST_START_TEST):
25593 * check/gst/gststructure.c: (GST_START_TEST),
25594 (gst_structure_suite), (main):
25596 * gst/gstelement.c: (gst_element_message_full):
25597 clean up GError and debug string now that they get copied
25598 * gst/gstmessage.c: (gst_message_new_error),
25599 (gst_message_new_warning), (gst_message_parse_error),
25600 (gst_message_parse_warning):
25601 use GST_TYPE_G_ERROR for structure_new, and take copies of
25602 arguments, so that we don't mess up refcounting
25604 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
25606 * check/Makefile.am:
25607 add per-test valgrind targets
25608 * check/gst-libs/gdp.c: (GST_START_TEST),
25609 (gst_data_protocol_suite), (main):
25612 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
25614 * check/Makefile.am:
25615 instate more valgrindable tests
25616 * check/elements/gstfakesrc.c: (chain_func), (event_func),
25617 (GST_START_TEST), (fakesrc_suite):
25618 * check/gst/gstpad.c: (GST_START_TEST):
25619 * check/gst/gststructure.c: (GST_START_TEST):
25621 * docs/gst/tmpl/gstminiobject.sgml:
25622 * gst/gstpad.c: (gst_pad_finalize):
25623 fix the static mutex leak
25625 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
25627 * check/Makefile.am:
25628 add two more tests for valgrinding
25629 * check/gst/gstvalue.c: (GST_START_TEST):
25630 test refcount of deserialized buffer, found a leak
25631 * docs/gst/gstreamer-docs.sgml:
25632 * docs/gst/gstreamer-sections.txt:
25633 * docs/gst/gstreamer.types:
25634 * docs/gst/tmpl/gstminiobject.sgml:
25635 add miniobject to docs
25636 * gst/gstminiobject.c:
25638 * gst/gstvalue.c: (gst_value_deserialize_buffer),
25639 (gst_string_unwrap):
25640 fix a hard-to-find invalid write for one of the tests
25641 fix a leak for deserialized buffers
25643 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25645 * docs/pwg/advanced-events.xml:
25646 * docs/pwg/advanced-request.xml:
25647 * docs/pwg/advanced-scheduling.xml:
25648 * docs/pwg/appendix-porting.xml:
25649 * docs/pwg/building-boiler.xml:
25650 * docs/pwg/intro-preface.xml:
25651 * docs/pwg/other-ntoone.xml:
25652 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
25653 of example code and explanation for pad activation, loop() and
25654 getrange() functions and a bit more. Remove old comments pointing
25656 * examples/pwg/Makefile.am:
25657 Add loop/getrange examples.
25659 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
25662 check for valgrind binary + some fixes
25664 valgrind suppressions for the tests
25665 * check/Makefile.am:
25666 add a valgrind: target that valgrinds the unit tests
25667 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
25668 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25669 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25670 * check/gst/gstghostpad.c:
25672 * check/gst/gstdata.c:
25674 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
25675 (thread_unref), (gst_mini_object_suite), (main):
25677 * gst/gst.c: (gst_deinit):
25679 add a method to clean up.
25680 * gst/gstsystemclock.c: (gst_system_clock_dispose),
25681 (gst_system_clock_obtain):
25682 allow for disposing the system clock.
25683 * tools/gst-launch.c: (main):
25686 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
25688 * docs/gst/tmpl/gstbasesrc.sgml:
25689 * docs/gst/tmpl/gstfakesrc.sgml:
25690 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
25691 (gst_base_src_init), (gst_base_src_set_property),
25692 (gst_base_src_get_property), (gst_base_src_get_range),
25693 (gst_base_src_start):
25694 * gst/base/gstbasesrc.h:
25695 add num-buffers property
25696 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25697 (gst_fakesrc_init), (gst_fakesrc_set_property),
25698 (gst_fakesrc_get_property), (gst_fakesrc_create),
25699 (gst_fakesrc_start):
25700 remove num-buffers property
25702 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
25704 * docs/gst/gstreamer-sections.txt:
25705 * docs/gst/tmpl/gstbasesink.sgml:
25706 * docs/gst/tmpl/gstbasesrc.sgml:
25707 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
25708 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
25709 (gst_base_sink_finalize), (gst_base_sink_set_clock),
25710 (gst_base_sink_set_property), (gst_base_sink_get_property),
25711 (gst_base_sink_handle_object), (gst_base_sink_event),
25712 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
25713 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
25714 (gst_base_sink_loop), (gst_base_sink_deactivate),
25715 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
25716 (gst_base_sink_change_state):
25717 * gst/base/gstbasesink.h:
25718 * gst/base/gstbasesrc.h:
25719 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
25720 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
25721 (gst_filesink_init):
25722 more macro splitting
25724 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
25726 * gst/gstelement.c: (gst_element_get_bus):
25728 * tools/gst-launch.c: (check_intr), (event_loop):
25731 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
25733 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
25736 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
25738 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
25739 (gst_base_src_finalize):
25740 add finalize method and clean up properly
25741 * gst/gstpipeline.c: (gst_pipeline_dispose):
25744 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
25746 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
25748 add more things to check
25749 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
25750 * gst/gstelement.c:
25753 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
25755 * check/elements/gstfakesrc.c: (chain_func), (event_func),
25756 (GST_START_TEST), (fakesrc_suite):
25757 * check/gst-libs/gdp.c: (GST_START_TEST):
25758 * check/gst/gst.c: (GST_START_TEST):
25759 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
25760 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25761 * check/gst/gstbus.c: (GST_START_TEST):
25762 * check/gst/gstcaps.c: (GST_START_TEST):
25763 * check/gst/gstdata.c: (GST_START_TEST):
25764 * check/gst/gstelement.c: (GST_START_TEST):
25765 * check/gst/gstghostpad.c: (GST_START_TEST):
25766 * check/gst/gstiterator.c: (GST_START_TEST):
25767 * check/gst/gstmessage.c: (GST_START_TEST):
25768 * check/gst/gstobject.c: (GST_START_TEST):
25769 * check/gst/gstpad.c: (GST_START_TEST):
25770 * check/gst/gststructure.c: (GST_START_TEST):
25771 * check/gst/gstsystemclock.c: (GST_START_TEST),
25772 (gst_systemclock_suite):
25773 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
25774 * check/gst/gstvalue.c: (GST_START_TEST):
25775 * check/pipelines/cleanup.c: (GST_START_TEST):
25776 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
25777 * check/states/sinks.c: (GST_START_TEST):
25778 * check/gstcheck.c: (gst_check_init):
25779 * check/gstcheck.h:
25780 add debugging category
25781 use GST_START_TEST now, so we add a debug line
25783 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
25785 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
25786 add test for state change message on a bin
25787 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
25789 * gst/gstbin.c: (gst_bin_init):
25790 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
25791 * gst/gstelement.c: (gst_element_post_message),
25792 (gst_element_set_state):
25793 * gst/gstelementfactory.c: (gst_element_factory_create):
25794 * gst/gstmessage.c: (gst_message_new):
25795 * gst/gstscheduler.c:
25796 various debugging additions and cleanups
25798 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
25800 * check/Makefile.am:
25801 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
25803 adding tests for elements
25804 * gst/gstelement.c: (gst_element_dispose):
25806 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
25808 * gst/registries/gstlibxmlregistry.c: (load_feature):
25809 plug more leaks. A simple gst_init() now is leakfree, yay.
25811 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
25813 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
25814 (gst_xml_registry_load):
25815 plug another memleak
25817 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
25820 use GST_SET_ERROR_CFLAGS
25821 * docs/faq/cvs.xml:
25822 change to ERROR_CFLAGS
25824 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
25827 make GST_ERROR_CFLAGS overridable and re-enable Werror
25828 * docs/faq/cvs.xml:
25829 add a note about error CFLAGS
25830 * docs/gst/tmpl/gstfakesrc.sgml:
25831 * gst/elements/gstfakesrc.c:
25832 comment out some unused code
25833 * gst/gst.c: (split_and_iterate):
25834 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
25838 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
25840 * common/Makefile.am:
25841 * common/gtk-doc.mak:
25842 * docs/gst/Makefile.am:
25843 factor out gtk-doc.mak
25845 2005-07-07 Wim Taymans <wim@fluendo.com>
25847 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
25848 (gst_thread_scheduler_dispose):
25849 Unlock the STREAM_LOCK completely.
25851 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
25853 * check/Makefile.am:
25854 * check/elements/.cvsignore:
25855 * check/elements/gstfakesrc.c: (chain_func), (event_func),
25856 (START_TEST), (fakesrc_suite), (main):
25857 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25858 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
25859 (gst_fakesrc_create), (gst_fakesrc_start):
25860 * gst/elements/gstfakesrc.h:
25861 adding a first element test
25863 2005-07-07 Andy Wingo <wingo@pobox.com>
25865 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
25868 2005-07-07 Wim Taymans <wim@fluendo.com>
25874 2005-07-07 Wim Taymans <wim@fluendo.com>
25876 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
25877 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
25878 Allow subclasses to implement their own negotiation.
25880 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
25882 * docs/design/part-gstbin.txt:
25883 * docs/design/part-gstpipeline.txt:
25884 Update design notes to reflect the movement of
25885 responsibility for bus handling from GstPipeline to
25888 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
25891 Remove unnecessary queue2/3/4 examples.
25893 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
25895 * examples/Makefile.am:
25896 * examples/helloworld/helloworld.c: (event_loop), (main):
25897 * examples/queue/queue.c: (event_loop), (main):
25898 * examples/queue2/queue2.c: (main):
25899 Update a couple of the examples to work again.
25901 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
25902 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
25903 Spelling corrections and extra debug.
25905 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
25906 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
25907 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
25909 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
25910 (gst_pipeline_change_state):
25911 * gst/gstpipeline.h:
25912 Move the bus handler for children to the GstBin, and create a
25913 separate bus for receiving messages from children to the one the
25914 bus sends 'upwards' on.
25916 2005-07-06 Wim Taymans <wim@fluendo.com>
25919 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
25920 (gst_base_sink_handle_object), (gst_base_sink_loop),
25921 (gst_base_sink_change_state):
25922 * gst/base/gstbasesink.h:
25923 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
25924 (gst_base_src_init), (gst_base_src_setcaps),
25925 (gst_base_src_getcaps), (gst_base_src_loop),
25926 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
25927 (gst_base_src_start), (gst_base_src_change_state):
25928 * gst/base/gstbasesrc.h:
25929 Make basesrc negotiate.
25930 Handle the case where preroll fails in basesink.
25933 2005-07-06 Wim Taymans <wim@fluendo.com>
25935 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
25936 Implement the fixate function.
25937 Clean up acceptcaps.
25939 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25941 * docs/pwg/building-filterfactory.xml:
25942 * docs/pwg/pwg.xml:
25943 Remove never-written filter-factory chapter; I'll add the various
25944 base classes to part 4 ("other element types") later on.
25946 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25948 * docs/pwg/advanced-negotiation.xml:
25949 * docs/pwg/building-boiler.xml:
25950 * docs/pwg/building-pads.xml:
25951 * docs/pwg/pwg.xml:
25952 * examples/pwg/Makefile.am:
25953 Add a chapter on caps negotiation, simplify the original code
25954 samples a bit w.r.t. caps negotiation, add link to the advanced
25955 section. Add a bunch of examples showing different use cases of
25956 different types of caps negotiation. Upstream renegotiation isn't
25957 fully documented yet since nobody knows how that works.
25959 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
25961 * check/gst/gstpad.c:
25962 * check/gstcheck.c:
25963 * gst/gstpad.c: (gst_pad_get_internal_links_default):
25964 if pad has no parent, return NULL as list of internal links
25966 2005-07-05 Andy Wingo <wingo@pobox.com>
25968 * gst/elements/gstfilesrc.c:
25969 * gst/elements/gstfakesrc.c:
25970 * gst/base/gstpushsrc.c:
25971 * gst/base/gstbasesrc.h:
25972 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
25974 2005-07-05 Stefan Kost <ensonic@users.sf.net>
25977 better report generation target (lcov needs a patch)
25979 2005-07-05 Andy Wingo <wingo@pobox.com>
25981 * gst/elements, testsuite: Null if we got it...
25983 2005-07-05 Wim Taymans <wim@fluendo.com>
25986 * libs/gst/dataprotocol/Makefile.am:
25987 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
25988 * libs/gst/dataprotocol/dataprotocol.h:
25989 * pkgconfig/Makefile.am:
25990 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
25991 * pkgconfig/gstreamer-dataprotocol.pc.in:
25992 Ported dataprotol to 0.9.
25993 Added pkgconfig files.
25995 2005-07-05 Andy Wingo <wingo@pobox.com>
25997 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
25998 Default to returning TRUE for the case when tranform_caps returns
25999 a fixed caps, like for identity or volume.
26001 * check/gst/gstbus.c (pound_bus_with_messages):
26002 * check/gst/gstmessage.c (START_TEST):
26003 * check/pipelines/simple_launch_lines.c (got_handoff): Application
26004 message API change.
26006 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
26007 logic weaks here: always run transform_caps, trying passthrough
26008 operation only if the original caps intersects with the transform.
26010 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
26011 source and sink caps.
26013 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
26014 Intersect the peer caps with the pad template before going into
26016 (gst_base_transform_transform_caps): More debugging.
26018 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
26021 2005-07-04 Edward Hervey <edward@fluendo.com>
26025 (gst_pad_add_*_probe): now returns the signal id for better wrapping
26028 2005-07-04 Andy Wingo <wingo@pobox.com>
26030 * check/gst/gstpad.c: Only set explicit caps on pads.
26032 2005-07-01 Andy Wingo <wingo@pobox.com>
26034 * tests/network-clock.scm: Commentary update.
26036 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
26037 Didn't really make sense, not implementable with basetransform,
26039 (gst_identity_transform): Unref inbuf via make_writable. Feeble
26040 attempt at implementing the sync property, needs an unlock method.
26042 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
26043 New func, by default returns the same caps (the identity
26045 (gst_base_transform_getcaps): Uses transform_caps to return
26046 something sensible.
26047 (gst_base_transform_setcaps): Complicated logic to get caps on
26048 both pads, even if they are different, and to call set_caps once
26049 for every time both pads get their caps set.
26050 (gst_base_transform_handle_buffer): Give the ref to the transform
26051 function. Allows in-place modification of the buffer.
26053 * gst/base/gstbasetransform.h (transform_caps): New class method.
26054 Given caps on one side, what can I do on the other.
26055 (set_caps): Take two caps, one for each side of the element.
26058 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
26059 caps in place. This is safe because we can check the mutability of
26060 the caps, and a good idea because fixate functions are just called
26061 as a matter of last resort. (Not actually implemented.)
26062 (gst_pad_set_caps): If the caps we're setting is actually the same
26063 as the existing pad caps, just update the pointer without calling
26064 setcaps. Assert that caps is either NULL or fixed, as per the
26067 * gst/gstghostpad.c: Update for fixate changes.
26069 2005-07-02 Andy Wingo <wingo@pobox.com>
26072 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
26073 two refcounts makes it immutable, which is enough. Doc more.
26075 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
26077 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
26078 Put the mini_object into GValue as a mini_object,
26079 not a gpointer, since that's how we declared
26082 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26084 * examples/pwg/Makefile.am:
26085 Fix buildbot again.
26087 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26089 * docs/pwg/building-testapp.xml:
26091 * examples/pwg/Makefile.am:
26094 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26097 * examples/Makefile.am:
26098 * examples/pwg/Makefile.am:
26099 * examples/pwg/extract.pl:
26100 Enable building the PWG examples.
26101 * docs/pwg/advanced-interfaces.xml:
26102 Add URI interface stub.
26103 * docs/pwg/advanced-types.xml:
26104 * docs/pwg/other-autoplugger.xml:
26105 * docs/pwg/appendix-porting.xml:
26106 * docs/pwg/pwg.xml:
26107 Add porting guide (mostly stubs), remove autoplugging (see ADM).
26108 * docs/pwg/building-boiler.xml:
26109 * docs/pwg/building-chainfn.xml:
26110 * docs/pwg/building-pads.xml:
26111 * docs/pwg/building-props.xml:
26112 * docs/pwg/building-state.xml:
26113 * docs/pwg/building-testapp.xml:
26114 Update the building-*.xml parts for 0.9 changes. All examples
26115 code blocks compile in examples/pwg/*.
26117 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26119 * docs/manual/advanced-autoplugging.xml:
26120 * docs/manual/appendix-checklist.xml:
26121 * docs/manual/appendix-integration.xml:
26122 * docs/manual/highlevel-components.xml:
26123 Fix playbin/decodebin examples, update docs a bit, mention bus
26124 instead of signals in various places, mention kmplayer and
26125 kaffeine since they have a working GStreamer backend in the KDE
26128 2005-06-30 Wim Taymans <wim@fluendo.com>
26131 * docs/design/draft-ghostpads.txt:
26132 * docs/design/draft-push-pull.txt:
26133 * docs/design/draft-query.txt:
26134 * docs/design/part-TODO.txt:
26135 * docs/design/part-query.txt:
26136 Added CHANGES-0.9 doc, updated status of other docs.
26141 2005-06-30 Wim Taymans <wim@fluendo.com>
26143 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26144 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
26145 (gst_base_sink_change_state):
26146 * gst/base/gstbasesink.h:
26147 Some tweaks, only EOS and a buffer complete a preroll.
26149 2005-06-30 Andy Wingo <wingo@pobox.com>
26151 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
26152 activate_push down to the internal pad as well.
26154 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
26156 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26158 * gst/gsttaginterface.c:
26159 Some documentation fixes (#307394 and #307397).
26161 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
26163 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26165 * gst/gstvalue.c: (gst_value_intersect_list):
26166 Fix memleak (#309125).
26168 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26170 * docs/manual/advanced-dataaccess.xml:
26171 Fix fakesrc example to compile; doesn't work, bug somewhere...?
26172 * docs/manual/basics-pads.xml:
26173 Add reference for filtered caps to above chapter.
26175 2005-06-30 Wim Taymans <wim@fluendo.com>
26177 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
26178 (gst_bin_change_state):
26180 Lame attempt at making the state change function a bit
26183 2005-06-30 Wim Taymans <wim@fluendo.com>
26185 * docs/design/part-clocks.txt:
26186 * docs/design/part-element-sink.txt:
26187 * docs/design/part-events.txt:
26188 * docs/design/part-preroll.txt:
26189 * docs/design/part-states.txt:
26190 Some more tweeks and additions to the docs.
26192 2005-06-30 Wim Taymans <wim@fluendo.com>
26194 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26195 (default_have_data), (gst_pad_class_init), (gst_pad_init),
26196 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
26197 (gst_pad_check_pull_range), (gst_pad_get_range),
26198 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
26200 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
26201 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
26202 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
26203 (gst_pad_remove_buffer_probe):
26204 Removed atomic operations, use existing LOCK.
26205 Move exception handling out of main code path.
26207 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26209 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26210 (silly_return_true_function), (gst_pad_class_init),
26211 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
26212 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
26213 (gst_pad_send_event):
26214 Fix accumulator, add default value by using _emitv() instead
26215 of _emit() for signal emission.
26217 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26219 * docs/manual/advanced-dataaccess.xml:
26220 * examples/manual/Makefile.am:
26222 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
26225 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
26227 * gst/elements/gstfilesink.c: (gst_filesink_render):
26228 Simplify code so that we don't have to handle short
26229 writes and return GST_FLOW_ERROR if an error occured.
26231 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26233 * docs/gst/gstreamer-docs.sgml:
26234 Remove probes more.
26236 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26238 * docs/gst/gstreamer-sections.txt:
26239 * docs/gst/tmpl/gstpad.sgml:
26240 * docs/gst/tmpl/gstprobe.sgml:
26242 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26243 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
26244 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
26245 (gst_pad_push_event), (gst_pad_send_event):
26247 * gst/gstutils.c: (gst_pad_add_data_probe),
26248 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
26249 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
26250 (gst_pad_remove_buffer_probe):
26252 Remove old probes, add new g-signal-based probes and some utility
26255 2005-06-29 Edward Hervey <edward@fluendo.com>
26257 * gst/gstelementfactory.c:
26260 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
26261 the definition to the header file.
26263 2005-06-29 Andy Wingo <wingo@pobox.com>
26265 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
26266 plugins from the source directory.
26268 2005-06-29 Wim Taymans <wim@fluendo.com>
26270 * docs/gst/tmpl/gstbuffer.sgml:
26271 * docs/gst/tmpl/gstclock.sgml:
26272 Some fixings for blantently wrong text.
26274 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
26276 * check/Makefile.am:
26277 * gst/gst.c: (add_path_func), (init_pre):
26278 * gst/gstregistry.c: (gst_registry_add_path):
26279 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
26280 only scan the GST_PLUGIN_PATH locations, and not add
26283 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
26285 * docs/gst/gstreamer-sections.txt:
26286 * docs/gst/tmpl/gstbasesrc.sgml:
26287 * gst/gstelement.c:
26288 * gst/gstelement.h:
26293 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26295 * docs/manual/advanced-autoplugging.xml:
26296 Fix autoplugging example.
26298 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26300 * docs/manual/advanced-autoplugging.xml:
26301 * docs/manual/mime-world.fig:
26302 Try to get autoplugging working, fix type detection. Fix text
26303 in hello-world image.
26305 2005-06-29 Wim Taymans <wim@fluendo.com>
26307 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26308 (gst_base_sink_change_state):
26312 map SIGNAL and BROADCAST to the right function.
26315 Remove redundant braces.
26317 * gst/gstpad.c: (gst_pad_set_caps):
26318 Don't call setcaps function when reseting caps to NULL.
26320 * gst/gstsystemclock.c: (gst_system_clock_dispose),
26321 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
26322 (gst_system_clock_id_unschedule):
26323 Use BROADCAST as this is what we do.
26325 2005-06-29 Wim Taymans <wim@fluendo.com>
26327 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26328 We are actually prerolling before commiting the state
26331 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26333 * docs/manual/advanced-clocks.xml:
26334 * docs/manual/advanced-interfaces.xml:
26335 * docs/manual/advanced-metadata.xml:
26336 * docs/manual/advanced-position.xml:
26337 * docs/manual/advanced-schedulers.xml:
26338 * docs/manual/advanced-threads.xml:
26339 * docs/manual/appendix-porting.xml:
26340 * docs/manual/basics-bins.xml:
26341 * docs/manual/basics-bus.xml:
26342 * docs/manual/basics-elements.xml:
26343 * docs/manual/basics-helloworld.xml:
26344 * docs/manual/basics-pads.xml:
26345 * docs/manual/highlevel-components.xml:
26346 * docs/manual/manual.xml:
26347 * docs/manual/thread.fig:
26348 Update (until threads/scheduling) Application Development Manual;
26349 remove GstThread, add GstBus, add simple porting checklist, add
26350 documentation for tag writing, clocks, make all examples until this
26351 part compile and run.
26352 * examples/manual/Makefile.am:
26353 Update from changes to Application Development Manual; add bus
26354 example, remove thread example.
26356 2005-06-28 Wim Taymans <wim@fluendo.com>
26358 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
26359 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
26360 (gst_bus_source_dispatch):
26361 Add debugging messages.
26362 Make internal methods static.
26363 Handle the case where the bus is flushed in the handler.
26365 * gst/gstelement.c: (gst_element_get_bus):
26366 Fix refcount in _get_bus();
26368 * gst/gstpipeline.c: (gst_pipeline_change_state),
26369 (gst_pipeline_get_clock_func):
26370 Clock refcounting fixes.
26371 Handle the case where preroll timed out more gracefully.
26373 * gst/gstsystemclock.c: (gst_system_clock_dispose):
26374 Clean up the internal thread in dispose. This is needed
26375 for subclasses that actually get disposed.
26377 * gst/schedulers/threadscheduler.c:
26378 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
26379 (gst_thread_scheduler_dispose):
26380 Free thread pool in dispose.
26382 2005-06-28 Andy Wingo <wingo@pobox.com>
26384 * tests/network-clock-utils.scm (debug, print-event): New utils.
26386 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
26387 (*packet-loss*): Unified loss probability.
26388 (network-time): Report out-of-band events.
26390 * tests/plot-data: Add support for out-of-band events. Hack it
26391 into this script instead of passing it down the pipe; should fix
26394 2005-06-28 Wim Taymans <wim@fluendo.com>
26396 * docs/gst/gstreamer.types:
26397 * docs/gst/tmpl/gstbasesrc.sgml:
26398 * docs/gst/tmpl/gstpad.sgml:
26401 2005-06-28 Wim Taymans <wim@fluendo.com>
26403 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26404 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
26405 (gst_proxy_pad_do_fixatecaps):
26406 Correctly proxy the check_pull_range function.
26408 2005-06-28 Andy Wingo <wingo@pobox.com>
26410 * tests/network-clock.scm: Removed need for slib.
26412 2005-06-28 Wim Taymans <wim@fluendo.com>
26414 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
26415 (gst_basesink_preroll_queue_flush):
26416 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
26417 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
26418 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26419 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
26420 (gst_proxy_pad_set_property):
26423 * gst/gstqueue.c: (gst_queue_init):
26424 The deprecated pad loop function is removed now.
26426 2005-06-28 Andy Wingo <wingo@pobox.com>
26428 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
26429 New parameters, simulate network packet loss.
26431 * tests/network-clock-utils.scm: Initialize the RNG.
26433 2005-06-28 Wim Taymans <wim@fluendo.com>
26435 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
26436 (gst_basesink_event), (gst_basesink_deactivate):
26437 Flushing the preroll queue always needs to unlock the waiters.
26439 2005-06-28 Edward Hervey <edward@fluendo.com>
26441 * gst/gstpipeline.c: (gst_pipeline_send_event):
26442 Wheen a seek was successful on a pipeline, set the stream_time to the
26443 seek offset in order to have a synchronized stream_time.
26445 2005-06-28 Wim Taymans <wim@fluendo.com>
26447 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26448 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
26449 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
26450 (gst_proxy_pad_do_fixatecaps):
26451 Call wrapper function instead of just calling the function
26452 pointers. This takes care of any locking and whatmore.
26454 2005-06-28 Wim Taymans <wim@fluendo.com>
26456 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
26457 (gst_pad_pull_range):
26459 CONNECTED -> LINKED.
26461 2005-06-28 Andy Wingo <wingo@pobox.com>
26463 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
26464 source-munging commit!!!
26466 * gst/gstobject.c (gst_object_unref, gst_object_ref)
26467 (gst_object_sink): Take gpointer arguments, not GstObject --
26468 avoids casts. Like GLib.
26470 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
26473 2005-06-27 Andy Wingo <wingo@pobox.com>
26475 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
26478 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
26479 returns a sorted copy of the trace list.
26480 (gst_alloc_trace_print_live): New API, only prints traces with
26481 live objects. Sort the list.
26482 (gst_alloc_trace_print_all): Sort the list.
26483 (gst_alloc_trace_print): Align columns.
26485 * gst/elements/gstttypefindelement.c:
26486 * gst/elements/gsttee.c:
26487 * gst/base/gstbasesrc.c:
26488 * gst/base/gstbasesink.c:
26489 * gst/base/gstbasetransform.c:
26490 * gst/gstqueue.c: Adapt for pad activation changes.
26492 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
26494 (gst_pipeline_dispose): Drop ref on sched.
26496 * gst/gstpad.c (gst_pad_init): Set the default activate func.
26497 (gst_pad_activate_default): Push mode by default.
26498 (pre_activate_switch, post_activate_switch): New stubs, things to
26499 do before and after switching activation modes on pads.
26500 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
26501 the pad's activate function to choose which mode to activate.
26502 Shortcut on deactivation and call the right function directly.
26503 (gst_pad_activate_pull): New API, (de)activates a pad in pull
26505 (gst_pad_activate_push): New API, same for push mode.
26506 (gst_pad_set_activate_function)
26507 (gst_pad_set_activatepull_function)
26508 (gst_pad_set_activatepush_function): Setters for new API.
26510 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
26511 Trace all miniobjects.
26512 (gst_mini_object_make_writable): Unref the arg if we copy, like
26513 gst_caps_make_writable.
26515 * gst/gstmessage.c (_gst_message_initialize): No trace init.
26517 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
26518 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
26519 Adapt for new pad API.
26521 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
26523 * gst/gstelement.h:
26524 * gst/gstelement.c (gst_element_iterate_src_pads)
26525 (gst_element_iterate_sink_pads): New API functions.
26527 * gst/gstelement.c (iterator_fold_with_resync): New utility,
26528 should fold into gstiterator.c in some form.
26529 (gst_element_pads_activate): Simplified via use of fold and
26530 delegation of decisions to gstpad->activate.
26532 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
26535 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
26536 class once in init, like gstmessage. Didn't run into this issue
26537 but it seems correct. Don't initialize a trace, gstminiobject does
26540 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
26541 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
26543 (assert_live_count): New util function, uses alloc traces to check
26546 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
26547 To be modified when unlink drops the internal pad.
26549 2005-06-27 Wim Taymans <wim@fluendo.com>
26551 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
26552 (gst_bin_change_state):
26553 Cleanup the get_state() function a little, make sure it
26554 iterates the same set of elements.
26555 Added stub iterate_state_order().
26557 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
26559 * docs/gst/gstreamer-docs.sgml:
26560 * docs/gst/gstreamer-sections.txt:
26561 * docs/gst/gstreamer.types:
26562 * docs/gst/tmpl/gstbasesink.sgml:
26563 * docs/gst/tmpl/gstbasesrc.sgml:
26564 * docs/gst/tmpl/gstbasetransform.sgml:
26565 * docs/gst/tmpl/gstelement.sgml:
26566 * docs/gst/tmpl/gstiterator.sgml:
26567 * gst/base/gstbasesrc.c:
26568 * gst/base/gstbasesrc.h:
26569 * gst/base/gstbasetransform.h:
26570 * gst/gstelement.c:
26571 * gst/gstiterator.h:
26572 adding basetransform and iterator docs
26574 2005-06-27 Andy Wingo <wingo@pobox.com>
26576 * docs/design/part-activation.txt: Notes on how activation should
26577 work -- not quite implemented yet.
26579 2005-06-25 Wim Taymans <wim@fluendo.com>
26581 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
26582 At least get the chain function correct, needs more
26585 2005-06-25 Wim Taymans <wim@fluendo.com>
26587 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26588 (gst_basesink_handle_object), (gst_basesink_event),
26589 (gst_basesink_do_sync), (gst_basesink_handle_event),
26590 (gst_basesink_change_state):
26592 Right, two problems here: ghostpads don't take locks and
26593 glib _rec_mutex_lock_full() with depth==0 still locks.
26594 Catch illegal locking and g_warn them.
26596 2005-06-25 Wim Taymans <wim@fluendo.com>
26598 * check/states/sinks.c: (START_TEST), (gst_object_suite):
26599 Have to check for completion now...
26601 2005-06-25 Wim Taymans <wim@fluendo.com>
26603 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26604 (gst_basesink_handle_object), (gst_basesink_event),
26605 (gst_basesink_do_sync), (gst_basesink_handle_event),
26606 (gst_basesink_change_state):
26608 Unlock STREAM_LOCK whatever the recursion was.
26610 2005-06-25 Wim Taymans <wim@fluendo.com>
26612 * gst/base/gstbasesink.c: (gst_basesink_set_property),
26613 (gst_basesink_preroll_queue_empty),
26614 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
26615 (gst_basesink_event), (gst_basesink_do_sync),
26616 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
26617 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
26618 (gst_basesink_change_state):
26619 Reworked the base sink, handle event and buffer serialisation
26620 correctly and removed possible deadlock.
26621 Handle EOS correctly.
26623 2005-06-25 Wim Taymans <wim@fluendo.com>
26625 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
26626 (gst_pipeline_change_state):
26627 * tools/gst-launch.c: (check_intr), (event_loop), (main):
26628 Allow elements to post EOS in the state change function.
26629 Fix up -launch, make it exit the poll loop when the
26630 pipeline actually changed state.
26631 Fix up warning parsing in -launch.
26633 2005-06-25 Wim Taymans <wim@fluendo.com>
26635 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
26636 (gst_tee_sink_activate):
26637 Core takes STREAM_LOCK for us now.
26639 2005-06-25 Wim Taymans <wim@fluendo.com>
26641 * gst/gstelement.c: (gst_element_get_state_func),
26642 (gst_element_set_state):
26643 * gst/gstelement.h:
26644 * gst/gstmessage.c: (gst_message_parse_error),
26645 (gst_message_parse_warning):
26646 Keep track of current target state while performing a state
26647 change so that subclasses can do something interesting.
26648 Fix parsing of warning/error messages when GError is NULL.
26650 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
26652 * docs/gst/Makefile.am:
26653 * docs/gst/gstreamer-docs.sgml:
26654 * docs/gst/gstreamer-sections.txt:
26655 * docs/gst/gstreamer.types:
26656 * docs/gst/tmpl/gstbasesink.sgml:
26657 * docs/gst/tmpl/gstbasesrc.sgml:
26658 * docs/gst/tmpl/gstbin.sgml:
26659 * docs/gst/tmpl/gstcompat.sgml:
26660 * docs/gst/tmpl/gstfakesink.sgml:
26661 * docs/gst/tmpl/gstfakesrc.sgml:
26662 * docs/gst/tmpl/gstfilesink.sgml:
26663 * docs/gst/tmpl/gstfilesrc.sgml:
26664 * docs/gst/tmpl/gstindex.sgml:
26665 * docs/manual/appendix-quotes.xml:
26666 * gst/base/gstbasesrc.h:
26667 * gst/elements/gstfakesrc.h:
26668 * gst/gstmessage.h:
26669 start pulling in base classes and elements in our docs
26671 2005-06-24 Stefan Kost <ensonic@users.sf.net>
26673 * docs/gst/Makefile.am:
26674 * docs/libs/Makefile.am:
26675 fixed make distcheck with gtk-doc 1.3
26677 2005-06-23 Wim Taymans <wim@fluendo.com>
26679 * gst/gstelement.c: (gst_element_get_state_func),
26680 (gst_element_set_state), (gst_element_change_state):
26681 When the state did not change, also report NO_PREROLL
26684 2005-06-23 Wim Taymans <wim@fluendo.com>
26686 * gst/gstpad.c: (gst_pad_event_default):
26687 * gst/gstqueue.c: (gst_queue_loop):
26688 No unsafe task pausing please.
26690 2005-06-23 Wim Taymans <wim@fluendo.com>
26692 * gst/schedulers/threadscheduler.c:
26693 (gst_thread_scheduler_task_start),
26694 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
26695 Ref the task before pushing it on the threadpool. This
26696 makes sure that we have a ref when the threadfunction is
26699 2005-06-23 Andy Wingo <wingo@pobox.com>
26701 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
26702 offset is greater than the file's size.
26704 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
26705 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
26706 * gst/gstobject.c (gst_object_class_init): Make the class lock
26707 recursive. Wim won't let me drop deep_notify. Decodebin works
26708 again, whoopdy doo.
26710 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
26711 internal pad, and hacks accordingly. Doesn't do it on the target
26712 pad because we change its caps. Probably catches all cases of
26714 (gst_ghost_pad_set_property): Connect to notify::caps as
26717 * tests/network-clock.scm (plot-simulation): Pipe data to the
26718 elite python skript.
26720 * tests/network-clock-utils.scm (define-parameter): New macro,
26721 defines a parameter that can be set via the command line.
26722 (set-parameter!, parse-parameter-arguments): Command line args
26725 * tests/plot-data: Simple matplotlib-based plotter, takes input on
26728 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
26730 * gst/elements/gsttypefindelement.c:
26731 (gst_type_find_element_handle_event):
26732 Don't restart typefinding on a discont.
26733 * gst/gstelement.c: (gst_element_set_state):
26734 Debug spelling fix.
26735 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
26736 Allow changing mode of an active pad.
26737 Debug output fixes.
26738 * gst/registries/gstlibxmlregistry.c: (load_feature):
26739 Don't cast a static pad template to a normal pad template.
26741 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
26743 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
26744 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
26745 remove gst_strtoll completely, since it didn't actually do
26746 anything more than what g_ascii_strtoull already does.
26747 check for range errors when deserializing
26748 do a cast for the unsigned cases; but further fixing needs
26749 a decision on what the interpretation of "(int)" and
26750 deserialization should be for values that fall outside the
26751 type's boundaries (ie, refuse, or interpret as casting)
26753 2005-06-23 Wim Taymans <wim@fluendo.com>
26755 * check/Makefile.am:
26756 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
26757 * docs/design/part-live-source.txt:
26758 * docs/design/part-states.txt:
26759 * gst/base/gstbasesrc.c: (gst_basesrc_init),
26760 (gst_basesrc_set_live), (gst_basesrc_is_live),
26761 (gst_basesrc_get_range), (gst_basesrc_activate),
26762 (gst_basesrc_change_state):
26763 * gst/base/gstbasesrc.h:
26764 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26765 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
26766 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
26767 * gst/gstelement.c: (gst_element_get_state_func),
26768 (gst_element_set_state):
26769 * gst/gstelement.h:
26771 * tools/gst-launch.c: (event_loop), (main):
26772 Added support for live sources and other elements that
26774 Updated design docs, added live-source design doc.
26775 Implemented live source functionality in basesrc
26776 Fix error condition in _bin_get_state()
26777 Implement live source handling in -launch.
26778 Added check for live sources.
26779 Fixed case in GstBin where elements were changed state
26783 2005-06-23 Andy Wingo <wingo@pobox.com>
26785 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
26786 borken refcounting.
26788 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
26789 gst_caps_replace takes care of this for us.
26791 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
26792 gst_pad_set_caps on the target, not just its setcaps() function.
26794 * tests/network-clock.scm:
26795 * tests/network-clock-utils.scm: A network clock simulator.
26796 Something of an algorithmic testbed before doing something in C.
26798 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
26800 * check/Makefile.am:
26801 * check/gst/capslist.h:
26802 copy over from 0.8, and add two with bitmasks specified with
26804 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
26805 add test to parse everything from capslist.h
26806 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
26808 add test for structure deserialization
26809 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
26810 add tests for deserialization of strings to int types
26811 * gst/gststructure.c: (gst_structure_nth_field_name):
26812 * gst/gststructure.h:
26813 add a way to get the name of a field referenced by index
26814 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
26815 instead of checking if the resulting long long lies between
26816 min and max, we check if the long long would fit into
26817 a number of bytes for the final type.
26818 This fixes cases where a string represents 2^32 - 1, which
26819 when cast to int would be the (valid) -1, but is bigger than
26822 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
26824 * gst/parse/grammar.y:
26825 add a log line for type deserialization
26827 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
26829 * check/gst/gstvalue.c: (START_TEST):
26830 * gst/gstvalue.c: (gst_value_deserialize):
26831 return long long, not int, so gint64 deserialization actually
26832 works. Is there any flag that makes the compiler check this ?
26835 2005-06-22 Wim Taymans <wim@fluendo.com>
26838 Added convenience macros for setting buffers in GValue.
26840 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
26842 * check/gst/.cvsignore:
26843 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
26844 add a test deserializing int64, and comment part out because
26847 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
26849 * check/Makefile.am:
26850 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
26851 * testsuite/Makefile.am:
26852 * testsuite/caps/Makefile.am:
26853 * testsuite/caps/value_serialize.c:
26854 * testsuite/test_gst_init.c:
26855 move a value_serialize test over
26857 2005-06-20 Wim Taymans <wim@fluendo.com>
26862 * gst/gstvalue.c: (gst_value_compare_buffer),
26863 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
26864 (gst_value_compare_flags), (gst_value_serialize_flags),
26865 (gst_value_deserialize_flags), (_gst_value_initialize):
26866 Fix serialisation of buffers, they are not boxed types anymore
26868 2005-06-20 Wim Taymans <wim@fluendo.com>
26870 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
26871 Testcase to show error in buffer-on-caps serialisation.
26873 2005-06-20 Andy Wingo <wingo@pobox.com>
26875 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
26876 will be adding to later.
26878 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
26879 if its socks fill with rocks.
26880 (gst_system_clock_obtain): Set the name on object construction.
26881 Avoid double-checked locking.
26883 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
26885 * gst/gsturi.c: (gst_element_make_from_uri):
26886 Fix potential endless loop.
26888 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
26890 * check/Makefile.am:
26892 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
26894 move over from testsuite dir and clean up
26897 * testsuite/Makefile.am:
26898 * testsuite/tags/.cvsignore:
26899 * testsuite/tags/Makefile.am:
26900 * testsuite/tags/merge.c:
26901 remove testsuite/tags
26903 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
26905 * docs/gst/gstreamer-sections.txt:
26906 * docs/gst/tmpl/gstenumtypes.sgml:
26907 * win32/gstenumtypes.c:
26908 clean up documentation build a little
26910 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
26912 * check/gstcheck.h:
26913 add macros for checking refcounts on objects and caps
26914 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
26915 add some more unit tests
26916 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
26917 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
26918 fix leaked refcounts (I hope :)) so unittest works
26922 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
26924 * configure.ac: back to HEAD
26926 === release 0.9.1 ===
26928 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
26934 2005-06-17 Andy Wingo <wingo@pobox.com>
26936 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
26937 assert; it's always possible that the pad gets deactivated in
26938 between the checks in gstpad.c and the implementation. Rely on
26939 finish_preroll() to return a FLUSHING or similar instead of on the
26942 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
26943 clock and post an EOS message if we come out of finish_preroll in
26946 2005-06-16 David Schleef <ds@schleef.org>
26948 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
26949 (gst_capsfilter_set_property): Allow NULL as possible value
26950 for filter_caps property, indicating GST_CAPS_ANY.
26952 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
26954 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
26956 * gst/schedulers/Makefile.am:
26958 * gstreamer.spec.in:
26961 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
26963 * gstreamer.spec.in:
26966 2005-06-08 Andy Wingo <wingo@pobox.com>
26968 * gst/gstutils.c: RPAD fixes all around.
26969 (gst_element_link_pads): Refcounting fixes.
26971 * tools/gst-inspect.c:
26972 * tools/gst-xmlinspect.c:
26974 * gst/base/gsttypefindhelper.c:
26975 * gst/base/gstbasesink.c:
26976 * gst/gstqueue.c: RPAD fixes.
26978 * gst/gstghostpad.h:
26979 * gst/gstghostpad.c: New ghost pad implementation as full proxy
26980 pads. The tricky thing is they provide both source and sink
26981 interfaces, since they proxy the internal pad for the external
26982 pad, and vice versa. Implement with lower-level ProxyPad objects,
26983 with the interior proxy pad as a child of the exterior ghost pad.
26984 Should write a doc on this.
26986 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
26987 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
26990 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
26991 pads are real pads. No ghost pads in this file. Not documenting
26992 the myriad s/RPAD/PAD/ and REALIZE fixes.
26993 (gst_pad_class_init): Add properties for "direction" and
26994 "template". Both are construct-only, so they can't change during
26995 the life of the pad. Fixes properly deriving from GstPad.
26996 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
26997 derived objects, just set properties when creating the objects via
26999 (gst_pad_get_parent): Implement as a function, return NULL if the
27000 parent is not an element.
27001 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
27002 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
27004 * gst/gstobject.c (gst_object_class_init): Make name a construct
27005 property. Don't set it in the object init.
27007 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
27008 with UNKNOWN direction.
27009 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
27010 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
27011 (gst_element_remove_pad): Remove ghost-pad special cases.
27012 (gst_element_pads_activate): Remove rpad cruft.
27014 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
27015 catch the pad's-parent-not-an-element case.
27017 * gst/gst.h: Include gstghostpad.h.
27019 * gst/gst.c (init_post): No more real, ghost pads.
27021 * gst/Makefile.am: Add gstghostpad.[ch].
27023 * check/Makefile.am:
27024 * check/gst/gstbin.c:
27025 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
27026 into a bin creates ghost pads, and that the refcounts are right.
27027 Partly moved from gstbin.c.
27029 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
27031 * check/gst-libs/.cvsignore:
27032 * check/gst/.cvsignore:
27033 * check/pipelines/.cvsignore:
27035 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
27036 (START_TEST), (cleanup_suite), (main):
27037 add some tests related to cleanup after running pipelines
27039 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
27041 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
27042 add a testsuite for GstBuffer
27044 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
27046 * gst/gstminiobject.h:
27047 add defines for accessing the refcount
27049 2005-06-03 Stefan Kost <ensonic@users.sf.net>
27051 * Makefile.am: added support for html unit test coverage reports
27053 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
27055 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27056 Free existing caps if the capsfilter changes. Add a FIXME about
27057 setting those caps on the pads.
27059 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
27060 Before adding a ghost pad to a parent bin, check that there isn't
27061 already one for the element on the bin. Prevents infinite recursion
27062 when using decodebin in parse pipelines. Andy says he'll rewrite the
27063 way this works anyway, so ignore the hack.
27065 2005-06-02 Andy Wingo <wingo@pobox.com>
27067 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
27068 file size, pass it on to the type find helper.
27070 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
27071 segment_start and segment_end properly according to the seek
27072 method. Segment_end is still a bit flaky because offset can be
27073 negative for CUR and END cases, but it takes -1 as an "unset"
27076 2005-06-02 Wim Taymans <wim@fluendo.com>
27078 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
27079 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
27080 (gst_basesink_activate):
27081 * gst/base/gstbasesink.h:
27082 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27083 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
27084 (gst_pad_query), (gst_pad_start_task):
27086 * gst/gstqueue.c: (gst_queue_bufferalloc),
27087 (gst_queue_handle_sink_event), (gst_queue_chain):
27088 Bufferalloc: return GstFlowReturn to more accuratly report
27089 why allocation failed.
27091 2005-06-02 Wim Taymans <wim@fluendo.com>
27093 * gst/gstpipeline.c: (gst_pipeline_send_event):
27094 Take snapshot of state without blocking.
27096 2005-06-02 Wim Taymans <wim@fluendo.com>
27098 * docs/design/part-TODO.txt:
27099 * docs/design/part-caps.txt:
27100 * docs/design/part-clocks.txt:
27101 * docs/design/part-negotiation.txt:
27102 * docs/design/part-preroll.txt:
27105 2005-05-30 Wim Taymans <wim@fluendo.com>
27107 * gst/elements/gstidentity.c: (gst_identity_event),
27108 (gst_identity_transform), (gst_identity_get_property):
27109 Protect last_message property as it is accessed from
27112 2005-05-30 Wim Taymans <wim@fluendo.com>
27114 * gst/gstelement.c: (gst_element_init),
27115 (gst_element_pads_activate), (gst_element_change_state):
27116 Slicker pad activation code.
27118 2005-05-30 Wim Taymans <wim@fluendo.com>
27121 * gst/gstelement.h:
27122 * gst/gstelementfactory.h:
27124 Move elementfactory methods to separate .h file.
27126 2005-05-30 Wim Taymans <wim@fluendo.com>
27128 * docs/design/part-overview.txt:
27129 * gst/gstsystemclock.h:
27130 Small typo fixes, doc updates.
27132 2005-05-30 Wim Taymans <wim@fluendo.com>
27134 * gst/gst.c: (gst_init_get_popt_table), (init_post),
27135 (init_popt_callback):
27136 Remove cpu-opt flag.
27138 2005-05-30 Wim Taymans <wim@fluendo.com>
27140 * gst/gstbuffer.c: (gst_subbuffer_finalize),
27141 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
27143 Avoid typechecking in places where not needed.
27144 Added accessor for malloc_data.
27146 2005-05-30 Wim Taymans <wim@fluendo.com>
27148 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
27149 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
27150 (gst_pad_configure_sink), (gst_pad_configure_src),
27151 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
27152 (gst_pad_start_task):
27153 Propagate errors from _set_caps() in configure_src/sink
27154 functions instead of returning TRUE.
27155 FLUSH events can travel up and downstream
27158 2005-05-30 Wim Taymans <wim@fluendo.com>
27160 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
27161 (gst_basesink_activate):
27162 Handle EOS in preroll.
27164 2005-05-30 Wim Taymans <wim@fluendo.com>
27166 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27167 (gst_queue_loop), (gst_queue_handle_src_event):
27168 Remove old pieces of code
27169 Flushing the queue in an upstream event is a very bad idea.
27171 2005-05-26 Andy Wingo <wingo@pobox.com>
27173 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
27174 gst_value_set_mini_object so as to add a ref on the object (which
27175 will be removed when the value is unset).
27177 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
27178 arg type in ::handoff.
27180 * gst/gstelement.c (gst_element_change_state): Also deactivate
27181 pads in READY->NULL, just in case the element didn't make it to
27182 PAUSED. Wingo tested, Wim approved.
27184 2005-05-26 Wim Taymans <wim@fluendo.com>
27186 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27187 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
27188 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
27189 A flushing pad cannot be used to alloc_buffer from.
27191 2005-05-26 Wim Taymans <wim@fluendo.com>
27193 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
27194 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
27195 (gst_bus_source_dispatch), (gst_bus_source_finalize),
27196 (gst_bus_create_watch), (gst_bus_add_watch_full):
27198 Implement a real GSource and use g_main_context_wakeup() to
27199 signal new messages instead of the socketpair.
27201 2005-05-25 Wim Taymans <wim@fluendo.com>
27203 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
27204 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
27205 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27206 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
27207 (gst_pad_send_event), (gst_pad_start_task):
27208 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
27209 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27210 (gst_queue_sink_activate), (gst_queue_src_activate),
27211 (gst_queue_change_state):
27213 Fix state changes for non sinks. We now change sinks, then elements
27214 with unconnected srcpads, then the rest.
27215 More efficient queue unlocking in flush and state changes.
27216 Set the pad activate mode even if it does not have an activate
27219 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27221 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
27222 Don't go in pull mode for non-seekable sources.
27223 * gst/elements/gsttypefindelement.h:
27224 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
27225 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
27226 (free_entry), (stop_typefinding),
27227 (gst_type_find_element_handle_event), (find_peek),
27228 (gst_type_find_element_chain), (do_pull_typefind),
27229 (gst_type_find_element_change_state):
27230 Allow typefinding (w/o seeking) in push-mode, simplified version
27231 of what was in 0.8.
27232 * gst/gstutils.c: (gst_buffer_join):
27234 gst_buffer_join() from 0.8.
27236 2005-05-25 Wim Taymans <wim@fluendo.com>
27238 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27239 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
27240 (gst_pad_send_event), (gst_pad_start_task):
27241 Disable attempt at mode switching until it is figured out.
27243 2005-05-25 Wim Taymans <wim@fluendo.com>
27245 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
27246 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
27247 (gst_basesink_finish_preroll), (gst_basesink_chain),
27248 (gst_basesink_loop), (gst_basesink_activate),
27249 (gst_basesink_change_state):
27250 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
27251 (gst_basesrc_get_range), (gst_basesrc_loop),
27252 (gst_basesrc_activate):
27253 * gst/elements/gsttee.c: (gst_tee_sink_activate):
27254 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
27255 (gst_real_pad_init), (gst_real_pad_set_property),
27256 (gst_real_pad_get_property), (gst_pad_set_active),
27257 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
27258 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
27259 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
27260 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
27261 (gst_pad_event_default_dispatch), (gst_pad_event_default),
27262 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
27263 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
27264 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
27265 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
27266 (gst_pad_stop_task):
27268 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27269 (gst_queue_loop), (gst_queue_src_activate):
27270 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
27271 (gst_task_get_state):
27273 * gst/schedulers/threadscheduler.c:
27274 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
27275 Implement gst_pad_pause/start/stop_task(), take STREAM lock
27277 Remove ACTIVE pad flag, use FLUSHING everywhere
27278 Added _pad_chain(), _pad_get_range() to call chain/getrange
27280 Add locks around IS_FLUSHING when reading.
27281 Take STREAM lock in chain(), get_range() functions so plugins
27282 don't need to take it anymore.
27286 2005-05-25 Wim Taymans <wim@fluendo.com>
27288 * tools/gst-launch.c: (event_loop):
27289 Unref message after using its contents instead of
27292 2005-05-24 Wim Taymans <wim@fluendo.com>
27294 * docs/design/draft-ghostpads.txt:
27295 * docs/design/draft-push-pull.txt:
27296 * docs/design/draft-query.txt:
27297 * docs/design/part-overview.txt:
27298 Docs updates, added general overview doc.
27300 2005-05-21 David Schleef <ds@schleef.org>
27302 * docs/gst/tmpl/old/GstBin.sgml:
27303 * docs/gst/tmpl/old/GstBuffer.sgml:
27304 * docs/gst/tmpl/old/GstCaps.sgml:
27305 * docs/gst/tmpl/old/GstClock.sgml:
27306 * docs/gst/tmpl/old/GstCompat.sgml:
27307 * docs/gst/tmpl/old/GstData.sgml:
27308 * docs/gst/tmpl/old/GstElement.sgml:
27309 * docs/gst/tmpl/old/GstEvent.sgml:
27310 * docs/gst/tmpl/old/GstIndex.sgml:
27311 * docs/gst/tmpl/old/GstStructure.sgml:
27312 * docs/gst/tmpl/old/GstTag.sgml:
27313 * docs/gst/tmpl/old/cothreads.sgml:
27314 * docs/gst/tmpl/old/cothreads_compat.sgml:
27315 * docs/gst/tmpl/old/gettext.sgml:
27316 * docs/gst/tmpl/old/gobject2gtk.sgml:
27317 * docs/gst/tmpl/old/grammar.tab.sgml:
27318 * docs/gst/tmpl/old/gst-i18n-app.sgml:
27319 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
27320 * docs/gst/tmpl/old/gst_private.sgml:
27321 * docs/gst/tmpl/old/gstaggregator.sgml:
27322 * docs/gst/tmpl/old/gstarch.sgml:
27323 * docs/gst/tmpl/old/gstatomic_impl.sgml:
27324 * docs/gst/tmpl/old/gstbufferstore.sgml:
27325 * docs/gst/tmpl/old/gstdata_private.sgml:
27326 * docs/gst/tmpl/old/gstdisksink.sgml:
27327 * docs/gst/tmpl/old/gstdisksrc.sgml:
27328 * docs/gst/tmpl/old/gstelementfactory.sgml:
27329 * docs/gst/tmpl/old/gstextratypes.sgml:
27330 * docs/gst/tmpl/old/gstfakesink.sgml:
27331 * docs/gst/tmpl/old/gstfakesrc.sgml:
27332 * docs/gst/tmpl/old/gstfdsink.sgml:
27333 * docs/gst/tmpl/old/gstfdsrc.sgml:
27334 * docs/gst/tmpl/old/gstfilesink.sgml:
27335 * docs/gst/tmpl/old/gstfilesrc.sgml:
27336 * docs/gst/tmpl/old/gsthttpsrc.sgml:
27337 * docs/gst/tmpl/old/gstidentity.sgml:
27338 * docs/gst/tmpl/old/gstindexfactory.sgml:
27339 * docs/gst/tmpl/old/gstmarshal.sgml:
27340 * docs/gst/tmpl/old/gstmd5sink.sgml:
27341 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
27342 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
27343 * docs/gst/tmpl/old/gstpadtemplate.sgml:
27344 * docs/gst/tmpl/old/gstpipefilter.sgml:
27345 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
27346 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
27347 * docs/gst/tmpl/old/gstshaper.sgml:
27348 * docs/gst/tmpl/old/gstspider.sgml:
27349 * docs/gst/tmpl/old/gstspideridentity.sgml:
27350 * docs/gst/tmpl/old/gststatistics.sgml:
27351 * docs/gst/tmpl/old/gsttee.sgml:
27352 * docs/gst/tmpl/old/gsttimecache.sgml:
27353 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
27354 * docs/gst/tmpl/old/gstxmlregistry.sgml:
27355 * docs/gst/tmpl/old/gthread-cothreads.sgml:
27356 * docs/gst/tmpl/old/types.sgml:
27357 I didn't intend to add these or check them in.
27359 2005-05-19 David Schleef <ds@schleef.org>
27361 * configure.ac: Use -no-common everywhere. In a sane world, it
27362 would be the default in libtool, because without it, you can't
27363 build DLLs on Windows.
27364 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
27365 * docs/gst/gstreamer-sections.txt:
27366 * docs/gst/tmpl/gstcpu.sgml:
27367 * docs/gst/tmpl/gstdata.sgml:
27368 * docs/gst/tmpl/gstthread.sgml:
27370 2005-05-19 David Schleef <ds@schleef.org>
27372 * gst/gstminiobject.c: (gst_value_set_mini_object),
27373 (gst_value_take_mini_object), (gst_value_get_mini_object):
27374 * gst/gstminiobject.h: Add GValue set/get functions.
27376 2005-05-19 Wim Taymans <wim@fluendo.com>
27378 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
27379 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
27380 (gst_subbuffer_init), (gst_buffer_is_span_fast):
27382 * gst/gstbus.c: (gst_bus_post):
27383 * gst/gstelement.c: (gst_element_get_random_pad):
27384 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
27385 Make subbufer unref the parent in finalize.
27386 some more debugging info.
27389 2005-05-19 Wim Taymans <wim@fluendo.com>
27391 * gst/base/gstbasesink.c: (gst_basesink_class_init),
27392 (gst_basesink_init), (gst_basesink_finalize),
27393 (gst_basesink_activate), (gst_basesink_change_state):
27394 Don't free preroll queue too early.
27396 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27400 Hi, I'm outdated. Please shoot me.
27402 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27404 * gst/gstpipeline.c: (gst_pipeline_send_event):
27405 Do not access variables after they have been deleted.
27407 2005-05-19 Wim Taymans <wim@fluendo.com>
27409 * tools/gst-inspect.c: (print_plugin_features):
27410 A plugin feature does unfortunatly not use the
27413 2005-05-18 Wim Taymans <wim@fluendo.com>
27415 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
27416 Port _span() functions to new subbuffers.
27418 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27420 * gst/gstbin.c: (gst_bin_add_func):
27421 Fix clock settery in bins when adding kids after the clock has
27424 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27426 * gst/elements/gstidentity.c: (gst_identity_class_init):
27427 Workaround until signals support GstMiniObject.
27429 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
27432 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
27434 2005-05-18 Wim Taymans <wim@fluendo.com>
27436 * gst/base/Makefile.am:
27437 * gst/base/gstadapter.c: (gst_adapter_base_init),
27438 (gst_adapter_class_init), (gst_adapter_init),
27439 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
27440 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
27441 (gst_adapter_flush), (gst_adapter_available),
27442 (gst_adapter_available_fast):
27443 * gst/base/gstadapter.h:
27444 Ported and added adapter to the base classes.
27446 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
27449 * gst/gstmessage.c:
27450 Make sure the class is reffed/unreffed once before threads can be
27451 used. Fixes #304551.
27453 2005-05-17 Wim Taymans <wim@fluendo.com>
27455 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
27456 (gst_basesink_chain_unlocked), (gst_basesink_activate):
27457 * gst/gstminiobject.c: (gst_mini_object_get_type),
27458 (gst_mini_object_free):
27459 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
27460 (gst_pad_push), (gst_pad_push_event):
27461 * gst/gstqueue.c: (gst_queue_change_state):
27462 Don't queue buffers in basesink when we are flushing.
27463 Unref buffer when flushing in basesink.
27464 Flush queue when going to READY
27465 Unref buffer when _push() returns an error.
27466 Don't free MiniObject instance when refcount is incremented
27467 in _finalize() so that we can recover objects.
27469 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
27471 * docs/manual/advanced-schedulers.xml:
27472 * docs/manual/appendix-checklist.xml:
27473 * docs/pwg/advanced-clock.xml:
27474 * docs/pwg/advanced-interfaces.xml:
27475 * docs/pwg/advanced-request.xml:
27476 * docs/pwg/advanced-types.xml:
27477 * docs/pwg/intro-preface.xml:
27478 * examples/plugins/example.c: (gst_example_get_type),
27479 (gst_example_class_init), (gst_example_chain),
27480 (gst_example_set_property), (gst_example_get_property),
27481 (gst_example_change_state), (plugin_init):
27482 * examples/plugins/example.h:
27485 2005-05-17 Wim Taymans <wim@fluendo.com>
27487 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
27488 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
27489 * gst/gstqueue.c: (gst_queue_change_state):
27490 Clear queue when going to READY.
27491 Remove IN_SETCAPS flag too.
27493 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
27495 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
27496 Remove implicit cast from gboolean to GstElementStateReturn;
27497 make sure we still return failure in paused => ready case if
27498 the parent class fails to change state and our own stop
27501 2005-05-17 Wim Taymans <wim@fluendo.com>
27503 * tools/gst-launch.c: (event_loop):
27504 Message was unreffed too soon.
27506 2005-05-16 Andy Wingo <wingo@pobox.com>
27508 * gst/gstbin.c (sink_iterator_filter): Err... um...
27510 * check/gst/gstbin.c (test_ghost_pads): New test for the
27511 ghosting-if-elements-not-in-same-bin behavior.
27513 2005-05-16 David Schleef <ds@schleef.org>
27515 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
27516 accessing refcount directly.
27518 2005-05-15 David Schleef <ds@schleef.org>
27520 * check/Makefile.am: remove GstData checks
27521 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
27522 * gst/Makefile.am: add miniobject, remove data
27523 * gst/gst.h: add miniobject, remove data
27524 * gst/gstdata.c: remove
27525 * gst/gstdata.h: remove
27526 * gst/gstdata_private.h: remove
27527 * gst/gsttypes.h: remove GstEvent and GstMessage
27528 * gst/gstelement.c: (gst_element_post_message): fix for API changes
27529 * gst/gstmarshal.list: change BOXED -> OBJECT
27531 Implement GstMiniObject.
27532 * gst/gstminiobject.c:
27533 * gst/gstminiobject.h:
27535 Modify to be subclasses of GstMiniObject.
27536 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
27537 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
27538 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
27539 (gst_subbuffer_get_type), (gst_subbuffer_init),
27540 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
27543 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
27544 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
27545 (_gst_event_copy), (gst_event_new):
27547 * gst/gstmessage.c: (_gst_message_initialize),
27548 (gst_message_get_type), (gst_message_class_init),
27549 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
27550 (gst_message_new), (gst_message_new_error),
27551 (gst_message_new_warning), (gst_message_new_tag),
27552 (gst_message_new_state_changed), (gst_message_new_application):
27553 * gst/gstmessage.h:
27554 * gst/gstprobe.c: (gst_probe_perform),
27555 (gst_probe_dispatcher_dispatch):
27557 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
27558 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
27559 (_gst_query_copy), (gst_query_new):
27561 Update elements for GstData -> GstMiniObject changes
27563 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
27564 (gst_queue_chain), (gst_queue_loop):
27565 * gst/elements/gstbufferstore.c:
27566 (gst_buffer_store_add_buffer_func),
27567 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
27568 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27569 (gst_fakesink_render):
27570 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
27571 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
27572 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
27573 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
27574 (gst_filesrc_create_read):
27575 * gst/elements/gstidentity.c: (gst_identity_class_init):
27576 * gst/elements/gsttypefindelement.c:
27577 (gst_type_find_element_src_event), (free_entry_buffers),
27578 (gst_type_find_element_handle_event):
27579 * libs/gst/dataprotocol/dataprotocol.c:
27580 (gst_dp_header_from_buffer):
27581 * libs/gst/dataprotocol/dataprotocol.h:
27582 * libs/gst/dataprotocol/dp-private.h:
27584 2005-05-15 David Schleef <ds@schleef.org>
27586 * gst/elements/gstelements.c: Don't include headers that were
27589 2005-05-15 David Schleef <ds@schleef.org>
27591 * gst/elements/Makefile.am: Remove some elements that don't
27592 need to be in the core (or even exist at all).
27593 * gst/elements/gstaggregator.c:
27594 * gst/elements/gstaggregator.h:
27595 * gst/elements/gstmd5sink.c:
27596 * gst/elements/gstmd5sink.h:
27597 * gst/elements/gstmultifilesrc.c:
27598 * gst/elements/gstmultifilesrc.h:
27599 * gst/elements/gstpipefilter.c:
27600 * gst/elements/gstpipefilter.h:
27601 * gst/elements/gstshaper.c:
27602 * gst/elements/gstshaper.h:
27603 * gst/elements/gststatistics.c:
27604 * gst/elements/gststatistics.h:
27605 * po/POTFILES.in: Remove above files.
27607 2005-05-14 Andy Wingo <wingo@pobox.com>
27609 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
27610 so as to get the refs right.
27611 (sink_iterator_filter): New function, wraps bin_element_is_sink,
27612 unreffing objects that don't pass the filter.
27614 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
27615 gst_element_set_bus.
27616 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
27617 normal cases, this will destroy the bus.
27619 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
27622 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
27625 2005-05-13 Andy Wingo <wingo@pobox.com>
27627 * gst/gstutils.c (gst_element_link_pads): Instead of calling
27628 gst_pad_link, call pad_link_maybe_ghosting,
27629 (pad_link_maybe_ghosting): Links pads, making sure that the
27630 elements being linked are in the same bin.
27631 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
27632 Helpers for pad_link_maybe_ghosting.
27634 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
27637 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
27639 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
27641 * docs/design/part-element-source.txt:
27644 2005-05-12 Wim Taymans <wim@fluendo.com>
27646 * gst/base/gstbasesink.c: (gst_basesink_init),
27647 (gst_basesink_activate):
27648 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
27649 (gst_basesrc_is_seekable):
27650 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
27651 (bin_element_is_sink), (gst_bin_change_state):
27652 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
27653 * gst/gstelement.h:
27654 Identify sinks by their flag to avoid overly complicated
27656 Do state changes even for elements not reachable from the
27658 BaseSink is a sink now :)
27659 Some more debugging info in the basesrc.
27662 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27664 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
27665 Implement _query on a bin, similar to _send_event.
27667 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
27669 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
27670 Discont event offset format should be GST_FORMAT_BYTES,
27671 not GST_FORMAT_TIME.
27673 2005-05-12 Wim Taymans <wim@fluendo.com>
27675 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
27676 Same fix as Ronald's but without the signal.
27678 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27680 * gst/gstutils.c: (gst_element_query_position):
27681 No, an element is not a pad.
27683 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27685 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
27686 (gst_bin_get_state):
27687 If a child is removed from a bin while we remove the child from
27688 the bin and while we're retrieving its state, signal this to the
27689 get_state function so we abort the wait (instead of waiting for
27690 a timeout) and can immediately re-iterate over all other elements.
27692 2005-05-12 Wim Taymans <wim@fluendo.com>
27694 * gst/base/Makefile.am:
27695 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
27696 (gst_basesrc_start):
27697 * gst/base/gstbasesrc.h:
27698 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
27699 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
27700 (gst_pushsrc_init), (gst_pushsrc_create):
27701 * gst/base/gstpushsrc.h:
27702 Added is_seekable to BaseSrc
27703 Added simple PushSrc.
27705 2005-05-11 Wim Taymans <wim@fluendo.com>
27707 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
27708 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27709 (gst_element_link_pads), (gst_element_query_position),
27710 (gst_element_query_convert), (intersect_caps_func),
27711 (gst_pad_query_position), (gst_pad_query_convert):
27712 Fix refcounting in utils function.
27713 No point in trying to activate a pad when it's added, it could
27714 be added from the state change function and then we deadlock, the
27715 element has to decide what to do.
27717 2005-05-10 Andy Wingo <wingo@pobox.com>
27719 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
27720 *all* the arguments.
27722 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
27723 stream lock if it's a FLUSH_DONE; normal flushes don't get the
27724 lock (according to the docs -- if this is wrong change the docs).
27726 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
27727 flush messages in the NULL state.
27729 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
27730 message immediately and return.
27731 (gst_bus_set_flushing): New function. If a bus is flushing, it
27732 flushes out any queued messages and immediately unrefs new
27733 messages. This is so when an element goes to NULL, all of the
27734 unhandled messages coming from it can be freed, and their
27735 references to the element dropped. In other words: message source
27736 ref considered harmful :P
27738 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
27739 we're finished with it.
27741 * gst/gstmessage.c (gst_message_new_state_changed):
27743 2005-05-10 Wim Taymans <wim@fluendo.com>
27745 * gst/gstvalue.c: (gst_value_compare_flags),
27746 (gst_value_serialize_flags), (gst_value_deserialize_flags),
27747 (_gst_value_initialize):
27748 Added flags serialize/deserialize/compare code.
27750 2005-05-09 Andy Wingo <wingo@pobox.com>
27752 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
27753 Intersect the peer's caps with our caps.
27755 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27757 * gst/base/gsttypefindhelper.c: (helper_find_peek):
27758 * gst/elements/gsttypefindelement.c: (find_peek):
27759 Handle negative offsets better. Fixes decodebin.
27761 2005-05-09 Wim Taymans <wim@fluendo.com>
27763 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
27764 (gst_base_transform_event):
27765 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
27766 Implement accept_caps.
27767 Fix silly lock/unlock mismatch in base class.
27769 2005-05-09 Wim Taymans <wim@fluendo.com>
27771 * docs/design/draft-push-pull.txt:
27772 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
27773 * gst/elements/gstfilesink.c: (gst_filesink_init),
27774 (gst_filesink_query):
27775 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
27776 (gst_type_find_handle_src_query), (find_element_get_length):
27777 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
27778 * gst/gstelement.h:
27779 * gst/gstmessage.c:
27780 * gst/gstmessage.h:
27781 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
27782 (gst_real_pad_get_caps_unlocked),
27783 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
27784 (gst_pad_event_default_dispatch), (gst_pad_event_default),
27785 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
27786 (gst_real_pad_dispose), (gst_real_pad_finalize),
27787 (gst_pad_load_and_link), (gst_pad_save_thyself),
27788 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
27789 (gst_pad_check_pull_range), (gst_pad_pull_range),
27790 (gst_pad_template_get_type), (gst_pad_template_class_init),
27791 (gst_pad_template_init), (gst_pad_template_dispose),
27792 (name_is_valid), (gst_static_pad_template_get),
27793 (gst_pad_template_new), (gst_static_pad_template_get_caps),
27794 (gst_pad_template_get_caps), (gst_pad_set_element_private),
27795 (gst_pad_get_element_private), (gst_pad_start_task),
27796 (gst_pad_pause_task), (gst_pad_stop_task),
27797 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
27798 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
27799 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
27800 (gst_ghost_pad_new):
27802 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
27803 (gst_query_new_position), (gst_query_set_position),
27804 (gst_query_parse_position), (gst_query_new_convert),
27805 (gst_query_set_convert), (gst_query_parse_convert):
27807 * gst/gstqueryutils.c:
27808 * gst/gstqueryutils.h:
27809 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
27810 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
27811 (gst_queue_handle_src_query):
27812 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27813 (gst_element_query_position), (gst_element_query_convert),
27814 (intersect_caps_func), (gst_pad_query_position),
27815 (gst_pad_query_convert):
27817 * tools/gst-inspect.c: (print_pad_info):
27818 * tools/gst-xmlinspect.c: (print_element_info):
27819 Remove old query functions. Ported old code.
27820 Added position/convert helper functions to gstutils.
27821 Reordered gstpad.c code, grouping relevant things.
27822 Remove gst_message_new(), always need to speficy a specific
27826 2005-05-09 Andy Wingo <wingo@pobox.com>
27828 * gst/gstiterator.h: Add some includes.
27830 * gst/gstqueryutils.h: Include more headers.
27833 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
27834 some uses of gst_pad_query.
27836 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
27837 NULL out parameters.
27838 (gst_query_new_position): New proc, allocates a new position
27841 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
27842 gstqueryutils.c to the build.
27844 * gst/gststructure.c (gst_structure_set_valist): Implement with
27845 the generic G_VALUE_COLLECT.
27847 2005-05-08 Edward Hervey <bilboed@bilboed.com>
27849 * gst/Makefile.am: (gst_headers):
27850 Added gstqueryutils.h to the list of headers to install, that was
27851 a 'nachty' move wingo :)
27853 2005-05-06 Andy Wingo <wingo@pobox.com>
27856 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
27857 GstData, init a memchunk.
27858 (standard_definitions): Add a few query types, deprecate a few.
27859 (gst_query_get_type): New proc.
27860 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
27862 (gst_query_new_application, gst_query_get_structure): New public
27865 * docs/design/draft-query.txt: Removed LINKS from the query types,
27866 because all the rest can be dispatched to other pads -- seemed
27867 ugly to have a query that couldn't be dispatched. internal_links
27868 is fine as a pad method.
27870 * gst/gstpad.h: Add query2 as a pad method, add the new functions
27871 in gstpad.c, but maintain binary compatibility for the moment.
27872 Will fix before 0.9 is out.
27874 * gst/gstqueryutils.c:
27875 * gst/gstqueryutils.h: New files, implement 3 methods for each
27876 query type: parse_query, parse_response, and set. Probably need an
27879 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
27881 * gst/elements/gstfilesink.c (gst_filesink_query2):
27882 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
27883 query_types, and formats methods.
27885 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
27886 (gst_pad_set_query2_function): New functions.
27887 (gst_real_pad_init): Set query2_default as the default query2
27888 function. Basically just dispatches to internally linked pads.
27892 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
27893 without using the atomic operations. Only one thread can possibly
27894 be accessing the data at this point. Changed so as to avoid
27895 gst_atomic operations.
27897 2005-05-06 Wim Taymans <wim@fluendo.com>
27899 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
27900 Also set caps if we use the fallback buffer alloc.
27902 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
27904 * docs/gst/Makefile.am:
27905 * docs/gst/gstreamer-docs.sgml:
27906 * docs/gst/gstreamer-sections.txt:
27907 * docs/gst/tmpl/gstatomic.sgml:
27908 * docs/gst/tmpl/gstmemchunk.sgml:
27909 * testsuite/elements/struct_i386.h:
27910 * win32/GStreamer.vcproj:
27912 Purge GstAtomic stuff from docs and win32 makefiles as well
27914 2005-05-06 Wim Taymans <wim@fluendo.com>
27916 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
27917 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
27918 * gst/gstpad.c: (gst_pad_peer_get_caps):
27919 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
27920 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
27921 (gst_queue_src_activate), (gst_queue_change_state):
27923 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27924 (intersect_caps_func):
27925 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
27926 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
27927 Some fixes for the peer_get_caps() change.
27929 2005-05-06 Wim Taymans <wim@fluendo.com>
27931 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27932 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
27933 (gst_basesink_activate):
27934 Actually do something with error codes returned from the push
27937 2005-05-06 Wim Taymans <wim@fluendo.com>
27939 * docs/design/part-element-sink.txt:
27940 * docs/design/part-element-source.txt:
27941 * gst/base/gstbasesink.c: (gst_basesink_class_init),
27942 (gst_basesink_event), (gst_basesink_activate):
27943 * gst/base/gstbasesink.h:
27944 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
27945 (gst_basesrc_activate):
27946 * gst/base/gstbasesrc.h:
27947 * gst/gstelement.c: (gst_element_pads_activate):
27948 Some more documentation.
27949 Fixed scheduling decision in _pads_activate().
27951 2005-05-05 Andy Wingo <wingo@pobox.com>
27953 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
27956 2005-05-05 Wim Taymans <wim@fluendo.com>
27958 * gst/base/Makefile.am:
27959 * gst/base/gstbasesink.h:
27960 * gst/base/gstbasesrc.c: (gst_basesrc_init),
27961 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
27962 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
27963 (gst_collectpads_class_init), (gst_collectpads_init),
27964 (gst_collectpads_finalize), (gst_collectpads_new),
27965 (gst_collectpads_set_function), (gst_collectpads_add_pad),
27966 (find_pad), (gst_collectpads_remove_pad),
27967 (gst_collectpads_is_active), (gst_collectpads_collect),
27968 (gst_collectpads_collect_range), (gst_collectpads_start),
27969 (gst_collectpads_stop), (gst_collectpads_peek),
27970 (gst_collectpads_pop), (gst_collectpads_available),
27971 (gst_collectpads_read), (gst_collectpads_flush),
27972 (gst_collectpads_chain):
27973 * gst/base/gstcollectpads.h:
27974 * gst/elements/Makefile.am:
27975 * gst/elements/gstelements.c:
27976 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27977 (gst_fakesink_get_times), (gst_fakesink_event),
27978 (gst_fakesink_preroll), (gst_fakesink_render):
27979 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
27980 (gst_filesink_init), (gst_filesink_set_location),
27981 (gst_filesink_open_file), (gst_filesink_close_file),
27982 (gst_filesink_pad_query), (gst_filesink_event),
27983 (gst_filesink_render), (gst_filesink_change_state):
27984 * gst/elements/gstfilesink.h:
27985 Added object to help in making collect pad based elements.
27987 Make event function in sink baseclass return gboolean.
27989 2005-05-05 Wim Taymans <wim@fluendo.com>
27991 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
27992 (gst_bin_get_by_name):
27994 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
27995 (gst_clock_finalize):
27996 * gst/gstdata.c: (gst_data_replace):
27998 * gst/gstelement.c: (gst_element_request_pad),
27999 (gst_element_pads_activate):
28000 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
28001 (gst_object_unref):
28002 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28003 (gst_pad_set_checkgetrange_function),
28004 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
28005 (gst_pad_check_pull_range), (gst_pad_pull_range),
28006 (gst_static_pad_template_get_caps), (gst_pad_start_task),
28007 (gst_pad_pause_task), (gst_pad_stop_task):
28008 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28009 (gst_element_request_pad), (gst_pad_proxy_getcaps):
28010 Fix name lookup in GstBin.
28011 Added _data_replace() function and _buffer_replace()
28012 Use finalize method to clean up clock.
28013 Fix refcounting on request pads.
28014 Fix pad schedule mode error.
28015 Some more object refcounting debug info,
28018 2005-05-04 Andy Wingo <wingo@pobox.com>
28020 * check/Makefile.am:
28021 * docs/gst/tmpl/gstatomic.sgml:
28022 * docs/gst/tmpl/gstplugin.sgml:
28023 * gst/base/gstbasesink.c: (gst_basesink_activate):
28024 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
28025 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
28026 (gst_basesrc_query), (gst_basesrc_set_property),
28027 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
28028 (gst_basesrc_activate):
28029 * gst/base/gstbasesrc.h:
28030 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
28031 (gst_base_transform_src_activate):
28032 * gst/elements/gstelements.c:
28033 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28034 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
28035 * gst/elements/gsttee.c: (gst_tee_sink_activate):
28036 * gst/elements/gsttypefindelement.c: (find_element_get_length),
28037 (gst_type_find_element_checkgetrange),
28038 (gst_type_find_element_activate):
28039 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
28040 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
28041 (gst_caps_load_thyself):
28042 * gst/gstelement.c: (gst_element_pads_activate),
28043 (gst_element_save_thyself), (gst_element_restore_thyself):
28044 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
28045 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
28047 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
28048 (gst_xml_parse_file), (gst_xml_parse_memory),
28049 (gst_xml_get_element), (gst_xml_make_element):
28050 * gst/indexers/gstfileindex.c: (gst_file_index_load),
28051 (_file_index_id_save_xml), (gst_file_index_commit):
28052 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
28053 (read_enum), (load_pad_template), (load_feature), (load_plugin),
28055 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
28056 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
28057 * tools/gst-complete.c: (main):
28058 * tools/gst-compprep.c: (main):
28059 * tools/gst-inspect.c: (print_element_properties_info):
28060 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
28061 * tools/gst-xmlinspect.c: (print_element_properties):
28064 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
28066 * gst/gstplugin.c: (gst_plugin_check_module),
28067 (gst_plugin_check_file), (gst_plugin_load_file):
28068 apply patch from #172526 to make register work on MacOSX
28070 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
28072 * docs/gst/tmpl/gstconfig.sgml:
28073 * gst/gstconfig.h.in:
28074 move documentation for some symbols. Add doc for GST_PTR_FORMAT
28075 * testsuite/debug/printf_extension.c: (main):
28076 Do not use GST_PTR_FORMAT on pointers to types with
28077 sizeof < sizeof(gpointer). Fixes test on 64-bit
28078 * testsuite/elements/property.h:
28079 use correct printf format
28081 2005-05-02 Wim Taymans <wim@fluendo.com>
28083 * docs/design/draft-push-pull.txt:
28084 * docs/design/draft-query.txt:
28085 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
28086 (gst_basesrc_start):
28087 Added draft for new query API.
28088 Added draft for better selecting scheduling methods.
28089 Make basesrc ignore length if the subclass does not support
28092 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
28095 possible fixes for automake-1.5 - _LIBADD is reserved
28097 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
28099 * docs/faq/Makefile.am:
28100 * docs/manual/Makefile.am:
28101 * docs/manuals.mak:
28102 * docs/pwg/Makefile.am:
28104 possible fixes for automake-1.5
28106 2005-04-28 Wim Taymans <wim@fluendo.com>
28108 * gst/base/gstbasesink.c: (gst_basesink_base_init),
28109 (gst_basesink_pad_getcaps), (gst_basesink_init),
28110 (gst_basesink_do_sync):
28111 * gst/gstclock.c: (gst_clock_entry_new):
28112 * gst/gstevent.c: (gst_event_discont_get_value):
28113 * gst/gstpipeline.c: (pipeline_bus_handler),
28114 (gst_pipeline_change_state):
28115 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
28116 Better debugging of clocking info.
28117 Allow NULL values when getting discont values.
28119 2005-04-27 Wim Taymans <wim@fluendo.com>
28121 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
28122 * check/gst/gstpad.c: (gst_pad_suite):
28123 Increase timeout for checks.
28125 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
28127 * check/Makefile.am:
28128 fix the broken rule for cleanup. Apparently this rule is
28129 only needed on FC2, so maybe this warrants further autotool
28132 2005-04-26 Wim Taymans <wim@fluendo.com>
28134 * gst/gsttrashstack.h:
28135 Ooohh. a nasty one! After having a failed pop() from the stack,
28136 it's possible that the stack is empty. In that case, don't
28137 follow the NULL pointer.
28139 2005-04-25 Wim Taymans <wim@fluendo.com>
28141 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28142 (gst_pad_set_checkgetrange_function),
28143 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
28144 (gst_pad_check_pull_range), (gst_pad_pull_range),
28145 (gst_static_pad_template_get_caps), (gst_pad_start_task),
28146 (gst_pad_pause_task), (gst_pad_stop_task):
28147 * gst/gstplugin.c: (gst_plugin_load):
28149 Remove gst_library_load as it does more harm than good with
28150 the new g_module flags.
28151 Revert bogus caps template check in pad linking, pad caps
28152 are important when linking not the template, which is more
28153 general than the current caps.
28155 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28157 * gst/autoplug/.cvsignore:
28158 * gst/autoplug/Makefile.am:
28159 * gst/autoplug/gstsearchfuncs.c:
28160 * gst/autoplug/gstsearchfuncs.h:
28161 * gst/autoplug/gstspider.c:
28162 * gst/autoplug/gstspider.h:
28163 * gst/autoplug/gstspideridentity.c:
28164 * gst/autoplug/gstspideridentity.h:
28165 * gst/autoplug/spidertest.c:
28168 2005-04-25 Wim Taymans <wim@fluendo.com>
28170 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28171 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
28172 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
28173 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
28175 Added stubs for unimplemented functions.
28177 2005-04-24 David Schleef <ds@schleef.org>
28179 * gst/gstpad.h: Disable some unimplemented functions. Wim,
28182 2005-04-24 David Schleef <ds@schleef.org>
28184 Convert everything from GstAtomicInt to g_atomic_int_*, and
28189 * gst/gstatomic_impl.h:
28197 * gst/gstdata_private.h:
28201 * gst/gstmessage.c:
28204 * gst/gststructure.c:
28205 * gst/gststructure.h:
28206 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
28209 2005-04-24 David Schleef <ds@schleef.org>
28211 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
28212 make the regressions tests work. Remove some code that is no
28214 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
28215 Disable warning for pads without templates.
28217 2005-04-24 David Schleef <ds@schleef.org>
28219 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
28220 functions that handle filtered links.
28221 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
28223 * gst/gstutils.c: Fix/remove utility functions that handle
28226 * gst/gstvalue.c: Add serialization/deserialization of caps
28227 * gst/parse/grammar.y: Ignore filtered caps when linking. This
28228 requires fixing so that the filter caps notation creates
28229 a capsfilter element and sets the filter_caps property. I
28230 think everyone probably wants to keep the shorthand notation.
28231 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
28232 * docs/gst/tmpl/gstpad.sgml:
28234 * gst/elements/gstelements.c: Register capsfilter element.
28235 * gst/Makefile.am: fix spacing
28236 * docs/random/ds/0.9-suggested-changes: random
28238 2005-04-23 David Schleef <ds@schleef.org>
28240 * gst/elements/Makefile.am:
28241 * gst/elements/gstcapsfilter.c: New element that acts like an
28242 identity, but filters caps. Will eventually replace filtered
28243 caps in pad linking.
28244 * gst/gstutils.c: (gst_element_create_all_pads): New function
28245 to create all the ALWAYS pads that are registered with an
28246 element class. This functionality should eventually be
28247 merged in with GstElement initialization.
28249 * testsuite/trigger/README: part of trigger test code that should
28250 have been checked in a long time ago.
28252 2005-04-23 David Schleef <ds@schleef.org>
28254 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
28255 needed with new versions of libtool (nobody will confirm this),
28256 and hard to carry around.
28257 * gst/autoplug/Makefile.am:
28258 * gst/base/Makefile.am:
28259 * gst/elements/Makefile.am:
28260 * gst/indexers/Makefile.am:
28261 * gst/schedulers/Makefile.am:
28262 * libs/gst/bytestream/Makefile.am:
28263 * libs/gst/control/Makefile.am:
28264 * libs/gst/dataprotocol/Makefile.am:
28265 * libs/gst/getbits/Makefile.am:
28267 2005-04-21 Wim Taymans <wim@fluendo.com>
28269 * docs/design/draft-push-pull.txt:
28270 * docs/design/part-MT-refcounting.txt:
28271 * docs/design/part-TODO.txt:
28272 * docs/design/part-caps.txt:
28273 * docs/design/part-events.txt:
28274 * docs/design/part-gstbus.txt:
28275 * docs/design/part-gstpipeline.txt:
28276 * docs/design/part-messages.txt:
28277 * docs/design/part-push-pull.txt:
28278 * docs/design/part-query.txt:
28281 2005-04-21 Wim Taymans <wim@fluendo.com>
28283 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
28284 (gst_message_new), (gst_message_new_error),
28285 (gst_message_new_warning), (gst_message_new_tag),
28286 (gst_message_new_state_changed), (gst_message_new_application),
28287 (gst_message_get_structure):
28288 * gst/gstmessage.h:
28289 * gst/gststructure.c: (gst_structure_set_parent_refcount),
28290 (gst_structure_copy_conditional):
28291 Use parent refcount in GstMessage to ensure GstStructure
28293 Cleaned up headers a bit.
28296 2005-04-20 Wim Taymans <wim@fluendo.com>
28298 * gst/base/gstbasesink.c: (gst_basesink_base_init),
28299 (gst_basesink_pad_getcaps), (gst_basesink_init),
28300 (gst_basesink_chain_unlocked):
28301 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
28302 (gst_type_find_helper):
28303 * gst/elements/gsttypefindelement.c:
28304 (gst_type_find_element_have_type), (gst_type_find_element_init),
28305 (stop_typefinding), (gst_type_find_element_handle_event),
28306 (find_suggest), (gst_type_find_element_chain),
28307 (gst_type_find_element_checkgetrange),
28308 (gst_type_find_element_getrange), (do_typefind),
28309 (gst_type_find_element_activate):
28310 * gst/gstbuffer.c: (_gst_buffer_sub_free),
28311 (gst_buffer_default_free), (gst_buffer_default_copy),
28312 (gst_buffer_set_caps):
28313 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
28314 (gst_caps_replace):
28315 * gst/gstmessage.c: (gst_message_new),
28316 (gst_message_new_state_changed):
28317 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28318 (gst_pad_set_checkgetrange_function),
28319 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
28320 (gst_pad_set_caps), (gst_pad_check_pull_range),
28321 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
28323 * gst/gsttypefind.c: (gst_type_find_register):
28324 Make gst_caps_replace() work like other _replace() functions.
28325 Use _caps_replace() where possible.
28326 Make sure _message_new() initialises its field.
28327 Add gst_static_pad_template_get_caps()
28330 2005-04-18 Andy Wingo <wingo@pobox.com>
28332 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
28333 on the peer, not the pad. I think that was a typo. Pass an extra
28334 arg to see if random access is possible. Activate the pads as
28335 PULL_RANGE if possible.
28337 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
28339 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
28340 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
28343 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28345 * docs/faq/using.xml:
28346 Add note on gstreamer-properties (#154996).
28348 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28350 * docs/random/bbb/optional-properties:
28351 Some analysis on optional properties.
28353 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28355 * docs/gst/tmpl/gstelementfactory.sgml:
28356 * gst/gstelement.h:
28357 * gst/gstelementfactory.c: (gst_element_factory_init),
28358 (gst_element_factory_cleanup), (gst_element_register),
28359 (__gst_element_factory_add_static_pad_template),
28360 (gst_element_factory_get_static_pad_templates),
28361 (gst_element_factory_can_src_caps),
28362 (gst_element_factory_can_sink_caps):
28363 * gst/registries/Makefile.am:
28364 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
28365 (gst_xml_registry_class_init), (gst_xml_registry_init),
28366 (gst_xml_registry_new), (gst_xml_registry_set_property),
28367 (gst_xml_registry_get_property), (get_time), (make_dir),
28368 (gst_xml_registry_get_perms_func),
28369 (plugin_times_older_than_recurse), (plugin_times_older_than),
28370 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
28371 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
28372 (add_to_char_array), (read_string), (read_uint), (read_enum),
28373 (load_pad_template), (load_feature), (load_plugin), (load_paths),
28374 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
28375 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
28376 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
28377 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
28378 (gst_xml_registry_rebuild):
28379 * gst/registries/gstlibxmlregistry.h:
28380 * tools/gst-compprep.c: (main):
28381 * tools/gst-inspect.c: (print_pad_templates_info):
28382 * tools/gst-xmlinspect.c: (print_element_info):
28383 Use libxml2 for registry parsing, use staticpadtemplates in
28384 elementfactories. Makes gst_init() +/- 10x faster.
28386 2005-04-12 Wim Taymans <wim@fluendo.com>
28388 * gst/base/Makefile.am:
28389 * gst/base/gstbasesink.c: (gst_basesink_base_init),
28390 (gst_basesink_pad_getcaps), (gst_basesink_init),
28391 (gst_basesink_event), (gst_basesink_change_state):
28392 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
28393 (gst_basesrc_init), (gst_basesrc_query),
28394 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
28395 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
28396 (gst_basesrc_check_get_range), (gst_basesrc_loop),
28397 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
28398 (gst_basesrc_stop), (gst_basesrc_activate),
28399 (gst_basesrc_change_state):
28400 * gst/base/gsttypefindhelper.c: (helper_find_peek),
28401 (helper_find_suggest), (gst_type_find_helper):
28402 * gst/base/gsttypefindhelper.h:
28403 * gst/elements/Makefile.am:
28404 * gst/elements/gstelements.c:
28405 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28406 (gst_fakesink_get_times), (gst_fakesink_event),
28407 (gst_fakesink_preroll), (gst_fakesink_render):
28408 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28409 (gst_fakesrc_init), (gst_fakesrc_event_handler),
28410 (gst_fakesrc_get_property), (gst_fakesrc_create),
28411 (gst_fakesrc_start), (gst_fakesrc_stop):
28412 * gst/elements/gstfakesrc.h:
28413 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
28414 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
28415 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
28416 (gst_filesrc_create_read), (gst_filesrc_create),
28417 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
28418 (gst_filesrc_start):
28419 * gst/elements/gsttypefindelement.c:
28420 (gst_type_find_element_have_type), (gst_type_find_element_init),
28421 (start_typefinding), (stop_typefinding), (push_buffer_store),
28422 (gst_type_find_element_handle_event),
28423 (gst_type_find_element_chain),
28424 (gst_type_find_element_checkgetrange),
28425 (gst_type_find_element_getrange), (do_typefind),
28426 (gst_type_find_element_activate),
28427 (gst_type_find_element_change_state):
28428 * gst/elements/gsttypefindelement.h:
28429 * gst/gstpipeline.c: (pipeline_bus_handler):
28430 Added typefind helper.
28431 Small preroll fix in the base sink.
28432 Disable typefind code in basesrc.
28433 Crude port of typefindelement.
28437 2005-04-11 Wim Taymans <wim@fluendo.com>
28439 * check/gst/gstbus.c: (gstbus_suite):
28440 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
28441 * check/gstcheck.h:
28442 Fix up the timeout so that the test does not fail.
28444 2005-04-06 Wim Taymans <wim@fluendo.com>
28447 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
28448 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
28449 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
28450 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
28451 (gst_basesrc_check_get_range), (gst_basesrc_loop),
28452 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
28453 (gst_basesrc_stop), (gst_basesrc_activate),
28454 (gst_basesrc_change_state), (basesrc_find_peek),
28455 (basesrc_find_suggest), (gst_basesrc_type_find):
28456 * gst/base/gstbasesrc.h:
28457 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
28458 (gst_filesrc_class_init), (gst_filesrc_init),
28459 (gst_filesrc_finalize), (gst_filesrc_set_location),
28460 (gst_filesrc_set_property), (gst_filesrc_get_property),
28461 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
28462 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
28463 (gst_filesrc_create_read), (gst_filesrc_create),
28464 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
28465 * gst/elements/gstfilesrc.h:
28466 * gst/gstelement.c: (gst_element_get_state_func),
28467 (gst_element_lost_state), (gst_element_pads_activate):
28468 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28469 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
28470 (gst_pad_pull_range):
28472 More work on the generic source base class, implement seeking,
28474 Make filesrc extend the base source class.
28475 Added gst_pad_set_checkgetrange_function to GstPad.
28477 2005-04-06 Andy Wingo <wingo@pobox.com>
28479 * pkgconfig/gstreamer-base.pc.in:
28480 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
28482 * pkgconfig/Makefile.am:
28483 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
28485 2005-04-04 Wim Taymans <wim@fluendo.com>
28487 * gst/base/Makefile.am:
28489 * gst/base/gstbasesink.c: (gst_basesink_base_init),
28490 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
28491 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
28492 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
28493 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
28494 (gst_basesrc_base_init), (gst_basesrc_class_init),
28495 (gst_basesrc_init), (gst_basesrc_get_formats),
28496 (gst_basesrc_get_query_types), (gst_basesrc_query),
28497 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
28498 (gst_basesrc_set_property), (gst_basesrc_get_property),
28499 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
28500 (gst_basesrc_loop), (gst_basesrc_activate),
28501 (gst_basesrc_change_state):
28502 * gst/base/gstbasesrc.h:
28503 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
28504 (gst_fakesrc_class_init), (gst_fakesrc_init),
28505 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
28506 (gst_fakesrc_get_property), (gst_fakesrc_create):
28507 * gst/elements/gstfakesrc.h:
28508 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
28509 (gst_filesrc_open_file), (gst_filesrc_loop),
28510 (gst_filesrc_activate), (filesrc_find_peek),
28511 (gst_filesrc_type_find):
28512 Made base source class, make fakesrc extend it.
28513 Add comments to basesink class.
28514 Some filesrc cleanup.
28516 2005-03-31 David Schleef <ds@schleef.org>
28518 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
28519 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
28520 expected to link against libgstreamer.
28521 * gst/base/Makefile.am: link against libgstreamer
28522 * gst/elements/Makefile.am: same
28524 2005-03-31 Andy Wingo <wingo@pobox.com>
28526 * tests/instantiate/Makefile.am:
28527 * tests/instantiate/caps.c: Add test to test speed of caps copy
28530 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
28531 GMemChunk to be fair.
28533 * gst/gsttrashstack.h: Remove warning about using the fallback
28534 trash stack implementation, it's still faster than malloc.
28536 2005-03-30 Andy Wingo <wingo@pobox.com>
28538 * tests/complexity.c: Add a copyright.
28540 2005-03-31 Wim Taymans <wim@fluendo.com>
28542 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
28543 (gst_base_transform_class_init), (gst_base_transform_init),
28544 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
28545 (gst_base_transform_get_property),
28546 (gst_base_transform_sink_activate),
28547 (gst_base_transform_src_activate),
28548 (gst_base_transform_change_state):
28549 * gst/base/gstbasetransform.h:
28550 * gst/elements/gstidentity.c: (gst_identity_class_init),
28551 (gst_identity_event), (gst_identity_check_perfect),
28552 (gst_identity_transform), (gst_identity_start),
28553 (gst_identity_stop):
28554 Added start/stop methods to transform base class so subclasses
28555 don't need to deal with state changes even.
28557 2005-03-31 Wim Taymans <wim@fluendo.com>
28559 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
28560 (gst_event_new_discontinuous), (gst_event_discont_get_value):
28562 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28563 (gst_pad_pull_range):
28564 Added rate to the discont event to prepare for variable speed
28565 and reverse playback.
28567 2005-03-29 David Schleef <ds@schleef.org>
28570 * testsuite/trigger/Makefile.am:
28571 * testsuite/trigger/trigger.c: A little example program to show
28572 how trigger-based elements can work.
28574 2005-03-29 Wim Taymans <wim@fluendo.com>
28576 * gst/base/Makefile.am:
28578 * gst/base/gstbasesink.c: (gst_basesink_get_type),
28579 (gst_basesink_base_init), (gst_basesink_class_init),
28580 (gst_basesink_pad_getcaps), (gst_basesink_init),
28581 (gst_basesink_activate), (gst_basesink_change_state):
28582 * gst/base/gstbasesink.h:
28583 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
28584 (gst_base_transform_base_init), (gst_base_transform_finalize),
28585 (gst_base_transform_class_init), (gst_base_transform_init),
28586 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
28587 (gst_base_transform_event), (gst_base_transform_getrange),
28588 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
28589 (gst_base_transform_set_property),
28590 (gst_base_transform_get_property),
28591 (gst_base_transform_sink_activate),
28592 (gst_base_transform_src_activate),
28593 (gst_base_transform_change_state):
28594 * gst/base/gstbasetransform.h:
28595 * gst/elements/gstidentity.c: (gst_identity_finalize),
28596 (gst_identity_class_init), (gst_identity_init),
28597 (gst_identity_event), (gst_identity_check_perfect),
28598 (gst_identity_transform), (gst_identity_set_property),
28599 (gst_identity_get_property), (gst_identity_change_state):
28600 * gst/elements/gstidentity.h:
28601 * gst/gstelement.c: (gst_element_get_state_func),
28602 (gst_element_lost_state), (gst_element_pads_activate):
28603 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28604 (gst_pad_check_pull_range), (gst_pad_pull_range):
28606 Simplify pad activation.
28607 Added function to check if pull_range can be performed.
28608 Error out when pulling inactive or flushing pads.
28609 Removed const from refcounted types as it does not make sense.
28610 Simplify pad templates in basesink
28611 Added base class for simple 1-to-1 transforms.
28612 Make identity subclass the base transform.
28614 2005-03-29 Andy Wingo <wingo@pobox.com>
28616 * docs/libs/gstreamer-libs-overrides.txt:
28617 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
28618 really don't understand what's going on, but like whatever. I want
28621 * docs/gst/Makefile.am:
28622 * docs/libs/Makefile.am: Dist the overrides files.
28624 * check/Makefile.am (clean-local): Remove .libs directories.
28626 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
28627 elements to EXTRA_DIST, so po/ files are happy.
28629 * po/POTFILES.in: Er, remove it here.
28631 * po/POTFILES: Remove gstspider.c.
28633 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
28635 * docs/libs/gstreamer-libs-docs.sgml:
28636 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
28639 * tests/complexity.c (main): Set the length of the preroll queue
28640 on the sinks to prevent a lockup.
28642 * libs/gst/dataprotocol/Makefile.am:
28643 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
28644 the same as the one in check/gst-libs/gdp.c.
28646 * po/, docs/gst/: Commit automatic changes to docs and po files.
28648 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
28649 the versioned libgstbase.
28651 * check/Makefile.am: Depend on an unversioned gst-register, seems
28652 to make autoconf happier.
28654 * gst/base/Makefile.am: Make libgstbase a versioned lib.
28656 2005-03-28 Wim Taymans <wim@fluendo.com>
28659 * docs/design/part-gstelement.txt:
28660 * docs/design/part-negotiation.txt:
28661 * docs/design/part-preroll.txt:
28662 * docs/design/part-scheduling.txt:
28663 * docs/design/part-states.txt:
28665 * gst/base/Makefile.am:
28667 * gst/base/gstbasesink.c: (gst_basesink_get_template),
28668 (gst_basesink_base_init), (gst_basesink_class_init),
28669 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
28670 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
28671 (gst_basesink_set_pad_functions),
28672 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
28673 (gst_basesink_set_property), (gst_basesink_get_property),
28674 (gst_base_sink_get_template), (gst_base_sink_get_caps),
28675 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
28676 (gst_basesink_preroll_queue_push),
28677 (gst_basesink_preroll_queue_empty),
28678 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
28679 (gst_basesink_event), (gst_basesink_get_times),
28680 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
28681 (gst_basesink_chain_unlocked), (gst_basesink_chain),
28682 (gst_basesink_loop), (gst_basesink_activate),
28683 (gst_basesink_change_state):
28684 * gst/base/gstbasesink.h:
28685 * gst/elements/Makefile.am:
28686 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
28687 (gst_fakesink_class_init), (gst_fakesink_init),
28688 (gst_fakesink_set_property), (gst_fakesink_get_property),
28689 (gst_fakesink_get_times), (gst_fakesink_event),
28690 (gst_fakesink_preroll), (gst_fakesink_render),
28691 (gst_fakesink_change_state):
28692 * gst/elements/gstfakesink.h:
28693 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
28694 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
28695 * gst/gstelement.c: (gst_element_add_pad),
28696 (gst_element_get_state_func), (gst_element_abort_state),
28697 (gst_element_commit_state), (gst_element_lost_state),
28698 (gst_element_set_state), (gst_element_pads_activate):
28699 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
28700 * gst/gstpipeline.c: (gst_pipeline_send_event),
28701 (gst_pipeline_change_state):
28702 Added state change code.
28703 Added/updated docs.
28704 Added sink base class, make fakesink extend the base class.
28705 Small cleanups in GstPipeline.
28707 2005-03-26 David Schleef <ds@schleef.org>
28709 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
28710 is broken and should be implemented in a different library.
28711 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
28712 * gst/gst.h: remove gstcpu.h
28713 * gst/gstcpu.c: remove
28714 * gst/gstcpu.h: remove
28715 * gst/Makefile.am.future: Remove this file. It's ancient.
28717 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28719 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
28720 (gst_bin_send_event):
28721 Add default event/set_manager handlers. The set_manager handler
28722 takes care that the manager is distributed over kids that were
28723 already in the bin before the manager was set. The event handler
28724 is a utility virtual function that sends the event over all sinks,
28725 so that gst_element_send_event (bin, event); has the expected
28727 * gst/gstpad.c: (gst_pad_event_default):
28728 Re-install default event handling for discontinuities, so that
28729 seeking works without requiring hacks in applications or extra
28731 * gst/gstpipeline.c: (gst_pipeline_class_init),
28732 (gst_pipeline_send_event):
28733 Half hack, half utility: set a pipeline to PAUSED for seek events,
28734 since that is the only way we can guarantee a/v sync. Means that
28735 you can do gst_element_seek (pipeline, method, pos); on a pipeline
28736 and it "just works".
28738 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28740 * gst/gstpipeline.c: (gst_pipeline_use_clock):
28741 Lock/unlock mismatch.
28743 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
28745 * docs/faq/gst-uninstalled:
28746 add gst-plugins-base
28747 * docs/gst/Makefile.am:
28748 don't error out until docs are fixed
28749 * docs/gst/gstreamer.types:
28752 2005-03-22 Wim Taymans <wim@fluendo.com>
28754 * check/Makefile.am:
28755 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
28756 * gst/gststructure.c: (gst_structure_set_valist),
28757 (gst_structure_copy_conditional):
28758 Activated more tests.
28759 Added message test.
28760 Added G_TYPE_POINTER to GstStructure.
28763 2005-03-22 Wim Taymans <wim@fluendo.com>
28765 * docs/design/part-TODO.txt:
28766 * docs/design/part-events.txt:
28767 * docs/design/part-gstbin.txt:
28768 * docs/design/part-gstbus.txt:
28769 * docs/design/part-gstpipeline.txt:
28770 * docs/design/part-messages.txt:
28772 * gst/gstmessage.c:
28775 2005-03-21 Wim Taymans <wim@fluendo.com>
28777 * gst/gstbus.c: (gst_bus_post):
28778 Fix copy-and-paste error.
28780 2005-03-21 Wim Taymans <wim@fluendo.com>
28782 * check/Makefile.am:
28784 * gst/elements/Makefile.am:
28785 * gst/elements/gstelements.c:
28786 * gst/elements/gstfakesink.c: (gst_fakesink_init),
28787 (gst_fakesink_event), (gst_fakesink_chain):
28788 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28789 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
28790 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
28791 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
28792 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28793 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
28794 (gst_fakesrc_loop), (gst_fakesrc_activate),
28795 (gst_fakesrc_change_state):
28796 * gst/elements/gstfakesrc.h:
28797 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
28798 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
28799 (gst_filesrc_open_file), (gst_filesrc_loop),
28800 (gst_filesrc_activate), (gst_filesrc_change_state),
28801 (filesrc_find_peek), (filesrc_find_suggest),
28802 (gst_filesrc_type_find):
28803 * gst/elements/gstidentity.c: (gst_identity_finalize),
28804 (gst_identity_class_init), (gst_identity_init),
28805 (gst_identity_proxy_getcaps), (identity_queue_push),
28806 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
28807 (gst_identity_getrange), (gst_identity_chain),
28808 (gst_identity_sink_loop), (gst_identity_src_loop),
28809 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
28810 (gst_identity_set_property), (gst_identity_get_property),
28811 (gst_identity_change_state):
28812 * gst/elements/gstidentity.h:
28813 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
28814 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
28815 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
28816 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
28817 (gst_tee_sink_activate):
28818 * gst/elements/gsttee.h:
28819 * gst/gst.c: (gst_register_core_elements), (init_post):
28821 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
28822 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
28823 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
28824 (gst_bin_change_state):
28826 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
28827 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
28828 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
28829 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
28830 (gst_bus_set_sync_handler), (gst_bus_create_watch),
28831 (bus_watch_callback), (bus_watch_destroy),
28832 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
28833 (poll_timeout), (gst_bus_poll):
28837 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
28838 (gst_element_post_message), (gst_element_message_full),
28839 (gst_element_get_state_func), (gst_element_get_state),
28840 (gst_element_abort_state), (gst_element_commit_state),
28841 (gst_element_lost_state), (gst_element_set_state),
28842 (gst_element_pads_activate), (gst_element_change_state),
28843 (gst_element_dispose), (gst_element_set_manager_func),
28844 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
28845 (gst_element_set_manager), (gst_element_get_manager),
28846 (gst_element_set_bus), (gst_element_get_bus),
28847 (gst_element_set_scheduler), (gst_element_get_scheduler):
28848 * gst/gstelement.h:
28849 * gst/gstevent.c: (gst_event_new_segment_seek),
28850 (gst_event_new_flush):
28852 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
28853 (_gst_message_free), (gst_message_get_type), (gst_message_new),
28854 (gst_message_new_eos), (gst_message_new_error),
28855 (gst_message_new_warning), (gst_message_new_tag),
28856 (gst_message_new_state_changed), (gst_message_new_application),
28857 (gst_message_get_structure), (gst_message_parse_tag),
28858 (gst_message_parse_state_changed), (gst_message_parse_error),
28859 (gst_message_parse_warning):
28860 * gst/gstmessage.h:
28861 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
28862 (gst_real_pad_set_property), (gst_pad_set_active),
28863 (gst_pad_is_active), (gst_pad_set_blocked_async),
28864 (gst_pad_set_blocked), (gst_pad_is_blocked),
28865 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
28866 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
28867 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
28868 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
28869 (gst_pad_link_filtered), (gst_pad_relink_filtered),
28870 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
28871 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
28872 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
28873 (gst_pad_set_caps), (gst_pad_configure_sink),
28874 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
28875 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
28876 (gst_real_pad_dispose), (gst_real_pad_finalize),
28877 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
28878 (gst_pad_event_default_dispatch), (gst_pad_event_default),
28879 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
28881 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
28882 (pipeline_bus_handler), (gst_pipeline_change_state),
28883 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
28884 * gst/gstpipeline.h:
28886 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
28887 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
28888 (gst_queue_link_src), (gst_queue_bufferalloc),
28889 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
28890 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
28891 (gst_queue_loop), (gst_queue_handle_src_event),
28892 (gst_queue_handle_src_query), (gst_queue_src_activate),
28893 (gst_queue_change_state):
28895 * gst/gstscheduler.c: (gst_scheduler_init),
28896 (gst_scheduler_dispose), (gst_scheduler_create_task),
28897 (gst_scheduler_factory_create):
28898 * gst/gstscheduler.h:
28899 * gst/gststructure.c: (gst_structure_get_type),
28900 (gst_structure_copy_conditional):
28901 * gst/gststructure.h:
28902 * gst/gsttaginterface.h:
28903 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
28904 (gst_task_init), (gst_task_dispose), (gst_task_create),
28905 (gst_task_get_state), (gst_task_start), (gst_task_stop),
28911 * gst/schedulers/Makefile.am:
28912 * gst/schedulers/cothreads_compat.h:
28913 * gst/schedulers/entryscheduler.c:
28914 * gst/schedulers/faircothreads.c:
28915 * gst/schedulers/faircothreads.h:
28916 * gst/schedulers/fairscheduler.c:
28917 * gst/schedulers/gstbasicscheduler.c:
28918 * gst/schedulers/gstoptimalscheduler.c:
28919 * gst/schedulers/gthread-cothreads.h:
28920 * gst/schedulers/threadscheduler.c:
28921 (gst_thread_scheduler_task_get_type),
28922 (gst_thread_scheduler_task_class_init),
28923 (gst_thread_scheduler_task_init),
28924 (gst_thread_scheduler_task_start),
28925 (gst_thread_scheduler_task_stop),
28926 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
28927 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28928 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
28929 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
28931 * libs/gst/Makefile.am:
28932 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
28933 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
28934 (gst_file_pad_parent_set):
28935 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
28936 (gst_dp_event_from_packet):
28937 * tests/complexity.c: (main):
28938 * tests/mass_elements.c: (main):
28939 * testsuite/states/locked.c: (message_received), (main):
28940 * testsuite/states/parent.c: (main):
28941 * tools/gst-inspect.c: (print_element_flag_info),
28942 (print_implementation_info), (print_pad_info):
28943 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
28945 * tools/gst-md5sum.c: (event_loop), (main):
28946 * tools/gst-typefind.c: (main):
28947 * tools/gst-xmlinspect.c: (print_element_info):
28949 Added GstBus for mainloop integration.
28950 Added GstMessage for sending notifications on the bus.
28951 Added GstTask as an abstraction for pipeline entry points.
28953 Removed Schedulers.
28954 Simplified GstQueue for multithreaded core.
28955 Made _link threadsafe, removed old capsnego.
28956 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
28957 Added pad blocking functions.
28958 Reworked scheduling functions in GstPad to prepare for
28959 scheduling updates soon.
28960 Moved events out of data stream.
28961 Simplified GstEvent types.
28962 Added return values to push/pull.
28963 Removed clocking from GstElement.
28964 Added prototypes for state change function for next merge.
28965 Removed iterate from bins and state change management.
28966 Fixed some elements, disabled others for now.
28967 Fixed -inspect and -launch.
28968 Added check for GstBus.
28970 2005-03-10 Wim Taymans <wim@fluendo.com>
28972 * docs/design/part-MT-refcounting.txt:
28973 * docs/design/part-clocks.txt:
28974 * docs/design/part-gstelement.txt:
28975 * docs/design/part-gstobject.txt:
28976 * docs/design/part-standards.txt:
28977 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
28978 (gst_bin_remove_func), (gst_bin_remove):
28982 * testsuite/clock/clock1.c: (main):
28983 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
28985 * testsuite/dlopen/loadgst.c: (do_test):
28986 * testsuite/refcounting/bin.c: (add_remove_test1),
28987 (add_remove_test2), (main):
28988 * testsuite/refcounting/element.c: (main):
28989 * testsuite/refcounting/element_pad.c: (main):
28990 * testsuite/refcounting/pad.c: (main):
28991 * tools/gst-launch.c: (sigint_handler_sighandler):
28992 * tools/gst-typefind.c: (main):
28994 Added doc about clock.
28995 removed gst_bin_iterate_recurse_up(), marked methods
28997 Fix more testsuites.
28999 2005-03-09 Wim Taymans <wim@fluendo.com>
29001 * gst/gstpad.c: (gst_pad_get_direction),
29002 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
29003 (gst_pad_collect_valist):
29004 * testsuite/bins/interface.c: (main):
29005 * testsuite/caps/audioscale.c: (test_caps):
29006 * testsuite/caps/caps.c: (test1), (test2), (test3):
29007 * testsuite/caps/deserialize.c: (main):
29008 * testsuite/caps/enumcaps.c: (main):
29009 * testsuite/caps/filtercaps.c: (main):
29010 * testsuite/caps/intersect2.c: (main):
29011 * testsuite/caps/random.c: (main):
29012 * testsuite/caps/renegotiate.c: (my_fixate), (main):
29013 * testsuite/caps/sets.c: (check_caps):
29014 * testsuite/caps/simplify.c: (check_caps), (main):
29015 * testsuite/caps/subtract.c: (check_caps):
29016 Fix _pad_get_direction wrt ghostpads.
29017 Fix caps testsuite.
29019 2005-03-09 Wim Taymans <wim@fluendo.com>
29021 * check/Makefile.am:
29022 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
29023 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
29024 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
29025 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
29026 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
29027 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
29028 (gst_bin_remove), (gst_bin_iterate_recurse_up),
29029 (bin_element_is_sink), (gst_bin_iterate_sinks),
29030 (gst_bin_iterate_all_by_interface):
29032 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
29033 (gst_element_change_state), (gst_element_dispose),
29034 (gst_element_finalize), (gst_element_set_loop_function):
29035 * gst/gstelement.h:
29036 * gst/gstiterator.c: (find_custom_fold_func):
29037 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
29038 (gst_pad_collectv), (gst_pad_collect_valist),
29039 (gst_pad_template_new):
29040 * gst/gstpipeline.c: (gst_pipeline_class_init),
29041 (gst_pipeline_dispose), (gst_pipeline_set_property),
29042 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
29043 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
29044 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
29046 * gst/schedulers/entryscheduler.c:
29047 * gst/schedulers/gstbasicscheduler.c:
29048 (gst_basic_scheduler_cothreaded_chain),
29049 (gst_basic_scheduler_chain_add_element):
29050 * testsuite/bins/interface.c: (main):
29052 Added GstSystemClock test.
29053 Implemented clock distribution code in GstBin.
29054 Implemented iterate sinks method for future use.
29055 Rearranged gstelement.h
29056 Fix GstIterator comparison bug.
29057 Moved some code to GstPipeline, mostly clocking related.
29059 2005-03-09 Wim Taymans <wim@fluendo.com>
29062 * gst/gst_private.h:
29063 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29064 (gst_bin_remove_func), (gst_bin_remove),
29065 (gst_bin_get_by_name_recurse_up):
29066 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
29067 (gst_clock_id_compare_func), (gst_clock_id_wait),
29068 (gst_clock_id_wait_async), (gst_clock_init),
29069 (gst_clock_adjust_unlocked), (gst_clock_get_time):
29070 * gst/gstelement.h:
29071 * gst/gstinfo.c: (_gst_debug_init):
29073 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
29074 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
29076 Bump version number, we're now 0.9.0
29077 Add future debugging category.
29078 Fix NULL _unref() in _get_by_name_recurse_up
29079 Rearrange gstpad.h.
29082 2005-03-08 Wim Taymans <wim@fluendo.com>
29084 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
29085 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
29086 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
29087 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
29088 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
29089 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
29090 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
29091 * gst/elements/gstidentity.c: (gst_identity_class_init):
29092 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
29093 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
29094 * gst/elements/gstshaper.c: (gst_shaper_class_init):
29095 * gst/elements/gststatistics.c: (gst_statistics_class_init):
29096 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
29098 * gst/gstelement.c: (gst_element_class_init),
29099 (gst_element_base_class_init), (gst_element_init),
29100 (gst_element_get_random_pad), (gst_element_wait_state_change),
29101 (gst_element_change_state), (gst_element_dispose),
29102 (gst_element_finalize), (gst_element_set_loop_function):
29103 * gst/gstelement.h:
29104 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
29105 * gst/gstthread.c: (gst_thread_class_init),
29106 (gst_thread_release_children_locks), (gst_thread_change_state):
29107 * gst/schedulers/gstbasicscheduler.c:
29108 (gst_basic_scheduler_loopfunc_wrapper),
29109 (gst_basic_scheduler_chain_wrapper),
29110 (gst_basic_scheduler_src_wrapper),
29111 (gst_basic_scheduler_remove_element):
29112 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
29113 Remove threadsafe properties. Fix elements because GObject
29114 complains when installing a property before declaring a
29115 set/get_property handler.
29116 Rearrange gstelement.h file, use STATE macros for state locks.
29117 Free mutexes in the finalize method instead of dispose.
29119 2005-03-08 Wim Taymans <wim@fluendo.com>
29121 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
29122 * gst/gstthread.c: (gst_thread_release_children_locks):
29123 Added parentage check.
29124 Fix build og GstThread again.
29126 2005-03-08 Wim Taymans <wim@fluendo.com>
29128 * docs/design/part-MT-refcounting.txt:
29129 * docs/design/part-conventions.txt:
29130 * docs/design/part-gstobject.txt:
29131 * docs/design/part-relations.txt:
29132 * docs/design/part-standards.txt:
29133 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29134 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
29135 (gst_bin_get_by_name), (gst_bin_get_by_interface),
29136 (gst_bin_iterate_all_by_interface):
29139 * gst/gstelement.c: (gst_element_class_init),
29140 (gst_element_change_state), (gst_element_set_loop_function):
29141 * gst/gstelement.h:
29142 * gst/gstiterator.c:
29143 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
29144 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
29145 (gst_object_dispatch_properties_changed), (gst_object_set_name),
29146 (gst_object_set_parent), (gst_object_unparent),
29147 (gst_object_check_uniqueness):
29149 Docs updates, clean up some headers.
29151 2005-03-07 Wim Taymans <wim@fluendo.com>
29153 * check/.cvsignore:
29154 * check/Makefile.am:
29155 * check/gst-libs/.cvsignore:
29156 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
29157 * check/gst/.cvsignore:
29158 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
29159 (START_TEST), (gstbus_suite), (main):
29160 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
29161 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
29162 (gst_data_suite), (main):
29163 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
29164 (add_fold_func), (gstiterator_suite), (main):
29165 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
29166 (thread_name_object), (thread_name_object_default),
29167 (gst_object_name_compare), (gst_object_suite), (main):
29168 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
29169 (gst_pad_suite), (main):
29170 * check/gstcheck.c: (gst_check_log_message_func),
29171 (gst_check_log_critical_func), (gst_check_init):
29172 * check/gstcheck.h:
29173 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
29174 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
29177 2005-03-07 Wim Taymans <wim@fluendo.com>
29179 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
29180 (gst_list_iterator_next), (gst_list_iterator_resync),
29181 (gst_list_iterator_free), (gst_iterator_new_list),
29182 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
29183 (gst_iterator_free), (gst_iterator_push), (filter_next),
29184 (filter_resync), (filter_uninit), (filter_free),
29185 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
29186 (gst_iterator_foreach), (find_custom_fold_func),
29187 (gst_iterator_find_custom):
29188 * gst/gstiterator.h:
29189 Added missing files.
29191 2005-03-07 Wim Taymans <wim@fluendo.com>
29195 * docs/design/part-MT-refcounting.txt:
29196 * docs/design/part-conventions.txt:
29197 * docs/design/part-gstobject.txt:
29198 * docs/design/part-relations.txt:
29199 * examples/mixer/mixer.c: (main):
29200 * examples/thread/thread.c: (eos), (main):
29202 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
29203 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
29204 (gst_spider_plug_from_srcpad):
29205 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
29206 (gst_spider_identity_change_state),
29207 (gst_spider_identity_sink_loop_type_finding):
29208 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
29209 * gst/elements/gstidentity.c: (gst_identity_init):
29210 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
29211 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
29212 * gst/elements/gsttypefindelement.c: (free_entry):
29215 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
29216 (gst_bin_set_clock_func), (gst_bin_auto_clock),
29217 (gst_bin_set_index), (gst_bin_set_element_sched),
29218 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
29219 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
29220 (gst_bin_iterate_elements), (iterate_child_recurse),
29221 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
29222 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
29223 (compare_interface), (gst_bin_get_by_interface),
29224 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
29226 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
29227 (gst_buffer_default_free), (gst_buffer_default_copy),
29228 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
29229 (gst_buffer_create_sub):
29231 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
29232 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
29233 (gst_caps_unref), (gst_static_caps_get),
29234 (gst_caps_remove_and_get_structure), (gst_caps_append),
29235 (gst_caps_append_structure), (gst_caps_remove_structure),
29236 (gst_caps_copy_nth), (gst_caps_set_simple),
29237 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
29238 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
29239 (gst_caps_structure_intersect_field), (gst_caps_intersect),
29240 (gst_caps_structure_subtract_field), (gst_caps_subtract),
29241 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
29242 (gst_caps_structure_figure_out_union),
29243 (gst_caps_switch_structures), (gst_caps_do_simplify),
29244 (gst_caps_replace), (gst_caps_from_string),
29245 (gst_caps_copy_conditional):
29247 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
29248 (_gst_clock_id_free), (gst_clock_id_unref),
29249 (gst_clock_id_compare_func), (gst_clock_id_wait),
29250 (gst_clock_id_wait_async), (gst_clock_class_init),
29251 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
29252 (gst_clock_get_time), (gst_clock_set_time_adjust),
29253 (gst_clock_set_property), (gst_clock_get_property):
29256 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
29257 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
29259 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
29260 (gst_element_requires_clock), (gst_element_provides_clock),
29261 (gst_element_set_clock), (gst_element_clock_wait),
29262 (gst_element_wait), (gst_element_set_time_delay),
29263 (gst_element_is_indexable), (gst_element_add_pad),
29264 (gst_element_add_ghost_pad), (gst_element_remove_pad),
29265 (pad_compare_name), (gst_element_get_static_pad),
29266 (gst_element_request_pad), (gst_element_get_request_pad),
29267 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
29268 (gst_element_class_get_pad_template_list),
29269 (gst_element_class_get_pad_template), (gst_element_error_func),
29270 (gst_element_get_random_pad), (gst_element_get_event_masks),
29271 (gst_element_send_event), (gst_element_seek),
29272 (gst_element_get_query_types), (gst_element_query),
29273 (gst_element_get_formats), (gst_element_convert),
29274 (gst_element_is_locked_state), (gst_element_set_locked_state),
29275 (gst_element_sync_state_with_parent), (gst_element_change_state),
29276 (gst_element_finalize), (gst_element_yield),
29277 (gst_element_interrupt), (gst_element_set_scheduler),
29278 (gst_element_get_scheduler), (gst_element_set_loop_function):
29279 * gst/gstelement.h:
29281 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
29282 (gst_format_get_by_nick), (gst_format_get_details),
29283 (gst_format_iterate_definitions):
29285 * gst/gstindex.c: (gst_index_gtype_resolver):
29288 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
29289 (gst_mem_chunk_free):
29290 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
29291 (gst_object_ref), (gst_object_unref), (gst_object_sink),
29292 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
29293 (gst_object_dispatch_properties_changed),
29294 (gst_object_set_name_default), (gst_object_set_name),
29295 (gst_object_get_name), (gst_object_set_name_prefix),
29296 (gst_object_get_name_prefix), (gst_object_set_parent),
29297 (gst_object_get_parent), (gst_object_unparent),
29298 (gst_object_check_uniqueness), (gst_object_save_thyself),
29299 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
29300 (gst_object_set_property), (gst_object_get_property),
29301 (gst_object_get_path_string):
29303 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29304 (gst_real_pad_init), (gst_real_pad_get_property),
29305 (gst_pad_custom_new), (gst_pad_get_direction),
29306 (gst_pad_set_active), (gst_pad_is_active),
29307 (gst_pad_set_event_function), (gst_pad_is_linked),
29308 (gst_pad_link_free), (gst_pad_link_intersect),
29309 (gst_pad_link_fixate), (gst_pad_set_caps),
29310 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
29311 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
29312 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
29313 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
29314 (gst_pad_get_caps), (gst_pad_peer_get_caps),
29315 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
29316 (gst_pad_realize), (gst_pad_get_allowed_caps),
29317 (gst_real_pad_dispose), (gst_real_pad_finalize),
29318 (gst_pad_collectv), (gst_pad_collect_valist),
29319 (gst_pad_template_dispose), (gst_pad_template_new),
29320 (gst_pad_get_internal_links):
29322 * gst/gstpipeline.c: (gst_pipeline_dispose),
29323 (gst_pipeline_change_state):
29324 * gst/gstpipeline.h:
29326 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
29327 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
29328 * gst/gstpluginfeature.h:
29329 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
29330 * gst/gstquery.c: (_gst_query_type_initialize),
29331 (gst_query_type_register), (gst_query_type_get_by_nick),
29332 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
29334 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
29335 * gst/gstscheduler.c: (gst_scheduler_add_element),
29336 (gst_scheduler_factory_create):
29337 * gst/gststructure.c: (gst_structure_set_parent_refcount),
29338 (gst_structure_free), (gst_structure_set_name),
29339 (gst_structure_id_set_value), (gst_structure_set_value),
29340 (gst_structure_set_valist), (gst_structure_remove_field),
29341 (gst_structure_remove_fields),
29342 (gst_structure_remove_fields_valist),
29343 (gst_structure_remove_all_fields), (gst_structure_foreach),
29344 (gst_structure_map_in_place),
29345 (gst_caps_structure_fixate_field_nearest_int),
29346 (gst_caps_structure_fixate_field_nearest_double):
29347 * gst/gststructure.h:
29348 * gst/gstsystemclock.c: (gst_system_clock_class_init),
29349 (gst_system_clock_init), (gst_system_clock_dispose),
29350 (gst_system_clock_async_thread),
29351 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
29352 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
29353 * gst/gstsystemclock.h:
29354 * gst/gsttag.c: (gst_tag_list_add_value_internal),
29355 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
29356 * gst/gsttaginterface.c:
29357 * gst/gstthread.c: (gst_thread_dispose),
29358 (gst_thread_release_children_locks), (gst_thread_change_state),
29359 (gst_thread_main_loop):
29360 * gst/gsttrashstack.h:
29361 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
29363 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29364 (gst_element_request_pad), (gst_element_get_pad_from_template),
29365 (gst_element_request_compatible_pad),
29366 (gst_element_get_compatible_pad_filtered),
29367 (gst_element_get_compatible_pad), (gst_element_state_get_name),
29368 (gst_element_link_pads_filtered), (gst_element_link_filtered),
29369 (gst_element_link_many), (gst_element_link),
29370 (gst_element_link_pads), (gst_element_unlink_pads),
29371 (gst_element_unlink_many), (gst_element_unlink),
29372 (gst_pad_can_link_filtered), (gst_pad_can_link),
29373 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
29374 (gst_object_default_error), (gst_bin_add_many),
29375 (gst_bin_remove_many), (gst_element_populate_std_props),
29376 (gst_element_class_install_std_props), (gst_buffer_merge),
29377 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
29378 (link_fold_func), (gst_pad_proxy_setcaps):
29380 * gst/gstvalue.c: (gst_value_deserialize_string):
29381 * gst/parse/grammar.y:
29382 * gst/schedulers/gstbasicscheduler.c:
29383 (gst_basic_scheduler_cothreaded_chain),
29384 (gst_basic_scheduler_chain_recursive_add),
29385 (gst_basic_scheduler_pad_link):
29386 * gst/schedulers/gstoptimalscheduler.c:
29387 (get_group_schedule_function),
29388 (gst_opt_scheduler_state_transition),
29389 (gst_opt_scheduler_add_element), (element_get_reachables_func):
29390 * libs/gst/bytestream/bytestream.c:
29391 * libs/gst/dataprotocol/dataprotocol.c:
29392 (gst_dp_header_from_buffer):
29395 * tests/threadstate/threadstate2.c: (eos):
29396 * tools/gst-compprep.c: (main):
29397 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
29398 (print_pad_info), (print_children_info):
29399 * tools/gst-launch.c: (idle_func), (main):
29400 * tools/gst-md5sum.c: (idle_func), (main):
29401 * tools/gst-xmlinspect.c: (print_element_info):
29402 First THREADED backport attempt, focusing on adding locks and
29403 making sure the API is threadsafe. Needs more work. More docs
29406 2005-02-24 Andy Wingo <wingo@pobox.com>
29408 * tests/bench-complexity.scm:
29409 * tests/complexity.gnuplot: New files, good for running complexity
29412 * tests/Makefile.am:
29413 * tests/complexity.c: New test, sets up N elements, at each level
29414 teeing into M streams per element. Eeeenteresting.
29416 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
29417 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
29418 running bench-mass_elements.scm.
29420 * tests/bench-mass_elements.scm: New script, runs mass_elements
29421 for various numbers of identities, outputting the results to a
29422 file. Requires guile 1.6. Just for testing.
29424 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
29426 * gst/schedulers/fairscheduler.c:
29427 compile with debug disabled
29429 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
29432 hunting season on 0.9 is now OPEN