1 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
3 * docs/design/part-buffering.txt:
4 Fix some typos and set the estimated total for push mode to -1.
6 * gst/gstquery.c: (gst_query_new_buffering):
7 Set buffering-left to 0 as we're not buffering by default.
9 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10 Implement BUFFERING query.
12 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
14 Based on patch by: Milosz Derezynski <internalerror gmail com>
16 * gst/gsterror.c: (_gst_stream_errors_init):
18 Add two new error codes for encrypted content. Fixes #524659.
19 API: GST_STREAM_ERROR_DECRYPT
20 API: GST_STREAM_ERROR_DECRYPT_NOKEY
22 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
27 * win32/common/libgstreamer.def:
30 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
32 * plugins/elements/gstidentity.c: (gst_identity_event),
34 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
35 event after processing some data. Fixes bug #526042.
37 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
39 * docs/gst/gstreamer-sections.txt:
40 * gst/gstquery.c: (gst_query_parse_latency),
41 (gst_query_set_buffering_percent),
42 (gst_query_parse_buffering_percent),
43 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
45 Rename _avail -> _range
46 API: gst_query_set_buffering_range
47 API: gst_query_parse_buffering_range
49 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
51 * docs/design/part-buffering.txt:
54 * gst/gstquery.c: (gst_query_parse_latency),
55 (gst_query_new_buffering), (gst_query_set_buffering_percent),
56 (gst_query_parse_buffering_percent):
58 Add busy field and quark for the buffering query so that the app can
59 only use the query to see if buffering is in progress.
61 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
63 * docs/gst/gstreamer-sections.txt:
64 * gst/gstmessage.c: (gst_message_set_buffering_stats),
65 (gst_message_parse_buffering_stats):
67 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
68 (gst_query_parse_latency), (gst_query_new_buffering),
69 (gst_query_set_buffering_percent),
70 (gst_query_parse_buffering_percent),
71 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
72 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
74 Reorder the message docs and headers for clarity.
75 Add aditional buffering stats API for messages.
77 Convert some leftover queries to use GstQuark.
78 API: gst_message_set_buffering_stats
79 API: gst_message_parse_buffering_stats
80 API: GST_QUERY_BUFFERING
82 API: gst_query_new_buffering
83 API: gst_query_set_buffering_percent
84 API: gst_query_parse_buffering_percent
85 API: gst_query_set_buffering_stats
86 API: gst_query_parse_buffering_stats
88 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
90 * gst/gstmessage.c: (gst_message_new_error),
91 (gst_message_new_warning), (gst_message_new_info),
92 (gst_message_new_buffering), (gst_message_new_state_changed),
93 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
94 (gst_message_new_new_clock), (gst_message_new_segment_start),
95 (gst_message_new_segment_done), (gst_message_new_duration),
96 (gst_message_new_async_start), (gst_message_parse_buffering),
97 (gst_message_parse_state_changed),
98 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
99 (gst_message_parse_new_clock), (gst_message_parse_error),
100 (gst_message_parse_warning), (gst_message_parse_info),
101 (gst_message_parse_segment_start),
102 (gst_message_parse_segment_done), (gst_message_parse_duration),
103 (gst_message_parse_async_start):
104 Use GstQuark for messages.
106 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
108 * gst/gstquark.c: (_priv_gst_quarks_initialize):
110 Add some more quarks needed for messages and queries.
112 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
114 * docs/design/part-buffering.txt:
115 Remove the "none" buffering mode, STREAM is a good default.
116 Move estimated-time to the avail query, that's when it will be needed.
117 Other small typo fixes and updates.
119 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
121 * gst/gstindex.c: (gst_index_resolver_get_type):
122 Don't put descriptions into the nick field of a GEnumValue: it's not
123 meant for that and some language bindings rely on the nick field to
124 construct constants and the like. Fixes #526705.
126 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
131 Merge other changes from 0.10.19 release branch.
133 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
135 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
138 Actually build dlls when cross-compiling with mingw32.
141 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
143 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
146 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
148 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
150 * docs/design/draft-latency.txt:
153 * docs/design/part-buffering.txt:
154 Update design docs with more buffering ideas.
156 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
159 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
161 2008-04-03 Stefan Kost <ensonic@users.sf.net>
164 Revert part that belongs to the preset patch.
166 2008-04-03 Stefan Kost <ensonic@users.sf.net>
169 Add qoutes to the define. Fixes # 525961.
171 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
173 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
174 (gst_file_index_load), (gst_file_index_add_id),
175 (gst_file_index_get_assoc_entry):
176 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
177 (gst_mem_index_free_id), (gst_mem_index_add_id),
178 (gst_mem_index_index_format):
179 Use GSlice when possible.
181 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
183 * libs/gst/controller/gstinterpolationcontrolsource.c:
184 (gst_control_point_free),
185 (gst_interpolation_control_source_set_internal):
186 Use GSlice for allocating the control points.
188 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
190 * plugins/elements/gsttypefindelement.c:
191 (gst_type_find_element_class_init),
192 (gst_type_find_element_set_property),
193 (gst_type_find_element_get_property),
194 (gst_type_find_element_activate):
195 * plugins/elements/gsttypefindelement.h:
197 Fix pad leak when peer query fails.
198 We can still typefind when the peer returns -1.
199 Add property to force caps and bypass typefinding. This will be used in
203 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
208 * gst/glib-compat-private.h:
209 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
210 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
211 Unconditionally use GSlice for allocation.
213 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
214 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
215 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
216 (gst_structure_free):
217 Use GSlice for allocation.
219 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
221 * gst/parse/Makefile.am:
222 * gst/parse/grammar.tab.pre.c:
223 * gst/parse/grammar.tab.pre.h:
224 * gst/parse/lex._gst_parse_yy.pre.c:
225 Require a new enough flex and bison and remove the parser hacks to use
226 a pre-regenerated version.
228 2008-04-01 Julien Moutte <julien@fluendo.com>
230 patch by: Jason Zhao <E3423C@motorola.com>
232 * configure.ac: Add a configure switch to disable option parsing
236 2008-03-31 Stefan Kost <ensonic@users.sf.net>
240 MacOS has plugins under .so or under .dylib. Add detection for MacOS
241 and handle this case.
244 Add a comment here describing, why we stat each plugin and not try to
247 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
249 * libs/gst/base/gstbasetransform.c:
250 (gst_base_transform_prepare_output_buffer):
251 Also unset the GAP flag on buffers if we're working inplace but
252 the element is not GAP-aware.
254 Mark a comment as FIXME 0.11.
256 2008-03-31 Stefan Kost <ensonic@users.sf.net>
259 Fix type in log message and add one to ease seeing how long registry
260 cache verification takes.
263 Only test plugin filenames against G_MODULE_SUFFIX.
265 2008-03-31 Stefan Kost <ensonic@users.sf.net>
267 * gst/gstdebugutils.c:
268 Improve handling ghost/proxy pads.
270 2008-03-27 Stefan Kost <ensonic@users.sf.net>
272 * docs/gst/gstreamer-sections.txt:
275 Expose macro to docs and fix link to it.
277 2008-03-27 Michael Smith <msmith@fluendo.com>
279 * libs/gst/dataprotocol/dataprotocol.c:
280 (gst_dp_packet_from_event_1_0):
281 When calculating GDP body CRC, use the correct pointer.
282 Fixes part of #522401.
284 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
286 Patch by: Mark Nauwelaerts <manauw at skynet be>
288 * plugins/elements/gstidentity.c: (gst_identity_class_init),
289 (gst_identity_init), (gst_identity_prepare_output_buffer):
290 Identity is not always a passthrough element, it can modify the buffer
291 timestamps when it has a datarate and operates in single-segment mode.
292 We therefore make it an in_place filter with a custom buffer prepare
293 function that conditionally makes the input buffer metadata writable
294 when needed. Fixes #523985.
296 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
298 Patch by: Mark Nauwelaerts <manauw at skynet be>
301 * libs/gst/base/gstbasesrc.h:
302 * libs/gst/base/gstbasetransform.c:
303 * libs/gst/check/gstcheck.c:
304 Small documentation fixes. Fixes #523978.
306 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
308 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
309 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
310 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
312 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
314 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
315 (single_queue_underrun_cb):
316 When trying to make room in the queue, bump the max allowed buffers
317 bigger than the current amount of buffers in the queue. this fixes some
318 nasty deadlocks in multiqueue when dynamically changing the limits of
321 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
323 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
325 * gst/gstcaps.c: (gst_caps_set_simple),
326 (gst_caps_set_simple_valist), (gst_caps_intersect):
328 Constify the field gchar * params in set_simple and friends.
331 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
333 * gst/gstvalue.c: (gst_value_transform_object_string):
334 Transform a GstObject to a more meaningfull string that includes the
335 object type in addition to its name.
337 2008-03-23 Stefan Kost <ensonic@users.sf.net>
340 ChangeLog surgery to add bugnumber to commit.
342 2008-03-23 Rene Stadler <mail@renestadler.de>
344 * libs/gst/base/gstbasetransform.c:
345 (gst_base_transform_set_gap_aware): Fix confusing documentation.
347 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
349 * gst/gstregistrybinary.c: (gst_registry_binary_write):
350 Rename constant everywhere and don't forget one occurence.
352 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
354 * gst/gstregistrybinary.c: (gst_registry_binary_write):
355 Align memory to the pointer size even if the architecture allows
356 unaligned memory access. Unaligned memory access usually comes with
357 performance penality.
359 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
361 * gst/gstregistrybinary.c: (gst_registry_binary_write),
362 (gst_registry_binary_check_magic),
363 (gst_registry_binary_load_pad_template),
364 (gst_registry_binary_load_feature),
365 (gst_registry_binary_load_plugin):
366 Align memory to the pointer size instead of always 32 bit. Fixes
367 unaligned memory accesses on ia64 and friends.
369 * gst/gstregistrybinary.h:
370 Bump binary registry format version for this as it changes the
371 format on those architectures that don't have unaligned access
374 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
376 * docs/pwg/advanced-dparams.xml:
377 * docs/pwg/building-props.xml:
378 * docs/pwg/other-source.xml:
380 * gst/gstbin.c: (gst_bin_class_init):
381 * gst/gstclock.c: (gst_clock_class_init):
382 * gst/gstindex.c: (gst_index_class_init):
383 * gst/gstobject.c: (gst_object_class_init):
384 * gst/gstpad.c: (gst_pad_class_init):
385 * gst/gstpipeline.c: (gst_pipeline_class_init):
386 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
387 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
388 * libs/gst/base/gstbasetransform.c:
389 (gst_base_transform_class_init):
390 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
391 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
392 (_gst_check_fault_handler_sighandler),
393 (_gst_check_fault_handler_setup), (gst_check_init):
394 * libs/gst/controller/gstcontroller.c:
395 (_gst_controller_class_init):
396 * libs/gst/controller/gstlfocontrolsource.c:
397 (gst_lfo_control_source_class_init):
398 * libs/gst/net/gstnetclientclock.c:
399 (gst_net_client_clock_class_init):
400 * libs/gst/net/gstnettimeprovider.c:
401 (gst_net_time_provider_class_init):
402 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
403 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
404 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
405 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
406 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
407 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
408 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
409 * plugins/elements/gstidentity.c: (gst_identity_class_init):
410 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
411 * plugins/elements/gstqueue.c: (gst_queue_class_init):
412 * plugins/elements/gsttee.c: (gst_tee_class_init):
413 * plugins/elements/gsttypefindelement.c:
414 (gst_type_find_element_class_init):
415 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
416 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
417 use it everywhere for GParamSpecs that use static strings (i.e. all).
418 This gives us less memory usage, fewer allocations and thus less
419 memory defragmentation. Fixes bug #523806.
421 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
423 * gst/gstminiobject.c: (gst_value_dup_mini_object),
424 (gst_param_spec_mini_object):
425 * gst/gstminiobject.h:
426 * win32/common/libgstreamer.def:
427 * docs/gst/gstreamer-sections.txt:
428 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
429 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
430 GstParamSpecMiniObject into a public header for this.
432 This make GstMiniObject a bit more consistent with GObject and makes
433 it possible to extend the param specs.
435 gst_value_dup_mini_object is mainly useful for set_property methods.
439 * tools/gst-inspect.c: (print_element_properties_info):
440 Print something useful for GstMiniObject properties and not just
443 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
445 * docs/gst/gstreamer-sections.txt:
446 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
447 (gst_registry_binary_check_magic):
448 * gst/gstregistrybinary.h:
449 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
450 and add it to the (private part) of the docs to fix the build.
452 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
454 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
455 (gst_registry_binary_check_magic),
456 (gst_registry_binary_read_cache):
457 * gst/gstregistrybinary.h:
458 Don't use GST_MAJORMINOR for the binary registry version. Instead
459 hardcode a value that must be changed whenever the format changes
460 in an incompatible way.
461 Also don't GST_ERROR when there is a version mismatch, just
462 regenerate the registry silently.
464 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
467 Back to development - 0.10.18.1
469 === release 0.10.18 ===
471 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
474 releasing 0.10.18, "So far away"
476 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
479 * win32/common/config.h:
480 0.10.17.4 pre-release
482 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
484 Patch by: Ole André Vadla Ravnås
485 <ole dot andre dot ravnas at tandberg dot com>
487 * docs/gst/gstreamer-sections.txt:
488 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
489 (gst_poll_update_winsock_event_mask),
490 (gst_poll_prepare_winsock_active_sets),
491 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
492 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
493 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
494 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
495 (gst_poll_check_ctrl_commands), (gst_poll_wait):
497 * win32/common/libgstreamer.def:
498 Add new function gst_poll_fd_ignored() for improved Windows
500 Various minor fixes and cleanups. See #520808.
502 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
504 * gst/gstindex.c: (gst_index_entry_free):
506 Don't free key strings which we don't own. Fixes crash in
507 gst_index_entry_free() (#522741).
509 * tests/check/Makefile.am:
510 * tests/check/gst/.cvsignore:
511 * tests/check/gst/gstindex.c: (test_index_entries),
512 (gst_index_suite), (gst_index):
513 Add unit test for the above.
515 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
517 * win32/common/libgstreamer.def:
518 Remove symbols that were removed recently. Fixes bug #521740.
520 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
523 * win32/common/config.h:
524 0.10.17.3 pre-release
526 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
528 Patch by: Ole André Vadla Ravnås
529 <ole dot andre dot ravnas at tandberg dot com>
531 * docs/gst/gstreamer-sections.txt:
532 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
533 (gst_poll_update_winsock_event_mask), (gst_poll_new),
534 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
535 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
536 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
537 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
538 (gst_poll_fd_can_write), (gst_poll_wait),
539 (gst_poll_set_controllable), (gst_poll_restart),
540 (gst_poll_set_flushing):
542 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
543 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
544 (gst_net_time_provider_new):
545 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
546 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
547 * tests/benchmarks/gstpollstress.c: (main):
548 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
549 Remove GstPollMode from the API, it does not make sense to let the
550 application control this.
551 Add support for Win32.
552 Fix the testsuite. Fixes #520671.
554 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
556 Patch by: Ole André Vadla Ravnås
557 <ole dot andre dot ravnas at tandberg dot com>
559 * gst/gstregistrybinary.c:
560 Include io.h for write() and close() when building with MSVC. Fixes
563 2008-03-07 Stefan Kost <ensonic@users.sf.net>
567 * gst/gstconfig.h.in:
569 * gst/gstregistrybinary.c:
570 * win32/common/gstconfig.h:
571 Move registry backend API to private headers where we can. Add
572 fixme-0.11 comments for the others. Add stubs for the xml backend when
573 using the binary to ensure they functions exists (they should not be
574 used though). Fixes #520756.
576 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
579 * win32/common/config.h:
582 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
584 * gst/gstregistrybinary.c: (gst_registry_binary_write),
585 (gst_registry_binary_read_cache):
586 * gst/gstregistryxml.c: (gst_registry_save):
587 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
588 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
589 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
590 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
591 Switch to using portabl gsize/gssize instead of size_t/ssize_t
594 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
596 * gst/gstminiobject.c:
597 Import gst_private.h before any other header that might include other
598 glib headers. This fixes the build on windows using native compilers.
600 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
602 * win32/common/gstconfig.h:
603 Add here too, just for completeness.
605 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
608 * gst/gstconfig.h.in:
610 Fix broken use of config.h-defined preprocessor directive in a public
611 header file. Add a corresponding define to gstconfig.h, since we can't
612 really remove those function declarations from the header file now
613 (or can we? and why are they there in the first place?).
615 2008-03-03 Andy Wingo <wingo@pobox.com>
617 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
620 * gst/gststructure.c (gst_structure_from_string): Warn if
621 structure_from_string didn't consume the whole string, but the
622 caller did not provide an end pointer.
624 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
626 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
628 * gst/gstregistryxml.c: (read_string), (load_feature):
629 Strings allocated by libxml2 should be freed with xmlFree(), not
630 with g_free(). Fixes issues on windows in certain contexts (#519698).
632 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
634 * gst/gstinterface.c: (gst_element_implements_interface):
635 Don't crash if the element supports the interface queried, but does
636 not implement GstImplementsInterface. Fixes #519584.
638 * tests/check/Makefile.am:
639 * tests/check/gst/.cvsignore:
640 * tests/check/gst/gstinterface.c:
641 Add unit test for the above.
643 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
645 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
648 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
650 * gst/gstsegment.c: (gst_segment_set_seek),
651 (gst_segment_to_stream_time):
652 Improve some comment.
653 Update variables where it makes more sense.
655 2008-02-29 Rene Stadler <mail@renestadler.de>
657 * gst/gsturi.c: (gst_uri_handler_get_protocols):
658 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
659 URIHandlers implemented using language bindings.
661 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
663 * gst/gstelementfactory.h:
664 * tests/check/elements/fakesink.c:
665 * tests/check/elements/fakesrc.c: (setup_fakesrc):
666 * tests/check/elements/fdsrc.c: (setup_fdsrc):
667 * tests/check/elements/filesink.c: (setup_filesink):
668 * tests/check/elements/filesrc.c: (setup_filesrc):
669 * tests/check/elements/identity.c: (setup_identity):
670 * tests/check/elements/tee.c:
671 * tests/check/generic/sinks.c:
672 * tests/check/generic/states.c: (setup), (teardown):
673 * tests/check/gst/gst.c:
674 * tests/check/gst/gstabi.c:
675 * tests/check/gst/gstbin.c:
676 * tests/check/gst/gstbus.c: (pull_messages):
677 * tests/check/gst/gstcaps.c:
678 * tests/check/gst/gstelement.c:
679 * tests/check/gst/gstevent.c:
680 * tests/check/gst/gstghostpad.c:
681 * tests/check/gst/gstiterator.c:
682 * tests/check/gst/gstmessage.c:
683 * tests/check/gst/gstminiobject.c: (my_foo_init):
684 * tests/check/gst/gstobject.c: (thread_name_object),
686 * tests/check/gst/gstpad.c:
687 * tests/check/gst/gstplugin.c:
688 * tests/check/gst/gstpoll.c:
689 * tests/check/gst/gstquery.c:
690 * tests/check/gst/gstsegment.c:
691 * tests/check/gst/gststructure.c:
692 * tests/check/gst/gstsystemclock.c:
693 * tests/check/gst/gsttask.c:
694 * tests/check/gst/gstutils.c:
695 * tests/check/gst/gstvalue.c:
696 * tests/check/gst/struct_hppa.h:
697 * tests/check/gst/struct_i386.h:
698 * tests/check/gst/struct_ppc32.h:
699 * tests/check/gst/struct_ppc64.h:
700 * tests/check/gst/struct_x86_64.h:
701 * tests/check/libs/adapter.c: (create_and_fill_adapter):
702 * tests/check/libs/basesrc.c:
703 * tests/check/libs/controller.c: (GST_START_TEST):
704 * tests/check/libs/gdp.c:
705 * tests/check/libs/gstnetclientclock.c:
706 * tests/check/libs/gstnettimeprovider.c:
707 * tests/check/libs/libsabi.c:
708 * tests/check/libs/struct_hppa.h:
709 * tests/check/libs/struct_i386.h:
710 * tests/check/libs/struct_ppc32.h:
711 * tests/check/libs/struct_ppc64.h:
712 * tests/check/libs/struct_x86_64.h:
713 * tests/check/pipelines/cleanup.c:
714 * tests/check/pipelines/simple-launch-lines.c:
715 * tests/check/pipelines/stress.c:
716 And correct even more valid sparse warnings.
718 * win32/common/libgstreamer.def:
719 Add gst_poll_fd_init to the list of symbols.
721 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
723 * gst/gstconfig.h.in:
724 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
725 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
726 (gst_check_log_critical_func), (gst_check_drop_buffers),
727 (gst_check_element_push_buffer_list):
728 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
729 (gst_controller_get_type):
730 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
731 (gst_object_get_controller), (gst_object_get_control_source):
732 * libs/gst/controller/gstinterpolationcontrolsource.c:
733 (gst_interpolation_control_source_new):
734 * libs/gst/controller/gstlfocontrolsource.c:
735 (gst_lfo_control_source_new):
736 * libs/gst/dataprotocol/dataprotocol.c:
737 (gst_dp_event_from_packet_0_2):
738 * plugins/elements/gstfdsrc.c:
739 * plugins/elements/gstmultiqueue.c:
740 * plugins/elements/gsttee.c:
741 * plugins/elements/gsttypefindelement.c:
742 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
743 (gst_file_index_add_association):
744 * plugins/indexers/gstmemindex.c:
745 * tests/benchmarks/gstpollstress.c: (mess_some_more):
746 * tests/check/elements/queue.c: (setup_queue):
747 * tests/check/gst/gstpipeline.c:
748 * tests/check/libs/collectpads.c: (setup), (teardown),
749 (gst_collect_pads_suite):
750 * tests/examples/adapter/adapter_test.c:
751 * tests/examples/metadata/read-metadata.c: (make_pipeline):
752 * tests/examples/xml/createxml.c:
753 * tests/examples/xml/runxml.c:
754 * tools/gst-inspect.c:
756 Correct all relevant warnings found by the sparse semantic code
757 analyzer. This include marking several symbols static, using
758 NULL instead of 0 for pointers, not using variable sized arrays
759 on the stack, moving variable declarations to the beginning of
760 a block and using "foo (void)" instead of "foo ()" for declarations.
762 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
764 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
765 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
766 Don't reset GstPollFDs, this is not necessary at all.
768 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
769 (delayed_restart), (delayed_control):
770 Use GST_POLL_FD_INIT.
772 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
774 * gst/gstpoll.c: (gst_poll_fd_init):
778 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
779 Use some more init macros.
781 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
783 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
784 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
785 Use init macros and functions.
787 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
789 * docs/gst/gstreamer-sections.txt:
790 * gst/gstpoll.c: (gst_poll_fd_init):
792 Add INIT macro and _init method for initializing the GstPollFD.
794 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
796 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
797 (gst_fd_sink_update_fd):
798 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
799 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
800 (delayed_restart), (delayed_control):
801 Initialize some uninitialized variables as spotted by valgrind.
803 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
805 * tests/benchmarks/Makefile.am:
806 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
808 Add poll stress test.
810 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
812 Patch by: Peter Kjellerstedt <pkj at axis dot com>
814 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
815 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
816 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
817 * plugins/elements/gstfdsink.h:
818 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
819 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
820 (gst_fd_src_unlock_stop), (gst_fd_src_create),
821 (gst_fd_src_uri_set_uri):
822 * plugins/elements/gstfdsrc.h:
823 Port to GstPoll. See #505417.
825 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
827 * win32/common/libgstreamer.def:
828 Add new gst_poll_ symbols to win32 defs.
830 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
832 * docs/libs/gstreamer-libs-sections.txt:
833 * libs/gst/net/gstnetclientclock.c:
834 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
835 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
836 (gst_net_client_clock_thread), (gst_net_client_clock_start),
837 (gst_net_client_clock_stop), (gst_net_client_clock_new):
838 * libs/gst/net/gstnetclientclock.h:
839 * libs/gst/net/gstnettimeprovider.c:
840 (gst_net_time_provider_class_init), (gst_net_time_provider_init),
841 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
842 (gst_net_time_provider_start), (gst_net_time_provider_stop),
843 (gst_net_time_provider_new):
844 * libs/gst/net/gstnettimeprovider.h:
845 Use a private stuct to not break ABI.
847 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
849 Patch by: Peter Kjellerstedt <pkj at axis dot com>
851 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
852 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
853 (gst_net_client_clock_thread), (gst_net_client_clock_start),
854 (gst_net_client_clock_stop), (gst_net_client_clock_new):
855 * libs/gst/net/gstnetclientclock.h:
856 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
857 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
858 (gst_net_time_provider_start), (gst_net_time_provider_stop),
859 (gst_net_time_provider_new):
860 * libs/gst/net/gstnettimeprovider.h:
861 Massive code removal and cleanups because of GstPoll.
864 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
867 Add checks for poll, ppoll and pselect.
869 * docs/gst/gstreamer-docs.sgml:
870 * docs/gst/gstreamer-sections.txt:
871 Add docs for GstPoll.
875 * gst/gstpoll.c: (find_index), (selectable_fds),
876 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
877 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
878 (gst_poll_set_mode), (gst_poll_get_mode),
879 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
880 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
881 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
882 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
883 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
884 (gst_poll_fd_can_write), (gst_poll_wait),
885 (gst_poll_set_controllable), (gst_poll_restart),
886 (gst_poll_set_flushing):
888 Add generic poll abstraction. We ideally don't want to have this in core
889 here but in glib intead...
890 This code will be used in various network elements and ultimately for
891 the nanosecond precision monotonic clock (that's why it's here in core).
892 It'll allow us to implement cancelable socket operations for windows too.
894 * tests/check/Makefile.am:
895 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
896 (delayed_stop), (delayed_restart), (delayed_flush),
897 (delayed_control), (gst_poll_suite):
898 Add GstPoll unit test.
900 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
903 Improve documentation of gst_filter_run(). Fixes #518627.
905 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
908 Add a few lines about the new 'check-inspected-versions' target.
910 2008-02-21 Stefan Kost <ensonic@users.sf.net>
912 * tests/check/gst/gstevent.c:
913 Add qos to the event test. Rename tcase/tsuite; is not only about
916 2008-02-21 Stefan Kost <ensonic@users.sf.net>
918 * plugins/elements/gstqueue.c:
919 Ensure that buffer metadata is writeable, before modifying. Spotted by
922 2008-02-20 Stefan Kost <ensonic@users.sf.net>
924 * plugins/elements/gstqueue.c:
925 * plugins/elements/gstqueue.h:
926 When dropping buffers in leaky modes, mark next buffers we sent as
929 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
931 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
932 Also, if mmap() fails that would be a READ error, not OPEN_READ.
934 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
936 * plugins/elements/Makefile.am:
937 * plugins/elements/gstbufferstore.c:
938 * plugins/elements/gstbufferstore.h:
939 * plugins/elements/gsttypefindelement.h:
940 Remove GstBufferStore, no idea why we were still building it.
941 It's not used anywhere and superseded by GstAdapter.
943 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
944 (gst_file_src_create_mmap):
945 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
946 Printf format fixes for 64-bit integers.
948 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
951 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
952 We're not in 0.8 times anymore.
954 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
956 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
957 (gst_check_element_push_buffer_list):
958 * libs/gst/check/gstcheck.h:
959 Make the declaration in the header for
960 gst_check_element_push_buffer_list match the implementation.
962 Fix up spelling, grammar and wording of the documentation in a few
963 places, and add the Since keyword to new API functions.
964 Use g_list_delete_link instead of g_list_remove in
965 gst_check_drop_buffers, since it's immeasurably more efficient.
967 * tests/check/elements/fakesrc.c: (GST_START_TEST):
968 Use new gst_check_drop_buffers function where appropriate.
970 * win32/common/libgstbase.def:
971 * win32/common/libgstreamer.def:
972 Add new symbols gst_collect_pads_take_buffer,
973 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
976 Changelog surgery to add API keyword to new gst_check API.
978 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
980 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
981 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
982 Update pre-generated flex files with flex 2.3.34.
984 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
986 * gst/gstminiobject.c:
987 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
988 friendly to subclasses and not require them to know all internals
989 of their parent class.
991 2008-02-15 Stefan Kost <ensonic@users.sf.net>
993 * docs/libs/gstreamer-libs-sections.txt:
994 * libs/gst/base/gstcollectpads.c:
995 * libs/gst/base/gstcollectpads.h:
996 Add sub-buffer functions to collectpads. Fixes #516187.
997 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
999 2008-02-15 Stefan Kost <ensonic@users.sf.net>
1002 Copy selected buffer-flags when creating subbuffers.
1005 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
1007 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
1008 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
1009 * gst/gstmessage.c: (gst_message_class_init),
1010 (gst_message_finalize):
1011 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
1012 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
1013 (gst_mmap_buffer_finalize):
1014 Properly chain up finalize functions to the parent class.
1016 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
1018 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
1020 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
1021 (gst_index_set_resolver_full):
1023 Add new function with option to dispose of user_data in resolver.
1024 Actually call the dispose function when finalizing the object and not
1025 just when changing the resolver/filter.
1026 API: GstIndex::gst_index_set_resolver_full()
1028 * docs/gst/gstreamer-sections.txt:
1029 Add new function to docs. Fixes #515469.
1031 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
1033 * gst/gstindex.c: (gst_index_finalize):
1034 Chain up finalize to the parent class. Fixes leaking the GstObject
1035 name and other things.
1037 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
1040 Make DISABLE_DEPRECATED defined *only* during CVS, not during
1041 pre-releases or releases.
1043 * docs/faq/gst-uninstalled:
1046 * docs/random/release:
1047 Change one of the steps - we only upload core & base to Gnome FTP
1049 2008-02-06 Stefan Kost <ensonic@users.sf.net>
1051 * gst/gstconfig.h.in:
1052 Add 'id' for example.
1056 * plugins/elements/gstfdsink.c:
1057 Link to signals. Doc and comment fixes.
1059 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
1061 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
1062 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
1063 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
1064 unused and unimplemented; finally, it is plugin features, not
1065 plugins, that have ranks.
1067 2008-02-05 Stefan Kost <ensonic@users.sf.net>
1069 * gst/gstpluginfeature.h:
1070 Clarify GstRank range docs.
1072 2008-02-05 David Schleef <ds@schleef.org>
1074 * gst/gst.c: Add a separate gst_deinitialized that prevents
1075 gst_init() from being called after gst_deinit(). Fixes #509559
1077 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
1079 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
1080 (gst_bin_class_init):
1081 * gst/gstelement.c: (gst_element_base_class_init),
1082 (gst_element_class_add_pad_template):
1083 * gst/gstpadtemplate.c: (gst_pad_template_init):
1084 * gst/gstpipeline.c: (gst_pipeline_get_type),
1085 (gst_pipeline_base_init), (gst_pipeline_class_init):
1086 * libs/gst/base/gstbasesink.c:
1087 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
1088 (gst_base_src_base_init), (gst_base_src_class_init):
1089 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
1090 (gst_capsfilter_class_init):
1091 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
1092 (gst_fake_sink_class_init):
1093 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
1094 (gst_fake_src_class_init):
1095 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
1096 (gst_fd_sink_class_init):
1097 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
1098 (gst_fd_src_class_init):
1099 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
1100 (gst_file_sink_class_init):
1101 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
1102 (gst_file_src_class_init):
1103 * plugins/elements/gstidentity.c: (gst_identity_base_init),
1104 (gst_identity_class_init):
1105 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1106 (gst_multi_queue_class_init):
1107 * plugins/elements/gstqueue.c: (gst_queue_base_init),
1108 (gst_queue_class_init):
1109 * plugins/elements/gsttee.c: (gst_tee_base_init),
1110 (gst_tee_class_init):
1111 * plugins/elements/gsttypefindelement.c:
1112 (gst_type_find_element_base_init),
1113 (gst_type_find_element_class_init):
1114 * tests/check/gst/gstelement.c: (gst_element_suite):
1115 Revert previous changes to the behaviour of GstPadTemplates, etc
1116 and the possiblity to call them in class_init as it breaks too
1117 many elements. Reopens bug #491501.
1119 Should be applied again for 0.11, thus added a few FIXME 0.11 at
1122 2008-02-05 Stefan Kost <ensonic@users.sf.net>
1124 * tools/gst-launch.c:
1125 Dump one graph per pipeline state-change and state change name
1126 (if GST_DEBUG_DUMP_DOT_DIR is set).
1128 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
1131 * tests/check/gst/gstpad.c:
1132 Be sure that we have a new copy of the caps and not
1133 reffed caps from a template
1135 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
1137 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
1138 * gst/gstpipeline.c: (gst_pipeline_get_type),
1139 (gst_pipeline_class_init):
1140 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
1141 (gst_base_sink_class_init):
1142 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
1143 (gst_base_src_class_init):
1144 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
1145 (gst_base_transform_class_init):
1146 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1147 (gst_collect_pads_class_init):
1148 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
1149 * libs/gst/net/gstnettimeprovider.c:
1150 (gst_net_time_provider_base_init),
1151 (gst_net_time_provider_class_init):
1152 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
1153 (gst_capsfilter_class_init):
1154 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
1155 (gst_fake_sink_class_init):
1156 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
1157 (gst_fake_src_class_init):
1158 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
1159 (gst_fd_sink_class_init):
1160 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
1161 (gst_fd_src_class_init):
1162 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
1163 (gst_file_sink_class_init):
1164 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
1165 (gst_file_src_class_init):
1166 * plugins/elements/gstidentity.c: (gst_identity_base_init),
1167 (gst_identity_class_init):
1168 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1169 (gst_multi_queue_class_init):
1170 * plugins/elements/gstqueue.c: (gst_queue_base_init),
1171 (gst_queue_class_init):
1172 * plugins/elements/gsttee.c: (gst_tee_base_init),
1173 (gst_tee_class_init):
1174 * plugins/elements/gsttypefindelement.c:
1175 (gst_type_find_element_base_init),
1176 (gst_type_find_element_class_init):
1177 Don't use base_init where not absolutely necessary. For example it's
1178 not necessary anymore for adding pad templates or setting element
1181 Leave empty base_init functions in several places as GST_BOILERPLATE
1182 still defines and uses them.
1184 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
1186 * gst/gstelement.c: (gst_element_base_class_init),
1187 (gst_element_class_add_pad_template):
1188 * gst/gstpadtemplate.c:
1189 Make it possible (and recommended) to set element details and add
1190 pad templates in the class_init functions by copying the details/pad
1191 templates in GstElement's base_init.
1193 Also make it possible to replace existing pad templates by adding
1194 a new one with the same name. This was done in a hackish fashion
1195 in same elements before already.
1197 Don't reference pad templates that are added a second time. A
1198 new pad template has a refcount of one and is not floating anymore
1199 and to be owned by the element's class. Make this more explicit by
1200 mentioning it in the docs of gst_element_class_add_pad_template().
1202 These changes are backwards compatible. Fixes bug #491501.
1204 * tests/check/gst/gstelement.c:
1205 Add unit test for setting element details, adding pad templates and
1206 replacing them in a subclass.
1208 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
1210 * tools/gst-inspect.c: (print_interfaces),
1211 (print_element_properties_info), (print_pad_info),
1212 (print_signal_info), (print_element_info):
1213 Fix a few memory leaks.
1215 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
1217 * docs/libs/gstreamer-libs-sections.txt:
1218 * libs/gst/check/gstcheck.c:
1219 * libs/gst/check/gstcheck.h:
1220 Add more functions for unit testing: gst_check_drop_buffers,
1221 gst_check_caps_equal, gst_check_element_push_buffer_list,
1222 gst_check_element_push_buffer
1223 API: gst_check_drop_buffers
1224 API: gst_check_caps_equal
1225 API: gst_check_element_push_buffer_list
1226 API: gst_check_element_push_buffer
1228 2008-02-01 Julien Moutte <julien@fluendo.com>
1230 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
1231 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
1232 (gst_index_finalize), (gst_index_entry_free),
1233 (gst_index_add_association): Fix memory leaks.
1234 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
1235 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
1236 (gst_mem_index_free_format), (gst_mem_index_free_id),
1237 (gst_mem_index_finalize): Fix memory leaks.
1238 * win32/common/config.h: Updated to CVS HEAD.
1240 2008-02-01 Stefan Kost <ensonic@users.sf.net>
1243 Some more details about how the plugin docs works.
1245 * docs/plugins/gstreamer-plugins-sections.txt:
1248 2008-02-01 Stefan Kost <ensonic@users.sf.net>
1250 * gst/parse/grammar.tab.pre.c:
1251 * gst/parse/grammar.tab.pre.h:
1252 * gst/parse/grammar.y:
1253 * gst/parse/lex._gst_parse_yy.pre.c:
1254 Add delayed set-property. This allows to set properties on dynamicaly
1255 created objects (pads in videomxer). Fixes #509391.
1257 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
1260 Check if caps are not NULL (fix bug #510194)
1262 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
1264 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
1265 (gst_base_sink_get_position_paused):
1266 Add fixme regarding EOS in pull mode.
1267 Fix position reporting in PAUSED for negative rates.
1269 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
1271 * gst/gstminiobject.c: (gst_mini_object_replace):
1272 When replacing a miniobject, do a quick equality check first so that we
1273 can avoid a ref/unref pair.
1275 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
1277 * docs/design/part-synchronisation.txt:
1280 * docs/plugins/Makefile.am:
1281 * docs/plugins/gstreamer-plugins-docs.sgml:
1282 * docs/plugins/gstreamer-plugins-sections.txt:
1283 * plugins/elements/gstmultiqueue.c:
1284 Add multiqueue to the docs.
1286 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
1291 === release 0.10.17 ===
1293 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
1296 releasing 0.10.17, "Due Negligence"
1298 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
1301 Revert caps != NULL check temporarily for 0.10.17 release.
1303 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
1306 Check if caps are not NULL (fix bug #510194)
1308 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
1311 Fix compilation on systems that have posix timers but no
1314 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
1317 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
1319 * tools/gst-inspect.c:
1320 Revert previous commit in preparation for an impromptu 0.10.17 release
1322 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
1324 * tools/gst-inspect.c: (print_interfaces),
1325 (print_element_properties_info), (print_pad_info),
1326 (print_signal_info), (print_element_info):
1327 Fix a few memory leaks.
1329 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
1334 === release 0.10.16 ===
1336 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
1339 releasing 0.10.16, "Special Dispensation"
1341 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
1344 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
1345 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
1346 not fail when trying to crosscompile on OpenEmbedded (#511750).
1348 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
1351 Use $(MAKE) instead of make to fix the build if GNU make is
1352 called different. Fixes bug #510747.
1354 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
1356 * gst/gstplugin.c: (_gst_plugin_initialize):
1357 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
1358 again, which I broke two commits ago when changing the API
1359 of gst_plugin_register_static(): the g_list_foreach() in
1360 _gst_plugin_register_static still assumed the old function
1361 signature and would therefore fail (re-fixes #510187).
1363 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
1364 (_gst_plugin_register_static), (gst_plugin_register_static):
1365 Revert the (technically correct) change to call g_thread_init() from
1366 the pre-main() constructor. This will break programs which call
1367 g_thread_init() without an if (!g_thread_supported()) guard in their
1368 main function. We could just blame it on GLib or the application, but
1369 it's probably best to just avoid this altogether and simply not use
1370 any GLib functions here and use plain old malloc() with a simple
1371 array to store the plugins to register later when gst_init() is
1372 finally called (re-fixes #510187).
1374 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
1375 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
1376 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
1377 (GST_START_TEST), (gst_plugin_suite):
1378 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
1381 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
1383 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
1384 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
1385 This makes gtk-doc complain, but results in slightly better
1386 compiler errors. The old _gst_plugin_register_static() is
1387 still guarded, so there'll be a compiler warning about that
1388 instead. Fixes #510187 too.
1390 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
1392 * gst/gst.c: (init_post):
1393 * gst/gstplugin.c: (_gst_plugin_register_static),
1394 (gst_plugin_register_static), (_gst_plugin_initialize):
1395 * gst/gstplugin.h: (GstPluginFilter):
1396 Change API of gst_plugin_register_static() to not take
1397 a GstPluginDesc, but rather just take all the arguments
1398 in a GstPluginDesc directly. This is more intuitive and
1399 avoids certain mistakes when porting code from
1400 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
1403 * tests/check/gst/gstplugin.c:
1404 Fix up for changed API.
1406 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
1408 * docs/faq/legal.xml:
1409 Update FAQ, Totem actually has an exception these days.
1411 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
1413 * win32/common/libgstreamer.def:
1414 Add new API declarations
1416 2008-01-14 Stefan Kost <ensonic@users.sf.net>
1418 * gst/gstminiobject.c:
1419 Spelling fixes for the API docs.
1421 2008-01-14 Stefan Kost <ensonic@users.sf.net>
1423 * libs/gst/base/gstbasetransform.c:
1424 Fix long property description for QoS.
1426 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
1429 _gst_trace_on is already provided by gsttrace.h, no need to declare
1432 * docs/libs/gstreamer-libs-sections.txt:
1433 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
1434 and remove strange tcase_add_test which is outputting a warning.
1436 * libs/gst/check/gstcheck.c:
1437 * libs/gst/check/gstcheck.h:
1438 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
1439 and define them in gstcheck.c instead of having every .c file whcih
1440 includes gstcheck.h be defining its own copy and relying on symbol
1441 interposing to marry them all, which doesn't work on Solaris.
1443 * tests/check/elements/identity.c: (GST_START_TEST):
1444 Don't define 'buffers' locally, it comes from libgstcheck.
1446 * tests/check/generic/sinks.c: (send_buffer):
1447 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
1449 * tests/check/gst/gststructure.c: (GST_START_TEST):
1450 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
1451 * tests/check/gst/gstutils.c: (GST_START_TEST):
1452 * tests/check/gst/gstvalue.c: (GST_START_TEST):
1453 Add a bunch of casts to make various constants fit the types
1454 they're being assigned to.
1456 2008-01-10 Stefan Kost <ensonic@users.sf.net>
1458 * gst/gstchildproxy.c:
1459 Improve docs and add some ideas for making this more general-purpose.
1461 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
1463 * gst/gst_private.h: (GST_CAT_TYPES):
1464 Add GST_CAT_TYPES, for consistency, and so that the other
1465 debug categories don't make fun of it. Spotted by Saur on IRC.
1467 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
1469 * gst/parse/Makefile.am:
1470 Move types.h from EXTRA_DIST to noinst_HEADERS.
1472 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
1475 Add -Wno-portability to the automake parameters to stop warnings
1476 about GNU make extensions being used. We require GNU make in almost
1477 every Makefile anyway.
1480 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
1481 at the same time is required for per target flags.
1483 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
1486 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
1487 __GNUC__ is defined before using it.
1489 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
1491 * docs/gst/gstreamer-sections.txt:
1492 * gst/gst.c: (init_post):
1493 * gst/gstplugin.c: (_gst_plugin_register_static),
1494 (gst_plugin_register_static), (_gst_plugin_initialize),
1495 (gst_plugin_register_func):
1496 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
1497 API: add gst_plugin_register_static() and deprecate
1498 GST_PLUGIN_DEFINE_STATIC, since it's not portable
1500 Also, in _gst_plugin_register_static(), make sure to call
1501 g_thread_init() before calling GLib functions such as
1502 g_list_append() if we're not initialised yet, since that
1503 may lead to random crashes with older GSlice/GLib versions.
1505 * tests/check/gst/gstplugin.c:
1506 Adapt unit test to above changes.
1508 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
1510 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
1511 * gst/gstcaps.c: (gst_caps_to_string):
1512 * gst/gststructure.c: (GST_ASCII_IS_STRING),
1513 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
1514 Yet another gratuitous GString micro-optimisation: add a (private)
1515 function that serialises a structure appending to an existing
1516 GString, so that when we serialise caps we don't need to alloc+free
1517 a throwaway GString for each structure (each of which also entailing
1518 multiple reallocs on the way); also use g_string_sized_new() in
1519 various places with an approximate string length to avoid reallocs
1520 within GString. See #500143.
1522 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
1524 * gst/gststructure.c: (gst_structure_id_set_value):
1525 Always check UTF-8 conformance of structure strings and not only
1526 if the debugging system is enabled; reasoning: the behaviour of
1527 the actual code shouldn't really change depending on whether the
1528 debugging system is enabled or not (#508291).
1530 2008-01-09 Stefan Kost <ensonic@users.sf.net>
1533 Remove old coverage target in favour of "make lcov".
1535 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
1537 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1538 (gst_base_src_loop):
1539 The start segment for reverse playback goes from start to last_stop.
1541 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
1543 Patch by: Peter Kjellerstedt <pkj axis com>
1546 Cast the results from the timeval/spec_to_time macros to what the
1547 docs say it casts to, a GstClockTime. fixes #508175.
1549 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
1552 Update some comments.
1554 * tools/gst-inspect.c: (print_element_properties_info):
1555 Improve printing of flags.
1557 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
1559 * libs/gst/base/gstbasetransform.c:
1560 (gst_base_transform_transform_size):
1561 Print element name with g_warning() if there's a problem
1564 2008-01-07 David Schleef <ds@schleef.org>
1566 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
1568 * libs/gst/controller/gstcontroller.h:
1569 * libs/gst/controller/gstcontrolsource.h:
1570 * libs/gst/controller/gstinterpolationcontrolsource.h:
1571 * libs/gst/controller/gstlfocontrolsource.h:
1572 * libs/gst/dataprotocol/dataprotocol.h:
1573 Fix empty prototypes. Fixes bug #507957.
1575 2008-01-07 David Schleef <ds@schleef.org>
1577 * docs/faq/dependencies.xml: Fix typo.
1579 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
1581 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
1582 (gst_base_src_loop):
1583 Don't update the last_stop position in do_seek, that's the position we
1585 Read backwards when we have a negative rate.
1587 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
1588 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
1590 Add check for reverse reading.
1592 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
1594 Patch by: Alexis Ballier <aballier at gentoo org>
1596 * tests/check/gst/gstabi.c:
1597 * tests/check/gst/struct_ppc64.h:
1598 * tests/check/libs/libsabi.c:
1599 * tests/check/libs/struct_ppc64.h:
1600 Decide which header to include based on the userland ABI target
1601 and not the kernel/cpu. Fix up structure sizes of ppc64 header
1602 for 64-bit userland (#503590). Might need something similar for
1605 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
1607 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
1608 Log the reason why fopen fails in addition to the fact that it failed.
1610 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
1612 * gst/parse/parse.l:
1613 Use "%option never-interactive" to prevent useless calls to isatty()
1614 on every input when parsing. Also use "%option noinput" to not define
1615 the static input/yyinput functions which we don't use anyway. This
1616 removes a compiler warning with gcc 4.3 and saves some bytes in the
1619 * gst/parse/lex._gst_parse_yy.pre.c:
1620 Regenerated for the above change.
1622 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
1624 * gst/gstpad.c: (fixate_value):
1625 Don't crash when trying to fixate and empty list.
1628 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
1630 * docs/faq/gst-uninstalled:
1631 Clarify the comments to make the usage of this script and what it
1632 does easier to understand.
1634 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
1636 * tools/gst-plot-timeline.py:
1637 Add more options to gst-plot-timeline
1639 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
1641 * docs/design/part-synchronisation.txt:
1642 Some more info on how the stream_time in GstBaseSink is done.
1644 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
1646 * tests/check/generic/sinks.c: (gst_sinks_suite):
1647 Put back the tcase_set_timeout(), apparently it's needed after
1648 all; fix it up in a way that makes things work with valgrind too.
1650 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
1652 * gst/gstdebugutils.c:
1653 Add warning when failed to open file for writing.
1655 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
1657 Based on patch by: Laurent Glayal <spglegle yahoo fr>
1659 * gst/gstvalue.c: (gst_value_is_fixed):
1660 Optimisation: bail out of the loop as early as possible (#500143).
1662 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
1664 * gst/gstcaps.c: (gst_caps_to_string):
1665 * gst/gstinfo.c: (gst_debug_construct_term_color):
1666 * gst/gstparse.c: (gst_parse_launchv):
1667 * gst/gstutils.c: (gst_util_dump_mem):
1668 * gst/gstvalue.c: (gst_value_serialize_any_list),
1669 (gst_value_transform_any_list_string):
1670 Bunch of gratuitous nano-optimisations.
1672 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
1674 * tests/check/generic/sinks.c: (async_done_func),
1675 (async_done_eos_func):
1676 Fix leak in unit test (bus sync handler must unref the message
1677 if it returns GST_BUS_DROP). Don't fiddle with the default test
1678 timeout, this is smaller than the current preconfigured value
1679 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
1680 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
1682 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
1684 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
1687 Check for stdio_ext.h for the filesink changes.
1689 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
1690 (gst_file_sink_class_init), (gst_file_sink_init),
1691 (gst_file_sink_dispose), (gst_file_sink_set_property),
1692 (gst_file_sink_get_property), (gst_file_sink_open_file),
1693 (gst_file_sink_close_file):
1694 * plugins/elements/gstfilesink.h:
1695 Add two properties to control the buffering mode and size.
1696 API: GstFileSink::buffer-mode
1697 API: GstFileSink::buffer-size
1700 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
1702 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
1703 Add some more docs to explain why a FIXME was wrongly added.
1705 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
1708 Fix typo in the gst_object_{ref,unref} documentation.
1710 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
1712 * tests/check/libs/controller.c:
1713 * tests/check/libs/typefindhelper.c:
1714 * tests/check/pipelines/parse-launch.c:
1715 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
1716 going to be deprecated (see #498924).
1718 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
1720 * gst/gsttypefind.c: (gst_type_find_register):
1721 Make gst_type_find_register work for static typefind functions,
1722 ie. allow passing plugin == NULL (prerequisite for #498924).
1724 * gst/gstelementfactory.c: (gst_element_register):
1725 Small docs addition.
1727 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
1729 * gst/gstpad.c: (gst_pad_dispose):
1730 Really unlink the peer pad instead of setting the peer pointer to NULL
1731 when we dispose the pad.
1732 This correctly calls the unlink functions and makes sure that the peer
1733 does not have a handle to invalid memory. See #504671.
1735 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1736 Add testsuite for above case.
1738 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
1740 Patch by: Peter Kjellerstedt <pkj axis com>
1742 * libs/gst/check/gstcheck.h:
1743 Fix detection of the check version we're compiling against (would
1744 otherwise break if check goes v0.10.0); correctly report the
1745 name of the failed test again in case of failure, instead of
1746 just 'tf' (fixes #504499).
1748 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
1750 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
1751 (gst_base_src_get_range), (gst_base_src_pad_get_range),
1752 (gst_base_src_loop), (gst_base_src_set_flushing),
1753 (gst_base_src_change_state):
1754 Allow sending EOS to the source to make it send out an EOS event from
1755 the streaming thread.
1756 Update docs and deprecate the old NULL/READY shutdown method.
1758 * tests/check/libs/basesrc.c: (GST_START_TEST),
1759 (gst_basesrc_suite):
1760 Add unit test for controlled shutdown.
1762 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
1764 * docs/design/part-synchronisation.txt:
1767 * gst/gstsegment.c: (gst_segment_set_seek),
1768 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1769 (gst_segment_to_running_time):
1770 The seek format can be different from the segment format when the start
1771 and stop values are not to be updated, when we only do a rate change for
1774 * tests/check/gst/gstsegment.c: (GST_START_TEST),
1775 (gst_segment_suite):
1776 Add a testcase for the rate-only seeks, checking that the format is
1777 correctly ignored when start and stop are not updated.
1779 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
1781 Patch by: Matthias Bolte <photon at mail dot upb dot de>
1783 * win32/vs8/grammar.vcproj:
1784 * win32/vs8/libgstcontroller.vcproj:
1785 * win32/vs8/libgstreamer.vcproj:
1786 Fix compilation with VS8 and include some missing files.
1788 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
1791 Small docs addition: mention that the strings returned by
1792 gst_tag_list_get_string*() are in UTF-8 encoding.
1794 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
1797 The check-exports stuff moved to common/win32.mak, so include that.
1799 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
1801 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1802 (gst_base_src_perform_seek), (gst_base_src_get_range),
1803 (gst_base_src_set_playing), (gst_base_src_change_state):
1804 Make _wait_playing() not check any variables so that we can call this
1805 function from subclasses. Move the checks elsewhere similar to
1806 _wait_preroll() in basesink.
1808 Only signal the LIVE cond when we are going back to PLAYING.
1810 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
1812 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
1813 Use g_remove() and g_rename(). Check result of g_rename(), and
1814 don't leak the open file descriptor if we error out when writing.
1816 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
1817 Must check the return value of close() after writing out the new
1818 registry file. Sometimes write problems such as out-of-diskspace
1819 are only reported when the file is closed and not already during
1820 the write. This may have caused partial/broken registry files in
1821 some rare circumstances. Should fix #503675.
1823 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
1825 * docs/gst/.cvsignore:
1826 * docs/libs/.cvsignore:
1827 * docs/plugins/.cvsignore:
1828 Ignore files generated by new common/* modifications
1830 2007-12-15 Stefan Kost <ensonic@users.sf.net>
1832 * win32/common/libgstbase.def:
1833 Yes, you can also have a <TAB> if you want.
1835 2007-12-15 Stefan Kost <ensonic@users.sf.net>
1837 * win32/common/libgstbase.def:
1838 Add new basetransform API to win export file.
1840 2007-12-15 Stefan Kost <ensonic@users.sf.net>
1842 * tests/check/gst/gstbin.c:
1843 Adjust the test to the refcount change two days ago.
1845 2007-12-14 David Schleef <ds@schleef.org>
1847 * docs/faq/getting.xml: Fix typo.
1849 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
1851 * docs/libs/gstreamer-libs-sections.txt:
1852 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1853 (gst_base_transform_prepare_output_buffer),
1854 (gst_base_transform_set_gap_aware):
1855 * libs/gst/base/gstbasetransform.h:
1856 API: Add gst_base_transform_set_gap_aware() to control whether
1857 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
1858 get buffers with this flag at all. Fixes #503231.
1860 2007-12-13 Stefan Kost <ensonic@users.sf.net>
1862 * libs/gst/base/gstbasesink.c:
1863 * libs/gst/base/gstbasesrc.c:
1864 * libs/gst/base/gstbasetransform.c:
1865 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
1866 thread. Correct log message in gstbasesrc.c.
1868 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
1870 * gst/gstutils.c: (element_find_unconnected_pad):
1871 Fix possible compiler warning (#503417).
1873 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
1875 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
1876 Don't use GST_CAT_EVENT here for logging, it makes no sense.
1878 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
1880 * tools/gst-inspect.c: (print_element_properties_info):
1881 Add support for GstFraction properties.
1883 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
1886 Add check-exports target and run it as part of 'make check'
1887 (see #499140 and #493983).
1889 * gst/gst_private.h:
1890 * gst/gstelementfactory.h:
1891 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
1892 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
1893 (_priv_gst_in_valgrind):
1894 * gst/gstinfo.h: (GstLogFunction):
1895 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
1896 (gst_type_find_register):
1897 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
1898 (gst_type_find_factory_get_type):
1899 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
1900 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
1901 (gst_controller_new_valist), (gst_controller_new_list),
1902 (_gst_controller_dispose), (_gst_controller_class_init):
1903 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
1904 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
1905 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
1906 (gst_object_get_controller), (gst_object_set_controller),
1907 (gst_object_suggest_next_sync), (gst_object_sync_values),
1908 (gst_object_set_control_source), (gst_object_get_control_source),
1909 (gst_object_get_value_arrays), (gst_object_get_value_array),
1910 (gst_object_get_control_rate), (gst_object_set_control_rate):
1911 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
1912 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
1913 Make some functions that should be static static; rename some
1914 private symbols so that they don't get exported; add some FIXME
1915 comments so we can move accidentally exported functions into
1916 our private section in 0.11.
1918 * win32/common/libgstreamer.def:
1919 Add gst_utils_get_timestamp().
1921 2007-12-12 Stefan Kost <ensonic@users.sf.net>
1925 Add more missing "Since:" tags to docs.
1927 2007-12-12 Stefan Kost <ensonic@users.sf.net>
1930 Add mising "Since:" to docs.
1932 2007-12-11 Stefan Kost <ensonic@users.sf.net>
1935 Include "glib-compat-private.h" to fix the build on system with
1936 glib < 2.10. Fixes #503131.
1938 2007-12-11 Stefan Kost <ensonic@users.sf.net>
1942 Actually its not PURE as it gets the time from elsewhere.
1944 2007-12-11 Stefan Kost <ensonic@users.sf.net>
1946 * docs/gst/gstreamer-sections.txt:
1948 * gst/gstdebugutils.c:
1952 * libs/gst/base/gstbasesink.c:
1953 * tools/gst-launch.c:
1954 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
1955 uses as we don't have HAVE_POSIX_TIMERS in public headers.
1956 Thanks Tim for spotting.
1957 API: gst_util_get_timestamp
1959 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
1962 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
1964 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
1966 * gst/gststructure.c: (gst_structure_validate_name),
1967 (gst_structure_new_valist), (gst_structure_parse_value),
1968 (gst_structure_from_string):
1969 Don't crash in _from_string() if the structure name is not valid
1970 (fixes #501560). Allow structure names to start with a number
1971 again (this apparently broke the ubuntu codec installer).
1973 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
1975 Add unit test for the crash; update unit tests for new behaviour.
1977 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
1980 Clarify gst_element_get_compatible_pad() documentation.
1983 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
1985 * tests/check/Makefile.am:
1986 Don't forget to dist {gst,libs}/struct_hppa.h.
1988 2007-11-28 Stefan Kost <ensonic@users.sf.net>
1990 * libs/gst/base/gstbasesink.c:
1991 Use new API to get elapsed time.
1993 2007-11-28 Stefan Kost <ensonic@users.sf.net>
1995 * gst/gstdebugutils.c:
1997 Fix wrong order of args in GST_CLOCK_DIFF() usage.
1999 * tools/gst-launch.c:
2000 Use new API to get elapsed time.
2002 2007-11-28 Stefan Kost <ensonic@users.sf.net>
2004 * docs/gst/gstreamer-sections.txt:
2006 * gst/gstdebugutils.c:
2008 Rename new API + ChangeLog surgery to remove old name from last entry..
2010 2007-11-28 Stefan Kost <ensonic@users.sf.net>
2012 * docs/gst/gstreamer-sections.txt:
2014 * gst/gstdebugutils.c:
2016 Now hide the different clock stuff behind a macro.
2018 2007-11-28 Stefan Kost <ensonic@users.sf.net>
2021 * gst/gstdebugutils.c:
2023 Apply the posix-timer check from #361155. Conditionally use the posix
2024 timer for logging. This gives better timestamp precission, less
2025 overhead and no ntp jitter.
2027 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
2029 * gst/gstminiobject.c: (gst_mini_object_get_type),
2030 (gst_mini_object_class_init), (gst_mini_object_copy_default),
2031 (gst_mini_object_finalize), (gst_mini_object_copy),
2032 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
2033 (gst_mini_object_replace), (param_mini_object_validate),
2034 (gst_param_spec_mini_object_get_type):
2035 Some cleanup and checking against invalid function parameters.
2037 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
2039 * docs/gst/gstreamer-sections.txt:
2041 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2042 (gst_systemclock_suite):
2043 Start merging in the easy bits of #361155, the monotonic clock patch.
2044 This one adds a few handy macros with docs and a testsuite.
2046 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
2048 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
2049 Be a bit smarter when seeking, like, don't try to do a seek when it's
2050 not needed. This avoids errors when the file is not seekable.
2053 2007-11-26 Stefan Kost <ensonic@users.sf.net>
2055 * docs/gst/gstreamer-docs.sgml:
2056 * docs/gst/gstreamer-sections.txt:
2057 * docs/gst/gstreamer.types.in:
2062 * plugins/elements/gstqueue.c:
2063 Due to popular request remove preset interface again. :-(.
2065 2007-11-22 Stefan Kost <ensonic@users.sf.net>
2067 * tools/gst-inspect.c:
2068 Print 'default value' for enums and flags too.
2070 2007-11-22 Stefan Kost <ensonic@users.sf.net>
2072 * docs/random/ensonic/profiling.txt:
2076 Fix typo and give better log output.
2078 * gst/gstdebugutils.c:
2079 * gst/gstdebugutils.h:
2080 More ideas, make graphs a bit smaller and fix param name in macro.
2082 2007-11-22 Stefan Kost <ensonic@users.sf.net>
2085 Try harder to use the return value from fgets().
2087 2007-11-21 Stefan Kost <ensonic@users.sf.net>
2090 For theses two fgets we handle the error below.
2092 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
2094 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
2095 Only send upstream events upstream. Fixes #498746.
2097 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
2099 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
2101 * plugins/elements/gstidentity.c: (gst_identity_class_init),
2102 (gst_identity_init), (gst_identity_transform_ip),
2103 (gst_identity_set_property), (gst_identity_get_property):
2104 * plugins/elements/gstidentity.h:
2105 Add property to disable handoff signal emission. Fixes #498694.
2106 API: GstIdentity::signal-handoffs
2108 2007-11-21 Julien Moutte <julien@fluendo.com>
2110 * docs/faq/gst-uninstalled: Yet another missing library for the
2111 uninstalled script (fft)
2113 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
2115 * docs/faq/developing.xml:
2116 Add a question about how to submit new translations.
2118 * docs/random/release:
2119 Update the contact email address for the Translation Project
2121 * plugins/elements/gstfdsrc.c:
2122 The parent_class for fdsrc is pushsrc, not GstElement.
2124 2007-11-20 Stefan Kost <ensonic@users.sf.net>
2127 Plug a leak and fix saving.
2129 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
2131 * docs/gst/gstreamer-sections.txt:
2132 Add new gst_preset__get_property_names() function to the docs
2135 2007-11-20 Stefan Kost <ensonic@users.sf.net>
2139 Change _get_preset_names API to return a strv with copies. Add
2140 _get_property_names to allow implementations to filter and provide
2141 good default implementation.
2143 2007-11-20 Julien MOUTTE <julien@moutte.net>
2145 * docs/faq/gst-uninstalled: Add another library to the uninstalled
2148 2007-11-19 Stefan Kost <ensonic@users.sf.net>
2151 More cleanups, docs, and TODOs from comments that now slowly come in.
2153 2007-11-19 Julien MOUTTE <julien@moutte.net>
2155 * docs/faq/gst-uninstalled: Add new base libraries in the LD
2158 2007-11-19 Stefan Kost <ensonic@users.sf.net>
2161 Fix bogus warning and make the property type specific code more
2164 2007-11-19 Julien MOUTTE <julien@moutte.net>
2166 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
2169 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
2171 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2172 (gst_bin_add_func), (gst_bin_remove_func),
2173 (gst_bin_change_state_func), (gst_bin_continue_func):
2174 Change email, cleanups add some more debug and comments.
2175 Also set bus and clock on new elements when the pipeline was in error.
2177 2007-11-18 Stefan Kost <ensonic@users.sf.net>
2180 * gst/gstdebugutils.c:
2181 Fix build with --disable-gst-debug. Fixes #497859.
2182 Spotted by Sameer Naik.
2184 2007-11-17 Stefan Kost <ensonic@users.sf.net>
2187 Little documentation improvment.
2190 More TODO cleanups. Remove c++ comments.
2192 * libs/gst/controller/gstcontroller.c:
2193 Add TODO and use quark from static string.
2195 * tests/check/gst/gstmessage.c:
2196 * tests/check/gst/gststructure.c:
2197 Use quark from static string.
2199 2007-11-17 Stefan Kost <ensonic@users.sf.net>
2202 Add some comments and TODOs.
2205 Add padding for future changes.
2207 * plugins/elements/gstqueue.c:
2208 Implement the iface.
2210 2007-11-17 Stefan Kost <ensonic@users.sf.net>
2212 * docs/gst/gstreamer-docs.sgml:
2213 * docs/gst/gstreamer-sections.txt:
2214 * docs/gst/gstreamer.types.in:
2219 Add the preset interface (Fixes #396779). Do some doc cleanups along.
2221 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
2227 === release 0.10.15 ===
2229 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
2232 releasing 0.10.15, "October"
2234 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
2236 * win32/vs6/libgstreamer.dsp:
2237 Convert line endings back to DOS.
2239 2007-11-13 Stefan Kost <ensonic@users.sf.net>
2241 * docs/design/draft-tagreading.txt:
2242 * docs/random/ensonic/profiling.txt:
2243 Update fast tagreading draft and performance profiling ideas.
2245 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
2247 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
2248 Don't hold the object lock when unreffing a buffer because it could
2249 cause a deadlock when the finalize function wants to grab the object
2250 lock too. Fixes #495133.
2252 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
2254 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
2255 (gst_segment_to_stream_time), (gst_segment_to_running_time):
2256 Also accumulate time correctly when doing reverse playback. Fixes
2258 When converting to running and stream time, use default values for
2259 start/stop/time/accum when comparing different formats. Fixes #494245.
2261 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2262 Do running/stream time in TIME format.
2264 * tests/check/gst/gstsegment.c: (GST_START_TEST),
2265 (gst_segment_suite):
2266 2 new unit tests for segment accumulation.
2268 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
2270 * gst/gst.c: (init_pre):
2271 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
2272 (_gst_debug_bin_to_dot_file):
2273 Move getenv() back into gst_init, so everyone can live happily
2274 ever after. Make sure the symbol isn't exported though.
2276 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
2278 Patch by: Sebastien Moutte <sebastien moutte net>
2280 * win32/common/gstenumtypes.c:
2281 * win32/common/gstenumtypes.h:
2284 * win32/vs6/libgstreamer.dsp:
2285 Update vs6 project files (#494343).
2287 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
2289 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
2290 (gst_base_src_perform_seek), (gst_base_src_default_event),
2291 (gst_base_src_set_flushing), (gst_base_src_activate_push),
2292 (gst_base_src_activate_pull):
2293 Unify flushing code, remove some old unlock code that is no longer used.
2294 Take the streaming lock when seeking to avoid races. Fixes #492729.
2295 Added some more comments.
2297 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
2299 * gst/gst.c: (_gst_disable_segtrap):
2300 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
2301 we can use gst_segtrap_is_enabled() there now that we have that API.
2302 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
2303 to do the getenv here (and export the variable).
2305 * gst/gstdebugutils.c: (debug_dump_element),
2306 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
2307 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
2309 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
2310 (gst_debug_log_default):
2311 Rename _gst_info_start_time to priv_gst_info_start_time so it
2312 doesn't get exported (was never in any header).
2314 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
2315 (gst_plugin_loading_mutex):
2316 Make static mutex gst_plugin_loading_mutex really static (was never
2317 in any header), and use gst_segtrap_is_enabled() instead of
2318 _gst_disable_segtrap.
2320 * gst/gsttrace.c: (_gst_trace_default):
2321 Make local _gst_trace_default static (was never in any header).
2323 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
2325 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
2327 * win32/common/libgstbase.def:
2328 * win32/common/libgstcontroller.def:
2329 * win32/common/libgstdataprotocol.def:
2330 * win32/common/libgstnet.def:
2331 * win32/common/libgstreamer.def:
2332 Add more missing symbols, remove some duplicates, and sort
2333 as the 'sort' command sorts it (partially fixes #493983).
2335 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
2337 * gst/gstelement.c: (gst_element_set_state_func):
2338 Only change the state cookie if a different state was set on the
2339 element. See #492729.
2341 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
2344 Remove unused and uninitialised type variables that were still
2345 exported for some reason (they were never in any header files
2348 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
2350 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2351 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
2352 (gst_base_sink_event), (gst_base_sink_get_position_last),
2353 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2354 (gst_base_sink_change_state):
2355 Don't try to report a 0 position when we don't know, return -1 and FALSE
2356 instead. This mostly happens when we are prerolling.
2357 Make sure we can report the right position before we post the ASYNC_DONE
2358 message so that a message handler can query position without races.
2360 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
2361 (async_done_handoff), (async_done_func), (send_buffer),
2362 (async_done_eos_func), (gst_sinks_suite):
2363 Add two tests for the above.
2365 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
2368 Update with new email address.
2370 * docs/design/part-TODO.txt:
2371 Add some more info about future pad-block and negotiation changes.
2373 * docs/design/part-buffering.txt:
2374 Add some ideas about buffering reporting.
2376 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
2378 * tests/check/gst/gstobject.c:
2379 Disable silly racy test that always fails on this combination of CPU
2382 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
2384 Patch by: Murray Cumming <murrayc@murrayc.com>
2387 Corrected the registration of the parent-set and parent-unset
2388 signals: The parameter is a GstObject, not a GObject (#493134).
2390 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
2392 * gst/gst_private.h:
2401 Move declaration of private _gst_foo_initialize() functions into
2402 our private header file where they should have been all along.
2404 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
2406 * docs/plugins/gstreamer-plugins-sections.txt:
2407 * gst/gstdebugutils.h:
2409 * plugins/elements/gstqueue.c:
2410 gtk-doc fixes; trailing-comma-in-enum fix.
2412 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
2414 * gst/gst.c: (gst_deinit):
2415 Clean up on deinit (not the external ones though, doesn't seem to be
2416 needed for some reason).
2418 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
2420 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
2421 Remove __declspec(dllimport) for MSVC that was copied over into core
2422 from a plugin, obviously without ever having been tested (note the
2423 single underscore in _declspec in the initial commit), and that doesn't
2424 really make sense. See #492077.
2426 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
2428 * gst/gst.c: (init_post):
2429 * gst/gstevent.c: (_gst_event_initialize):
2430 * gst/gstquery.c: (_gst_query_initialize):
2431 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
2432 g_type_class_ref() other types as well, see #349410 and #64764.
2434 * gst/gstbuffer.c: (_gst_buffer_initialize):
2435 * gst/gstmessage.c: (_gst_message_initialize):
2436 Simplify existing g_type_class_ref().
2438 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
2440 * gst/gstformat.c: (_gst_format_initialize):
2441 g_type_class_ref() our GstFormat type to make sure we avoid the
2442 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
2443 bug #64764. Should fix intermittent tee unit test failures (#474823).
2445 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
2447 * tests/check/elements/tee.c: (test_num_buffers):
2448 Simplify, simplify, simplify - or not. Rewrite unit test
2449 not to use gst_parse_launch(); allow N sub-streams. Increasing
2450 the number of sub-streams seems to reproduce #474823 more easily.
2452 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
2454 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
2457 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
2458 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2459 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
2460 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
2461 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
2462 so use _pipe() directly (#492077).
2464 * win32/common/dirent.c: (_treaddir):
2465 Add a couple of casts to make it build without warnings with MSVC.
2467 * win32/common/libgstreamer.def:
2468 Add some more symbols that need to be exported.
2470 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
2472 * tests/examples/metadata/read-metadata.c: (message_loop):
2473 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
2474 arriving in a second or third tag message are added to
2475 the tag list as well.
2477 2007-10-31 Stefan Kost <ensonic@users.sf.net>
2479 * libs/gst/base/gstbasesrc.c:
2480 Its "Since:" and not "@Since:". And remove an superflous cast.
2482 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
2484 * docs/libs/gstreamer-libs-sections.txt:
2485 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2486 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
2487 (gst_base_sink_get_property), (gst_base_sink_render_object),
2488 (gst_base_sink_preroll_object),
2489 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
2490 (gst_base_sink_change_state):
2491 * libs/gst/base/gstbasesink.h:
2492 Add a new last-buffer property that contains the last buffer used in
2493 basesink for preroll or rendering. useful for making snapshots.
2494 API: gst_base_sink_get_last_buffer()
2495 API: GstBaseSink::last-buffer
2497 2007-10-29 Stefan Kost <ensonic@users.sf.net>
2499 * docs/gst/running.xml:
2501 * gst/gstdebugutils.c:
2502 * gst/gstdebugutils.h:
2503 * tools/gst-launch.c:
2504 Improve bin graph dumping, by using the envvar to specify a path.
2505 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
2507 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
2509 * plugins/elements/gsttypefindelement.c:
2510 (gst_type_find_element_handle_event),
2511 (gst_type_find_element_activate):
2512 Post special error message if we can't determine the type of a stream
2515 2007-10-29 Stefan Kost <ensonic@users.sf.net>
2517 * docs/gst/running.xml:
2518 * gst/gstdebugutils.c:
2519 Document new env-var. Add one log-line after dumpng a graph.
2521 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
2524 Ugly hack to put the (recently removed and non-portable, apparently)
2525 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
2526 GNU ld, because without that 'make check' fails miserably on my debian
2527 stable box. Someone with more knowledge of linker intricacies and
2528 portability issues than me fix this properly please.
2530 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
2532 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2533 Reset last seen position after flushing so that we don't report the old
2536 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
2538 * gst/gstelementfactory.c: (gst_element_register):
2540 Patch from Alessandro Decina adding get_type_full and
2541 get_protocols_full private vfuncs to the URIHandler interface
2542 to allow bindings to support creating URI handlers.
2543 Partially fixes: #339279
2544 API: GstURIHandlerInterface::get_type_full
2545 API: GstURIHandlerInterface::get_protocols_full
2547 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
2549 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
2550 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
2551 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
2552 Make it so that pads are considered linked until a buffer is pushed
2553 and discovered otherwise. This avoids problems with decodebin2 hanging
2554 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
2557 Make sure we lock the multiqueue when updating the max-size properties.
2559 Fix a crash on Solaris in a debug statement in get_request_pad that
2560 passes a NULL string to GST_DEBUG.
2562 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
2563 (run_output_order_test):
2564 Fix the test to allow the first buffer on not-linked pads to come out
2565 of sequence while multiqueue discovers that they are not-linked.
2567 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
2570 * libs/gst/check/Makefile.am:
2571 Use a custom export symbol regex for libgstcheck, as it needs
2572 to export symbols that don't match the standard GStreamer gst_*
2573 pattern, and --export-dynamic is not portable (only works on
2576 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2577 (gst_check_setup_sink_pad):
2578 Make sure to pass a message parameter to the fail_* macros.
2580 * tests/check/gst/gstinfo.c: (GST_START_TEST):
2581 Fix some compiler warnings.
2583 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
2585 * tests/check/gst/gststructure.c: (test_to_string):
2586 Disable test that checks that white spaces are not allowed
2587 in structure names or field names, since we need to
2588 support that for now for backwards compatibility reasons.
2590 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
2592 * docs/gst/gstreamer-sections.txt:
2595 API: add GST_TAG_ARTIST_SORTNAME
2596 API: add GST_TAG_ALBUM_SORTNAME
2597 API: add GST_TAG_TITLE_SORTNAME
2598 Add tag variants for sorting (#414539).
2600 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
2602 * gst/gststructure.c:
2603 Also allow white space for names so we don't break
2604 backwards compatibility.
2606 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
2608 * docs/design/part-TODO.txt:
2609 * docs/design/part-segments.txt:
2610 * docs/design/part-streams.txt:
2613 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
2615 * docs/gst/gstreamer-sections.txt:
2616 Fixed documentation from my previous commit (added new API add
2617 gst_value_set_structure(), add gst_value_get_structure() and
2618 GST_VALUE_HOLDS_STRUCTURE).
2620 2007-10-22 Stefan Kost <ensonic@users.sf.net>
2622 * gst/gstdebugutils.c:
2623 Reflow code to fix uninitialized variable warning.
2625 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
2627 * gst/gstcaps.c: (gst_caps_to_string),
2628 (gst_caps_from_string_inplace):
2629 * gst/gststructure.c: (gst_structure_get_abbrs),
2630 (gst_structure_to_string), (gst_structure_from_string):
2631 * gst/gstvalue.c: (gst_value_set_structure),
2632 (gst_value_get_structure), (gst_value_serialize_structure),
2633 (gst_value_deserialize_structure), (_gst_value_initialize):
2635 * tests/check/gst/gststructure.c: (GST_START_TEST),
2636 (gst_structure_suite):
2637 * tests/check/gst/gstvalue.c: (GST_START_TEST):
2638 Added GstStructure to gst_value_table and its related functions.
2639 Changed gst_structure_to_string to print ';' in the end.
2640 Changed gst_caps_to_string to not print ';' beteween its
2641 fields (structures) anymore and remove the lastes ';' from latest
2642 structure. Now it is possible to have nested structures.
2643 In addition, backward compatibilty is assured by accepting '\0' as
2644 end delimiter. Fixes: #487969.
2645 API: add gst_value_set_structure()
2646 API: add gst_value_get_structure()
2647 API: add GST_VALUE_HOLDS_STRUCTURE
2649 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
2652 When no GSource callback has been set up, tell developer
2653 to use a function that actually exists.
2655 2007-10-17 Stefan Kost <ensonic@users.sf.net>
2657 * docs/gst/gstreamer-sections.txt:
2661 * gst/gstdebugutils.c:
2662 * gst/gstdebugutils.h:
2665 * tools/gst-launch.c:
2666 Allow dumping pipelines as dot graphs. Fixes #456573.
2668 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
2670 * gst/gststructure.c:
2671 Allow '+' as well, it can be part of media or mime types
2672 such as image/svg+xml.
2674 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
2676 * docs/gst/gstreamer-sections.txt:
2679 API: add gst_bus_pop_filtered
2680 API: add gst_bus_timed_pop_filtered
2681 Two new functions for waiting for specific message types on the
2682 bus for a specified amount of time without iterating any main
2683 loops or main contexts.
2685 * tests/check/gst/gstbus.c:
2686 Some tests for the new functions.
2688 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
2690 * docs/libs/gstreamer-libs-sections.txt:
2691 Make gtk-doc ignore stuff it should ignore.
2693 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
2695 * libs/gst/check/gstcheck.c:
2696 * libs/gst/check/gstcheck.h:
2697 Allow runtime selection of unit tests to run via the GST_CHECKS
2698 environment variable (test case function names, comma-separated).
2700 2007-10-16 Stefan Kost <ensonic@users.sf.net>
2702 * gst/gststructure.c:
2703 * tests/check/gst/gststructure.c:
2704 Revert serialisation change and constrain structure-names after
2705 consensus on irc. Update api documentation to reflect the change.
2707 2007-10-16 Stefan Kost <ensonic@users.sf.net>
2709 * gst/gststructure.c:
2710 Improve serialization and fix tests.
2712 * tests/check/gst/gststructure.c:
2713 Add another test that covers why I actually did the previous structure
2716 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
2718 * tools/gst-inspect.c: (print_element_info):
2719 Don't crash when inspecting an element.
2721 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
2723 * tests/check/gst/gststructure.c:
2724 Add unit test for escaping of structure name when serialising
2725 and deserialising to/from strings.
2727 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
2729 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2730 (gst_single_queue_new):
2731 * plugins/elements/gstqueue.c: (gst_queue_init),
2732 (gst_queue_push_one):
2733 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
2734 upstream is tricked into thinking it can suggest a format downstream
2735 while downstream does not support that format. The real problem is that
2736 core calls acceptcaps when pushing a buffer with new caps, for which we
2737 do a little workaround by setting the caps on the srcpad ourselves
2738 before pushing the buffer (until this is figured out). Fixes #486758.
2740 2007-10-15 Stefan Kost <ensonic@users.sf.net>
2742 * gst/gststructure.c:
2744 Add some more comments and debug output. Quote structure name to fix
2745 deserialisation of some strings.
2747 2007-10-15 Stefan Kost <ensonic@users.sf.net>
2750 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
2751 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
2753 2007-10-15 Stefan Kost <ensonic@users.sf.net>
2755 * tools/gst-inspect.c:
2756 Save approx. 400 1 byte allocs when printing. Use API to acces element
2762 * tools/gst-xmlinspect.c:
2763 Use API to acces element details.
2765 2007-10-15 Stefan Kost <ensonic@users.sf.net>
2768 Fix some spelling errors.
2770 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
2772 * gst/gstbin.c: (bin_handle_async_done):
2773 Correctly set the next state if all of our async children commited their
2774 state. This makes sure we can actually cancel the state change in
2775 progress. Fixes a regression in Rhythmbox when seeking.
2777 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
2780 Don't shadow local variable.
2783 Don't shadow global function name.
2785 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
2787 * gst/gstelementfactory.c:
2788 * gst/gstpluginfeature.c:
2789 * gst/gstpluginfeature.h:
2790 * gst/gstregistrybinary.c:
2791 * gst/gstregistryxml.c:
2792 * gst/gsttypefind.c:
2793 Use already-interned string for the private GstPluginFeature
2796 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
2798 * docs/libs/gstreamer-libs-sections.txt:
2799 Add new API to docs; fixes the build.
2801 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
2803 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
2805 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
2806 (gst_base_sink_event):
2807 * libs/gst/base/gstbasesink.h:
2808 Add function to wait for EOS, subclasses can use this to correctly wait
2809 for devices to drain before performing the EOS logic. Fixes #485343.
2810 API: gst_base_sink_wait_eos()
2812 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
2815 Cast description string constants in GST_PLUGIN_DEFINE macros
2816 to a (gchar*) to make C++ code using these macros compile
2817 without warning with g++-4.2 (see #462737). Even if slightly
2818 ugly, this seems preferable to putting the description strings
2819 into the GLib quark table or making the structure member a
2820 const gchar * and doing casts in core code that allocs and
2821 frees these strings, or requiring a cast in the C++ code.
2823 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
2826 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
2827 to print the entire class/function signature into the log
2828 file for C++ code. This only affects C++ code, for C code
2829 everything remains the same.
2831 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
2833 * gst/gstbin.c: (remove_from_queue):
2834 Work around a problem with pipelines containing (semi)loops until a
2835 proper, more complicated solution is ready. See #475455.
2837 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
2841 * gst/gstregistrybinary.c:
2842 * gst/gstregistryxml.c:
2843 Put more strings into the GLib quark table. No need to keep
2844 a hundred-something copies of identical version strings,
2845 license strings, package name strings and package origin
2848 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
2850 * docs/manual/advanced-dataaccess.xml:
2851 Don't imply that it's okay to unconditionally change
2852 buffer data or buffer metadata in a pad probe callback,
2853 and a bunch of other comments. Fixes #430031.
2855 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
2857 * win32/common/gstenumtypes.c:
2858 * win32/common/gstenumtypes.h:
2859 * win32/common/gstversion.h:
2860 Update generated files.
2862 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
2864 * docs/manual/advanced-autoplugging.xml:
2865 Prefix section with broken code with a warning (see #342432).
2867 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
2869 * docs/manual/appendix-integration.xml:
2870 * docs/manual/basics-init.xml:
2871 Call g_thread_init() before g_option_context_new() to
2872 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
2874 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
2876 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2877 (gst_base_sink_queue_object_unlocked),
2878 (gst_base_sink_queue_object), (gst_base_sink_event),
2879 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
2880 When we received EOS and are waiting for when to post the EOS message,
2881 our state is prerolled and we should not return ASYNC.
2882 Reorganize some code paths to implement this behavior.
2884 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
2886 Add unit test to verify above EOS fix.
2888 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
2890 * plugins/elements/gsttypefindelement.c:
2891 (gst_type_find_element_have_type), (gst_type_find_element_init),
2892 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
2893 Move detecting the input caps of the sinkpad to the setcaps function.
2894 This allows us to update the output caps when we receive new input caps
2895 instead of always using the first detected caps.
2897 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
2899 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2900 (gst_base_sink_get_position):
2901 Don't try to preroll non-async elements after a flush.
2902 Subtract latency form clock times when reporting position.
2904 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
2906 * gst/gstpad.c: (gst_pad_pause_task):
2908 Small comment and documentation update.
2910 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
2912 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2913 (gst_base_src_set_live), (gst_base_src_is_live),
2914 (gst_base_src_query_latency), (gst_base_src_perform_seek),
2915 (gst_base_src_default_event), (gst_base_src_wait),
2916 (gst_base_src_do_sync), (gst_base_src_get_range),
2917 (gst_base_src_pad_get_range), (gst_base_src_loop),
2918 (gst_base_src_unlock), (gst_base_src_unlock_stop),
2919 (gst_base_src_set_flushing), (gst_base_src_set_playing),
2920 (gst_base_src_activate_push), (gst_base_src_activate_pull),
2921 (gst_base_src_change_state):
2922 Rework the locking of basesrc in a similar fashion to basesink. We
2923 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
2924 us to handle live sources and semi live ones much better.
2926 Fix unlocking when seeking, shutting down and pausing in live sources.
2928 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
2930 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
2931 Fix compilation again.
2933 2007-10-03 Stefan Kost <ensonic@users.sf.net>
2936 Use meaningful categories for the logs to clean the default one.
2938 2007-10-03 Stefan Kost <ensonic@users.sf.net>
2940 * tests/check/pipelines/cleanup.c:
2941 Print message name and not just number.
2943 2007-10-03 Stefan Kost <ensonic@users.sf.net>
2945 * docs/design/draft-tagreading.txt:
2946 Add some more thoughts.
2948 2007-10-03 Stefan Kost <ensonic@users.sf.net>
2950 * tests/check/pipelines/simple-launch-lines.c:
2951 Print message name and not just number.
2953 2007-10-03 Stefan Kost <ensonic@users.sf.net>
2955 * libs/gst/base/gsttypefindhelper.c:
2956 Speedup typefinding. This is work in progress (see #459862).
2958 2007-10-03 Stefan Kost <ensonic@users.sf.net>
2961 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
2962 Spotted by Josep Torra Valles <josep@fluendo.com>.
2964 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
2967 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
2968 field has moved to GstObject.
2970 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
2972 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
2973 (gst_base_src_get_range), (gst_base_src_change_state):
2974 Call unlock for live sources so that they can't get stuck in _create and
2975 produce a buffer before they are set back to PLAYING.
2977 2007-10-02 Edward Hervey <bilboed@bilboed.com>
2979 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
2980 (gst_queue_locked_dequeue):
2981 Comment the segment-related code... in the PROPER function.
2982 See #482147 and my commit from yesterday.
2984 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
2986 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2987 Also initialize the counter that calculates the first timestamp on a
2988 buffer correctly for non-live sources.
2990 2007-10-01 Edward Hervey <bilboed@bilboed.com>
2992 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
2993 Disable code that's breaking the current-time-level reporting.
2996 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
2998 * docs/gst/gstreamer-sections.txt:
2999 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
3000 as they shouldn't show up. Fixes the docs build.
3002 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
3005 Add an explicit variable importation needed on VS6 (only for MSC_VER)
3006 Define M_PI which is used in files which are including gstinfo.h.
3007 VS6 includes doesn't define it.
3008 * win32/common/libgstbase.def:
3009 * win32/common/libgstcontroller.def:
3010 * win32/common/libgstreamer.def:
3011 Add new exported functions and variables.
3012 * win32/vs6/libgstcontroller.dsp:
3013 * win32/vs6/libgstreamer.dsp:
3014 Update the list of files to build.
3016 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
3018 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
3020 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
3021 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
3022 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
3023 Improve debugging. Fixes #480858.
3025 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
3027 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
3029 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3030 First patch of code cleanups, use the macros and right arguments in the
3031 macros to signal and lock the queue. See #480858.
3033 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
3035 * gst/gstbus.c: (poll_func):
3036 Improve debugging when dealing with _poll().
3038 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
3040 * gst/gstregistryxml.c:
3041 Fix memory leak I introduced a few days ago.
3043 2007-09-26 Michael Smith <msmith@fluendo.com>
3045 * gst/gstbuffer.c: (gst_buffer_finalize):
3046 Make it once again possible to free GstBuffers in the default
3048 The poisoning scribbles on parts of the miniobject we need in
3052 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
3054 * docs/gst/gstreamer-sections.txt:
3057 API: add GST_TAG_COMPOSER, fixes #459809.
3059 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
3063 Add the 3-clause BSD license and the MIT/X11 license to the license
3064 list. Fixes #479784.
3066 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
3068 * docs/faq/getting.xml:
3069 Add Q+A about different GStreamer versions (#364056).
3071 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
3073 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3074 (gst_base_sink_event), (gst_base_sink_change_state):
3075 Return correct gboolean from query function.
3077 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
3079 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3080 (gst_base_sink_event), (gst_base_sink_query),
3081 (gst_base_sink_change_state):
3082 Simplify latency query.
3083 When not synchronizing, we can report latency without querying the peer
3086 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
3090 Fix small typos in the docs.
3092 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
3094 * docs/design/draft-latency.txt:
3095 * docs/design/draft-push-pull.txt:
3096 * docs/design/draft-tagreading.txt:
3097 * docs/design/part-MT-refcounting.txt:
3098 * docs/design/part-activation.txt:
3099 * docs/design/part-block.txt:
3100 * docs/design/part-element-source.txt:
3101 * docs/design/part-events.txt:
3102 * docs/design/part-gstbin.txt:
3103 * docs/design/part-gstelement.txt:
3104 * docs/design/part-gstobject.txt:
3105 * docs/design/part-gstpipeline.txt:
3106 * docs/design/part-messages.txt:
3107 * docs/design/part-preroll.txt:
3108 * docs/design/part-push-pull.txt:
3109 * docs/design/part-qos.txt:
3110 * docs/design/part-query.txt:
3111 * docs/design/part-scheduling.txt:
3112 * docs/design/part-seeking.txt:
3113 * docs/design/part-segments.txt:
3114 * docs/design/part-states.txt:
3115 Documentation updates and typo fixes.
3117 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
3119 * plugins/elements/gstfakesink.c:
3120 Add some debug text to error message to indicate that
3121 we errored out on request.
3123 * tools/gst-launch.c:
3124 When the state change to PLAYING fails, check for an
3125 error message on the bus and print it.
3127 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
3129 translated by: Jorge González González <aloriel@gmail.com>
3133 Added Spanish translation.
3135 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
3137 * plugins/elements/gstqueue.c: (gst_queue_push_one):
3138 Fix printf arguments.
3140 2007-09-20 Stefan Kost <ensonic@users.sf.net>
3142 * tests/check/generic/states.c:
3143 Improved state change unit test.
3145 2007-09-20 Stefan Kost <ensonic@users.sf.net>
3148 Move priv to the right place.
3150 * gst/gstsystemclock.c:
3151 Add FIXME: and improve log.
3153 * tests/check/Makefile.am:
3154 * tests/examples/manual/Makefile.am:
3155 Work with all types of registries.
3157 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
3159 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
3160 Don't unref the event after pushing it. Fixes #478401.
3162 2007-09-19 Stefan Kost <ensonic@users.sf.net>
3165 * tests/examples/manual/.cvsignore:
3166 Ignore registries in any format.
3168 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
3170 * gst/glib-compat-private.h:
3171 Add compatibility macro for g_intern_string() for
3172 GLib-2.8 (any reason we can't just bump the
3173 requirement to at least 2.10?)
3175 * gst/gstpadtemplate.h:
3176 * gst/gstelementfactory.c:
3177 * gst/gstregistryxml.c:
3178 * gst/gstregistrybinary.c:
3179 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
3180 up the internal code accordingly. This shouldn't be a problem, since
3181 there is no reason external code could ever assume the string in such
3182 a structure is dynamically allocated unless it did that itself; the
3183 use of g_strdup() is private to element factories. The new code also
3184 saves some memory by putting pad template name strings into the GLib
3185 quark table instead of allocating them dynamically.
3186 Declaring this field constant fixes warnings with g++-4.2 when using
3187 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
3189 2007-09-19 Stefan Kost <ensonic@users.sf.net>
3191 * gst/gstelementfactory.c:
3192 Release static caps. Fixes #475723.
3194 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
3198 Make some internal API take const gchar * instead of just
3199 gchar * to avoid compiler warnings with g++-4.2.2 when
3200 passing string constants (partially fixes #478092).
3202 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
3204 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
3205 A latency query fails when one of the sinks fail.
3207 * gst/gstelement.c: (gst_element_set_base_time):
3210 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
3212 * gst/gstbin.c: (gst_bin_continue_func):
3213 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
3214 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
3215 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
3217 Fix minor compilation warnings shown with Forte.
3219 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
3221 * plugins/elements/gstqueue.c: (apply_buffer),
3222 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
3223 Measure queue level based on the diff between head and tail timestamps
3224 even when pushing the first buffer.
3226 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
3228 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3229 (gst_base_sink_event), (gst_base_sink_change_state):
3230 Sinks that don't preroll can always be queried for the latency.
3231 Don't post ASYNC start when we are not async.
3233 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
3235 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
3236 (gst_queue_handle_sink_event), (gst_queue_chain),
3237 (gst_queue_push_one), (gst_queue_handle_src_query),
3238 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
3239 * plugins/elements/gstqueue.h:
3240 When downstream returns UNEXPECTED from pushing a buffer, don't try to
3241 push more buffers but allow pushing of EOS and NEWSEGMENT.
3242 Add some more debug info here and there. Fixes #476514.
3244 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
3246 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3247 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
3248 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
3249 (gst_base_sink_set_flushing), (gst_base_sink_query),
3250 (gst_base_sink_change_state):
3251 Latency query is allowed after we are prerolled. Introduce a new flag
3252 for this and stop abusing other variables.
3254 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
3256 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
3257 Push OOB events downstream when we get them in send_event. This allows
3258 the application to insert events in the pipeline.
3259 Add some more comments.
3261 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
3263 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
3264 (do_bin_latency), (gst_bin_change_state_func):
3265 * gst/gstpipeline.c: (gst_pipeline_change_state):
3266 Move latency query from GstPipeline to GstBin so that we can also
3267 use it when async-handling is enabled on bins.
3269 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
3271 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3272 (gst_base_src_do_sync), (gst_base_src_change_state):
3274 Clean up the timestamping and syncing code for pseudo live sources.
3276 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
3278 Patch by: Steve Fink <sphink gmail com>
3280 * docs/manual/appendix-checklist.xml:
3281 Mention less -R switch in the section about debug output (#474055).
3283 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
3285 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3286 Queue can latency to the pipeline up to the configured max size in time.
3287 Report this fact in the latency query.
3289 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
3291 Patch by: Sebastien Moutte <sebastien at moutte dot net>
3293 * libs/gst/controller/gstinterpolation.c:
3294 * libs/gst/controller/gstlfocontrolsource.c:
3295 Use gst_guint64_to_gdouble() when converting from a uint64 or
3296 GstClockTime to double to fix the build on win32. Fixes #474371.
3298 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
3300 * gst/gstbuffer.c: (gst_buffer_finalize):
3301 Implement poisoning for GstBuffer if --enable-poisoning is specified.
3302 When finalizing a buffer the complete struct is filled with 0xff,
3303 thus making a use of the buffer after the final unref impossible.
3305 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
3307 * tests/check/libs/controller.c: (GST_START_TEST):
3308 Use fail_unless_equals_int(a, b) instead of
3309 fail_unless_equals (a == b) to get better output on failures.
3311 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
3313 * tests/check/gst/gsturi.c:
3314 Also check for the other file URI variant on win32.
3316 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
3318 * gst/gsturi.c: (gst_uri_get_location):
3319 If there's no hostname, we want to return 'c:/foo/bar.txt'
3320 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
3322 * tests/check/gst/gsturi.c:
3323 Unit test for the above and a few more things.
3325 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
3327 * docs/design/part-live-source.txt:
3328 Add docs on how live sources should timestamp.
3330 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
3331 Add some more debug info.
3332 For subclasses that are live and like to sync, add aditional startup
3333 latency to sync time and timestamps so that we timstamp according to the
3336 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
3339 Also do a g_type_class_ref() for the subbuffer type in
3342 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
3344 * docs/gst/gstreamer-sections.txt:
3345 * gst/gstpad.c: (gst_pad_peer_query):
3347 Add function to perform a query on the peer of a pad.
3348 API: gst_pad_peer_query()
3350 2007-09-11 Stefan Kost <ensonic@users.sf.net>
3352 * tests/check/gst/gstsystemclock.c:
3353 Cleanup the test a little (use gst-logging and not g_message). Improve
3354 test to check if a wait reached the target.
3356 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
3358 * docs/libs/gstreamer-libs-sections.txt:
3359 Add new API to docs and fix the build.
3361 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
3363 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3364 (gst_base_src_init), (gst_base_src_set_do_timestamp),
3365 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
3366 (gst_base_src_get_property), (gst_base_src_do_sync):
3367 * libs/gst/base/gstbasesrc.h:
3368 Add property to make the basesrc timestamp buffers based on the current
3370 API: GstBaseSrc::do-timestamp
3371 API: gst_base_src_set_do_timestamp()
3372 API: gst_base_src_get_do_timestamp()
3374 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
3376 * docs/random/release:
3377 Really make sure translations are up-to-date before
3378 a release (#465010).
3380 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
3382 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3383 Always destroy the timer, also in error cases.
3385 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
3387 * docs/manual/highlevel-xml.xml:
3388 Fix XML example code. Fixes #472714.
3390 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
3392 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3393 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
3394 (gst_base_sink_query):
3395 Protect eos and have_preroll with the OBJECT lock so we don't need to
3396 take the PREROLL lock when querying the latency. Fixes #473846.
3398 2007-09-05 Stefan Kost <ensonic@users.sf.net>
3401 Give some log-messages a category.
3403 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
3405 * gst/gststructure.c:
3406 (gst_structure_fixate_field_nearest_fraction):
3407 Fix fraction list fixation code. Take the fraction with the smallest
3408 difference with the target instead of the first one in the list.
3410 * tests/check/gst/gststructure.c: (GST_START_TEST),
3411 (gst_structure_suite):
3412 Added test to verify correct fraction list fixation behaviour.
3414 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
3416 * win32/common/libgstreamer.def:
3417 Export gst_bus_add_signal_watch too.
3419 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
3421 * docs/libs/gstreamer-libs-sections.txt:
3422 Add new methods to docs.
3424 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3425 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
3426 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
3427 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
3428 * libs/gst/base/gstbasesink.h:
3429 Add ts-offset property to fine-tune the synchronisation.
3430 API: GstBaseSink::ts-offset property
3431 API: gst_base_sink_set_ts_offset()
3432 API: gst_base_sink_get_ts_offset()
3434 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
3436 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3437 (gst_base_sink_init), (gst_base_sink_set_sync),
3438 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3439 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
3440 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
3441 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
3442 (gst_base_sink_get_property), (gst_base_sink_change_state):
3443 * libs/gst/base/gstbasesink.h:
3444 Add async property to instruct the sink never to inform the parent about
3445 ASYNC state changes, update docs.
3446 Check argument with g_return_* for the public functions.
3447 API: GstBaseSink::async property
3448 API: gst_base_sink_set_async_enabled()
3449 API: gst_base_sink_is_async_enabled()
3451 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
3453 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
3456 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3457 (gst_base_src_default_query), (gst_base_src_wait),
3458 (gst_base_src_do_sync), (gst_base_src_change_state):
3459 Rearrange some code so that we can add support for measuring the
3462 2007-08-27 Stefan Kost <ensonic@users.sf.net>
3464 * docs/random/ensonic/dynlink.txt:
3465 More thoughs on this.
3467 * plugins/elements/gstcapsfilter.c:
3468 Add bugzilla ticket number to FIXME comment.
3470 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
3472 * docs/design/part-TODO.txt:
3473 * docs/design/part-block.txt:
3476 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
3479 Revert patch which uses $(gst_headers) instead of $^ because it
3482 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
3484 * tests/check/gst/gstbin.c: (GST_START_TEST):
3485 Fix leaks in the new unit test.
3487 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
3490 Don't use GST_INFO before the debug system is actually initialised
3491 (shouldn't do any harm, but won't print anything either, so we can
3492 just as well remove it).
3495 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
3496 compilers that don't support variadic macros (such as MSVC), should
3497 check for debug_level <= __gst_debug_min as well, since that's the
3498 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
3499 inline helper functions. Should improve performance a bit, but also
3500 makes sure uses of GST_INFO et.al are ignored if the debugging
3501 system isn't initialised yet (instead of printing an assertion
3504 2007-08-23 Stefan Kost <ensonic@users.sf.net>
3506 patch by: David Nečas <yeti@physics.muni.cz>
3509 Replace some non portable makefile constructs.
3511 2007-08-21 Stefan Kost <ensonic@users.sf.net>
3513 * common/gtk-doc-plugins.mak:
3514 Grrrrr. Don't remove the types file on make clean.
3516 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
3518 * tools/gst-launch.1.in:
3519 Add colorspace to example pipeline. Fixes #458274.
3521 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
3523 * docs/random/release:
3524 The release manager should run 'make download-po' before making a
3525 release to make sure translations are up-to-date.
3531 Add some new translations.
3533 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
3535 * tools/gst-launch.c: (event_loop), (main):
3536 Don´t try to do any state management when a live pipeline posts
3538 Also make the buffering string translatable.
3540 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
3542 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
3543 (bin_handle_async_start), (gst_bin_handle_message_func):
3545 When adding elements, insert messages into the bus of the newly added
3546 element and make sure the element is the source of the message. This
3547 allows the parent bin to intercept the message and do the
3548 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
3549 messages to the app (which is not allowed).
3552 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3553 Fix testsuite so that is does not work around messages that should not
3554 have been posted in the first place.
3556 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
3558 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
3559 (update_degree), (gst_bin_sort_iterator_next):
3560 Fix annoying bug in the sorted iterator where a sink that is not really
3561 a sink (when it has downstream links) screwed up the iterator.
3563 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3564 Unit test to verify the fix.
3566 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
3569 Add some more docs for the messages.
3571 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3572 (gst_base_sink_query):
3573 Add some more debugging.
3575 * tools/gst-launch.c: (event_loop):
3576 When interrupting, don't try to set pipeline to PAUSED twice.
3578 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
3581 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
3582 (bin_handle_async_start), (gst_bin_handle_message_func):
3583 Move ASYNC_START message posting to where it belongs, similar to
3585 Don't post ASYNC_START when we are in error.
3586 Post ASYNC_START when we added an async element to a bin.
3588 2007-08-14 Julien MOUTTE <julien@moutte.net>
3590 * gst/gstindex.c: (gst_index_add_association): Fix index entry
3591 generation from vargs. Fixes #466595.
3593 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
3595 * gst/gstbin.c: (gst_bin_element_set_state):
3596 Always change the state of a NO_PREROLL element even if it has ASYNC
3597 elements inside (in case of a bin).
3599 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
3600 Unit test for this case.
3602 2007-08-13 Stefan Kost <ensonic@users.sf.net>
3604 * libs/gst/check/gstbufferstraw.c:
3605 * libs/gst/check/gstcheck.h:
3606 * libs/gst/controller/gstcontroller.c:
3607 * libs/gst/controller/gstcontrolsource.h:
3608 * libs/gst/controller/gstlfocontrolsource.h:
3609 * plugins/elements/gstcapsfilter.h:
3610 * plugins/elements/gstfdsink.h:
3611 * plugins/elements/gstfdsrc.h:
3612 Add more missing docs.
3614 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
3616 * gst/gststructure.c:
3617 Add Since tag to docs.
3619 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
3621 * docs/gst/gstreamer-sections.txt:
3622 * gst/gststructure.c: (gst_structure_get_uint):
3623 * gst/gststructure.h:
3624 Add function to get uint from a structure.
3625 API: gst_structure_get_uint()
3627 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
3629 * gst/gstcaps.c: (gst_caps_set_simple_valist),
3630 (gst_caps_intersect):
3631 Fix proper check for simple caps.
3633 2007-08-10 Stefan Kost <ensonic@users.sf.net>
3635 * docs/gst/Makefile.am:
3636 * docs/libs/Makefile.am:
3637 Remove cruft and do some cleanups.
3639 * docs/gst/gstreamer-docs.sgml:
3640 * docs/libs/gstreamer-libs-docs.sgml:
3641 Prepare for comming gtkdoc features (rebase against online docs).
3643 2007-08-10 Michael Smith <msmith@fluendo.com>
3645 * docs/gst/gstreamer-sections.txt:
3646 Add gst_registry_add_path to docs.
3648 2007-08-10 Michael Smith <msmith@fluendo.com>
3650 * gst/gstregistry.h:
3651 Add gst_registry_add_path, which was missing from this header.
3653 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
3655 * libs/gst/controller/gstlfocontrolsource.c:
3658 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
3660 * libs/gst/base/gstbasesink.c:
3661 Don't send an async_start message during downwards state change if
3662 target state is less than READY
3664 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
3666 translated by: Gabor Kelemen <kelemeng@gnome.hu>
3670 Added Hungarian translation.
3672 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
3679 Updated translations.
3681 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
3683 * libs/gst/controller/Makefile.am:
3684 Dist gstlfocontrolsourceprivate.h
3686 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
3688 * docs/libs/gstreamer-libs.types:
3689 Don't register the enum type gst_lfo_waveform_get_type() in the
3690 .types file - only GObject derived types belong.
3692 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
3694 Patch by: <arenevier at fdn dot fr>
3697 Remove comma from last element in enum to avoid compile errors when
3698 using -pendantic. Fixes #464366.
3700 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
3702 * docs/design/part-TODO.txt:
3703 Add some more TODO items
3705 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
3708 * gst/gstcaps.c: (gst_caps_intersect):
3709 Optimize trivial intersection case between identical caps pointers.
3711 * gst/gstelement.c: (gst_element_continue_state),
3712 (gst_element_set_state_func):
3714 Fix spelling and grammar mistakes.
3716 2007-08-05 Stefan Kost <ensonic@users.sf.net>
3720 Update POTFILES. Fixes #461599.
3722 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
3725 Fix confusing typo in debug output.
3727 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
3729 reviewed by: Stefan Kost <ensonic@users.sf.net>
3731 * libs/gst/controller/Makefile.am:
3732 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
3733 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
3734 (gst_lfo_control_source_new),
3735 (gst_lfo_control_source_set_waveform),
3736 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
3737 (gst_lfo_control_source_finalize),
3738 (gst_lfo_control_source_dispose),
3739 (gst_lfo_control_source_set_property),
3740 (gst_lfo_control_source_get_property),
3741 (gst_lfo_control_source_class_init):
3742 * libs/gst/controller/gstlfocontrolsource.h:
3743 * libs/gst/controller/gstlfocontrolsourceprivate.h:
3744 API: Add GstLFOControlSource, a control source that gives values
3745 for specific timestamps based on several periodic waveforms.
3748 * tests/check/libs/controller.c: (GST_START_TEST),
3749 (gst_controller_suite):
3750 * docs/libs/gstreamer-libs-docs.sgml:
3751 * docs/libs/gstreamer-libs-sections.txt:
3752 * docs/libs/gstreamer-libs.types:
3753 Add documentation and unit tests for GstLFOControlSource.
3755 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
3760 === release 0.10.14 ===
3762 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
3765 releasing 0.10.14, "Breathing Vacuum"
3767 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
3769 * gst/gstelement.c: (gst_element_class_set_details_simple):
3771 Make strings passed to gst_element_class_set_details_simple()
3772 constant, as they should be (#462752).
3774 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
3776 * gst/gstbin.c: (gst_bin_change_state_func),
3777 (bin_handle_async_done), (gst_bin_handle_message_func):
3778 Don't forget about the fact that some element went ASYNC even after a
3779 resync. This makes us post the ASYNC_DONE message correctly.
3782 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
3784 * gst/gstregistry.c: (gst_registry_add_feature):
3785 When replacing an existing feature in the registry, make sure to
3786 continue holding a reference until we've replaced the name string
3787 within our feature hash table. Make sure to use g_hash_table_replace
3788 instead of g_hash_table_insert to ensure the new name string is used
3789 as a key instead of the old one that we're about to free.
3792 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
3794 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3795 (gst_plugin_feature_set_name):
3796 Revert patch from #459466 until after the release and we can work
3797 out exactly what the problem is (if any).
3799 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
3801 * docs/gst/gstreamer-sections.txt:
3804 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
3806 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
3808 * docs/libs/Makefile.am:
3809 Include our build-prefix libs and includes before the generic ones to
3810 avoid linking against the installed libs when we want the build-tree
3813 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
3815 Patch by: Steve Fink <sphink gmail com>
3817 * docs/pwg/building-testapp.xml:
3818 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
3819 if people try to build or install the example from the plugin
3820 template against a GStreamer from package using the configure
3823 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
3825 Patch by: Steve Fink <sphink gmail com>
3827 * tools/gst-inspect.1.in:
3828 Document --print-all and --print-plugin-auto-install-info command
3829 line options in man page.
3831 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
3833 * docs/gst/gstreamer-sections.txt:
3834 Add docs for new api function.
3836 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
3838 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
3839 * gst/gstelementfactory.h:
3840 API: gst_element_factory_has_interface()
3841 Added method to check if an element factory implements a named
3844 2007-07-25 Stefan Kost <ensonic@users.sf.net>
3847 * docs/gst/gstreamer.types.in:
3848 Another conditional doc check.
3851 * gst/gstparamspecs.h:
3852 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3857 2007-07-24 Stefan Kost <ensonic@users.sf.net>
3859 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
3860 (gst_registry_binary_load_feature),
3861 (gst_registry_binary_load_plugin),
3862 (gst_registry_binary_read_cache):
3863 Print error just once and with additional info.
3865 2007-07-24 Stefan Kost <ensonic@users.sf.net>
3867 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3868 (helper_find_suggest), (helper_find_get_length),
3869 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
3870 (gst_type_find_helper_for_buffer):
3871 Cleanup the typefindhelper code and add private doc comments.
3873 2007-07-24 Edward Hervey <bilboed@bilboed.com>
3875 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3876 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
3877 Fix capsfilter for cases where the caps set on capsfilter will provide
3878 additional information.
3881 2007-07-24 Stefan Kost <ensonic@users.sf.net>
3883 * gst/gsttypefindfactory.c:
3884 Fix docs that recommened wrong function to use.
3886 2007-07-23 Stefan Kost <ensonic@users.sf.net>
3888 * tools/gst-inspect.c: (print_plugin_features):
3889 Also give media-type for typefinders in element output.
3891 2007-07-23 Stefan Kost <ensonic@users.sf.net>
3893 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
3894 (gst_registry_remove_features_for_plugin_unlocked),
3895 (gst_registry_add_feature), (gst_registry_remove_feature),
3896 (gst_registry_lookup_feature_locked):
3897 * gst/gstregistry.h:
3898 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
3901 2007-07-23 Stefan Kost <ensonic@users.sf.net>
3903 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3904 (gst_plugin_feature_set_name):
3905 Avoid double memory usage for pluginfeature names. Fixes #459466.
3907 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
3910 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
3911 driving the pipeline may need to explicitly check for NOT_LINKED as
3912 well, since IS_FATAL doesn't cover that.
3914 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
3916 * docs/pwg/advanced-types.xml:
3917 Fix typo and duplicate entry in video formats list.
3919 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
3921 * libs/gst/controller/gstinterpolation.c:
3922 Also round to the nearest int when using cubic interpolation.
3924 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
3926 * libs/gst/controller/gstinterpolation.c:
3927 When linearly interpolating integer types, round to the nearest int
3928 by adding 0.5. Don't do it for float/double types.
3929 Fixes the failing controller test on my machine, which is somehow
3930 rounding differently than on the buildbots.
3932 2007-07-20 Stefan Kost <ensonic@users.sf.net>
3934 * tools/gst-plot-timeline.py:
3935 Better log parsing (categories can have -). Adjust text vs. lines, so
3936 that they span the same y-range.
3938 2007-07-20 Stefan Kost <ensonic@users.sf.net>
3940 * docs/random/ensonic/audiobaseclasses.txt:
3941 * docs/random/ensonic/dynlink.txt:
3942 * docs/random/ensonic/profiling.txt:
3945 * docs/random/moving-plugins:
3946 Add note to use g_assert type macros.
3948 2007-07-20 Stefan Kost <ensonic@users.sf.net>
3951 * libs/gst/check/Makefile.am:
3952 Add libm check as we use in for plugins.
3954 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
3956 * gst/gstbin.c: (gst_bin_continue_func):
3957 Check that the state_cookie hasn't changed since the continue_func
3958 was scheduled. Avoids problems where the state changes back to
3959 something it shouldn't be because it was changed in the meantime.
3961 2007-07-17 Stefan Kost <ensonic@users.sf.net>
3963 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
3964 (gst_registry_binary_save_string),
3965 (gst_registry_binary_save_pad_template),
3966 (gst_registry_binary_save_feature),
3967 (gst_registry_binary_save_plugin),
3968 (gst_registry_binary_load_feature),
3969 (gst_registry_binary_load_plugin),
3970 (gst_registry_binary_read_cache):
3971 Fix memory leak. Be less verbose in the log.
3973 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
3975 * tests/check/elements/.cvsignore:
3976 Add file to cvsignore as commanded.
3978 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
3980 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
3981 (mq_dummypad_event), (run_output_order_test):
3982 Use a GStaticMutex to protect all cases where libcheck
3983 fail_if/fail_unless macros might be called from multiple threads
3984 simultaneously to avoid errors like:
3985 "check_pack.c:107: :-1081725400:Bad message type arg"
3987 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
3989 * tests/check/pipelines/stress.c: (GST_START_TEST):
3990 Make sure we set the pipeline back to the NULL state before
3991 dropping our final reference.
3993 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
3995 * tests/check/elements/tee.c: (GST_START_TEST):
3996 Make the tee stress-test a little less stressful so it doesn't just
3997 time out on slow-machines, and remove a small race when it's starting
3998 up by adding a get_state() call.
4000 2007-07-16 Stefan Kost <ensonic@users.sf.net>
4003 Avoid reading registry twice on startup. Fixes #457322.
4005 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
4007 * pkgconfig/gstreamer-check-uninstalled.pc.in:
4008 * pkgconfig/gstreamer-check.pc.in:
4009 Substitute the CFLAGS for libcheck into our .pc file too so that
4010 dependent modules will pick it up properly if libcheck is installed
4011 into some other prefix.
4013 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
4016 Revert the pkg-config check for libcheck, since it pulls in the
4017 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
4018 a proper solution, either from the check project, or something else.
4020 2007-07-12 Stefan Kost <ensonic@users.sf.net>
4023 Use pkg-config to locate check.
4025 2007-07-10 Stefan Kost <ensonic@users.sf.net>
4032 Add deprecation guards.
4034 * libs/gst/base/gstcollectpads.h:
4035 Don't document object (this is implicitly private).
4037 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
4039 * gst/gststructure.c: (gst_structure_parse_value):
4040 When deserialising foo=bar without a type cast, check if it's a
4041 boolean before falling back to a string type, otherwise things like
4042 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
4043 because the filtercaps end up having a signed=(string)true field,
4044 which causes problems later when intersection caps.
4046 * tests/check/gst/gststructure.c: (GST_START_TEST):
4047 Add a unit test for this.
4049 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
4051 Reviewed by: Stefan Kost <ensonic@users.sf.net>
4053 * libs/gst/controller/Makefile.am:
4054 * libs/gst/controller/gstcontroller.c:
4055 (gst_controlled_property_add_interpolation_control_source),
4056 (gst_controlled_property_new), (gst_controlled_property_free),
4057 (gst_controller_find_controlled_property),
4058 (gst_controller_new_valist), (gst_controller_new_list),
4059 (gst_controller_new), (gst_controller_remove_properties_valist),
4060 (gst_controller_remove_properties_list),
4061 (gst_controller_remove_properties),
4062 (gst_controller_set_property_disabled),
4063 (gst_controller_set_disabled), (gst_controller_set_control_source),
4064 (gst_controller_get_control_source), (gst_controller_get),
4065 (gst_controller_sync_values), (gst_controller_get_value_array),
4066 (_gst_controller_dispose), (gst_controller_get_type),
4067 (gst_controlled_property_set_interpolation_mode),
4068 (gst_controller_set), (gst_controller_set_from_list),
4069 (gst_controller_unset), (gst_controller_unset_all),
4070 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
4071 * libs/gst/controller/gstcontroller.h:
4072 * libs/gst/controller/gstcontrollerprivate.h:
4073 * libs/gst/controller/gstcontrolsource.c:
4074 (gst_control_source_class_init), (gst_control_source_init),
4075 (gst_control_source_get_value),
4076 (gst_control_source_get_value_array), (gst_control_source_bind):
4077 * libs/gst/controller/gstcontrolsource.h:
4078 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
4079 (gst_object_get_control_source):
4080 * libs/gst/controller/gstinterpolation.c:
4081 (gst_interpolation_control_source_find_control_point_node),
4082 (gst_interpolation_control_source_get_first_value),
4083 (_interpolate_none_get), (interpolate_none_get),
4084 (interpolate_none_get_boolean_value_array),
4085 (interpolate_none_get_enum_value_array),
4086 (interpolate_none_get_string_value_array),
4087 (_interpolate_trigger_get), (interpolate_trigger_get),
4088 (interpolate_trigger_get_boolean_value_array),
4089 (interpolate_trigger_get_enum_value_array),
4090 (interpolate_trigger_get_string_value_array):
4091 * libs/gst/controller/gstinterpolationcontrolsource.c:
4092 (gst_control_point_free), (gst_interpolation_control_source_reset),
4093 (gst_interpolation_control_source_new),
4094 (gst_interpolation_control_source_set_interpolation_mode),
4095 (gst_interpolation_control_source_bind),
4096 (gst_control_point_compare), (gst_control_point_find),
4097 (gst_interpolation_control_source_set_internal),
4098 (gst_interpolation_control_source_set),
4099 (gst_interpolation_control_source_set_from_list),
4100 (gst_interpolation_control_source_unset),
4101 (gst_interpolation_control_source_unset_all),
4102 (gst_interpolation_control_source_get_all),
4103 (gst_interpolation_control_source_get_count),
4104 (gst_interpolation_control_source_init),
4105 (gst_interpolation_control_source_finalize),
4106 (gst_interpolation_control_source_dispose),
4107 (gst_interpolation_control_source_class_init):
4108 * libs/gst/controller/gstinterpolationcontrolsource.h:
4109 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
4110 API: Refactor GstController into the core controller which can take
4111 a GstControlSource for providing actual values for timestamps.
4112 Implement a interpolation control source and use this for backward
4113 compatibility, deprecate a bunch of functions that are now handled
4114 by GstControlSource or GstInterpolationControlSource.
4115 Make it possible to disable the controller completely or only for
4116 specific properties. Fixes #450711.
4117 * docs/libs/gstreamer-libs-docs.sgml:
4118 * docs/libs/gstreamer-libs-sections.txt:
4119 * docs/libs/gstreamer-libs.types:
4120 Add new functions and classes to the docs.
4121 * tests/check/libs/controller.c: (GST_START_TEST),
4122 (gst_controller_suite):
4123 * tests/examples/controller/audio-example.c: (main):
4124 Port unit test and example to the new API and add some new
4127 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
4129 Patch by: Mark Nauwelaerts <manauw at skynet be>
4131 * plugins/elements/gstmultiqueue.c:
4132 (gst_multi_queue_get_internal_links), (apply_buffer),
4133 (single_queue_overrun_cb), (gst_single_queue_new):
4134 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
4135 the pipeline layout can be tracked correctly. Fixes #453732.
4137 2007-07-05 Stefan Kost <ensonic@users.sf.net>
4139 * docs/gst/Makefile.am:
4140 * docs/libs/Makefile.am:
4141 * docs/plugins/Makefile.am:
4142 Simplify --extra-dir as gtkdoc scans recursively.
4144 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
4146 * tools/gst-launch.c: (main):
4147 When we got an error, there is no point in waiting for preroll when
4150 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
4152 * plugins/elements/gsttee.c: (gst_tee_base_init),
4153 (gst_tee_request_new_pad), (gst_tee_release_pad),
4154 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
4155 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
4157 Be a lot smarter when deciding what srcpad to use for proxying
4158 the buffer_alloc. Also handle pad added/removed when doing so.
4160 Keep track of what pads we already pushed on in case we have pads
4161 added/removed while pushing. Fixes #374639
4163 * tests/check/Makefile.am:
4164 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
4166 Added unit test for pad resync.
4168 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
4172 Updated translations.
4174 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
4176 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
4180 Added new Finnish translation.
4182 2007-06-28 Wim Taymans <wim@fluendo.com>
4184 * plugins/elements/gstmultiqueue.c: (apply_buffer),
4185 (single_queue_overrun_cb):
4186 When figuring out when a queue is filled, use our internal time estimate
4187 based on segments, just like check_full does.
4189 2007-06-27 Stefan Kost <ensonic@users.sf.net>
4191 * gst/gstminiobject.c: (gst_mini_object_get_type):
4192 Remove 3 do-nothing methods.
4194 2007-06-27 Wim Taymans <wim@fluendo.com>
4196 Patch by: Tim Angus <tim at ngus dot net>
4198 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
4199 (gst_capsfilter_set_property):
4200 Take a reference instead of a copy when setting "caps".
4201 Fix documentation to clarify this behaviour. Fixes #449414.
4203 2007-06-27 Stefan Kost <ensonic@users.sf.net>
4205 * gst/gstindexfactory.c: (gst_index_factory_get_type):
4206 * gst/gstplugin.c: (gst_plugin_init):
4207 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
4208 * gst/gstquery.c: (gst_query_get_type):
4209 * gst/gstregistry.c: (gst_registry_init):
4210 * gst/gsturi.c: (gst_uri_handler_base_init):
4211 Remove empty instance_init() functions to save relocs and lessen the
4212 noise. Remove some of the function prototypes that are doubled by
4215 2007-06-27 Wim Taymans <wim@fluendo.com>
4217 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
4219 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
4220 Add peer and direction in the XML serialisation of ghostpads.
4223 2007-06-26 Stefan Kost <ensonic@users.sf.net>
4226 Preserve useful information, thanks Tim.
4228 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
4230 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
4231 (gst_single_queue_flush), (apply_segment), (apply_buffer),
4232 (gst_single_queue_push_one), (gst_multi_queue_loop),
4233 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
4234 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
4235 (compute_high_id), (gst_single_queue_new):
4236 * plugins/elements/gstmultiqueue.h:
4237 Take the multiqueue lock when updating the fill level so we don't get
4240 After applying a buffer or event on the src pad segment, make sure to
4241 call gst_data_queue_limits_changed() to get the data queue to unblock
4242 and check the filled state again.
4244 Rework the not-linked pad handling so the logic is that not-linked
4245 pads can push as fast as they like, but only so they never get
4246 ahead of any linked pads.
4248 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
4249 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
4250 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
4252 Add a test to check that not-linked pads always stay behind
4257 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
4259 * docs/random/release:
4260 Some updates to the release procedure.
4262 2007-06-26 Stefan Kost <ensonic@users.sf.net>
4264 * gst/gstelementfactory.c: (__gst_element_details_clear):
4265 Microoptimization that saves stunning 80 bytes.
4267 2007-06-25 Stefan Kost <ensonic@users.sf.net>
4269 * docs/plugins/gstreamer-plugins.args:
4270 * docs/plugins/inspect/plugin-coreelements.xml:
4271 * docs/plugins/inspect/plugin-coreindexers.xml:
4272 Update docs with caps info.
4274 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
4277 Updated Italian translation.
4279 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
4283 Update Vietnamese translations.
4285 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
4287 * libs/gst/base/gstbasesink.c:
4288 Remove unused signal enum.
4290 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
4292 * docs/gst/gstreamer-sections.txt:
4294 * gst/gstutils.c: (gst_type_register_static_full):
4295 Beef up and include the docs for gst_type_register_static_full and
4296 gst_element_class_set_details_simple and add the API keyword
4299 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
4301 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
4302 (update_time_level), (gst_single_queue_push_one),
4303 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
4304 (single_queue_overrun_cb), (single_queue_underrun_cb),
4305 (single_queue_check_full):
4306 Fix setting max-* properties after adding queues.
4307 Use IS_FILLED for checking visible items.
4308 Signal overrun if multiple queues overrun.
4309 Add extra debug output.
4310 Patch by: Wim Taymans <wim@fluendo.com>
4312 2007-06-21 Stefan Kost <ensonic@users.sf.net>
4314 * gst/gstelement.c: (gst_element_class_set_details_simple):
4316 * gst/gstutils.c: (gst_type_register_static_full):
4318 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
4319 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
4320 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
4321 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
4322 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
4323 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
4324 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
4325 * plugins/elements/gstidentity.c: (gst_identity_base_init):
4326 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
4327 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4328 (apply_buffer), (gst_queue_chain):
4329 * plugins/elements/gsttee.c: (gst_tee_base_init):
4330 * plugins/elements/gsttypefindelement.c:
4331 (gst_type_find_element_base_init),
4332 (gst_type_find_element_class_init):
4333 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
4334 API: add gst_type_register_static_full
4335 API: add gst_element_class_set_details_simple
4337 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
4339 * docs/pwg/advanced-types.xml:
4340 Fix typo in iana.org URI.
4342 2007-06-19 Andy Wingo <wingo@pobox.com>
4344 * tests/check/pipelines/simple-launch-lines.c
4345 (test_state_change_returns): Enable pull-mode tests now that
4346 basesink has been fixed.
4348 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
4349 Changed from gst_base_sink_is_prerolled, reversing the sense of
4350 the return value. Returns FALSE also if the sink is in pull mode,
4351 in which case it needs no preroll.
4352 (gst_base_sink_query, gst_base_sink_change_state): Update for
4353 needs_preroll change.
4354 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
4355 chaining up, in which we return SUCCESS directly if we activated
4356 in pull mode instead of ASYNC. Involves countering an async_start
4357 message sent before chaining up; not sure if this is correct, in
4358 an ideal world we only send async-start when activating in push
4361 * tests/check/pipelines/simple-launch-lines.c
4362 (test_state_change_returns): New test, partially disabled until
4365 2007-06-19 Wim Taymans <wim@fluendo.com>
4367 * plugins/elements/gstmultiqueue.c: (apply_buffer),
4368 (gst_multi_queue_sink_event):
4371 2007-06-19 Wim Taymans <wim@fluendo.com>
4373 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4374 (gst_bin_change_state_func), (bin_push_state_continue),
4375 (bin_handle_async_start), (bin_handle_async_done),
4376 (gst_bin_handle_message_func):
4377 Move the common code for posting state-change messages into
4379 Broadcast the state signal after we posted the messages.
4380 Mark the bin as busy when it's doing a state-change.
4381 Make sure async-start/done messages don't interfere with the bin's
4382 state when it's busy.
4383 After the state change, let the bin check which elements completed the
4384 state change while it was busy so that it can update its state.
4386 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
4388 * docs/random/release:
4389 Add a note about updating the doap file to the release checklist
4391 2007-06-18 Wim Taymans <wim@fluendo.com>
4393 * plugins/elements/gstmultiqueue.c: (apply_buffer),
4394 (gst_single_queue_push_one), (gst_multi_queue_chain),
4395 (gst_multi_queue_sink_event):
4396 Make sure we don't reference the buffer/event after we have given away
4397 ownership in the queue.
4399 2007-06-18 Wim Taymans <wim@fluendo.com>
4401 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
4402 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
4403 Update queue state _after_ adding the item in the queue because else we
4404 could end up being full without the element added yet.
4406 2007-06-18 Wim Taymans <wim@fluendo.com>
4408 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4409 (gst_bin_remove_func), (gst_bin_get_state_func),
4410 (gst_bin_element_set_state), (gst_bin_continue_func),
4411 (bin_push_state_continue), (bin_handle_async_start),
4412 (bin_handle_async_done), (gst_bin_handle_message_func):
4414 Immediatly commit the toplevel bin state when receiving an async-done
4415 message. This enables us to avoid spawning a thread to commit the state
4416 in some common cases and it also avoids some races.
4417 Avoid spawning a state thread when adding/removing async elements to a
4418 toplevel bin. Instead we immediatly update the bin state.
4419 Get rid of iterating all the children when getting the state in the bin
4420 because it is now always up-to-date.
4421 Fix bug where locked elements would always return _SUCCESS even it they
4422 returned NO_PREROLL before being locked.
4423 Fix the order of the state_change, async-start/done messages that was
4424 sometimes incorrect.
4425 Mark the state_dirty field as deprecated, we don't need it anymore as we
4426 are always up-to-date.
4428 * gst/gstelement.c: (gst_element_get_state_func),
4429 (gst_element_continue_state):
4430 Small debug inprovements.
4431 Return the previous element state return when nothing is pending instead
4432 of blindly returning SUCCESS.
4434 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
4436 Add a whole bunch of new testcases.
4438 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
4442 Update translations.
4444 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
4447 Fix typo in the docs.
4449 2007-06-15 Wim Taymans <wim@fluendo.com>
4451 * docs/libs/gstreamer-libs-sections.txt:
4452 Add docs for new methods.
4454 2007-06-15 Wim Taymans <wim@fluendo.com>
4456 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
4457 (gst_multi_queue_item_new):
4458 Don't use GSlice because we don't depend on >= 2.10 yet.
4460 2007-06-15 Wim Taymans <wim@fluendo.com>
4462 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
4463 (update_time_level), (apply_segment), (apply_buffer),
4464 (gst_single_queue_push_one), (gst_multi_queue_item_new),
4465 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
4466 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
4467 (single_queue_underrun_cb), (single_queue_check_full):
4468 Remove debug printf.
4470 2007-06-15 Wim Taymans <wim@fluendo.com>
4472 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
4473 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
4474 (gst_data_queue_set_flushing), (gst_data_queue_push),
4475 (gst_data_queue_pop), (gst_data_queue_drop_head),
4476 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
4477 * libs/gst/base/gstdataqueue.h:
4479 Added methods to get the current levels and to inform the queue that the
4480 'full' limits changed.
4482 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
4483 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
4484 (gst_single_queue_flush), (update_time_level), (apply_segment),
4485 (apply_buffer), (gst_single_queue_push_one),
4486 (gst_multi_queue_item_steal_object),
4487 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
4488 (gst_multi_queue_loop), (gst_multi_queue_chain),
4489 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
4490 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
4491 (gst_multi_queue_src_query), (single_queue_overrun_cb),
4492 (single_queue_underrun_cb), (single_queue_check_full),
4493 (gst_single_queue_new):
4494 Keep track of time in the queue by measuring the difference between
4495 running_time on input and output. This gives more accurate results and
4496 can compensate for segments correctly.
4497 Make a queue by default only 5 buffers deep. We will now increase the
4498 buffer size depending on the filledness of the other queues.
4499 Factor out commong flush code.
4500 Make sure we don't add additional refcounts to buffers when we can avoid
4502 Propagate GstFlowReturn differently.
4503 Use GSlice for intermediate GstMultiQueueItems.
4505 Resize queues on over and underruns based on filled level of other
4507 When checking if the queue is filled, prefer to measure in time if we
4508 can and fall back to bytes when no time is known.
4510 * plugins/elements/gstqueue.c:
4513 2007-06-15 Wim Taymans <wim@fluendo.com>
4515 * libs/gst/base/gstbasetransform.c:
4516 (gst_base_transform_sink_event):
4517 Work around the brokenness of the event vmethod in basetransform. Prefer
4518 to return TRUE when the subclass returned FALSE (meaning don't forward
4521 * libs/gst/base/gstbasetransform.h:
4524 2007-06-15 Wim Taymans <wim@fluendo.com>
4526 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
4527 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4528 (gst_base_src_default_query), (gst_base_src_get_range),
4529 (gst_base_src_start):
4530 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
4533 2007-06-15 Stefan Kost <ensonic@users.sf.net>
4535 * docs/pwg/advanced-types.xml:
4536 Added more formats to caps table.
4538 2007-06-15 Stefan Kost <ensonic@users.sf.net>
4540 * tools/gst-launch.c: (main):
4541 Remove crufy code. GOption does not need this workaround.
4543 2007-06-14 Stefan Kost <ensonic@users.sf.net>
4545 * libs/gst/controller/gstcontroller.c:
4546 (gst_controlled_property_set_interpolation_mode):
4547 Fix wrong getter for enums in controller.
4549 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
4551 * libs/gst/check/gstcheck.c: (gst_check_init):
4552 Intercept criticals and warnings in the Gst-Phonon log domain, so
4553 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
4556 2007-06-14 Edward Hervey <edward@fluendo.com>
4558 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
4559 Since this file doesn't include "gst.h" it will not go through the
4560 macros that disable GST_LOG if debugging was disabled.
4562 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
4564 * libs/gst/check/Makefile.am:
4565 * libs/gst/check/gstcheck.h:
4566 * pkgconfig/gstreamer-check-uninstalled.pc.in:
4567 * pkgconfig/gstreamer-check.pc.in:
4568 Ugly 'fix' for the controller unit test on the p5 bot: in
4569 fail_unless_equals_float() check whether the values are 'almost
4570 equal' by allowing a small absolute error, which should be good
4571 enough for our use cases (normal numbers and values close to 0).
4572 Proper fixage left to floating point arithmetic aficionados.
4574 2007-06-14 Stefan Kost <ensonic@users.sf.net>
4576 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
4577 (gst_base_sink_render_object), (gst_base_sink_get_position):
4578 Add two breaks thats where missing.
4580 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
4582 * docs/libs/gstreamer-libs-sections.txt:
4583 * libs/gst/check/gstcheck.h:
4584 API: add fail_unless_equals_float() and assert_equals_float().
4585 Add documentation for some of the macros.
4587 * tests/check/libs/controller.c: (GST_START_TEST):
4588 Use newly-added asserts.
4590 2007-06-14 Stefan Kost <ensonic@users.sf.net>
4592 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
4593 Show the caps change in the log to help spotting the case of not
4594 exactly matching caps.
4596 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
4598 * docs/pwg/building-boiler.xml:
4599 Fix typos, spotted by Thijs Vermeir (#447190).
4601 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
4603 * docs/plugins/tmpl/.cvsignore:
4604 Ignore file to keep the buildbots happy
4606 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
4608 * docs/plugins/Makefile.am:
4609 * docs/plugins/gstreamer-plugins-docs.sgml:
4610 * docs/plugins/gstreamer-plugins-sections.txt:
4611 Pull fdsink into the docs too.
4613 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
4615 * libs/gst/controller/gstinterpolation.c:
4616 Actually use the new functions with min/max checks for the trigger and
4617 none interpolation modes for get() and get_value_array() instead of
4620 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
4622 * libs/gst/controller/gstcontroller.c:
4623 (gst_controlled_property_free):
4624 Unset the minimum and maximum GValues when freeing the corresponding
4625 GstControllerProperty struct.
4627 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
4629 * libs/gst/controller/gstcontroller.c:
4630 (gst_controlled_property_new):
4631 * libs/gst/controller/gstcontrollerprivate.h:
4632 * libs/gst/controller/gstinterpolation.c:
4633 (gst_controlled_property_find_control_point_node),
4634 (interpolate_none_get), (interpolate_none_get_enum_value_array),
4635 (interpolate_none_get_string_value_array),
4636 (interpolate_trigger_get),
4637 (interpolate_trigger_get_enum_value_array),
4638 (interpolate_trigger_get_string_value_array):
4639 Protect against values larger or smaller than the minimum or maximum
4640 allowed value for the property when using values that can be compared.
4642 Optimize trigger interpolator a bit by taking the last requested value
4643 into account instead of always looping through the complete list.
4645 Fix coding style a bit, everywhere else we use "return foo" instead
4648 * tests/check/libs/controller.c: (GST_START_TEST),
4649 (gst_controller_suite):
4650 Add unit test for the protection against too large or too small
4653 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
4655 * docs/random/slomo/controller.txt:
4656 Add some thoughts about the future of the controller.
4658 2007-06-08 Wim Taymans <wim@fluendo.com>
4660 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4661 Don't overflow in retimestamping code.
4663 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
4665 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
4666 Use gst_util_guint64_to_gdouble for conversions.
4667 * win32/common/libgstreamer.def:
4668 Add new exported functions.
4670 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
4673 Small docs addition.
4675 2007-06-07 Stefan Kost <ensonic@users.sf.net>
4678 Remove that test line again.
4680 2007-06-07 Stefan Kost <ensonic@users.sf.net>
4683 Test commit mail sending.
4685 2007-06-07 Stefan Kost <ensonic@users.sf.net>
4688 Fix typo and test commit mail sending.
4690 2007-06-07 Stefan Kost <ensonic@users.sf.net>
4692 * tests/examples/controller/audio-example.c:
4693 Improve comment and test commit mail sending.
4695 2007-06-07 Wim Taymans <wim@fluendo.com>
4697 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
4698 (gst_bin_remove_func), (gst_bin_element_set_state),
4699 (bin_handle_async_start), (bin_handle_async_done),
4700 (gst_bin_handle_message_func):
4701 Add helper function to find messages.
4702 Generate the async-done messages together with the state change
4704 Small cleanups in handling toplevel bins.
4706 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
4708 * libs/gst/base/gstdataqueue.c:
4709 * libs/gst/base/gstdataqueue.h:
4710 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
4711 (gst_multi_queue_item_new), (gst_multi_queue_chain),
4712 (gst_multi_queue_sink_event):
4713 * tests/check/elements/multiqueue.c: (multiqueue_suite):
4714 Fix multiqueue leaking buffers and events when downstream or the
4715 queue are flushing. Make refcounting assumptions explicit and
4716 document them (shouldn't break existing code that uses it other than
4717 maybe leak miniobjects, but that already happens anyway). Add unit
4718 test for the most common flushing case. Fixes #423700.
4720 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
4722 * libs/gst/controller/gstcontroller.c:
4723 Clarify docs: The get_all, get_value_array(s) functions
4724 don't modify the GObject properties.
4726 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
4728 * libs/gst/controller/gstcontroller.c:
4729 (gst_controlled_property_set_interpolation_mode),
4730 (gst_controlled_property_prepend_default),
4731 (gst_controlled_property_new), (gst_controller_set_unlocked),
4732 (gst_controller_set), (gst_controller_set_from_list),
4733 (gst_controller_unset), (gst_controller_unset_all):
4734 * libs/gst/controller/gstcontrollerprivate.h:
4735 * libs/gst/controller/gstinterpolation.c:
4736 Factor out the 'set' logic into gst_controller_set_unlocked for the
4737 gst_controller_set and gst_controller_set_from_list functions.
4739 To make life of the interpolators easier always add a control point
4740 at timestamp zero with the default value.
4742 In the linear interpolator make things more obvious by better variable
4745 Implement cubic interpolation mode (by using a natural cubic spline)
4746 and map the quadratic interpolation mode to this too (as quadratic
4747 doesn't make much sense, see discussion on the list).
4749 * tests/check/libs/controller.c: (GST_START_TEST),
4750 (gst_controller_suite):
4751 Add unit test for the cubic interpolation mode and check everywhere
4752 if the interpolation mode could be set as expected.
4754 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
4756 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
4757 Don't use GLib-2.10 functions, we still depend on
4758 GLib-how-old-is-it-again-2.8.
4760 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
4762 * docs/gst/gstreamer-sections.txt:
4766 * gst/gstparamspecs.c: (_gst_param_fraction_init),
4767 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
4768 (_gst_param_fraction_values_cmp),
4769 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
4770 * gst/gstparamspecs.h:
4772 * tests/check/Makefile.am:
4773 * tests/check/gst/.cvsignore:
4774 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
4775 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
4776 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
4777 (GST_START_TEST), (gst_param_spec_suite):
4778 API: add GstParamSpecFraction, so elements can have fraction
4779 properties without lots of painful string parsing (#444648).
4781 2007-06-05 Wim Taymans <wim@fluendo.com>
4783 * gst/gstobject.c: (gst_object_class_init):
4784 Fix signal signature.
4787 Add small clarification in the api docs.
4789 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
4790 States are protected with object lock.
4792 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
4795 I should probably be listed as an author by now.
4797 * docs/random/release:
4798 Update the release doc
4800 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
4803 Make docs for gst_value_compare() mention return enums that
4806 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
4811 === release 0.10.13 ===
4813 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
4816 releasing 0.10.13, "With or without you"
4818 2007-05-25 Wim Taymans <wim@fluendo.com>
4820 * gst/gstbin.c: (bin_handle_async_done):
4821 Make sure that the child bin stops after completing the async state
4822 change so that the parent can continue the state change to PLAYING.
4825 2007-05-25 Wim Taymans <wim@fluendo.com>
4827 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4828 (unref_data), (gst_collect_pads_remove_pad),
4829 (gst_collect_pads_check_pads):
4830 Use additional refcounting to avoid crashes when dynamically adding and
4831 removing pads. Fixes #420206.
4833 2007-05-24 Wim Taymans <wim@fluendo.com>
4835 * tools/gst-launch.c: (event_loop):
4836 When buffering goes from a two digit to a single digit number, make sure
4837 to remove the old second digit by writing a blank over it.
4839 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
4841 * libs/gst/base/gstdataqueue.c:
4842 Eliminate tabs and trailing comma in enum list; fix some typos.
4844 2007-05-24 Wim Taymans <wim@fluendo.com>
4846 * tests/check/gst/gstbin.c: (GST_START_TEST):
4847 Allow refcount of 3 and 4 because some state thread might still be busy
4850 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
4852 * plugins/elements/Makefile.am:
4853 * plugins/elements/gstmultiqueue.h:
4854 * plugins/elements/gstqueue.h:
4855 These are not installed headers, no need for padding.
4857 2007-05-24 Wim Taymans <wim@fluendo.com>
4859 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4860 (gst_bin_continue_func):
4861 Enable latency for next release.
4862 Restore STATE_LOCK around recalc_state that was left out during the
4863 rewrite and could result in racy behaviour when _get_state and
4864 recalc_state are run concurrently. See #440463.
4866 2007-05-23 Wim Taymans <wim@fluendo.com>
4868 * tests/check/gst/gstsystemclock.c: (store_callback),
4870 Improve test_async_order to also work when both timers are already
4871 expired when we get scheduled to check it.
4873 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
4875 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
4876 (gst_bin_set_property), (gst_bin_get_property),
4877 (gst_bin_remove_func), (gst_bin_handle_message_func):
4879 'private' is a c++ keyword, let's not use that in header files,
4880 otherwise c++ compilers will throw a tantrum.
4882 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
4884 * plugins/elements/gstelements.c:
4885 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
4886 (gst_file_sink_get_current_offset):
4887 * plugins/indexers/gstindexers.c: (plugin_init):
4888 Use #ifdef for HAVE_XYZ for consistency.
4890 * tests/check/Makefile.am:
4891 * tests/check/elements/.cvsignore:
4892 * tests/check/elements/filesink.c: (setup_filesink),
4893 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
4894 Add some unit tests for filesink.
4896 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
4898 Patch by: Mark Nauwelaerts <manauw at skynet be>
4900 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4901 (gst_file_sink_query), (gst_file_sink_do_seek),
4902 (gst_file_sink_get_current_offset), (gst_file_sink_render):
4903 * plugins/elements/gstfilesink.h:
4904 Fix position reporting; rename data_written member to current_pos to
4905 reflect its real meaning (fixes #412648).
4907 2007-05-22 Edward Hervey <edward@fluendo.com>
4909 * docs/gst/gstreamer-sections.txt:
4910 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4911 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
4912 (gst_bin_remove_func), (gst_bin_handle_message_func):
4914 Add a property for bins that handle the state change of their childs.
4917 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
4919 * libs/gst/controller/gstinterpolation.c:
4920 Use an array of the correct type when using _get_value_array with
4921 linear interpolation.
4923 2007-05-22 Stefan Kost <ensonic@users.sf.net>
4925 * gst/gstelement.c (gst_element_requires_clock,
4926 gst_element_provides_clock, gst_element_request_pad,
4927 gst_element_class_set_details, gst_element_class_set_details_simple,
4928 gst_element_default_send_event, gst_element_abort_state,
4929 gst_element_continue_state, gst_element_set_state,
4930 gst_element_set_state_func, iterator_activate_fold_with_resync):
4931 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
4932 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
4933 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
4934 gst_pad_get_range, gst_pad_pull_range):
4935 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
4936 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
4937 GstPadActivateModeFunction, GstPadChainFunction,
4938 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
4939 GstPadFixateCapsFunction, GstPadTemplate):
4940 * gst/gstpipeline.c (gst_pipeline_change_state,
4941 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
4942 gst_pipeline_set_clock, gst_pipeline_auto_clock,
4943 gst_pipeline_get_delay):
4944 Whitespace and docs fixes.
4946 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
4948 * libs/gst/controller/gstinterpolation.c:
4949 (interpolate_trigger_get_enum_value_array),
4950 (interpolate_trigger_get_string_value_array):
4951 Add support for retrieving value arrays when using the trigger
4954 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
4956 * libs/gst/controller/gstcontroller.c:
4957 (gst_controller_get_value_array):
4958 * libs/gst/controller/gstcontroller.h:
4959 Clarify the docs of gst_controller_get_value_array(): The array where
4960 the values should be written to must be allocated as there seems to be
4961 no way to get the size of a random GType. This doesn't change any
4962 behaviour. Also fix some typos all over the place and remove an unused,
4963 commented function that is not necessary as g_object_set() could be
4965 * tests/check/libs/controller.c: (GST_START_TEST),
4966 (gst_controller_suite):
4967 Add unit test for gst_controller_get_value_array().
4969 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
4971 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4973 Disable part of the gst_buffer_try_new_and_alloc test, because
4974 it can happily succeed on 64-bit systems where there's more address
4977 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
4979 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
4980 Add unit test for the improved caps checking from bug #421543.
4982 2007-05-21 Wim Taymans <wim@fluendo.com>
4984 * docs/design/part-synchronisation.txt:
4987 * gst/gstbin.c: (gst_bin_query):
4988 * plugins/elements/gstqueue.c: (apply_segment):
4994 2007-05-21 Wim Taymans <wim@fluendo.com>
4996 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
4997 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
4998 (gst_pad_configure_src):
4999 Added simple version of improved caps checking. It was previously
5000 assumed that a setcaps function would check the validity of the caps but
5001 people prefer us to check caps against the template automatically.
5004 2007-05-21 Wim Taymans <wim@fluendo.com>
5006 * libs/gst/base/gstbasetransform.h:
5007 Fix macro for locking/unlocking the transform lock.
5009 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
5011 * docs/plugins/tmpl/.cvsignore:
5014 2007-05-18 Edward Hervey <edward@fluendo.com>
5016 * plugins/elements/gstqueue.c: (gst_queue_loop):
5017 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
5018 for the subtle art of warning a potentially blocking thread that it
5019 should check the source pad return value, and relay the information
5022 2007-05-18 Edward Hervey <edward@fluendo.com>
5024 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5025 Release the queue lock !
5027 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
5029 * docs/libs/gstreamer-libs-sections.txt:
5030 Add the two new controller functions to the appropiate places.
5032 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
5034 reviewed by: Stefan Kost <ensonic@users.sf.net>
5036 * libs/gst/controller/gstcontroller.c:
5037 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
5038 (_gst_controller_get_property), (_gst_controller_set_property),
5039 (_gst_controller_init), (_gst_controller_class_init):
5040 * libs/gst/controller/gstcontroller.h:
5041 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
5042 (gst_object_get_control_rate), (gst_object_set_control_rate):
5043 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
5044 Add API that provides sync suggestion timestamps for elements that
5045 call gst_object_sync_values() from which those elements can subdivide
5046 their processing loop to get the best results for the controlled
5047 properties. For now it just suggests last_sync + control_rate as
5048 new timestamp but this will be improved in the future.
5050 While doing that change the control-rate property to a GstClockTime
5051 from guint and change it's meaning from samples to nanoseconds as
5052 the GstController doesn't know anything about sampling rate. Strictly
5053 speaking this breaks ABI but as the control-rate property didn't do
5054 anything in the past and as such couldn't be used this should be no
5057 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
5059 reviewed by: Stefan Kost <ensonic@users.sf.net>
5061 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
5062 (gst_controller_unset_all):
5063 * libs/gst/controller/gstcontrollerprivate.h:
5064 * libs/gst/controller/gstinterpolation.c:
5065 (gst_controlled_property_find_control_point_node):
5066 Save last synced value from the list to continue searching from there
5067 in future syncs. This speeds everything up a bit.
5069 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
5071 reviewed by: Stefan Kost <ensonic@users.sf.net>
5073 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
5074 (gst_control_point_find), (gst_controlled_property_new),
5075 (gst_control_point_free), (gst_controlled_property_free),
5076 (gst_controller_set), (gst_controller_set_from_list),
5077 (gst_controller_unset), (gst_controller_unset_all),
5078 (gst_controller_sync_values):
5079 * libs/gst/controller/gstcontroller.h:
5080 * libs/gst/controller/gstcontrollerprivate.h:
5081 * libs/gst/controller/gstinterpolation.c:
5082 (gst_controlled_property_find_control_point_node),
5083 (interpolate_none_get), (interpolate_trigger_get):
5084 Add a new private GstControlPoint struct which "inherits" from
5085 GstTimedValue to allow different interpolators to store internal
5086 values next to each control point. From the outside everything is
5087 still a GstControlPoint so we don't loose binary compatibility.
5088 Also fixup all the GValue handling to not leak GValues or list nodes.
5089 * tests/check/libs/controller.c: (GST_START_TEST):
5090 Free the list nodes and GValues in the controller_misc test.
5092 2007-05-17 Edward Hervey <edward@fluendo.com>
5097 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
5099 * gst/gstplugin.c: (gst_plugin_load_file):
5100 If we fail to load a plugin because of unresolved symbols or missing
5101 libraries and spew a warning to stderr, we may just as well mention
5102 which plugin it was that failed to load.
5104 2007-05-13 David Schleef <ds@schleef.org>
5106 * docs/Makefile.am: the gtk-doc makefile snippet correctly
5107 handles the case when ENABLE_GTK_DOC is false, and installs
5108 the prebuilt documentation. So gtk-doc subdirs are
5109 unconditionally enabled. Fixes: #349099.
5111 2007-05-13 David Schleef <ds@schleef.org>
5113 * gst/gstutils.h: Reword some documentation.
5115 2007-05-12 David Schleef <ds@schleef.org>
5117 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
5118 do anything with the passed "module" parameter, so remove it.
5119 Allows removal of additional vestigal code.
5121 2007-05-12 David Schleef <ds@schleef.org>
5124 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
5125 Switch to using g_stat() because it's more portable.
5127 2007-05-12 David Schleef <ds@schleef.org>
5130 Add GST_DISABLE_OPTION_PARSING, in order to disable option
5131 parsing for embedded systems.
5132 * gst/gstelementfactory.c:
5133 Allow gst_element_register() to be called with plugin==NULL.
5134 Did nobody notice that static elements were broken?
5136 2007-05-12 Wim Taymans <wim@fluendo.com>
5138 * tools/gst-launch.c: (event_loop):
5139 Give more interesting info when buffering starts and stops.
5140 Fix case where buffering starts but we fail to update the buffering flag
5141 because the target state is not PLAYING.
5143 2007-05-12 Wim Taymans <wim@fluendo.com>
5145 * plugins/elements/gstqueue.c: (gst_queue_init),
5146 (gst_queue_finalize), (update_time_level), (apply_segment),
5147 (apply_buffer), (gst_queue_locked_flush),
5148 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
5149 (gst_queue_handle_sink_event), (gst_queue_chain),
5150 (gst_queue_push_one), (gst_queue_loop):
5151 * plugins/elements/gstqueue.h:
5152 Refactor an cleanup queue a bit.
5153 Do better time level calculations that also work when the srcpad is not
5155 Remove some unneeded debug lines.
5157 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
5158 Added testcase for time level measurement.
5159 Try to make some stuff more racefree.
5161 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
5163 * gst/gsturi.c: (gst_element_make_from_uri):
5164 Don't leak plugin feature.
5166 * tests/check/Makefile.am:
5167 * tests/check/gst/.cvsignore:
5168 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
5169 Add brain-dead unit test.
5171 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
5173 Patch by: Jeroen Wouters <woutersj at gmail com>
5175 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
5176 Treat protocol strings in a case-insensitive way (#437563).
5178 2007-05-11 Michael Smith <msmith@fluendo.com>
5180 * gst/gstplugin.c: (gst_plugin_load_file):
5181 * gst/gstregistry.c: (gst_registry_scan_path_level):
5182 Don't print a g_warning for any failure to load a shared object.
5183 Instead, push this down into gstplugin.c, and warn _only_ if we
5184 failed to open the module (i.e. failure to link).
5185 Avoids warnings on normal, working, non-plugin .so files.
5187 2007-05-11 Stefan Kost <ensonic@users.sf.net>
5189 * gst/gstplugin.c (gst_plugin_load_file):
5190 * gst/gstregistry.c (GST_CAT_DEFAULT,
5191 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
5192 Print a g_warning if there was an error when loading a plugins during
5193 registry scan. The shuld help beginners starting with gst-plugin
5196 2007-05-10 Wim Taymans <wim@fluendo.com>
5198 * plugins/elements/gstqueue.c: (gst_queue_class_init),
5199 (update_time_level), (gst_queue_locked_flush),
5200 (gst_queue_handle_sink_event), (gst_queue_chain),
5201 (gst_queue_push_one), (gst_queue_loop):
5202 * plugins/elements/gstqueue.h:
5203 Be smarter when calculating the current amount of data in the queue by
5204 measuring the difference between start and end timestamps (in running
5205 time) inside the queue. Fixes #432876.
5206 API: GstQueue::pushing to notify elements that we are pushing data again
5207 since the running signal is rather broken for this purpose.
5209 2007-05-10 Stefan Kost <ensonic@users.sf.net>
5211 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
5212 gst_queue_base_init, gst_queue_init):
5215 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
5217 * win32/common/libgstreamer.def:
5218 Add new exported functions.
5219 * win32/vs6/grammar.dsp:
5220 Use grammar pre-generated files.
5222 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
5224 Based on patch by: Peter Kjellerstedt <pkj at axis com>
5227 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
5229 * gst/gstutils.c: (gst_parse_bin_from_description):
5231 Maintain API and ABI when --disable-parse is used. Now that
5232 we have an appropriate error code, we can just return NULL and the
5233 appropriate error when gst_parse_launch() is used despite it having
5234 been disabled (#342564).
5236 * tests/check/Makefile.am:
5237 * tests/check/pipelines/.cvsignore:
5238 * tests/check/pipelines/parse-disabled.c:
5239 Make sure these functions exist and return NULL plus a GError when
5240 --disable-parse is used.
5242 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
5244 * tests/benchmarks/complexity.c: (main):
5245 * tests/benchmarks/mass-elements.c: (main):
5246 Set a good example and don't leak messages.
5248 2007-05-06 Stefan Kost <ensonic@users.sf.net>
5250 * docs/gst/Makefile.am:
5251 * docs/libs/Makefile.am:
5252 Correct fixxrefs options.
5254 * docs/plugins/Makefile.am:
5255 * docs/plugins/gstreamer-plugins-docs.sgml:
5256 * docs/plugins/gstreamer-plugins-sections.txt:
5257 * plugins/elements/Makefile.am:
5258 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
5259 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
5260 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
5261 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
5262 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
5263 _GstCapsFilterClass, trans_class):
5264 * plugins/elements/gstelements.c (name, rank, type, _elements):
5265 * plugins/elements/gstidentity.c
5266 (gst_identity_check_imperfect_timestamp,
5267 gst_identity_check_imperfect_offset):
5268 Document capsfilter and add doc-blurb to identity.
5270 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
5272 * libs/gst/controller/gstcontroller.c:
5273 (gst_controlled_property_set_interpolation_mode):
5274 * libs/gst/controller/gstinterpolation.c:
5275 Don't crash if someone tries to set an interpolation mode that
5276 is invalid or that isn't supported yet. Fixes #422295.
5278 * tests/check/libs/controller.c: (GST_START_TEST),
5279 (gst_controller_suite):
5280 Add a test case for the above.
5282 2007-05-03 Edward Hervey <edward@fluendo.com>
5284 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5285 Properly set the last_stop position on GstSegment. This will only happen
5286 if there is a buffer to push out.
5288 2007-05-03 Wim Taymans <wim@fluendo.com>
5290 * libs/gst/base/gstbasetransform.c:
5291 (gst_base_transform_buffer_alloc):
5292 always_in_place does not mean that the sink and source caps are the
5293 same! Make sure we don't blindly proxy the buffer_alloc in this case.
5295 2007-05-03 Wim Taymans <wim@fluendo.com>
5297 * docs/libs/gstreamer-libs-sections.txt:
5298 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5299 (gst_base_src_default_query), (gst_base_src_get_range):
5300 * libs/gst/base/gstbasesrc.h:
5301 API: gst_base_src_query_latency(). Added method so that subclasses can
5302 easily get the latency values of the base source class.
5304 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
5306 * tools/gst-inspect.c (print_implementation_info):
5309 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
5311 * tools/Makefile.am:
5312 * tools/gst-launch.1.in:
5313 Don't create a customised man page based on the host architecture,
5314 describe the default registry path generically. That way the man
5315 page is the same for all architectures and packagers have one
5316 multilib issue less to deal with. Fixes #434926.
5318 2007-05-02 Wim Taymans <wim@fluendo.com>
5321 Fix documentation as spotted by rg on IRC.
5323 2007-04-29 Stefan Kost <ensonic@users.sf.net>
5326 Improve docs for gst_element_{link,unlink}.
5328 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
5330 * docs/design/part-events.txt:
5331 * docs/design/part-overview.txt:
5335 * libs/gst/base/gstbasesink.c:
5336 Typo fixes; minor docs addition.
5338 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
5340 * docs/gst/gstreamer-sections.txt:
5341 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
5342 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
5344 API: Add gst_uri_protocol_is_supported(), which checks if a sink
5345 or src that supports a given URI protocol exists.
5347 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
5349 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5350 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5351 Set the location to NULL if "file://" is set as URI. Otherwise
5352 some random previous URI would still be set if "file://" is
5353 set on an already used filesink/filesrc.
5355 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
5357 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5358 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5359 Special case the "file://" URI as as this is used by some
5360 applications to test with gst_element_make_from_uri if there's
5361 an element that supports the URI protocol.
5362 Also move the g_path_is_absolute() check for the location part
5363 of the URI to also check this for "file://localhost/bla" URIs.
5365 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
5367 * docs/gst/gstreamer-sections.txt:
5368 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
5370 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
5372 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
5374 2007-04-26 Stefan Kost <ensonic@users.sf.net>
5376 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
5377 (gst_registry_binary_load_pad_template),
5378 (gst_registry_binary_load_plugin),
5379 (gst_registry_binary_read_cache):
5380 * gst/gstregistrybinary.h:
5381 Implement no-mmap alternative for registry reading. Do code cleanups.
5382 Add more comments about avoiding strdups for all text data. Comments
5385 2007-04-25 Stefan Kost <ensonic@users.sf.net>
5387 * gst/gstregistrybinary.h (GstBinaryPluginElement,
5388 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
5389 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
5390 Comment structs and reformat to fix the build (that stuff should go
5391 into a priv. header).
5393 2007-04-25 Stefan Kost <ensonic@users.sf.net>
5395 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
5396 (gst_registry_binary_load_feature):
5397 * gst/gstregistrybinary.h:
5398 Refactor so that we can implement multiple features. Add support for
5399 TypeFindFactory features.
5401 2007-04-24 Stefan Kost <ensonic@users.sf.net>
5403 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
5406 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
5408 2007-04-23 Stefan Kost <ensonic@users.sf.net>
5410 * gst/gstbin.c: (gst_bin_element_set_state),
5411 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
5412 (bin_handle_async_done), (gst_bin_handle_message_func):
5413 Fix build with --gst-disable-gst-debug
5415 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
5417 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
5418 Make sure streaming has finished before calling the ::stop() vfunc,
5419 since that vfunc might clear state which is being used in the
5420 streaming thread. This fixes a race that caused crashes in
5421 audioresample when shutting down a pipeline (#420106).
5423 2007-04-20 Stefan Kost <ensonic@users.sf.net>
5425 * docs/gst/gstreamer-sections.txt:
5426 That was one byte missing.
5428 2007-04-20 Stefan Kost <ensonic@users.sf.net>
5431 * docs/gst/gstreamer-sections.txt:
5433 * gst/gstconfig.h.in:
5434 * gst/gstobject.c: (gst_object_class_init),
5435 (gst_signal_object_class_init):
5437 2nd attempt to have a xml-less build as a joined effort of #413123
5440 2007-04-20 Stefan Kost <ensonic@users.sf.net>
5442 * docs/design/draft-tagreading.txt:
5443 Added open issues/thoughts to draft.
5445 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
5447 * gst/parse/grammar.tab.pre.c:
5448 * gst/parse/grammar.tab.pre.h:
5449 * gst/parse/lex._gst_parse_yy.pre.c:
5450 Update the prebuild parser sources.
5452 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
5454 * gst/parse/Makefile.am:
5455 And now fix the building of the flex sources. Now everything should
5458 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
5460 * gst/parse/Makefile.am:
5461 Now hopefully fix the build failures by setting proper rule
5462 dependencies and moving instead of copying.
5464 2007-04-19 Stefan Kost <ensonic@users.sf.net>
5466 * tests/benchmarks/complexity.gnuplot:
5467 * tests/benchmarks/complexity.scm:
5468 * tests/benchmarks/mass-elements.gnuplot:
5469 * tests/benchmarks/mass-elements.scm:
5470 Total licensification.
5472 2007-04-19 Stefan Kost <ensonic@users.sf.net>
5474 * gst/parse/Makefile.am:
5475 Fix the build by correcting the rule that gave wrong files to flex.
5477 2007-04-19 Stefan Kost <ensonic@users.sf.net>
5479 * tests/benchmarks/complexity.c:
5480 * tests/benchmarks/mass-elements.c:
5481 Change licence to LGPL as granted by Benjamin and Andy.
5483 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
5485 * gst/parse/Makefile.am:
5486 Add correct grammar.tab.h dependency if compiling without new enough
5487 flex. Fixes #431150.
5489 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
5491 * gst/parse/Makefile.am:
5492 Fix typo and use outdated sources if the flex/bison sources are newer
5493 than the pregenerated ones but flex is too old. Print a warning in
5494 that case. This should fix the build on the build bot.
5496 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
5498 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
5499 * gst/parse/Makefile.am:
5500 * gst/parse/grammar.y:
5501 * gst/parse/parse.l:
5502 Make the parser reentrant and recursively callable. This requires flex
5503 >= 2.5.31, for older versions pregenerated sources are used as we
5504 can't bump the build dependency. Finally fixes #349180.
5506 * gst/gstparse.c: (gst_parse_launch):
5507 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
5510 * docs/gst/Makefile.am:
5511 * docs/gst/Makefile.am:
5512 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
5513 (__gst_parse_strfree), (__gst_parse_link_new),
5514 (__gst_parse_link_free), (__gst_parse_chain_new),
5515 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
5516 (gst_parse_element_set), (gst_parse_free_link),
5517 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
5518 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
5519 (_gst_parse_launch):
5520 * gst/parse/grammar.tab.pre.h:
5521 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
5522 (yy_get_previous_state), (yy_try_NUL_trans), (input),
5523 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
5524 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
5525 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
5526 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
5527 (_gst_parse_yypop_buffer_state),
5528 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
5529 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
5530 (yy_fatal_error), (_gst_parse_yyget_extra),
5531 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
5532 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
5533 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
5534 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
5535 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
5536 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
5537 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
5538 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
5539 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
5540 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
5541 (_gst_parse_yyfree):
5542 If the installed flex version is too old use pre-generated parser
5543 sources. These pre-generated parser sources are always updated when
5544 the actual flex/bison sources change but require everybody who wants
5545 to change something in the parser to have flex >= 2.5.31 installed.
5547 2007-04-18 Stefan Kost <ensonic@users.sf.net>
5549 * common/m4/gst-gettext.m4:
5550 * gst/gst-i18n-lib.h:
5551 Make --disable-nls to work
5553 2007-04-17 Wim Taymans <wim@fluendo.com>
5555 * gst/gstconfig.h.in:
5556 Revert previous change that broke the build.
5558 2007-04-17 Stefan Kost <ensonic@users.sf.net>
5562 * gst/gstconfig.h.in:
5563 Drop libxml2 dependency when building with
5564 --enable-binary-registry --disable-loadsave
5566 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
5568 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
5569 (gst_registry_binary_read_cache):
5570 * gst/gstregistrybinary.h:
5571 Remove unnecessary <sys/mman.h> include which broke the win32 build
5572 with MingW; move includes from header file to .c file, even if the
5573 header file isn't installed; use g_strerror() where UTF-8 strings
5574 are expected, such as in GST_DEBUG messages.
5576 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
5578 * docs/libs/gstreamer-libs-sections.txt:
5579 Remove bogus addition for API I didn't end up keeping.
5581 * libs/gst/base/gstbasesrc.h:
5582 Mention Since: 0.10.13 in the documentation.
5584 Add the API keyword to the previous ChangeLog entry.
5586 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
5588 * docs/libs/gstreamer-libs-sections.txt:
5589 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5590 (gst_base_src_default_prepare_seek_segment),
5591 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
5592 * libs/gst/base/gstbasesrc.h:
5593 Allow basesrc derived classes to execute seeks in other formats
5594 by providing a prepare_seek_segment vmethod. Sub-classes can choose
5595 to prepare the GstSegment in any format that their perform_seek method
5596 will be able to understand. The default implementation provides the
5597 old behaviour of attempting to convert the seek offsets to the
5598 configured native format.
5600 API: basesrc::prepare_seek_segment vmethod.
5602 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
5604 * gst/gstelement.c: (gst_element_get_state_func):
5605 Don't output the same debug statement twice.
5607 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
5608 (gst_adapter_peek), (gst_adapter_take_buffer):
5609 Optimise the case where we have buffers at the head of the queue that
5610 can be joined quickly (because they're contiguous sub-buffers) by
5611 merging them together rather than copying data out into new memory.
5613 * gst/parse/grammar.y:
5614 * tests/check/pipelines/parse-launch.c:
5615 Fix a leak in an error path for parse_launch, and add a check
5616 for it to the testsuite.
5618 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
5620 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
5621 Don't deadlock when releasing a pad - gst_pad_set_active may try
5622 and take the multiqueue lock too.
5624 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
5626 * gst/gsterror.c: (_gst_core_errors_init):
5628 API: add GST_CORE_ERROR_DISABLED (#392804).
5630 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
5632 * docs/faq/gst-uninstalled:
5633 don't get empty paths on the PATH variables
5634 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
5635 Don't format for the uncommon terminal width of 84 characters.
5637 2007-04-06 Wim Taymans <wim@fluendo.com>
5639 * gst/gstpipeline.c: (reset_stream_time),
5640 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
5641 Only try to select a different pipeline clock when we went back to
5642 PAUSED and not when we merely got flushed.
5644 2007-04-05 Michael Smith <msmith@fluendo.com>
5646 * tools/gst-launch.1.in:
5647 fractions are better supported in gstreamer than ractions, so
5648 suggest using those.
5650 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
5652 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
5656 Added Danish translation.
5658 2007-04-05 Wim Taymans <wim@fluendo.com>
5660 * libs/gst/base/gstbasesink.c:
5661 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
5662 Fix leak caused when refusing newsegment after EOS.
5664 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5665 (gst_fake_sink_init), (gst_fake_sink_set_property),
5666 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
5667 (gst_fake_sink_render), (gst_fake_sink_change_state):
5668 * plugins/elements/gstfakesink.h:
5669 Add num-buffers property to make the element generate EOS after a
5670 configurable amount of buffers.
5671 API: fakesink::num-buffers property.
5673 * tests/check/elements/fakesink.c: (GST_START_TEST),
5675 Fix GstBus leak in test.
5676 Test for fakesink num-buffers.
5678 2007-04-05 Wim Taymans <wim@fluendo.com>
5680 * libs/gst/base/gstbasesink.c:
5681 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5682 (gst_base_sink_change_state):
5683 Don't accept anything after an EOS, return UNEXPECTED instead.
5685 * tests/check/elements/fakesink.c: (GST_START_TEST),
5687 Unit test for new EOS behaviour.
5689 2007-04-05 Wim Taymans <wim@fluendo.com>
5691 * gst/gstelement.c: (gst_element_get_request_pad):
5692 Make padtemplates also work when they don't contain %s or %d.
5694 2007-04-05 Wim Taymans <wim@fluendo.com>
5696 * docs/gst/gstreamer-sections.txt:
5697 * gst/gstclock.c: (gst_clock_adjust_unlocked),
5698 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
5700 Improve _adjust_unlocked() so that it overflows less.
5701 Add gst_clock_unadjust_unlocked to convert from external time to
5702 internal time based on calibration.
5703 Add some more debug.
5704 API: GstClock::gst_clock_unadjust_unlocked()
5706 2007-04-03 Wim Taymans <wim@fluendo.com>
5708 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
5710 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
5711 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
5712 when releasing sink pad. Fixes #425400.
5714 2007-04-02 Stefan Kost <ensonic@users.sf.net>
5716 * docs/random/ensonic/dynlink.txt:
5717 More work on proposal for new core api.
5719 * docs/libs/gstreamer-libs-sections.txt:
5720 * libs/gst/base/gstbasetransform.h:
5721 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
5723 * libs/gst/controller/gstcontroller.c:
5724 (on_object_controlled_property_changed),
5725 (gst_controller_sync_values),
5726 (gst_controller_set_interpolation_mode):
5727 * libs/gst/controller/gstcontroller.h:
5728 Less verbose logging add docs for unimplemented parts and correctly
5729 return when using unavailable parts.
5731 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
5733 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
5734 Move all the debug to the CLOCK category, and associate it with
5737 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
5739 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
5740 Make take_buffer a bit quicker by removing redundant checks
5741 caused by calling gst_adapter_take.
5743 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
5745 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
5748 * tests/check/Makefile.am:
5749 * tests/check/elements/.cvsignore:
5750 * tests/check/elements/multiqueue.c: (setup_multiqueue),
5751 (GST_START_TEST), (multiqueue_suite):
5752 Add some dead simple unit tests for the 'multiqueue' element
5753 (some bits don't work yet and are disabled for now).
5755 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
5757 * gst/gstelement.c: (gst_element_get_request_pad),
5758 (gst_element_class_get_request_pad_template):
5759 Make gst_element_get_request_pad() create request pads only for
5760 request pad templates and not for, say, sometimes pad templates.
5762 2007-03-28 Stefan Kost <ensonic@users.sf.net>
5764 * docs/design/draft-klass.txt:
5765 Add example that needs more thinking.
5767 * docs/design/draft-missing-plugins.txt:
5768 More thoughts about wrapper plugins.
5770 * docs/random/ensonic/embedded.txt:
5771 * docs/random/ensonic/profiling.txt:
5774 2007-03-25 Wim Taymans <wim@fluendo.com>
5776 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
5777 (gst_base_src_loop):
5778 Only push the segment events in the PLAYING state for live sources.
5780 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
5782 * gst/gstpipeline.c: (gst_pipeline_change_state):
5783 Modify the clock distribution path in PAUSED->PLAYING so that we
5784 never attempt to choose a new clock unless we're actually leaving
5785 the PAUSED state for the first time. This prevents choosing a
5786 different clock when the state_change gets called for a 2nd time due
5787 to some element doing an async state change.
5789 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
5791 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
5792 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
5793 (gst_pad_chain_unchecked), (gst_pad_push):
5794 Revert last commit. This needs some more thoughts.
5796 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
5798 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
5799 (gst_pad_chain_unchecked), (gst_pad_push):
5800 Check in set_caps if the caps are compatible with the pad and remove
5801 two functions that are redundant now. Fixes #421543.
5803 2007-03-22 Wim Taymans <wim@fluendo.com>
5805 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5806 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
5807 Unref some more to make valgrind happy.
5809 2007-03-22 Wim Taymans <wim@fluendo.com>
5811 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
5812 (gst_system_clock_id_wait_jitter),
5813 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5814 Fix anoying regression that survived a few releases. When adding an
5815 async entry while blocking on a sync entry, the sync entry will unblock
5816 but still be busy, so it should continue to wait instead of returning
5818 Add some comments here and there.
5820 * tests/check/gst/gstsystemclock.c: (mixed_thread),
5821 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
5822 Add testcase for this.
5824 2007-03-22 Wim Taymans <wim@fluendo.com>
5826 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5827 Handle errors from the clock sync better, only UNSCHEDULED indicates a
5828 WRONG_STATE and can silently pause the task. All other cases should
5831 2007-03-22 Wim Taymans <wim@fluendo.com>
5833 Patch by: Ville Syrjala <syrjala at sci dot fi>
5835 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
5836 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
5839 2007-03-21 Michael Smith <msmith@fluendo.com>
5841 * docs/pwg/advanced-types.xml:
5842 Fix some errors in the typefinding docs pointed out on irc.
5844 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
5846 * libs/gst/base/gstbasesrc.c:
5847 Clarify FIXME comment in the face of having added unlock_stop()
5849 2007-03-21 Wim Taymans <wim@fluendo.com>
5851 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
5852 Prepare for release where we warn against possible app breakage in the
5853 case of live pipelines along with an env var to enable/disable live
5854 preroll mode (GST_COMPAT=[no-]live-preroll).
5856 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5858 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
5859 So we should use correct constants for checking for None offset.
5861 2007-03-20 Wim Taymans <wim@fluendo.com>
5863 * docs/design/part-block.txt:
5864 Mention the fact that the newly switched element should be set to at
5867 2007-03-20 Wim Taymans <wim@fluendo.com>
5870 Fix compilation with registry disabled as spotted by Saur.
5872 2007-03-20 Wim Taymans <wim@fluendo.com>
5874 Patch by: Olivier Crete <tester at tester dot ca>
5876 * gst/gstelement.c: (gst_element_sync_state_with_parent):
5877 Look at the pending state too when syncing the element state to the
5878 parent. Fixes #420133.
5880 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
5882 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
5883 (gst_base_sink_change_state):
5884 * libs/gst/base/gstbasesink.h:
5885 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5886 (gst_base_src_default_event), (gst_base_src_unlock_stop),
5887 (gst_base_src_deactivate):
5888 * libs/gst/base/gstbasesrc.h:
5889 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
5890 for sub-classes to correctly clear any state they set trying to
5891 unlock, such as clearing out unlock commands from a command fd.
5892 API: basesrc::unlock_stop
5893 API: basesink::unlock_stop
5895 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
5896 (gst_fd_sink_render), (gst_fd_sink_unlock),
5897 (gst_fd_sink_unlock_stop):
5898 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
5899 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
5900 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
5902 Implement unlock_stop in fdsrc and fdsink.
5903 Implement seeking in fdsrc when a seekable fd is passed, as in
5904 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
5906 2007-03-19 Wim Taymans <wim@fluendo.com>
5908 Patch by: Evan Nemerson <evan at coeus dash group dot com>
5910 * gst/gstelement.c: (gst_element_class_init):
5911 Fix pad-added and pad-removed signal signatures so that the pad type is
5912 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
5914 2007-03-19 Wim Taymans <wim@fluendo.com>
5916 * docs/gst/gstreamer-sections.txt:
5917 Add new element field and method.
5919 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5920 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
5921 (gst_bin_recalc_state), (gst_bin_get_state_func),
5922 (gst_bin_element_set_state), (gst_bin_change_state_func),
5923 (gst_bin_continue_func), (bin_bus_handler),
5924 (bin_push_state_continue), (bin_handle_async_start),
5925 (bin_handle_async_done), (gst_bin_handle_message_func):
5926 Make async state changes a bit smarter by using new ASYNC_START and
5927 ASYNC_DONE messages. This reduces the number of times we run the state
5928 recalculation thread.
5929 Don't change state of element with a pending ASYNC_START message.
5930 Deprecate STATE_DIRTY messages.
5932 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
5933 (gst_element_get_state_func), (gst_element_continue_state),
5934 (gst_element_lost_state), (gst_element_set_state_func),
5935 (gst_element_change_state):
5937 Keep the state that was last set by the app in a new element field.
5938 Don't allow state changes when handling an element event.
5939 Post ASYNC_START and ASYNC_DONE messages.
5940 Change lost_state so that we go to PAUSED and wait for the parent to set
5941 us to PLAYING again (so latency calculation can be performed)
5942 Export gst_element_change_state() method so that subclasses can use it.
5943 API: gst_element_change_state()
5944 API: GST_STATE_TARGET
5946 * gst/gstpipeline.c: (gst_pipeline_class_init),
5947 (reset_stream_time), (gst_pipeline_change_state),
5948 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
5949 Using the new ASYNC_START message we can reset the base_time when
5950 needed. This can then be used to implement base_time redistribution in
5951 flushing seeks so that we can remove the explicit seek handling.
5952 Perform latency query and configuration when going to PLAYING.
5954 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5955 (gst_base_sink_query), (gst_base_sink_change_state):
5956 Post new ASYNC_START/ASYNC_DONE messages.
5958 * tests/check/generic/sinks.c: (GST_START_TEST):
5959 Fix test because the bin will not set the async element to PLAYING right
5962 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
5963 Make the message check a little stronger.
5964 Handle ASYNC messages.
5966 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
5967 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
5968 Expect ASYNC_DONE messages.
5970 2007-03-19 Wim Taymans <wim@fluendo.com>
5972 * docs/gst/gstreamer-sections.txt:
5973 * gst/gstmessage.c: (gst_message_new_async_start),
5974 (gst_message_new_async_done), (gst_message_parse_info),
5975 (gst_message_parse_async_start):
5977 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
5980 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
5982 * tools/gst-inspect.c:
5983 (print_plugin_automatic_install_info_codecs):
5984 Now that we don't check for the 'Codec' keyword any longer in the
5985 klass, we shouldn't spew a warning if the klass isn't a decoder or
5986 encoder (since it might be a Source/Network, for example).
5988 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
5990 * tools/gst-inspect.c:
5991 (print_plugin_automatic_install_info_codecs):
5992 Don't require decoder/demuxer/depayloader elements or
5993 encoder/muxer/paylader elements to have 'Codec' as part of their
5994 factory class string when introspecting a plugin's capabilities.
5995 draft-klass.txt mentions that it might be removed in future, and
5996 flump3dec doesn't have it as part of its class string, so chances
5997 are others might also not have it.
5999 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
6021 Update translations from translation project
6023 2007-03-14 Stefan Kost <ensonic@users.sf.net>
6025 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
6026 (gst_child_proxy_set_property):
6027 Invert precondition check to be alike the ones in the mimiced gobject
6030 2007-03-13 Stefan Kost <ensonic@users.sf.net>
6032 * docs/design/draft-tagreading.txt:
6033 * docs/random/ensonic/audiobaseclasses.txt:
6034 Do some Architect work.
6036 * gst/gstobject.c: (gst_object_set_name):
6040 Add docs that point from gst_pad_get_range to gst_pad_pull_range
6042 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
6044 * gst/gstsystemclock.c: (gst_system_clock_init),
6045 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
6046 Defer starting the async system clock thread until the first async
6047 wait is scheduled. Fixes #414986.
6049 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
6051 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
6052 (gst_single_queue_free):
6053 Fix small leak (free GstSingleQueue structure too, not only contents).
6055 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
6057 * gst/gstbin.c:(gst_bin_add):
6058 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
6059 * win32/common/libgstbase.def:
6060 * win32/common/libgstreamer.def:
6061 Add new exported functions.
6063 2007-03-09 Wim Taymans <wim@fluendo.com>
6065 * docs/plugins/gstreamer-plugins-sections.txt:
6068 2007-03-09 Wim Taymans <wim@fluendo.com>
6070 * docs/gst/gstreamer-sections.txt:
6071 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
6073 Add metadata copy functions. Fixes #393099.
6074 API: gst_buffer_copy_metadata()
6076 * gst/gstutils.c: (gst_buffer_stamp):
6077 * libs/gst/base/gstbasetransform.c:
6078 (gst_base_transform_prepare_output_buffer):
6079 Use new metadata copy functions.
6081 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
6083 * plugins/elements/gstidentity.c: (gst_identity_class_init),
6084 (gst_identity_init), (gst_identity_check_perfect),
6085 (gst_identity_check_imperfect_timestamp),
6086 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
6087 (gst_identity_set_property), (gst_identity_get_property):
6088 * plugins/elements/gstidentity.h:
6089 Separate out check-imperfect-timestamp and check-imperfect-offset.
6090 Put back check-perfect as it was to keep compatibility.
6092 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
6094 * gst/gstelement.c: (gst_element_dispose):
6095 There's no need to warn if VOID_PENDING is not NONE here, as
6096 long as the state is NULL it's ok, and that's checked immediately
6099 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
6101 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6102 Fix check for perfect stream to ignore buffers with -1
6103 offsets/offset ends when checking data contiguity.
6105 2007-03-08 Wim Taymans <wim@fluendo.com>
6107 * tools/gst-launch.c: (event_loop):
6108 Print INFO messages.
6110 2007-03-08 Wim Taymans <wim@fluendo.com>
6112 * libs/gst/base/gstbasetransform.c:
6113 (gst_base_transform_sink_eventfunc),
6114 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6115 (gst_base_transform_activate):
6116 * libs/gst/base/gstbasetransform.h:
6117 Add support for dropping buffers with custom GstFlowReturn.
6118 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
6119 buffers or dropped buffers.
6121 * docs/libs/gstreamer-libs-sections.txt:
6122 docs for new custom return code.
6124 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6125 Use drop support in base class to implement drop-probability.
6127 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
6129 * gst/gst.c: (load_plugin_func):
6130 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
6131 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6132 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
6133 Remove newlines at end of debug log strings.
6135 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
6137 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6138 Only post bus message at max, once per buffer received.
6140 2007-03-07 Wim Taymans <wim@fluendo.com>
6142 * docs/design/Makefile.am:
6143 * docs/design/part-synchronisation.txt:
6144 Add doc about synchronisation
6146 * docs/design/draft-latency.txt:
6147 * docs/design/part-TODO.txt:
6148 * docs/design/part-clocks.txt:
6149 * docs/design/part-events.txt:
6150 * docs/design/part-gstbus.txt:
6151 * docs/design/part-gstpipeline.txt:
6152 * docs/design/part-live-source.txt:
6153 * docs/design/part-messages.txt:
6154 * docs/design/part-overview.txt:
6155 * docs/design/part-streams.txt:
6156 * docs/design/part-trickmodes.txt:
6157 Documentation updates.
6159 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
6162 Update the doap file.
6164 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
6166 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6167 Rename non-perfect to imperfect for Mike and for the sanctity of the
6169 Also make sure bus message gets emitted for data-incontiguities.
6171 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
6173 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
6174 (gst_identity_start):
6175 * plugins/elements/gstidentity.h:
6176 Emit bus message if check-perfect is true and we encounter a
6177 non-perfect stream between 2 consecutive buffers.
6180 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
6185 === release 0.10.12 ===
6187 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
6190 releasing 0.10.12, "Inevitable Demise"
6192 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
6195 Version 0.10.11.2 (0.10.12 pre-release)
6196 Bump libtool versioning.
6198 2007-03-01 Stefan Kost <ensonic@users.sf.net>
6200 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6201 Log flow-names and not numbers.
6203 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
6206 Convert to new AG_GST style.
6208 2007-02-28 Wim Taymans <wim@fluendo.com>
6210 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
6211 Don't unref query twice.
6213 2007-02-28 Wim Taymans <wim@fluendo.com>
6215 * gst/gstvalue.c: (gst_value_transform_object_string),
6216 (_gst_value_initialize):
6217 Implement GstObject -> string transform so we print object names
6218 when serializing GValues containing GstObjects.
6220 2007-02-28 Wim Taymans <wim@fluendo.com>
6222 * docs/gst/gstreamer-sections.txt:
6223 Add new stuff to docs.
6225 2007-02-28 Wim Taymans <wim@fluendo.com>
6227 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6228 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
6229 (gst_base_sink_change_state):
6230 Improve latency query code.
6231 Don't leak latency events.
6233 * tests/check/gst/gstbin.c: (GST_START_TEST):
6236 2007-02-28 Wim Taymans <wim@fluendo.com>
6238 * gst/gstelement.c: (gst_element_message_full),
6239 (gst_element_get_state_func):
6241 Improve docs a little. Added Since: for new macro.
6243 * gst/gstobject.c: (gst_object_sink):
6244 * gst/gstpipeline.c: (gst_pipeline_change_state),
6245 (gst_pipeline_set_new_stream_time):
6246 * gst/gstpipeline.h:
6247 Improve debugging and docs.
6249 * gst/gstutils.c: (gst_element_state_change_return_get_name):
6252 2007-02-28 Wim Taymans <wim@fluendo.com>
6254 * gst/gstelement.c: (gst_element_message_full),
6255 (gst_element_set_locked_state), (gst_element_get_state_func),
6256 (gst_element_change_state):
6257 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
6258 Documentation updates.
6259 Small code cleanups.
6261 * gst/gstmessage.c: (gst_message_new_info),
6262 (gst_message_parse_info):
6264 API: gst_message_new_info()
6265 API: gst_message_parse_info()
6266 Add INFO message create and parse code.
6268 2007-02-28 Wim Taymans <wim@fluendo.com>
6270 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
6271 (bin_query_latency_done):
6272 Also report the live parameter of a latency query.
6274 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
6276 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
6277 Copy the current generic/states example from -base and adapt so
6278 we can use the exact same code everywhere.
6279 Check a STATES_IGNORE_ELEMENTS env var which can be used
6280 to ignore certain element factories for this test, which is
6281 what is being done in -base
6282 * tests/check/Makefile.am:
6283 Mention this environment variable.
6285 2007-02-27 Wim Taymans <wim@fluendo.com>
6287 * docs/gst/gstreamer-sections.txt:
6288 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
6289 (gst_bus_timed_pop), (gst_bus_pop):
6291 API: gst_bus_timed_pop()
6292 Implement gst_bus_timed_pop() to do a blocking timed wait for a
6293 message to arrive on the bus.
6295 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
6297 Two unit tests for new _timed_pop() function.
6299 2007-02-23 Wim Taymans <wim@fluendo.com>
6301 * gst/gstpipeline.c: (gst_pipeline_change_state),
6302 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
6303 Don't ref a NULL clock in _provide_clock_func().
6304 Don't allow an INVALID delay.
6305 Don't try to calculate base_time with an invalid start_time.
6306 Also distribute and notify a NULL clock when it was selected.
6308 * tools/gst-launch.c: (event_loop):
6309 Don't crash when a NULL clock was selected in the pipeline.
6311 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
6313 * docs/design/Makefile.am:
6314 * docs/design/draft-missing-plugins.txt:
6315 * docs/random/draft-missing-plugins.txt:
6316 Some small updates: update plugin system identifier prefix
6317 ('gstreamer.net' to 'gstreamer'), mention our new install
6318 API in libgstbaseutils rather than libgimme-codec, add
6319 reference to the online docs.
6321 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
6323 * win32/common/config.h:
6324 Pretty sure Bill never made a powerpc version. Powerpc hackers,
6325 use moap cl ci to only check in what is mentioned in the ChangeLog.
6327 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
6329 * docs/gst/gstreamer-sections.txt:
6331 Fix up documentation to link to the correct GstGError section.
6332 Add GST_ELEMENT_INFO macro since someone else added a Info message.
6334 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
6336 * tools/gst-launch.c: (event_loop):
6337 Make sure that we actually show the important message part of a
6339 No need to check if the gerror is not NULL to free; first of all
6340 g_free accepts NULL; and second the default error handler would
6341 segfault if gerror was NULL.
6343 2007-02-21 Wim Taymans <wim@fluendo.com>
6345 * docs/gst/gstreamer-sections.txt:
6346 Removed docs as well.
6348 2007-02-21 Wim Taymans <wim@fluendo.com>
6350 * gst/gstmessage.c: (gst_message_parse_duration):
6352 Remove new messages for release.
6354 2007-02-20 Wim Taymans <wim@fluendo.com>
6356 * docs/design/part-gstghostpad.txt:
6357 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
6358 (gst_ghost_pad_new_full):
6359 Make the ghostpad a parent of the internal pad again for better backward
6360 compatibility. Don't write code that relies on this however.
6362 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
6363 (gst_pad_link_check_hierarchy):
6364 Require that parents should be GstElements in the hierarchy check.
6366 2007-02-20 Wim Taymans <wim@fluendo.com>
6368 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
6369 (gst_bin_change_state_func), (bin_query_min_max_init),
6370 (bin_query_latency_fold), (bin_query_latency_done),
6373 Implement latency query.
6375 2007-02-20 Wim Taymans <wim@fluendo.com>
6377 * docs/design/part-gstghostpad.txt:
6378 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
6379 (gst_ghost_pad_internal_do_activate_push),
6380 (gst_ghost_pad_internal_do_activate_pull),
6381 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6382 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
6383 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
6384 Do not set the internal pad as a parent anymore so we can avoid
6385 hierarchy linking errors when the ghostpad has no parent yet. This also
6386 fixes failed activation because of unlinked internal pads, which in
6387 turn fixes the impossible case where you have to activate a pad before
6388 you can add it to a running element.
6391 * gst/gstpad.c: (pre_activate), (post_activate),
6392 (gst_pad_set_active), (gst_pad_activate_pull),
6393 (gst_pad_activate_push), (gst_pad_check_pull_range):
6394 Add some more debug info.
6395 Mark activation mode in pre_activate so that we don't try to activate in
6396 endless loops. Fixes #385084.
6398 2007-02-19 Wim Taymans <wim@fluendo.com>
6400 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
6401 (gst_base_transform_check_get_range):
6402 Implement a checkgetrange function instead of relying on the default
6403 core behaviour that assumes we can operate in pull mode if we have a
6404 getrange function. First step at fixing #385084.
6406 2007-02-15 Stefan Kost <ensonic@users.sf.net>
6408 * gst/gstchildproxy.h:
6409 * libs/gst/base/gstbasesink.h:
6410 * libs/gst/base/gstbasesrc.h:
6411 * libs/gst/base/gstbasetransform.h:
6412 More docs coverage and some ChangeLog surgery (add missing names)
6414 2007-02-15 Wim Taymans <wim@fluendo.com>
6416 * docs/design/part-TODO.txt:
6417 * docs/design/part-activation.txt:
6418 * docs/design/part-block.txt:
6419 * docs/design/part-buffering.txt:
6420 * docs/design/part-clocks.txt:
6421 * docs/design/part-element-source.txt:
6422 * docs/design/part-events.txt:
6423 * docs/design/part-gstbin.txt:
6424 * docs/design/part-gstbus.txt:
6425 * docs/design/part-gstpipeline.txt:
6426 * docs/design/part-live-source.txt:
6427 * docs/design/part-messages.txt:
6428 * docs/design/part-overview.txt:
6429 * docs/design/part-qos.txt:
6430 * docs/design/part-query.txt:
6431 * docs/design/part-states.txt:
6432 * docs/design/part-trickmodes.txt:
6433 Some doc updates. Start renaming from stream_time to running_time where
6434 it was used wrongly.
6436 2007-02-15 Wim Taymans <wim@fluendo.com>
6438 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
6439 Answer LATENCY query.
6441 2007-02-15 Wim Taymans <wim@fluendo.com>
6443 * tests/check/gst/gstevent.c: (event_probe), (test_event),
6447 2007-02-15 Wim Taymans <wim@fluendo.com>
6449 * gst/gstpad.c: (gst_pad_get_internal_links_default),
6450 (gst_pad_dispatcher):
6451 Improve debugging of default pad dispatcher and query functions.
6453 2007-02-15 Wim Taymans <wim@fluendo.com>
6455 * docs/gst/gstreamer-sections.txt:
6456 Remove old unused method.
6458 2007-02-13 Wim Taymans <wim@fluendo.com>
6460 * tests/check/gst/gstsegment.c: (GST_START_TEST):
6463 2007-02-13 Wim Taymans <wim@fluendo.com>
6465 * docs/design/part-seeking.txt:
6468 * gst/gstsegment.c: (gst_segment_set_seek):
6469 Revert old bogus change that should make seeking work again.
6471 2007-02-13 Stefan Kost <ensonic@users.sf.net>
6473 * docs/random/ensonic/dynlink.txt:
6474 * docs/random/ensonic/interfaces.txt:
6475 * docs/random/ensonic/receipies.txt:
6476 Possible dynamic reconnection api, plus some type fixes the other two
6479 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
6481 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6482 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6483 Also check for an absolute path following file:// in the filesrc
6484 element. Remove redundant check and call g_path_is_absolute() on the
6487 2007-02-13 Stefan Kost <ensonic@users.sf.net>
6489 * docs/design/draft-klass.txt:
6490 Add existing category analysis.
6493 Fix doc example, framerate is a fraction.
6495 2007-02-12 Stefan Kost <ensonic@users.sf.net>
6498 * docs/gst/Makefile.am:
6499 * docs/gst/gstreamer-sections.txt:
6500 * docs/libs/Makefile.am:
6501 Erm, forgot a bunch of --extra-dir.
6503 2007-02-12 Stefan Kost <ensonic@users.sf.net>
6506 * docs/gst/Makefile.am:
6507 * docs/libs/Makefile.am:
6508 * docs/plugins/Makefile.am:
6509 Add crossreferences to glib/gobject docs.
6511 2007-02-12 Wim Taymans <wim@fluendo.com>
6513 * docs/design/draft-latency.txt:
6516 * docs/libs/gstreamer-libs-sections.txt:
6517 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6518 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
6519 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
6520 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
6521 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
6522 (gst_base_sink_get_position), (gst_base_sink_query),
6523 (gst_base_sink_change_state):
6524 * libs/gst/base/gstbasesink.h:
6525 API: gst_base_sink_query_latency() to let subclasses query the upstream
6527 API: gst_base_sink_get_latency() to let subclasses query the configured
6528 latency in the sink.
6529 Implement query and set latency.
6531 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
6532 don't continue preroll when we are flushing. Fixes #405284.
6534 * tests/check/pipelines/stress.c: (change_state_timeout),
6535 (quit_timeout), (GST_START_TEST), (stress_suite):
6538 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
6540 Patch by: René Stadler <mail at renestadler de>
6542 * docs/gst/gstreamer-sections.txt:
6543 * gst/gsttaglist.c: (_gst_tag_initialize):
6545 API: add GST_TAG_REFERENCE_LEVEL (#403597).
6547 2007-02-11 Stefan Kost <ensonic@users.sf.net>
6549 * docs/libs/Makefile.am:
6550 Fix path to core docs.
6552 * gst/gstbin.c: (gst_bin_get_by_interface),
6553 (gst_bin_iterate_all_by_interface):
6554 Refix docs by also renaming 'interface' to 'iface' in implementation.
6556 * docs/gst/gstreamer-sections.txt:
6558 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
6559 * gst/gstchildproxy.h:
6560 * gst/gstelementfactory.c:
6561 * gst/gstpadtemplate.h:
6562 * libs/gst/controller/gstcontroller.c:
6563 (gst_controlled_property_new):
6566 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
6568 * gst/gstbin.h:(gst_bin_get_by_interface),
6569 (gst_bin_iterate_all_by_interface):
6570 Replace interface parameter name by iface as interface is
6571 a reserved keyword in Visual Studio for C++ projects so it removes
6572 a build error for application developpers using VS.
6573 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
6574 Fix a bug on Windows in uri format check. Now the prefix checked
6575 is file:// and next we check if the path after file:// is absolute.
6576 * win32/common/libgstbase.def:
6577 * win32/common/libgstdataprotocol.def:
6578 * win32/common/libgstgstreamer.def:
6579 Add new exported functions.
6581 2007-02-09 Andy Wingo <wingo@pobox.com>
6583 * tests/check/pipelines/simple-launch-lines.c
6584 (simple_launch_lines_suite, test_tee): Disable tee test until I
6585 have time to fix it :-(
6587 * tests/check/Makefile.am (noinst_HEADERS):
6588 * tests/check/libs/libsabi.c:
6589 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
6590 * tests/check/gst/gstabi.c:
6591 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
6593 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
6594 tests for push and pull tee behavior.
6596 * plugins/elements/gsttee.h:
6597 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
6598 mark as deprecated as well as unimplemented. It was a crack idea.
6599 Add support for tee operating in pull mode, off by default.
6601 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
6602 normal-case logs down to LOG, raise errors to WARNING.
6603 (gst_registry_xml_read_cache): Don't log before calling a function
6606 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
6607 exit (registry finalize).
6608 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
6609 DEBUG log when we emit signals that people don't even have the
6610 chance to connect to.
6611 (gst_registry_scan_path_level): Less logging in the normal case.
6613 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
6615 Patch by: Michal Benes <michal dot benes at itonis dot tv>
6617 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
6618 Correctly generate EOS for non-seekable files. We don't have a total
6619 length for them and would get an unexpected end of file if we only
6620 special-cased for regular files. (Fixes: #404569)
6622 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
6624 * tests/check/elements/filesrc.c: (GST_START_TEST),
6626 Add unit test for the GstURIHandler interface in filesrc. This also
6627 tests the newly added file://localhost/foo/bar support.
6629 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
6631 * gst/gstelementfactory.h:
6632 The klass string is not a hierarchy. Add reference to the design doc
6633 for more information and common types.
6635 2007-02-02 Wim Taymans <wim@fluendo.com>
6637 * gst/gstquery.c: (gst_query_new_latency):
6638 Remove old structure field.
6640 2007-02-02 Stefan Kost <ensonic@users.sf.net>
6642 * tools/gst-launch.1.in:
6643 Give example for network streaming (#351998)
6645 2007-02-02 Wim Taymans <wim@fluendo.com>
6647 * docs/gst/gstreamer-sections.txt:
6648 Add docs for new methods.
6650 * gst/gstevent.c: (gst_event_new_latency),
6651 (gst_event_parse_latency):
6653 Add new LATENCY event to configure latency in a pipeline.
6654 API: gst_event_new_latency
6655 API: gst_event_parse_latency
6657 * gst/gstmessage.c: (gst_message_new_buffering),
6658 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
6659 (gst_message_new_latency), (gst_message_parse_buffering),
6660 (gst_message_parse_lost_preroll):
6662 Added messages used in draft-latency.
6663 API: gst_message_new_lost_preroll
6664 API: gst_message_parse_lost_preroll
6665 API: gst_message_new_prerolled
6666 API: gst_message_new_latency
6668 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
6669 (gst_query_parse_latency):
6671 Implemented new latency query as in design doc.
6672 API: gst_query_new_latency
6673 API: gst_query_set_latency
6674 API: gst_query_parse_latency
6676 2007-02-02 Wim Taymans <wim@fluendo.com>
6678 * docs/design/draft-latency.txt:
6679 Slight redesign to allow for dynamic latency adjustments.
6681 * docs/design/part-negotiation.txt:
6684 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
6686 reviewed by: Wim Taymans <wim@fluendo.com>
6688 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6689 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6690 Allow file://localhost/foo/bar URLs and correctly fail for every other
6691 hostname that one sets. This was gnomevfssrc is linked for those if
6692 installed as it can handle it (#403172)
6694 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
6696 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6698 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6699 (unref_data), (gst_collect_pads_add_pad_full):
6700 * libs/gst/base/gstcollectpads.h:
6701 Don't put the previously added destroy notify in the GstCollectData
6702 struct as all it's padding is already used and we don't want to break
6703 ABI. Instead put in the pad's GObject data for now. This should be
6704 cleaned up for 0.11 (#402393).
6706 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
6708 reviewed by: Wim Taymans <wim@fluendo.com>
6710 * docs/libs/gstreamer-libs-sections.txt:
6711 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6712 (unref_data), (gst_collect_pads_add_pad),
6713 (gst_collect_pads_add_pad_full):
6714 * libs/gst/base/gstcollectpads.h:
6715 API: Add function to specify a destroy notification for custom
6716 GstCollectData when adding new pads in GstCollectPads (#402393).
6718 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
6721 Update Swedish translation (#378255).
6723 2007-01-31 Stefan Kost <ensonic@users.sf.net>
6725 * docs/design/draft-klass.txt:
6726 Fix the previous change, this is a list of categories and not a hierarchy.
6728 2007-01-31 Stefan Kost <ensonic@users.sf.net>
6730 * docs/design/draft-klass.txt:
6731 Add info about how to get a list of used classes.
6733 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
6735 * plugins/elements/gsttypefindelement.c:
6736 (gst_type_find_element_chain_do_typefinding),
6737 (gst_type_find_element_change_state):
6738 Don't leak found caps in chain function (no idea why that never
6739 showed up as a leak anywhere).
6741 2007-01-30 Stefan Kost <ensonic@users.sf.net>
6744 Fix and expand GstPluginDesc API docs.
6746 2007-01-29 Stefan Kost <ensonic@users.sf.net>
6749 * gst/gstelementfactory.c:
6750 * gst/gstpadtemplate.h:
6753 * libs/gst/controller/gstcontroller.c:
6754 (gst_controlled_property_new):
6755 * tests/examples/controller/audio-example.c:
6758 2007-01-29 Stefan Kost <ensonic@users.sf.net>
6761 comment about refining the xml deps
6764 comments about moving away from jade for docs
6767 recommit the ifdefs to use the binary registry
6769 * gst/gstbin.c: (gst_bin_change_state_func):
6770 this break is obsolete
6772 * gst/gstelementfactory.h:
6773 better GST_ELEMENT_DETAILS docs, add comment about translation
6778 * gst/gstobject.c: (gst_signal_object_get_type):
6779 add G_UNLIKELY as usual
6781 * gst/gstpad.c: (gst_pad_event_default):
6782 add fall trhu comment
6784 * gst/gstregistrybinary.c: (gst_registry_binary_write),
6785 (gst_registry_binary_initialize_magic),
6786 (gst_registry_binary_save_string),
6787 (gst_registry_binary_save_pad_template),
6788 (gst_registry_binary_save_feature),
6789 (gst_registry_binary_save_plugin),
6790 (gst_registry_binary_write_cache),
6791 (gst_registry_binary_check_magic),
6792 (gst_registry_binary_load_pad_template),
6793 (gst_registry_binary_load_feature),
6794 (gst_registry_binary_load_plugin),
6795 (gst_registry_binary_read_cache):
6796 comment typo and formatting
6798 * gst/gstutils.c: (gst_element_state_get_name),
6799 (gst_element_state_change_return_get_name):
6800 remove obsolete breaks
6802 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6803 add FIXME 0.11 and remove cpp comment
6805 2007-01-29 Edward Hervey <edward@fluendo.com>
6807 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6808 Fix print statement in an even more portable way.
6810 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
6812 * docs/gst/gstreamer-sections.txt:
6814 API: add GST_ROUND_DOWN_* macros (#401781).
6816 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
6818 * docs/gst/gstreamer.types.in:
6819 * gst/gstregistry.c: (gst_registry_class_init):
6820 Document registry signals and make gtk-doc pick them up (#401381).
6822 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
6824 * docs/pwg/building-testapp.xml:
6825 Add some audioconverts and audioresample to the pipeline, and some
6826 more comments and error handling.
6828 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
6830 * docs/manual/manual.xml:
6834 2007-01-26 Wim Taymans <wim@fluendo.com>
6836 * gst/gstcaps.c: (gst_static_caps_get):
6837 Init caps flags too.
6839 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
6841 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
6843 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
6844 If not using mmap'ed files try to seek to the end instead of the
6845 start to determine whether we can seek at all. This fixes the case
6846 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
6847 seeks for everything afterwards fail. Fixes #400656
6849 2007-01-25 Wim Taymans <wim@fluendo.com>
6851 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
6852 Add some refcount debugging.
6853 Make gst_static_caps_get threadsafe, which is needed when autoplugging
6854 in multiple streaming threads.
6856 2007-01-25 Wim Taymans <wim@fluendo.com>
6858 Patch by: David Schleef <ds at schleef dot org>
6860 * docs/libs/gstreamer-libs-sections.txt:
6861 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
6862 * libs/gst/base/gstadapter.h:
6863 API: gst_adapter_copy() that can reduce the amount of memcpy when
6864 getting data from the adapter. Fixes #388201.
6866 2007-01-25 Edward Hervey <edward@fluendo.com>
6868 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6869 In print statements, "%x" is for guint. Fixes build on macosx.
6871 2007-01-24 Edward Hervey <edward@fluendo.com>
6873 * plugins/elements/gstmultiqueue.c:
6874 (gst_multi_queue_loop):
6876 (single_queue_overrun_cb), (single_queue_underrun_cb),
6877 (single_queue_check_full), (gst_single_queue_new):
6878 Implement single queue growth system.
6879 This uses the extra-size properties, and will grow single queues by
6880 that much if one goes full whereas there are others empty. This is
6881 called extra-mode in the code.
6882 When a single queue's levels go back below the initial max-size
6883 limits, it is no longer in extra-mode. This is to ensure we don't
6884 consume too much memory.
6887 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
6889 * gst/gst.c: (gst_init_get_option_group):
6890 Make warning about late g_thread_init() calls a bit more explicit,
6891 so that it's more obvious to application developers what they need
6892 to do if a user files a bug against their application.
6894 2007-01-22 Edward Hervey <edward@fluendo.com>
6896 * plugins/elements/gstmultiqueue.c:
6897 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
6898 Remove previous hack of unsetting the flushing flag for the source pad
6899 instead of activating it. Instead, fix the source pad activate function
6900 so that it no longer depends on having a parent set or not.
6902 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
6904 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
6906 * docs/manual/basics-bus.xml:
6907 Fix example code, gst_element_unref() doesn't exist any longer.
6909 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
6911 Patch by: Mark Nauwelaerts <manauw at skynet be>
6914 Fix two docs typoes (#399094).
6916 2007-01-19 Edward Hervey <edward@fluendo.com>
6918 * docs/faq/gst-uninstalled:
6919 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
6920 depending on libgstbaseutils can work in uninstalled environment.
6922 2007-01-18 Stefan Kost <ensonic@users.sf.net>
6925 * gst/gsttagsetter.c:
6926 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
6927 statement for new tag.
6929 2007-01-17 Edward Hervey <edward@fluendo.com>
6931 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
6932 When dynamically creating single queues, activate sinkpad before adding
6934 We should be doing the same thing for the source pad, but we can't
6935 since it would call a method which needs the parent to be set in order
6936 to work propertly. Instead of activating the source pad, we just unset
6937 the flushing flag, which is the minimal requirement for adding a pad
6938 to an element in a state greater than READY.
6940 2007-01-17 Edward Hervey <edward@fluendo.com>
6942 * docs/faq/gst-uninstalled:
6943 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
6946 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
6948 * tests/check/gst/gstabi.c:
6949 * tests/check/gst/struct_hppa.h:
6950 * tests/check/libs/libsabi.c:
6951 * tests/check/libs/struct_hppa.h:
6952 Add ABI structs for HPPA (see #393796).
6954 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
6956 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
6957 Actually write ABI structs to the file specified in the GST_ABI
6958 environment variable, as the message we print claims we would.
6960 2007-01-15 Stefan Kost <ensonic@users.sf.net>
6962 * tests/check/gst/gsttask.c:
6965 2007-01-15 Stefan Kost <ensonic@users.sf.net>
6967 * gst/gsttaglist.c: (_gst_tag_initialize):
6968 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
6969 previous two entries.
6971 2007-01-15 Stefan Kost <ensonic@users.sf.net>
6973 * docs/gst/gstreamer-sections.txt:
6974 * gst/gsttaglist.c: (_gst_tag_initialize):
6976 Add tag support for beat-per-minute.
6978 2007-01-15 Stefan Kost <ensonic@users.sf.net>
6980 * gst/gstregistrybinary.c: (gst_registry_binary_write),
6981 (gst_registry_binary_initialize_magic),
6982 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
6983 (gst_registry_binary_save_pad_template),
6984 (gst_registry_binary_save_feature),
6985 (gst_registry_binary_save_plugin),
6986 (gst_registry_binary_write_cache),
6987 (gst_registry_binary_check_magic),
6988 (gst_registry_binary_load_pad_template),
6989 (gst_registry_binary_load_feature),
6990 (gst_registry_binary_load_plugin),
6991 (gst_registry_binary_read_cache):
6992 * gst/gstregistrybinary.h:
6993 Use glib types, cleanup comments, impement interfaces and uri-types.
6995 2007-01-13 Andy Wingo <wingo@pobox.com>
6997 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
6998 getrange() to return buffers with other caps, while we fix
6999 demuxers and typefind, or otherwise change part-negotiation.txt.
7001 2007-01-12 Andy Wingo <wingo@pobox.com>
7003 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
7004 Factor start/stop into this private function instead of partially
7005 in activate functions and partially in the change_state function.
7006 Fixes setup before the element has changed from READY->PAUSED, as
7007 is the case in pull-mode pipelines.
7008 (gst_base_transform_sink_activate_push)
7009 (gst_base_transform_src_activate_pull): Refactor to use
7010 gst_base_transform_activate().
7011 (gst_base_transform_change_state): Removed, not needed any more.
7013 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
7014 Truncate before fixating.
7016 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
7017 Don't set_caps() if the result of fixating is ANY, as it's not
7018 supported, and not necessary in the case of a link with no
7019 template caps on either side. Fixes tests/check/libs/basesrc in
7020 some pull-mode tests.
7022 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
7023 (gst_base_transform_init, gst_base_transform_sink_activate_push)
7024 (gst_base_transform_src_activate_pull):
7025 Track the activation mode.
7026 (gst_base_transform_setcaps): In pull mode, when activating the
7027 src pad, after activating the sink pad, activate the sink pad's
7028 peer, as discussed in part-negotiation.txt.
7030 * libs/gst/base/gstbasesrc.h:
7031 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
7032 vmethod, as in basesink.
7034 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
7036 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
7037 mode, first proxy the setcaps to the peer pad.
7038 (gst_base_sink_pad_fixate): Add a fixate function that calls the
7040 (gst_base_sink_default_activate_pull): Rename from
7041 gst_base_sink_activate_pull.
7042 (gst_base_sink_negotiate_pull): New function, performs negotiation
7043 in pull mode before calling ::activate_pull().
7044 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
7045 vmethod instead of the default implementation. I have no idea how
7046 this worked before. Negotiate before calling activate_pull.
7048 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
7049 sink pads in pull mode. In addition to being correct, fixes
7050 filesrc ! decodebin ! identity ! fakesink.
7051 (gst_pad_get_range, gst_pad_pull_range): Don't call
7052 gst_pad_set_caps() if the caps changes; instead error out with
7053 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
7055 2007-01-12 Andy Wingo <wingo@pobox.com>
7057 * docs/design/part-negotiation.txt: Update with more policy.
7059 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
7061 * libs/gst/check/gstbufferstraw.h:
7062 * libs/gst/check/gstcheck.h:
7063 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
7066 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
7068 * tests/check/Makefile.am:
7069 * tests/check/gst/.cvsignore:
7070 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
7071 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
7072 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
7073 (GST_START_TEST), (gst_tag_setter_suite):
7074 Add minimal unit test for beforementioned GstTagSetter bug.
7076 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
7078 Patch by: René Stadler <mail at renestadler dot de>
7080 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
7081 gst_tag_list_merge() returns a new list, so it's not the best idea
7082 to ingore its return value. Effectively meant that tags could only
7083 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
7084 Also add function guard to require a non-NULL taglist as input (has
7085 always been so due to gst_tag_list_copy(), just making it explicit).
7087 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
7089 * docs/random/draft-missing-plugins.txt:
7090 Some additions: mention new API that is supposed to be used at the
7091 various stages; short blob about new gst-inspect introspection
7092 option; mention potential future problem with plugins that have
7093 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
7095 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
7097 * tools/gst-inspect.c:
7098 (print_plugin_automatic_install_info_codecs),
7099 (print_plugin_automatic_install_info_protocols),
7100 (print_plugin_automatic_install_info), (main):
7101 Add --print-plugin-auto-install-info option to gst-inspect, so we can
7102 introspect plugin files and get machine-parsable output that corresponds
7103 to the last bit of the missing-plugin installer string (small gotcha:
7104 doesn't take into account ranks).
7106 2007-01-11 Stefan Kost <ensonic@users.sf.net>
7109 * docs/gst/gstreamer-sections.txt:
7111 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
7112 (gst_registry_lookup_locked):
7113 * gst/gstregistry.h:
7114 * gst/gstregistrybinary.c: (gst_registry_binary_write),
7115 (gst_registry_binary_initialize_magic),
7116 (gst_registry_binary_save_string),
7117 (gst_registry_binary_save_pad_template),
7118 (gst_registry_binary_save_feature),
7119 (gst_registry_binary_save_plugin),
7120 (gst_registry_binary_write_cache),
7121 (gst_registry_binary_check_magic),
7122 (gst_registry_binary_load_pad_template),
7123 (gst_registry_binary_load_feature),
7124 (gst_registry_binary_load_plugin),
7125 (gst_registry_binary_read_cache):
7126 * gst/gstregistrybinary.h:
7127 * gst/gstregistryxml.c: (load_feature),
7128 (gst_registry_xml_read_cache):
7129 commit binary registry (disabled by default, see #359653)
7131 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
7133 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
7134 Fix 'make check' too.
7136 2007-01-10 Andy Wingo <wingo@pobox.com>
7138 * docs/design/part-negotiation.txt: Fix a typo, add a couple
7141 * docs/design/part-negotiation.txt: Update with, um, one way that
7142 pull-mode negotiation might work?
7145 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
7146 that the pad must be a src pad; makes sense to call it the other
7147 way in pull mode, and the logic is symmetric anyway.
7149 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
7151 * plugins/elements/gstfilesink.c:
7152 Include <stdio.h> for fseeko().
7154 2007-01-10 Wim Taymans <wim@fluendo.com>
7158 Reserve LATENCY event.
7160 2007-01-09 Wim Taymans <wim@fluendo.com>
7162 * docs/design/draft-latency.txt:
7165 2007-01-09 Wim Taymans <wim@fluendo.com>
7167 * docs/design/draft-latency.txt:
7171 * gst/gststructure.c:
7175 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
7177 * tests/check/.cvsignore:
7178 Ignore test-registry.xml as well.
7180 2007-01-09 Wim Taymans <wim@fluendo.com>
7182 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
7183 unref data at the end when we are done with the pad.
7185 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
7187 * docs/gst/gstreamer-sections.txt:
7188 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
7189 (init_post), (gst_deinit), (gst_update_registry):
7191 API: add gst_update_registry() (#391296).
7193 * tests/check/Makefile.am:
7194 * tests/check/gst/gstregistry.c:
7195 * tests/check/gst/.cvsignore:
7196 Simple unit test for the above.
7198 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
7200 * gst/gstregistry.c: (gst_registry_scan_path_level):
7201 Plugin extension on HP-UX is .sl, add that to the list of approved
7202 plugin extensions (see #393796).
7204 * tests/check/gst/gstpad.c: (GST_START_TEST):
7205 ulong => gulong. Fixes compilation with HP-UX compiler.
7207 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7208 Fix compilation if valgrind headers are not available.
7210 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
7212 * win32/common/libgstreamer.def:
7213 Add new exported function.
7214 * win32/vs6/libgstbase.dsp:
7215 Add gstdataqueue.c to the build.
7216 * win32/vs6/libgstcoreelements.dsp:
7217 Add gstmultiqueue.c to the build.
7219 2007-01-06 Andy Wingo <wingo@pobox.com>
7221 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
7222 activate_pull(), providing for a way to specialize the process of
7223 spawning a thread to pull on the sink pad. There is a default
7226 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
7227 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
7228 (gst_base_sink_init): Renamed pad activation functions (inserting
7229 "_pad" in their names). Refactor to use the new activate_pull
7230 vmethod, as appropriate.
7231 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
7232 default activate_pull function to start a task pulling from the
7233 sink pad, as before.
7235 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
7236 on the pads if necessary, as in push()/chain(). Update docs.
7237 Shouldn't affect existing pull() usage as it is currently only
7238 being used on buffers without caps.
7240 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
7242 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7244 Call g_thread_init() first thing in gst_init() / gst_check_init().
7245 When initialisation is done via gst_init_get_option_group() and
7246 GOption parsing, issue a warning if the GLib thread system has not
7247 been initialised yet by the time gst_init_get_option_group() is
7248 called, as it's quite likely other GLib functions such as
7249 g_option_context_new() have been called already then, and
7250 g_thread_init() must be called before any other GLib function. The
7251 application in question must be fixed in that case, since memory
7252 corruption might happen otherwise.
7253 We issue the warning because even if the GLib folks decide to work
7254 around the problem on their end in future, this is still an issue
7255 with all GLib versions >= 2.10.0, so we should warn until we depend
7256 on a GLib version we know to be safe.
7257 Update documentation as well.
7260 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
7262 * tools/gst-inspect.c: (main):
7263 * tools/gst-launch.c: (main):
7264 * tools/gst-typefind.c: (main):
7265 * tools/gst-xmlinspect.c: (main):
7266 Call g_thread_init() really really early, before any other GLib
7267 function (see #342564 and recent discussion on gtk-devel-list).
7269 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
7271 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
7273 * gst/gst_private.h:
7274 * gst/gstconfig.h.in:
7276 On win32, all the __declspec stuff for symbol exporting is
7277 apparently only needed with MSVC, but doesn't work with MingW.
7278 Fixes compilation with MingW and #391909.
7280 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
7282 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
7283 Change some GST_ERROR_OBJECT that aren't really errors to
7284 GST_WARNING_OBJECT in order to reduce terminal spam.
7286 2007-01-04 Stefan Kost <ensonic@users.sf.net>
7288 * tests/check/Makefile.am:
7289 disable test again, as there seem to be still race problems
7291 2007-01-04 Stefan Kost <ensonic@users.sf.net>
7293 * tests/check/Makefile.am:
7294 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7295 (GST_START_TEST), (queue_suite):
7296 enable queue test again, add tests for the leaky behaviour
7298 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
7301 * tests/examples/Makefile.am:
7302 Compile adapter test/example only if the required headers are
7303 available (fixes #391915).
7305 2007-01-01 David Schleef <ds@schleef.org>
7308 Restore the previous signal handler for SIGSEGV instead of
7309 setting to default, since we may have stolen it away from
7310 someone. (i.e., Mono)
7312 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
7314 * docs/random/draft-missing-plugins.txt:
7315 Some small additions and clarifications.
7317 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
7319 * gst/gstregistryxml.c: (gst_registry_save_escaped):
7320 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
7321 since that can lead to random memory corruptions and crashes
7322 (may or may not be related to #383244, #386711, and #386711).
7324 2006-12-21 Stefan Kost <ensonic@users.sf.net>
7326 * tests/check/.cvsignore:
7327 * tests/check/Makefile.am:
7328 sync .cvsignome and CLEANFILES
7330 2006-12-21 Stefan Kost <ensonic@users.sf.net>
7332 * tests/check/Makefile.am:
7335 2006-12-21 Stefan Kost <ensonic@users.sf.net>
7337 * docs/design/part-states.txt:
7338 two tiny additional comments
7340 * gst/gststructure.c:
7343 * tests/check/Makefile.am:
7344 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7346 disable test for now, unless it gets fixed
7348 2006-12-21 Stefan Kost <ensonic@users.sf.net>
7350 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7352 fix race in underrun test
7354 2006-12-21 Stefan Kost <ensonic@users.sf.net>
7356 * tests/check/elements/.cvsignore:
7359 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7361 try to narrow test failure
7363 2006-12-21 David Schleef <ds@schleef.org>
7365 * plugins/elements/gstfakesrc.c:
7366 Use g_random_int_range(), since it produces better random
7367 numbers in a range than almost-correct floating point code.
7369 2006-12-21 Stefan Kost <ensonic@users.sf.net>
7371 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
7372 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7373 (gst_check_teardown_sink_pad):
7374 do not automatically (de)activate pads
7376 * tests/check/Makefile.am:
7377 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7378 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
7379 add new, yet simple tests for queue
7381 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
7382 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
7383 * tests/check/elements/filesrc.c: (cleanup_filesrc),
7385 * tests/check/elements/identity.c: (cleanup_identity):
7386 consistent pad (de)activation
7388 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
7390 Patch by: Sebastian Dröge <slomo ubuntu com>
7392 * libs/gst/base/gstcollectpads.c:
7393 Fix two doc typos (#387866).
7395 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
7397 * docs/manual/advanced-dparams.xml:
7398 Fix typo (g_object_control_properties() doesn't exist).
7400 2006-12-19 Edward Hervey <edward@fluendo.com>
7402 * gst/gstsegment.c: (gst_segment_set_seek):
7403 Fine tune the cases where the segment start/stop values are really
7405 * tests/check/gst/gstsegment.c: (GST_START_TEST):
7406 Add tests for the return values of gst_segment_set_seek().
7408 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
7413 * plugins/elements/gstqueue.c: (gst_queue_class_init),
7415 Fix incorrect documentation and flesh it out a bit more.
7416 Set default values for the max properties on the GParamSpec as well,
7417 so it shows up correctly in gst-inspect.
7419 2006-12-18 Stefan Kost <ensonic@users.sf.net>
7421 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
7422 Correct docs of queue, add more detail and crosslink it more.
7424 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
7426 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7427 Print additional debug info when the stream isn't perfectly
7428 timestamped; don't try to use invalid durations.
7430 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
7432 * docs/design/Makefile.am:
7433 Dist new design docs.
7435 2006-12-16 Wim Taymans <wim@fluendo.com>
7437 Patch by: Sjoerd Simons <sjoerd at luon dot net>
7439 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
7440 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
7441 (gst_collect_pads_stop), (gst_collect_pads_event),
7442 (gst_collect_pads_chain):
7443 * libs/gst/base/gstcollectpads.h:
7444 Add refcounting to the collectpads data so we can track when it's safe
7445 to free the data. Fixes #383382.
7447 2006-12-15 Wim Taymans <wim@fluendo.com>
7449 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7450 (gst_collect_pads_remove_pad):
7451 Automatically activate/deactivate pads when they are added to a
7452 started/stoped collectpads.
7454 2006-12-15 Wim Taymans <wim@fluendo.com>
7456 * gst/gstelement.c: (gst_element_add_pad):
7457 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
7458 * gst/gstpad.c: (gst_pad_init):
7459 Set pads to FLUSHING when they are created. Check, warn and fix when a
7460 demuxer adds an inactive pad to itself when running. Fixes #339326.
7462 2006-12-15 Wim Taymans <wim@fluendo.com>
7464 * gst/gstelement.c: (gst_element_class_init),
7465 (gst_element_default_send_event), (gst_element_send_event),
7466 (gst_element_default_query), (gst_element_query):
7467 Expose default element send_event and query handling as vmethods that
7468 subclasses can chain up to.
7470 2006-12-15 Wim Taymans <wim@fluendo.com>
7472 * gst/gstelement.c: (gst_element_set_state_func):
7473 Small documentation fixes.
7475 2006-12-15 Wim Taymans <wim@fluendo.com>
7477 * docs/design/draft-latency.txt:
7478 Checked in draft for handling latency in pipelines.
7480 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
7484 * gstreamer.spec.in:
7487 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
7489 * gst/gst.c: (init_pre), (init_post):
7490 init_pre() and init_post() might be called via our GOptionGroup or
7491 from gst_init(), and we should skip both of them if we've already
7492 been initialised, otherwise we will init some things twice or add
7493 two default log functions.
7495 2006-12-13 Edward Hervey <edward@fluendo.com>
7497 * docs/manual/basics-bus.xml:
7498 No, gst_main_loop does not exist. Its g_main_loop.
7499 Discovered by somebody who abused the copy-paste technique of coding :)
7501 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
7503 * gst/gstghostpad.c:
7504 Log ghostpad debug stuff to the GST_PADS category as well rather
7505 than just to the default category.
7507 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
7510 * gst/gst.c: (init_pre):
7511 Add some basic system details such as OS and architecture
7512 to the debug output if possible, courtesy of uname().
7514 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
7516 * docs/gst/running.xml:
7517 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
7518 environment variables.
7520 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
7522 * tests/check/gst/gstbin.c: (GST_START_TEST):
7523 It is acceptable to have a refcount of 2 or 3 at this point in the
7524 test, because the pipeline might be just posting its state_change
7525 message. The next line then waits for that message to appear using
7526 bus_poll, so that should be fine too.
7528 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
7530 * gst/gst.c: (ensure_current_registry_forking):
7531 Ignore EINTR when reading from the child registry pipe.
7532 Explicitly ignore the return value from close, since it makes no
7535 * gst/gstminiobject.c: (gst_mini_object_ref),
7536 (gst_mini_object_unref):
7537 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
7539 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
7540 When removing cached plugins, remove their features too, so they're
7541 not visible after they've disappeared.
7543 * gst/gstutils.c: (prepare_link_maybe_ghosting):
7544 In the unlikely case that we are linking pads with no parents, don't
7545 crash trying to get the non-existent parent bin.
7547 * gst/parse/grammar.y:
7548 Output debug in the PIPELINE category
7550 2005-03-08 Wim Taymans <wim@fluendo.com>
7552 Patch by: René Stadler <mail at renestadler dot de>
7554 * gst/gstclock.c: (gst_clock_new_periodic_id):
7555 Reject invalid clock times for interval of periodic ids.
7558 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
7560 * gst/gstelementfactory.c: (gst_element_factory_create):
7561 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7562 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
7563 * tools/gst-inspect.c: (print_element_info):
7564 Fix refcounting of gst_plugin_feature_load to match the docs.
7567 2006-12-07 Wim Taymans <wim@fluendo.com>
7569 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
7570 (gst_base_sink_get_position):
7571 Improve debugging of events.
7573 2006-12-07 Wim Taymans <wim@fluendo.com>
7575 Patch by: René Stadler <mail at renestadler dot de>
7577 * gst/gstclock.c: (gst_clock_id_wait):
7578 Make period ids add the interval to the origial requested time instead
7579 of the possibly updated time which can be wrong when there are multiple
7580 waiters for the same id. Fixes #382592.
7582 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
7583 (gst_system_clock_id_wait_jitter_unlocked),
7584 (gst_system_clock_id_wait_jitter):
7585 Fix restart in the async notify thread when an async entry is added to
7586 the front of the list. Fixes #381492.
7588 * tests/check/gst/gstsystemclock.c: (store_callback),
7589 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
7590 Added test for multiple async waits.
7591 Added test for async wait order.
7593 2006-12-07 Wim Taymans <wim@fluendo.com>
7595 * gst/gstbin.c: (gst_bin_query):
7596 Add some more docs about the POSITION query.
7598 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
7601 Bump version nano - back to CVS.
7603 === release 0.10.11 ===
7605 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
7608 releasing 0.10.11, "Love never runs on time"
7610 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
7612 * win32/common/libgstbase.def:
7613 * win32/common/libgstreamer.def:
7614 * win32/vs8/libgstbase.vcproj:
7615 * win32/vs8/libgstcoreelements.vcproj:
7616 * win32/vs8/libgstreamer.vcproj:
7617 Fix compilation on win32 under VS8
7618 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7619 Partially fixes #381175
7621 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
7623 * gst/gstvalue.c: (gst_value_compare_fraction):
7624 If someone is foolish enough to compare 2 fractions with denominator =
7625 0, return UNORDERED rather than aborting.
7627 2006-11-28 Edward Hervey <edward@fluendo.com>
7629 * libs/gst/base/Makefile.am:
7630 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
7631 (gst_data_queue_base_init), (gst_data_queue_class_init),
7632 (gst_data_queue_init), (gst_data_queue_new),
7633 (gst_data_queue_cleanup), (gst_data_queue_finalize),
7634 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
7635 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
7636 (gst_data_queue_is_empty), (gst_data_queue_is_full),
7637 (gst_data_queue_set_flushing), (gst_data_queue_push),
7638 (gst_data_queue_pop), (gst_data_queue_drop_head),
7639 (gst_data_queue_set_property), (gst_data_queue_get_property):
7640 * libs/gst/base/gstdataqueue.h:
7641 New GstDataQueue object for threadsafe queueing. Most useful for
7642 elements that need some queueing functionnality.
7643 * docs/libs/gstreamer-libs-docs.sgml:
7644 * docs/libs/gstreamer-libs-sections.txt:
7645 Insert documentation for GstDataQueue
7646 * plugins/elements/Makefile.am:
7647 * plugins/elements/gstelements.c:
7648 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
7649 (gst_multi_queue_class_init), (gst_multi_queue_init),
7650 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7651 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
7652 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
7653 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7654 (gst_multi_queue_loop), (gst_multi_queue_chain),
7655 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7656 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
7657 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
7658 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
7659 (wake_up_next_non_linked), (compute_next_non_linked),
7660 (single_queue_overrun_cb), (single_queue_underrun_cb),
7661 (single_queue_check_full), (gst_single_queue_new):
7662 * plugins/elements/gstmultiqueue.h:
7663 New multiqueue element, using GstDataQueue. Used for queuing multiple
7665 Closes #344639 and #347785
7667 2006-11-22 Stefan Kost <ensonic@users.sf.net>
7669 * docs/pwg/advanced-types.xml:
7670 add more missing type details
7672 * tools/gst-run.c: (main):
7673 remove unused variable
7675 2006-11-21 Stefan Kost <ensonic@users.sf.net>
7677 * docs/libs/Makefile.am:
7678 * docs/libs/gstreamer-libs.types:
7679 add types of base classes to enable gobject specific stuff in the docs
7681 * docs/random/ensonic/embedded.txt:
7682 more ideas about isolating platform specific things
7684 2006-11-20 Wim Taymans <wim@fluendo.com>
7686 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
7688 * libs/gst/check/gstcheck.h:
7689 Fix compilation and running against 0.9.4. Fixes #377332.
7691 2006-11-20 Wim Taymans <wim@fluendo.com>
7693 * gst/gstsegment.c: (gst_segment_set_seek),
7694 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
7695 (gst_segment_to_running_time):
7696 Fix boundary checking in to_running_time() and to_stream_time().
7699 * tests/check/gst/gstsegment.c: (GST_START_TEST):
7700 stream and running time can now be calculated for the complete
7703 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
7705 * gst/gstpad.c: (gst_pad_push_event):
7706 Can't access event structure after giving away ownership of
7709 2006-11-15 Stefan Kost <ensonic@users.sf.net>
7711 * docs/random/ensonic/embedded.txt:
7712 * docs/random/ensonic/profiling.txt:
7713 * docs/random/ensonic/receipies.txt:
7716 2006-11-13 Wim Taymans <wim@fluendo.com>
7718 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7721 Fix documentation for gst_pad_dispatcher. Fixes #374475.
7723 2006-11-13 Wim Taymans <wim@fluendo.com>
7725 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
7727 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7728 Store new length in segment duration so we don't keep on calling the
7729 potentially expensize get_size() call. Fixes #370865.
7731 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
7733 Patch by: Sergey Scobich <sergey.scobich at gmail com>
7735 * win32/common/libgstreamer.def:
7736 Add two missing symbols (#366492).
7738 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
7740 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
7741 (gst_adapter_take_buffer):
7742 Fix format string to use all its arguments.
7743 Remove useless >= check on a guint
7745 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
7747 * tests/examples/adapter/.cvsignore:
7748 Ignore build file as commanded by the build-bot
7750 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
7752 * tests/examples/adapter/Makefile.am:
7753 * tests/examples/adapter/adapter_test.c: (run_test_take),
7754 (run_test_take_buffer), (run_tests), (main):
7756 Add new files from the previous commit
7758 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
7762 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
7763 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
7764 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
7765 * libs/gst/base/gstadapter.h:
7766 * tests/check/libs/adapter.c: (create_and_fill_adapter),
7767 (GST_START_TEST), (gst_adapter_suite):
7768 * tests/examples/Makefile.am:
7769 Do some optimisation work in GstAdapter to avoid copies in more cases.
7770 It could still do slightly better by merging buffers when
7771 gst_buffer_is_span_fast is true, but is already faster.
7773 Also, avoid traversing a single-linked list to append each incoming
7774 buffer inside the adapter.
7776 Add simple test app that times the adapter behaviour in different
7777 situations, and extend the unit test to check that bytes enter and
7778 exit the adapter in their original order.
7780 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
7782 * docs/random/draft-missing-plugins.txt:
7783 Update: use element message instead of adding a new message
7784 type to the core; don't provide GStreamer API to initiate the
7785 plugin download, just provide API to compose the strings needed
7786 and let an external libgimmestuff handle the rest.
7788 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
7790 * tools/gst-inspect.c: (print_element_properties_info):
7791 Print a string instead of 'unknown type' for GValueArray properties
7793 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
7795 * docs/random/draft-missing-plugins.txt:
7798 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
7800 * tests/examples/typefind/typefind.c: (type_found), (main):
7801 Make typefind element example work again (#371894); add a
7804 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
7806 * docs/random/draft-missing-plugins.txt:
7807 Commit initial draft about how to deal with missing plugins,
7808 needs work (API too).
7810 2006-11-07 Stefan Kost <ensonic@users.sf.net>
7812 * docs/pwg/advanced-types.xml:
7813 documents the new caps elements (see #363118)
7815 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
7817 * gst/gstplugin.c: (gst_plugin_load_file):
7818 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
7819 (gst_file_src_map_region), (gst_file_src_start):
7820 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
7821 (gst_file_index_commit):
7822 Use g_strerror() instead of strerror() - we want UTF-8.
7824 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
7826 Patch by: Peter Kjellerstedt <pkj at axis com>
7828 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7829 Another printf fix (#371493).
7831 2006-11-06 Stefan Kost <ensonic@users.sf.net>
7833 * tests/check/gst/gsttag.c:
7834 relicence (okay with author=company)
7836 2006-11-06 Stefan Kost <ensonic@users.sf.net>
7838 * gst/gstpad.c: (gst_pad_event_default_dispatch),
7839 (gst_pad_push_event):
7840 Enhance debug and improve docs
7845 2006-11-06 Stefan Kost <ensonic@users.sf.net>
7847 * docs/random/ensonic/distributed.txt:
7848 * docs/random/ensonic/profiling.txt:
7851 2006-11-06 Stefan Kost <ensonic@users.sf.net>
7853 * docs/gst/gstreamer-sections.txt:
7854 add new API and fix the build
7856 * gst/gstbin.c: (gst_bin_recalc_state):
7857 * gst/gstelement.c: (gst_element_message_full),
7858 (gst_element_get_state_func), (gst_element_set_state_func):
7859 use new API and improve logging
7861 * gst/gstutils.c: (gst_element_state_change_return_get_name):
7863 API: add function to get StateChangereturn names to improve logs
7865 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
7867 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7868 I'm considering shooting the next person to put strerror stuff
7869 in the translateable part of the message.
7871 2006-11-03 Wim Taymans <wim@fluendo.com>
7873 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7874 Get the type and printf conversion specifiers right.
7876 2006-11-03 Wim Taymans <wim@fluendo.com>
7878 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7880 * gst/gstpad.c: (gst_pad_init), (pre_activate),
7881 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
7882 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
7883 Some small cleanups. Improve debugging.
7885 Signal all waiting threads with a broadcast instead of just one.
7888 2006-11-03 Wim Taymans <wim@fluendo.com>
7890 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
7891 (gst_fd_src_create):
7893 Only update fd when it's different from the old.
7895 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
7897 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
7898 Printf fixes for PPC/OSX, take two (#369366).
7900 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
7902 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
7904 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
7905 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7906 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
7907 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
7908 don't cast to long long for portability reasons, but use
7909 GLib's types instead.
7911 2006-10-30 Michael Smith <msmith@fluendo.com>
7913 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
7914 Get the arguments to lseek() the right way around.
7917 2006-10-30 Wim Taymans <wim@fluendo.com>
7919 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
7922 _declspec should be __declspec (two underscores, not one). Fixes 366572.
7924 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
7926 Patch by: Kjartan Maraas <kmaraas at gnome org>
7928 * docs/design/part-MT-refcounting.txt:
7929 * docs/random/wtay/capsnego2-docs:
7932 Typo fixes (#366212).
7934 2006-10-28 Wim Taymans <wim@fluendo.com>
7936 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7939 * win32/common/libgstbase.def:
7940 * win32/common/libgstreamer.def:
7941 * win32/vs8/libgstbase.vcproj:
7942 * win32/vs8/libgstcontroller.vcproj:
7943 Add needed entries in .def files.
7945 Rearrange def files in vs8 solutions. Fixes #366286.
7947 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
7949 * win32/common/gstconfig.h:
7950 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
7951 hand-made win32 gstconfig.h. Fixes #366321.
7953 2006-10-27 Wim Taymans <wim@fluendo.com>
7955 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
7956 (gst_ghost_pad_new_full):
7957 Make acceptcaps return TRUE when we don't have a target, just like
7960 2006-10-27 Wim Taymans <wim@fluendo.com>
7962 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7963 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
7965 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
7967 * gst/gststructure.c: (gst_structure_id_set_value):
7968 If someone tries to set a non-UTF8 string field on a structure,
7969 don't just print a warning, but also ignore the request and do
7970 not change/add that field to the structure.
7972 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7975 2006-10-25 David Schleef <ds@schleef.org>
7978 g_hash_table_insert() needs a cast to a non-const pointer duh.
7980 2006-10-25 David Schleef <ds@schleef.org>
7984 Change name parameter of _gst_debug_register_funcptr to const
7985 to reflect the constness of its use in the function as well
7986 as to quiet a gcc warning.
7988 2006-10-25 Edward Hervey <edward@fluendo.com>
7990 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7991 Don't push the buffer if it's empty.
7994 2006-10-24 Wim Taymans <wim@fluendo.com>
7999 * libs/gst/base/gstbasetransform.c:
8000 (gst_base_transform_sink_eventfunc):
8001 Debug segment values *after* updating them as this is more
8004 2006-10-23 Wim Taymans <wim@fluendo.com>
8006 * docs/design/part-events.txt:
8009 * docs/design/part-block.txt:
8010 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
8011 (gst_pad_push_event):
8012 Revert BLOCKING patch, it tries to be smart without really having a
8013 clear idea what or how. So, now we discard all FLUSHING events again on
8014 a blocking pad. Should fix gnonlin again.
8016 2006-10-23 Wim Taymans <wim@fluendo.com>
8018 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
8020 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
8021 (gst_base_src_start), (gst_base_src_activate_push):
8022 Make sure size is always initialized. Fixes #364388.
8024 2006-10-20 Stefan Kost <ensonic@users.sf.net>
8026 * docs/random/ensonic/distributed.txt:
8027 add some ideas about doing distributed processing
8029 * docs/random/ensonic/profiling.txt:
8030 get_rusage look promising
8032 2006-10-18 Stefan Kost <ensonic@users.sf.net>
8034 * docs/manual/basics-helloworld.xml:
8035 Add a cast in example to fix compile warning
8037 2006-10-18 Wim Taymans <wim@fluendo.com>
8039 * gst/gstsegment.c: (gst_segment_set_last_stop),
8040 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
8041 Relax arg checking again, -1 is allowed.
8043 2006-10-18 Wim Taymans <wim@fluendo.com>
8045 * gst/gstsegment.c: (gst_segment_set_last_stop),
8046 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
8047 _set_last_stop() must be with a value != -1
8048 A _TYPE_SET to -1 means seek to 0.
8049 Calc last_stop correctly for negative rates.
8050 Make sure we work with positive durations when updating a segment.
8052 2006-10-18 Wim Taymans <wim@fluendo.com>
8054 * docs/design/part-live-source.txt:
8058 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
8061 Add an explicit cast to GstBuffer** to keep old code that added an
8062 explicit cast to GstMiniObject** for gst_mini_object_replace()
8063 compiling without warning.
8065 2006-10-18 Stefan Kost <ensonic@users.sf.net>
8067 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
8068 check for validity of dates
8070 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
8072 * docs/gst/gstreamer-sections.txt:
8073 Forgot this one, makes gtk-doc shut up.
8075 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
8077 Patch by: Peter Kjellerstedt <pkj at axis com>
8080 Don't define xmlNodePtr to gpointer if the core was built with
8081 --disable-loadsave and --disable-registry, this will break
8082 applications that want to use libxml2 but are buildling against a
8083 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
8084 instead so we don't have to mess with the libxml2 namespace
8087 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
8090 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
8091 type-punned pointer warnings.
8093 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
8096 Add casts to the correct return type to state <=> state transition
8099 2006-10-16 Stefan Kost <ensonic@users.sf.net>
8101 * docs/design/part-live-source.txt:
8102 describe howto handle latency
8104 * docs/random/ensonic/profiling.txt:
8107 * tools/gst-plot-timeline.py:
8108 fix log parsing for solaris, remove unused function
8110 2006-10-16 Wim Taymans <wim@fluendo.com>
8112 * docs/design/part-trickmodes.txt:
8114 Update some docs regarding reverse playback.
8116 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
8118 Patch by: Marcus Granado <mrc dot gran at gmail com>
8120 * win32/vs8/grammar.vcproj:
8121 Error out with a warning if glib-genmarshal.exe is not in path,
8122 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
8124 2006-10-13 Wim Taymans <wim@fluendo.com>
8126 * gst/gstsegment.c: (gst_segment_set_seek):
8127 When seeking to stop -1, set last_stop (current position) to the
8128 duration of the segment.
8130 2006-10-13 Wim Taymans <wim@fluendo.com>
8133 Clarify _NO_PREROLL a bit more.
8138 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
8139 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
8140 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
8141 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
8142 due to wrong locking order. Fixes #361769.
8143 Remove some redundant/misplaced checks in pad_block.
8145 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8146 For negative rates, count backwards from the duration.
8148 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
8150 * gst/gsterror.c: (_gst_library_errors_init):
8151 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
8152 up with something better).
8154 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
8156 * win32/vs6/libgstreamer.dsp:
8157 * win32/vs7/libgstreamer.vcproj:
8158 * win32/vs8/libgstreamer.vcproj:
8159 Don't reference glib-compat.c which is currently not used and not
8160 disted; add gstquark.c which was recently added. Fixes #361730.
8162 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
8164 * win32/common/libgstbase.def:
8165 * win32/common/libgstcontroller.def:
8166 * win32/common/libgstreamer.def:
8167 Add gst_caps_merge() and a bunch of other recently-added functions.
8170 2006-10-11 Wim Taymans <wim@fluendo.com>
8172 * docs/plugins/gstreamer-plugins.args:
8173 * docs/plugins/inspect/plugin-coreelements.xml:
8174 * docs/plugins/inspect/plugin-coreindexers.xml:
8175 Update element args.
8177 * gst/gstsystemclock.c:
8178 Small comment update.
8180 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
8181 (gst_tee_request_new_pad), (gst_tee_release_pad),
8182 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
8183 (gst_tee_sink_activate_pull):
8184 * plugins/elements/gsttee.h:
8186 Add default property defines.
8187 Implement release pad function.
8188 Give properties better blubs etc.
8189 Activate pads before adding them to a running tee.
8190 Do simple buffer_alloc on the first requested pad.
8191 Post error when activation fails.
8193 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
8195 * gst/gst.c: (ensure_current_registry_forking):
8196 Check return value of write() to make compiler happy.
8198 2006-10-11 Wim Taymans <wim@fluendo.com>
8200 Patch by: Sjoerd Simons <sjoerd at luon dot net>
8202 * plugins/elements/gstqueue.c: (gst_queue_chain):
8203 Recheck queue filledness after signalling the overrun when we're about
8204 to leak downstream because we released the lock when emitting the signal
8205 and the queue could be empty again. Fixes #352345.
8207 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
8209 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
8210 Fix refcounting here too, just like we did for _new_valist() a few
8211 days ago (#357180) (thanks to René Stadler). Also remove all those
8212 'Since: 0.9' from the gtk-doc blobs.
8214 * tests/check/libs/controller.c: (controller_refcount_new_list),
8215 (gst_controller_suite):
8216 Unit test for the above.
8218 2006-10-10 Wim Taymans <wim@fluendo.com>
8220 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
8222 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8223 (gst_pad_save_thyself):
8225 Write pad direction in XML output. Fixes #345496.
8227 2006-10-10 Wim Taymans <wim@fluendo.com>
8229 Patch by: René Stadler <mail at renestadler dot de>
8231 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8232 (gst_controller_new_list), (_gst_controller_dispose),
8233 (_gst_controller_finalize), (_gst_controller_class_init):
8234 Take ref to controlled object so that it cannot disappear.
8237 2006-10-10 Wim Taymans <wim@fluendo.com>
8239 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
8240 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8241 (gst_check_teardown_sink_pad):
8242 Activate/deactivate pads in setup/teardown respectively.
8244 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8246 Patch by: Josep Torra Valles <josep@fluendo.com>
8249 Cast values when making gstenumtypes.h. This pacifies Forte
8250 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
8253 2006-10-09 Wim Taymans <wim@fluendo.com>
8255 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
8256 Rename some more @cur to @start to fix docs.
8258 * gst/gstsegment.c: (gst_segment_set_seek):
8260 time and start must always stay in sync as defined in design doc.
8262 * gst/gsttaglist.c: (gst_tag_list_is_empty):
8263 Rename param to fix docs.
8265 * tests/check/gst/gstsegment.c: (GST_START_TEST):
8266 Check that start and time are in sync.
8268 * tests/check/pipelines/parse-launch.c:
8269 (gst_parse_test_element_change_state):
8270 Activate pad before adding to the element.
8272 2006-10-09 Wim Taymans <wim@fluendo.com>
8274 * docs/design/part-qos.txt:
8279 Update seek event docs regarding negative rates.
8280 Rename @cur to @start.
8282 * gst/gstsegment.c: (gst_segment_set_seek):
8284 Update set_seek docs regarding negative rates.
8285 Correctly update last_stop to @stop when dealing with negative
8287 Rename @cur to @start.
8289 * tests/check/gst/gstpad.c: (GST_START_TEST):
8290 Activate pads before trying to use them.
8292 * tests/check/gst/gstsegment.c: (GST_START_TEST),
8293 (gst_segment_suite):
8294 Add simple check for segments and negative rates.
8296 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
8298 * gst/gsttaglist.c: (gst_tag_list_is_empty):
8300 * docs/gst/gstreamer-sections.txt:
8301 API: add gst_tag_list_is_empty() (#360467).
8303 * tests/check/gst/gsttag.c: (GST_START_TEST):
8306 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8309 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
8310 a value that doesn't fit on enumeration.
8312 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8314 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8315 Remove local debugging system and use Gstreamer's instead.
8317 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8319 Patch by: Josep Torra Valles <josep@fluendo.com>
8321 * common/m4/gst-error.m4:
8322 Disable warning of statement not reached on Forte.
8324 Fix warning on Forte (value doesn't fit on enumeration).
8325 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
8326 Fix warning on Forte (value doesn't fit on enumeration).
8327 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8328 DEBUG macro says it takes minimum of 2 args and so Forte
8329 complains about the use with just 1 arg.
8330 * plugins/elements/gstfdsink.c:
8331 * plugins/elements/gstfdsrc.c:
8332 * plugins/elements/gstfilesink.c:
8333 * plugins/elements/gstfilesrc.c:
8334 Use correct return type for the uri handler implementations.
8336 All these fix warnings in Forte. Fixes bug #360860.
8338 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
8341 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
8342 format string, so don't use G_GNUC_PRINTF for those versions.
8344 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
8346 * gst/gsttaglist.c: (gst_is_tag_list):
8348 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
8350 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8351 Small test for the above.
8353 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
8356 Less tabs, more spaces.
8358 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
8361 Those two function declarations do actually belong there, revert
8362 commit from yesterday that turned them intro macros.
8364 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8366 Patch by: Josep Torra Valles <josep@fluendo.com>
8368 * gst/gst.c: (gst_init_get_option_group):
8369 Fix empty declaration and type mismatch.
8370 * gst/gstbin.c: (gst_bin_change_state_func):
8372 * gst/gstelement.c: (gst_element_continue_state),
8373 (gst_element_set_state_func), (gst_element_change_state),
8374 (gst_element_change_state_func):
8375 Fix type mismatches.
8376 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
8377 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
8378 Cast as appropriate.
8379 * gst/gstobject.c: (gst_class_signal_connect):
8380 Cast as appropriate. The function pointer parameter really
8381 has the wrong type but would break API if we change it.
8383 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
8384 order of including string.h.
8385 * gst/gstutils.c: (gst_element_state_get_name):
8386 Remove unreachable line.
8387 * gst/gstxml.c: (gst_xml_parse_doc):
8389 All these caught by Forte.
8391 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8393 Patch by: Josep Torra Valles <josep@fluendo.com>
8395 * common/m4/gst-error.m4:
8397 We need to disable warnings on Forte for empty declarations
8398 due to gst-indent adding ;s to lines that just use macros
8399 where the macro actually doesn't need a ; at end to end
8402 2006-10-06 Wim Taymans <wim@fluendo.com>
8404 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8405 (gst_file_sink_close_file), (gst_file_sink_event),
8406 (gst_file_sink_render):
8407 Add some FIXME for the NEWSEGMENT handling.
8409 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8411 * gst/parse/grammar.y:
8412 Remove static function gst_parse_element_lock as all it does
8413 is return. Looks like cruft from 0.8.
8415 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
8417 Patch by: Josep Torra Valles <josep@fluendo.com>
8419 * common/m4/gst-error.m4:
8421 * libs/gst/net/Makefile.am:
8422 Fix a compilation issue with Forte on Solaris. inet_aton is in
8425 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
8427 * gst/gstpad.c: (pre_activate):
8428 * gst/gstregistry.c: (gst_registry_scan_path_level):
8429 * gst/gstregistryxml.c: (load_plugin):
8430 * libs/gst/controller/gstcontroller.c:
8431 (gst_controlled_property_set_interpolation_mode):
8432 * libs/gst/dataprotocol/dataprotocol.c:
8433 (gst_dp_packet_from_event_1_0):
8434 * libs/gst/net/gstnetclientclock.c:
8435 (gst_net_client_clock_observe_times):
8436 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
8439 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
8442 * docs/gst/gstreamer-sections.txt:
8443 * gst/gstconfig.h.in:
8446 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
8447 whether we can use G_GNUC_PRINTF in other header files and at
8448 least check the printf format/arguments of debug messages and
8449 GST_ELEMENT_ERROR messages when the printf extension is not
8451 Replace more tabs with spaces in gstinfo.h and remove two spurious
8452 function declarations in GST_DISABLE_DEBUG part with macros.
8454 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
8456 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
8457 More docs for the sync-message signal (mention that it is not
8458 emitted by default); log message structures of messages posted on
8461 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
8463 * gst/gst.c: (ensure_current_registry_forking):
8464 Use a pipe pair to receive status results from the forked child, and
8465 ignore the result from waitpid. Fixes #355499
8467 2006-10-02 Wim Taymans <wim@fluendo.com>
8469 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8470 (gst_ghost_pad_suite):
8473 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
8476 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
8478 2006-10-02 Edward Hervey <edward@fluendo.com>
8480 * docs/design/part-block.txt:
8481 Further explain the use of flushing on blocked pads.
8482 * docs/gst/gstreamer-sections.txt:
8483 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
8484 (gst_pad_push_event):
8486 Added new GstPadFlag : GST_PAD_BLOCKING.
8487 Adds the notion of pads really blocking, which enables to properly
8488 handle FLUSH_START/FLUSH_STOP events on blocked pads.
8490 API: gst_pad_is_blocking()
8491 API: GST_PAD_IS_BLOCKING() macro
8492 API: GST_PAD_BLOCKING GstPadFlag
8494 2006-10-02 Wim Taymans <wim@fluendo.com>
8496 Patch by: mrcgran <mrc.gran at gmail dot com>
8498 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
8499 Filter the proxied caps against the padtemplate if we have one.
8501 * gst/gstquery.c: (gst_query_new_segment):
8502 Add include for gstinfo.h so that compilation with
8503 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
8505 2006-10-02 Wim Taymans <wim@fluendo.com>
8507 Patch by: Alessandro Decina <alessandro at nnva org>
8509 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
8510 (gst_file_sink_set_location), (gst_file_sink_open_file),
8511 (gst_file_sink_close_file), (gst_file_sink_event),
8512 (gst_file_sink_render):
8513 Set file to NULL when closing filesink so that we can set a new filename
8514 in READY. Fixes #358613.
8516 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
8518 Patch by: Alessandro Decina <alessandro at nnva org>
8520 * gst/gstevent.c: (_gst_event_copy):
8521 Fix gst_mini_object_make_writable() and gst_event_copy() for events
8522 with event structures by setting the parent refcount address of the
8523 copied structure to the address of the refcount member of the newly
8524 copied event rather than the address of the refcount member of the
8525 original event. Fixes #358737.
8527 * tests/check/gst/gstevent.c: (GST_START_TEST):
8528 Unit test for the above.
8530 2006-09-29 Stefan Kost <ensonic@users.sf.net>
8532 * docs/design/Makefile.am:
8533 Dist some more files.
8535 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
8537 * tests/check/libs/controller.c: (GST_START_TEST),
8538 (gst_controller_suite):
8539 Add test for the previous fix; add some more tests
8540 for correct refcounting behaviour; fix a few leaks
8541 in test cases; call gst_controller_init() at start
8544 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
8546 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8547 (gst_controller_set_from_list):
8548 Don't g_return_val_if_fail() on timed values with invalid timestamps
8549 inside a critical section without unlocking the mutex. Spotted by
8550 René Stadler. (#357617)
8551 Also, fix up refcounting properly: when returning an existing
8552 controller, we should increase the reference only once and not
8553 once per property and when trying to control a property again
8554 we should also increase the refcount.
8556 2006-09-29 Wim Taymans <wim@fluendo.com>
8558 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8559 * libs/gst/net/gstnettimeprovider.c:
8560 (gst_net_time_provider_thread):
8561 Stop reading commands when EOF as well.
8563 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
8564 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
8565 * plugins/elements/gstidentity.c: (gst_identity_class_init):
8566 Unify description of the dump property.
8568 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
8570 * tests/examples/manual/.cvsignore:
8571 OK, so it's actually cvsignore that needs changing. Stop laughing.
8573 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
8575 * tests/examples/manual/Makefile.am:
8576 Gah, declare vars *before* using them
8578 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
8580 * gst/gst.c: (init_pre), (scan_and_update_registry),
8581 (ensure_current_registry_nonforking),
8582 (ensure_current_registry_forking), (ensure_current_registry),
8583 (init_post), (gst_debug_help), (gst_deinit):
8584 * gst/gst_private.h:
8585 * gst/gstregistry.c: (gst_registry_finalize),
8586 (gst_registry_remove_features_for_plugin_unlocked),
8587 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8588 (gst_registry_scan_path),
8589 (_priv_gst_registry_remove_cache_plugins),
8590 (_priv_gst_registry_cleanup):
8591 * gst/gstregistry.h:
8592 Re-commit the registry changes, along with an extra fix:
8593 When a cached plugin is encountered at a different file path,
8594 update the stored path in the registry cache so that the parent
8595 process knows where it actually is now when it re-reads the registry
8596 cache. Fixes the thing that broke distcheck with the previous commit.
8598 * tests/check/Makefile.am:
8599 Clean up files named 'core' too when running make clean.
8601 * tests/examples/manual/Makefile.am:
8602 Set up a registry path for running these tests, and clean it properly
8605 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
8608 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
8609 want gmodule-no-export-2.0.pc instead so that we don't drag in
8610 --export-dynamic on every project that links to GStreamer.
8612 Also, make our export regex only match the start of symbols, rather
8613 than any symbol that contains '_gst' somewhere.
8615 * libs/gst/check/Makefile.am:
8616 The libgstcheck we build does however need export-dynamic, as it
8617 produces some symbols that don't match our _gst... style regex.
8620 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
8622 * gst/gst.c: (init_pre), (scan_and_update_registry),
8623 (ensure_current_registry_nonforking),
8624 (ensure_current_registry_forking), (ensure_current_registry),
8625 (init_post), (gst_debug_help), (gst_deinit):
8626 * gst/gst_private.h:
8627 * gst/gstregistry.c: (gst_registry_finalize),
8628 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8629 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
8630 (_gst_registry_cleanup):
8631 * gst/gstregistry.h:
8632 Revert previous change until I figure out why it breaks distcheck.
8634 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
8636 * gst/gst.c: (init_pre), (scan_and_update_registry),
8637 (ensure_current_registry_nonforking),
8638 (ensure_current_registry_forking), (ensure_current_registry),
8639 (init_post), (gst_debug_help), (gst_deinit):
8641 Make init_pre and init_post take the full complement of GOptionFunc
8642 args so they can return useful GErrors. Make the registry updating
8645 Call _priv_gst_registry_remove_cache_plugins after scanning files to
8646 ensure that the registry we're about to write out doesn't contain
8647 stale information about old-deleted plugin files.
8649 Make _priv_gst_registry_remove_cache_plugins return a boolean so
8650 that deletion of plugin files is considered a registry change.
8652 * gst/gst_private.h:
8653 * gst/gstregistry.c: (gst_registry_finalize),
8654 (gst_registry_remove_features_for_plugin_unlocked),
8655 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8656 (gst_registry_scan_path),
8657 (_priv_gst_registry_remove_cache_plugins),
8658 (_priv_gst_registry_cleanup):
8659 * gst/gstregistry.h:
8660 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
8661 by adding _priv prefix, so that they won't appear in the global
8662 symbol table. They still do atm though because of #318031. Move the
8663 prototypes to gst_private.h
8665 When removing a plugin, remove all features for that plugin too.
8668 2006-09-27 Wim Taymans <wim@fluendo.com>
8670 * docs/random/moving-plugins:
8671 Make it clear that the "compiled-in descriptions" really mean
8672 the element details.
8674 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8675 (gst_base_sink_wait_preroll):
8678 * docs/libs/gstreamer-libs-sections.txt:
8679 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
8680 (gst_base_src_get_range), (gst_base_src_activate_push):
8681 * libs/gst/base/gstbasesrc.h:
8682 Added function to block while waiting for PLAYING, this function
8683 is used by live sources that block on the clock.
8684 API: gst_base_src_wait_playing()
8686 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
8688 Patch by: Peter Kjellerstedt <pkj at axis com>
8691 gst-element-check.m4 is generated and should therefore be
8692 copied from the build dir rather than the source dir (#357593).
8693 'make distcheck' hasn't noticed this because we were disting
8694 the file as well, so stop doing that.
8696 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
8698 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8699 Add some tests for gst_caps_intersect().
8701 * tools/gst-launch.c: (event_loop):
8702 Print all buffering percentages we get, even the 100% one.
8704 2006-09-26 Wim Taymans <wim@fluendo.com>
8706 * tools/gst-inspect.c: (print_element_properties_info),
8707 (print_signal_info):
8708 Fix printing of flags to match the look of enums.
8710 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
8712 * gst/gstelementfactory.c:
8713 Fix typo in docs blurb.
8715 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
8717 * gst/gsturi.c: (search_by_entry):
8718 Don't assert/crash here if a uri handler doesn't return any
8719 supported protocols. The list of protocols could be generated
8720 dynamically at runtime or at plugin registration, and an error
8721 in the underlying library shouldn't be fatal (#353301).
8723 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
8726 Fix warning if HAVE_PRINTF_EXTENSION is undefined
8727 (spotted by Peter Kjellerstedt).
8729 2006-09-23 Wim Taymans <wim@fluendo.com>
8731 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
8733 * libs/gst/base/gstbasesrc.c:
8734 (gst_base_src_default_check_get_range), (gst_base_src_start),
8735 (gst_base_src_activate_push), (gst_base_src_activate_pull),
8736 (gst_base_src_change_state):
8737 Match _start/_stop calls in the activate functions. Remove redundant
8738 _stop call from the state change function. Fixes #356910.
8739 Turn failure DEBUG into ERROR.
8741 2006-09-22 Wim Taymans <wim@fluendo.com>
8743 * docs/design/part-buffering.txt:
8744 * gst/gstmessage.c: (gst_message_new_buffering),
8745 (gst_message_parse_buffering):
8746 Update docs about buffering.
8748 * docs/design/part-trickmodes.txt:
8751 2006-09-22 Stefan Kost <ensonic@users.sf.net>
8753 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8754 (gst_controller_new_list):
8755 Ref instances when returning them again (fixes #357180)
8757 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
8759 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
8760 Don't forget to release proxy lock when there's an error.
8762 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
8765 Add extra initialisers for Caps things, to fix some plugin warnings
8768 2006-09-18 Wim Taymans <wim@fluendo.com>
8770 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
8771 Also set template on the internal pad so that a getcaps from the
8772 target pad returns the template caps.
8774 2006-09-18 Wim Taymans <wim@fluendo.com>
8776 * gst/gstelement.c: (gst_element_post_message),
8777 (gst_element_dispose):
8778 Use _DEBUG_OBJECT some more.
8780 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8783 * tools/gst-launch.c: (main):
8784 If the toplevel element is not a GstPipeline, it must be put in a
8785 pipeline so that a bus and clock is selected.
8787 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
8789 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
8790 JITTER, RATE, and LATENCY query should be handled by the
8791 default case and not by the CONVERT query code.
8793 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
8795 * gst/gstformat.c: (gst_format_register):
8796 Fix locking order (must take lock before using n_values).
8798 * gst/gstvalue.c: (gst_value_serialize_enum),
8799 (gst_value_deserialize_enum_iter_cmp),
8800 (gst_value_deserialize_enum):
8801 Fix serialisation/deserialisation of custom registered GstFormats.
8803 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8804 Unit test for custom format serialisation/deserialisation.
8806 2006-09-17 Stefan Kost <ensonic@users.sf.net>
8808 * docs/pwg/building-boiler.xml:
8809 * plugins/elements/gstcapsfilter.c:
8810 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
8813 2006-09-16 Edward Hervey <edward@fluendo.com>
8815 * libs/gst/base/gstbasetransform.c:
8816 (gst_base_transform_buffer_alloc):
8817 Check if requested caps are the same as the sinks caps IF
8818 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
8820 This fixes the renegotiation issues stated in #352827.
8822 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
8825 * docs/manual/advanced-autoplugging.xml:
8826 * tests/examples/Makefile.am:
8827 * tests/examples/manual/.cvsignore:
8828 * tests/examples/manual/Makefile.am:
8829 * tests/examples/manual/extract.pl:
8830 Extract the manual examples again like we used to do.
8833 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
8835 * win32/common/config.h:
8838 2006-09-16 Stefan Kost <ensonic@users.sf.net>
8841 Documents how to receive errors.
8843 2006-09-15 Wim Taymans <wim@fluendo.com>
8845 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
8846 (event_loop), (main):
8847 Added some comments here and there.
8848 Post an application message when an interrupt is caught instead of doing
8849 an uncontrolled state change.
8850 Clean up the event loop.
8851 Handle buffering messages, pause/resume the pipeline.
8852 Make shutdown because of an interrupt more reliable.
8854 2006-09-15 Wim Taymans <wim@fluendo.com>
8856 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8857 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
8858 (gst_base_sink_preroll_object):
8859 Make sure that our internal state is correct when we commit our state
8860 asynchronously. This solves a race where a state change to PLAYING
8861 could cause the sink to remain blocked in preroll in some situations.
8863 2006-09-15 Wim Taymans <wim@fluendo.com>
8865 * tools/gst-inspect.c: (print_element_properties_info),
8866 (print_signal_info):
8867 List flags as hex so it's easier to deal with.
8869 2006-09-15 Wim Taymans <wim@fluendo.com>
8871 * docs/libs/gstreamer-libs-sections.txt:
8872 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
8873 (gst_base_sink_do_sync):
8874 * libs/gst/base/gstbasesink.h:
8875 Expose logic to wait for preroll so that subclasses such as audiosink
8876 can also use this method.
8877 API: gst_base_sink_wait_preroll()
8879 2006-09-15 Wim Taymans <wim@fluendo.com>
8881 * gst/gstobject.c: (gst_object_set_parent):
8882 * gst/gstpipeline.c: (do_pipeline_seek):
8883 Small cleanups in docs and code.
8885 * gst/gstsegment.c: (gst_segment_clip):
8886 * tests/check/gst/gstsegment.c: (GST_START_TEST):
8887 if stop == start and start is in the segment, no clipping should be
8888 done. Also add a test for this.
8890 2006-09-15 Wim Taymans <wim@fluendo.com>
8892 * docs/design/part-buffering.txt:
8893 * docs/gst/gstreamer-sections.txt:
8894 * gst/gstmessage.c: (gst_message_new_buffering),
8895 (gst_message_parse_buffering):
8897 Added methods to create and parse BUFFERING messages.
8898 Added preliminary docs about buffering.
8899 API: gst_message_new_buffering
8900 API: gst_message_parse_buffering
8902 2006-09-06 Wim Taymans <wim@fluendo.com>
8905 Update documentation.
8907 * gst/gstelement.c: (gst_element_class_init),
8908 (gst_element_release_request_pad), (gst_element_set_clock),
8909 (gst_element_get_index), (gst_element_add_pad),
8910 (gst_element_remove_pad), (gst_element_get_random_pad),
8911 (gst_element_send_event), (gst_element_get_query_types),
8912 (gst_element_query), (gst_element_post_message),
8913 (gst_element_message_full), (gst_element_continue_state),
8914 (gst_element_lost_state), (gst_element_save_thyself),
8915 (gst_element_restore_thyself):
8916 Documentation updates.
8917 Rename last bit of the new-pad -> pad-added signal rename.
8918 Fix the case where an element query would only work if the source
8920 Avoid some useless type checking in message handling.
8925 Documentation updates.
8927 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
8929 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
8930 add an INFO line for when we actually update the fd
8932 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
8937 === release 0.10.10 ===
8939 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
8942 releasing 0.10.10, "Pais"
8944 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
8946 * docs/manual/advanced-position.xml:
8947 Fix typo in sample code.
8949 2006-09-05 Wim Taymans <wim@fluendo.com>
8951 * libs/gst/net/gstnetclientclock.c: (inet_aton),
8952 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8953 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
8954 * libs/gst/net/gstnetclientclock.h:
8955 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
8956 * libs/gst/net/gstnettimepacket.h:
8957 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
8958 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
8959 (gst_net_time_provider_thread), (gst_net_time_provider_new):
8960 * libs/gst/net/gstnettimeprovider.h:
8961 Make stuff compile on windows. Fixes #345295.
8963 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
8965 * gst/gst.c: (ensure_current_registry_forking):
8966 Print better details when child was terminated by signal.
8968 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
8970 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
8971 Print a warning rather than g_assert() if a plugin feature
8972 is a URI handler but returns no protocols (#353976).
8974 2006-09-02 Stefan Kost <ensonic@users.sf.net>
8976 * docs/random/moving-plugins:
8979 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
8981 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
8982 Fix locking order, handle NULL function values properly.
8987 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
8988 Initialise variable before using it and fix debug statement to
8989 print the address of the function rather than the address of the
8990 variable on the stack holding the address of the function.
8992 2006-09-01 Wim Taymans <wim@fluendo.com>
8994 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
8995 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
8996 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
8997 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
8998 (gst_ghost_pad_parent_unset),
8999 (gst_ghost_pad_internal_do_activate_push),
9000 (gst_ghost_pad_internal_do_activate_pull),
9001 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9002 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9003 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
9004 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
9005 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
9006 (gst_ghost_pad_new_no_target_from_template),
9007 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9009 Avoid needless typechecking in macros.
9010 Since the internal pad is always present and never changes, there is
9011 no need to locking or ref when retrieving it.
9012 Improve debugging a bit.
9013 Handle link errors when setting the target. Fixes #341029.
9015 2006-09-01 Wim Taymans <wim@fluendo.com>
9017 * docs/libs/gstreamer-libs-sections.txt:
9018 * docs/plugins/gstreamer-plugins-sections.txt:
9021 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
9022 (gst_collect_pads_event):
9023 * libs/gst/base/gstcollectpads.h:
9024 Documentation updates.
9025 Free queued buffer when removing a pad.
9027 2006-08-31 Michael Smith <msmith@fluendo.com>
9029 * gst/gstutils.c: (gst_element_link_pads),
9030 (gst_element_link_pads_filtered):
9031 Ensure that we set a capsfilter to NULL if we failed to link it
9032 when doing filtered linking, to avoid criticals.
9034 No need to check for unreffing srcpad, which is explicly NULLed
9035 above (a trivial code cleanup).
9037 2006-08-31 Wim Taymans <wim@fluendo.com>
9039 * docs/design/part-gstghostpad.txt:
9040 Update ascii art in documentation.
9042 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
9043 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
9044 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
9045 (gst_ghost_pad_internal_do_activate_push),
9046 (gst_ghost_pad_internal_do_activate_pull),
9047 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9048 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9049 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
9050 (gst_ghost_pad_set_target):
9051 Small cleanups and leak fixes.
9052 Remove some checks now that the internal pad is never NULL.
9053 Fix the case where linking pads without a target would create nasty
9054 criticals. Fixes #341029.
9055 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
9056 value of _set_target().
9058 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
9059 (gst_ghost_pad_suite):
9060 Some more tests for creating and linking untargeted ghostpads.
9062 2006-08-31 Edward Hervey <edward@fluendo.com>
9064 * docs/gst/gstreamer-sections.txt:
9065 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
9066 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
9067 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
9068 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
9069 (gst_ghost_pad_new_from_template),
9070 (gst_ghost_pad_new_no_target_from_template):
9071 * gst/gstghostpad.h:
9072 Refactored *_new() functions.
9073 Templates are now used as a g_object_new() parameter.
9074 Use template in _do_getcaps() if we don't have a target.
9075 Small documentation cleanups.
9076 Added two new constructors:
9077 gst_ghost_pad_new_from_template()
9078 gst_ghost_pad_new_no_target_from_template()
9079 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
9080 (gst_ghost_pad_suite):
9081 Added tests for new ghostpad instanciation functions.
9083 API additions: gst_ghost_pad_new_from_template,
9084 gst_ghost_pad_new_no_target_from_template
9086 2006-08-30 Stefan Kost <ensonic@users.sf.net>
9088 * docs/random/ensonic/profiling.txt:
9089 Ideas about qos profiling.
9091 2006-08-29 Wim Taymans <wim@fluendo.com>
9093 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
9097 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
9100 Improve and detypofy docs.
9102 * tests/check/Makefile.am:
9103 * tests/check/gst/.cvsignore:
9104 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
9105 Add a basic test suite for GstXML.
9107 2006-08-29 Wim Taymans <wim@fluendo.com>
9109 * gst/gstelement.c: (activate_pads), (clear_caps),
9110 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
9111 Clear the pad caps when the element shut down all of the pads and
9112 is not streaming data that could modify the caps.
9115 2006-08-28 Michael Smith <msmith@fluendo.com>
9117 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9118 Revert previous change; I misunderstood single-segment mode.
9120 2006-08-28 Michael Smith <msmith@fluendo.com>
9122 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9123 Unset DISCONT on buffers when using single-segment mode.
9125 2006-08-28 Wim Taymans <wim@fluendo.com>
9127 * gst/gstcaps.c: (gst_caps_merge_structure):
9129 Fix docs and indentation again.
9131 * tests/check/gst/gstquery.c: (GST_START_TEST):
9132 Fix leak in tests and add some more tests.
9134 2006-08-28 Edward Hervey <edward@fluendo.com>
9136 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9137 Inform GstSegment of the last stop position in order for the current
9138 segment to have a proper duration if it doesn't have a specific stop
9139 position from which a duration could be calculated.
9140 This bug was noticeable when a non-flushing, non-update new segment was
9141 followed by another segment (all buffers from the new segment were being
9144 2006-08-28 Wim Taymans <wim@fluendo.com>
9146 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
9147 Small comment update.
9149 * plugins/elements/gstidentity.c: (gst_identity_class_init),
9150 (gst_identity_transform_ip):
9151 Drop-probability is broken, mention this in the code with a
9152 FIXME and also in the property description.
9153 Make silent also be silent about the drop messages.
9155 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
9157 * docs/manual/appendix-win32.xml:
9158 Remove mention of popt, we don't depend on that any
9159 longer (#353136). Add some comments pointing out that
9160 this section is slightly outdated.
9162 2006-08-28 Wim Taymans <wim@fluendo.com>
9164 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
9166 * gst/gstquery.c: (gst_query_new_segment):
9167 * tests/check/gst/gstquery.c: (GST_START_TEST):
9168 Initialize variables when creating a new segment query.
9171 2006-08-28 Wim Taymans <wim@fluendo.com>
9173 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
9175 * gst/gstelement.c: (gst_element_get_bus):
9176 * tests/check/gst/gstelement.c: (GST_START_TEST):
9177 Check for NULL before _reffing the bus. Fixes #353122.
9179 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
9181 * docs/manual/basics-bus.xml:
9182 Docs update: fix wrong callback return value explanation; add
9183 some lines about the implicit relationship between main loop
9184 and main context; remove duplicate main loop variable declaration.
9186 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
9188 * tests/check/gst/gstcaps.c: (GST_START_TEST):
9189 Don't leak caps in unit test; add a few more simple
9192 2006-08-24 Stefan Kost <ensonic@users.sf.net>
9194 * docs/gst/gstreamer-sections.txt:
9195 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
9196 (gst_caps_structure_is_subset), (gst_caps_merge),
9197 (gst_caps_merge_structure):
9199 * libs/gst/base/gstbasetransform.c:
9200 (gst_base_transform_transform_caps):
9201 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9202 implement caps merging (fixes #352580)
9204 2006-08-23 Stefan Kost <ensonic@users.sf.net>
9206 * tools/Makefile.am:
9207 * tools/gst-plot-timeline.py:
9208 add debug-log plotting developer tool (#340674)
9210 2006-08-23 Wim Taymans <wim@fluendo.com>
9212 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
9213 (gst_pad_stop_task):
9214 Improve debugging for task functions.
9216 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
9217 (gst_task_start), (gst_task_pause), (gst_task_join):
9218 Make sure that the task function started and finished after a
9220 Don't try to push the task function on the threadpool multiple
9222 Improve the g_warning message with some useful suggestions
9223 about how to fix the problem.
9225 2006-08-23 Wim Taymans <wim@fluendo.com>
9227 * gst/gstutils.c: (gst_pad_proxy_getcaps):
9228 Handle RESYNC correctly in _proxy_getcaps.
9230 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
9232 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
9233 (gst_xml_parse_memory), (gst_xml_get_element):
9234 Chain up to parent class in dispose function and also
9235 unref the elements in the toplevel_elements GList.
9236 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
9237 Always return a reference in gst_xml_get_element() rather
9238 than only sometimes.
9240 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
9241 Don't leak GstXml object.
9243 2006-08-21 Stefan Kost <ensonic@users.sf.net>
9245 * docs/gst/gstreamer-sections.txt:
9246 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
9249 * libs/gst/base/gstbasetransform.c:
9250 (gst_base_transform_transform_caps):
9251 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
9254 2006-08-21 Edward Hervey <edward@fluendo.com>
9256 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
9257 Implement GObject::dispose virtual method in GstXML so we can free the
9260 2006-08-21 Wim Taymans <wim@fluendo.com>
9262 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
9263 (gst_buffer_create_sub):
9264 Copy duration/offset_end/caps when creating a subbuffer of the
9266 Make the subbuffer read-only when we make the metadata writable for
9269 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9270 Added check for metadata copy when creating subbuffers.
9272 2006-08-21 Edward Hervey <edward@fluendo.com>
9274 * libs/gst/base/gstbasetransform.c:
9275 (gst_base_transform_buffer_alloc):
9276 Only call downstream buffer_alloc if transform element is passthrough
9277 or always_in_place. Closes #350449.
9279 2006-08-20 Stefan Kost <ensonic@users.sf.net>
9282 ChangeLog surgery to add comments to previous changes
9284 2006-08-20 Stefan Kost <ensonic@users.sf.net>
9289 * gst/gstpad.c: (gst_pad_set_active):
9290 Be more verbose in the log
9292 * libs/gst/base/gstbasetransform.c:
9293 (gst_base_transform_transform_caps):
9294 Simplify caps to get rid of duplicates, fixes #345444
9296 2006-08-20 Stefan Kost <ensonic@users.sf.net>
9300 Use these optimizations only internally.
9302 2006-08-20 Stefan Kost <ensonic@users.sf.net>
9304 * gst/gstvalue.c: (gst_value_compare_list),
9305 (gst_value_compare_fraction_range),
9306 (gst_value_intersect_fraction_fraction_range),
9307 (gst_value_intersect_fraction_range_fraction_range),
9308 (gst_value_subtract_fraction_fraction_range),
9309 (gst_value_subtract_fraction_range_fraction_range),
9310 (gst_value_get_compare_func), (gst_value_compare),
9311 (gst_value_compare_with_func):
9313 Saves the expensive lookup of the compare function in many cases
9316 2006-08-18 Edward Hervey <edward@fluendo.com>
9318 * tests/check/gst/gstinfo.c: (gst_info_suite):
9319 Disable test that require gstdebug if it wasn't built in core.
9321 2006-08-18 Stefan Kost <ensonic@users.sf.net>
9323 * docs/random/ensonic/logging.txt:
9326 * gst/gstinfo.c: (gst_debug_log_default):
9327 reorder fields, save some columns, add optional color codes for log
9330 2006-08-18 Stefan Kost <ensonic@users.sf.net>
9332 * docs/random/ensonic/logging.txt:
9333 add ideas about making the logs a bit more useful
9335 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
9337 * docs/pwg/advanced-events.xml:
9338 * docs/pwg/titlepage.xml:
9339 Update for 0.10 API (#340627). Add myself
9342 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
9344 * docs/libs/gstreamer-libs-docs.sgml:
9345 * docs/libs/gstreamer-libs-sections.txt:
9346 * libs/gst/check/gstbufferstraw.c:
9347 Make gstcheck stuff show up in docs (still needs to
9348 be documented properly though).
9350 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
9352 * docs/gst/gstreamer-sections.txt:
9354 * gst/gst.c: (init_post):
9355 * gst/gst_private.h:
9356 * gst/gstquark.c: (_priv_gst_quarks_initialize):
9358 * gst/gstquery.c: (gst_query_new_position),
9359 (gst_query_set_position), (gst_query_parse_position),
9360 (gst_query_new_duration), (gst_query_set_duration),
9361 (gst_query_parse_duration), (gst_query_new_convert),
9362 (gst_query_set_convert), (gst_query_parse_convert),
9363 (gst_query_new_segment), (gst_query_set_segment),
9364 (gst_query_parse_segment), (gst_query_new_seeking),
9365 (gst_query_set_seeking), (gst_query_parse_seeking):
9366 Add internal helpers for pre-registering quarks from static strings
9367 and using the quark values directly instead of looking them up when
9368 creating and parsing queries. Can be used for event construction too.
9371 2006-08-16 Wim Taymans <wim@fluendo.com>
9376 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
9378 * gst/gstutils.c: (gst_util_set_value_from_string):
9379 Fix memleak (#351502).
9381 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9382 Add unit test for most of gst_util_set_value_from_string()
9383 (not that one would want to encourage use of this function).
9385 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
9387 * libs/gst/check/gstcheck.h:
9388 Use const gchar * variables in fail_unless_equals_string
9389 macro to avoid compiler warnings (and don't use tabs for
9392 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
9394 * tools/gst-launch.c: (print_tag):
9395 More space on the left for the tag names, to cater
9396 for the 'extended comment' tag (not touching the
9397 string for the first line since it's translated).
9399 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
9401 * libs/gst/check/gstcheck.h:
9402 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
9403 print something when they fail.
9405 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
9407 * docs/gst/gstreamer-sections.txt:
9408 * gst/gsttaglist.c: (_gst_tag_initialize):
9410 API: add GST_TAG_EXTENDED_COMMENT (#350935).
9411 Also change merge function for GST_TAG_COMMENT to
9414 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
9416 * gst/gstinfo.c: (gst_debug_print_object):
9417 Make GST_PTR_FORMAT print messages as well.
9419 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
9420 (GST_START_TEST), (gst_info_suite):
9423 2006-08-14 Edward Hervey <edward@fluendo.com>
9425 * gst/gstelementfactory.c: (gst_element_register):
9426 If the GstElementClass doesn't have a GstElementDetails with all fields
9427 filled up correctly (longname, description AND author), then error out
9428 nicely instead of crashing.
9430 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
9432 * gst/gststructure.c:
9433 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
9436 Expand on the difference between arrays and lists as we use them.
9438 2006-08-14 Wim Taymans <wim@fluendo.com>
9440 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
9441 If the parent state change function failed, don't assume we can safely
9442 stop the source, this will be done when the pads are deactivated.
9444 2006-08-14 Wim Taymans <wim@fluendo.com>
9447 * gst/gsttask.c: (gst_task_join):
9450 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9451 (gst_pad_stop_task):
9452 When pad (de)activation failed for some reason, restore the old
9453 activation mode and set the pad to flushing instead of assuming the
9455 If the _task_join() failed, reinstall the task on the pad so that it can
9456 be stopped later and return an error.
9458 2006-08-11 Andy Wingo <wingo@pobox.com>
9461 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
9462 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
9463 is only for users of API that don't want to see deprecated
9464 functions in the headers; people that want to compile out
9465 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
9466 CFLAGS. Fixes the build of multifdsink, or will soon..
9468 2006-08-11 Wim Taymans <wim@fluendo.com>
9470 * docs/gst/gstreamer-sections.txt:
9471 Add GstClockClass vmethod docs.
9474 Mark #endif with comment for associated #if
9476 * gst/gstclock.c: (gst_clock_id_wait):
9478 Add vmethod wait_jitter to avoid an unneeded _get_time() for
9479 most clock implementations.
9481 Flesh out docs about resolution methods.
9482 API: GstClockClass::wait_jitter
9484 * gst/gstsystemclock.c: (gst_system_clock_class_init),
9485 (gst_system_clock_async_thread),
9486 (gst_system_clock_id_wait_jitter_unlocked),
9487 (gst_system_clock_id_wait_jitter):
9488 Use base class wait_jitter variant for improved performance
9489 due to less clock polling.
9491 2006-08-11 Edward Hervey <edward@fluendo.com>
9493 * gst/gst.c: (gst_init_check), (init_post):
9494 Set gst as being initialized before scanning/updating the registry,
9495 since there might be my python plugin loader that calls gst_init() and
9496 we don't want to loop back in.
9499 2006-08-11 Wim Taymans <wim@fluendo.com>
9501 * docs/design/part-qos.txt:
9502 Bring docs in line with the code. Mostly the sign of the jitter was
9503 wrong in the docs. Fixes #349943.
9506 Fix the docs for the jitter.
9508 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
9509 (gst_event_parse_tag), (gst_event_new_buffer_size),
9510 (gst_event_parse_buffer_size), (gst_event_parse_qos),
9511 (gst_event_new_seek), (gst_event_parse_seek),
9512 (gst_event_new_navigation):
9513 Make sure the GstStructure has no parent when creating custom
9515 Add some more argument checking so that we avoid 0.0 rates.
9516 Flesh out the docs for the QoS event some more.
9518 2006-08-11 Wim Taymans <wim@fluendo.com>
9520 * docs/gst/gstreamer-sections.txt:
9521 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9522 (ensure_current_registry_forking), (ensure_current_registry),
9523 (parse_one_option), (parse_goption_arg), (gst_deinit),
9524 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
9527 Added API and command line option to disable registry forking in
9528 addition to the environment variable.
9529 Constify some static arrays.
9530 Added some more debug.
9532 API: gst_registry_fork_is_enabled()
9533 API: gst_registry_fork_set_enabled()
9534 API: --gst-disable-registry-fork command line option
9537 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
9539 * gst/gst.c: (gst_init):
9540 Fix typo in error message.
9542 2006-08-10 Stefan Kost <ensonic@users.sf.net>
9544 * libs/gst/controller/gstcontroller.h:
9545 fix ABI size-correction
9547 * tests/check/libs/gdp.c: (gst_dp_suite):
9548 make tests that use deprecated API conditional
9550 2006-08-10 Stefan Kost <ensonic@users.sf.net>
9552 * docs/libs/gstreamer-libs-sections.txt:
9553 * libs/gst/controller/gstcontroller.c:
9554 (_gst_controller_get_property), (_gst_controller_set_property),
9555 (_gst_controller_init), (_gst_controller_class_init):
9556 * libs/gst/controller/gstcontroller.h:
9557 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
9558 (gst_object_set_control_rate):
9559 API: add gst_object_{s,g}et_control_rate(), add private data section,
9562 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
9563 * libs/gst/dataprotocol/dataprotocol.h:
9564 add deprecation guards to make gtk-doc happy and allow disabling cruft
9566 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
9568 * tests/check/Makefile.am:
9569 * tests/check/gst/.cvsignore:
9570 Let's enable the new unit test as well.
9572 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
9575 * docs/gst/gstreamer-sections.txt:
9576 * gst/gstconfig.h.in:
9577 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
9578 (_gst_info_printf_extension_ptr),
9579 (_gst_info_printf_extension_segment):
9580 API: add GST_SEGMENT_FORMAT, which is a printf extension we
9581 register that lets us easily dump GstSegments into debug
9584 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
9585 (info_segment_format_printf_extension), (gst_info_suite):
9586 Add simple unit test that logs a bunch of different segments (not
9587 valgrinded at the moment because of leaks in
9588 gst_debug_add_log_function).
9590 2006-08-09 Edward Hervey <edward@fluendo.com>
9592 * libs/gst/base/gstbasetransform.c:
9593 (gst_base_transform_buffer_alloc):
9594 Even if we can't figure out the proper format to request downstream,
9595 call buffer_alloc() downstream with the input parameters without setting
9596 the caps on the srcpad. This will force negotiation in the chain
9600 2006-08-08 Edward Hervey <edward@fluendo.com>
9602 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9603 Unlinking from a pad without a target is now a perfectly valid case
9604 which should NOT raise an assertion.
9605 This case would happen if a linked ghostpad its target set to NULL after
9606 it was previously linked.
9608 2006-08-08 Edward Hervey <edward@fluendo.com>
9610 * tests/check/libs/gdp.c:
9611 Also comment out the test (see below).
9613 2006-08-08 Edward Hervey <edward@fluendo.com>
9615 * tests/check/libs/gdp.c: (gst_dp_suite):
9616 Use the architecture information from config.h and not gcc macros
9617 in order to properly disable a test that fails on PPC64.
9619 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
9621 * gst/gstelement.c: (gst_element_remove_pad):
9622 Don't crash printing the warning if the pad has no parent.
9624 2006-08-02 Wim Taymans <wim@fluendo.com>
9626 * libs/gst/dataprotocol/dataprotocol.c:
9627 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
9628 (gst_dp_crc), (gst_dp_header_payload_length),
9629 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
9630 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
9631 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
9632 (gst_dp_event_from_packet), (gst_dp_validate_header),
9633 (gst_dp_validate_payload):
9634 Make debug category static
9635 Constify the crc table.
9636 Do some more arg checking in public functions.
9637 Fix some docs and do some small cleanups.
9639 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
9640 Add some more checks to see if GDP deals with bogus input.
9642 2006-07-31 Wim Taymans <wim@fluendo.com>
9644 * gst/gstvalue.c: (gst_value_compare_list):
9645 Fix GstValueList comparison code. Fixes #347293.
9647 * tests/check/gst/gstvalue.c: (GST_START_TEST):
9648 Check to test GstValueList comparison.
9650 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
9652 * gst/gstelementfactory.c: (gst_element_factory_create):
9653 Remove unnecessary ref/unref pair
9655 * gst/parse/grammar.y:
9656 Make sure to free the parse buffer on all code paths.
9657 Move a g_free up to the error handler where it's easier to see.
9659 * tests/check/gst/gstevent.c: (test_event):
9660 Extending timeout for downstream travelling events to 10 seconds to
9661 hopefully avoid intermittent failure on the buildbots.
9663 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
9664 Don't manually set the state of the src element - it will happen as a
9665 natural consequence of the pipeline changing state, and that way it
9666 will do it in the right order too.
9668 2006-07-31 Wim Taymans <wim@fluendo.com>
9670 * libs/gst/base/gstbasetransform.c:
9671 (gst_base_transform_buffer_alloc):
9672 Use OBJECT_LOCK and refcounting to get the pad caps in the
9673 buffer_alloc function because the caps could change while we are
9674 busy with them. Fixes #349105
9676 2006-07-31 Wim Taymans <wim@fluendo.com>
9678 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
9679 Protect _PAD_CAPS with OBJECT_LOCK.
9681 2006-07-31 Wim Taymans <wim@fluendo.com>
9683 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9684 (gst_pad_get_property), (gst_pad_activate_pull),
9685 (gst_pad_activate_push), (gst_pad_set_blocked_async),
9686 (gst_pad_set_activate_function),
9687 (gst_pad_set_activatepull_function),
9688 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
9689 (gst_pad_set_getrange_function),
9690 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
9691 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9692 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
9693 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
9694 (gst_pad_set_acceptcaps_function),
9695 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
9696 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
9697 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
9698 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
9699 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
9700 (gst_pad_configure_sink), (gst_pad_configure_src),
9701 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
9702 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
9703 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
9704 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
9705 (gst_pad_send_event):
9706 Use _DEBUG_OBJECT when it makes sense.
9707 Protect GST_PAD_CAPS with the OBJECT_LOCK.
9708 Small cleanups and code reflows.
9709 Avoid caps refcounting in _accept_caps.
9710 Refactor alloc_buffer so that the code performed on the peer is in a
9711 separate function. Also if the pad does not implement a buffer alloc
9712 function, we should still check if the pad is flushing before falling
9713 back to the default allocator.
9715 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
9717 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9718 Make all uses of identity and fakesink have silent=true to avoid
9719 serialising every passing data structure, which is breaking tests
9720 on FC4 for some unknown reason.
9722 2006-07-30 Stefan Kost <ensonic@users.sf.net>
9724 * gst/parse/Makefile.am:
9725 * gst/parse/grammar.y:
9726 * gst/parse/parse.l:
9727 Reverted previous patch as it required to bump the flex dependency to
9728 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
9730 2006-07-30 Stefan Kost <ensonic@users.sf.net>
9732 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
9734 * gst/parse/Makefile.am:
9735 * gst/parse/grammar.y:
9736 * gst/parse/parse.l:
9737 push & pop the state of the lexer for reentrant use case
9740 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
9742 * libs/gst/base/gstbasesrc.h:
9743 Note in the docs that the ::newsegment vfunc is not actually used by
9746 2006-07-28 Wim Taymans <wim@fluendo.com>
9748 * libs/gst/base/gstcollectpads.c:
9749 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
9750 (gst_collect_pads_clear), (gst_collect_pads_flush),
9751 (gst_collect_pads_event), (gst_collect_pads_chain):
9752 When flushing a pad, also clear the queued buffer so that we don't
9753 accidentally use it when we shouldn't.
9754 Fix leaks by inreffing incomming buffer.
9755 Flush out queued buffers in case of errors.
9758 2006-07-28 Wim Taymans <wim@fluendo.com>
9760 * docs/random/phonon-gst:
9761 Random notes about a Phonon backend.
9763 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
9765 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9767 * tests/check/libs/gdp.c: (gst_dp_suite):
9768 Take a whack at fixing the ppc compile using a different define to
9769 disable the broken test.
9771 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9772 Remove excess g_print()
9774 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
9776 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9777 Oops, meant to uncomment this line too to dampen the noise a bit.
9779 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
9781 * gst/parse/grammar.y:
9782 * gst/parse/parse.l:
9783 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9784 (GST_START_TEST), (parse_suite):
9785 Fix some of the leaks exposed by extending the parse-launch testsuite,
9786 and move the 3 I can't figure out into a separate test that won't run
9787 the pipelines unless the appropriate line is uncommented.
9789 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
9791 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9792 Requesting 0 bytes before the end of the file should result in
9793 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
9796 2006-07-27 Wim Taymans <wim@fluendo.com>
9798 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
9799 Fix useless assert, a uint is always positive.
9801 * gst/gststructure.c: (gst_structure_nth_field_name),
9802 (gst_structure_foreach), (gst_structure_map_in_place):
9803 Check input arguments for public functions to avoid obvious crashes.
9805 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
9806 * plugins/elements/gstfakesink.h:
9807 Do less useless typechecking.
9809 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
9811 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
9812 Do not use mmap() by default since there are a number of error
9813 conditions that we would like to handle in a non-fatal way that
9814 will result in a SIGBUS if we use mmap(). Examples: external
9815 devices (USB harddrive, portable music player) being unplugged
9816 while in use; file on mounted CD/DVD that can't be read because
9817 the medium is partly damaged. Fixes #348455 and #348475.
9819 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
9822 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
9825 2006-07-26 Stefan Kost <ensonic@users.sf.net>
9827 * gst/gstregistry.c:
9828 Move big documentation comment into class section header, so that it
9829 appears in the API docs.
9831 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
9833 * docs/gst/gstreamer-sections.txt:
9834 Oops. Commit the docs additions too for new API.
9835 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
9837 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
9839 * gst/gststructure.c: (gst_structure_id_set),
9840 (gst_structure_id_set_valist):
9841 * gst/gststructure.h:
9842 Add API for setting values into structures without performing
9843 a quark lookup, if the appropriate quark is already known.
9845 API: gst_structure_id_set
9846 API: gst_structure_id_set_valist
9848 * gst/parse/grammar.y:
9849 * gst/parse/parse.l:
9850 Remove some dead code shown by the coverage information.
9851 Don't throw a critical g_warning when encountering a syntax error,
9852 just warn and let the normal error path handle it.
9854 * plugins/elements/gstelements.c:
9855 Bump the rank of filesink up to PRIMARY so that it is preferred over
9856 gnomevfssink for file:// sink uri's
9858 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9859 (GST_START_TEST), (run_delayed_test),
9860 (gst_parse_test_element_base_init),
9861 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
9862 (gst_parse_test_element_change_state),
9863 (gst_register_parse_element), (parse_suite):
9864 Beef up the tests for parse syntax to check that more error cases
9865 fail as they are supposed to. Increases the test coverage a bit.
9867 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
9869 * docs/manual/basics-elements.xml:
9870 Fix gst_element_link() example.
9873 Mention in API docs that one should usually gst_bin_add()
9874 elements to a bin or pipeline before doing the linking.
9876 2006-07-26 Wim Taymans <wim@fluendo.com>
9878 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
9879 (gst_subbuffer_get_type), (gst_buffer_create_sub):
9880 Avoid function call for known types by keeping the buffer and
9881 subbuffer GType global.
9883 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9884 Random silly optimisations in read() path.
9886 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
9888 * tools/gst-launch.c: (main):
9889 If the top-level of the parse is a normal bin, it doesn't do the
9890 right logic to run as a top-level element, so place it inside a
9893 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
9895 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
9896 Remove superfluous g_object_notify() calls, GObject does
9897 that for us automatically.
9899 2006-07-25 Stefan Kost <ensonic@users.sf.net>
9902 on Win32, use dllspec to export the debug category symbols
9904 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
9906 * gst/gsttaglist.c: (_gst_tag_initialize):
9907 Allow more than one GST_TAG_IMAGE per taglist.
9909 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
9911 * gst/gstminiobject.c:
9913 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
9914 (gst_fd_src_create):
9915 log recurring events at LOG level
9916 add more debug for when the fd gets set
9918 2006-07-21 Stefan Kost <ensonic@users.sf.net>
9920 * gst/gstparse.c: (gst_parse_launch):
9921 Also remove reentrance checks if flex is MT safe (#348179)
9922 Fix my empty ChangeLog entry below
9924 2006-07-21 Andy Wingo <wingo@pobox.com>
9926 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
9928 * libs/gst/check/Makefile.am
9929 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
9930 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
9931 * libs/gst/check/gstbufferstraw.h:
9932 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
9933 functions, thus proving I am still a GStreamer haxor. OK I wrote
9934 them a long time ago, but anyways.
9936 2006-07-21 Stefan Kost <ensonic@users.sf.net>
9939 * gst/gstparse.c: (gst_parse_launch):
9940 Check for flex version and omit mutex if we have a MT save flex
9943 2006-07-21 Wim Taymans <wim@fluendo.com>
9945 * gst/gstparse.c: (gst_parse_launch):
9946 Protect recursive calls to _parse with a recursive mutex
9949 2006-07-21 Wim Taymans <wim@fluendo.com>
9951 * tests/check/gst/gstpad.c: (GST_START_TEST):
9954 2006-07-20 Stefan Kost <ensonic@users.sf.net>
9956 * gst/gstparse.c: (gst_parse_launch):
9957 Do not hang on recursive usage of gst_parse_launch()
9959 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
9962 Add some more docs, comments and FIXME 0.11s here and there
9963 and also fix some typos.
9965 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
9968 Convert tabs to spaces for better readability.
9970 2006-07-20 Edward Hervey <edward@fluendo.com>
9972 * tests/check/libs/gdp.c: (gst_dp_suite):
9973 the test_buffer test fails at line 140 on ppc64 at the following
9975 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
9976 GST_BUFFER_FLAG_IN_CAPS),
9977 "GST_BUFFER_IN_CAPS flag should have been copied !");
9978 See bug #348114 for more details.
9980 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
9982 * docs/pwg/advanced-scheduling.xml:
9984 Fix typos (#348000).
9986 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
9988 * docs/pwg/intro-basics.xml:
9989 Fix wrong links (#347927).
9991 2006-07-18 Stefan Kost <ensonic@users.sf.net>
9993 * gst/gstregistry.h:
9994 * gst/gstregistryxml.c: (load_feature),
9995 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
9996 * win32/common/config.h:
9997 make --disable-index work (#342564)
9999 2006-07-18 Wim Taymans <wim@fluendo.com>
10001 Patch by: Peter Kjellerstedt <pkj at axis dot com>
10005 The attached patch adds two missing defines to gsttrace.h when tracing
10006 is disabled. It also corrects one existing define.
10009 2006-07-17 Wim Taymans <wim@fluendo.com>
10011 * docs/gst/gstreamer-sections.txt:
10012 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
10014 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
10015 Add two functions to check and change the SIGSEGV behaviour
10016 when loading plugins.
10017 Don't mess with the SIGSEGV handler when we were told not to.
10019 API: gst_segtrap_is_enabled
10020 API: gst_segtrap_set_enabled
10022 2006-07-14 Wim Taymans <wim@fluendo.com>
10024 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
10025 * tests/check/elements/filesrc.c: (GST_START_TEST):
10026 Revert fix for regression in #347408 after release.
10028 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
10030 Patch by: Antoine Tremblay <hexa00 at gmail com>
10032 * gst/gstutils.c: (gst_element_unlink):
10033 Free iterator when done (#347311).
10035 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10036 And add a test case for this.
10038 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
10041 Bump nano back to CVS
10043 === release 0.10.9 ===
10045 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
10048 releasing 0.10.9, "On the road again"
10050 2006-07-13 Wim Taymans <wim@fluendo.com>
10052 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
10053 * tests/check/elements/filesrc.c: (GST_START_TEST):
10054 Revert pull-0 fix for release. Disable check. Fixes #347408.
10056 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
10058 * libs/gst/dataprotocol/dataprotocol.c:
10059 (gst_dp_event_from_packet_1_0):
10060 Fixes #347337: failure to deserialize event packets with
10061 empty payload (only event type)
10063 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
10066 do not install a .c file in the header directory
10068 2006-07-13 Edward Hervey <edward@fluendo.com>
10070 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
10071 GhostPad no longer implicitely use the padtemplates of the targets.
10074 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
10076 * gst/gstvalue.c: (gst_value_compare_list),
10077 (gst_value_compare_array), (_gst_value_initialize):
10078 * tests/check/gst/gstvalue.c: (GST_START_TEST):
10079 Make GstValueArray comparison be order dependent as designed.
10080 Add checks for value lists and value array comparisons.
10083 2006-07-11 Edward Hervey <edward@fluendo.com>
10085 * gst/gstbin.c: (activate_pads),
10086 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
10087 (gst_bin_change_state_func):
10088 (de)activate src pads before calling state_change on the childs.
10089 This is to avoid the case where a src ghostpad is blocked (holding the
10090 stream lock), which would block the deactivation of the ghostpad's
10092 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
10093 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
10094 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
10095 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
10096 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
10097 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10098 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
10099 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
10100 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
10101 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
10102 (gst_ghost_pad_class_init),
10103 (gst_ghost_pad_internal_do_activate_push),
10104 (gst_ghost_pad_internal_do_activate_pull),
10105 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10106 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10107 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
10108 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
10109 GhostPads now create their internal GstProxyPad at creation (and not
10110 when they're linked, as it was being done previously).
10111 The internal and target pads are linked straight away.
10112 The data will also travel through the other pad in order to make
10113 pad blocking and probes non-hackish (the probe/block now really happens
10114 on the GhostPad and not on the target).
10115 * gst/gstpad.c: (gst_pad_set_blocked_async),
10116 (gst_pad_link_prepare), (gst_pad_push_event):
10117 Remove previous ghostpad cruft.
10118 * gst/gstutils.c: (gst_pad_add_data_probe),
10119 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10120 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10121 (gst_pad_remove_buffer_probe):
10122 Remove previous ghost pad cruft.
10123 Added more detailed debug statements.
10124 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10125 Fix the testsuite for refcounting changes.
10126 The comments about who has references were correct, but the refcount
10127 being checked wasn't the same (!?!).
10131 2006-07-10 Stefan Kost <ensonic@users.sf.net>
10133 * docs/gst/gstreamer-sections.txt:
10134 * gst/gstconfig.h.in:
10135 More docs for configuration options, add docs to gtk-doc.
10137 2006-07-10 Stefan Kost <ensonic@users.sf.net>
10140 * gst/gstconfig.h.in:
10141 * win32/common/config.h:
10142 Fix build when disabling tracing (fixes #344016). Also start to document
10143 the defines that disable the sub-systems.
10145 2006-07-10 Edward Hervey <edward@fluendo.com>
10147 * gst/gst.c: (ensure_current_registry_forking):
10148 let's make valgrind happy...
10150 2006-07-09 Wim Taymans <wim@fluendo.com>
10152 * gst/gstelement.c: (activate_pads),
10153 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
10154 Better pad activation code: Reset the collect value too on resync.
10157 2006-07-09 Wim Taymans <wim@fluendo.com>
10159 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
10160 (gst_pad_activate_push):
10161 Use some more macros where it makes sense.
10162 Allow pad mode switching instead of asserting. When a pad
10163 is activated in one mode and we activate it in another,
10164 deactivate it first before activating it in a different mode.
10167 2006-07-08 Andy Wingo <wingo@pobox.com>
10169 * tools/gst-launch.c (main): Handle err == NULL.
10171 * gst/gst.c (init_post, ensure_current_registry)
10172 (ensure_current_registry_forking)
10173 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
10174 factoring out the registry scanning into separate functions. Don't
10175 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
10176 Better environment var name/interface suggestions accepted.
10178 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
10180 * gst/gstobject.c: (gst_object_set_name_default),
10181 (gst_object_set_name):
10182 Random micro-optimisation: don't use a hash table
10183 with strings as keys and the usual strdup/strcmp
10184 involved, but rather just use the GQuark of the
10185 type name as key, since it needs to be looked up
10186 anyway to get the type name string.
10188 * tests/check/gst/gstobject.c: (GST_START_TEST):
10191 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
10193 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
10194 (gst_bin_iterate_all_by_interface):
10195 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
10196 GTypes are gulongs and thus the top 4 bytes might be cut
10197 off on some platforms when doing GPOINTER_TO_INT, leading
10198 to invalid GTypes and bad things happening (see RH bug #179654).
10199 Also add a check to make sure the type passed in is really
10202 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
10207 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
10211 * gst-element-check.m4:
10212 * gst-element-check.m4.in:
10213 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
10214 instead of the unversioned gst-inspect (#324176, #168659).
10216 2006-07-06 Wim Taymans <wim@fluendo.com>
10218 * gst/gstmessage.h:
10219 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
10222 2006-07-06 Wim Taymans <wim@fluendo.com>
10224 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10225 (gst_base_src_wait), (gst_base_src_update_length),
10226 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
10227 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
10228 (gst_base_src_loop), (gst_base_src_start),
10229 (gst_base_src_activate_pull):
10231 blocksize == 0 now means the default blocksize when working in push
10233 Remove some pointless asserts in _wait function.
10234 Fix offset/length calculations and EOS handling. We can now pull 0
10235 bytes as well, which is allowed.
10236 use _check_get_range() to decide if we can operate in _pull based
10238 Fix refcounting leak when check_get_range function was not
10240 API GstBaseSrc::blocksize range can be 0 too now (default)
10242 * tests/check/elements/filesrc.c: (GST_START_TEST),
10244 Added check to test _get_range() behaviour.
10246 2006-07-06 Wim Taymans <wim@fluendo.com>
10248 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
10249 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
10250 (gst_pad_pull_range):
10252 Lots of comments and docs added to the pad functions.
10253 Flesh out the expected behaviour of the get_range() functions.
10255 2006-07-06 Wim Taymans <wim@fluendo.com>
10260 * gst/gstiterator.h:
10264 Remove comma at end of enumerator list.
10266 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
10268 * win32/common/libgstbase.def:
10269 * win32/common/libgstdataprotocol.def:
10270 * win32/common/libsgtreamer.def:
10271 Add new exported functions.
10273 2006-07-05 Wim Taymans <wim@fluendo.com>
10275 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
10276 Add some more docs here and there.
10278 2006-07-05 Wim Taymans <wim@fluendo.com>
10280 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
10281 (gst_base_sink_loop), (gst_base_sink_get_position):
10282 When operating in pull mode update the offset so that we
10285 2006-07-05 Wim Taymans <wim@fluendo.com>
10287 * gst/gstregistryxml.c: (read_string):
10288 Avoid strdup. (will happen in libxml, but hey!)
10291 Add some more docs.
10293 2006-07-05 Wim Taymans <wim@fluendo.com>
10295 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
10296 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
10297 (gst_buffer_suite):
10298 No point in checking if the size of the subbuffer > 0, the
10299 code handles it correclty as demonstrated by unit test.
10300 Also add a unit test for the zero sized _new_and_alloc and
10301 _copy. Fixes #346663.
10303 2006-07-05 Wim Taymans <wim@fluendo.com>
10305 * libs/gst/base/gstbasetransform.c:
10306 (gst_base_transform_prepare_output_buffer),
10307 (gst_base_transform_buffer_alloc),
10308 (gst_base_transform_handle_buffer):
10309 Make sure the buffer we pass to transform_ip has a refcount of
10310 1 and thus is writable. Fixes #343196
10312 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
10314 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10315 (gst_file_src_init), (gst_file_src_set_property),
10316 (gst_file_src_get_property), (gst_file_src_map_region):
10317 * plugins/elements/gstfilesrc.h:
10318 Add "sequential" property, off by default, to use madvise and hint
10319 to the kernel that sequential access is desired.
10320 Touch all retrieved pages by default to ensure they are pulled
10321 into memory. (Closes #345720)
10323 2006-07-03 Wim Taymans <wim@fluendo.com>
10325 * docs/design/part-block.txt:
10326 * docs/design/part-dynamic.txt:
10327 Small docs updates.
10329 2006-07-03 Wim Taymans <wim@fluendo.com>
10331 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
10332 (gst_caps_unref), (gst_static_caps_get),
10333 (gst_caps_append_structure):
10334 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
10335 Use GSlice when the glib we build against is >= 2.10
10337 2006-07-03 Wim Taymans <wim@fluendo.com>
10339 * gst/gstelement.c: (gst_element_pads_activate):
10340 Small cleanup in pad activation code.
10342 2006-07-03 Wim Taymans <wim@fluendo.com>
10344 Patch by: Peter Kjellerstedt <pkj at axis dot com>
10346 * gst/gst-i18n-app.h:
10347 * gst/gst-i18n-lib.h:
10348 * tools/gst-inspect.c: (print_signal_info):
10349 The attached patch will make the inclusion of gettext.h unconditional in
10350 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
10351 libintl.h in tools/gst-inspect.c.
10352 This allows use of --disable-nls again and fixes #344642.
10354 2006-07-03 Edward Hervey <edward@fluendo.com>
10356 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
10357 Implement pad blocking on events according to part-block.txt.
10358 More comments on behaviour.
10359 * tests/check/gst/gstevent.c: (test_event):
10360 Send event to peer pad of blocked pad (else it will block).
10362 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
10364 * libs/gst/check/gstcheck.c: (gst_check_message_error),
10365 (gst_check_run_suite):
10366 if we get the wrong message, give us the types as string
10367 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10369 * tests/check/elements/filesrc.c: (GST_START_TEST):
10370 add a test for trying to open a non-existing file
10372 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
10374 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10375 add a test for adding self
10377 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
10379 * libs/gst/check/gstcheck.h:
10380 add some assert_ as alias for fail_unless_*
10381 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
10382 increase test coverage
10384 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10387 include lcov.mak for lcov coverage generation
10388 * tools/Makefile.am:
10391 2006-07-02 Edward Hervey <edward@fluendo.com>
10393 * tests/check/elements/.cvsignore:
10396 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10399 don't set CFLAGS and friends for gcov, done from GST_GCOV now
10400 * tests/check/Makefile.am:
10401 clean up gcov files
10403 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10405 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
10406 remove gst_caps_simplify; it was not declared and not used
10407 and deprecated in 0.8
10409 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10411 * docs/faq/gst-uninstalled:
10412 don't put empty paths on PYTHONPATH
10413 * docs/gst/gstreamer-sections.txt:
10414 remove some symbols that are not there
10416 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10418 * gst/gstcaps.c: (gst_caps_compare_structures):
10420 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
10421 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10424 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10426 * libs/gst/dataprotocol/Makefile.am:
10427 build dataprotocol test by linking to the lib, instead of
10428 compiling the source, so we get coverage
10429 * tests/check/Makefile.am:
10430 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
10431 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
10432 add a test for filesrc
10434 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10436 * tests/check/gst/gststructure.c: (GST_START_TEST),
10437 (gst_structure_suite):
10438 Push coverage from 59.04% to 70.00%
10440 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10442 * tests/check/Makefile.am:
10443 gst-inspect every element; this makes sure that we also get
10444 coverage on element's get/set functions
10446 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
10449 set CFLAGS and friends to -O0 if gcov is being used
10452 * libs/gst/base/Makefile.am:
10453 * libs/gst/check/Makefile.am:
10454 * libs/gst/controller/Makefile.am:
10455 * libs/gst/dataprotocol/Makefile.am:
10456 * libs/gst/net/Makefile.am:
10457 * plugins/elements/Makefile.am:
10458 * plugins/indexers/Makefile.am:
10459 add makefile rules to generate gcov data and clean up
10460 * tests/check/Makefile.am:
10461 add a coverage target that generates an html overview
10464 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
10466 * tests/check/elements/fakesink.c:
10467 * tests/check/elements/fakesrc.c:
10468 * tests/check/elements/fdsrc.c:
10469 * tests/check/elements/identity.c:
10470 * tests/check/generic/sinks.c: (gst_sinks_suite):
10471 * tests/check/generic/states.c:
10472 * tests/check/gst/gst.c:
10473 * tests/check/gst/gstabi.c:
10474 * tests/check/gst/gstbin.c:
10475 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
10476 * tests/check/gst/gstbus.c: (gst_bus_suite):
10477 * tests/check/gst/gstcaps.c: (GST_START_TEST):
10478 * tests/check/gst/gstelement.c:
10479 * tests/check/gst/gstevent.c: (gst_event_suite):
10480 * tests/check/gst/gstghostpad.c:
10481 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
10482 * tests/check/gst/gstmessage.c: (gst_message_suite):
10483 * tests/check/gst/gstminiobject.c:
10484 * tests/check/gst/gstobject.c:
10485 * tests/check/gst/gstpad.c:
10486 * tests/check/gst/gstpipeline.c:
10487 * tests/check/gst/gstplugin.c:
10488 * tests/check/gst/gstquery.c: (gst_query_suite):
10489 * tests/check/gst/gstsegment.c: (gst_segment_suite):
10490 * tests/check/gst/gststructure.c:
10491 * tests/check/gst/gstsystemclock.c:
10492 * tests/check/gst/gsttag.c:
10493 * tests/check/gst/gsttask.c: (gst_task_suite):
10494 * tests/check/gst/gstutils.c:
10495 * tests/check/gst/gstvalue.c:
10496 * tests/check/libs/adapter.c:
10497 * tests/check/libs/basesrc.c:
10498 * tests/check/libs/collectpads.c:
10499 * tests/check/libs/controller.c:
10500 * tests/check/libs/gdp.c: (gst_dp_suite):
10501 * tests/check/libs/gstnetclientclock.c:
10502 * tests/check/libs/gstnettimeprovider.c:
10503 * tests/check/libs/libsabi.c: (libsabi_suite):
10504 * tests/check/libs/typefindhelper.c:
10505 * tests/check/pipelines/cleanup.c:
10506 * tests/check/pipelines/parse-launch.c:
10507 * tests/check/pipelines/simple-launch-lines.c:
10508 * tests/check/pipelines/stress.c: (stress_suite):
10511 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
10513 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
10514 * libs/gst/check/gstcheck.h:
10515 create a macro and function so that the simple unit test
10516 case can be just one macro to create main()
10518 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
10520 * gst/gstbin.c: (gst_bin_restore_thyself):
10521 * gst/gstxml.c: (gst_xml_make_element):
10522 Fix deserialisation from XML. Set parent manually
10523 instead of using gst_bin_add(), since gst_bin_add()
10524 will unlink all pads of the element being added.
10527 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
10529 Patch by: Peter Kjellerstedt <pkj at axis com>
10531 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
10532 Fix missing g_strdup() and double free when using the
10533 --gst-plugin-load command line option (#346097).
10535 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
10538 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
10540 * libs/gst/net/gstnetclientclock.c:
10541 * libs/gst/net/gstnettimeprovider.c:
10542 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
10544 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
10546 * docs/manual/advanced-dataaccess.xml:
10547 Fix buffer probe example compilation in
10550 2006-06-22 Edward Hervey <edward@fluendo.com>
10552 * gst/gstelement.c: (gst_element_pads_activate):
10553 We need to deactivate src pads first and then sink pads.
10554 The reason is the src pads might be blocking while holding the streaming
10555 lock, so we need to deactivate them first so that deactivating the sink
10556 pads doesn't block (since it will require the streaming lock).
10558 2006-06-22 Wim Taymans <wim@fluendo.com>
10560 * libs/gst/base/gstbasetransform.c:
10561 (gst_base_transform_buffer_alloc):
10562 Forgot to remove two unneeded unrefs.
10563 Simplify a check _is_equal allready checks the obvious case.
10565 2006-06-22 Wim Taymans <wim@fluendo.com>
10567 * docs/design/part-block.txt:
10568 Some docs about what pad_block should do.
10570 2006-06-22 Wim Taymans <wim@fluendo.com>
10572 * gst/gstcaps.c: (gst_caps_replace):
10573 Fix crasher when passed NULL. Doc clarification.
10574 Optimize for the trivial case.
10576 * gst/gstpipeline.c: (gst_pipeline_change_state):
10579 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10580 Small documentation cleanup.
10582 * libs/gst/base/gstbasetransform.c:
10583 (gst_base_transform_buffer_alloc):
10584 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
10585 is what we need and it avoids a whole lot of redundant
10586 refcount operations.
10588 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
10590 Patch by: Philip Jägenstedt <philip at lysator liu se>
10592 * docs/manual/advanced-dataaccess.xml:
10593 Fix 'Embedding static elements' section to use
10594 GST_PLUGIN_DEFINE_STATIC (#345607).
10596 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
10598 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
10599 Attempt to 'fix' spuriously failing test case: it seems like the
10600 timeout of half a second is simply too small when the system is under
10601 load otherwise, and the timeout doesn't really seem to serve any
10602 particular purpose here. Give the pipeline a few seconds to preroll
10603 first, and then give it another half a second to go from PAUSED to
10604 PLAYING and marshal the message into the main thread.
10606 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
10608 * tools/gst-feedback-m.m:
10609 Don't only use unversioned tools, try versioned tools as well
10612 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
10614 * gst/gstbus.c: (gst_bus_class_init):
10615 Fix some typos, make docs more explicit.
10617 2006-06-20 Wim Taymans <wim@fluendo.com>
10619 * tests/check/gst/gstghostpad.c: (block_callback),
10620 (GST_START_TEST), (gst_ghost_pad_suite):
10621 Added some more ghostpad tests, mainly blocking
10624 2006-06-16 Wim Taymans <wim@fluendo.com>
10626 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
10627 (gst_file_sink_close_file), (gst_file_sink_do_seek),
10628 (gst_file_sink_event), (gst_file_sink_render):
10629 * plugins/elements/gstfilesink.h:
10630 Check if we can seek in the file instead of assuming
10631 we always can. Post an error when we are asked to seek in a
10632 non-seekable file (like a fifo). Fixes #343312.
10635 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
10637 * tools/gst-launch.1.in:
10638 Un-garble (fourcc) bit in filtered caps section.
10640 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
10642 * docs/manual/advanced-autoplugging.xml:
10643 * docs/manual/basics-helloworld.xml:
10644 * docs/manual/highlevel-components.xml:
10645 Don't leak bus reference in sample code.
10647 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
10650 Add default for new --enable-plugin-docs switch.
10653 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
10656 * docs/Makefile.am:
10657 Use new ENABLE_PLUGIN_DOCS conditional.
10659 2006-06-14 Wim Taymans <wim@fluendo.com>
10661 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
10662 Make it clear with a FIXME and a real define what the #if 0
10663 previously disabled.
10665 2006-06-14 Wim Taymans <wim@fluendo.com>
10667 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10668 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10669 * libs/gst/base/gstbasetransform.c:
10670 (gst_base_transform_sink_eventfunc):
10671 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
10672 Don't randomly and silently reset a segment when the format
10673 changes as this is a bug somewhere upstream. Fixes #330379.
10675 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
10677 Patch by: Wouter Paesen <wouter at kangaroot net>
10679 * libs/gst/controller/gstcontroller.c:
10680 (gst_controlled_property_new):
10681 Fix controlling of float properties (#344849).
10683 * tests/check/libs/controller.c:
10684 (gst_test_mono_source_get_property),
10685 (gst_test_mono_source_set_property),
10686 (gst_test_mono_source_class_init), (GST_START_TEST):
10687 While we're at it, add some float stuff to unit test.
10689 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
10692 * docs/images/gdp-header.svg:
10694 * docs/libs/Makefile.am:
10695 * docs/libs/gdp-header.png:
10696 * libs/gst/dataprotocol/dataprotocol.c:
10697 add it to the API docs
10698 * docs/manual/intro-motivation.xml:
10701 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
10703 * gst/gst.c: (scan_and_update_registry), (init_post):
10704 If the fork()'ed child process can't write the updated registry cache
10705 file to disk for some reason, make it exit with a failure exit code,
10706 so that the parent can then re-scan the plugins itself and update the
10707 registry structures in memory and work with that (rather than failing
10708 when creating elements because seemingly no plugins are available).
10709 Refactor registry scanning code into separate function for this and
10710 also separate fork() and non-fork() code paths. Fixes #344748.
10712 2006-06-13 Wim Taymans <wim@fluendo.com>
10714 * docs/manual/advanced-dataaccess.xml:
10715 Fix wrong PluginDesc. Fixes #344755.
10717 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
10719 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
10720 Fix silly bug that prevented us from creating
10721 ~/.gstreamer-0.10 and writing the registry in one
10722 go (the first call to g_mkstemp() would overwrite the
10723 placeholder in the template string, so the second call
10724 to g_mkstemp() after creating the missing directory
10725 would then error out with 'invalid argument').
10727 2006-06-13 Edward Hervey <edward@fluendo.com>
10729 * gst/gst.c: (init_post):
10732 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
10734 * gst/glib-compat-private.h:
10735 * gst/glib-compat.c:
10736 * gst/glib-compat.h:
10737 * gst/gstvalue.c: (gst_value_serialize_flags):
10738 remove GLib 2.6 compatibility code
10740 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
10742 * gst/parse/Makefile.am:
10743 Fix build with 'make -j N' even more (#340016).
10745 2006-06-12 Wim Taymans <wim@fluendo.com>
10747 * docs/gst/gstreamer-sections.txt:
10750 2006-06-12 Wim Taymans <wim@fluendo.com>
10752 * gst/gstsegment.c: (gst_segment_set_duration),
10753 (gst_segment_set_last_stop), (gst_segment_set_seek),
10754 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10755 (gst_segment_to_running_time), (gst_segment_clip):
10756 Use G_UNLIKELY to help the compiler a bit.
10758 2006-06-12 Wim Taymans <wim@fluendo.com>
10760 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
10762 * gst/gstevent.c: (gst_event_get_type):
10763 * gst/gstmessage.c:
10764 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
10766 constify quark registration strings. Fixes #344115
10767 Avoid unneeded type checking is _pad_push() by internally
10768 calling gst_pad_chain_unchecked().
10770 2006-06-12 Wim Taymans <wim@fluendo.com>
10772 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
10773 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
10774 (gst_subbuffer_finalize), (gst_buffer_create_sub),
10775 (gst_buffer_is_span_fast), (gst_buffer_span):
10776 Init _type for consistency.
10777 Use _FLAGS macro to avoid type check.
10778 Avoid unneeded type checks in subbufer code.
10780 2006-06-12 Wim Taymans <wim@fluendo.com>
10782 * gst/gst.c: (gst_debug_help):
10783 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
10784 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
10785 (gst_plugin_feature_list_free):
10786 * gst/gstregistry.c: (gst_registry_add_plugin),
10787 (gst_registry_add_feature), (gst_registry_plugin_filter),
10788 (gst_registry_feature_filter), (gst_registry_find_plugin),
10789 (gst_registry_find_feature), (gst_registry_get_plugin_list),
10790 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
10791 * gst/gstregistryxml.c: (load_feature),
10792 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
10793 * gst/gstminiobject.c: (gst_mini_object_unref),
10794 (gst_mini_object_replace), (gst_value_mini_object_free),
10795 (gst_value_mini_object_copy):
10796 Use _CAST macros to avoid unneeded type checking.
10797 Added some more G_UNLIKELY.
10799 2006-06-12 Wim Taymans <wim@fluendo.com>
10802 Avoid unneeded type checking.
10803 API: GST_BUFFER_IS_DISCONT
10805 * gst/gstminiobject.h:
10806 Avoid type check in flag accessor.
10808 * gst/gstelementfactory.h:
10810 * gst/gstpluginfeature.h:
10812 API: GST_ELEMENT_FACTORY_CAST
10813 API: GST_PLUGIN_CAST
10814 API: GST_PLUGIN_FEATURE_CAST
10816 2006-06-12 Wim Taymans <wim@fluendo.com>
10818 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
10819 (gst_object_unref):
10820 Add G_UNLIKELY in type registration.
10821 Avoid type check in _ref/_unref since that is also
10824 2006-06-12 Wim Taymans <wim@fluendo.com>
10826 * gst/gsterror.c: (gst_g_error_get_type):
10827 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10828 (gst_static_pad_template_get_type):
10829 * gst/gsttaglist.c: (gst_tag_list_get_type):
10830 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
10831 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
10832 * gst/gsturi.c: (gst_uri_handler_get_type):
10833 * gst/gstvalue.c: (gst_date_get_type):
10834 * gst/gstxml.c: (gst_xml_get_type):
10835 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
10836 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10837 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
10838 Add G_UNLIKELY in type registration.
10840 2006-06-12 Wim Taymans <wim@fluendo.com>
10842 * tools/gst-inspect.c: (print_signal_info):
10843 Properly print enum values.
10845 2006-06-12 Wim Taymans <wim@fluendo.com>
10847 * gst/gstinfo.c: (gst_debug_set_active),
10848 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
10850 Add some G_[UN]LIKELY.
10851 Maintain __gst_debug_min to avoid formatting the arguments of
10852 debug messages that will be dropped anyway to avoid a lot of
10853 overhead from the debugging system.
10855 2006-06-11 Stefan Kost <ensonic@users.sf.net>
10858 * po/POTFILES.skip:
10859 add missing files containing translatable strings, tell intltool about
10862 2006-06-11 Stefan Kost <ensonic@users.sf.net>
10864 * tests/check/libs/.cvsignore:
10865 add test-binary to ignore list
10867 2006-06-11 Stefan Kost <ensonic@users.sf.net>
10869 * docs/libs/gstreamer-libs-docs.sgml:
10870 reorder (put dp into a chapter) and indent
10872 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
10877 === release 0.10.8 ===
10879 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
10882 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
10884 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
10886 * gst/gst.c: (init_post):
10887 move pid declaration to declaration block
10889 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
10891 * gst/gst.c: (init_post):
10892 use _exit() instead of exit() in our forked child; this ensures
10893 that none of the registered exit handlers from whatever is using
10894 GStreamer get executed. This fixes gnome-mixer-applet failing
10895 to load, because ORBit would shut down.
10896 Spotted by: Edward Hervey <edward@fluendo.com>
10897 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
10900 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
10905 === release 0.10.7 ===
10907 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
10910 releasing 0.10.7, "Soepeke, ik zie ou"
10912 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
10935 * win32/common/config.h:
10936 0.10.6.2 prerelease
10938 2006-06-07 Wim Taymans <wim@fluendo.com>
10940 * gst/gstindex.c: (gst_index_gtype_resolver):
10941 * tools/gst-xmlinspect.c: (print_plugin_info):
10942 Fix leak spotted by coverity checker. Fixes #343827
10943 Fix another other leak found by paolo borelli.
10945 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
10947 * libs/gst/dataprotocol/dataprotocol.c:
10948 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
10949 (gst_dp_version_get_type), (gst_dp_init),
10950 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
10951 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
10952 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
10953 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
10954 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
10955 (gst_dp_packetizer_free):
10956 * libs/gst/dataprotocol/dataprotocol.h:
10957 API: add a GstDPPacketizer object, and create/free functions
10958 API: add GstDPVersion enum
10959 Add 1.0 event function that uses the string serialization
10960 Serialize more useful buffer flags
10963 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
10965 * tests/check/Makefile.am:
10966 * tests/check/gst/gstabi.c:
10967 * tests/check/gst/struct_ppc64.h:
10968 * tests/check/libs/libsabi.c:
10969 * tests/check/libs/struct_ppc64.h:
10970 add ppc64 structure sizes
10972 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
10974 * tests/check/Makefile.am:
10975 * tests/check/gst/gstabi.c:
10976 * tests/check/gst/struct_x86_64.h:
10977 * tests/check/libs/libsabi.c:
10978 * tests/check/libs/struct_x86_64.h:
10979 generate and add structure size lists for x86_64
10981 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
10983 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10984 * libs/gst/check/gstcheck.h:
10985 factor out the method from tests that checks size of structures,
10986 and add code to generate the header containing these sizes
10987 * tests/check/gst/gstabi.c: (GST_START_TEST):
10988 * tests/check/gst/struct_i386.h:
10989 * tests/check/libs/libsabi.c: (GST_START_TEST):
10990 * tests/check/libs/struct_i386.h:
10993 2006-06-06 Michael Smith <msmith@fluendo.com>
10995 * gst/gstsegment.h:
10996 Don't use c++-style comments, fixes #343929
10998 2006-06-05 Edward Hervey <edward@fluendo.com>
11001 plugin_paths is not used if we build without registry support.
11003 * gst/gstsegment.c: (gst_segment_copy):
11004 _copy() was always returning NULL...
11006 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
11008 * libs/gst/dataprotocol/dataprotocol.c:
11009 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11010 (gst_dp_packet_from_event):
11011 factor out CRC code
11013 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
11015 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
11016 make sure we unset caps
11018 2006-06-02 Michael Smith <msmith@fluendo.com>
11020 * libs/gst/check/gstcheck.c: (gst_check_init),
11021 (gst_check_chain_func):
11022 * libs/gst/check/gstcheck.h:
11023 Add a cond/mutex to the check support lib, signal this whenever we
11024 add to the buffers list. This will allow tests to not busy-wait on
11027 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
11029 * libs/gst/dataprotocol/dataprotocol.c:
11030 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11031 (gst_dp_packet_from_event):
11032 factor out some common header init code
11034 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
11036 * docs/libs/gstreamer-libs-sections.txt:
11037 * docs/libs/tmpl/gstdataprotocol.sgml:
11038 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
11039 * libs/gst/dataprotocol/dataprotocol.h:
11040 API: make gst_dp_crc() public
11042 2006-06-01 Stefan Kost <ensonic@users.sf.net>
11044 * plugins/indexers/gstindexers.c: (plugin_init):
11045 conditionally register fileindexer (fixes #343598)
11047 2006-06-01 Stefan Kost <ensonic@users.sf.net>
11049 * gst/gsttagsetter.h:
11050 Can't cast ifaces to a class
11052 * libs/gst/net/gstnetclientclock.h:
11053 * libs/gst/net/gstnettimeprovider.h:
11054 * plugins/elements/gstfakesink.h:
11055 * plugins/elements/gstfakesrc.h:
11056 * plugins/elements/gstfdsink.h:
11057 * plugins/elements/gstfdsrc.h:
11058 * plugins/elements/gstfilesink.h:
11059 * plugins/elements/gstfilesrc.h:
11060 * plugins/elements/gstidentity.h:
11061 * plugins/elements/gstqueue.h:
11062 * plugins/elements/gsttee.h:
11063 * plugins/indexers/gstfileindex.c:
11064 * plugins/indexers/gstmemindex.c:
11065 * tests/old/examples/plugins/example.h:
11066 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
11068 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
11070 * libs/gst/dataprotocol/dataprotocol.c:
11071 (gst_dp_header_from_buffer):
11072 make sure we zero the whole ABI-compatible area
11074 2006-06-01 Wim Taymans <wim@fluendo.com>
11076 Patch by: Alessandro Decina <alessandro at nnva dot org>
11078 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
11079 Make sure the EOS flag is cleared from pads after a flush
11080 or stop. Fixes #343538.
11082 * tests/check/libs/collectpads.c: (GST_START_TEST),
11083 (gst_collect_pads_suite):
11084 Added test for collectpads reusage after EOS.
11086 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
11089 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
11090 * win32/common/libgstbase.def:
11091 export gst_collect_pads_set_flushing
11092 * win32/common/libgstreamer.def:
11093 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
11094 gst_value_fraction_multiply
11095 * win32/vs6/gst_inspect.dsp:
11096 add a link to intl.lib
11098 2006-05-30 Wim Taymans <wim@fluendo.com>
11100 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11101 (gst_collect_pads_chain):
11102 Handle the case where a pad is removed from the collection
11103 that could cause the other pads to become collectable.
11105 2006-05-30 Wim Taymans <wim@fluendo.com>
11107 * gst/gstelement.c:
11108 Clarify the use of _release_request_pad() and
11109 _get_request_pad() a bit better.
11111 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
11112 (gst_adapter_take_buffer):
11113 Fix some doc and comment typos.
11115 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
11117 * docs/gst/gstreamer-sections.txt:
11118 * docs/libs/gstreamer-libs-sections.txt:
11119 add declared symbols
11121 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
11123 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11124 Add debug that can be enabled using a #define at the top of the file,
11125 for dumping stats about how late/early we were when waking up from
11126 waiting on the clock.
11128 2006-05-30 Wim Taymans <wim@fluendo.com>
11130 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
11131 When rebuilding the pad list, don't leak the previous list.
11133 2006-05-30 Wim Taymans <wim@fluendo.com>
11135 Patch by: Lutz Mueller <lutz at topfrose dot de>
11137 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11138 (gst_base_src_get_query_types), (gst_base_src_update_length):
11139 Publish supported query types.
11140 Update last_stop field in get_range mode so the position
11141 query works. Fixes #342321.
11143 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
11145 * docs/gst/gstreamer-sections.txt:
11146 * gst/gsttaglist.c: (_gst_tag_initialize):
11147 * gst/gsttaglist.h:
11148 API: add GST_TAG_PREVIEW_IMAGE (#343341).
11150 2006-05-30 Wim Taymans <wim@fluendo.com>
11152 Patch by: Alessandro Decina <alessandro at nnva dot org>
11154 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
11155 Unlock mutex when removing an unknown pad.
11158 * tests/check/Makefile.am:
11159 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
11160 (push_event), (setup), (teardown), (GST_START_TEST),
11161 (gst_collect_pads_suite), (main):
11162 Added collecpads check, disabled for now as check crashes for
11165 2006-05-29 Wim Taymans <wim@fluendo.com>
11167 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
11168 Don't leak pads lists.
11170 2006-05-29 Wim Taymans <wim@fluendo.com>
11172 * docs/libs/gstreamer-libs-sections.txt:
11173 * libs/gst/base/gstcollectpads.c:
11174 (gst_collect_pads_set_flushing_unlocked),
11175 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
11176 (gst_collect_pads_stop):
11177 * libs/gst/base/gstcollectpads.h:
11178 API: gst_collect_pads_set_flushing()
11179 Added api to set the pads to flushing, useful for seeking
11180 code in elements using collectpads.
11181 Clear segment when receiving a flush.
11183 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
11185 * gst/gst.c: (add_path_func), (init_post):
11186 Don't scan registry paths passed via --gst-plugin-path immediately
11187 (will crash, because absolutely nothing is set up and no types are
11188 registered etc.); do this later in init_post(). Fixes #343057.
11190 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
11192 * gst/gst.c: (init_post):
11193 if we have fork, fork while reading/rebuilding the registry
11194 so the parent doesn't take the hit of having all plugins loaded
11195 in memory. Fixes #342777.
11197 Check if we have fork()
11198 * win32/common/config.h.in:
11201 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
11203 * plugins/elements/gstelements.c:
11204 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11205 (gst_file_src_init), (gst_file_src_set_property),
11206 (gst_file_src_get_property), (gst_file_src_start):
11207 * plugins/elements/gstfilesrc.h:
11208 API: GstFileSrc::use-mmap
11210 Add a use-mmap property to enable easier testing of all code paths.
11211 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
11212 in the absence of gnomevfssrc. (Closes #340501)
11214 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11216 * tools/gst-inspect.c:
11217 Add missing include, removes warning of ngettext not being defined on
11220 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
11222 * gst/gstvalue.c: (gst_value_deserialize_fraction):
11223 Handle NULL input and output pointers silently as a failed conversion,
11224 rather than g_warnings.
11226 2006-05-25 Wim Taymans <wim@fluendo.com>
11228 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
11229 Initialize variable before using. Fixes #342820.
11231 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
11233 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
11234 Fix off-by-one bug that would only allow peeks of N-1 bytes
11235 from the start even if the buffer to typefind on contains
11236 in fact N bytes of data (makes vorbis typefinding from a
11237 vorbis identification header buffer work).
11239 * tests/check/Makefile.am:
11240 * tests/check/libs/.cvsignore:
11241 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
11242 (gst_typefindhelper_suite), (main), (foobar_typefind),
11244 Add very basic unit test for gst_type_find_helper_for_buffer()
11245 that checks for the problem fixed above.
11247 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
11249 * tools/gst-inspect.c: (print_interfaces),
11250 (print_element_properties_info), (print_element_list), (main):
11251 add more translatable strings
11253 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
11255 Patch by: Julien Moutte <julien at moutte net>
11257 * docs/gst/gstreamer-sections.txt:
11258 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
11260 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
11261 (gst_fake_sink_preroll):
11262 * plugins/elements/gstfakesink.h:
11263 API: Add new GstFakeSink::preroll-handoff signal (#337100).
11265 2006-05-23 Wim Taymans <wim@fluendo.com>
11267 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
11269 Added _CUSTOM error and success GstFlowReturn that can be
11270 used be elements internally.
11271 Added macro to check for SUCCESS flowreturns.
11272 API: GST_FLOW_CUSTOM_SUCCESS
11273 API: GST_FLOW_CUSTOM_ERROR
11274 API: GST_FLOW_IS_SUCCESS
11276 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
11277 Added check for GstFlowReturn sanity.
11279 2006-05-23 Wim Taymans <wim@fluendo.com>
11281 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11283 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11284 (gst_collect_pads_event):
11285 clear/reset segment info in FLUSH_STOP.
11288 2006-05-22 Stefan Kost <ensonic@users.sf.net>
11290 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
11291 (gst_collect_pads_check_collected):
11292 Flush queued buffer on _stop(), fixes playing again (#342454)
11294 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
11296 * tests/check/gst/gststructure.c: (GST_START_TEST),
11297 (gst_structure_suite):
11298 add a test for a complete structure
11300 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
11302 * docs/faq/developing.xml:
11303 * docs/faq/faq.xml:
11304 * docs/faq/troubleshooting.xml:
11305 * docs/faq/using.xml:
11306 Some minor FAQ updates that won't change the fact that
11307 our FAQ is badly structured, full of information hardly
11308 anyone new to GStreamer needs to know and lacking lots
11309 of information people constantly ask for.
11311 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
11313 * gst/gstpad.c: (gst_pad_set_caps):
11314 Short-circuit gst_pad_set_caps if setting the existing
11315 caps pointer again, and avoid printing debug and
11316 reffing/unreffing the caps.
11318 * plugins/elements/gstqueue.c: (gst_queue_push_one):
11319 There's actually no need to set the caps before pushing -
11320 the acceptcaps method will handle it anyway.
11322 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
11324 * docs/gst/gstreamer-sections.txt:
11325 * win32/common/libgstreamer.def:
11326 * gst/gstutils.c: (gst_element_seek_simple):
11328 API: add gst_element_seek_simple() (#342238).
11330 2006-05-18 Edward Hervey <edward@fluendo.com>
11332 * gst/gsttypefind.c: (gst_type_find_get_type):
11333 * gst/gsttypefind.h:
11334 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
11335 registered for GstTypeFind pointers. This allows wrapping the structure
11336 in bindings (i.e. gst-python).
11338 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
11340 * gst/gsttagsetter.c:
11341 Docs additions and fixes (see #339918).
11343 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
11345 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11346 The caps intersection algorithm can produce multiple copies of the
11347 caps. Until that is fixed, we need to simplify the result to be
11348 sure whether the allowed caps are fixed or not.
11350 * plugins/elements/gstqueue.c: (gst_queue_init),
11351 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
11352 (gst_queue_push_one):
11353 Proxied buffer alloc should not set the caps on the source pad.
11354 When pushing buffers, we always accept the caps change that triggers.
11355 This prevents negotiation errors caused by caps changing mid-stream
11356 and then being refused on our source pad (because upstream is now
11357 refusing those caps).
11359 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
11361 * tests/examples/helloworld/helloworld.c: (main):
11362 Must plug audioconvert and audioresample between decoder
11365 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
11367 * gst/gstregistryxml.c: (read_string), (load_pad_template),
11368 (load_feature), (load_plugin):
11369 Allow empty strings for some of the plugin fields so we don't
11370 drop valid plugin entries that were written out correctly
11373 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
11375 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
11376 Use g_remove and g_rename instead of remove and rename that don't
11377 handle utf8 characters. rename was failing for users who had specific
11378 characters in their name then the registry was built at each
11380 * win32/vs6/gst_inspect.dsp:
11381 * win32/vs6/gst_launch.dsp:
11382 * win32/vs6/libgstbase.dsp:
11383 * win32/vs6/libgstcoreelements.dsp:
11384 * win32/vs6/libgstreamer.dsp:
11385 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
11386 build of libgstreamer and clean unused libraries in projects link
11389 2006-05-17 Edward Hervey <edward@fluendo.com>
11391 * plugins/elements/gstqueue.c: (gst_queue_push_one):
11392 The queue is not responsible for pushing an EOS when receiving a fatal
11393 flow error. It's up to the real element driving the pipeline to do that.
11395 2006-05-16 Edward Hervey <edward@fluendo.com>
11397 * plugins/elements/gstqueue.c: (gst_queue_push_one):
11398 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
11399 buffer returned a fatal error. It should just send an EOS and stop
11401 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
11402 when pushing buffers on the queue and will be able to handle the event.
11404 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
11406 * docs/manual/basics-bins.xml:
11407 * docs/manual/basics-init.xml:
11408 Fix typos and minor errors in sample code (#341856).
11410 2006-05-16 Wim Taymans <wim@fluendo.com>
11412 * docs/design/part-qos.txt:
11413 Fix indexes in formulas to make more sense.
11415 2006-05-15 Wim Taymans <wim@fluendo.com>
11417 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11418 Don't report POSITION based on clock time if sync is
11419 disabled in a sink.
11421 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
11424 Add cast to make compiler happy - refcount variable was a gint
11425 in GstObject but is a guint in GObject and g_atomic_int_get()
11428 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
11430 * gst/parse/Makefile.am:
11431 chain commands using &&, which also makes parallel make work
11433 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
11435 * docs/gst/gstreamer-sections.txt:
11438 * gst/gstmessage.h:
11441 === release 0.10.6 ===
11443 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
11446 releasing 0.10.6, "Take the cannoli"
11448 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
11450 * tools/gst-launch.c: (print_tag):
11451 Fix use of uninitialized variable in the hypothetical
11452 case that some broken plugin creates a GST_TAG_IMAGE
11453 tag containing a NULL buffer (#341667).
11455 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
11457 * tools/gst-launch.c: (print_tag):
11458 Print something more intelligible for image tags when
11459 using the -t switch (#341556).
11461 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
11466 define GST_MAJORMINOR so we have it available in win32/common/config.h
11467 Possibly remove it from our Makefile.am files later
11468 * win32/common/config.h:
11469 * win32/common/config.h.in:
11470 added GST_MAJORMINOR
11471 * win32/common/gstenumtypes.c: (register_gst_resource_error):
11472 * win32/common/gstversion.h:
11475 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
11478 Update win32 files listing.
11479 * win32/common/gstversion.h:
11480 Add GST_MAJORMINOR definition.
11481 * win32/common/libgstreamer.def:
11482 Add new exported functions.
11484 2006-05-12 Michael Smith <msmith@fluendo.com>
11486 * gst/gstplugin.c: (gst_plugin_load_file):
11487 If an so file has no plugin entry point, unload the module.
11489 2006-05-11 Wim Taymans <wim@fluendo.com>
11491 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
11492 (gst_queue_set_property):
11493 Don't forget to signal the _chain or _loop function
11494 when the queue size or thresholds change since that might
11495 cause them to make progres again.
11497 2006-05-11 Stefan Kost <ensonic@users.sf.net>
11499 * gst/gstclock.c: (gst_clock_class_init):
11500 * gst/gstindex.c: (gst_index_class_init):
11501 * gst/gstobject.c: (gst_object_class_init):
11502 * gst/gstpad.c: (gst_pad_class_init):
11503 * gst/gstpipeline.c: (gst_pipeline_class_init):
11504 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11505 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
11506 * libs/gst/base/gstbasetransform.c:
11507 (gst_base_transform_class_init):
11508 * libs/gst/net/gstnetclientclock.c:
11509 (gst_net_client_clock_class_init):
11510 * libs/gst/net/gstnettimeprovider.c:
11511 (gst_net_time_provider_class_init):
11512 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
11513 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11514 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11515 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
11516 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
11517 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11518 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
11519 * plugins/elements/gstidentity.c: (gst_identity_class_init):
11520 * plugins/elements/gsttee.c: (gst_tee_class_init):
11521 * tests/old/examples/plugins/example.c: (gst_example_class_init):
11522 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
11523 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
11525 2006-05-11 Wim Taymans <wim@fluendo.com>
11527 * gst/gstbuffer.c: (_gst_buffer_initialize):
11528 Register subbufer along with the buffer type so that
11529 it does not accidentally gets registered from N
11530 different streaming threads in a non threadsafe way.
11532 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
11536 * gst/gstmessage.h:
11537 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
11538 gst_event_ref() and gst_message_ref() functions again
11539 (ugly hack, please do fix if there's a better way besides
11540 overrides.txt, which doesn't seem to work).
11542 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
11544 * libs/gst/check/gstcheck.h:
11545 add an assert for setting state to avoid lots of repetitive code
11548 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
11550 * gst/gstvalue.c: (gst_value_serialize_flags):
11551 fix a leak if no flags are set
11552 * tests/check/gst/gstvalue.c: (GST_START_TEST):
11555 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
11557 * docs/manual/basics-pads.xml:
11558 Expand a bit on caps and filtered links and update
11559 examples that were still using the no longer existing
11560 gst_pad_link_filtered() (#338206).
11562 2006-05-10 Wim Taymans <wim@fluendo.com>
11564 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11565 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11566 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
11567 (gst_collect_pads_stop):
11568 * libs/gst/base/gstcollectpads.h:
11569 No need to call _stop in _finalize.
11570 Iterate the main pad list in _finalize.
11571 Added some more debug.
11572 Free lists and data in the right order.
11573 Also free data whem doing _remove_pad when stopped for
11574 backward compatibility protect ::started with PAD_LOCK as
11577 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
11579 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
11580 (gst_structure_parse_value):
11582 rename a method so that it actually says what it does better
11584 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
11586 * gst/gstevent.c: (_gst_event_initialize):
11587 * gst/gstformat.c: (_gst_format_initialize):
11588 make sure some essential types used by events are registered
11589 as part of gst_init()
11590 * gst/gstvalue.c: (gst_value_serialize_flags):
11591 if no flags are set, serialize them to a value that represents NONE
11592 so that deserializing them works
11593 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11594 add tests for serialization and deserialization of flags
11596 2006-05-10 Wim Taymans <wim@fluendo.com>
11598 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
11599 (gst_collect_pads_collect_range), (gst_collect_pads_available),
11600 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
11601 (gst_collect_pads_event), (gst_collect_pads_chain):
11604 Catch and return errors from the collect function
11605 Refuse data on eos pads.
11607 2006-05-10 Edward Hervey <edward@fluendo.com>
11609 * gst/gstinterface.h:
11610 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
11611 GInterface type checking.
11612 They were previously using non-defined macros.
11614 2006-05-09 Wim Taymans <wim@fluendo.com>
11616 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
11617 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
11618 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
11619 (gst_collect_pads_start), (gst_collect_pads_stop),
11620 (gst_collect_pads_peek), (gst_collect_pads_pop),
11621 (gst_collect_pads_available), (gst_collect_pads_read),
11622 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
11623 (gst_collect_pads_is_collected), (gst_collect_pads_event),
11624 (gst_collect_pads_chain):
11625 * libs/gst/base/gstcollectpads.h:
11626 Clean up the mess that is collectpads, add comments and
11627 FIXMEs where needed.
11628 Maintain a separate pad list so we can add pads while
11629 collecting the other ones. For this we need a new separate
11631 Fix memory leak in finalize.
11632 Refactor some weird code to set/unset pad flushing flags, mark
11634 Don't crash in _available, _read, _flush when we're EOS.
11636 * tests/check/libs/.cvsignore:
11637 Ignore adapter check binary.
11639 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
11641 * gst/gstindex.c: (gst_index_resolver_get_type):
11642 * plugins/elements/gstfakesink.c:
11643 (gst_fake_sink_state_error_get_type):
11644 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11645 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
11646 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11647 Const-ify GEnumValue arrays.
11649 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
11651 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11652 Add test case for flags + gst_buffer_make_metadata_writable().
11654 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
11656 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
11657 gst_buffer_make_metadata_writable() should maintain the
11658 buffer flags (those that make sense at least) (see #340859).
11660 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
11662 * tools/gst-inspect.c:
11663 * tools/gst-launch.c:
11664 * tools/gst-typefind.c:
11665 * tools/gst-xmlinspect.c:
11667 Fix up includes: need to include stdlib.h in tools.h for exit().
11669 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
11671 * gst/gsttaglist.c: (_gst_tag_initialize):
11672 * gst/gsttaglist.h:
11673 API: add GST_TAG_IMAGE tag (#340721).
11675 2006-05-08 Wim Taymans <wim@fluendo.com>
11678 Added some docs for the segment query.
11680 2006-05-08 Wim Taymans <wim@fluendo.com>
11682 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11683 (gst_base_src_loop), (gst_base_src_change_state):
11684 Always push non-flushing serialized events in the streaming
11687 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
11689 * gst/gsterror.c: (_gst_stream_errors_init):
11690 Add a missing error string.
11692 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
11694 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
11695 Add applied_rate to the debug
11697 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
11698 Copy applied_rate into the outgoing NEWSEGMENT event
11700 2006-05-08 Wim Taymans <wim@fluendo.com>
11702 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
11704 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
11705 (gst_base_sink_change_state):
11706 call ::unlock before taking the PREROLL_LOCK so we can safely
11707 handle elements that lock in ::render.
11710 2006-05-08 Edward Hervey <edward@fluendo.com>
11712 * autogen.sh: (CONFIGURE_DEF_OPT):
11713 Darwin's libtoolize is in fact called glibtoolize.
11714 Adding glibtoolize to the list of accepted names for libtoolize.
11716 2006-05-08 Wim Taymans <wim@fluendo.com>
11718 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11719 Unify error handling, don't post an error message
11720 when a push() returns EOS but perform our normal EOS
11721 handling code. Fixes #340772.
11723 2006-05-08 Wim Taymans <wim@fluendo.com>
11725 * docs/design/part-overview.txt:
11726 Make upsteam/downstream concepts more clear.
11727 Give an example of serialized/non-serialized events.
11729 * docs/design/part-events.txt:
11730 * docs/design/part-streams.txt:
11731 Mention applied_rate.
11733 * docs/design/part-trickmodes.txt:
11734 Mention applied rate, flesh out some more use cases.
11736 * gst/gstevent.c: (gst_event_new_new_segment),
11737 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
11738 (gst_event_parse_new_segment_full), (gst_event_new_tag),
11739 (gst_event_parse_tag), (gst_event_new_buffer_size),
11740 (gst_event_parse_buffer_size), (gst_event_new_qos),
11741 (gst_event_parse_qos), (gst_event_parse_seek),
11742 (gst_event_new_navigation):
11744 Add applied_rate field to NEWSEGMENT event.
11745 API: gst_event_new_new_segment_full()
11746 API: gst_event_parse_new_segment_full()
11748 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
11749 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
11750 (gst_segment_to_stream_time), (gst_segment_to_running_time):
11751 * gst/gstsegment.h:
11752 Add applied_rate to GstSegment structure.
11753 Make calculation of stream_time and running_time more correct
11754 wrt rate/applied_rate.
11755 Add some more docs.
11756 API: GstSegment::applied_rate field
11757 API: gst_segment_set_newsegment_full();
11759 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
11760 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
11761 * libs/gst/base/gstbasetransform.c:
11762 (gst_base_transform_sink_eventfunc),
11763 (gst_base_transform_handle_buffer):
11764 Parse and use applied_rate in the GstSegment field.
11766 * tests/check/gst/gstevent.c: (GST_START_TEST):
11767 Add check for applied_rate field.
11769 * tests/check/gst/gstsegment.c: (GST_START_TEST),
11770 (gstsegments_suite):
11771 Add more checks for various GstSegment operations.
11773 2006-05-08 Wim Taymans <wim@fluendo.com>
11775 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
11776 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
11777 (gst_base_sink_get_position), (gst_base_sink_change_state):
11778 Store the sync time of the buffer end position separatly in a
11779 new variable eos_rtime so we can properly sync the EOS event.
11781 Fix the docs for gst_base_sink_set_qos_enabled().
11782 Don't set segment start to invalid value when we receive a
11783 non TIME newsegment.
11784 get closer to handling position reporting for negative rates
11787 2006-05-07 Stefan Kost <ensonic@users.sf.net>
11790 Docs about how to print caps for debug purposes.
11792 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
11793 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
11795 2006-05-07 Stefan Kost <ensonic@users.sf.net>
11797 * gst/gstelement.c:
11798 use full enum names and preprend a '%' in docs strings to make recent
11799 gtk-doc turn that into a link
11801 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
11803 * docs/manual/basics-bins.xml:
11804 * docs/manual/basics-bus.xml:
11805 * docs/manual/basics-pads.xml:
11806 Some typo fixes, some additions, some clarifications.
11808 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
11810 * tools/gst-inspect.c: (main):
11811 * tools/gst-launch.c: (main):
11812 * tools/gst-run.c: (main):
11813 * tools/gst-typefind.c: (main):
11814 * tools/gst-xmlinspect.c: (main):
11815 Use the string passed to g_option_context_new() for
11816 what it's intended for - the program name is already
11819 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
11821 * tools/Makefile.am:
11822 * tools/gst-inspect.c: (main):
11823 * tools/gst-launch.c: (main):
11824 * tools/gst-xmlinspect.c: (main):
11826 Add back --version command line option (#340460).
11828 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
11829 Add --version option and use GOption for argument parsing; refactor a
11830 bit; accept directories as arguments and recurse into them; lastly,
11831 print a decent error message when things go wrong.
11833 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
11835 * docs/manual/basics-bins.xml:
11836 Don't mention GstThread (#340611)
11837 * docs/manual/basics-elements.xml:
11838 Update link to GObject tutorial (#340607)
11840 2006-05-05 Wim Taymans <wim@fluendo.com>
11843 * gst/gstminiobject.c:
11844 Add note about refcounting and miniobject/buffer writeability
11845 to docs. Fixes #340604
11847 * gst/gstelementfactory.h:
11848 Added some explanation about @klass.
11850 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
11852 * docs/manual/intro-motivation.xml:
11853 * docs/manual/manual.xml:
11854 Avoid CORBA & Bonobo references (#340598)
11856 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
11858 * docs/manual/basics-bus.xml:
11859 * docs/manual/basics-pads.xml:
11860 Fix up some inaccuracies and omissions (#340609)
11862 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
11864 * gst/gstghostpad.c:
11865 Small typo in docs (#340625)
11867 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
11869 * gst/parse/Makefile.am:
11870 Make 'make -j' proof (see #340698).
11872 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
11875 Require GLib-2.8 here as well.
11877 2006-05-05 Wim Taymans <wim@fluendo.com>
11879 * gst/glib-compat.c:
11880 * gst/gst.c: (init_pre):
11881 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11882 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
11883 (gst_object_dispatch_properties_changed):
11885 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
11886 * gst/gststructure.c: (gst_structure_set_valist):
11887 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
11888 Remove pre glib2.8 compatibility, fixes #340508
11890 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
11892 * gst/gsttaglist.h:
11893 Mention type of tags in doc blurbs.
11895 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
11897 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
11898 (gst_pad_configure_src), (gst_pad_push):
11899 Restore acceptcaps checking behaviour now that good plugins have
11902 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
11904 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
11911 * gst/gstmessage.c:
11915 * gst/parse/Makefile.am:
11916 * libs/gst/base/gstadapter.c:
11917 * libs/gst/base/gstbasesrc.c:
11918 * libs/gst/base/gstpushsrc.c:
11919 * libs/gst/base/gsttypefindhelper.c:
11920 * plugins/elements/gstfakesrc.c:
11921 * plugins/elements/gstidentity.c:
11922 Make sure gstprivate.h and/or config.h are
11923 always included first, otherwise some of our
11924 defines (like _FILE_OFFSET_BITS) might be
11925 redefined in the system headers. Fixes build
11926 on opensolaris (#340016).
11928 2006-05-04 Wim Taymans <wim@fluendo.com>
11930 * docs/libs/gstreamer-libs-sections.txt:
11931 API: addition: gst_adapter_take_buffer()
11933 * libs/gst/base/gstadapter.c: (gst_adapter_push),
11934 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
11935 (gst_adapter_available_fast):
11936 * libs/gst/base/gstadapter.h:
11937 Prepare for optimizing the hell out of this hugely inefficient
11939 Added gst_adapter_take_buffer() so we can at least start thinking
11940 about subbuffering and merging.
11941 Added some comments.
11943 * tests/check/Makefile.am:
11944 * tests/check/libs/adapter.c: (GST_START_TEST),
11945 (gst_adapter_suite), (main):
11946 Added GstAdapter check.
11948 2006-05-04 Wim Taymans <wim@fluendo.com>
11950 * docs/design/part-overview.txt:
11951 Fix some typos, add blurb about buffer flags.
11953 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
11955 * docs/libs/gstreamer-libs-sections.txt:
11956 make sure GstBaseTransformClass shows up in the docs
11957 * libs/gst/base/gstbasetransform.c:
11958 * libs/gst/base/gstbasetransform.h:
11959 move docs so gtk-doc picks it up now
11961 2006-05-02 Stefan Kost <ensonic@users.sf.net>
11963 * docs/libs/gstreamer-libs-sections.txt:
11964 add missing symbols to docs
11966 2006-05-02 Stefan Kost <ensonic@users.sf.net>
11968 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11969 back out the newsegment handling change, see #340060 for ongoing
11972 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
11974 * tools/gst-run.c: (get_candidates), (main):
11975 Fix wrong g_file_test() usage (see glib docs for why it doesn't
11976 work); fix typo in error message. Fixes #340079.
11978 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
11980 * common/Makefile.am:
11981 * docs/Makefile.am:
11982 * docs/faq/Makefile.am:
11983 * docs/gst/Makefile.am:
11984 * docs/libs/Makefile.am:
11985 * docs/manual/Makefile.am:
11986 * docs/plugins/Makefile.am:
11987 * docs/pwg/Makefile.am:
11988 * docs/slides/Makefile.am:
11990 * common/upload.mak:
11991 move upload.mak to common
11993 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
11995 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11996 add more asserts on refcounts
11997 do more cleanup at end of tests
11998 fix test leaks showing in FC5
12000 2006-04-29 Stefan Kost <ensonic@users.sf.net>
12002 * plugins/elements/gsttypefindelement.c:
12003 (gst_type_find_element_handle_event):
12004 reverted wrong change and reflowed code to avoid others falling into
12007 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12009 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
12010 fix changelog entry about last collectpads change,
12011 add notes about proper fix
12013 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12016 * gst/gstregistry.c: (gst_registry_scan_path_level),
12017 (gst_registry_scan_path):
12018 * gst/gstregistry.h:
12019 only write out registry if it has changed, fixes #338339
12021 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12024 * gst/gstpipeline.c:
12025 * plugins/elements/gstcapsfilter.c:
12026 * plugins/elements/gstfakesink.c:
12027 * plugins/elements/gstfakesrc.c:
12028 * plugins/elements/gstfdsink.c:
12029 * plugins/elements/gstfdsrc.c:
12030 * plugins/elements/gstfilesink.c:
12031 * plugins/elements/gstfilesrc.c:
12032 * plugins/elements/gstidentity.c:
12033 * plugins/elements/gstqueue.c:
12034 * plugins/elements/gsttee.c:
12035 * plugins/elements/gsttypefindelement.c:
12036 (gst_type_find_element_handle_event):
12037 make GstElementDetails const
12039 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12041 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
12042 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12043 (gst_collect_pads_is_collected), (gst_collect_pads_event):
12044 more detailed debug and formatting cleanup,
12045 forward newsegments to src-pad (so that e.g. adder not eats them)
12047 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12049 * gst/gstutils.c: (gst_element_link_pads):
12050 cleanup double code
12052 2006-04-28 Stefan Kost <ensonic@users.sf.net>
12054 * libs/gst/controller/gstcontroller.c:
12055 (gst_controller_sync_values):
12057 * tests/check/libs/controller.c: (GST_START_TEST),
12058 (gst_controller_suite):
12059 a new test for live value handling
12061 2006-04-28 Wim Taymans <wim@fluendo.com>
12063 * gst/gstutils.c: (push_and_ref):
12064 Added some more docs.
12065 Fix refcount issue whith gst_element_found_tags() helper
12066 function. Fixes #338335
12068 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12069 Added testsuite for gst_element_found_tags().
12071 2006-04-28 Michael Smith <msmith@fluendo.com>
12073 * gst/gstvalue.c: (gst_value_serialize_flags):
12074 Avoid NULL dereference when trying to serialize flags containing
12077 2006-04-28 Michael Smith <msmith@fluendo.com>
12079 * plugins/elements/gsttypefindelement.c:
12080 (gst_type_find_element_handle_event):
12081 If we get EOS before any data is accumulated, don't use
12082 uninitialised local variables.
12084 2006-04-28 Michael Smith <msmith@fluendo.com>
12086 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12087 (gst_dp_event_from_packet):
12088 Fixes in reading/writing events over GDP (not currently used?) -
12089 dereferencing NULL events for unknown/invalid event types, memory
12090 leak, and change g_warning to GST_WARNING.
12092 2006-04-28 Wim Taymans <wim@fluendo.com>
12094 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
12095 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
12096 (gst_base_sink_get_position), (gst_base_sink_change_state):
12097 When frame dropping is enabled, we should not ignore frames
12098 without a duration.
12099 Update some documentation.
12101 2006-04-28 Wim Taymans <wim@fluendo.com>
12103 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
12104 (gst_base_src_send_event), (gst_base_src_change_state):
12105 Documentation updates.
12107 2006-04-28 Wim Taymans <wim@fluendo.com>
12109 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
12110 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
12111 handle EAGAIN, EINTR and short writes correctly. Also clean
12112 up some error cases, avoid a deadlock on bad file descriptors and
12113 use GST_DEBUG_OBJECT.
12116 2006-04-28 Wim Taymans <wim@fluendo.com>
12118 * gst/gstvalue.c: (gst_value_serialize_buffer),
12119 (gst_value_deserialize_buffer):
12120 Don't try to serialize a GValue with a NULL buffer.
12123 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12124 Added check for serialisation of NULL buffers.
12126 2006-04-28 Wim Taymans <wim@fluendo.com>
12128 * gst/gstminiobject.c: (gst_value_take_mini_object):
12129 Taking a NULL miniobject is valid, fix the case where
12130 we try to unref the NULL miniobject.
12132 2006-04-28 Wim Taymans <wim@fluendo.com>
12134 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
12136 * gst/gstbin.c: (gst_bin_handle_message_func):
12138 Don't leak bin refcount when a state recalc is
12139 in progress and we delay another one #339808.
12141 2006-04-28 Wim Taymans <wim@fluendo.com>
12143 * docs/design/part-TODO.txt:
12144 Mention QoS as an ongoing work item.
12146 * docs/design/part-buffering.txt:
12147 New doc about buffering that needs to be fleshed out
12150 * docs/design/part-qos.txt:
12151 More QoS policy for decoders/demuxers/transforms
12153 * docs/design/part-trickmodes.txt:
12156 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
12161 === release 0.10.5 ===
12163 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
12166 releasing 0.10.5, "Fogo"
12168 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
12170 patch by: Wim Taymans
12172 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
12173 (gst_pad_configure_src), (gst_pad_push):
12174 * gst/gstpipeline.c: (gst_pipeline_init):
12175 Fix internal data flow errors. Fixes #338711.
12177 2006-04-12 Wim Taymans <wim@fluendo.com>
12179 * tests/check/gst/gstelement.c: (GST_START_TEST):
12180 Don't leak the factory.
12182 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
12185 * win32/common/config.h:
12188 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
12190 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
12191 (gst_controller_unset_all):
12192 Free allocated GstTimedValues when freeing list nodes.
12193 Should fix leaks 'make check-valgrind' complains about.
12195 * win32/common/libgstcontroller.def:
12196 Add gst_controller_unset_all.
12198 2006-04-11 Stefan Kost <ensonic@users.sf.net>
12200 * docs/libs/gstreamer-libs-sections.txt:
12201 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
12202 (gst_controller_unset_all):
12203 * libs/gst/controller/gstcontroller.h:
12204 API: Added new method gst_controller_unset_all()
12205 fixed gst_controller_unset()
12206 * tests/check/libs/controller.c: (GST_START_TEST),
12207 (gst_controller_suite):
12208 Added two testcases for new and fixed method
12210 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
12212 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12213 MSG_DONTWAIT is not defined on Cygwin, so work
12214 around that (fixes #317048).
12216 2006-04-11 Wim Taymans <wim@fluendo.com>
12218 * gst/gstelementfactory.c: (gst_element_register),
12219 (gst_element_factory_create), (gst_element_factory_make):
12222 Updated docs (Fixes #131079)
12224 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12227 * tests/check/gst/gstelement.c: (GST_START_TEST),
12228 (gst_element_suite):
12229 Added testcase for elementfactory class field.
12231 2006-04-10 Wim Taymans <wim@fluendo.com>
12233 * gst/gstsegment.c:
12234 Added some more docs.
12236 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
12237 (gst_base_sink_reset_qos):
12238 Calculate more accurate rate values.
12240 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
12242 * gst/gst_private.h:
12243 add a new #ifdef to use __declspec(dllimport) only for
12244 other modules and not for gstreamer core
12245 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
12246 use gst_guint64_to_gdouble for conversion
12247 * win32/common/libgstreamer.def:
12248 add new exported functions
12249 * win32/vs6/gst_inspect.dsp:
12250 * win32/vs6/gst_launch.dsp:
12251 * win32/vs6/libgstbase.dsp:
12252 * win32/vs6/libgstcontroller.dsp:
12253 * win32/vs6/libgstcoreelements.dsp:
12254 * win32/vs6/libgstdataprotocol.dsp:
12255 * win32/vs6/libgstnet.dsp:
12256 update project files
12258 2006-04-08 Stefan Kost <ensonic@users.sf.net>
12260 * gst/gstbuffer.c: (gst_subbuffer_class_init):
12261 * gst/gstclock.c: (gst_clock_class_init):
12262 * gst/gstelement.c: (gst_element_class_init):
12263 * gst/gstindex.c: (gst_index_class_init):
12264 * gst/gstindexfactory.c: (gst_index_factory_class_init):
12265 * gst/gstobject.c: (gst_object_class_init),
12266 (gst_signal_object_class_init):
12267 * gst/gstpad.c: (gst_pad_class_init):
12268 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
12269 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
12270 * gst/gstregistry.c: (gst_registry_class_init):
12271 * gst/gstsystemclock.c: (gst_system_clock_class_init):
12272 * gst/gsttask.c: (gst_task_class_init):
12273 * gst/gstxml.c: (gst_xml_class_init):
12274 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12275 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12276 (gst_base_src_loop):
12277 * libs/gst/controller/gstcontroller.c:/
12278 (_gst_controller_class_init):
12279 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
12280 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
12281 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
12282 * tests/old/examples/plugins/example.c: (gst_example_class_init):
12283 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
12284 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
12286 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
12288 * gst/gstpad.c: (gst_pad_link):
12289 Must set peer pads before calling the link function, otherwise
12290 a task started from a link function might get a flow-not-linked
12291 result when trying to push because the other thread where the
12292 linking happens hasn't had a chance to set the peers yet. This
12293 might happen for example when a queue gets linked to a downstream
12294 element, as queue starts a streaming task when its source pad
12295 gets linked. Happens in real life when playing back flac/musepack
12296 files in playbin (#332390).
12298 2006-04-08 Stefan Kost <ensonic@users.sf.net>
12302 * libs/gst/base/gstadapter.h:
12303 * libs/gst/base/gstbasesink.h:
12304 * libs/gst/base/gstbasesrc.h:
12305 * libs/gst/base/gstbasetransform.h:
12306 * libs/gst/base/gstcollectpads.h:
12307 * libs/gst/base/gstpushsrc.h:
12308 Fix broken GObject macros
12310 2006-04-07 Wim Taymans <wim@fluendo.com>
12312 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12313 Initialize start and stop times, thanks valgrind.
12315 2006-04-07 Wim Taymans <wim@fluendo.com>
12317 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12318 Be a bit nicer to badly behaving upstream elements that expect
12319 us to deal with non TIME segments and timestamps (such as fakesrc
12322 2006-04-07 Wim Taymans <wim@fluendo.com>
12325 Small documentation clarification about the signal watch.
12327 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
12328 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
12329 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12330 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
12331 (gst_base_sink_get_position_last),
12332 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
12333 Convert and store timestamps in stream time and running time, the
12334 raw timestamps are not useful, also document this better.
12335 Use different window sizes for good and bad QoS observations so
12336 we react to badness a little quicker.
12337 Keep track of the amount of rendered and dropped buffers.
12338 Send QoS timestamps in running time.
12340 * libs/gst/base/gstbasetransform.c:
12341 (gst_base_transform_sink_eventfunc),
12342 (gst_base_transform_handle_buffer):
12343 Compare QoS timestamps against running time.
12345 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
12348 Typo fixes in docs.
12350 2006-04-06 Michael Smith <msmith@fluendo.com>
12352 * gst/gstpad.c: (gst_pad_set_property):
12353 Use g_value_get_object() instead of g_value_dup_gst_object(),
12354 to avoid double-reffing the pad template (which we then sink,
12355 so this worked previously if (and only if) the pad template
12358 * gst/gstpadtemplate.c: (gst_pad_template_init),
12359 (gst_pad_template_pad_created):
12360 Never return floating references to pad templates, create
12361 them as initially-sunken.
12363 Document an extra function (and make this stop sinking our
12364 pad template, since that is now guaranteed to do nothing,
12365 since we created it sunken).
12367 * gst/gstghostpad.c:
12370 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
12372 * gst/gstinfo.c: (__gst_in_valgrind):
12375 * plugins/elements/gsttypefindelement.c:
12376 (gst_type_find_element_chain):
12377 Don't leak buffer caps.
12379 2006-04-06 Michael Smith <msmith@fluendo.com>
12381 * gst/parse/grammar.y:
12382 Fix a leak in parse-launch for any source-or-sink named element
12385 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
12386 Unref the pipeline if it exists after we've failed parsing.
12388 2006-04-05 Michael Smith <msmith@fluendo.com>
12390 * gst/gstpipeline.c: (gst_pipeline_init):
12391 When we create a pipeline bus, initially create it in flushing mode.
12392 Fixes leaks in at least one test, and makes a new pipeline work the
12393 same as one that has gone to READY and then back to NULL.
12395 * gst/gstelement.c:
12398 2006-04-05 Michael Smith <msmith@fluendo.com>
12400 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12401 Unref a pad we reffed.
12402 * tests/check/gst/gstutils.c: (GST_START_TEST):
12405 2006-04-05 Michael Smith <msmith@fluendo.com>
12407 * gst/gstquery.c: (gst_query_set_formats),
12408 (gst_query_set_formatsv):
12409 Fix leaking GValues in queries, as shown by valgrind/testsuite.
12411 2006-04-05 Michael Smith <msmith@fluendo.com>
12413 * tests/check/generic/sinks.c: (GST_START_TEST):
12414 Fix a variety of memleaks in sinks check, which are only sometimes
12415 shown by running the tests under valgrind (weird?).
12417 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
12419 * docs/version.entities.in:
12420 Fix the substituted entity name after thomas' changes on the
12423 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
12425 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
12428 2006-04-05 Andy Wingo <wingo@pobox.com>
12430 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
12432 * libs/gst/base/gstbasetransform.c
12433 (gst_base_transform_sink_eventfunc): When resetting our segment on
12434 FLUSH_STOP, also update the flag saying we haven't seen a
12437 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
12439 Patch by: Paolo Borelli <pborelli at katamail dot com>
12441 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
12442 (gst_plugin_check_license):
12443 minor clean-ups: G_DEFINE_TYPE already takes care of the
12444 parent_class stuff, no need to do it twice. Mark array of
12445 license strings as constant. (#337103)
12447 2006-04-04 Michael Smith <msmith@fluendo.com>
12449 * tools/gst-inspect.c: (print_element_list):
12450 Free the right plugin list; fixes a memory leak.
12452 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
12454 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
12456 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
12457 Don't error out on empty buffers (#336945).
12459 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
12461 * docs/libs/gstreamer-libs-sections.txt:
12462 * gst/gsttaglist.c:
12463 * libs/gst/base/gstbasesink.c:
12464 * libs/gst/base/gstbasesink.h:
12465 * libs/gst/base/gstbasesrc.c:
12466 * libs/gst/base/gstbasesrc.h:
12467 Documentation updates. Make BaseSink and BaseSrc docs contain the
12468 class structure so that people can actually see the prototypes for
12469 virtual functions they're supposed to be overriding.
12471 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
12473 * plugins/elements/gsttypefindelement.c:
12474 (gst_type_find_element_chain):
12475 More debug info; when skipping typefinding, send cached
12476 events in all cases.
12478 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
12481 use new AS_VERSION and AS_NANO macros
12482 * gst/gst-i18n-lib.h:
12485 * gst/gstversion.h.in:
12486 * win32/common/config.h:
12487 * win32/common/config.h.in:
12490 2006-03-31 Michael Smith <msmith@fluendo.com>
12492 * plugins/elements/gsttypefindelement.c:
12493 (gst_type_find_element_chain):
12494 Do not typefind content if the buffers already have caps.
12495 Neccesary for icydemux (#333657), and the right thing to do anyway.
12497 2006-03-30 Wim Taymans <wim@fluendo.com>
12499 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12500 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
12501 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
12502 (gst_base_sink_record_qos_observation),
12503 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12504 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
12505 (gst_base_sink_change_state):
12506 More QoS measurements as described in the design doc.
12507 Get rid of ringbuffer with observations, running average is
12508 more simple and equally good.
12509 Calculates valid proportion now.
12510 Added beginning of flood measurement.
12512 2006-03-29 Wim Taymans <wim@fluendo.com>
12514 * docs/design/part-qos.txt:
12516 Small documentation updates and additions.
12518 2006-03-29 Wim Taymans <wim@fluendo.com>
12520 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
12521 (gst_base_src_send_event), (gst_base_src_loop),
12522 (gst_base_src_change_state):
12523 Perform the EOS logic when we reach the segment stop position.
12524 Fix compilation on gcc4.1
12526 2006-03-29 Wim Taymans <wim@fluendo.com>
12528 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
12530 * plugins/elements/gstqueue.c: (gst_queue_init),
12531 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12532 (gst_queue_set_property):
12533 * plugins/elements/gstqueue.h:
12534 In queue, when EOS is received, if minimum threshold > max_size -
12535 current_level, there is chance that queue blocks forever in conditional
12536 item del wait. This is because the queue is not emptied completely due
12537 to minimum threshold. Here is another approach. Instead of setting
12538 cur_levels to max in EOS, just zero all minimum threshold levels. This
12539 should make sure that queue gives out all data. When going to READY
12540 (stop) state, just reset the original minimum threshold levels.
12543 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
12545 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
12546 (gst_type_find_element_handle_event),
12547 (gst_type_find_element_send_cached_events),
12548 (gst_type_find_element_change_state):
12549 * plugins/elements/gsttypefindelement.h:
12550 When typefinding is done in push mode, we should cache
12551 events we receive during typefinding instead of just
12552 dropping them (e.g. newsegment, custom events from
12553 dvdreadsrc etc.) and then send them out once we've
12554 determined the type of the stream (and decodebin
12555 has had a chance to plug in a decoder/demuxer).
12557 2006-03-27 Wim Taymans <wim@fluendo.com>
12559 * docs/design/part-qos.txt:
12562 2006-03-27 Wim Taymans <wim@fluendo.com>
12564 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
12566 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
12567 (gst_base_src_send_event), (gst_base_src_change_state):
12568 Handle element seek correctly when we are streaming.
12571 2006-03-24 Michael Smith <msmith@fluendo.com>
12573 * docs/faq/gst-uninstalled:
12574 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
12575 allow you to correctly run intalled applications built against old
12576 core, using plugins that require updated core (e.g. running
12577 installed totem against a full uninstalled gstreamer stack)
12579 2006-03-24 Stefan Kost <ensonic@users.sf.net>
12581 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
12584 2006-03-24 Wim Taymans <wim@fluendo.com>
12586 * docs/gst/gstreamer-sections.txt:
12587 Rearrange the order of the methods so that related methods
12588 are grouped together in sections.
12590 2006-03-24 Stefan Kost <ensonic@users.sf.net>
12592 * gst/gstelement.c:
12593 Little clarification in the docs
12595 2006-03-24 Stefan Kost <ensonic@users.sf.net>
12599 * plugins/elements/gstidentity.c:
12600 * plugins/elements/gstqueue.c:
12601 * plugins/elements/gsttee.c:
12602 * plugins/elements/gsttypefindelement.c:
12603 GST_ELEMENT_DETAILS formatting
12605 2006-03-24 Wim Taymans <wim@fluendo.com>
12607 * libs/gst/base/gstbasesink.h:
12608 Only add fields, not insert or we break ABI.
12610 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
12612 * win32/common/libgstbase.def:
12613 * win32/common/libgstreamer.def:
12614 Update, add recently added functions.
12616 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
12618 * docs/gst/gstreamer-sections.txt:
12619 * gst/gstutils.c: (gst_pad_query_peer_position),
12620 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
12622 API: add some new utility functions:
12623 - gst_pad_query_peer_position()
12624 - gst_pad_query_peer_duration()
12625 - gst_pad_query_peer_convert()
12627 2006-03-23 Wim Taymans <wim@fluendo.com>
12629 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12630 (gst_base_sink_init), (gst_base_sink_finalize),
12631 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
12632 (gst_base_sink_set_property), (gst_base_sink_get_property),
12633 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
12634 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
12635 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
12636 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12637 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
12638 (gst_base_sink_preroll_object), (gst_base_sink_event),
12639 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
12640 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
12641 (gst_base_sink_query), (gst_base_sink_change_state):
12642 Decouple max-lateness and the fact that QoS messages are generated
12643 with a new property (qos).
12644 added API: GstBaseSink::async_play()
12645 Add vmethod so subclasses can be notified of ASYNC playing
12647 Collect timestamp start and stop to report better current
12648 position in EOS/PLAYING/PAUSED/READY/NULL.
12649 Refactor QoS/frame dropping and other measurements.
12650 API: GstBaseSrc::qos
12653 * libs/gst/base/gstbasesink.h:
12654 Added Private struct.
12655 API: gst_base_sink_set_qos_enabled()
12656 API: gst_base_sink_is_qos_enabled()
12658 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
12660 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
12661 If compiling against GLib-2.8 or newer, try to read the
12662 registry file using GMappedFile first before falling back
12663 to fopen() + fread() (#332151).
12665 2006-03-22 Wim Taymans <wim@fluendo.com>
12667 * gst/gstinfo.c: (gst_debug_set_active),
12668 (gst_debug_category_set_threshold):
12669 Disable debugging unless explicitly activated.
12672 2006-03-22 Wim Taymans <wim@fluendo.com>
12674 * gst/gstelement.c: (gst_element_set_locked_state),
12675 (gst_element_dispose):
12676 Cleanup the error case.
12678 * gst/gstobject.c: (gst_object_dispose):
12679 print a critical when some object was disposed with
12680 a parent, also revive the object since it might
12683 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
12685 * tools/gst-launch.1.in:
12688 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
12691 * tests/check/Makefile.am:
12692 disable some tests when we don't have a registry
12693 * tests/check/gst/gstutils.c: (gst_utils_suite):
12694 don't build the part that needs parsing
12696 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
12699 * tests/examples/Makefile.am:
12700 fix --disable-parse build
12702 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
12704 * tools/gst-feedback.1.in:
12705 Fix typo: s/feeback/feedback/ (#133494).
12707 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
12709 * tools/Makefile.am:
12710 * tools/gst-launch.1.in:
12711 Add FILES section and correct entry about GST_REGISTRY_PATH
12712 environment variable (#133495; #133494).
12714 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
12716 * tools/Makefile.am:
12717 * tools/gst-md5sum.1.in:
12718 * tools/gst-md5sum.c:
12719 Remove gst-md5sum and man page (the md5sink element
12720 required was removed ages ago)
12722 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
12724 * gst/gststructure.c: (gst_structure_id_set_value):
12725 Make sure that string fields in structures/taglists
12726 contain valid UTF-8 - we don't want to pass rubbish to
12727 applications because of a buggy plugin (cp. #334167).
12729 2006-03-21 Edward Hervey <edward@fluendo.com>
12731 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12732 (gst_bin_handle_message_func):
12733 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
12734 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
12735 (gst_element_set_bus_func):
12736 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
12737 * gst/gstminiobject.c: (gst_value_set_mini_object),
12738 (gst_value_take_mini_object):
12739 * gst/gstpad.c: (gst_pad_set_pad_template):
12740 * gst/gstpipeline.c: (gst_pipeline_dispose),
12741 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
12742 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
12743 (gst_collect_pads_chain):
12744 * libs/gst/net/gstnettimeprovider.c:
12745 (gst_net_time_provider_set_property):
12746 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
12747 It's in fact all issues with gst_*object_replace().
12749 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
12751 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
12753 * pkgconfig/gstreamer-check-uninstalled.pc.in:
12754 * pkgconfig/gstreamer-check.pc.in:
12755 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
12757 2006-03-21 Edward Hervey <edward@fluendo.com>
12761 * gst/gstmessage.h:
12762 gst_[buffer|event|message]_ref() macros are replaced by a static
12763 inline functions because gcc-4.1 will about if the return value
12765 * tests/check/gst/gstevent.c: (event_probe):
12766 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
12768 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
12771 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
12772 the type' case. (Closes: #335195 for now). In the future, when we
12773 depend on GLib 2.10, we could also intern the type name using
12774 g_intern_static_string()
12776 2006-03-20 Wim Taymans <wim@fluendo.com>
12778 * gst/gstbin.c: (gst_bin_handle_message_func),
12779 (bin_query_max_init), (bin_query_position_fold),
12780 (bin_query_position_done), (gst_bin_query):
12781 Position query should also take max of all streams.
12783 2006-03-20 Wim Taymans <wim@fluendo.com>
12785 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12786 (gst_fake_src_finalize):
12787 Fix leaks in fakesrc.
12789 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12790 Fix leaks in the testcase.
12792 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
12794 * gst/gst_private.h:
12795 add win32 specific import decoration(__declspec(dllimport))
12796 for all extern GstDebugCategory * variables
12797 * win32/common/libgstbase.def:
12798 * win32/common/libgstcontroller.def:
12799 * win32/common/libgstreamer.def:
12800 Add some exports, remove empty lines
12801 * win32/common/libgstdataprotocol.def:
12802 * win32/common/libgstdataprotocol.dsp:
12803 * win32/common/libgstnet.def:
12804 * win32/common/libgstnet.dsp:
12805 new project files and exportation files added
12807 2006-03-19 Wim Taymans <wim@fluendo.com>
12809 * tests/check/libs/basesrc.c: (eos_event_counter):
12810 Use proper return value for probe.
12812 2006-03-17 Wim Taymans <wim@fluendo.com>
12814 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12816 Don't leak buffers, caps and pads on negotiation errors.
12818 2006-03-16 Stefan Kost <ensonic@users.sf.net>
12820 * docs/faq/cvs.xml:
12821 * docs/faq/dependencies.xml:
12822 * docs/faq/developing.xml:
12823 * docs/faq/faq.xml:
12824 * docs/faq/general.xml:
12825 * docs/faq/getting.xml:
12826 * docs/faq/legal.xml:
12827 * docs/faq/troubleshooting.xml:
12828 * docs/faq/using.xml:
12829 Faq review and update.
12831 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
12833 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12835 Don't pound the cpu to pieces by checking get_caps when accept_caps
12836 is called with the same caps as the pad already has.
12837 Use GST_DEBUG_OBJECT when outputting caps change information.
12839 2006-03-15 Wim Taymans <wim@fluendo.com>
12841 * gst/gstclock.c: (gst_clock_class_init):
12844 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
12849 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
12850 (gst_pad_accept_caps), (gst_pad_configure_sink),
12851 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
12852 Make the default acceptcaps behaviour be to check the requested
12853 caps against the gst_pad_get_caps output.
12855 Ensure that gst_pad_accept_caps is used to check caps when a pad
12856 doesn't have a setcaps function, so that pads automatically refuse
12857 caps that they don't allow in their pad template. (Fixes #332986)
12859 When a buffer with attached caps is pushed, ensure that the source
12860 pad receives those caps even if the element didn't call
12861 gst_pad_set_caps first.
12863 2006-03-15 Wim Taymans <wim@fluendo.com>
12865 * libs/gst/base/gstadapter.c:
12868 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
12870 * win32/common/libgstbase.def:
12871 * win32/common/libgstcontroller.def:
12872 * win32/common/libgstreamer.def:
12873 Add a whole bunch of missing functions (#334434).
12875 2006-03-14 Wim Taymans <wim@fluendo.com>
12877 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12878 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
12879 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
12880 Better debug info when we receive a segment event.
12881 Reorganize a bit so we can pass the get_times() results around.
12882 Use the segment format when calculating the running time.
12883 Don't do QoS is sync is disabled or we have no clock or the
12884 element does not want us to sync to the clock.
12885 Don't drop buffers if QoS is disabled for now.
12887 2006-03-14 Wim Taymans <wim@fluendo.com>
12889 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
12890 Marked the stats property as unimplemented so people don't get
12892 Add debug message when regression goes wrong.
12893 Added some more docs.
12895 2006-03-14 Wim Taymans <wim@fluendo.com>
12897 * gst/gstsegment.c: (gst_segment_to_stream_time):
12898 Return correct return type in case of errors.
12900 2006-03-14 Wim Taymans <wim@fluendo.com>
12902 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
12903 Don't segfault on invalid formats.
12905 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
12907 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12908 Can't use gst_segment_to_running_time() when the segment
12909 is not in GST_TIME_FORMAT (like with filesink, for example).
12910 Stops flac encoding pipelines from spewing critical warnings
12913 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
12915 * gst/gstpipeline.c: (gst_pipeline_class_init):
12916 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
12918 * plugins/elements/gsttypefindelement.c:
12919 (gst_type_find_element_handle_event):
12920 Don't try to typefind empty streams.
12922 2006-03-14 Wim Taymans <wim@fluendo.com>
12924 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
12925 (gst_base_sink_do_qos):
12926 Separate QoS calculation.
12927 Only drop buffers when lateness is bigger than the
12928 duration of the buffer.
12930 2006-03-13 Wim Taymans <wim@fluendo.com>
12932 * gst/gstpipeline.c: (gst_pipeline_set_property),
12933 (gst_pipeline_get_property), (do_pipeline_seek),
12934 (gst_pipeline_change_state), (gst_pipeline_set_delay),
12935 (gst_pipeline_get_delay):
12936 Don't deadlock when reading properties.
12938 2006-03-13 Wim Taymans <wim@fluendo.com>
12940 * libs/gst/base/gstbasetransform.c:
12941 (gst_base_transform_class_init), (gst_base_transform_init),
12942 (gst_base_transform_sink_event),
12943 (gst_base_transform_sink_eventfunc),
12944 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
12945 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12946 (gst_base_transform_set_property),
12947 (gst_base_transform_get_property),
12948 (gst_base_transform_change_state), (gst_base_transform_update_qos),
12949 (gst_base_transform_set_qos_enabled),
12950 (gst_base_transform_is_qos_enabled):
12951 * libs/gst/base/gstbasetransform.h:
12952 Make basetransform virtual method for src events too.
12953 Handle QOS in basetransform.
12954 API: gst_base_transform_update_qos()
12955 API: gst_base_transform_set_qos_enabled()
12956 API: gst_base_transform_is_qos_enabled()
12958 2006-03-13 Wim Taymans <wim@fluendo.com>
12960 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12961 (gst_base_sink_do_sync):
12963 Use QOS debug category.
12965 2006-03-13 Wim Taymans <wim@fluendo.com>
12967 * plugins/elements/gstqueue.c:
12968 Very small doc update.
12970 2006-03-13 Wim Taymans <wim@fluendo.com>
12972 * gst/gst_private.h:
12973 * gst/gstinfo.c: (_gst_debug_init):
12974 Added QOS debug category
12976 2006-03-13 Wim Taymans <wim@fluendo.com>
12978 * docs/gst/gstreamer-sections.txt:
12979 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
12981 * gst/gstbus.c: (gst_bus_class_init):
12984 * gst/gstelement.c: (gst_element_set_locked_state):
12985 * gst/gstsegment.c:
12986 Documentation updates.
12988 * gst/gstpipeline.c: (gst_pipeline_get_type),
12989 (gst_pipeline_class_init), (gst_pipeline_init),
12990 (gst_pipeline_dispose), (gst_pipeline_set_property),
12991 (gst_pipeline_get_property), (do_pipeline_seek),
12992 (gst_pipeline_send_event), (gst_pipeline_change_state),
12993 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
12994 (gst_pipeline_get_delay):
12995 * gst/gstpipeline.h:
12996 Added methods for setting the delay.
12997 API: gst_pipeline_set_delay()
12998 API: gst_pipeline_get_delay()
12999 Add pipeline debug category
13002 Don't reset stream time when seek failed.
13004 2006-03-13 Wim Taymans <wim@fluendo.com>
13006 * docs/design/draft-klass.txt:
13007 * docs/design/part-clocks.txt:
13008 * docs/design/part-events.txt:
13009 * docs/design/part-gstbin.txt:
13010 * docs/design/part-gstpipeline.txt:
13011 * docs/design/part-messages.txt:
13012 * docs/design/part-negotiation.txt:
13013 * docs/design/part-overview.txt:
13014 * docs/design/part-preroll.txt:
13015 * docs/design/part-seeking.txt:
13016 * docs/design/part-states.txt:
13017 * docs/design/part-streams.txt:
13018 Documentation updates.
13020 2006-03-12 Julien MOUTTE <julien@moutte.net>
13022 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
13023 us to leak strings...
13025 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
13027 * libs/gst/net/gstnettimeprovider.c:
13029 * win32/common/config.h:
13032 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
13034 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
13037 Don't check for libgnomeui (leftover from old examples
13038 that aren't built or disted any longer) (#334303).
13040 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
13042 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
13043 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
13044 Emit RESOURCE_NO_SPACE_LEFT error here as well when
13045 there's no space left on the device.
13047 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
13050 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
13051 to cast the input to GstClockTime before comparing with
13052 another GstClockTime value.
13054 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
13059 === release 0.10.4 ===
13061 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
13064 releasing 0.10.4, "Light"
13066 2006-03-10 Michael Smith <msmith@fluendo.com>
13068 * libs/gst/dataprotocol/dataprotocol.c:
13069 Fix docs for dataprocotol to not get the return types completely
13070 wrong for a few functions.
13072 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
13074 * docs/gst/gstreamer-sections.txt:
13075 * gst/gstpipeline.c: (gst_pipeline_class_init),
13076 (gst_pipeline_init), (gst_pipeline_set_property),
13077 (gst_pipeline_get_property), (gst_pipeline_change_state),
13078 (gst_pipeline_set_auto_flush_bus),
13079 (gst_pipeline_get_auto_flush_bus):
13080 * gst/gstpipeline.h:
13081 Add new API: gst_pipeline_set_auto_flush_bus() and
13082 gst_pipeline_get_auto_flush_bus() to disable automatic
13083 flushing of the pipeline's GstBus when going from READY
13084 to NULL state (#332045).
13086 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
13088 * docs/gst/gstreamer-sections.txt:
13089 * gst/gsturi.c: (gst_uri_has_protocol):
13091 Add new API: gst_uri_has_protocol() (#333779).
13093 2006-03-09 Wim Taymans <wim@fluendo.com>
13095 * gst/gstclock.c: (gst_clock_entry_new),
13096 (gst_clock_id_compare_func), (gst_clock_id_wait),
13097 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
13098 (gst_clock_init), (gst_clock_get_internal_time),
13099 (gst_clock_set_master), (do_linear_regression),
13100 (gst_clock_add_observation), (gst_clock_set_property):
13104 Fix a possible segfault when the window-size is made smaller.
13105 Calculate jitter before performing the clock wait. Ideally
13106 the clock implementation should calculate jitter but we need
13107 API breakage for that.
13109 * gst/gstsystemclock.c: (gst_system_clock_init):
13112 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13113 Remove leftover else
13115 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
13116 (gst_systemclock_suite):
13117 Added check to test GST_CLOCK_DIFF.
13119 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
13121 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
13122 (gst_type_find_helper_get_range):
13123 If we are provided with the size, we should implement
13124 GstTypeFind::get_length, so that typefind functions who
13125 want to can actually peek at the middle of a file.
13127 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
13129 * docs/manual/advanced-dataaccess.xml:
13130 Add some very very basic error checking.
13132 * docs/pwg/appendix-checklist.xml:
13133 Some updates to the list of things to check when writing an element.
13135 2006-03-08 Wim Taymans <wim@fluendo.com>
13137 * docs/design/part-element-transform.txt:
13138 Added some docs about the design of tranform elements.
13140 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13141 (gst_base_src_loop), (gst_base_src_change_state):
13142 Mark buffers with the DISCONT flag.
13144 2006-03-08 Michael Smith <msmith@fluendo.com>
13146 * gst/gstregistry.h:
13147 * gst/gstregistryxml.c: (gst_registry_save),
13148 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
13149 (gst_registry_xml_save_pad_template),
13150 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
13151 (gst_registry_xml_write_cache):
13152 Rewrite registry-saving to avoid race conditions and check for
13155 2006-03-08 Wim Taymans <wim@fluendo.com>
13157 * libs/gst/base/gstbasetransform.c:
13158 (gst_base_transform_transform_caps),
13159 (gst_base_transform_transform_size),
13160 (gst_base_transform_prepare_output_buffer),
13161 (gst_base_transform_get_unit_size),
13162 (gst_base_transform_buffer_alloc),
13163 (gst_base_transform_handle_buffer),
13164 (gst_base_transform_change_state):
13165 Cleanups, separate normal flow from errors, add sensible
13167 Don't try to renegotiate when allocating an output buffer.
13168 Also copy DISCONT buffer flag when copying a buffer.
13169 Reset the transform after we finish streaming, not during.
13171 2006-03-08 Wim Taymans <wim@fluendo.com>
13173 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13174 Use last buffer timestamp in qos message.
13176 2006-03-07 Wim Taymans <wim@fluendo.com>
13178 Patch by: Christophe Fergeau
13180 * docs/pwg/advanced-tagging.xml:
13181 * docs/pwg/building-pads.xml:
13184 2006-03-07 Wim Taymans <wim@fluendo.com>
13186 * docs/libs/gstreamer-libs-sections.txt:
13187 Added basesink new methods.
13191 Docs updates. Flesh out the QoS docs.
13193 * libs/gst/base/gstadapter.c:
13194 Small doc clarification about ownership and flushing.
13196 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
13197 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
13198 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
13199 (gst_base_sink_get_property), (gst_base_sink_do_sync):
13200 * libs/gst/base/gstbasesink.h:
13202 Added new methods to allow subclass to control max-lateness
13204 Generate very basic QoS events based on last sync observation.
13205 Updated docs, fix typo, added some QoS blurb.
13207 * libs/gst/base/gstbasesrc.c:
13208 Remove obsolete _get_state() calls from docs.
13210 2006-03-07 Wim Taymans <wim@fluendo.com>
13212 * docs/libs/gstreamer-libs-sections.txt:
13213 * libs/gst/base/gstbasetransform.h:
13214 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
13215 Fix docs for GstBaseSrc.
13217 2006-03-07 Wim Taymans <wim@fluendo.com>
13219 * docs/gst/gstreamer-sections.txt:
13222 * libs/gst/base/gstbasetransform.h:
13223 Small documentation fixes.
13225 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
13228 Document thread-unsafety of gst_value_register_foo_func()
13229 when used at the same time as gst_value_foo() (#322628).
13231 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
13233 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
13234 (gst_push_src_check_get_range):
13235 Push sources don't support pull mode by default.
13237 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
13239 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13240 (gst_base_src_init), (gst_base_src_pad_check_get_range),
13241 (gst_base_src_default_check_get_range):
13242 * libs/gst/base/gstbasesrc.h:
13243 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
13244 provide default implementation, and rename
13245 gst_base_src_check_get_range() to
13246 gst_base_src_pad_check_get_range() for clarity.
13248 2006-03-06 Wim Taymans <wim@fluendo.com>
13250 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13251 Make property overridable.
13253 2006-03-06 Wim Taymans <wim@fluendo.com>
13255 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
13256 (gst_base_sink_init), (gst_base_sink_set_property),
13257 (gst_base_sink_get_property), (gst_base_sink_do_sync):
13258 * libs/gst/base/gstbasesink.h:
13259 API addition: Make max-lateness a property.
13261 2006-03-06 Wim Taymans <wim@fluendo.com>
13263 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
13264 (gst_base_sink_do_sync), (gst_base_sink_render_object):
13265 Don't ever draw a frame that is >10ms late.
13267 2006-03-06 Michael Smith <msmith@fluendo.com>
13269 * gst/gstmessage.c: (_gst_message_copy):
13270 When copying a message, set the parent_refcount of the enclosed
13271 structure to point at the copy, not the original message.
13273 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
13275 Patch by: Christophe Fergeau
13278 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
13279 usable in c++ code (#333417)
13281 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
13284 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
13286 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
13288 * libs/gst/base/gstbasetransform.c:
13289 (gst_base_transform_transform_caps):
13290 Make sure caps are writable before passing them to
13293 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
13296 Fix some minor docs errors.
13298 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
13300 Patch by: Ross Burton <ross at burtonini dot com>
13302 * gst/gsterror.c: (_gst_resource_errors_init):
13304 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
13306 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
13309 Add a check and output a g_warning when GStreamer is built
13310 against GLib 2.6 but running against 2.8 or higher, and vice
13311 versa. (Closes: #323542)
13313 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
13315 * gst/parse/parse.l:
13316 Commit patch for parse_launch syntax from #331255. Removes
13317 support for quoted strings and mimetypes when writing filtered
13318 caps. See the bug report for more details - I'm pretty sure this
13319 obscure feature is not in use by _anyone_ anywhere.
13321 With this simple change, the size of the gstreamer.so here
13322 drops from 2193KB to 1565KB.
13324 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
13326 * plugins/elements/gsttypefindelement.h:
13327 * plugins/elements/gsttypefindelement.c:
13328 (gst_type_find_element_src_event), (start_typefinding),
13329 (stop_typefinding), (gst_type_find_element_handle_event),
13330 (gst_type_find_element_chain),
13331 (gst_type_find_element_chain_do_typefinding):
13332 Use gst_type_find_helper_for_buffer() for chain-based
13335 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
13337 * plugins/elements/gsttypefindelement.c:
13338 (gst_type_find_element_class_init),
13339 (gst_type_find_element_set_property),
13340 (gst_type_find_element_get_property):
13341 Deprecate "maximum" property (not only was it only taken into
13342 account for typefinding in push-mode anyway, it also was never
13343 actually possible to set it in the first place because the
13344 property was registered with the numeric property ID for the
13345 "minimum" property). Register "maximum" property correctly,
13346 for the sake of future copy'n'pasters. Remove some cruft
13347 from property get/set functions.
13349 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
13351 * plugins/elements/gsttypefindelement.c:
13352 (gst_type_find_element_activate):
13353 Use gst_type_find_helper_get_range() here, so we
13354 can honour the "minimum" property and also emit
13355 the signal with the correct probability of the found caps.
13357 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
13359 * docs/libs/gstreamer-libs-sections.txt:
13360 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
13361 (helper_find_suggest), (gst_type_find_helper_get_range),
13362 (gst_type_find_helper):
13363 * libs/gst/base/gsttypefindhelper.h:
13364 New API: gst_type_find_helper_get_range() (#333042).
13366 2006-03-02 Michael Smith <msmith@fluendo.com>
13368 * gst/gstregistryxml.c: (load_feature):
13369 Asserting on a failure to read part of the registry is Not Cool.
13370 Just log a warning and return NULL (which is already handled)
13372 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
13374 * win32/common/libgstbase.def:
13375 added export of gst_type_find_helper_for_buffer
13376 * win32/common/libgstbase.def:
13377 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
13378 gst_ghost_pad_get_target
13380 2006-02-28 Wim Taymans <wim@fluendo.com>
13382 * docs/design/draft-klass.txt:
13384 Added Connector to mark elements that are only used to
13385 allow pipeline connections.
13386 Moved Debug to extra feature since most of them are
13387 functionally something else.
13389 2006-02-28 Wim Taymans <wim@fluendo.com>
13391 * docs/design/draft-klass.txt:
13392 Some updates and clarifications.
13394 2006-02-28 Wim Taymans <wim@fluendo.com>
13396 * docs/design/draft-klass.txt:
13397 Proposal for klass field values.
13399 * docs/design/part-streams.txt:
13400 Start of a doc describing stream anatomy.
13402 2006-02-28 Wim Taymans <wim@fluendo.com>
13404 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
13405 Help the compiler a bit with type registration.
13406 Use existing forward cod path instead of duplicating it when
13407 handling a message.
13409 * gst/gstbus.c: (gst_bus_get_type):
13410 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
13411 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
13412 * gst/gstclock.c: (gst_clock_get_type):
13413 * gst/gstelement.c: (gst_element_get_type),
13414 * gst/gstelementfactory.c: (gst_element_factory_get_type):
13415 * gst/gstindexfactory.c: (gst_index_factory_get_type):
13416 * gst/gstminiobject.c: (gst_mini_object_get_type):
13417 * gst/gstpad.c: (gst_pad_get_type):
13418 * gst/gstsegment.c: (gst_segment_get_type):
13419 * gst/gststructure.c: (gst_structure_get_type):
13420 * gst/gstsystemclock.c: (gst_system_clock_get_type):
13421 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
13423 Help compiler with type registration.
13425 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
13428 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
13430 * plugins/elements/gsttypefindelement.c:
13431 (gst_type_find_element_handle_event):
13432 When we get an EOS event and have not found a type yet
13433 (most likely because we had not yet accumulated
13434 TYPE_FIND_MIN_SIZE of data yet), try to determine the
13435 type given the data we have so far. Fixes typefinding
13436 for very short streams again, most notably quicktime
13437 redirections as used on Apple's trailer site (#331701).
13439 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
13441 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
13442 (gst_type_find_helper):
13443 Try typefinding factories with the highest rank first.
13445 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
13447 * docs/libs/gstreamer-libs-docs.sgml:
13448 * docs/libs/gstreamer-libs-sections.txt:
13449 * libs/gst/base/gsttypefindhelper.c:
13450 Add section for typefind helper and add documentation
13451 for the old and the new function.
13453 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
13455 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
13456 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
13457 (gst_type_find_helper_for_buffer):
13458 * libs/gst/base/gsttypefindhelper.h:
13459 New API: gst_type_find_helper_for_buffer() (#332723).
13461 2006-02-27 Michael Smith <msmith@fluendo.com>
13463 Patch by: Loïc Minier
13466 * docs/Makefile.am:
13467 * docs/slides/Makefile.am:
13468 prevent CVS directories getting disted.
13470 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
13472 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
13473 Use the REFCOUNTING category for caps refcounting.
13475 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
13477 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
13478 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
13480 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
13482 * plugins/elements/gsttypefindelement.c:
13483 (gst_type_find_element_activate):
13484 Use gst_pad_check_pull_range() before _activate_pull()
13485 to avoid unnecessary open/close (see #331690).
13487 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
13490 Docs enhancement: make it crystal clear what the
13491 gst_pad_add_*_probe() callbacks should look like.
13493 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
13495 * libs/gst/base/gstbasesrc.c:
13496 Document how applications can stop recording from
13497 live sources (see #330996).
13499 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
13501 * tests/check/Makefile.am:
13502 * tests/check/libs/basesrc.c: (eos_event_counter),
13503 (basesrc_eos_events_pull), (basesrc_eos_events_push),
13504 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
13505 (gst_basesrc_suite), (main):
13506 ... and add some tests for the base source EOS stuff.
13508 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
13510 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
13511 Test case originally showed the problem fixed below,
13512 but was then amended. Add checks back at the place
13513 where they used to be.
13515 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
13517 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13518 (gst_base_src_init), (gst_base_src_loop),
13519 (gst_base_src_activate_push), (gst_base_src_activate_pull),
13520 (gst_base_src_change_state):
13521 * libs/gst/base/gstbasesrc.h:
13522 Don't unconditionally send EOS when going from PAUSED to
13523 READY state, esp. make sure we don't send two EOS events
13524 in some cases (e.g. one when reaching EOS and one when
13525 going from PAUSED to READY). Also, we don't want to send
13526 EOS events when operating in pull mode. However, we do
13527 want to send an EOS event when shutting down a live
13528 source explicitly, for example (fixes #330996).
13530 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
13532 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13533 Update src->read_position after a seek when not using mmap.
13534 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
13536 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
13542 Make things work with --disable-parse as they do with
13543 --disable-load-save - the symbols involved disappear, but the
13544 header is still installed and GST_DISABLE_PARSE is included via
13547 2006-02-20 Julien MOUTTE <julien@moutte.net>
13549 * libs/gst/base/gstbasetransform.c:
13550 (gst_base_transform_change_state): Fix a stupid bug. I was
13551 sure I compiled that.
13553 2006-02-20 Julien MOUTTE <julien@moutte.net>
13555 * gst/gstpad.c: (gst_pad_set_blocked_async):
13556 * gst/gstutils.c: (gst_pad_add_data_probe),
13557 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13558 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13559 (gst_pad_remove_buffer_probe): Make those function act on the
13560 ghostpad target when it's a ghostpad. (Closes #331727)
13562 2006-02-20 Julien MOUTTE <julien@moutte.net>
13564 * libs/gst/base/gstbasetransform.c:
13565 (gst_base_transform_change_state): Make basetransform reusable.
13568 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
13570 * docs/random/release:
13571 Move the current documentation of how to do a release to the top
13574 * gst/gstbin.c: (gst_bin_class_init),
13575 (gst_bin_handle_message_func):
13576 Allow multiple state-recalculation threads. (Closes #328873)
13578 2006-02-19 Julien MOUTTE <julien@moutte.net>
13580 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
13581 * gst/gstpad.c: (gst_pad_set_event_function),
13582 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13583 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
13584 2 strings. You can't use the STR_NULL macro on that.
13586 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
13588 * gst/gstpad.c: (gst_pad_set_event_function),
13589 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13590 (gst_pad_set_getcaps_function)
13591 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
13592 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
13593 So now, we can use --gst-debug-level=5 on Windows
13594 * win32/common/libgstcontroller.def:
13595 Added export of gst_controller_init
13596 * win32/vs6/libgstcontroller.dsp:
13597 Fixed Release post build configuration
13599 2006-02-17 Wim Taymans <wim@fluendo.com>
13601 * tests/check/gst/gstquery.c: (GST_START_TEST):
13602 Added another check.
13604 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
13606 * plugins/elements/gsttypefindelement.c: (find_peek):
13607 We can do peeks at non-zero offsets, as long as they
13608 fall within the buffer we have.
13610 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
13612 * tests/check/Makefile.am:
13613 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
13614 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
13615 (parse_suite), (main):
13616 Add testsuite for parse launch syntax
13618 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
13620 * plugins/elements/gsttypefindelement.c:
13621 (gst_type_find_element_chain):
13622 When typefinding is unsuccessful in the chain function, don't
13623 error out immediately. Only error out with NO_CAPS_FOUND if
13624 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
13625 otherwise simply wait for more data so we can try typefinding
13626 again with more data later. Also, don't attempt to typefind
13627 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
13628 this should improve typefinding from network sources where the
13629 size of the first buffer can be somewhat random.
13631 2006-02-14 Wim Taymans <wim@fluendo.com>
13633 * docs/gst/gstreamer-sections.txt:
13634 * gst/gstpadtemplate.c:
13635 * gst/gstpadtemplate.h:
13636 Fix padtemplate docs, fixes #328805.
13638 2006-02-14 Wim Taymans <wim@fluendo.com>
13640 * tools/gst-launch.c: (main):
13641 NO_PREROLL is not an ERROR so don't send confusing messages
13644 2006-02-14 Wim Taymans <wim@fluendo.com>
13646 Patch by: Torsten Schoenfeld
13648 * gst/gstregistry.c: (gst_registry_get_default),
13649 (_gst_registry_cleanup):
13650 Protect default registry with lock and ref/sink it.
13653 2006-02-14 Wim Taymans <wim@fluendo.com>
13656 * gst/gstquery.c: (gst_query_list_add_format),
13657 (gst_query_set_formatsv), (gst_query_parse_formats_length),
13658 (gst_query_parse_formats_nth):
13659 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13662 2006-02-14 Wim Taymans <wim@fluendo.com>
13664 * docs/gst/gstreamer-sections.txt:
13665 Reworked query docs.
13667 * gst/gstquery.c: (gst_query_new_formats),
13668 (gst_query_list_add_format), (gst_query_set_formats),
13669 (gst_query_set_formatsv), (gst_query_parse_formats_length),
13670 (gst_query_parse_formats_nth):
13672 Flesh out formats query, added some new methods.
13673 Fix part of #324398.
13675 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
13676 Added query creation tests.
13678 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
13680 * gst/gstpad.c: (fixate_value):
13681 Add a default fixation for fraction lists.
13683 2006-02-13 Wim Taymans <wim@fluendo.com>
13685 * gst/gsttask.c: (gst_task_init), (gst_task_func),
13686 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
13689 Detect and warn for obvious deadlocks. fixes #320340
13690 Fix error case where lock was not released.
13692 * tests/check/Makefile.am:
13693 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
13694 (task_func), (gst_element_suite), (main):
13697 2006-02-13 Wim Taymans <wim@fluendo.com>
13699 * docs/gst/gstreamer-sections.txt:
13701 Add new functions to docs.
13703 2006-02-13 Wim Taymans <wim@fluendo.com>
13705 * docs/design/part-TODO.txt:
13706 Updated TODO list, basesrc supports seeking to non-bytes
13709 * docs/design/part-element-sink.txt:
13712 * gst/gstbin.c: (bin_replace_message),
13713 (gst_bin_handle_message_func):
13714 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
13715 * gst/gstevent.c: (gst_event_finalize):
13716 * gst/gstpad.c: (gst_pad_event_default_dispatch),
13717 (gst_pad_send_event):
13718 Use shiny new _TYPE_NAME macros.
13720 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
13721 Move debug statement up.
13723 * gst/gstelement.c: (gst_element_set_locked_state):
13724 Add some debugging.
13726 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
13728 * docs/gst/gstreamer-sections.txt:
13729 * gst/gstmessage.h:
13731 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
13732 macros (#330906). Also, document the already existing
13733 GST_QUERY_TYPE macro.
13735 2006-02-13 Wim Taymans <wim@fluendo.com>
13737 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
13738 (event_probe), (GST_START_TEST):
13739 Only events up to the pipeline EOS are counted, there are
13740 some more when going to NULL currently which we don't care
13743 2006-02-13 Wim Taymans <wim@fluendo.com>
13745 * gst/gstpad.c: (gst_pad_send_event):
13746 Correctly check flushing and emit probes. fixes #330125
13748 2006-02-10 Andy Wingo <wingo@pobox.com>
13750 * gst/gstbus.c (gst_bus_class_init): Declare our private data
13752 (gst_bus_init): Cache the location of the private data in the
13753 instance structure.
13754 (gst_bus_enable_sync_message_emission)
13755 (gst_bus_disable_sync_message_emission): Implement new public
13757 (gst_bus_post): Emit the sync-message signal if the user asked for
13760 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
13761 location of the bus-private structure.
13762 (gst_bus_enable_sync_message_emission)
13763 (gst_bus_disable_sync_message_emission): API addition
13765 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
13767 Patch by: Vincent Torri
13769 * docs/pwg/building-boiler.xml:
13770 PWG patch from #326800
13772 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
13775 * docs/Makefile.am:
13776 * docs/design/Makefile.am:
13779 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
13784 === release 0.10.3 ===
13786 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
13789 releasing 0.10.3, "Like a virgin"
13791 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
13794 2nd prerelease of 0.10.3
13795 Bump libtool versioning.
13797 2006-02-07 Andy Wingo <wingo@pobox.com>
13799 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
13800 update last_stop if we're in TIME format and the timestamp is
13803 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
13804 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
13805 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
13806 If we get a new newsegment with a different format, adapt
13809 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
13810 of 0. Not a problem, really.
13812 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
13815 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
13820 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
13823 project files updated to the default vs7 configuration
13824 * win32/common/libgstbase.def:
13825 * win32/common/libgstreamer.def:
13827 removed empty lines,
13828 sorted all exported symbols alphabetically
13829 * win32/common/dirent.c:
13830 * win32/common/dirent.h:
13831 * win32/common/gchar.h:
13832 use windows line end.
13834 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
13836 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13837 Send EOS event when stopping.
13839 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
13842 Tell folks what to do if the plugin-foobar.xml file
13843 hasn't been generated for a newly-added plugin.
13845 2006-02-05 Julien MOUTTE <julien@moutte.net>
13847 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
13848 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
13849 (gst_collect_pads_start), (gst_collect_pads_stop),
13850 (gst_collect_pads_event): Collectpads now holds a reference
13851 to the GstPad that was added. Indeed we don't want to look
13852 at pads that might just go away with no warning...
13854 2006-02-05 Julien MOUTTE <julien@moutte.net>
13856 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
13857 (gst_collect_pads_start), (gst_collect_pads_stop),
13858 (gst_collect_pads_event), (gst_collect_pads_chain):
13859 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
13860 Mark Nauwelaerts's patch on bug #328491.
13862 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
13864 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
13866 Add some simple tests for gst_parse_bin_from_description() and
13867 gst_bin_find_unconnected_pad() (#329069).
13869 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
13871 * tools/gst-launch.c: (event_loop), (main):
13872 Catch errors during preroll (#320084).
13874 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
13876 * plugins/elements/gsttypefindelement.c:
13877 (gst_type_find_element_activate):
13878 Post TYPE_NOT_FOUND error message when typefinding
13879 is unsuccessful in the activate function as well.
13881 2006-02-02 Wim Taymans <wim@fluendo.com>
13883 * docs/design/part-element-sink.txt:
13886 2006-02-02 Wim Taymans <wim@fluendo.com>
13888 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
13889 (gst_base_sink_render_object),
13890 (gst_base_sink_queue_object_unlocked):
13891 Only keep track of prerollable items when we are
13893 Before rendering after preroll, always check if we
13895 Added some more debugging.
13897 2006-02-02 Wim Taymans <wim@fluendo.com>
13899 * gst/gstelement.c: (gst_element_continue_state),
13900 (gst_element_set_state_func), (gst_element_change_state):
13901 Fixed #326576, been running this for quite some time with
13902 no regressions at all.
13904 2006-02-02 Wim Taymans <wim@fluendo.com>
13907 Added more suppressions
13909 2006-02-02 Wim Taymans <wim@fluendo.com>
13911 * docs/design/part-element-sink.txt:
13914 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13915 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
13916 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
13917 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
13918 (gst_base_sink_do_sync), (gst_base_sink_render_object),
13919 (gst_base_sink_preroll_object),
13920 (gst_base_sink_queue_object_unlocked),
13921 (gst_base_sink_queue_object), (gst_base_sink_event),
13922 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
13923 (gst_base_sink_loop), (gst_base_sink_activate_pull),
13924 (gst_base_sink_get_position), (gst_base_sink_change_state):
13925 * libs/gst/base/gstbasesink.h:
13926 Totally refactored matching the design doc.
13927 Use two segments, one to clip incomming buffers and another to
13929 Handle queueing correctly, bypass the queue when playing.
13930 Make EOS cancelable.
13931 Handle errors correctly when operating in pull based mode.
13933 * tests/check/elements/fakesink.c: (GST_START_TEST),
13935 Added new check for sinks.
13937 2006-02-02 Wim Taymans <wim@fluendo.com>
13939 * gst/gstsegment.c: (gst_segment_clip):
13940 No reason to refuse to clip when start == -1
13942 2006-02-02 Stefan Kost <ensonic@users.sf.net>
13945 * docs/manual/intro-basics.xml:
13946 * docs/manual/intro-preface.xml:
13947 * docs/manual/manual.xml:
13948 * docs/pwg/advanced-dparams.xml:
13949 * docs/pwg/intro-basics.xml:
13950 * docs/pwg/intro-preface.xml:
13951 * docs/pwg/pwg.xml:
13952 describe dparams (controller) for plugins
13953 unify docs a little more
13955 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
13957 * docs/gst/gstreamer-sections.txt:
13958 * gst/gstutils.c: (element_find_unconnected_pad),
13959 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
13961 Add new API: gst_parse_bin_from_description() and
13962 gst_bin_find_unconnected_pad() (#329069).
13964 2006-02-01 Stefan Kost <ensonic@users.sf.net>
13966 * docs/manual/README:
13967 uncover a nasty detail of the docs build
13969 2006-01-31 Wim Taymans <wim@fluendo.com>
13971 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
13972 Don't cache duration messages if we're not going to use or
13975 2006-01-31 Stefan Kost <ensonic@users.sf.net>
13977 * docs/manual/advanced-dparams.xml:
13978 * docs/pwg/advanced-dparams.xml:
13982 * libs/gst/controller/lib.c: (gst_controller_init):
13985 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
13987 * gst/gstelement.c: (gst_element_message_full):
13988 also show file/line/func if no additional debug was given
13990 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
13992 * win32/vs7/grammar.vcproj:
13993 activate copy of autogenerated files for Release mode
13995 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
13997 * win32/common/libgstreamer.def:
13998 export gst_value_compare
14000 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
14002 * plugins/elements/Makefile.am:
14003 * plugins/elements/gstelements.c:
14004 * plugins/elements/gstfdsink.c: (_do_init),
14005 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
14006 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
14007 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
14008 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
14009 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
14010 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
14011 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
14012 * plugins/elements/gstfdsink.h:
14013 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
14015 2006-01-30 Stefan Kost <ensonic@users.sf.net>
14017 * docs/manual/advanced-dparams.xml:
14018 describe controller
14019 * docs/manual/advanced-position.xml:
14020 * docs/manual/basics-init.xml:
14021 * docs/manual/manual.xml:
14022 * docs/manual/titlepage.xml:
14023 * docs/pwg/pwg.xml:
14024 * docs/pwg/titlepage.xml:
14025 cleanup xml (more to come)
14026 * libs/gst/controller/gstcontroller.c:
14029 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
14031 * win32/vs6/grammar.dsp:
14032 add autogen of gstmarshal.c,h for Release mode
14034 2006-01-30 Wim Taymans <wim@fluendo.com>
14036 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14037 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
14038 (gst_base_sink_handle_object), (gst_base_sink_event),
14039 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
14040 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14041 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
14042 (gst_base_sink_deactivate), (gst_base_sink_activate),
14043 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
14044 (gst_base_sink_query), (gst_base_sink_change_state):
14045 Basesink cleanups, remove some old code.
14046 Handle the case where a subclass can preroll in the render
14047 method (mostly audiosinks).
14048 Handle more events.
14049 Remove some locks around variables that are now protected
14050 with the PREROLL_LOCK (clock_id, flushing, ..).
14051 Optimize position query some more, do correct locking.
14052 Remove old code to push queue in state change, this is not
14053 needed anymore since preroll blocks on all prerollable items
14055 Almost implemented as described in design doc.
14057 2006-01-30 Wim Taymans <wim@fluendo.com>
14059 * tests/check/gst/gstbin.c: (GST_START_TEST):
14060 Wait for refcount to settle down before checking.
14062 2006-01-30 Wim Taymans <wim@fluendo.com>
14064 * docs/design/part-element-sink.txt:
14065 Pseudo code overview of desired sink behaviour regarding
14068 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
14069 * win32/vs6/grammar.dsp:
14070 fix some bugs in Release mode for autogenerated files
14072 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
14073 * win32/common/libgstbase.def:
14074 * win32/common/libgstreamer.def:
14075 export some new symbols: gst_base_src_set_format,
14076 gst_iterator_next, gst_structure_set_valist
14078 2006-01-29 Julien MOUTTE <julien@moutte.net>
14080 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
14081 Set pad functions unconditionally. Fixes #329105.
14083 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
14085 add vs8 project files created by Sergey Scobich
14087 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
14089 * gst/gstutils.c: (gst_element_unlink_pads):
14090 Don't leak pad references.
14092 * tests/check/elements/fakesink.c: (GST_START_TEST):
14093 * tests/check/generic/sinks.c: (GST_START_TEST):
14094 * tests/check/generic/states.c: (GST_START_TEST):
14095 * tests/check/gst/gstbin.c: (GST_START_TEST):
14096 * tests/check/gst/gstcaps.c: (GST_START_TEST):
14097 * tests/check/gst/gstelement.c: (GST_START_TEST):
14098 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14099 * tests/check/gst/gstiterator.c: (GST_START_TEST):
14100 * tests/check/gst/gstvalue.c: (GST_START_TEST):
14101 Fix a bunch of leaks. Make generic/sinks.c
14102 use a bit less cpu by slowing the buffer rate
14103 between fakesrc and fakesink.
14105 2006-01-27 Stefan Kost <ensonic@users.sf.net>
14107 * gst/gstelement.c: (gst_element_send_event):
14110 * gst/gstiterator.c:
14111 * gst/gstiterator.h:
14112 * gst/gstpad.c: (gst_pad_send_event):
14113 * gst/gststructure.c:
14117 * libs/gst/base/gstadapter.c:
14118 doc fixes, to link to function, just write gst_cool_function(), don't
14121 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
14123 * plugins/elements/gsttee.c: (gst_tee_do_push),
14124 (gst_tee_handle_buffer):
14125 Always prefer an actual return value from a src
14126 pad in place of NOT_LINKED. This means we return
14127 WRONG_STATE when all src pads are WRONG_STATE
14128 instead of NOT_LINKED.
14130 Lock when replacing the last message to prevent
14131 racing with the get_property method.
14135 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
14137 * tests/check/Makefile.am:
14138 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
14140 Add a very simple check that should have caught the memleak I fixed
14141 last night (if not for the slice allocator hiding it)
14143 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
14145 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
14146 (gst_bin_remove_func), (gst_bin_handle_message_func),
14147 (bin_query_duration_fold), (bin_query_generic_fold):
14148 Clean up references to the clock provider when disposed or when
14149 handling a clock-lost message from it.
14151 Unref sinks when performing a query via gst_iterator_fold, as the
14152 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
14154 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
14155 (gst_clock_set_master):
14156 Drop our reference to the master clock, if any, when we are disposed.
14158 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
14159 Chain up in dispose.
14161 2006-01-26 Wim Taymans <wim@fluendo.com>
14163 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
14164 Add some debugging.
14166 2006-01-26 Julien MOUTTE <julien@moutte.net>
14168 * plugins/elements/gsttee.c: (gst_tee_do_push),
14169 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
14170 handles pad being NOT_LINKED or in WRONG_STATE.
14172 2006-01-26 Stefan Kost <ensonic@users.sf.net>
14177 2006-01-26 Stefan Kost <ensonic@users.sf.net>
14180 remove obsolete entry
14182 2006-01-26 Stefan Kost <ensonic@users.sf.net>
14184 * docs/gst/gstreamer-sections.txt:
14185 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
14186 (gst_bin_iterate_sources), (gst_bin_send_event):
14188 * gst/gstelement.c: (gst_element_send_event):
14190 * gst/gstpad.c: (gst_pad_send_event):
14191 added code for downstream events, reviewed docs in gstevent.c
14193 2006-01-25 Julien MOUTTE <julien@moutte.net>
14195 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14196 We only query position using the clock in the playing state.
14197 Query peer in the other cases.
14198 * win32/common/config.h: Updates.
14200 2006-01-24 Wim Taymans <wim@fluendo.com>
14202 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14203 A clock entry that is scheduled for the exact time of the
14204 clock is still in time.
14206 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14207 (gst_base_sink_do_sync):
14208 Add some more debug info.
14210 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
14213 Add new vs7 project files and solution.
14215 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
14218 all files removed as they were out-dated.
14220 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
14222 * docs/random/release:
14224 * gst/gstbin.c: (gst_bin_init):
14225 * gst/gstbus.c: (gst_bus_new):
14227 * gst/gstpipeline.c: (gst_pipeline_init):
14228 use gst_bus_new(), improve logging, fix docs
14229 * win32/common/config.h:
14230 update for cvs build
14232 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
14235 up required version of automake to 1.7
14237 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
14239 * win32/common/libgstreamer.def:
14240 export gst_buffer_is_metadata_writable
14242 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
14244 * docs/gst/gstreamer-sections.txt:
14246 Add gst_event_replace() (#327001)
14248 2006-01-20 Wim Taymans <wim@fluendo.com>
14250 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14251 Make it actually compile too..
14253 2006-01-20 Wim Taymans <wim@fluendo.com>
14256 Clarify behaviour of _is_equal() when passing NULL parameters.
14258 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14259 (gst_pad_set_caps):
14260 Cleanups. Don't unref NULL caps.
14261 When setting the same caps, protect caps of the pad with
14263 Use full functionality of _is_equal() when comparing caps.
14265 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
14267 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
14268 Don't loop infinitely if there are no buffers to present. Partially
14269 fixes #327197, but collectpads is just broken for reusing elements
14270 to do multiple encodes atm.
14272 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
14274 * tools/gst-inspect.c: (print_element_features):
14275 * tools/gst-xmlinspect.c: (main):
14276 URL_HANDLER is not a plugin feature we can search for in
14279 2006-01-19 Edward Hervey <edward@fluendo.com>
14281 * gst/gstelement.c: (gst_element_pads_activate):
14282 When activating, do src pads first, then sink pads.
14283 When de-activating, do sink pads first, then src pads.
14285 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
14287 * docs/gst/gstreamer-sections.txt:
14288 Add gst_index_add_associationv to the docs
14290 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
14295 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
14296 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
14297 Do some refactoring. Doesn't actually change functionality,
14298 but makes landing the DRAIN event easier later.
14300 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
14302 * docs/pwg/advanced-scheduling.xml:
14303 Update from 0.9.x to 0.10 API and make example a bit
14306 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
14308 * docs/gst/gstreamer-sections.txt:
14309 Add gst_buffer_(is|make)_metadata_writable methods.
14311 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
14313 * docs/design/part-sparsestreams.txt:
14314 Update sparse streams doc, hopefully for greater clarity
14316 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
14318 * docs/design/part-events.txt:
14319 Remove mention of FILLER events.
14322 * docs/design/part-sparsestreams.txt:
14323 Write some things about using NEWSEGMENT to keep sparse streams
14326 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
14328 * gst/gstbin.c: (gst_bin_dispose):
14329 Guard gst_object_unref call against a NULL object (dispose
14330 can theoretically be called multiple times).
14332 2006-01-18 Wim Taymans <wim@fluendo.com>
14334 * gst/gstbin.c: (gst_bin_element_set_state):
14335 * gst/gstclock.c: (gst_clock_id_wait):
14336 Added some more debug info.
14338 * libs/gst/base/gstadapter.c:
14341 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14342 (gst_base_sink_do_sync), (gst_base_sink_chain):
14343 Added some comments.
14345 2006-01-18 Wim Taymans <wim@fluendo.com>
14347 * tests/check/Makefile.am:
14348 * tests/check/elements/fakesink.c: (chain_async_buffer),
14349 (chain_async), (chain_async_return), (GST_START_TEST),
14350 (fakesink_suite), (main):
14351 Added fakesink test that checks prerolling and clipping
14354 * tests/check/gst/gstutils.c: (GST_START_TEST):
14355 Make check run faster so that buildbots don't timeout.
14357 2006-01-18 Wim Taymans <wim@fluendo.com>
14359 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14360 (gst_base_sink_do_sync):
14362 When the sink finishes blocking on the preroll buffer, it can
14363 immediatly render it instead of rendering when the next buffer
14366 2006-01-18 Wim Taymans <wim@fluendo.com>
14368 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
14369 (gst_base_sink_get_property), (gst_base_sink_do_sync),
14370 (gst_base_sink_chain):
14372 GST_ELEMENT_CLOCK and sync are protected with LOCK.
14373 Don't store _last_stop if the buffer is dropped.
14375 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
14377 * plugins/elements/gsttypefindelement.c:
14378 (gst_type_find_element_class_init):
14379 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
14380 object method handler that sets the caps on the pad and we want
14381 that to happen before we emit the signal (fixes e.g. feeding a
14382 plain text file to decodebin).
14384 2006-01-18 Christian Schaller <Christian@fluendo.com>
14386 * gst/gstplugin.c: Add MPL and Proprietary as license options
14388 2006-01-18 Andy Wingo <wingo@pobox.com>
14390 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
14391 symbol was exported before, it appears this was just an oversight.
14393 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
14395 * gst/gstindex.c (gst_index_add_associationv): Changed int in
14396 prototype to gint. OK since this prototype was not in the header.
14398 2006-01-17 Andy Wingo <wingo@pobox.com>
14400 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
14401 registry while we remove plugins.
14403 * tools/gst-inspect.c (print_element_info): Don't unref the
14404 factory arg, that should be the responsibility of whatever code
14405 received the ref. Fixes a double-free when called from
14406 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
14407 (main): Unref the factory if we have one.
14408 (print_element_list): No change -- relies on the
14409 plugin_feature_list_free to free the list of features.
14411 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
14413 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
14414 (gst_buffer_make_metadata_writable):
14416 * libs/gst/base/gstbasetransform.c:
14417 (gst_base_transform_prepare_output_buf):
14418 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14419 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14420 Replace gst_buffer_(make|is)_metadata_writable patch now
14421 that the release is out.
14423 2006-01-17 Andy Wingo <wingo@pobox.com>
14425 * gst/gstregistry.c: Reflow design comment. Update so as to speak
14426 in the present tense without reference to versions.
14428 * gst/gstregistry.c (gst_registry_add_plugin)
14429 (gst_registry_remove_plugin, gst_registry_remove_feature)
14430 (gst_registry_find_feature, gst_registry_get_feature_list)
14431 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
14432 (gst_registry_lookup, gst_registry_scan_path)
14433 (_gst_registry_remove_cache_plugins)
14434 (gst_registry_get_feature_list_by_plugin): Add argument
14437 === release 0.10.2 ===
14439 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
14442 releasing 0.10.2, "If man is five"
14444 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
14448 * libs/gst/base/gstbasetransform.c:
14449 (gst_base_transform_prepare_output_buf):
14450 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14451 * tests/check/gst/gstbuffer.c: (gst_test_suite):
14452 Back out patch until after the release.
14454 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
14456 * gst/gstminiobject.c:
14457 Spelling fix in docs.
14458 * ChangeLog - remove conflict indicator
14460 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
14462 Reviewed By: Andy Wingo
14464 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
14465 (gst_buffer_make_metadata_writable):
14467 Add gst_buffer_(is|make)_metadata_writable as analogues of
14468 gst_buffer_(is|make)_writable.
14470 * libs/gst/base/gstbasetransform.c:
14471 (gst_base_transform_prepare_output_buf):
14472 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14473 Use name gst_buffer_(is|make)_metadata_writable functions.
14475 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14476 Test gst_buffer_(is|make)_metadata_writable
14480 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
14482 * docs/manual/Makefile.am:
14483 don't do parallel make
14486 * win32/common/config.h.in:
14487 add generations for HOST_CPU and GST_MAJORMINOR
14488 * win32/common/config.h:
14489 commit generated result
14491 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
14493 * docs/manual/appendix-integration.xml:
14494 Update GNOME integration section to use gst_init_get_option_group()
14495 instead of the old popt stuff (#322911). Also, GNOME applications
14496 should now use gconf*sink and gconf*src instead of the old gconf
14499 2006-01-13 Stefan Kost <ensonic@users.sf.net>
14502 * docs/gst/gstreamer-docs.sgml:
14503 * docs/gst/gstreamer-sections.txt:
14504 * docs/libs/gstreamer-libs-sections.txt:
14505 add new API entries to the docs
14506 * libs/gst/controller/Makefile.am:
14507 * libs/gst/controller/gstcontroller.c:
14508 * libs/gst/controller/gstcontroller.h:
14509 * libs/gst/controller/gstcontrollerprivate.h:
14510 * libs/gst/controller/gsthelper.c:
14511 * libs/gst/controller/gstinterpolation.c:
14512 move private structs to private header
14514 gstreamer-0.7 -> gstreamer-0.10
14515 * tests/check/libs/struct_i386.h:
14516 remove private structs
14518 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
14520 * plugins/indexers/Makefile.am:
14521 Fixes as part of #317048
14523 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
14525 * plugins/indexers/Makefile.am:
14526 fix #316086 - compilation when mmap is missing
14528 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
14530 * libs/gst/base/gstbasesink.c:
14531 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
14532 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
14533 * win32/common/config.h:
14534 added some defines GST_MAJORMINOR and HOST_CPU
14535 * win32/common/libgstbase.def:
14536 * win32/common/libgstreamer.def:
14537 added some exported functions.
14539 2006-01-12 Stefan Kost <ensonic@users.sf.net>
14541 * libs/gst/controller/gstcontroller.c:
14542 (gst_controlled_property_set_interpolation_mode),
14543 (gst_controlled_property_new):
14544 * libs/gst/controller/gstcontroller.h:
14545 * libs/gst/controller/gstinterpolation.c:
14546 (interpolate_none_get_string_value_array):
14547 make G_TYPE_STRING controlable
14549 2006-01-12 Stefan Kost <ensonic@users.sf.net>
14552 * tools/gst-feedback.1.in:
14553 * tools/gst-inspect.1.in:
14554 * tools/gst-launch.1.in:
14555 * tools/gst-md5sum.1.in:
14556 * tools/gst-typefind.1.in:
14557 * tools/gst-xmlinspect.1.in:
14558 * tools/gst-xmllaunch.1.in:
14559 cleanup man-pages, remove reference to gst-register, document env-vars
14561 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
14563 * gst/gstbuffer.c: (gst_buffer_span):
14564 gst_buffer_span should copy the timestamp of the first buffer
14565 if they were both originally overlapping subbuffers of the
14566 same parent, using the same logic as the 'slow copy' case.
14568 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
14570 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
14571 Need to awaken ALL the pads when we pop a buffer, otherwise
14572 collectpads only works when there is 2 input streams.
14574 2006-01-11 Stefan Kost <ensonic@users.sf.net>
14576 * docs/random/ensonic/media-device-daemon.txt:
14579 fix doc example, add clarification
14580 * tools/gst-launch.1.in:
14581 add initial info about GST_PLUGIN_PATH, needs more work
14583 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
14585 * docs/manual/basics-bins.xml:
14586 * docs/manual/basics-elements.xml:
14587 * docs/manual/intro-basics.xml:
14588 Some more minor docs additions and updates.
14590 2006-01-11 Wim Taymans <wim@fluendo.com>
14592 * docs/manual/basics-bins.xml:
14593 * docs/manual/basics-elements.xml:
14594 Some small fixes as pointed out by Ser-ver on IRC.
14596 2006-01-10 Edward Hervey <edward@fluendo.com>
14598 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
14599 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
14600 the single-segment mode.
14602 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
14604 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
14606 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
14607 (gst_base_src_perform_seek), (gst_base_src_send_event),
14608 (gst_base_src_set_property), (gst_base_src_get_property),
14609 (gst_base_src_loop), (gst_base_src_start),
14610 (gst_base_src_activate_push):
14611 * libs/gst/base/gstbasesrc.h:
14612 Name (private) union; makes Sun's Forte compiler happy (#324900).
14614 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
14617 gst-register is gone.
14619 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
14621 * gst/gstvalue.c: (_gst_value_initialize):
14622 make the G_TYPE_DATE instantiation work if debug is disabled
14624 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
14626 * gst/gstmessage.c: (gst_message_parse_tag),
14627 (gst_message_parse_error), (gst_message_parse_warning):
14628 Don't crash when return location for error/warning debug
14629 string is NULL; add fact that return locations can be
14630 NULL to docs where appropriate.
14632 2006-01-05 Wim Taymans <wim@fluendo.com>
14634 * gst/gstplugin.c: (gst_plugin_load_file):
14635 Replace strdup by g_strdup.
14637 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
14639 * docs/pwg/advanced-types.xml:
14642 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
14644 submitted by: Abel Cheung
14648 Added Chinese (traditional) translation
14650 2006-01-04 Wim Taymans <wim@fluendo.com>
14652 * docs/manual/basics-pads.xml:
14653 * docs/plugins/Makefile.am:
14654 * docs/plugins/gstreamer-plugins-docs.sgml:
14655 * docs/plugins/gstreamer-plugins-sections.txt:
14656 * docs/pwg/advanced-clock.xml:
14657 * docs/pwg/advanced-scheduling.xml:
14658 * docs/pwg/advanced-types.xml:
14659 * plugins/elements/gstfdsink.c:
14660 * plugins/elements/gstfdsrc.c:
14661 * plugins/elements/gstfdsrc.h:
14662 * plugins/elements/gstidentity.c: (gst_identity_class_init):
14663 * plugins/elements/gstidentity.h:
14664 * plugins/elements/gstqueue.h:
14665 * plugins/elements/gsttee.c:
14666 * plugins/elements/gsttee.h:
14667 * plugins/elements/gsttypefindelement.c:
14668 (gst_type_find_element_class_init):
14669 * plugins/elements/gsttypefindelement.h:
14670 Small updates to various docs.
14671 Added core plugins to docs.
14673 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14676 add a suppression for liboil's uninitialized variable
14678 2006-01-02 James Livingston <jrl at ids dot org dot au>
14680 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
14683 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
14684 macro, so that gcc doesn't complain if the -Wmissing-prototypes
14685 compiler switch is being used (#325429).
14687 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
14689 * gst/gstbin.c: (gst_bin_query):
14690 Disable duration query caching in bins until it gets
14691 fixed (see #324807).
14693 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
14695 * tools/gst-inspect.c: (print_element_properties_info):
14696 Handle properties of POINTER and BOXED type.
14698 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
14700 * gst/gst.c: (init_post):
14701 Init tags stuff and some other things before loading
14702 any static plugins (there may be other static plugins
14703 than just the GStreamer ones, and they may want to
14704 register their own tags or formats or whatever, and
14705 preferably without segfaulting).
14707 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
14708 Print at least a warning in the debug logs if we drop a
14709 query just because we don't know how to adjust the value
14710 in the particular format.
14712 2005-12-24 David Schleef <ds@schleef.org>
14714 * tools/gstreamer-completion:
14715 Replacement for gst-complete written in sh and sed. Only
14716 completes names of features, but that's 90% of what I want
14717 it for. Properties are not available in registry.xml. (Maybe
14720 === release 0.10.1 ===
14722 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
14725 releasing 0.10.1, "Nollaig chridheil"
14727 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
14729 * docs/faq/cvs.xml:
14730 Add missing quote, should be make ERROR_CFLAGS="".
14732 2005-12-20 Wim Taymans <wim@fluendo.com>
14734 * docs/design/part-trickmodes.txt:
14735 More documentation on trickmodes.
14737 2005-12-20 Edward Hervey <edward@fluendo.com>
14739 * gst/gstcaps.c: (gst_static_caps_get_type):
14741 API addition: GST_TYPE_STATIC_CAPS
14742 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
14743 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
14744 * gst/gstpadtemplate.h:
14745 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
14746 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
14749 2005-12-18 Wim Taymans <wim@fluendo.com>
14751 * libs/gst/base/gstadapter.c:
14752 * libs/gst/base/gstadapter.h:
14753 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14754 (gst_base_sink_get_position):
14755 * libs/gst/base/gstbasesink.h:
14756 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14757 (gst_base_src_default_query), (gst_base_src_default_do_seek),
14758 (gst_base_src_do_seek), (gst_base_src_perform_seek),
14759 (gst_base_src_send_event), (gst_base_src_update_length),
14760 (gst_base_src_get_range), (gst_base_src_loop),
14761 (gst_base_src_start):
14762 * libs/gst/base/gstbasesrc.h:
14763 * libs/gst/base/gstbasetransform.h:
14764 * libs/gst/base/gstcollectpads.h:
14765 * libs/gst/base/gstpushsrc.c:
14766 * libs/gst/base/gstpushsrc.h:
14767 * libs/gst/dataprotocol/dataprotocol.c:
14768 * libs/gst/dataprotocol/dataprotocol.h:
14769 * libs/gst/net/gstnetclientclock.h:
14770 * libs/gst/net/gstnettimeprovider.h:
14771 Documentation updates.
14773 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
14775 * docs/manual/basics-helloworld.xml:
14776 Remove superfluous closing bracket in helloworld example.
14778 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
14780 * tools/gst-launch.1.in:
14781 Update gst-launch man page; add a section with useful
14782 environment variables. Fixes #323882.
14784 2005-12-16 Stefan Kost <ensonic@users.sf.net>
14787 * gst/gst_private.h:
14788 change some char* into char[]
14790 2005-12-16 Wim Taymans <wim@fluendo.com>
14792 * gst/gstregistryxml.c: (load_feature):
14794 Don't use g_object_unref on GstObjects so that we avoid
14795 leaks on unsafe glibs.
14797 2005-12-16 Wim Taymans <wim@fluendo.com>
14799 * gst/gstbin.c: (gst_bin_recalc_state):
14802 2005-12-16 Wim Taymans <wim@fluendo.com>
14804 * common/check.mak:
14805 Added make forever target for check.
14807 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
14809 * gst/gst.c: (init_post):
14810 make the registry cache file HOST_CPU-dependent
14812 2005-12-16 Andy Wingo <wingo@pobox.com>
14814 * plugins/elements/gstbufferstore.c
14815 (gst_buffer_store_cleared_func): Pay attention to g_list_append
14818 * tests/check/gst/gstobject.c
14819 (test_fake_object_name_threaded_unique): Pay attention to
14820 g_list_sort return value.
14822 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
14824 * tools/gst-feedback-m.m:
14825 Update for 0.9/0.10 (fixes #323870).
14827 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
14829 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
14830 Fix lcopy for mini objects, the mini object needs to be ref'ed.
14832 * tests/check/gst/gstminiobject.c: (my_foo_init),
14833 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
14834 (test_value_collection), (gst_mini_object_suite):
14835 Add test to ensure refcounts end up as expected when passing
14836 GstMiniObjects through g_object_get() and g_object_set().
14838 2005-12-14 Julien MOUTTE <julien@moutte.net>
14840 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14841 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
14842 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
14843 of collectpads. This version removes a lot of races without
14844 touching API/ABI. Yay !
14846 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
14848 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
14849 Don't allow activation of a srcpad in pull_range if it has no
14851 Change some debug statements to be a little clearer
14853 * plugins/elements/gsttypefindelement.c:
14854 (gst_type_find_handle_src_query):
14855 Check that we have a peer before executing queries thereupon.
14857 * tests/examples/metadata/read-metadata.c: (message_loop):
14858 Use gst_bus_pop instead of gst_bus_poll when we just want it to
14859 immediately return us any available message with 0 timeout.
14861 2005-12-12 Michael Smith <msmith@fluendo.com>
14863 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
14864 Don't unref factories after calling them.
14865 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
14866 * plugins/elements/gsttypefindelement.c:
14867 (gst_type_find_element_chain):
14868 Free lists of factories after using them. Fixing typefinding memory
14871 2005-12-12 Stefan Kost <ensonic@users.sf.net>
14873 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14874 (gst_plugin_feature_load):
14875 more meaningful debug output
14877 * tests/Makefile.am:
14878 * tests/old/examples/Makefile.am:
14879 make make distcheck happy again
14881 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
14883 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
14884 Catch the special case where we are operating chain-based,
14885 but the downstream peer pad has no chain function. Emit a
14886 custom error message in this case instead of letting the
14887 core generate one implying that this is some sort of core
14888 bug. It's not, it just means that whatever got plugged
14889 into the pipeline downstream when we announced the type
14890 can only operate pull-based, while our source can only
14891 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
14892 Error string has not been marked for translation yet, as
14893 it probably needs some more work first.
14895 (gst_type_find_element_get_best_possibility):
14896 Add helper function to find the best of all available
14897 found possibilities that qualify given the min. threshold.
14899 (gst_type_find_element_handle_event):
14900 Fix the case where we get an EOS while still in TYPEFIND
14901 mode (we want to chose the best of all possible types,
14902 not just the first type that happens to be in our unsorted
14903 list of possible types).
14905 (gst_type_find_element_chain):
14906 Make sure we return GST_FLOW_ERROR when we errored out
14907 in stop_typefinding(); also, don't just find the best of
14908 all found type entries and then use the last examined
14909 type entry, but actually use the best entry.
14911 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
14913 * tests/examples/typefind/typefind.c: (type_found):
14914 * tests/examples/xml/runxml.c: (xml_loaded):
14915 More gcc4 fixes and a mem leak fix.
14917 2005-12-12 Stefan Kost <ensonic@users.sf.net>
14919 * tests/examples/xml/createxml.c: (object_saved):
14922 2005-12-12 Stefan Kost <ensonic@users.sf.net>
14924 * tests/Makefile.am:
14925 enable the examples even more
14927 2005-12-12 Andy Wingo <wingo@pobox.com>
14929 * libs/gst/net/gstnettimeprovider.c
14930 (gst_net_time_provider_class_init, gst_net_time_provider_init)
14931 (gst_net_time_provider_set_property)
14932 (gst_net_time_provider_get_property):
14933 API addition: Export "active" as a GObject property.
14934 (gst_net_time_provider_thread): Only respond to time queries if
14935 the time provider is active.
14937 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
14938 NetTimeProvider, preserving binary compat.
14940 2005-12-12 Stefan Kost <ensonic@users.sf.net>
14942 * tests/examples/controller/audio-example.c: (main):
14943 * tests/examples/launch/Makefile.am:
14944 convert comments again
14946 2005-12-12 Wim Taymans <wim@fluendo.com>
14948 * libs/gst/base/gstpushsrc.c:
14951 2005-12-12 Wim Taymans <wim@fluendo.com>
14953 * docs/libs/gstreamer-libs-sections.txt:
14954 Added new symbol to docs.
14956 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14957 (gst_base_src_init), (gst_base_src_set_format),
14958 (gst_base_src_default_query), (gst_base_src_query),
14959 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
14960 (gst_base_src_perform_seek), (gst_base_src_send_event),
14961 (gst_base_src_default_event), (gst_base_src_event_handler),
14962 (gst_base_src_set_property), (gst_base_src_get_property),
14963 (gst_base_src_wait), (gst_base_src_do_sync),
14964 (gst_base_src_update_length), (gst_base_src_get_range),
14965 (gst_base_src_check_get_range), (gst_base_src_loop),
14966 (gst_base_src_default_negotiate), (gst_base_src_start),
14967 (gst_base_src_activate_push), (gst_base_src_activate_pull),
14968 (gst_base_src_change_state):
14969 * libs/gst/base/gstbasesrc.h:
14970 Implement seeking to other formats than _BYTES.
14971 Implement more seeking methods correctly.
14973 Added query vmethod.
14974 Added do_seek vmethod to make life easier for subclasses
14976 API addition: gst_base_src_set_format()
14978 2005-12-12 Stefan Kost <ensonic@users.sf.net>
14980 * tests/examples/Makefile.am:
14983 2005-12-12 Stefan Kost <ensonic@users.sf.net>
14986 * docs/random/ensonic/media-device-daemon.txt:
14987 * tests/examples/controller/.cvsignore:
14988 * tests/examples/controller/Makefile.am:
14989 * tests/examples/controller/audio-example.c: (main):
14990 * tests/examples/helloworld/.cvsignore:
14991 * tests/examples/helloworld/Makefile.am:
14992 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
14993 * tests/examples/launch/.cvsignore:
14994 * tests/examples/launch/Makefile.am:
14995 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
14996 * tests/examples/metadata/.cvsignore:
14997 * tests/examples/metadata/Makefile.am:
14998 * tests/examples/metadata/read-metadata.c: (message_loop),
14999 (make_pipeline), (print_tag), (main):
15000 * tests/examples/queue/.cvsignore:
15001 * tests/examples/queue/Makefile.am:
15002 * tests/examples/queue/queue.c: (event_loop), (main):
15003 * tests/examples/typefind/.cvsignore:
15004 * tests/examples/typefind/Makefile.am:
15005 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
15007 * tests/examples/xml/.cvsignore:
15008 * tests/examples/xml/Makefile.am:
15009 * tests/examples/xml/createxml.c: (object_saved), (main):
15010 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
15011 * tests/old/examples/Makefile.am:
15012 * tests/old/examples/TODO:
15013 * tests/old/examples/controller/.cvsignore:
15014 * tests/old/examples/controller/Makefile.am:
15015 * tests/old/examples/controller/audio-example.c:
15016 * tests/old/examples/helloworld/.cvsignore:
15017 * tests/old/examples/helloworld/Makefile.am:
15018 * tests/old/examples/helloworld/helloworld.c:
15019 * tests/old/examples/launch/.cvsignore:
15020 * tests/old/examples/launch/Makefile.am:
15021 * tests/old/examples/launch/mp3parselaunch.c:
15022 * tests/old/examples/launch/mp3play:
15023 * tests/old/examples/manual/Makefile.am:
15024 * tests/old/examples/metadata/Makefile.am:
15025 * tests/old/examples/metadata/read-metadata.c:
15026 * tests/old/examples/queue/.cvsignore:
15027 * tests/old/examples/queue/Makefile.am:
15028 * tests/old/examples/queue/queue.c:
15029 * tests/old/examples/typefind/.cvsignore:
15030 * tests/old/examples/typefind/Makefile.am:
15031 * tests/old/examples/typefind/typefind.c:
15032 * tests/old/examples/xml/.cvsignore:
15033 * tests/old/examples/xml/Makefile.am:
15034 * tests/old/examples/xml/createxml.c:
15035 * tests/old/examples/xml/runxml.c:
15036 applied some simple fixing to some examples
15037 re-enabled the working examples
15039 2005-12-12 Wim Taymans <wim@fluendo.com>
15041 * gst/gstsegment.c: (gst_segment_init),
15042 (gst_segment_set_last_stop), (gst_segment_set_seek),
15043 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
15044 (gst_segment_to_running_time):
15045 Added more documentation.
15046 Make sure the last_pos value is updated properly.
15047 Make sure to_stream_time and to_running_time don't
15048 operate on wrong values.
15050 * tests/check/gst/gstsegment.c: (GST_START_TEST):
15053 2005-12-12 Michael Smith <msmith@fluendo.com>
15055 * plugins/elements/gsttypefindelement.c: (free_entry),
15056 (gst_type_find_element_chain):
15057 Now that we're not leaking factories, make sure we keep references
15058 to them while we need them.
15060 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
15062 * tests/check/gst/struct_i386.h:
15063 ifdef out the XML structs
15065 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
15067 * gst/gstvalue.c: (gst_value_transform_double_fraction):
15068 floor is not needed, F is always positive; this obviates the
15069 need for adding -lm when building without libxml
15071 2005-12-12 Wim Taymans <wim@fluendo.com>
15073 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15074 Take current playback rate into account when reporting
15077 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
15079 * docs/manual/mime-world.fig:
15080 Let's try this again, this time with a file that is
15081 actually in XFig format.
15083 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
15085 * docs/manual/mime-world.fig:
15086 Add audioconvert element to diagram so that it
15087 matches the text and the code (fixes #319526).
15089 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
15091 * docs/pwg/building-chainfn.xml:
15092 * docs/pwg/building-pads.xml:
15093 * docs/pwg/building-state.xml:
15094 * docs/pwg/other-source.xml:
15095 Update state change stuff for 0.10 (fixes #322969).
15097 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
15099 * docs/manual/advanced-dataaccess.xml:
15100 * docs/manual/appendix-checklist.xml:
15101 * docs/manual/appendix-programs.xml:
15102 * docs/manual/basics-pads.xml:
15103 * docs/manual/highlevel-components.xml:
15104 * docs/manual/manual.xml:
15105 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
15106 add converters in front of pipelines; remove curly
15107 brackets for threads stuff, they no longer exist; use
15108 GST_TYPE_FRACTION for framerates; update some pieces of
15109 code to 0.10, but there's plenty more to do.
15111 * docs/manual/appendix-porting.xml:
15112 Expand on asynchroneous state changes; s/0.9/0.10/;
15113 mention disappearance of gst_init_get_popt_table()
15116 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
15118 * docs/faq/using.xml:
15119 Spider no longer exists, and neither does gst-launch-ext.
15120 Update examples to use decodebin and playbin and put
15121 converters in front of sinks (fixes #323726).
15123 2005-12-09 Michael Smith <msmith@fluendo.com>
15125 * plugins/elements/gsttypefindelement.c: (find_peek),
15126 (gst_type_find_element_chain):
15127 Fix leaking element factories in typefinding.
15128 Fix problem where we forgot about a probable type on non-seekable
15129 files, and thus later mis-typefound it.
15131 2005-12-09 Michael Smith <msmith@fluendo.com>
15133 * common/m4/gst-makecontext.m4:
15134 * common/m4/gst-mcsc.m4:
15136 * win32/common/config.h:
15137 * win32/common/config.h.in:
15138 Remove makecontext stuff; not used in 0.10 and causes problems on
15139 HPUX according to bug #322441
15141 2005-12-07 Wim Taymans <wim@fluendo.com>
15143 * tests/check/Makefile.am:
15144 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
15146 * tests/check/libs/struct_i386.h:
15147 Added ABI check for libs
15149 2005-12-07 Wim Taymans <wim@fluendo.com>
15151 * tests/check/Makefile.am:
15152 And add the struct_i386.h to dist.
15154 2005-12-07 Wim Taymans <wim@fluendo.com>
15156 * tests/check/Makefile.am:
15157 * tests/check/gst/.cvsignore:
15158 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
15160 * tests/check/gst/struct_i386.h:
15161 Added check for ABI compatibility.
15163 2005-12-07 Wim Taymans <wim@fluendo.com>
15165 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15166 (gst_fake_src_get_times), (gst_fake_src_create):
15167 Fix broken sync option, fixes #323259
15169 2005-12-07 Wim Taymans <wim@fluendo.com>
15174 * gst/gstcaps.c: (gst_caps_is_equal):
15175 Don't assert on NULL <--> X. Fixes #323260
15177 * gst/gstminiobject.c: (gst_mini_object_replace):
15178 If we're doing atomic operations, we might just as well use
15179 the proper way to get an atomic pointer.
15181 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15182 Clean up debugging.
15184 2005-12-07 Michael Smith <msmith@fluendo.com>
15186 * gst/parse/grammar.y:
15187 Remove handling of { } for threads.
15189 2005-12-06 David Schleef <ds@schleef.org>
15191 * libs/gst/base/gstbasetransform.c: speling fix.
15193 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
15195 * docs/libs/tmpl/gstdataprotocol.sgml:
15196 * docs/random/omega/testing/gstobject.c:
15199 * gst/gstelement.c:
15200 * gst/gstelementfactory.c:
15203 * gst/gstghostpad.c:
15205 * gst/gstpadtemplate.c:
15206 * gst/gstregistryxml.c:
15207 * gst/gsttaglist.c:
15208 * gst/gsttagsetter.c:
15209 * gst/gsttypefind.c:
15211 * libs/gst/base/gstbasesrc.c:
15212 * libs/gst/net/gstnetclientclock.c:
15213 * libs/gst/net/gstnettimeprovider.c:
15214 * plugins/elements/gstfakesrc.c:
15215 * plugins/elements/gstfdsrc.c:
15216 * plugins/elements/gstfilesrc.c:
15217 * plugins/elements/gstidentity.c:
15218 * plugins/elements/gstqueue.c:
15219 * plugins/elements/gsttypefindelement.c:
15220 * plugins/indexers/gstfileindex.c:
15221 * plugins/indexers/gstmemindex.c:
15222 * tests/check/gst/gsttag.c:
15223 * tests/old/examples/cutter/cutter.c:
15224 * tests/old/examples/mixer/mixer.c:
15225 * tests/old/examples/xml/runxml.c: (main):
15226 * tests/old/testsuite/caps/normalisation.c:
15227 * tests/old/testsuite/debug/global.c:
15228 * tests/old/testsuite/parse/parse1.c:
15229 * tools/gst-xmlinspect.c:
15230 * win32/common/dirent.c:
15233 === release 0.10.0 ===
15235 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15238 releasing 0.10.0, "Maroilles"
15240 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
15242 submitted by: Funda Wang <fundawang@linux.net.cn>
15246 added Chinese (Traditional) translation
15248 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
15250 * docs/gst/gstreamer-sections.txt:
15251 * docs/libs/tmpl/gstdataprotocol.sgml:
15252 * docs/random/thomasvs/TODO:
15257 2005-12-05 Andy Wingo <wingo@pobox.com>
15259 patch by: Wim Taymans <wim@fluendo.com>
15261 * libs/gst/base/gstbasetransform.c
15262 (gst_base_transform_prepare_output_buf)
15263 (gst_base_transform_buffer_alloc):
15264 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
15265 alloc_buffer_and_set_caps.
15267 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
15268 set_caps on the source pad.
15269 (gst_pad_alloc_buffer_and_set_caps): New function, does what
15270 alloc_buffer used to do. Fixes #322874.
15272 * docs/gst/gstreamer-sections.txt:
15273 * docs/design/part-negotiation.txt:
15274 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
15277 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
15279 patch by: Sebastien Moutte
15282 * win32/common/config.h.in:
15283 * win32/vs6/libgstcontroller.dsp:
15286 2005-12-05 Wim Taymans <wim@fluendo.com>
15288 * gst/gstcaps.c: (gst_caps_is_equal):
15289 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15290 (gst_fake_src_create):
15291 Back out previous code changes, leave doc updates, file bugs
15294 2005-12-05 Wim Taymans <wim@fluendo.com>
15296 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15297 (gst_fake_src_get_times), (gst_fake_src_create):
15298 * plugins/elements/gstfakesrc.h:
15299 Fix broken sync code.
15301 2005-12-05 Wim Taymans <wim@fluendo.com>
15303 * gst/gstcaps.c: (gst_caps_is_equal):
15304 Comparing NULL against !NULL yields different caps, not a
15307 2005-12-05 Wim Taymans <wim@fluendo.com>
15309 * gst/gstpipeline.c:
15310 Fix small typo in docs.
15312 2005-12-05 Andy Wingo <wingo@pobox.com>
15314 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
15316 * gst/gst.c (init_post): remove hard-coded 0.9 location for
15317 registries/plugins with a MAJORMINOR one.
15318 (plugin_desc): Rename library from gstcoreleements to
15319 staticelements. Fixes #323222.
15321 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
15323 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
15324 Change debug category to 'collectpads' from 'collect_pads'
15327 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
15329 patch by: Sebastien Moutte
15331 * libs/gst/controller/gstinterpolation.c:
15332 use convert function for uint64/double
15333 * win32/vs6/libgstcontroller.dsp:
15336 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
15338 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
15339 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
15341 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15342 add tests that seem to show that the guint64/gdouble conversions
15345 2005-12-02 Wim Taymans <wim@fluendo.com>
15347 * gst/gstregistry.c: (gst_registry_add_path):
15348 * gst/gstregistry.h:
15349 * gst/gstregistryxml.c:
15352 2005-12-02 Wim Taymans <wim@fluendo.com>
15354 * gst/gstutils.c: (gst_util_uint64_scale_int64),
15355 (gst_util_uint64_scale_int):
15358 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15359 Add debug log line.
15361 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
15364 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
15367 * win32/common/config.h:
15368 * win32/vs6/gstreamer.dsw:
15369 * win32/vs6/libgstcoreelements.dsp:
15370 * win32/vs6/libgstelements.dsp:
15371 renamed core elements plugin
15373 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
15375 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
15377 do piece-wise major/minor comparison so 0.9 < 0.10
15378 also allow .exe extensions for tools
15380 2005-12-02 Michael Smith <msmith@fluendo.com>
15383 Escape a % to make gtkdoc happier; bug 322958.
15385 === release 0.9.7 ===
15387 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15390 releasing 0.9.7, "My Dog Has No Nose"
15392 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15394 * common/gst-xmlinspect.py:
15396 * docs/libs/tmpl/gstdataprotocol.sgml:
15397 * docs/random/release:
15416 * win32/common/config.h:
15417 * win32/common/config.h.in:
15418 * win32/vs6/gst_inspect.dsp:
15419 * win32/vs6/gst_launch.dsp:
15420 * win32/vs6/libgstbase.dsp:
15421 * win32/vs6/libgstelements.dsp:
15422 * win32/vs6/libgstreamer.dsp:
15423 * win32/vs7/GStreamer.vcproj:
15424 * win32/vs7/gst-inspect.vcproj:
15425 * win32/vs7/gst-launch.vcproj:
15426 * win32/vs7/libgstbase.vcproj:
15427 bump GST_MAJORMINOR to 0.10
15428 reset libtool version
15430 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15434 Added Bulgarian translation by (Alexander Shopov)
15436 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15438 * tests/check/gst/gstplugin.c:
15441 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15443 * common/gst-xmlinspect.py:
15444 * common/gtk-doc-plugins.mak:
15446 * docs/Makefile.am:
15447 * docs/gst/Makefile.am:
15448 * docs/gst/gstreamer-docs.sgml:
15449 * docs/gst/gstreamer-sections.txt:
15450 * docs/gst/gstreamer.types:
15451 * docs/gst/gstreamer.types.in:
15452 * docs/plugins/Makefile.am:
15453 * docs/plugins/gstreamer-plugins-docs.sgml:
15454 * docs/plugins/gstreamer-plugins-sections.txt:
15455 * docs/plugins/gstreamer-plugins.types:
15456 * docs/plugins/inspect.stamp:
15457 * docs/plugins/inspect/plugin-coreelements.xml:
15458 * docs/plugins/inspect/plugin-coreindexers.xml:
15459 * docs/plugins/scanobj-build.stamp:
15460 * gstreamer.spec.in:
15461 * plugins/elements/Makefile.am:
15462 * plugins/elements/gstelements.c:
15463 * plugins/elements/gstfakesink.c:
15464 * plugins/elements/gstfakesrc.c:
15465 * plugins/elements/gstfilesink.c:
15466 * plugins/elements/gstfilesrc.c:
15467 * plugins/elements/gstqueue.c:
15468 * plugins/indexers/Makefile.am:
15469 * plugins/indexers/gstindexers.c:
15470 document core plugins in a separate document just like all the
15472 rename these plugins to something starting with core
15474 2005-12-01 Andy Wingo <wingo@pobox.com>
15476 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
15477 padding here before, but it missed the commit.
15479 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
15481 * libs/gst/controller/gstinterpolation.c:
15482 whitespace prices have crashed, we should feel free to use some now
15483 use gst_guint64_to_gdouble
15485 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
15487 * libs/gst/controller/gstcontroller.c:
15488 * libs/gst/controller/gsthelper.c:
15489 * libs/gst/controller/gstinterpolation.c:
15490 * libs/gst/controller/lib.c:
15491 wrap config.h include
15493 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
15495 * docs/gst/gstreamer-sections.txt:
15498 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
15500 * plugins/elements/gstelements.c:
15501 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
15502 (gst_fd_sink__class_init), (gst_fd_sink__init),
15503 (gst_fd_sink__chain), (gst_fd_sink__set_property),
15504 (gst_fd_sink__get_property):
15505 * plugins/elements/gstfdsink.h:
15506 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
15507 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
15508 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
15509 (gst_fd_src_unlock), (gst_fd_src_set_property),
15510 (gst_fd_src_get_property), (gst_fd_src_create),
15511 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
15512 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
15513 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
15514 (gst_fd_src_uri_handler_init):
15515 * plugins/elements/gstfdsrc.h:
15516 * plugins/elements/gstqueue.c: (gst_queue_get_type):
15519 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15521 * docs/gst/Makefile.am:
15522 * docs/gst/gstreamer.types.in:
15526 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15532 * gst/gstregistry.h:
15533 * tests/benchmarks/complexity.c:
15534 * tests/benchmarks/mass-elements.c:
15535 * tests/check/Makefile.am:
15536 * tools/Makefile.am:
15537 * tools/gst-inspect.c:
15538 * tools/gst-xmlinspect.c:
15539 various fixes to make
15540 --disable-nls --disable-registry --disable-loadsave
15541 --disable-parse --disable-gst-debug
15542 work and get the core .so down to 360444 bytes after stripping
15544 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15549 * docs/random/thomasvs/TODO:
15550 * tests/Makefile.am:
15554 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15556 * win32/GStreamer.vcproj:
15559 * win32/Makefile.inspect:
15560 * win32/Makefile.launch:
15561 * win32/Makefile.register:
15562 * win32/README.txt:
15563 * win32/gst-inspect.vcproj:
15564 * win32/gst-launch.vcproj:
15565 * win32/gst-register.vcproj:
15566 * win32/gstelements.vcproj:
15567 * win32/gstgetbits.def:
15568 * win32/gstgetbits.vcproj:
15569 * win32/gstreamer-dbg.def:
15570 * win32/gstreamer.def:
15571 * win32/libgstbase.def:
15572 * win32/libgstbase.vcproj:
15573 * win32/link_oldruntime.c:
15577 * win32/msvc71.sln:
15578 move even more stuff, win32/ is nice and clean now
15580 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15582 * libs/gst/control/.cvsignore:
15587 * win32/gstbytestream.def:
15588 * win32/gstbytestream.vcproj:
15589 * win32/gstconfig.h:
15590 * win32/gstenumtypes.c:
15591 * win32/gstenumtypes.h:
15592 * win32/gstoptimalscheduler.vcproj:
15593 * win32/gstversion.h:
15595 * win32/testsuite/bins.vcproj:
15596 * win32/testsuite/bytestream.vcproj:
15597 * win32/testsuite/caps.vcproj:
15598 * win32/testsuite/cleanup.vcproj:
15599 * win32/testsuite/clock.vcproj:
15600 * win32/testsuite/debug.vcproj:
15601 * win32/testsuite/dlopen.vcproj:
15602 * win32/testsuite/dynparams.vcproj:
15603 * win32/testsuite/elements.vcproj:
15604 * win32/testsuite/ghostpads.vcproj:
15605 * win32/testsuite/indexers.vcproj:
15606 * win32/testsuite/negotiation.vcproj:
15607 * win32/testsuite/parse.vcproj:
15608 * win32/testsuite/plugin.vcproj:
15609 * win32/testsuite/refcounting.vcproj:
15610 * win32/testsuite/schedulers.vcproj:
15611 * win32/testsuite/states.vcproj:
15612 * win32/testsuite/tags.vcproj:
15613 * win32/testsuite/threads.vcproj:
15614 remove old win32 stuff that isn't maintained and should be
15617 2005-11-30 Andy Wingo <wingo@pobox.com>
15619 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
15620 loading the gst.interfaces python module bork.
15622 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
15623 available since GLib 2.2. Fixes #318031.
15625 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15628 * check/.cvsignore:
15629 * check/Makefile.am:
15630 * check/elements/.cvsignore:
15631 * check/elements/fakesrc.c:
15632 * check/elements/fdsrc.c:
15633 * check/elements/identity.c:
15634 * check/generic/.cvsignore:
15635 * check/generic/states.c:
15636 * check/gst-libs/.cvsignore:
15637 * check/gst-libs/controller.c:
15638 * check/gst-libs/gdp.c:
15639 * check/gst/.cvsignore:
15640 * check/gst/capslist.h:
15642 * check/gst/gstbin.c:
15643 * check/gst/gstbuffer.c:
15644 * check/gst/gstbus.c:
15645 * check/gst/gstcaps.c:
15646 * check/gst/gstelement.c:
15647 * check/gst/gstevent.c:
15648 * check/gst/gstghostpad.c:
15649 * check/gst/gstiterator.c:
15650 * check/gst/gstmessage.c:
15651 * check/gst/gstminiobject.c:
15652 * check/gst/gstobject.c:
15653 * check/gst/gstpad.c:
15654 * check/gst/gstpipeline.c:
15655 * check/gst/gstplugin.c:
15656 * check/gst/gstsegment.c:
15657 * check/gst/gststructure.c:
15658 * check/gst/gstsystemclock.c:
15659 * check/gst/gsttag.c:
15660 * check/gst/gstutils.c:
15661 * check/gst/gstvalue.c:
15662 * check/net/.cvsignore:
15663 * check/net/gstnetclientclock.c:
15664 * check/net/gstnettimeprovider.c:
15665 * check/pipelines/.cvsignore:
15666 * check/pipelines/cleanup.c:
15667 * check/pipelines/simple_launch_lines.c:
15668 * check/pipelines/stress.c:
15669 * check/states/.cvsignore:
15670 * check/states/sinks.c:
15672 * examples/Makefile.am:
15673 * examples/appreader/.cvsignore:
15674 * examples/appreader/Makefile.am:
15675 * examples/appreader/appreader.c:
15676 * examples/controller/.cvsignore:
15677 * examples/controller/Makefile.am:
15678 * examples/controller/audio-example.c:
15679 * examples/cutter/.cvsignore:
15680 * examples/cutter/Makefile.am:
15681 * examples/cutter/cutter.c:
15682 * examples/cutter/cutter.h:
15683 * examples/events/Makefile.am:
15684 * examples/events/seek.c:
15685 * examples/helloworld/.cvsignore:
15686 * examples/helloworld/Makefile.am:
15687 * examples/helloworld/helloworld.c:
15688 * examples/helloworld2/.cvsignore:
15689 * examples/helloworld2/Makefile.am:
15690 * examples/helloworld2/helloworld2.c:
15691 * examples/launch/.cvsignore:
15692 * examples/launch/Makefile.am:
15693 * examples/launch/mp3parselaunch.c:
15694 * examples/launch/mp3play:
15695 * examples/manual/.cvsignore:
15696 * examples/manual/Makefile.am:
15697 * examples/manual/extract.pl:
15698 * examples/metadata/Makefile.am:
15699 * examples/metadata/read-metadata.c:
15700 * examples/mixer/.cvsignore:
15701 * examples/mixer/Makefile.am:
15702 * examples/mixer/mixer.c:
15703 * examples/mixer/mixer.h:
15704 * examples/pingpong/.cvsignore:
15705 * examples/pingpong/Makefile.am:
15706 * examples/pingpong/pingpong.c:
15707 * examples/plugins/.cvsignore:
15708 * examples/plugins/Makefile.am:
15709 * examples/plugins/example.c:
15710 * examples/plugins/example.h:
15711 * examples/pwg/.cvsignore:
15712 * examples/pwg/Makefile.am:
15713 * examples/pwg/extract.pl:
15714 * examples/queue/.cvsignore:
15715 * examples/queue/Makefile.am:
15716 * examples/queue/queue.c:
15717 * examples/queue2/.cvsignore:
15718 * examples/queue2/Makefile.am:
15719 * examples/queue2/queue2.c:
15720 * examples/queue3/.cvsignore:
15721 * examples/queue3/Makefile.am:
15722 * examples/queue3/queue3.c:
15723 * examples/queue4/.cvsignore:
15724 * examples/queue4/Makefile.am:
15725 * examples/queue4/queue4.c:
15726 * examples/retag/.cvsignore:
15727 * examples/retag/Makefile.am:
15728 * examples/retag/retag.c:
15729 * examples/retag/transcode.c:
15730 * examples/thread/.cvsignore:
15731 * examples/thread/Makefile.am:
15732 * examples/thread/thread.c:
15733 * examples/typefind/.cvsignore:
15734 * examples/typefind/Makefile.am:
15735 * examples/typefind/typefind.c:
15736 * examples/xml/.cvsignore:
15737 * examples/xml/Makefile.am:
15738 * examples/xml/createxml.c:
15739 * examples/xml/runxml.c:
15740 * tests/Makefile.am:
15741 * tests/check/Makefile.am:
15742 * testsuite/.cvsignore:
15743 * testsuite/Makefile.am:
15745 * testsuite/caps/.cvsignore:
15746 * testsuite/caps/Makefile.am:
15747 * testsuite/caps/app_fixate.c:
15748 * testsuite/caps/audioscale.c:
15749 * testsuite/caps/caps.c:
15750 * testsuite/caps/caps.h:
15751 * testsuite/caps/caps_strings:
15752 * testsuite/caps/compatibility.c:
15753 * testsuite/caps/deserialize.c:
15754 * testsuite/caps/enumcaps.c:
15755 * testsuite/caps/eratosthenes.c:
15756 * testsuite/caps/filtercaps.c:
15757 * testsuite/caps/fixed.c:
15758 * testsuite/caps/fraction-convert.c:
15759 * testsuite/caps/fraction-multiply-and-zero.c:
15760 * testsuite/caps/intersect2.c:
15761 * testsuite/caps/intersection.c:
15762 * testsuite/caps/normalisation.c:
15763 * testsuite/caps/random.c:
15764 * testsuite/caps/renegotiate.c:
15765 * testsuite/caps/sets.c:
15766 * testsuite/caps/simplify.c:
15767 * testsuite/caps/string-conversions.c:
15768 * testsuite/caps/structure.c:
15769 * testsuite/caps/subtract.c:
15770 * testsuite/caps/union.c:
15771 * testsuite/debug/.cvsignore:
15772 * testsuite/debug/Makefile.am:
15773 * testsuite/debug/category.c:
15774 * testsuite/debug/commandline.c:
15775 * testsuite/debug/global.c:
15776 * testsuite/debug/output.c:
15777 * testsuite/debug/printf_extension.c:
15778 * testsuite/dlopen/.cvsignore:
15779 * testsuite/dlopen/Makefile.am:
15780 * testsuite/dlopen/dlopen_gst.c:
15781 * testsuite/dlopen/loadgst.c:
15782 * testsuite/elements/.cvsignore:
15783 * testsuite/elements/Makefile.am:
15784 * testsuite/elements/gst-inspect-check.in:
15785 * testsuite/elements/struct_i386.h:
15786 * testsuite/elements/struct_size.c:
15787 * testsuite/indexers/.cvsignore:
15788 * testsuite/indexers/Makefile.am:
15789 * testsuite/indexers/cache1.c:
15790 * testsuite/indexers/indexdump.c:
15791 * testsuite/parse/.cvsignore:
15792 * testsuite/parse/Makefile.am:
15793 * testsuite/parse/parse1.c:
15794 * testsuite/parse/parse2.c:
15795 * testsuite/plugin/.cvsignore:
15796 * testsuite/plugin/Makefile.am:
15797 * testsuite/plugin/README:
15798 * testsuite/plugin/dynamic.c:
15799 * testsuite/plugin/linked.c:
15800 * testsuite/plugin/loading.c:
15801 * testsuite/plugin/registry.c:
15802 * testsuite/plugin/static.c:
15803 * testsuite/plugin/static2.c:
15804 * testsuite/plugin/testplugin.c:
15805 * testsuite/plugin/testplugin2.c:
15806 * testsuite/plugin/testplugin2_s.c:
15807 * testsuite/plugin/testplugin_s.c:
15808 * testsuite/refcounting/.cvsignore:
15809 * testsuite/refcounting/Makefile.am:
15810 * testsuite/refcounting/bin.c:
15811 * testsuite/refcounting/element.c:
15812 * testsuite/refcounting/element_pad.c:
15813 * testsuite/refcounting/mainloop.c:
15814 * testsuite/refcounting/mem.c:
15815 * testsuite/refcounting/mem.h:
15816 * testsuite/refcounting/object.c:
15817 * testsuite/refcounting/pad.c:
15818 * testsuite/refcounting/sched.c:
15819 * testsuite/refcounting/thread.c:
15820 * testsuite/states/.cvsignore:
15821 * testsuite/states/Makefile.am:
15822 * testsuite/states/bin.c:
15823 * testsuite/states/locked.c:
15824 * testsuite/states/parent.c:
15825 * testsuite/threads/.cvsignore:
15826 * testsuite/threads/159566.c:
15827 * testsuite/threads/159852.c:
15828 * testsuite/threads/Makefile.am:
15829 * testsuite/threads/queue.c:
15830 * testsuite/threads/signals.c:
15831 * testsuite/threads/staticrec.c:
15832 * testsuite/threads/thread.c:
15833 * testsuite/threads/threadb.c:
15834 * testsuite/threads/threadc.c:
15835 * testsuite/threads/threadd.c:
15836 * testsuite/threads/threade.c:
15837 * testsuite/threads/threadf.c:
15838 * testsuite/threads/threadg.c:
15839 * testsuite/threads/threadh.c:
15840 * testsuite/threads/threadi.c:
15841 move all of these under tests
15843 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15846 * tests/Makefile.am:
15849 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15851 * docs/gst/gstreamer-sections.txt:
15852 * tests/sched/.cvsignore:
15853 * tests/sched/Makefile.am:
15854 * tests/sched/cases/(fs-fs).xml:
15855 * tests/sched/cases/(fs-i-fs).xml:
15856 * tests/sched/cases/(fs-i-i-fs).xml:
15857 * tests/sched/cases/(fs-i-q[i-fs]).xml:
15858 * tests/sched/dynamic-pipeline.c:
15859 * tests/sched/interrupt1.c:
15860 * tests/sched/interrupt2.c:
15861 * tests/sched/interrupt3.c:
15862 * tests/sched/runtestcases:
15863 * tests/sched/runxml.c:
15864 * tests/sched/sched-stress.c:
15865 * tests/sched/sort.c:
15866 * tests/sched/testcases:
15867 * tests/sched/testcases1.tc:
15868 * tests/seeking/.cvsignore:
15869 * tests/seeking/Makefile.am:
15870 * tests/seeking/seeking1.c:
15871 * tests/threadstate/.cvsignore:
15872 * tests/threadstate/Makefile.am:
15873 * tests/threadstate/test1.c:
15874 * tests/threadstate/test2.c:
15875 * tests/threadstate/threadstate1.c:
15876 * tests/threadstate/threadstate2.c:
15877 * tests/threadstate/threadstate3.c:
15878 * tests/threadstate/threadstate4.c:
15879 * tests/threadstate/threadstate5.c:
15880 remove obsolete tests
15882 * tests/bench-complexity.scm:
15883 * tests/bench-mass_elements.scm:
15884 * tests/complexity.c:
15885 * tests/complexity.gnuplot:
15886 * tests/instantiate/.cvsignore:
15887 * tests/instantiate/Makefile.am:
15888 * tests/instantiate/caps.c:
15889 * tests/mass_elements.c:
15890 * tests/network-clock-utils.scm:
15891 * tests/network-clock.scm:
15893 First pass at cleaning up tests/ dir before moving the rest
15894 Combined with CVS surgery
15896 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15899 queue has moved, update
15901 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15903 * docs/gst/gstreamer-sections.txt:
15904 remove double entries from the docs
15905 * gst/gst_private.h:
15906 * gst/gstinfo.c: (_gst_debug_init):
15907 remove the THREAD debug category
15911 * docs/gst/gstreamer.types:
15912 * plugins/elements/gstqueue.c: (gst_queue_get_type),
15913 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
15914 completely move queue and fix up debugging categories
15916 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15918 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
15919 make initialization portable, using LL is not
15921 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15923 * win32/common/gstconfig.h:
15926 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15928 * win32/common/libgstreamer.def:
15929 rename symbols; sort base section
15931 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15933 * gst/gstclock.c: (do_linear_regression):
15934 remove crack non-portable handrolled DEBUG macro
15936 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
15938 * docs/random/release:
15940 * win32/common/gstenumtypes.c: (register_gst_object_flags),
15941 (gst_object_flags_get_type), (register_gst_bin_flags),
15942 (gst_bin_flags_get_type), (register_gst_buffer_flag),
15943 (gst_buffer_flag_get_type), (register_gst_bus_flags),
15944 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15945 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
15946 (gst_caps_flags_get_type), (register_gst_clock_return),
15947 (gst_clock_return_get_type), (register_gst_clock_entry_type),
15948 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15949 (gst_clock_flags_get_type), (register_gst_state),
15950 (gst_state_get_type), (register_gst_state_change_return),
15951 (gst_state_change_return_get_type), (register_gst_state_change),
15952 (gst_state_change_get_type), (register_gst_element_flags),
15953 (gst_element_flags_get_type), (register_gst_core_error),
15954 (gst_core_error_get_type), (register_gst_library_error),
15955 (gst_library_error_get_type), (register_gst_resource_error),
15956 (gst_resource_error_get_type), (register_gst_stream_error),
15957 (gst_stream_error_get_type), (register_gst_event_type_flags),
15958 (gst_event_type_flags_get_type), (register_gst_event_type),
15959 (gst_event_type_get_type), (register_gst_seek_type),
15960 (gst_seek_type_get_type), (register_gst_seek_flags),
15961 (gst_seek_flags_get_type), (register_gst_format),
15962 (gst_format_get_type), (register_gst_index_certainty),
15963 (gst_index_certainty_get_type), (register_gst_index_entry_type),
15964 (gst_index_entry_type_get_type),
15965 (register_gst_index_lookup_method),
15966 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15967 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15968 (gst_index_resolver_method_get_type), (register_gst_index_flags),
15969 (gst_index_flags_get_type), (register_gst_debug_level),
15970 (gst_debug_level_get_type), (register_gst_debug_color_flags),
15971 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
15972 (gst_iterator_result_get_type), (register_gst_iterator_item),
15973 (gst_iterator_item_get_type), (register_gst_message_type),
15974 (gst_message_type_get_type), (register_gst_mini_object_flags),
15975 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
15976 (gst_pad_link_return_get_type), (register_gst_flow_return),
15977 (gst_flow_return_get_type), (register_gst_activate_mode),
15978 (gst_activate_mode_get_type), (register_gst_pad_direction),
15979 (gst_pad_direction_get_type), (register_gst_pad_flags),
15980 (gst_pad_flags_get_type), (register_gst_pad_presence),
15981 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
15982 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
15983 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
15984 (gst_plugin_error_get_type), (register_gst_plugin_flags),
15985 (gst_plugin_flags_get_type), (register_gst_rank),
15986 (gst_rank_get_type), (register_gst_query_type),
15987 (gst_query_type_get_type), (register_gst_tag_merge_mode),
15988 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
15989 (gst_tag_flag_get_type), (register_gst_task_state),
15990 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
15991 (gst_alloc_trace_flags_get_type),
15992 (register_gst_type_find_probability),
15993 (gst_type_find_probability_get_type), (register_gst_uri_type),
15994 (gst_uri_type_get_type), (register_gst_parse_error),
15995 (gst_parse_error_get_type):
15996 * win32/common/gstenumtypes.h:
15997 * win32/common/gstversion.h:
15998 update visual studio generated files
16000 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16002 * win32/vs6/libgstbase.dsp:
16003 * win32/vs6/libgstelements.dsp:
16004 update project files for new locations
16006 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
16011 reinstate and update
16016 * docs/random/LICENSE:
16019 2005-11-30 Edward Hervey <edward@fluendo.com>
16021 * gst/gsttypefind.c: (gst_type_find_register):
16022 * gst/gsttypefind.h:
16023 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
16024 (gst_type_find_factory_dispose):
16025 * gst/gsttypefindfactory.h:
16026 Fix memory leak in GstTypeFindFactory.
16028 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16031 * plugins/elements/Makefile.am:
16032 * plugins/elements/gstelements.c:
16033 * plugins/elements/gstqueue.c:
16034 move queue from core to the elements plugin
16036 2005-11-29 Andy Wingo <wingo@pobox.com>
16038 * libs/gst/base/gstbasetransform.h:
16039 * libs/gst/base/gstbasesrc.h:
16040 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
16042 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
16043 of pointers by which to pad very extensible base classes (like the
16044 ones in libs/gst/base).
16046 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16048 * docs/gst/gstreamer-docs.sgml:
16049 * docs/gst/gstreamer-sections.txt:
16050 * docs/libs/gstreamer-libs-docs.sgml:
16051 * docs/libs/gstreamer-libs-sections.txt:
16052 moving documentation from core to lib
16054 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16056 * check/Makefile.am:
16058 * docs/gst/Makefile.am:
16060 * gst/base/.cvsignore:
16061 * gst/base/Makefile.am:
16063 * gst/base/gstadapter.c:
16064 * gst/base/gstadapter.h:
16065 * gst/base/gstbasesink.c:
16066 * gst/base/gstbasesink.h:
16067 * gst/base/gstbasesrc.c:
16068 * gst/base/gstbasesrc.h:
16069 * gst/base/gstbasetransform.c:
16070 * gst/base/gstbasetransform.h:
16071 * gst/base/gstcollectpads.c:
16072 * gst/base/gstcollectpads.h:
16073 * gst/base/gstpushsrc.c:
16074 * gst/base/gstpushsrc.h:
16075 * gst/base/gsttypefindhelper.c:
16076 * gst/base/gsttypefindhelper.h:
16077 * gst/check/Makefile.am:
16078 * gst/check/gstcheck.c:
16079 * gst/check/gstcheck.h:
16080 * gst/net/Makefile.am:
16081 * gst/net/gstnet.h:
16082 * gst/net/gstnetclientclock.c:
16083 * gst/net/gstnetclientclock.h:
16084 * gst/net/gstnettimepacket.c:
16085 * gst/net/gstnettimepacket.h:
16086 * gst/net/gstnettimeprovider.c:
16087 * gst/net/gstnettimeprovider.h:
16088 * libs/gst/Makefile.am:
16089 * libs/gst/base/Makefile.am:
16090 * libs/gst/base/gstbasetransform.c:
16091 * libs/gst/check/Makefile.am:
16092 * plugins/elements/Makefile.am:
16094 CVS surgery + support to move base, check, and net out of gst
16097 2005-11-29 Andy Wingo <wingo@pobox.com>
16099 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
16101 * gst/gststructure.h (struct _GstStructure): Only one pointer of
16104 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
16106 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
16108 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
16110 * gst/gstobject.h: (struct _GstObject): Only one pointer of
16111 padding; reduces object size by about 30%. We don't expect
16112 anything else to go into gstobject.
16114 * gst/gstminiobject.h (struct _GstMiniObject)
16115 (struct _GstMiniObjectClass): Only one pointer of padding; the
16116 payload is only a pointer and two ints anyway. For the class there
16117 are only two methods as well.
16119 * gst/gstelement.h (struct _GstElementClass): Removed
16120 the state_changed signal callback, it is not used.
16122 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
16124 * docs/gst/gstreamer.types:
16125 fix includes, though they are a little dinky
16127 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16129 * check/Makefile.am:
16130 look in the right place for elements, a lot more chance of
16133 remove indexers and elements subdirs
16134 * plugins/Makefile.am:
16135 make indexers conditional
16137 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
16141 * plugins/elements/Makefile.am:
16142 * plugins/elements/gstcapsfilter.c:
16143 * plugins/elements/gstfilesink.c:
16144 * plugins/elements/gstfilesrc.c:
16145 * plugins/elements/gstidentity.c:
16146 * plugins/indexers/Makefile.am:
16147 do CVS surgery and related build fixery to move elements
16148 and indexers in a new gstreamer/plugins directory, out of the
16151 2005-11-29 Andy Wingo <wingo@pobox.com>
16153 * check/Makefile.am:
16154 * pkgconfig/gstreamer-net-uninstalled.pc.in:
16155 * pkgconfig/gstreamer-net.pc.in:
16156 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
16159 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
16161 * tools/Makefile.am:
16162 * tools/gst-complete.1.in:
16163 * tools/gst-complete.c:
16164 * tools/gst-compprep.1.in:
16165 * tools/gst-compprep.c:
16166 removing -compprep and -complete
16168 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
16170 * gst/gstevent.c: (gst_event_new_new_segment),
16171 (gst_event_parse_new_segment):
16173 fix #320529 - clean up new_segment API and structure.
16174 Let's hope everyone was using the methods, and not the structure.
16176 2005-11-29 Edward Hervey <edward@fluendo.com>
16178 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16179 (gst_base_sink_event), (gst_base_sink_do_sync),
16180 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
16181 Properly handle non GST_FORMAT_TIME segment
16182 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
16183 Properly handle non GST_FORMAT_TIME segment
16184 * gst/gstsegment.c:
16185 This function is valid if the accumulator is 0 and the format
16186 is different from the requested format.
16188 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
16190 * docs/gst/gstreamer-sections.txt:
16191 Add gst_query_new_seeking and gst_query_parse_seeking to the
16194 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
16196 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
16197 Treat a pad alloc with new caps the same as if we were not
16198 negotiated, in order to allow a changing upstream output
16199 to produce a new format of data.
16201 2005-11-29 Edward Hervey <edward@fluendo.com>
16203 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16204 (gst_base_transform_event), (gst_base_transform_eventfunc):
16205 The event virtual method is now properly implemented, with a default
16207 Sub classes should call the parent_class event method. They should
16208 return FALSE if they had a problem handling the given event, or don't
16209 want GstBaseTransform to send that even downstream
16210 * gst/elements/gstidentity.c: (gst_identity_class_init),
16211 (gst_identity_init), (gst_identity_event),
16212 (gst_identity_transform_ip), (gst_identity_set_property),
16213 (gst_identity_get_property):
16214 * gst/elements/gstidentity.h:
16215 Added the single-segment boolean property.
16216 If set to TRUE, it will output a single segment of data, starting from
16217 0, will eat up all incoming newsegment, and modify the timestamp of the
16218 buffers accordingly
16220 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
16222 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
16223 Don't ref NULL target pad (#322751). Improve docs.
16225 2005-11-29 Michael Smith <msmith@fluendo.com>
16227 * gst/gstregistryxml.c: (load_plugin):
16228 Don't crash if we failed to load a feature from a plugin.
16230 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
16232 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
16234 use more check API and less GLib API
16236 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
16239 don't run checks if we don't have check
16240 * common/check.mak:
16241 remove the registry when running make torture
16242 * docs/gst/gstreamer-sections.txt:
16243 remove second multiply
16244 * gst/gstqueue.c: (gst_queue_loop):
16245 fix a compile warning when disabling debug
16247 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
16250 Hey! Let's print the pad name if the pointer != NULL instead
16251 of when it == NULL :-)
16253 2005-11-28 Wim Taymans <wim@fluendo.com>
16255 * check/gst/gstutils.c: (GST_START_TEST):
16256 Updated check, add some scaling accuracy checking code.
16258 * gst/gstutils.c: (gst_util_div128_64),
16259 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
16260 (gst_util_uint64_scale_int):
16261 Fix 6 times faster division code. Optimize for common
16262 1/1 and less common X/1 cases.
16264 2005-11-28 Wim Taymans <wim@fluendo.com>
16266 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16269 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
16270 (do_linear_regression), (gst_clock_add_observation):
16272 Release lock when the clock cannot be slaved.
16273 Catch the case where the regression returned an invalid denominator.
16275 * gst/gstutils.c: (gst_util_div128_64_iterate),
16276 (gst_util_div128_64), (gst_util_uint64_scale_int64),
16277 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
16278 Add protentially more performant non-iterative 128/64 divide function
16279 that unfortunatly does not work yet.
16280 Shortcut the trivial 0/X = 0 case.
16281 Remove the warnings on overflow.
16283 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
16285 * gst/gstplugin.c: (gst_plugin_register_func):
16286 everything causing a plugin not to load should be at least a WARNING
16288 2005-11-28 Stefan Kost <ensonic@users.sf.net>
16290 * docs/random/ensonic/dparams.txt:
16291 some TODOs for the next dev cycle
16292 * libs/gst/controller/gstcontroller.c:
16293 (gst_controlled_property_set_interpolation_mode),
16294 (gst_controlled_property_new):
16295 * libs/gst/controller/gstcontroller.h:
16296 use base type to assign acccessor functions
16298 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
16300 * check/Makefile.am:
16301 Oops, that should have been top_srcdir
16303 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
16305 * check/Makefile.am:
16306 * check/elements/fdsrc.c: (GST_START_TEST):
16307 Use a cmdline define to specify the location of a file to use for
16308 testing, to avoid breaking distcheck.
16310 2005-11-28 Andy Wingo <wingo@pobox.com>
16312 * gst/gstpad.c (fixate_value): Use array functions for arrays.
16314 2005-11-28 Edward Hervey <edward@fluendo.com>
16316 * tools/gst-launch.c: (main):
16317 Clarify the output strings, makes it easier to translate.
16320 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
16323 don't try and build net if we don't even have <sys/socket.h>
16325 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
16327 * check/Makefile.am:
16328 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
16329 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
16330 Add tests for fdsrc seekability
16332 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
16333 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
16334 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
16335 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
16336 * gst/elements/gstfdsrc.h:
16337 fdsrc should not be a 'live' source.
16338 Implement seeking on seekable fd's.
16340 * gst/gstquery.c: (gst_query_new_seeking),
16341 (gst_query_parse_seeking):
16343 Implement SEEKING query functions:
16344 *_new_seeking and *_parse_seeking
16346 2005-11-27 Stefan Kost <ensonic@users.sf.net>
16348 * gst/gstelement.c: (gst_element_dispose):
16351 * gst/gstiterator.c:
16352 * gst/gststructure.c:
16355 * libs/gst/controller/gstcontroller.c:
16356 (gst_controlled_property_set_interpolation_mode):
16357 * libs/gst/controller/gstcontroller.h:
16358 * libs/gst/controller/gstinterpolation.c:
16359 (interpolate_none_get_enum_value_array):
16360 support controlling enums
16362 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
16365 Improve documentation for gst_value_union().
16368 Change return value for union, intersect and subtract functions
16369 from gint to gboolean.
16371 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
16373 * gst/gstvalue.c: (gst_value_serialize_any_list),
16374 (gst_value_transform_any_list_string),
16375 (gst_value_deserialize_list), (gst_value_deserialize_array),
16376 (gst_value_set_int_range), (gst_value_deserialize_int_range),
16377 (gst_value_set_double_range), (gst_value_deserialize_double_range),
16378 (gst_value_set_fraction_range_full),
16379 (gst_value_deserialize_fraction_range),
16380 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
16381 (gst_value_deserialize_boolean),
16382 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
16383 (gst_value_serialize_float), (gst_value_deserialize_float),
16384 (gst_string_wrap), (gst_value_deserialize_string),
16385 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
16386 (gst_value_union_int_range_int_range),
16387 (gst_value_intersect_int_range_int_range),
16388 (gst_value_intersect_double_range_double_range),
16389 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
16390 (gst_value_subtract_int_range_int_range),
16391 (gst_value_subtract_double_double_range),
16392 (gst_value_subtract_double_range_double_range),
16393 (gst_value_deserialize_fraction):
16395 Use gint, gdouble and gchar in our API instead of int, double and
16396 char (and make usage in gstvalue.c more consistent).
16398 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
16400 * check/Makefile.am:
16401 * libs/gst/controller/Makefile.am:
16402 * libs/gst/dataprotocol/Makefile.am:
16403 fix up Makefile.am and remove GST_ENABLE_NEW
16405 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
16409 * gst/base/Makefile.am:
16410 * gst/check/Makefile.am:
16411 * gst/elements/Makefile.am:
16412 * gst/net/Makefile.am:
16413 update LDFLAGS use some more
16415 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
16417 * common/m4/gst-doc.m4:
16420 2005-11-26 Edward Hervey <edward@fluendo.com>
16422 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16423 This shouldn't issue a g_warning since it returns NULL if it
16424 couldn't find the plugin, and all functions using this behave
16425 properly on a NULL return. Switching to a GST_WARNING.
16427 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
16429 * gst/gstbin.c: (gst_bin_handle_message_func):
16430 Don't leak clock messages.
16432 2005-11-25 Wim Taymans <wim@fluendo.com>
16434 * gst/gstutils.c: (gst_util_uint64_scale_int64),
16435 (gst_util_uint64_scale_int):
16436 Optimisations, remove unneeded vars.
16438 2005-11-25 Wim Taymans <wim@fluendo.com>
16440 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16441 Added more checks for the high precision uint64 cases.
16443 * gst/gstutils.c: (gst_util_uint64_scale_int64),
16444 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
16445 Implement high precision (guint64 * guint64) / guint64.
16447 2005-11-24 Wim Taymans <wim@fluendo.com>
16449 * gst/base/gstbasesrc.c: (gst_base_src_query):
16450 Fix wrong percentage query.
16452 * gst/gstutils.c: (gst_util_uint64_scale),
16453 (gst_util_uint64_scale_int):
16454 Add some more common cases that can be handled
16455 efficiently to _scale.
16457 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
16459 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
16460 (gst_mini_object_suite):
16461 don't use check calls from threads; check probably isn't
16462 threadsafe and using a lock to make it threadsafe would
16463 defeat the purpose of this check
16464 * gst/check/gstcheck.c:
16465 * gst/check/gstcheck.h:
16466 use GST_DEBUG some more
16468 2005-11-24 Wim Taymans <wim@fluendo.com>
16470 * gst/gstutils.c: (gst_util_uint64_scale),
16471 (gst_util_uint64_scale_int):
16472 Chain trivial case to _scale_int.
16474 2005-11-24 Wim Taymans <wim@fluendo.com>
16476 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16477 Added test for scaling.
16482 * gst/gstutils.c: (gst_util_uint64_scale_int):
16483 Implemented high precision scaling code.
16485 2005-11-24 Stefan Kost <ensonic@users.sf.net>
16488 do not crash on pad==NULL
16490 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
16492 Patch by: Stefan Kost
16494 * common/gtk-doc.mak:
16495 * docs/gst/Makefile.am:
16496 * docs/libs/Makefile.am:
16497 Fix distcheck issues for the libraries docs build
16500 2005-11-24 Michael Smith <msmith@fluendo.com>
16502 * docs/manual/basics-helloworld.xml:
16503 Fix bug #315027: memory leak in example code in docs.
16505 2005-11-24 Michael Smith <msmith@fluendo.com>
16507 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16508 Unlock the PREROLL_LOCK in a failure case.
16510 2005-11-24 Wim Taymans <wim@fluendo.com>
16512 * docs/gst/gstreamer-sections.txt:
16513 * gst/base/gstadapter.h:
16514 * gst/base/gstbasesink.h:
16515 * gst/base/gstbasesrc.h:
16516 * gst/base/gstbasetransform.h:
16517 * gst/base/gstpushsrc.h:
16518 * gst/elements/gstfakesink.h:
16519 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
16520 * gst/elements/gstfakesrc.h:
16521 * gst/elements/gstfilesink.h:
16522 * gst/elements/gstfilesrc.h:
16525 * gst/gstbuffer.c: (_gst_buffer_copy):
16528 * gst/gstchildproxy.c:
16530 * gst/gstelement.c:
16531 * gst/gstelementfactory.c:
16532 * gst/gstelementfactory.h:
16534 * gst/gstghostpad.h:
16536 * gst/gstinterface.h:
16537 * gst/gstminiobject.c:
16538 * gst/gstminiobject.h:
16541 * gst/gstpadtemplate.h:
16542 * gst/gstpipeline.h:
16543 * gst/gstpluginfeature.h:
16546 * gst/gsttaglist.c:
16547 * gst/gsttaglist.h:
16548 * gst/gsttagsetter.c:
16549 * gst/gsttagsetter.h:
16552 * gst/gsttypefind.h:
16555 * gst/net/gstnetclientclock.c:
16556 * gst/net/gstnetclientclock.h:
16557 * gst/net/gstnettimepacket.c:
16558 * gst/net/gstnettimeprovider.c:
16559 * gst/net/gstnettimeprovider.h:
16562 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
16564 * configure.ac: back to HEAD
16566 === release 0.9.6 ===
16568 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
16571 releasing 0.9.6, "Always On Time"
16573 2005-11-23 Wim Taymans <wim@fluendo.com>
16575 * docs/gst/gstreamer-sections.txt:
16576 * gst/glib-compat.c:
16577 * gst/gsttagsetter.c:
16579 * gst/net/gstnetclientclock.c:
16580 * gst/net/gstnettimepacket.h:
16583 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
16585 * docs/faq/using.xml:
16586 * docs/libs/tmpl/gstcontrol.sgml:
16587 * docs/manual/advanced-dparams.xml:
16588 * docs/manual/appendix-checklist.xml:
16589 * docs/manual/basics-elements.xml:
16590 * docs/pwg/other-source.xml:
16591 * docs/random/moving-plugins:
16593 * tools/gst-launch.1.in:
16594 remove mentions of sinesrc
16596 2005-11-23 Michael Smith <msmith@fluendo.com>
16598 * docs/gst/gstreamer-sections.txt:
16599 Update for new API and API changes.
16601 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
16603 Documentation typo fix.
16604 * gst/net/gstnettimepacket.c:
16605 Documentation fixes for arguments.
16607 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
16609 * gst/gststructure.c: (gst_structure_get_fraction),
16610 (gst_structure_parse_value),
16611 (gst_structure_fixate_field_nearest_fraction):
16612 * gst/gststructure.h:
16613 * gst/gstutils.c: (gst_util_uint64_scale_int):
16615 * scripts/update-funcnames:
16617 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
16618 Make gst_structure_fixate_field_nearest_fraction take a numerator
16619 and denominator argument instead of a GValue
16620 add gst_structure_get_fraction helper function.
16622 2005-11-23 Wim Taymans <wim@fluendo.com>
16624 * docs/design/part-TODO.txt:
16627 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
16628 * gst/net/gstnetclientclock.h:
16629 Use parent fields for timeout and window_size.
16631 2005-11-23 Andy Wingo <wingo@pobox.com>
16633 * check/net/gstnetclientclock.c (test_functioning): Adjust to
16634 rate_num/rate_denom change.
16636 * gst/net/gstnetclientclock.c
16637 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
16638 OBJECT_LOCK. Don't call add_observation with the lock.
16640 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
16642 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
16644 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
16645 deal with rate as a fraction whose numerator and denominator are
16646 GstClockTime values.
16647 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
16648 master; the other fields are protected by the SLAVE_LOCK.
16649 (do_linear_regression): Note that this must be called with the
16651 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
16652 OBJECT_LOCK. Call set_calibration instead of touching the
16653 variables directly.
16654 (gst_clock_set_property, gst_clock_get_property): Protect
16655 master/slave parameters with the SLAVE_LOCK.
16657 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
16658 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
16659 note that all of the instance variables that add_observation and
16660 the set_master functions use are protected by that lock and not
16662 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
16664 * gst/gstclock.c (gst_clock_add_observation): No longer requires
16665 the caller to take the object lock.
16667 2005-11-23 Wim Taymans <wim@fluendo.com>
16669 * gst/gsterror.c: (_gst_core_errors_init):
16671 Add error for clock stuff.
16673 * gst/gstpipeline.c: (gst_pipeline_change_state),
16674 (gst_pipeline_set_clock):
16675 Post clock error when clock cannot be used in a pipeline.
16677 2005-11-23 Stefan Kost <ensonic@users.sf.net>
16679 * docs/gst/gstreamer-sections.txt:
16680 make two symbols from gstinfo private for the docs
16681 * gst/base/gstcollectpads.h:
16683 fix doc typos, update docs
16685 2005-11-22 Wim Taymans <wim@fluendo.com>
16687 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16688 (gst_base_sink_wait), (gst_base_sink_do_sync),
16689 (gst_base_sink_handle_event):
16690 * gst/base/gstbasesink.h:
16691 No need to store the clock, the parent element class already
16694 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
16695 Updates for clock_set returning a gboolean
16697 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
16698 (gst_clock_id_wait_async), (gst_clock_class_init),
16699 (gst_clock_init), (gst_clock_finalize),
16700 (gst_clock_get_internal_time), (gst_clock_get_time),
16701 (gst_clock_slave_callback), (gst_clock_set_master),
16702 (gst_clock_get_master), (do_linear_regression),
16703 (gst_clock_add_observation), (gst_clock_set_property),
16704 (gst_clock_get_property):
16706 Implement master/slave. When setting a clock as a slave, a
16707 periodic timeout is scheduled to sample master and slave times.
16708 Then the slave clock is recalibrated to match offset and rate
16709 of the master clock.
16710 Update logging a bit.
16711 Add flag so that a clock can state that is cannot be slaved to
16714 * gst/gstelement.c: (gst_element_set_clock):
16715 * gst/gstelement.h:
16716 The set clock returns a gboolean for when an element cannot
16717 deal with the selected clock in the pipeline.
16719 * gst/gstpipeline.c: (gst_pipeline_change_state),
16720 (gst_pipeline_set_clock):
16721 * gst/gstpipeline.h:
16722 Handle the case where the selected clock cannot be set on
16725 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
16726 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
16727 (gst_net_client_clock_set_property),
16728 (gst_net_client_clock_get_property),
16729 (gst_net_client_clock_observe_times):
16730 * gst/net/gstnetclientclock.h:
16731 Use regression code in GstClock parent, remove duplicated
16734 2005-11-22 Michael Smith <msmith@fluendo.com>
16736 * gst/gstutils.c: (gst_util_clock_time_scale):
16738 * docs/gst/gstreamer-sections.txt:
16739 Rename method to have extra underscore.
16741 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
16743 * gst/elements/Makefile.am:
16744 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
16745 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16746 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16747 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
16748 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
16749 * gst/elements/gstfakesrc.h:
16750 * gst/gstqueue.c: (queue_leaky_get_type):
16751 correctly fix GEnumValues so that nick is the short lowercase
16753 * tools/gst-inspect.c: (print_element_properties_info):
16754 also show the nick, since it's useful to use from parse_launch
16758 2005-11-22 Michael Smith <msmith@fluendo.com>
16760 * gst/gstutils.c: (gst_util_clocktime_scale):
16762 * docs/gst/gstreamer-sections.txt:
16763 Add util method for scaling a clocktime by a fraction. Useful
16764 implementation is left as an exercise for the reader.
16766 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
16768 * gst/gstvalue.c: (gst_value_collect_fraction_range):
16769 If needed, allocate storage in the destination value during
16772 2005-11-22 Edward Hervey <edward@fluendo.com>
16774 * docs/gst/gstreamer-sections.txt:
16777 * gst/gsturitype.c:
16778 * gst/gsturitype.h:
16779 * gst/gstutils.c: (gst_util_set_object_arg):
16780 * tools/gst-compprep.c: (main):
16781 * tools/gst-inspect.c: (print_element_properties_info):
16782 Removed GstURI, closes bug #321061
16784 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
16786 * check/gst/gststructure.c: (GST_START_TEST):
16787 * gst/gststructure.c: (gst_structure_parse_value):
16788 Oops, broke automatic string type parsing.
16789 Add a test to catch it in future.
16791 2005-11-22 Andy Wingo <wingo@pobox.com>
16793 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
16794 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
16795 Actually rename the function implementations. Grr.
16797 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
16799 * check/gst/capslist.h:
16801 * check/gst/gststructure.c: (GST_START_TEST),
16802 (gst_structure_suite):
16803 Test automatic value type detection in gst_structure_from_string.
16804 * gst/gststructure.c: (gst_structure_parse_value):
16805 Add fraction as a type we try and guess automatically in
16806 caps/structure strings.
16808 2005-11-22 Andy Wingo <wingo@pobox.com>
16810 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
16812 * gst/gsttagsetter.h:
16813 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
16814 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
16815 (gst_tag_setter_add_tag_valist)
16816 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
16817 _add_values, _add_valist, and _add_valist_values. Since this is an
16818 interface the function suffixes should be more explicit so
16819 language binding don't end up with element.add_valist ->
16820 gst_tag_setter_add_valist, for example. Fixes #322069.
16822 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
16824 * check/gst/gstcaps.c: (GST_START_TEST):
16825 Extend caps string tests to check that a caps to string
16826 conversion is reversible and produces the same caps.
16828 * gst/gststructure.c: (gst_structure_value_get_generic_type):
16829 Output "fraction" as the generic type fraction range, so caps
16830 serialisation and deserialisation works.
16831 * check/gst/capslist.h:
16832 * gst/gstvalue.c: (gst_value_deserialize_fraction):
16833 Support 'MIN' and 'MAX' for deserialising fractions.
16835 2005-11-22 Andy Wingo <wingo@pobox.com>
16837 * gst/gstevent.h (gst_event_new_new_segment)
16838 (gst_event_parse_new_segment, gst_event_new_buffer_size)
16839 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
16840 Renamed from *_newsegment, *_buffersize, *_notarget.
16842 * scripts/update-funcnames: New script, performs the changes
16845 2005-11-22 Wim Taymans <wim@fluendo.com>
16847 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16848 Make sure the GstFlowReturn is returned.
16850 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
16851 (gst_bus_add_signal_watch):
16853 add gst_bus_add_signal_watch_full.
16855 * gst/gstplugin.c: (gst_plugin_load_file):
16856 Small style cleanup.
16858 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
16860 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
16861 Block the fakesrc srcpad when we send an event, to avoid
16862 contention on the stream_lock causing random test failures.
16864 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
16866 * check/gst/gstvalue.c: (GST_START_TEST):
16867 * gst/gstvalue.c: (gst_value_fraction_subtract):
16870 2005-11-22 Stefan Kost <ensonic@users.sf.net>
16873 include "gstchildproxy.h"
16874 * gst/gstchildproxy.h:
16875 * libs/gst/controller/gstcontroller.h:
16876 use G_GNUC_NULL_TERMINATED
16878 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
16880 * check/gst/capslist.h:
16881 * check/gst/gstcaps.c: (GST_START_TEST):
16882 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16883 * gst/gststructure.c: (gst_structure_parse_range),
16884 (gst_structure_fixate_field_nearest_fraction):
16885 * gst/gststructure.h:
16886 * gst/gstvalue.c: (gst_value_init_fraction_range),
16887 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
16888 (gst_value_collect_fraction_range),
16889 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
16890 (gst_value_set_fraction_range_full),
16891 (gst_value_get_fraction_range_min),
16892 (gst_value_get_fraction_range_max),
16893 (gst_value_serialize_fraction_range),
16894 (gst_value_transform_fraction_range_string),
16895 (gst_value_compare_fraction_range),
16896 (gst_value_deserialize_fraction_range),
16897 (gst_value_intersect_fraction_fraction_range),
16898 (gst_value_intersect_fraction_range_fraction_range),
16899 (gst_value_subtract_fraction_fraction_range),
16900 (gst_value_subtract_fraction_range_fraction),
16901 (gst_value_subtract_fraction_range_fraction_range),
16902 (gst_value_collect_fraction), (gst_value_fraction_multiply),
16903 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
16904 (gst_value_transform_string_fraction), (_gst_value_initialize):
16906 Implement fraction ranges and extend GstFraction to support
16907 arithmetic subtraction, as well as deserialization from integer
16908 strings such as "100"
16909 Add a testsuite as for int and double range set operations
16911 2005-11-21 Andy Wingo <wingo@pobox.com>
16913 * gst/gsttaglist.h:
16915 * gst/gststructure.h: Add glib-compat.h.
16917 2005-11-21 Wim Taymans <wim@fluendo.com>
16919 * gst/gstbin.c: (gst_bin_change_state_func):
16922 2005-11-21 Wim Taymans <wim@fluendo.com>
16924 * gst/gstsegment.h:
16925 And add a nice define too.
16927 2005-11-21 Wim Taymans <wim@fluendo.com>
16929 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
16930 (gst_segment_new), (gst_segment_free), (gst_segment_init),
16931 (gst_segment_set_duration), (gst_segment_set_last_stop),
16932 (gst_segment_set_seek), (gst_segment_set_newsegment),
16933 (gst_segment_to_stream_time), (gst_segment_to_running_time),
16934 (gst_segment_clip):
16935 * gst/gstsegment.h:
16936 Make binding friendly.
16938 2005-11-21 Andy Wingo <wingo@pobox.com>
16940 * gst/gsttagsetter.h:
16941 * gst/gsttaglist.h:
16942 * gst/gststructure.h:
16944 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
16947 * gst/gsterror.c (_gst_core_errors_init):
16948 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
16951 * gst/Makefile.am (gst_headers): Add glib-compat.h.
16952 (noinst_HEADERS): noinst the -private.
16954 2005-11-21 Michael Smith <msmith@fluendo.com>
16957 * gst/gstregistry.h:
16958 Remove unimplemented declarations for which we can see no sensible
16961 2005-11-21 Andy Wingo <wingo@pobox.com>
16963 * gst/gst.h: Include glib-compat.h.
16965 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
16967 * gst/glib-compat.c: Include the public and the private header.
16969 * gst/glib-compat-private.h: Copied here from glib-compat.h.
16973 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
16975 * check/gst/gstevent.c (create_custom_events): Check that
16976 FLUSH_STOP is serialized.
16978 * check/elements/identity.c (event_func):
16979 * check/elements/fakesrc.c (event_func): No stream lock, the core
16982 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
16983 stream lock taking, yay.
16985 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
16986 ensure that core takes the stream lock.
16988 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
16991 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
16992 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
16993 it already. For the flush start we do take it though so we get the
16994 right preroll state change messages.
16996 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
16997 the stream lock here, the core does it for us.
16999 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
17000 GST_STREAM_GET_LOCK.
17001 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
17002 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
17003 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
17004 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
17005 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
17006 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
17008 * gst/gstpad.c: Update for stream lock name change.
17010 * gst/base/gstbasesink.c: Update for preroll lock name change.
17012 2005-11-21 Wim Taymans <wim@fluendo.com>
17014 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
17015 (gst_clock_get_master):
17017 * gst/gstsystemclock.c: (gst_system_clock_init):
17018 Convert Clock flags to object flags.
17019 Added methods to manage master/slave clocks.
17021 2005-11-21 Wim Taymans <wim@fluendo.com>
17023 * check/gst/gstsegment.c: (GST_START_TEST):
17024 * docs/design/part-TODO.txt:
17025 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17026 (gst_base_sink_event), (gst_base_sink_do_sync),
17027 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17028 (gst_base_sink_query), (gst_base_sink_change_state):
17029 * gst/base/gstbasesink.h:
17030 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
17031 (gst_base_src_default_newsegment),
17032 (gst_base_src_configure_segment), (gst_base_src_do_seek),
17033 (gst_base_src_get_range), (gst_base_src_loop),
17034 (gst_base_src_change_state):
17035 * gst/base/gstbasesrc.h:
17036 * gst/base/gstbasetransform.c:
17037 (gst_base_transform_prepare_output_buf),
17038 (gst_base_transform_event), (gst_base_transform_change_state):
17039 * gst/base/gstbasetransform.h:
17040 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17041 (gst_collect_pads_event):
17042 * gst/base/gstcollectpads.h:
17043 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
17044 (gst_fake_src_create):
17045 * gst/elements/gstfakesrc.h:
17046 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17047 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
17048 (gst_segment_set_last_stop), (gst_segment_set_seek),
17049 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
17050 (gst_segment_to_running_time), (gst_segment_clip):
17051 * gst/gstsegment.h:
17052 More segment updates, replace code in plugins with segment
17055 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
17057 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
17058 Don't ignore sscanf results
17060 2005-11-21 Andy Wingo <wingo@pobox.com>
17062 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
17065 * *.c: Ran scripts/update-macros. Oh yes.
17067 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
17068 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
17071 * scripts/update-macros: New script. Run it on your files to
17072 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
17075 2005-11-21 Stefan Kost <ensonic@users.sf.net>
17077 * docs/gst/Makefile.am:
17078 * docs/gst/gstreamer-docs.sgml:
17079 * docs/gst/gstreamer-sections.txt:
17080 * docs/gst/gstreamer.types:
17082 more docs fixes, add new api to the docs
17084 2005-11-21 Andy Wingo <wingo@pobox.com>
17086 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
17087 state_broadcast call.
17089 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
17091 2005-11-21 Julien MOUTTE <julien@moutte.net>
17093 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
17094 function calls for arrays.
17096 2005-11-21 Stefan Kost <ensonic@users.sf.net>
17098 * docs/random/ensonic/media-device-daemon.txt:
17099 wild idea, can this be done?
17100 * docs/gst/gstreamer-sections.txt:
17105 * gst/gstpluginfeature.c:
17109 doc fixes and additions
17111 2005-11-21 Andy Wingo <wingo@pobox.com>
17113 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
17114 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
17115 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
17116 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
17117 private to the basesrc implementation.
17119 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
17120 behalf of event function if necessary. It should no longer be
17121 necessary to take the stream lock in pad's event functions. Fixes
17124 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
17125 * docs/gst/gstreamer-sections.txt:
17126 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
17127 (gst_structure_fixate_field_nearest_double),
17128 (gst_structure_fixate_field_boolean):
17129 * gst/gststructure.h:
17130 * win32/common/libgstreamer.def:
17131 * win32/gstreamer.def:
17133 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
17136 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
17138 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
17139 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
17140 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
17141 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
17142 (gst_fdsrc_uri_handler_init):
17143 * gst/elements/gstfdsrc.h:
17144 Port fd:// URI handler from 0.8 to fdsrc
17146 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
17148 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
17149 (gst_value_serialize_fourcc):
17151 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
17152 consistent with our other format defines (#320324).
17154 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
17156 * gst/gstvalue.c: (gst_value_is_fixed):
17157 Revert previous commit. Value lists are by definition
17158 not fixed, as they are a list of possible values.
17160 2005-11-21 Andy Wingo <wingo@pobox.com>
17162 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
17163 during the stable series if we need it. Fixes #319178.
17165 * gst/gstevent.c (gst_event_new_filler): Removed.
17167 * check/gst/gstevent.c: Update comment about filler events.
17169 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
17171 * gst/gstvalue.c: (gst_value_is_fixed):
17172 Should handle both value arrays and value lists.
17174 2005-11-21 Andy Wingo <wingo@pobox.com>
17176 patch by: Alessandro Dessina <alessandro nnva org>
17178 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
17179 functions to access arrays. Fixes #321962.
17181 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
17183 * docs/gst/gstreamer.types:
17184 gst_collectpads_get_type => gst_collect_pads_get_type.
17186 * gst/base/gstbasetransform.c:
17187 Remove unused SIGNAL_HANDOFF enum.
17189 2005-11-21 Andy Wingo <wingo@pobox.com>
17191 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
17192 the event type (upstream, downstream, serialized). Renamed
17193 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
17194 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
17195 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
17197 * gst/gstevent.c: Update for new CUSTOM event names.
17199 * check/gst/gstevent.c: Update check for new CUSTOM event names.
17202 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
17205 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
17207 * docs/gst/gstreamer-sections.txt:
17208 * win32/common/libgstbase.def:
17209 * win32/libgstbase.def:
17210 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
17211 (gst_collect_pads_class_init), (gst_collect_pads_init),
17212 (gst_collect_pads_finalize), (gst_collect_pads_new),
17213 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
17214 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
17215 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
17216 (gst_collect_pads_start), (gst_collect_pads_stop),
17217 (gst_collect_pads_peek), (gst_collect_pads_pop),
17218 (gst_collect_pads_available), (gst_collect_pads_read),
17219 (gst_collect_pads_flush), (gst_collect_pads_event),
17220 (gst_collect_pads_chain):
17221 * gst/base/gstcollectpads.h:
17222 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
17223 unimplemented functions as unimplemented. Add padding to
17224 GstCollectData. (#320766, #320423)
17226 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
17228 * gst/gstmessage.c:
17229 Improve docs for DURATION message (usage of duration parameter)
17232 2005-11-20 Wim Taymans <wim@fluendo.com>
17234 * check/Makefile.am:
17235 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
17239 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
17240 (gst_segment_set_seek), (gst_segment_set_newsegment),
17241 (gst_segment_to_stream_time), (gst_segment_to_running_time),
17242 (gst_segment_clip):
17243 * gst/gstsegment.h:
17244 Added segment helper structure and methods. Not fully implemented
17246 Added segment check.
17248 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
17250 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17251 Add a deserialisation test for fractions
17252 * examples/metadata/read-metadata.c: (message_loop),
17253 (make_pipeline), (main):
17254 Fix up metadata reading sample.
17255 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17257 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17258 Don't try and fixate empty caps
17259 * gst/gst_private.h:
17260 Wrap in G_BEGIN_DECLS/G_END_DECLS
17261 * gst/gstvalue.c: (gst_value_collect_fraction),
17262 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
17263 (gst_value_transform_string_fraction),
17264 (gst_value_compare_fraction):
17265 Add some extra guards to ensure that we don't end up
17266 with an invalid denominator of 0 in a gstfraction and
17267 that fractions always get reduced.
17269 2005-11-20 Wim Taymans <wim@fluendo.com>
17271 * docs/gst/gstreamer-sections.txt:
17273 * gst/gstelement.c:
17282 2005-11-20 Wim Taymans <wim@fluendo.com>
17284 * docs/design/part-TODO.txt:
17286 Make a proper enum of the flag.
17288 2005-11-19 Wim Taymans <wim@fluendo.com>
17290 * docs/design/part-TODO.txt:
17291 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
17292 (gst_format_to_quark), (gst_format_register):
17294 * gst/gstquery.c: (_gst_query_initialize),
17295 (gst_query_type_get_name), (gst_query_type_to_quark),
17296 (gst_query_type_register):
17298 Add type to quark and type to string conversions.
17300 2005-11-19 Andy Wingo <wingo@pobox.com>
17302 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
17305 2005-11-19 Wim Taymans <wim@fluendo.com>
17307 * docs/design/part-TODO.txt:
17308 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
17309 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
17310 (gst_bin_handle_message_func):
17312 Make message handling overridable.
17314 2005-11-19 Andy Wingo <wingo@pobox.com>
17316 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
17319 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
17321 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
17322 is a GstClockTime. Fixes #321710.
17324 * gst/gstclock.h (GstClock): Remove offset property. Add
17325 internal_calibration and external_calibration. Fix padding. Pad
17326 also by GstClockTime so we don't run into problems.
17328 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
17329 (gst_clock_get_rate_offset): Remove.
17330 (gst_clock_set_time_adjust): Remove. Fixes #321712.
17333 * gst/gstutils.c (g_static_rec_cond_wait)
17334 (g_static_rec_cond_timed_wait): Removed, no longer needed.
17336 * gst/gstbin.c: Remove terrible continue_state prototype.
17338 * gst/gstelement.h (gst_element_continue_state): Make public.
17340 * gst/gstelement.h:
17341 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
17342 by continue_state. Fixes #319389.
17344 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
17345 Really fixes #168438. However I don't see anywhere where the
17346 filter function is called... stupid GStreamer...
17348 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
17349 don't have a dispose function, so it won't get called when the
17350 object is unreffed, but oh well!
17352 * gst/gstindex.c (gst_index_set_filter_full): New API function,
17353 allows a destroy function to be set so user_data can be freed.
17355 (gst_index_set_filter): Call gst_index_set_filter_full.
17357 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
17359 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
17360 string should produce an error, given the lack of a way to
17361 represent NULL strings. Fixes #165650.
17364 * gst/gstvalue.c (gst_value_array_append_value)
17365 (gst_value_array_prepend_value, gst_value_array_get_size)
17366 (gst_value_array_get_value): New API, copied from
17367 gst_value_list_*, only operates on arrays.
17368 (gst_value_list_append_value, gst_value_list_prepend_value)
17369 (gst_value_list_concat, gst_value_list_get_size)
17370 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
17372 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
17373 init_list, because it works on both.
17374 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
17375 (gst_value_copy_list_or_array): Renamed from copy_list.
17376 (gst_value_free_list_or_array): Renamed from free_list.
17377 (gst_value_collect_list_or_array): Renamed from collect_list.
17378 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
17379 (gst_value_list_or_array_peek_pointer): Renamed from
17381 (_gst_value_array_value_table, _gst_value_list_value_table):
17382 Update value table functions.
17383 (gst_value_compare_list_or_array): Renamed from compare_list.
17385 * gsttaglist.h: Whoops, foreach function returns void. Also fix
17388 * gst/gsttaglist.c:
17389 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
17390 GstTagList*. Fixes #143472.
17392 * gst/gststructure.h: Clarify what the foreach/map functions can
17393 or can't do to their arguments.
17395 2005-11-18 Wim Taymans <wim@fluendo.com>
17397 * gst/gstclock.c: (gst_clock_set_calibration),
17398 (gst_clock_get_calibration):
17400 Calibration can be set with internal time equal to current
17403 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
17409 2005-11-18 Andy Wingo <wingo@pobox.com>
17412 * pkgconfig/gstreamer-net.pc.in:
17413 * pkgconfig/gstreamer-net-uninstalled.pc.in:
17414 * pkgconfig/Makefile.am: Add net pkgconfig files.
17416 2005-11-18 Stefan Kost <ensonic@users.sf.net>
17419 * gst/gstghostpad.c:
17425 2005-11-18 Andy Wingo <wingo@pobox.com>
17427 * gst/net/gstnetclientclock.c: Turn off debugging.
17429 * check/net/gstnetclientclock.c (test_functioning): Assert that the
17430 times connverge somewhat. Can't make a real test.
17432 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
17433 integer arithmetic. Return the minimum of the domain, which can be
17434 set as "internal" for gst_clock_set_calibration.
17435 (gst_net_client_clock_observe_times): Call _set_calibration.
17436 (gst_net_client_clock_new): Call _set_calibration instead of
17439 * check/net/gstnetclientclock.c (test_functioning): Use the right
17443 * gst/gstclock.c (gst_clock_get_calibration)
17444 (gst_clock_set_calibration): New functions, obsolete the ones I
17445 added yesterday. Doh. Precision issues mean we have to extrapolate
17446 from a point in the more recent past than 1970.
17447 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
17449 (gst_clock_adjust_unlocked): Use the right calibration data.
17451 2005-11-18 Edward Hervey <edward@fluendo.com>
17453 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17454 Also reset the ->current_* values in READY->PAUSED
17456 2005-11-18 Andy Wingo <wingo@pobox.com>
17458 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
17459 Whoops, check the right fd. Also add some debugging.
17460 (gst_net_client_clock_observe_times): Adjust for int64 offset.
17461 (do_linear_regression): Add a crapload of debugging. Subtract off
17462 the minimum values from the input series to discard unneeded bits.
17463 Use only int arithmetic. There is still double arithmetic when
17464 calculating the intercept that needs fixing. Return boolean to
17465 indicate success; FALSE would mean the domain or range is too
17466 great. Still needs fixes.
17468 2005-11-18 Wim Taymans <wim@fluendo.com>
17470 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
17471 For the current position in stream time, we need to subtract
17474 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
17475 Release lock before calling the callback function of async
17478 2005-11-18 Andy Wingo <wingo@pobox.com>
17480 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
17481 Port goes all the way to MAXUINT16.
17483 * gst/net/gstnettimeprovider.c: Make the port range the same as
17484 for the kernel: 0 assigns, otherwise ports are less than
17487 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
17490 * check/net/gstnetclientclock.c (test_functioning): Add the start
17493 2005-11-18 Wim Taymans <wim@fluendo.com>
17495 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17496 (gst_bin_remove_func), (bin_bus_handler):
17498 Removing a clock provider from a bin, triggers a clock lost message
17499 so that a new clock will be selected.
17500 Adding a clock to a bin triggers a clock provider message.
17501 Make sure we reselect a clock when we received a clock lost message.
17502 Keep a reference to the element that provided the clock.
17504 2005-11-18 Andy Wingo <wingo@pobox.com>
17506 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
17507 the clock initially so it produces values around the base time.
17508 (gst_net_client_clock_class_init): Typo fix.
17509 (gst_net_client_clock_thread): Add note on when the socket gets
17512 2005-11-17 Wim Taymans <wim@fluendo.com>
17514 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
17515 Free remote and local time arrays.
17517 2005-11-17 Wim Taymans <wim@fluendo.com>
17519 * gst/net/gstnetclientclock.c: (do_linear_regression),
17520 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
17521 Fix compilation, uninitialized vars and a forgotten continue.
17523 2005-11-17 Andy Wingo <wingo@pobox.com>
17525 * check/Makefile.am (check_PROGRAMS):
17526 * check/net/gstnetclientclock.c: Add a most minimal test for the
17527 net client clock. More to come later.
17529 * gst/net/gstnet.h:
17530 * gst/net/Makefile.am: Add netclientclock.
17532 * gst/net/gstnetclientclock.h:
17533 * gst/net/gstnetclientclock.c: New files, implement an untested
17534 GstClock that takes its time from a network time provider.
17535 Implements the algorithm in network-clock.scm.
17537 * tests/network-clock.scm (*window-size*): Rename from
17539 * tests/network-clock.scm (network-time):
17540 * tests/network-clock-utils.scm (q-push): Update callers.
17542 2005-11-17 Wim Taymans <wim@fluendo.com>
17544 * gst/gstbin.c: (gst_bin_provide_clock_func),
17545 (gst_bin_sort_iterator_new):
17546 And unref the child too..
17548 2005-11-17 Wim Taymans <wim@fluendo.com>
17550 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17551 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
17552 Refactor the sort iterator so it can be used while holding the
17554 Make clock selection select a clock closest to the source.
17556 2005-11-17 Michael Smith <msmith@fluendo.com>
17558 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
17559 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
17561 Anonymous structs are a gcc (and some other compilers) extension, so
17562 don't use them. Since this is only for ABI-compatibility, and our
17563 API/ABI freeze is over in a few days, this whole thing will only
17564 last a few days, so don't bother trying to think up a meaningful
17565 name for the struct.
17567 2005-11-17 Andy Wingo <wingo@pobox.com>
17569 * gst/gstclock.h (GstClock): Add rate and offset properties,
17570 preserving ABI stability. Add rate/offset accessors. Will file bug
17571 for the freeze break.
17573 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
17574 and offset, trying to keep precision and avoiding
17575 underflow/overflow.
17576 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
17577 functions. Make gst_clock_set_time_adjust obsolete.
17578 (gst_clock_set_time_adjust): Note that this function is obsolete.
17579 Will file bug soon.
17581 * gst/base/gstbasetransform.h: Make the ABI-stability hack
17582 greppable by using GST_PADDING-1+1.
17584 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
17586 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
17588 * gst/gstmessage.c: (gst_message_parse_clock_lost):
17589 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
17591 * gst/gstpadtemplate.h:
17592 * gst/gstpluginfeature.h:
17593 Don't use c++ style comments in headers (#321638).
17595 2005-11-16 Andy Wingo <wingo@pobox.com>
17597 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
17600 * check/net/gstnettimeprovider.c: Check to see that the time
17601 provider actually provides times. Works, yo!
17603 2005-11-16 Wim Taymans <wim@fluendo.com>
17605 * check/Makefile.am:
17608 * check/elements/fakesrc.c: (GST_START_TEST):
17609 Set element to NULL before disposing it.
17611 2005-11-16 Andy Wingo <wingo@pobox.com>
17613 * gst/net/Makefile.am:
17614 * gst/net/gstnet.h:
17615 * gst/net/gstnettimeprovider.c:
17616 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
17617 provider, include it from gstnet.h, and add it to the build.
17619 * gst/net/gstnettimepacket.h:
17620 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
17621 sending and receiving.
17623 2005-11-16 Wim Taymans <wim@fluendo.com>
17625 * check/Makefile.am:
17626 Enable valgrind check.
17628 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
17629 (gst_fake_src_alloc_buffer):
17632 2005-11-16 Wim Taymans <wim@fluendo.com>
17634 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
17635 Call parent finalize too.
17637 2005-11-16 Wim Taymans <wim@fluendo.com>
17639 * check/Makefile.am:
17640 Enable valgrind check that should work fine now.
17642 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17643 * gst/gstqueue.c: (gst_queue_init):
17644 Fix memleaks in pad allocation.
17646 2005-11-16 Andy Wingo <wingo@pobox.com>
17648 * gst/net/Makefile.am:
17649 * gst/net/gstnet.h: New part of core to hold network elements and
17650 objects. Put in core because it exposes API that applications want
17651 to use. The library is named libgstnet-tempname right now because
17652 of the existing libgstnet in gst-plugins-base. Solution is
17653 probably to rename the one in plugins-base; will file a bug for
17656 * gst/net/gstnettimeprovider.c:
17657 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
17658 get_time call over the network.
17661 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
17663 * check/Makefile.am:
17664 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
17665 get additions shortly.
17667 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
17669 * gst/gstpad.c: (gst_pad_new_from_static_template):
17671 add gst_pad_new_from_static_template functions
17672 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
17673 (gst_check_setup_sink_pad):
17674 * gst/elements/gsttee.c: (gst_tee_init):
17677 2005-11-16 Wim Taymans <wim@fluendo.com>
17679 * gst/gstpad.c: (gst_pad_pause_task):
17680 Removed warning, it's not really an error either.
17682 2005-11-16 Wim Taymans <wim@fluendo.com>
17684 * gst/base/gstbasetransform.c:
17685 (gst_base_transform_prepare_output_buf),
17686 (gst_base_transform_event):
17687 Check if the caps are NULL, this can happen if the element
17688 is shutting down and the pad caps are set to NULL.
17690 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
17692 * gst/elements/gsttee.c: (gst_tee_init):
17693 fix pad template leak in tee
17695 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
17697 * gst/glib-compat.c: (g_value_dup_gst_object):
17698 * gst/glib-compat.h:
17699 * gst/gstpad.c: (gst_pad_set_property):
17700 use gst_object_ref when setting the pad template; this will
17701 trigger the pad template leaks on GLib 2.6 and the slaves
17703 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
17705 * gst/glib-compat.c: (gst_flags_get_first_value):
17706 * gst/glib-compat.h:
17707 * gst/gstregistryxml.c:
17708 remove functions copied from GLib 2.6
17710 2005-11-16 Michael Smith <msmith@fluendo.com>
17713 Don't link against VALGRIND_LIBS. That was always the wrong thing to
17714 do, but only breaks with newer valgrind versions. We're not a
17715 valgrind tool, we have no link-time dependencies on libcoregrind.
17717 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
17719 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17721 * gst/gstmessage.h:
17724 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
17726 * gst/base/gstbasesrc.c: (gst_base_src_init):
17727 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17728 * gst/gstqueue.c: (gst_queue_init):
17729 * gst/gstregistryxml.c: (load_feature):
17730 Revert all these unrefs, they don't even pass make check !
17732 2005-11-15 Johan Dahlin <johan@gnome.org>
17734 * gst/base/gstbasesrc.c: (gst_base_src_init):
17735 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17736 * gst/gstqueue.c: (gst_queue_init):
17737 Free pad templates, fixes a couple of leaks.
17739 2005-11-15 Daniel Fischer <dan at f3c dot com>
17741 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
17743 * gst/gstpad.c: (gst_pad_get_property):
17744 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
17745 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
17748 2005-11-15 Wim Taymans <wim@fluendo.com>
17753 2005-11-15 Andy Wingo <wingo@pobox.com>
17755 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
17757 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
17758 using GST_CLOCK_TIME_NONE to disable base time management.
17759 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
17760 time if it was NONE before.
17761 (gst_pipeline_change_state): Only munge the base time if
17762 stream_time != GST_CLOCK_TIME_NONE.
17764 * check/gst/gstpipeline.c (test_base_time): Punt around the
17765 problem of the probe not being called, because that's not the
17766 issue I'm looking at. Add a check that setting stream_time to NONE
17767 disables base time management.
17769 2005-11-15 Wim Taymans <wim@fluendo.com>
17771 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17772 segment_stop == -1 at startup.
17774 * gst/base/gstbasetransform.c: (gst_base_transform_event),
17775 (gst_base_transform_change_state):
17776 Init segment values at start.
17778 2005-11-15 Wim Taymans <wim@fluendo.com>
17780 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17781 0 segment values are 0 in any format.
17783 * gst/base/gstbasetransform.c: (gst_base_transform_event):
17784 * gst/base/gstbasetransform.h:
17785 Parse newsegment correctly in basetransform
17787 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17788 Sync to clock using updated segment values.
17790 2005-11-15 Andy Wingo <wingo@pobox.com>
17792 * check/gst/gstpipeline.c (test_base_time): Add check that the
17793 base time and stream time are reset correctly.
17795 2005-11-15 Wim Taymans <wim@fluendo.com>
17797 * docs/design/part-TODO.txt:
17798 Some more TODO items.
17800 2005-11-15 Andy Wingo <wingo@pobox.com>
17802 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
17803 error if the user selected "no clock" as the clocking method.
17805 * check/gst/gstpipeline.c (test_base_time): New test for buffer
17806 timestamps with live capture.
17808 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
17809 is 0 but we are a live source, timestamp the buffers using the
17812 2005-11-14 Stefan Kost <ensonic@users.sf.net>
17814 * docs/gst/gstreamer-sections.txt:
17816 * gst/gstghostpad.c:
17821 2005-11-14 Wim Taymans <wim@fluendo.com>
17824 add suppressions from Wim's Debian machine
17826 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
17829 add suppressions from Andy's AMD64 Ubuntu machine
17831 2005-11-14 Andy Wingo <wingo@pobox.com>
17833 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
17834 STATE_LOCK not necessary. Fixes #311489.
17836 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
17839 * gst/gstindex.c (gst_index_add_object): Note in the docs that
17840 this function is not implemented.
17842 2005-11-14 Julien MOUTTE <julien@moutte.net>
17844 * gst/base/gstbasetransform.c:
17845 (gst_base_transform_prepare_output_buf):
17846 Ref the source pad caps while we need them.
17849 2005-11-11 Wim Taymans <wim@fluendo.com>
17851 * docs/gst/gstreamer-sections.txt:
17852 Added some docs for GstCollectData.
17854 * gst/base/gstadapter.c:
17855 Some small code example fix.
17857 * gst/base/gstcollectpads.c:
17858 * gst/base/gstcollectpads.h:
17859 Document some more.
17861 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
17863 * configure.ac: back to HEAD
17865 === release 0.9.5 ===
17867 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
17870 releasing 0.9.5, "Bike Lunch Day"
17872 2005-11-11 Wim Taymans <wim@fluendo.com>
17874 * gst/gstbuffer.c: (_gst_buffer_copy):
17877 * gst/gstcaps.c: (gst_caps_is_equal):
17879 Make _is_equal fast in the trivial cases.
17881 * gst/gstminiobject.c:
17882 * gst/gstminiobject.h:
17883 More docs. Spifify .h file.
17888 2005-11-11 Wim Taymans <wim@fluendo.com>
17890 * gst/base/gstbasetransform.c:
17891 (gst_base_transform_prepare_output_buf),
17892 (gst_base_transform_handle_buffer):
17894 If we're processing a buffer and need to allocate an output
17895 buffer, we cannot accept a format change. If we did get a
17896 format change, we have to alloc a buffer ourselves of the
17899 2005-11-11 Wim Taymans <wim@fluendo.com>
17901 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
17902 While checking the flag for reentrancy in the gstcaps function
17903 is nice to detect recursive invocations, it also makes it
17904 impossible to call getcaps from multiple threads, which must be
17905 possible. So, checking for recursive calls has to go.
17907 2005-11-11 Michael Smith <msmith@fluendo.com>
17909 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17910 Don't sync on buffers that fall partially outside our current
17911 segment. Prevents an assertion failure/abort playing some files.
17913 2005-11-10 Andy Wingo <wingo@pobox.com>
17915 * check/gst/gstbin.c (test_message_state_changed_children): Style
17918 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
17919 gst_bus_poll with the signal watch. Ensures that poll and a signal
17920 watch see the same messages.
17922 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
17923 a poll and a watch at the same time get the same messages.
17925 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
17927 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
17928 * gst/gstcaps.c: (gst_caps_intersect):
17929 Don't call gst_caps_do_simplify - it doesn't respect order of caps
17930 and it's not needed.
17932 2005-11-10 Wim Taymans <wim@fluendo.com>
17934 * docs/design/part-TODO.txt:
17937 2005-11-10 Wim Taymans <wim@fluendo.com>
17939 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17940 * gst/base/gstbasesrc.c: (gst_base_src_wait),
17941 (gst_base_src_do_sync), (gst_base_src_get_range):
17942 Implement clock sync in base class.
17944 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
17946 patch by: Tim-Philipp Müller <tim at centricular dot net>
17948 * gst/gststructure.c: (gst_structure_parse_field),
17949 (gst_structure_from_string):
17950 Forward-port a 0.8 patch to handle escaped spaces in structure string,
17951 so that gst_parse_launch() can deal with spaces in filtered link
17952 caps (fixes #164479)
17953 * check/gst/capslist.h:
17954 * check/gst/gststructure.c: (GST_START_TEST):
17955 add unit tests for this change
17957 2005-11-10 Wim Taymans <wim@fluendo.com>
17959 * docs/gst/gstreamer-sections.txt:
17960 * gst/gstelement.c:
17961 * gst/gstelement.h:
17962 Fix docs, move some STATE macros to private.
17964 2005-11-10 Wim Taymans <wim@fluendo.com>
17966 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
17967 Added check for bug #317341
17971 Some more spiffifying.
17973 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
17974 Call peer linkfunction if we are a source pad. Totally fixes
17978 Update docs, source pads should call the peer linkfunction
17979 so they can atomically perform the pad link.
17981 2005-11-09 Wim Taymans <wim@fluendo.com>
17985 Uber-spiffy-spiffify some more.
17987 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
17989 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
17990 * gst/elements/gstfilesink.c: (gst_file_sink_init):
17991 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17992 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
17993 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
17994 * gst/gstpad.c: (gst_pad_init):
17995 Use GST_DEBUG_FUNCPTR() more extensively.
17997 2005-11-09 Wim Taymans <wim@fluendo.com>
17999 * gst/gstobject.c: (gst_object_class_init):
18001 Documentation fixes.
18003 2005-11-09 Edward Hervey <edward@fluendo.com>
18005 * gst/gsttypefindfactory.c:
18008 2005-11-09 Edward Hervey <edward@fluendo.com>
18010 * gst/base/gsttypefindhelper.c:
18011 * gst/gsttypefind.c:
18012 * gst/gsttypefind.h:
18015 2005-11-09 Wim Taymans <wim@fluendo.com>
18017 * gst/gstiterator.c:
18024 2005-11-09 Wim Taymans <wim@fluendo.com>
18030 2005-11-09 Wim Taymans <wim@fluendo.com>
18032 * docs/gst/gstreamer-sections.txt:
18033 Moved the message async delivery private lock and cond
18034 to the private section.
18036 * gst/gstmessage.c:
18037 * gst/gstmessage.h:
18040 2005-11-09 Edward Hervey <edward@fluendo.com>
18042 * docs/gst/gstreamer-sections.txt:
18045 Document GstURIHandler
18047 2005-11-09 Wim Taymans <wim@fluendo.com>
18049 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
18050 (gst_iterator_find_custom):
18051 * gst/gstiterator.h:
18054 2005-11-09 Wim Taymans <wim@fluendo.com>
18057 Document another field.
18059 * gst/gststructure.c:
18060 * gst/gststructure.h:
18063 2005-11-09 Wim Taymans <wim@fluendo.com>
18066 Documented structs.
18068 2005-11-09 Wim Taymans <wim@fluendo.com>
18070 * docs/gst/gstreamer-sections.txt:
18071 Added some new macros.
18078 2005-11-09 Wim Taymans <wim@fluendo.com>
18080 * docs/design/part-TODO.txt:
18081 Some more items for the TODO
18087 2005-11-09 Andy Wingo <wingo@pobox.com>
18089 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
18090 to work on something else now tho...
18092 * gst/base/gstadapter.c: More adapter docs.
18094 * gst/elements/gstfilesink.c (gst_file_sink_start)
18095 (gst_file_sink_stop): New functions, replace the state change
18097 (gst_file_sink_class_init): Hook up the start and stop functions.
18098 (gst_file_sink_base_init): Don't set the state change handler any
18099 more. It was a bit ugly too, being set from here...
18100 (gst_file_sink_get_property, gst_file_sink_set_property):
18102 (gst_file_sink_set_location): More robust check that doesn't call
18103 GST_STATE. Ugggggg.
18105 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
18107 * gst/base/gstbasetransform.c: (gst_base_transform_event):
18108 Hold STREAM_LOCK while pushing newsegment or tag events as well.
18110 2005-11-08 Wim Taymans <wim@fluendo.com>
18112 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
18113 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
18114 (gst_base_sink_chain), (gst_base_sink_change_state):
18115 * gst/base/gstbasesink.h:
18116 * gst/base/gstbasesrc.h:
18117 * gst/gstelement.h:
18119 Avoid excessive typechecking in macros.
18121 * gst/gstminiobject.c: (gst_mini_object_get_type),
18122 (gst_mini_object_init), (gst_mini_object_new),
18123 (gst_mini_object_free):
18124 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18125 (gst_object_finalize):
18126 Remove cruft code, optimize alloc_trace.
18128 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
18130 * docs/faq/gst-uninstalled:
18131 fix up PS1 for systems that try to reset it
18133 2005-11-07 Wim Taymans <wim@fluendo.com>
18135 * gst/base/gstbasesrc.c: (gst_base_src_init),
18136 (gst_base_src_get_range):
18137 Set the segment_end to -1 initially. Fixed typefind.
18139 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
18141 * gst/base/gstadapter.c:
18142 Debug category should be 'adapter', not 'GstAdapter'.
18144 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
18145 (gst_collectpads_class_init), (gst_collectpads_init),
18146 (gst_collectpads_peek), (gst_collectpads_pop),
18147 (gst_collectpads_event), (gst_collectpads_chain):
18148 Add debug category and some debugging output. Use boilerplate
18149 macros. Remove some extraneous words from docs.
18151 2005-11-05 Andy Wingo <wingo@pobox.com>
18153 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
18156 2005-11-04 Stefan Kost <ensonic@users.sf.net>
18158 * docs/gst/gstreamer-sections.txt:
18161 * gst/gstminiobject.h:
18166 2005-11-04 Wim Taymans <wim@fluendo.com>
18168 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18169 Small update to stop at the configured segment_end
18172 2005-11-04 Stefan Kost <ensonic@users.sf.net>
18174 * gst/gstregistry.c:
18175 * gst/gstregistry.h:
18178 2005-11-04 Edward Hervey <edward@fluendo.com>
18180 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18181 Check if we are doing a segment seek and have arrived at the
18182 end of that segment.
18184 2005-11-04 Wim Taymans <wim@fluendo.com>
18186 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
18187 Don't leak a mutex unlock in case of an error.
18192 2005-11-04 Wim Taymans <wim@fluendo.com>
18194 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
18196 Get the context to wake up only once.
18198 2005-11-03 Wim Taymans <wim@fluendo.com>
18200 * check/states/sinks.c: (GST_START_TEST):
18201 Uncomment fixed check.
18203 * docs/design/part-TODO.txt:
18206 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18207 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
18208 (gst_base_sink_get_position):
18209 If we are going to PLAYING, post the right pending state
18210 when we post the intermediate paused message.
18212 * gst/gstelement.c: (gst_element_continue_state),
18213 (gst_element_set_state_func), (gst_element_change_state):
18214 Don't post state changes that were between the same state
18215 and were not ASYNC.
18217 2005-11-03 Stefan Kost <ensonic@users.sf.net>
18219 * docs/gst/gstreamer-sections.txt:
18222 * gst/gstminiobject.h:
18225 more docs and doc style fixes
18227 2005-11-03 Stefan Kost <ensonic@users.sf.net>
18229 * docs/gst/gstreamer-sections.txt:
18230 * gst/gstelement.c:
18231 * gst/gstminiobject.c:
18234 2005-11-03 Andy Wingo <wingo@pobox.com>
18236 * check/states/sinks.c (test_livesrc_sink): Add checks that the
18237 state-changed messages actually have the right order and the right
18240 2005-11-03 Wim Taymans <wim@fluendo.com>
18242 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
18243 Added some more checks. Specifically the case where NO_PREROLL
18244 elements are in the pipeline.
18246 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18247 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
18248 (gst_base_sink_get_position):
18249 Post READY->PAUSED state change messages too.
18250 Fix bug where VOID was posted as pending state...
18252 * gst/gstbin.c: (gst_bin_recalc_state):
18253 use _element_continue_state() to continue the state change.
18255 * gst/gstelement.c: (gst_element_continue_state),
18256 (gst_element_commit_state), (gst_element_set_state_func),
18257 (gst_element_change_state), (gst_element_change_state_func):
18258 Lots of state change cleanups, assign the STATE_RETURN in
18259 a new continue_state() function that also propagates the
18260 last return value from a state change to the app.
18261 Update some debug statements with proper category.
18263 2005-11-03 Wim Taymans <wim@fluendo.com>
18265 * docs/design/part-events.txt:
18266 * docs/design/part-gstpipeline.txt:
18267 * docs/design/part-messages.txt:
18268 * docs/design/part-overview.txt:
18269 * docs/design/part-seeking.txt:
18270 * docs/design/part-states.txt:
18271 * docs/design/part-trickmodes.txt:
18272 * docs/manual/advanced-position.xml:
18273 Small docs updates.
18276 People think !! is ugly, this looks better.
18278 * gst/gstpad.c: (gst_pad_set_blocked_async):
18279 Remove !! since it's fixed elsewhere now.
18281 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
18283 * gst/gstminiobject.h:
18285 Add !! to _FLAG_IS_SET macros to make the result boolean.
18287 2005-11-03 Edward Hervey <edward@fluendo.com>
18289 * gst/gstpad.c: (gst_pad_set_blocked_async):
18290 comparing a flag and a gboolean rarely returns coherent results...
18291 Added two characters (!!) to make that work correctly.
18293 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
18295 * gst/gstbus.c: (gst_bus_class_init):
18298 * gst/gstqueue.c: (gst_queue_loop):
18299 Don't assume a miniobject that isn't a buffer is an
18300 event (it could be that there is a refcounting
18301 problem somewhere and the pointer is stale and
18302 refers to an already destroyed miniobject).
18304 2005-11-03 Julien MOUTTE <julien@moutte.net>
18306 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
18308 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
18310 * docs/manual/advanced-position.xml:
18311 Update seek example and explanations to current 0.9 API.
18313 * gst/elements/gsttypefindelement.c:
18314 (gst_type_find_element_activate):
18315 Remove FIXME comment now that the found caps
18318 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
18320 * gst/gstregistryxml.c: (load_feature):
18321 Add another GST_STR_NULL instance
18323 2005-11-02 Edward Hervey <edward@fluendo.com>
18325 * gst/gstpad.c: (handle_pad_block):
18326 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
18328 2005-11-02 Wim Taymans <wim@fluendo.com>
18333 * gst/gstelement.c: (gst_element_commit_state):
18334 Remove unused value.
18336 * gst/gstiterator.c:
18337 Mention that the returned element is reffed in the docs.
18339 2005-11-02 Wim Taymans <wim@fluendo.com>
18341 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
18342 (gst_pad_push), (gst_pad_push_event):
18343 Unlock blocked pads when they are flushed.
18345 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
18348 * docs/gst/gstreamer-sections.txt:
18351 * gst/gstregistry.c: (gst_registry_scan_path_level):
18352 fix for a nasty little missed situation where an installed plug-in
18353 which was in the cache did not get overridden by an uninstalled one
18354 which was earlier in the plugin path because the newly created plugin
18355 for the uninstalled one (not in the registry) didn't get its
18356 ->registered set to TRUE
18358 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
18360 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
18361 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
18362 (gst_collectpads_is_active), (gst_collectpads_collect),
18363 (gst_collectpads_collect_range), (gst_collectpads_start),
18364 (gst_collectpads_stop), (gst_collectpads_peek),
18365 (gst_collectpads_pop), (gst_collectpads_available),
18366 (gst_collectpads_read), (gst_collectpads_flush):
18367 Guard public API with assertions.
18370 Fix docs for gst_pad_set_link_function().
18372 2005-11-02 Johan Dahlin <johan@gnome.org>
18374 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
18375 Unref found_caps after we used it.
18377 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
18379 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
18380 Don't try to ref NULL.
18382 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
18384 * win32/common/config.h.in:
18385 provide a GST_FUNCTION that just gives a string for now
18387 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
18389 * win32/common/gstenumtypes.c: (register_gst_object_flags),
18390 (gst_object_flags_get_type), (register_gst_bin_flags),
18391 (gst_bin_flags_get_type), (register_gst_buffer_flag),
18392 (gst_buffer_flag_get_type), (register_gst_bus_flags),
18393 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
18394 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
18395 (gst_clock_return_get_type), (register_gst_clock_entry_type),
18396 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
18397 (gst_clock_flags_get_type), (register_gst_state),
18398 (gst_state_get_type), (register_gst_state_change_return),
18399 (gst_state_change_return_get_type), (register_gst_state_change),
18400 (gst_state_change_get_type), (register_gst_element_flags),
18401 (gst_element_flags_get_type), (register_gst_core_error),
18402 (gst_core_error_get_type), (register_gst_library_error),
18403 (gst_library_error_get_type), (register_gst_resource_error),
18404 (gst_resource_error_get_type), (register_gst_stream_error),
18405 (gst_stream_error_get_type), (register_gst_event_type),
18406 (gst_event_type_get_type), (register_gst_seek_type),
18407 (gst_seek_type_get_type), (register_gst_seek_flags),
18408 (gst_seek_flags_get_type), (register_gst_format),
18409 (gst_format_get_type), (register_gst_index_certainty),
18410 (gst_index_certainty_get_type), (register_gst_index_entry_type),
18411 (gst_index_entry_type_get_type),
18412 (register_gst_index_lookup_method),
18413 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
18414 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
18415 (gst_index_resolver_method_get_type), (register_gst_index_flags),
18416 (gst_index_flags_get_type), (register_gst_debug_level),
18417 (gst_debug_level_get_type), (register_gst_debug_color_flags),
18418 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
18419 (gst_iterator_result_get_type), (register_gst_iterator_item),
18420 (gst_iterator_item_get_type), (register_gst_message_type),
18421 (gst_message_type_get_type), (register_gst_mini_object_flags),
18422 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
18423 (gst_pad_link_return_get_type), (register_gst_flow_return),
18424 (gst_flow_return_get_type), (register_gst_activate_mode),
18425 (gst_activate_mode_get_type), (register_gst_pad_direction),
18426 (gst_pad_direction_get_type), (register_gst_pad_flags),
18427 (gst_pad_flags_get_type), (register_gst_pad_presence),
18428 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
18429 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
18430 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
18431 (gst_plugin_error_get_type), (register_gst_plugin_flags),
18432 (gst_plugin_flags_get_type), (register_gst_rank),
18433 (gst_rank_get_type), (register_gst_query_type),
18434 (gst_query_type_get_type), (register_gst_tag_merge_mode),
18435 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
18436 (gst_tag_flag_get_type), (register_gst_task_state),
18437 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
18438 (gst_alloc_trace_flags_get_type),
18439 (register_gst_type_find_probability),
18440 (gst_type_find_probability_get_type), (register_gst_uri_type),
18441 (gst_uri_type_get_type), (register_gst_parse_error),
18442 (gst_parse_error_get_type):
18443 * win32/common/gstversion.h:
18444 update win32 copies
18446 2005-11-01 Luca Ognibene <luogni@tin.it>
18449 fix docs. popt is dead, long live GOption.
18451 2005-10-31 Wim Taymans <wim@fluendo.com>
18456 2005-10-31 Andy Wingo <wingo@pobox.com>
18460 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
18462 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
18463 need to serialize property notifications on GLib 2.8. GLib 2.6 has
18464 the possibility of deadlocks here if code calling notify() or
18465 set() has a lock that can be taken in another notify handler (ABBA
18466 with class lock and e.g. python GIL state lock).
18468 2005-10-28 Julien MOUTTE <julien@moutte.net>
18470 * gst/gstbus.c: Doc updates.
18472 2005-10-28 Wim Taymans <wim@fluendo.com>
18474 * docs/design/part-TODO.txt:
18475 * gst/gstiterator.c:
18476 * gst/gstsystemclock.c:
18477 * gst/gstsystemclock.h:
18480 2005-10-28 Edward Hervey <edward@fluendo.com>
18482 * docs/gst/gstreamer-docs.sgml:
18483 * docs/gst/gstreamer-sections.txt:
18484 the GstURIType documentation page is private, it only defines GstURIType
18485 which should be defined in the GstURIHandler page
18487 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
18489 * gst/gstbin.c: (gst_bin_class_init):
18492 Documentation updates.
18494 2005-10-28 Wim Taymans <wim@fluendo.com>
18496 * docs/gst/gstreamer-sections.txt:
18499 Documented the clocks.
18501 2005-10-28 Stefan Kost <ensonic@users.sf.net>
18503 * docs/gst/gstreamer-sections.txt:
18504 move some macros to private sections
18505 * gst/gstminiobject.c:
18506 * gst/gstminiobject.h:
18507 add descriptions provided by ds and some more
18509 mark macro as to be removed
18511 2005-10-28 Wim Taymans <wim@fluendo.com>
18513 * docs/design/part-TODO.txt:
18514 Add an item to TODO.
18516 * gst/gstiterator.c: (gst_iterator_fold),
18517 (gst_iterator_find_custom):
18518 * gst/gstiterator.h:
18521 2005-10-28 Wim Taymans <wim@fluendo.com>
18523 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
18524 (gst_base_transform_init):
18527 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
18528 An EOS event marks the queue as completely filled.
18530 2005-10-27 Wim Taymans <wim@fluendo.com>
18532 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18533 (gst_base_sink_do_sync), (gst_base_sink_get_position):
18534 Some more debugging.
18536 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
18537 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
18538 (gst_base_transform_event), (gst_base_transform_getrange),
18539 (gst_base_transform_chain):
18540 * gst/base/gstbasetransform.h:
18542 Protect transform and concurrent buffer alloc with a new lock.
18543 Try not to break ABI/API.
18545 2005-10-27 Wim Taymans <wim@fluendo.com>
18547 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18548 (gst_base_src_init), (gst_base_src_query),
18549 (gst_base_src_default_newsegment),
18550 (gst_base_src_configure_segment), (gst_base_src_do_seek),
18551 (gst_base_src_send_event), (gst_base_src_event_handler),
18552 (gst_base_src_pad_get_range), (gst_base_src_loop),
18553 (gst_base_src_unlock), (gst_base_src_default_negotiate),
18554 (gst_base_src_start), (gst_base_src_deactivate),
18555 (gst_base_src_activate_push), (gst_base_src_change_state):
18556 Move some stuff around and cleanup things.
18558 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
18560 * gst/base/gstbasesrc.c: (gst_base_src_query):
18561 Add missing break statements.
18563 2005-10-27 Wim Taymans <wim@fluendo.com>
18565 * check/gst/gstbin.c: (GST_START_TEST):
18566 An extra refcount is taken in basesrc.
18568 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
18569 (gst_base_src_get_range), (gst_base_src_pad_get_range),
18570 (gst_base_src_loop):
18571 Small cleanups, check for flushing after being unlocked from the
18572 LIVE_LOCK. take refcounts correctly (not yet everywhere).
18573 Don't send out EOS when going to READY.
18575 2005-10-27 Wim Taymans <wim@fluendo.com>
18577 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18578 (gst_base_sink_get_position):
18581 * gst/gstbin.c: (message_check), (bin_replace_message),
18582 (bin_remove_messages), (is_eos), (gst_bin_add_func),
18583 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18584 (bin_query_duration_init), (bin_query_duration_fold),
18585 (bin_query_duration_done), (bin_query_generic_fold),
18587 * tools/gst-launch.c: (main):
18590 2005-10-26 Stefan Kost <ensonic@users.sf.net>
18592 * examples/controller/audio-example.c: (main):
18593 * examples/queue/queue.c: (event_loop):
18594 * gst/base/gstbasetransform.h:
18595 * gst/gstelement.c: (gst_element_send_event):
18597 * gst/gstpad.c: (gst_pad_send_event):
18600 changing log priority in error situations
18602 2005-10-25 Wim Taymans <wim@fluendo.com>
18604 * gst/gstbin.c: (message_check), (bin_replace_message),
18605 (bin_remove_messages), (is_eos), (gst_bin_add_func),
18606 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18607 (bin_query_duration_init), (bin_query_duration_fold),
18608 (bin_query_duration_done), (bin_query_generic_fold),
18610 Some doc and debug updates.
18611 Cache previously requested query DURATION for speed. invalidate
18612 cached duration if element posts a DURATION message.
18614 2005-10-25 Wim Taymans <wim@fluendo.com>
18616 * docs/design/part-TODO.txt:
18619 * gst/gstbin.c: (message_check), (bin_replace_message),
18620 (bin_remove_messages), (is_eos), (gst_bin_add_func),
18621 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18622 (bin_query_duration_init), (bin_query_duration_fold),
18623 (bin_query_duration_done), (bin_query_generic_fold),
18625 Handle SEGMENT_START/DONE messages correctly.
18626 More evolved query algorithm that handles duration queries
18629 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
18630 (gst_element_get_state_func), (gst_element_abort_state),
18631 (gst_element_commit_state), (gst_element_lost_state):
18632 Some more debugging.
18634 * gst/gstmessage.h:
18637 2005-10-25 Wim Taymans <wim@fluendo.com>
18639 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
18640 Don't use invalid stream_time.
18642 * gst/gstevent.c: (gst_event_new_newsegment):
18643 stream_time in newsegment cannot be undefined.
18645 2005-10-24 Wim Taymans <wim@fluendo.com>
18650 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18652 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
18654 2005-10-24 Stefan Kost <ensonic@users.sf.net>
18656 * docs/libs/tmpl/gstdparam.sgml:
18657 * docs/libs/tmpl/gstdplinint.sgml:
18658 * docs/libs/tmpl/gstdpman.sgml:
18659 * docs/libs/tmpl/gstdpsmooth.sgml:
18660 * docs/libs/tmpl/gstunitconvert.sgml:
18663 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
18668 === release 0.9.4 ===
18670 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
18673 releasing 0.9.4, "Tyrannosaurus Rex"
18675 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
18677 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
18678 (gst_file_sink_get_current_offset):
18679 Use fseeko() and ftello() if available. When falling back on
18680 lseek() to get the current offset, fflush() first to make sure
18681 everything is up-to-date and we get the right offset.
18683 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
18685 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18686 * gst/base/gstbasesrc.c: (gst_base_src_loop):
18687 * gst/gsterror.c: (_gst_stream_errors_init):
18689 * gst/gstqueue.c: (gst_queue_loop):
18691 remove prematurely added error category and clean up the instances
18693 2005-10-21 Wim Taymans <wim@fluendo.com>
18695 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18696 (gst_base_sink_get_position), (gst_base_sink_query),
18697 (gst_base_sink_change_state):
18698 Simply set the right flag when going to playing, that's all
18699 we need to do instead of calling a function inside the object
18700 lock (that could take the lock as well and deadlock)
18702 2005-10-21 Wim Taymans <wim@fluendo.com>
18704 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
18705 (gst_base_src_loop):
18706 Don't warn, the peer element knows what to do best when
18707 the seek failed, it might try something else.
18709 2005-10-21 Wim Taymans <wim@fluendo.com>
18711 * gst/base/gstbasesrc.c: (gst_base_src_init),
18712 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18715 2005-10-21 Wim Taymans <wim@fluendo.com>
18717 * docs/design/part-segments.txt:
18720 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18721 Correctly set caps, even on the subbufer.
18723 2005-10-21 Wim Taymans <wim@fluendo.com>
18725 * docs/gst/gstreamer-docs.sgml:
18726 * docs/gst/gstreamer-sections.txt:
18727 * gst/gstelement.h:
18730 * gst/gstmessage.h:
18733 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
18737 And 2% more doc coverage.
18739 2005-10-21 Andy Wingo <wingo@pobox.com>
18741 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
18742 position reporting.
18744 2005-10-20 Wim Taymans <wim@fluendo.com>
18746 * gst/gsterror.c: (gst_error_get_message):
18749 * gst/gststructure.c:
18754 2005-10-20 Wim Taymans <wim@fluendo.com>
18759 Another 1% more coverage.
18761 2005-10-20 Wim Taymans <wim@fluendo.com>
18763 * docs/gst/gstreamer-sections.txt:
18764 * gst/gstelement.c: (gst_element_get_state_func),
18765 (gst_element_abort_state), (gst_element_commit_state),
18766 (gst_element_lost_state):
18768 * gst/gstquery.c: (gst_query_set_position),
18769 (gst_query_parse_position), (gst_query_set_duration),
18770 (gst_query_parse_duration), (gst_query_new_convert):
18772 Yay! 1% more docs coverage.
18774 2005-10-20 Wim Taymans <wim@fluendo.com>
18777 * gst/gstquery.c: (gst_query_set_position),
18778 (gst_query_parse_position), (gst_query_set_duration),
18779 (gst_query_parse_duration), (gst_query_new_convert):
18781 * gst/gstutils.c: (gst_element_query_convert):
18783 Docs and consistency fixes.
18785 2005-10-20 Wim Taymans <wim@fluendo.com>
18791 2005-10-20 Wim Taymans <wim@fluendo.com>
18793 * gst/gstbin.c: (message_check), (bin_replace_message),
18794 (bin_remove_messages), (is_eos), (gst_bin_add_func),
18795 (update_degree), (gst_bin_sort_iterator_next),
18796 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
18797 Reworked the message handling a bit, cache the messages instead of
18798 only the senders. alows us to do more in the future.
18800 2005-10-20 Wim Taymans <wim@fluendo.com>
18802 * docs/design/part-TODO.txt:
18805 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18806 (gst_base_sink_query):
18807 Don't use clock time to report position when in EOS.
18809 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
18811 * tools/gst-inspect.c: (print_interfaces),
18812 (print_element_properties_info), (print_element_info):
18813 Fix interface output with gst-inspect -a; don't print
18814 newlines after double/float properties.
18816 2005-10-20 Wim Taymans <wim@fluendo.com>
18818 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18819 (gst_base_sink_query):
18820 Speed up current position calculation.
18822 * gst/base/gstbasesrc.c: (gst_base_src_query),
18823 (gst_base_src_default_newsegment):
18824 Correctly set stream position in newsegment.
18826 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
18827 (update_degree), (gst_bin_sort_iterator_next),
18828 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
18829 * gst/gstmessage.c: (gst_message_new_custom):
18830 Clean up debugging info
18832 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18833 (gst_queue_loop), (gst_queue_handle_src_query):
18836 2005-10-19 Wim Taymans <wim@fluendo.com>
18838 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18839 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18840 Fix query handling again.
18842 2005-10-19 Wim Taymans <wim@fluendo.com>
18844 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18845 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18846 * gst/base/gstbasesrc.c: (gst_base_src_query):
18847 * gst/elements/gstfilesink.c: (gst_file_sink_query):
18848 * gst/elements/gsttypefindelement.c:
18849 (gst_type_find_handle_src_query), (find_element_get_length),
18850 (gst_type_find_element_activate):
18853 * gst/gstquery.c: (gst_query_new_position),
18854 (gst_query_set_position), (gst_query_parse_position),
18855 (gst_query_new_duration), (gst_query_set_duration),
18856 (gst_query_parse_duration), (gst_query_set_segment),
18857 (gst_query_parse_segment):
18859 Bundling query position/duration is not a good idea since duration
18860 does not change much and we don't want to recalculate it for every
18861 position query, so they are separated again..
18862 Base value in segment query is not needed.
18864 * gst/gstqueue.c: (gst_queue_handle_src_query):
18865 * gst/gstutils.c: (gst_element_query_position),
18866 (gst_element_query_duration), (gst_pad_query_position),
18867 (gst_pad_query_duration):
18869 Updates for query API change.
18870 Added some docs here and there.
18872 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
18874 * check/gst/gstbin.c: (GST_START_TEST):
18875 * check/gst/gstghostpad.c: (GST_START_TEST):
18876 * check/pipelines/cleanup.c: (GST_START_TEST):
18877 wait on thread to die so we can check refcount correctly
18879 2005-10-18 Wim Taymans <wim@fluendo.com>
18881 * check/pipelines/stress.c: (GST_START_TEST):
18882 Make check a little more time consuming.
18884 2005-10-18 Wim Taymans <wim@fluendo.com>
18886 * check/Makefile.am:
18887 * check/pipelines/stress.c: (GST_START_TEST),
18888 (simple_launch_lines_suite), (main):
18889 Small state change torture test.
18891 * docs/design/part-states.txt:
18892 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18893 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
18894 (gst_base_sink_change_state):
18895 Never take state lock from streaming thread, clean up ugly
18896 hacks. Unfortunatly core does not yet support nice ways to
18897 async commit state.
18899 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
18901 Start state recalc if a STATE_DIRTY message is posted, but only
18902 on the toplevel bin.
18904 * gst/gstelement.c: (gst_element_sync_state_with_parent),
18905 (gst_element_get_state_func), (gst_element_abort_state),
18906 (gst_element_commit_state), (gst_element_lost_state),
18907 (gst_element_set_state_func), (gst_element_change_state):
18908 * gst/gstelement.h:
18909 State variables are now protected with the LOCK, the state
18910 lock is only used to serialize _set_state().
18912 2005-10-18 Wim Taymans <wim@fluendo.com>
18914 * check/gst/gstbin.c: (GST_START_TEST):
18915 * check/gst/gstmessage.c: (GST_START_TEST):
18916 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18917 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
18919 * gst/gstelement.c: (gst_element_abort_state),
18920 (gst_element_commit_state), (gst_element_lost_state):
18921 * gst/gstmessage.c: (gst_message_new_state_changed),
18922 (gst_message_new_state_dirty), (gst_message_new_segment_start),
18923 (gst_message_new_segment_done), (gst_message_new_duration),
18924 (gst_message_parse_state_changed),
18925 (gst_message_parse_segment_start),
18926 (gst_message_parse_segment_done), (gst_message_parse_duration):
18927 * gst/gstmessage.h:
18928 * tools/gst-launch.c: (event_loop):
18929 Seriously, this is better than a previous commit as we only need
18930 to notify the fact that an element changed state in a streaming
18931 thread, marking the state of the parents dirty, hence the
18932 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
18935 2005-10-18 Wim Taymans <wim@fluendo.com>
18937 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
18938 (gst_bin_recalc_func):
18939 * gst/gstelement.c: (gst_element_set_clock),
18940 (gst_element_abort_state), (gst_element_lost_state):
18941 Cleanups, prepare for state change fixes.
18943 2005-10-18 Wim Taymans <wim@fluendo.com>
18946 * gst/gstelement.c: (gst_element_class_init),
18947 (gst_element_set_state), (gst_element_set_state_func):
18948 * gst/gstelement.h:
18949 Pending ABI changes.
18950 GThreadPool in GstBinClass to monitor async state changes.
18951 state_cookie in GstElement to detect concurrent gst/set state.
18952 set_state is now virtual too in case a very complicated element
18953 has to be constructed.
18955 2005-10-18 Wim Taymans <wim@fluendo.com>
18957 * check/gst/gstbin.c: (GST_START_TEST):
18958 * check/gst/gstmessage.c: (GST_START_TEST):
18959 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18960 * gst/gstbin.c: (bin_bus_handler):
18961 * gst/gstelement.c: (gst_element_commit_state),
18962 (gst_element_lost_state):
18963 * gst/gstmessage.c: (gst_message_new_state_changed),
18964 (gst_message_new_segment_start), (gst_message_new_segment_done),
18965 (gst_message_new_duration), (gst_message_parse_state_changed),
18966 (gst_message_parse_segment_start),
18967 (gst_message_parse_segment_done), (gst_message_parse_duration):
18968 * gst/gstmessage.h:
18969 * tools/gst-launch.c: (event_loop):
18970 Make messages future proof.
18971 state-change gets a flag if it was a message comming from the
18973 segment-start/stop can also be specified in other formats.
18974 A message to notify an app that a pipeline changed playback
18976 Also fix a GstMessage leak in -launch
18978 2005-10-18 Andy Wingo <wingo@pobox.com>
18980 * gst/gstelement.c (gst_element_dispose): More helpful message.
18982 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
18984 reviewed by: <delete if not using a buddy>
18986 * common/gtk-doc.mak:
18988 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
18990 * gst/gstregistry.c: (gst_registry_scan_path_level):
18991 unref a plug-in we get that was already initialized
18993 2005-10-18 Stefan Kost <ensonic@users.sf.net>
18995 * docs/gst/gstreamer-sections.txt:
18996 * docs/libs/gstreamer-libs-sections.txt:
18997 * gst/gstelement.h:
18998 add new api entries
18999 hide internal macro
19001 2005-10-17 Andy Wingo <wingo@pobox.com>
19003 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
19006 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
19008 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
19010 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
19011 (gst_element_get_state_func): Better debug message.
19012 (gst_element_commit_state): s/INFO/DEBUG/.
19013 (gst_element_lost_state, gst_element_change_state):
19015 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
19016 (gst_message_new_custom): s/INFO/LOG/.
19018 2005-10-17 Michael Smith <msmith@fluendo.com>
19020 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19021 Check if end time is valid using end time, not start time.
19023 2005-10-17 Stefan Kost <ensonic@users.sf.net>
19025 * check/gst-libs/controller.c: (GST_START_TEST),
19026 (gst_controller_suite):
19027 * libs/gst/controller/gstcontroller.c:
19028 (gst_controlled_property_set_interpolation_mode):
19029 * libs/gst/controller/gstcontroller.h:
19030 * libs/gst/controller/gstinterpolation.c:
19031 * testsuite/controller/.cvsignore:
19032 * testsuite/controller/Makefile.am:
19033 * testsuite/controller/interpolator.c:
19034 merge controller testsuites
19036 remove mem-chunk from docs
19038 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
19040 * gst/gstmemchunk.c:
19041 * gst/gstmemchunk.h:
19042 * gst/gsttrashstack.c:
19043 * gst/gsttrashstack.h:
19044 out. get out. you're fired. to the Attic !
19046 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
19048 * gst/gstcaps.c: (gst_caps_intersect):
19049 fix signedness issues in a (hopefully) correct way
19050 * gst/gstelement.c: (gst_element_pads_activate):
19052 * gst/gstobject.c: (gst_object_set_parent):
19055 2005-10-17 Julien MOUTTE <julien@moutte.net>
19057 * gst/gstvalue.h: Fix prototypes.
19059 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
19061 * docs/gst/gstreamer-sections.txt:
19062 * gst/gst.c: (gst_version_string):
19064 * gst/gstversion.h.in:
19065 * win32/common/libgstreamer.def:
19066 add gst_version_string ()
19068 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
19072 * gst/gst.c: (init_post):
19073 * win32/common/config.h.in:
19075 * gst/gstcaps.c: (gst_caps_intersect):
19076 use gint64, the range could be bigger than a guint
19078 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
19081 document potential problem in 2038
19083 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
19085 * gst/gstcaps.c: (gst_caps_intersect):
19086 Fix guint j diving under 0
19088 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
19091 * win32/common/config.h:
19092 * win32/common/config.h.in:
19093 check for process.h, declares getpid() on Windows
19095 include process.h if we have it
19096 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
19097 * gst/gstmemchunk.h:
19098 fix signedness issues
19099 * win32/common/libgstreamer.def:
19102 2005-10-16 Julien MOUTTE <julien@moutte.net>
19104 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
19105 fix. Because of unsigned ints, caps intersection was going nuts and
19106 trying to access structures with G_MAXUINT index. That fixes
19107 videotestsrc ! ffmpegcolorspace ! fakesink
19108 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
19111 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
19114 use the gettext macro
19115 * gst/elements/gstelements.c:
19117 * gst/indexers/gstindexers.c:
19118 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
19119 * win32/common/config.h:
19121 * win32/common/config.h.in:
19122 add the template to generate config.h
19123 * win32/common/gstenumtypes.c:
19124 * win32/common/gstversion.h:
19127 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
19129 * gst/gst.c: (gst_version):
19130 * gst/gstversion.h.in:
19133 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
19136 Oops, add missing closing bracket.
19138 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19141 use common m4's for argument checking
19143 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
19145 * docs/gst/gstreamer-sections.txt:
19147 Add GST_EVENT_TYPE_NAME() macro.
19149 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19152 * gst/gstpluginfeature.c:
19154 privatize more symbols
19156 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19159 add srcdir, builddir includes to GST_ALL_CFLAGS, since
19160 everything that uses GStreamer API should have the includes
19162 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19164 * docs/gst/gstreamer-sections.txt:
19165 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
19167 give each value a _get_type, removes the DATA exports
19169 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19173 remove _gst_registry_auto_load, not used anymore
19174 * gst/gstbin.c: (gst_bin_get_type):
19176 * gst/gstelement.c: (gst_element_get_type):
19177 * gst/gstelement.h:
19178 * gst/gstobject.c: (gst_object_get_type):
19180 * gst/gstpad.c: (gst_pad_get_type):
19182 make _get_type functions similar, fixes data export from library
19184 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19187 correctly make conditionals
19188 * gst/elements/Makefile.am:
19189 * gst/elements/gstelements.c:
19190 fix typo causing fdsrc not to build
19192 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19194 * testsuite/Makefile.am:
19195 * testsuite/bytestream/.cvsignore:
19196 * testsuite/bytestream/Makefile.am:
19197 * testsuite/bytestream/filepadsink.c:
19198 * testsuite/bytestream/gstbstest.c:
19199 * testsuite/bytestream/test1.c:
19200 * testsuite/bytestream/testfile1:
19201 * testsuite/caps/normalisation.c:
19202 * testsuite/caps/random.c: (main):
19203 * testsuite/cleanup/.cvsignore:
19204 * testsuite/cleanup/Makefile.am:
19205 * testsuite/cleanup/cleanup1.c:
19206 * testsuite/cleanup/cleanup2.c:
19207 * testsuite/cleanup/cleanup3.c:
19208 * testsuite/cleanup/cleanup4.c:
19209 * testsuite/cleanup/cleanup5.c:
19210 * testsuite/controller/interpolator.c:
19211 * testsuite/debug/printf_extension.c: (main):
19212 * testsuite/elements/tee.c:
19213 * testsuite/negotiation/.cvsignore:
19214 * testsuite/negotiation/Makefile.am:
19215 * testsuite/negotiation/pad_link.c:
19216 * testsuite/pad/Makefile.am:
19217 * testsuite/pad/chainnopull.c:
19218 * testsuite/pad/getnopush.c:
19219 * testsuite/pad/link.c:
19220 * testsuite/refcounting/sched.c: (create_pipeline):
19221 * testsuite/registry/Makefile.am:
19222 * testsuite/registry/gst-print-formats.c:
19223 * testsuite/schedulers/.cvsignore:
19224 * testsuite/schedulers/142183-2.c:
19225 * testsuite/schedulers/142183.c:
19226 * testsuite/schedulers/143777-2.c:
19227 * testsuite/schedulers/143777.c:
19228 * testsuite/schedulers/147713.c:
19229 * testsuite/schedulers/147819.c:
19230 * testsuite/schedulers/147894-2.c:
19231 * testsuite/schedulers/147894.c:
19232 * testsuite/schedulers/Makefile.am:
19233 * testsuite/schedulers/group_link.c:
19234 * testsuite/schedulers/queue_link.c:
19235 * testsuite/schedulers/relink.c:
19236 * testsuite/schedulers/unlink.c:
19237 * testsuite/schedulers/unref.c:
19238 * testsuite/schedulers/useless_iteration.c:
19239 * testsuite/states/bin.c:
19240 clean out/remove some stuff from the testsuite directories
19242 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19245 check for some headers
19246 * gst/elements/Makefile.am:
19247 * gst/elements/gstelements.c:
19248 don't compile fdsrc without sys/socket.h
19249 * gst/indexers/Makefile.am:
19250 * gst/indexers/gstindexers.c: (plugin_init):
19251 don't compile fileindex without mmap
19253 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
19260 * check/Makefile.am:
19261 * docs/gst/Makefile.am:
19262 * examples/helloworld/Makefile.am:
19264 * gst/base/Makefile.am:
19265 * gst/check/Makefile.am:
19266 * gst/elements/Makefile.am:
19267 * gst/indexers/Makefile.am:
19268 * gst/parse/Makefile.am:
19269 * libs/gst/controller/Makefile.am:
19270 * libs/gst/dataprotocol/Makefile.am:
19271 * examples/helloworld/helloworld.c: (event_loop):
19272 compile fixes, though it's not being compiled currently
19274 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
19276 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
19277 Add some simple tests for the new taglist date API.
19279 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
19281 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
19282 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
19283 Beautify 'last-message' output: print 'none' for buffer timestamps
19284 and durations if none is set; improve alignment with next messages.
19286 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
19288 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
19289 * gst/gstpluginfeature.h:
19290 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
19291 * gst/gstregistry.h:
19292 * docs/gst/gstreamer-sections.txt:
19293 Add new API to check plugin feature version requirements.
19295 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
19296 Some basic tests for the above.
19298 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
19300 * gst/gststructure.c: (gst_structure_to_string):
19301 guard against NULL printf - happens when for example
19302 a message structure with GstClock gets serialized
19304 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
19306 * gst/base/gstcollectpads.c: (gst_collectpads_event):
19307 Fix presumable copy'n'pasto.
19309 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
19311 * gst/elements/gstfakesrc.h:
19312 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
19313 * gst/elements/gsttypefindelement.c:
19314 fix some signedness
19315 * gst/elements/gstfilesink.c: (gst_file_sink_render):
19316 I wonder if this could actually write +2GB files before
19318 2005-10-13 Andy Wingo <wingo@pobox.com>
19320 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
19321 Fix Timmeke Waymans bug.
19322 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
19323 string of the proper length to gst_caps_from_string. There's a
19324 potential for, before this fix, that this could cause someone
19325 connecting over the network to cause a segfault if the payload is
19326 not NUL-terminated.
19328 2005-10-13 Stefan Kost <ensonic@users.sf.net>
19330 * docs/design/draft-push-pull.txt:
19331 * docs/design/part-overview.txt:
19332 * docs/random/TODO-pre-0.9:
19333 * docs/random/old/ChangeLog.gstreamer:
19334 * gst/base/gstpushsrc.c:
19338 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
19340 * gst/glib-compat.c: (gst_flags_get_first_value):
19341 * gst/glib-compat.h:
19342 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
19343 (gst_value_compare_double), (gst_value_serialize_flags):
19344 GLib 2.6 g_flags_get_first_value has a bug that triggers an
19347 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
19349 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19350 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19352 * tools/gst-launch.c: (event_loop):
19353 print out clock nicely
19355 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
19357 * docs/gst/gstreamer-sections.txt:
19358 * gst/gsttaglist.h:
19359 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
19360 (gst_tag_list_get_date_index):
19361 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
19362 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
19364 2005-10-13 Julien MOUTTE <julien@moutte.net>
19366 * gst/base/gstcollectpads.c: (gst_collectpads_event),
19367 (gst_collectpads_chain):
19368 * gst/base/gstcollectpads.h: Handle newsegment and store informations
19371 2005-10-13 Stefan Kost <ensonic@users.sf.net>
19373 * docs/gst/gstreamer-sections.txt:
19376 * tools/gst-inspect.c: (main):
19377 * tools/gst-launch.c: (main):
19378 * tools/gst-run.c: (main):
19379 * tools/gst-xmlinspect.c: (main):
19380 fix GOption context leaks
19383 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
19387 * win32/common/config.h:
19389 * win32/vs6/grammar.dsp:
19390 * win32/vs6/libgstelements.dsp:
19391 * win32/vs6/libgstreamer.dsp:
19394 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
19396 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19397 * gst/base/gstbasesrc.c: (gst_base_src_query):
19398 fix more guint64<->gdouble conversions
19400 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
19403 add win32-update target
19404 * win32/common/gstconfig.h:
19405 * win32/common/gstenumtypes.c:
19406 * win32/common/gstenumtypes.h:
19407 * win32/common/gstversion.h:
19408 add files that visual studio can't generate
19410 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
19413 add a win32-update target
19416 2005-10-12 Wim Taymans <wim@fluendo.com>
19418 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
19419 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
19420 * gst/gstelement.c: (gst_element_commit_state),
19421 (gst_element_set_state):
19422 Protect flags with proper lock.
19423 unref provided cached clock in dispose.
19425 2005-10-12 Stefan Kost <ensonic@users.sf.net>
19428 * gst/gstminiobject.h:
19430 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
19431 removed unused flags from miniobject
19434 2005-10-12 Wim Taymans <wim@fluendo.com>
19436 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
19437 (gst_file_sink_event), (gst_file_sink_render):
19438 Flush before seeking.
19440 2005-10-12 Andy Wingo <wingo@pobox.com>
19442 * gst/gst.c (gst_init_check): Ignore unknown options, as has
19443 always been the case.
19445 2005-10-12 Stefan Kost <ensonic@users.sf.net>
19447 * check/gst/gstbin.c: (GST_START_TEST):
19448 * docs/gst/gstreamer-sections.txt:
19449 * gst/base/gstbasesink.c: (gst_base_sink_init):
19450 * gst/base/gstbasesrc.c: (gst_base_src_init),
19451 (gst_base_src_get_range), (gst_base_src_check_get_range),
19452 (gst_base_src_start), (gst_base_src_stop):
19453 * gst/base/gstbasesrc.h:
19454 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
19455 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
19456 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
19460 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
19462 * gst/gstelement.c: (gst_element_is_locked_state),
19463 (gst_element_set_locked_state), (gst_element_commit_state),
19464 (gst_element_set_state):
19465 * gst/gstelement.h:
19466 * gst/gstindex.c: (gst_index_init):
19468 * gst/gstminiobject.h:
19469 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
19470 (gst_object_set_parent):
19472 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
19473 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
19475 * gst/gstpadtemplate.h:
19476 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
19477 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
19478 * gst/gstpipeline.h:
19479 * gst/indexers/gstfileindex.c: (gst_file_index_load),
19480 (gst_file_index_commit):
19481 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
19482 * testsuite/pad/link.c: (gst_test_src_init),
19483 (gst_test_filter_init), (gst_test_sink_init):
19484 * testsuite/states/locked.c: (main):
19485 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
19486 moved bitshift from macro to enum definition
19488 2005-10-12 Wim Taymans <wim@fluendo.com>
19490 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
19491 * gst/elements/gstfilesink.c: (gst_file_sink_event),
19492 (gst_file_sink_render):
19493 Some more debugging info.
19495 2005-10-12 Wim Taymans <wim@fluendo.com>
19497 * docs/design/part-states.txt:
19498 * tools/gst-launch.c: (main):
19500 Revert non-intentional change.
19502 2005-10-12 Wim Taymans <wim@fluendo.com>
19504 * check/gst/gstbin.c: (GST_START_TEST):
19505 * check/gst/gstelement.c: (GST_START_TEST):
19506 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
19507 * check/gst/gstghostpad.c: (GST_START_TEST):
19508 * check/gst/gstpipeline.c: (GST_START_TEST):
19509 * check/pipelines/simple_launch_lines.c: (run_pipeline):
19510 * check/states/sinks.c: (GST_START_TEST):
19511 * gst/elements/gsttypefindelement.c: (stop_typefinding):
19512 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19513 (gst_bin_remove_func), (gst_bin_get_state_func),
19514 (gst_bin_recalc_state), (gst_bin_change_state_func),
19516 * gst/gstelement.c: (gst_element_get_state_func),
19517 (gst_element_get_state), (gst_element_abort_state),
19518 (gst_element_commit_state), (gst_element_set_state),
19519 (gst_element_change_state), (gst_element_change_state_func):
19520 * gst/gstelement.h:
19521 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
19522 (gst_pipeline_provide_clock_func):
19523 * gst/gstutils.c: (gst_element_link_pads_filtered):
19524 * tools/gst-launch.c: (main):
19525 * tools/gst-typefind.c: (main):
19526 Use GstClockTime in _get_state() instead of GTimeVal.
19527 Remove old code in gstutils.c
19529 2005-10-12 Andy Wingo <wingo@pobox.com>
19531 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
19534 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
19535 there is no task. Shouldn't affect any code, as nothing in our
19536 plugins checks this return value.
19537 (gst_pad_stop_task): Also take the stream lock if the pad has no
19538 task. Docs updated.
19540 2005-10-12 Wim Taymans <wim@fluendo.com>
19542 * gst/gstpad.c: (pre_activate), (post_activate),
19543 (gst_pad_activate_pull), (gst_pad_activate_push):
19544 Cleanup activation code. Reset old state if
19547 2005-10-12 Wim Taymans <wim@fluendo.com>
19549 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19550 (gst_base_sink_change_state):
19551 No need to prerol after receiving EOS.
19553 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19554 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
19555 * gst/elements/gstidentity.c: (gst_identity_event):
19556 Print events more verbosely.
19558 2005-10-12 Wim Taymans <wim@fluendo.com>
19560 * check/Makefile.am:
19561 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
19562 * check/states/sinks2.c:
19563 Moved sinks2 testcode in sinks check.
19565 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19566 (gst_bin_remove_func), (gst_bin_recalc_state),
19567 (gst_bin_change_state_func), (bin_bus_handler):
19568 Fix potential race condition when _get_state() iterated over an
19569 ASYNC element right before it posted a state completion.
19572 Do proper cast here.
19574 * gst/gstevent.c: (gst_event_new_newsegment),
19575 (gst_event_parse_newsegment):
19576 A playback rate of 0.0 is not allowed.
19578 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
19580 * win32/common/config.h:
19581 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
19582 (_trewinddir), (_ttelldir), (_tseekdir):
19583 * win32/common/dirent.h:
19584 * win32/common/gtchar.h:
19585 * win32/common/libgstbase.def:
19586 * win32/common/libgstreamer.def:
19587 * win32/vs6/grammar.dsp:
19588 * win32/vs6/gst_inspect.dsp:
19589 * win32/vs6/gst_launch.dsp:
19590 * win32/vs6/gstreamer.dsw:
19591 * win32/vs6/libgstbase.dsp:
19592 * win32/vs6/libgstelements.dsp:
19593 * win32/vs6/libgstreamer.dsp:
19594 Visual Studio 6 project files, and a new common directory.
19597 2005-10-11 Wim Taymans <wim@fluendo.com>
19599 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19600 (gst_base_sink_do_sync), (gst_base_sink_query),
19601 (gst_base_sink_change_state):
19602 * gst/base/gstbasesink.h:
19603 Correctly parse newsegment info.
19605 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
19607 * gst/gst.c: (init_post):
19608 split plugin paths correctly
19610 2005-10-11 Wim Taymans <wim@fluendo.com>
19612 * check/gst/gstevent.c: (GST_START_TEST):
19613 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19614 (gst_base_sink_change_state):
19615 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
19616 * gst/base/gstbasetransform.c: (gst_base_transform_event):
19617 * gst/elements/gstfilesink.c: (gst_file_sink_event):
19618 * gst/gstevent.c: (gst_event_new_newsegment),
19619 (gst_event_parse_newsegment):
19621 Added extra flag to newsegment for future API freeze.
19622 Updated check and base elements.
19624 2005-10-11 Julien MOUTTE <julien@moutte.net>
19626 * gst/base/gstcollectpads.c: (gst_collectpads_init),
19627 (gst_collectpads_add_pad), (gst_collectpads_pop),
19628 (gst_collectpads_event), (gst_collectpads_chain):
19629 * gst/base/gstcollectpads.h: Handle EOS correctly.
19631 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
19633 * tools/gst-launch.c: (main):
19634 more null protecting
19636 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
19638 * gst/gst-i18n-lib.h:
19639 check for ENABLE_NLS, not GETTEXT_PACKAGE
19640 * gst/gstregistry.c: (gst_registry_add_plugin),
19641 (gst_registry_scan_path_level),
19642 (_gst_registry_remove_cache_plugins):
19643 protect possibly NULL strings
19644 * gst/parse/types.h:
19645 config.h already included before
19646 * tools/gst-inspect.c: (main):
19647 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
19648 check for ENABLE_NLS, not GETTEXT_PACKAGE
19649 * tools/gst-launch.c: (main):
19650 check for ENABLE_NLS, not GETTEXT_PACKAGE
19652 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
19655 if we don't have glib, fail before testing 2.8
19656 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
19657 fix a leak, should fix plugins-base testsuite
19659 2005-10-11 Andy Wingo <wingo@pobox.com>
19661 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
19662 take the mode we're going to as an arg. Go head and set the mode
19663 and flushing flags now, so that if the activate function starts a
19664 thread all the flags will be in the right state.
19665 (post_activate): Renamed also. Just handle making sure streaming
19666 finishes for the deactivation case, and setting the deactivated
19668 (gst_pad_set_active): Complain loudly if deactivation fails.
19669 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
19670 (gst_pad_activate_push): Adapt to pre/post_activate changes,
19671 remove the terrible hack.
19673 2005-10-11 Wim Taymans <wim@fluendo.com>
19675 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
19676 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
19677 (gst_bin_recalc_state), (gst_bin_change_state_func),
19678 (gst_bin_dispose), (bin_bus_handler):
19680 Prepare to make current EOS message queue more generic.
19683 * gst/gstevent.c: (gst_event_new_newsegment),
19684 (gst_event_parse_newsegment):
19686 Rename base to stream_time.
19688 * gst/gstmessage.h:
19691 2005-10-11 Wim Taymans <wim@fluendo.com>
19693 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
19694 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
19695 (gst_bin_change_state_func), (bin_bus_handler):
19697 Work on proper clock selection.
19699 2005-10-11 Edward Hervey <edward@fluendo.com>
19701 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
19702 * libs/gst/controller/gstcontroller.h:
19703 Added GList* version of _remove_properties() in order to be able to wrap
19706 2005-10-11 Wim Taymans <wim@fluendo.com>
19708 * docs/design/part-states.txt:
19711 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
19712 (gst_bin_change_state_func), (bin_bus_handler):
19713 Doc updates. Don't distribute the same clock over and over again.
19719 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
19720 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
19721 (gst_pad_send_event):
19723 Make probe emission threadsafe again.
19724 Register quarks and move _get_name() from utils.
19727 * gst/gstpipeline.c: (gst_pipeline_class_init),
19728 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19729 Only redistribute the clock of it changed.
19731 * gst/gstsystemclock.h:
19736 Moved the _flow_get_name() to GstPad.
19738 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
19740 * check/gst-libs/gdp.c: (GST_START_TEST):
19741 * check/gst/gstcaps.c: (GST_START_TEST):
19742 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
19743 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
19744 (gst_dp_packet_from_caps):
19745 fix more valgrind warnings before turning up the heat
19747 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
19749 * gst/parse/grammar.y:
19750 some cleanup before the hacking
19752 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
19754 * gst/base/gstbasesrc.c: (gst_base_src_query):
19756 * gst/gstutils.c: (gst_guint64_to_gdouble),
19757 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
19759 externalize, basesrc uses it
19760 obviously the implementation needs testing
19762 2005-10-10 Wim Taymans <wim@fluendo.com>
19764 * tests/sched/Makefile.am:
19765 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
19766 (make_pipeline3), (make_pipeline4), (print_elem), (main):
19768 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
19770 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
19771 apparently converting from guint64 to double is not implemented
19774 2005-10-10 Wim Taymans <wim@fluendo.com>
19776 * check/Makefile.am:
19777 * check/generic/states.c: (GST_START_TEST):
19778 * check/gst/gstbin.c: (GST_START_TEST):
19779 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19780 * check/states/sinks.c: (GST_START_TEST):
19781 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
19783 Check fixes, use API as stated in design docs, remove hacks.
19785 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19786 (gst_base_sink_change_state):
19787 Catch stopping our task while we're shutting down.
19789 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
19790 (gst_bin_remove_func), (gst_bin_get_state_func),
19791 (gst_bin_recalc_state), (gst_bin_change_state_func),
19794 * gst/gstelement.c: (gst_element_init),
19795 (gst_element_get_state_func), (gst_element_abort_state),
19796 (gst_element_commit_state), (gst_element_lost_state),
19797 (gst_element_set_state), (gst_element_change_state),
19798 (gst_element_change_state_func):
19799 * gst/gstelement.h:
19800 New state change algorithm (see #318116)
19802 * gst/gstpipeline.c: (gst_pipeline_class_init),
19803 (gst_pipeline_init), (gst_pipeline_set_property),
19804 (gst_pipeline_get_property), (do_pipeline_seek),
19805 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19806 * gst/gstpipeline.h:
19807 Remove crude state change hacks.
19810 Remove crude hacks.
19812 * tools/gst-launch.c: (main):
19813 Fixes for state change. Needs some more work to fully use the
19816 2005-10-10 Andy Wingo <wingo@pobox.com>
19818 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
19820 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
19821 this flag, but it's not even in GLib 2.6. Odd. Hack around the
19824 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
19826 * gst/gstiterator.c: (gst_iterator_new):
19827 Fix my previous commit: GTypes passed to gst_iterator_new()
19828 can be fundamental types.
19830 2005-10-10 Wim Taymans <wim@fluendo.com>
19832 * gst/gstelement.c: (gst_element_iterate_pad_list),
19833 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
19834 (gst_element_iterate_sink_pads):
19835 Use src/sink pads lists for the respective iterators instead
19838 2005-10-10 Andy Wingo <wingo@pobox.com>
19840 Merged in popt removal + GOption addition patch from Ronald, bug
19843 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
19844 GstElement macros around, remove popt-related symbols, add goption
19847 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
19849 * docs/gst/Makefile.am:
19850 * docs/libs/Makefile.am: No POPT_CFLAGS.
19852 * examples/manual/Makefile.am:
19853 * docs/manual/basics-init.xml: Doc updates with an example.
19855 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
19856 (gst_init), (parse_one_option), (parse_goption_arg):
19857 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
19858 bit of hand merging and debugging to get the GOption stuff working
19861 * tests/Makefile.am:
19862 * tools/Makefile.am:
19863 * tools/gst-inspect.c: (main):
19864 * tools/gst-launch.c: (main):
19865 * tools/gst-run.c: (main):
19866 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
19868 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
19870 * gst/gstiterator.c: (gst_iterator_new):
19871 Add assertions to make sure passed GType is likely to really
19872 be a GType (as the compiler won't catch it if the size and
19873 GType arguments get mixed up, see #318447).
19875 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
19877 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
19879 * gst/gstbin.c: (gst_bin_iterate_sorted):
19880 Pass GType and size arguments to gst_iterator_new() in the right
19881 order (maybe we should make _new() take the GType as first argument
19882 just like _new_list()?) (#318447).
19885 2005-10-10 Wim Taymans <wim@fluendo.com>
19887 * gst/gstelement.c: (gst_element_finalize):
19888 And free the GStaticRecMutex too
19890 2005-10-10 Andy Wingo <wingo@pobox.com>
19892 * gst/gstelement.c (gst_element_init, gst_element_finalize):
19893 Allocate and free the mutex properly.
19895 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
19897 (GstElement): The state_lock is now recursive. Rebuild your
19898 plugins, suckers. Old macros adapted.
19900 * docs/gst/gstreamer-sections.txt: Doc updates.
19903 * gst/gstutils.c (g_static_rec_cond_timed_wait)
19904 (g_static_rec_cond_wait): Ported from state changes patch, while
19905 we wait on bug #317802 to be solved in a well-distributed GLib.
19907 * gst/gstelement.c (gst_element_change_state_func): Renamed from
19908 gst_element_change_state, variable name changes.
19909 (gst_element_change_state): Split out of gst_element_set_state in
19910 preparation for the state change merge. Doesn't pay attention to
19911 the 'transition' argument.
19912 (gst_element_set_state): Updates, hopefully purely cosmetic.
19913 (gst_element_sync_state_with_parent): MT-safety. Ported from the
19914 state change patch.
19915 (gst_element_get_state_func): Renamed from get_state, cosmetic
19918 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
19920 * gst/elements/gstelements.c:
19921 * win32/GStreamer.vcproj:
19923 * win32/dirent.c: (_tseekdir):
19924 * win32/gst-inspect.vcproj:
19925 * win32/gst-launch.vcproj:
19926 * win32/gstconfig.h:
19927 * win32/gstelements.vcproj:
19928 * win32/gstenumtypes.c: (gst_object_flags_get_type):
19929 * win32/gstreamer.def:
19930 * win32/msvc71.sln:
19931 updates for the win32 build (patch from Sebastien Moutte)
19933 2005-10-10 Andy Wingo <wingo@pobox.com>
19935 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
19936 gst_bin_get_state, cleaned up (but no logic changes).
19937 (bin_element_is_sink): Comment updates.
19938 (sink_iterator_filter): Remove needless cast.
19939 (gst_bin_iterate_sinks): Doc update.
19940 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
19941 cleaned up (but no logic changes).
19943 * check/states/sinks.c (test_src_sink): Cleanups from the state
19945 (test_livesrc_sink): Sync on the state.
19947 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
19948 the state change patch.
19950 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
19953 * check/gst/gstbin.c: Merge in some style fixes and additional
19954 checks from Wim's state change patch.
19956 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
19958 * gst/base/gsttypefindhelper.c: (helper_find_peek),
19959 (gst_type_find_helper):
19960 Check whether we have the requested data already in our list of
19961 cached buffers before pulling a new buffer; also make the buffer
19962 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
19964 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
19969 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
19970 don't use long long, it's not portable. Replacing with
19971 gint64 seems to work; let's hope no skeletons fall out of the closet.
19973 2005-10-10 Andy Wingo <wingo@pobox.com>
19975 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
19977 2005-10-09 Stefan Kost <ensonic@users.sf.net>
19979 * docs/gst/gstreamer-sections.txt:
19984 * gst/gstmessage.c: (gst_message_parse_state_changed):
19987 more docs, fix compilation
19989 2005-10-09 Philippe Khalaf <burger@speedy.org>
19990 * gst/gstmessage.c:
19991 Fixed a few forgotten variables on previous commit
19993 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
19995 * gst/base/gsttypefindhelper.c: (helper_find_peek):
19996 Fix evil typefind crasher: getrange() might return a short
19997 buffer at the end of a file, but gst_type_find_peek() must
19998 either return the full data as requested or NULL, but
19999 never a short buffer.
20001 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
20003 * gst/gstmessage.c: (gst_message_new_state_changed),
20004 (gst_message_parse_state_changed):
20005 * gst/gstmessage.h:
20006 don't use "new", it's a C++ keyword
20008 2005-10-08 Wim Taymans <wim@fluendo.com>
20010 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
20011 * gst/gstelement.c: (gst_element_post_message):
20012 * gst/gstpipeline.c: (gst_pipeline_change_state):
20013 Small docs and debug updates.
20015 2005-10-08 Stefan Kost <ensonic@users.sf.net>
20017 * docs/gst/gstreamer-sections.txt:
20018 * gst/gstelementfactory.c:
20020 * gst/gsttaglist.c:
20023 2005-10-08 Wim Taymans <wim@fluendo.com>
20025 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
20026 (gst_bin_dispose), (bin_bus_handler):
20027 Fix typos, add comments.
20028 Clear EOS list when going to PAUSED from any direction and do it
20029 in a threadsafe way.
20030 Get base time in a threadsafe way too.
20031 Fix confusing debug in the change_state function.
20032 Various other small cleanups.
20034 * gst/gstelement.c: (gst_element_post_message):
20035 Fix very verbose bus posting code.
20037 * gst/gstpipeline.c: (gst_pipeline_class_init),
20038 (gst_pipeline_set_property), (gst_pipeline_get_property),
20039 (gst_pipeline_change_state):
20040 Small ARG_ -> PROP_ cleanup
20042 2005-10-08 Wim Taymans <wim@fluendo.com>
20044 * gst/gstbin.c: (is_eos), (bin_bus_handler):
20045 Do a less CPU demanding EOS check because we can.
20047 2005-10-08 Wim Taymans <wim@fluendo.com>
20049 * libs/gst/dataprotocol/dataprotocol.c:
20050 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
20051 (gst_dp_packet_from_event):
20052 * libs/gst/dataprotocol/dataprotocol.h:
20053 * libs/gst/dataprotocol/dp-private.h:
20054 It's about time we bump the version number.
20055 Since event types don't fit in the guint8 anymore describing
20056 the payload type, make payload type 16 bits wide.
20058 2005-10-08 Wim Taymans <wim@fluendo.com>
20060 * docs/design/part-TODO.txt:
20061 * docs/design/part-clocks.txt:
20062 * docs/design/part-events.txt:
20063 * docs/design/part-gstbin.txt:
20064 * docs/design/part-gstelement.txt:
20065 * docs/design/part-gstpipeline.txt:
20066 * docs/design/part-live-source.txt:
20067 * docs/design/part-messages.txt:
20068 * docs/design/part-overview.txt:
20069 * docs/design/part-states.txt:
20072 2005-10-08 Wim Taymans <wim@fluendo.com>
20076 Fix event quark registration.
20077 Add some space between events so we can insert them in the
20080 2005-10-08 Wim Taymans <wim@fluendo.com>
20082 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20083 (gst_base_sink_handle_buffer):
20084 Better log message.
20087 * gst/gstelement.h:
20090 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
20091 (gst_queue_set_property), (gst_queue_get_property):
20093 Remove old unused properties.
20095 2005-10-08 Stefan Kost <ensonic@users.sf.net>
20096 * docs/gst/gstreamer-sections.txt:
20097 * gst/gstmessage.c:
20098 * gst/gstmessage.h:
20099 * gst/gstminiobject.c:
20100 * gst/gstminiobject.h:
20104 lots of new docs and doc fixes
20106 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
20108 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
20110 * gst/gstregistry.c: (gst_registry_lookup_locked),
20111 (gst_registry_scan_path_level):
20112 * gst/gstregistryxml.c: (load_plugin):
20113 Only ever load one plugin for a given plugin basename.
20114 This ensures correct overriding of GST_PLUGIN_PATH over
20115 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
20116 system installed plugins.
20118 2005-10-08 Wim Taymans <wim@fluendo.com>
20120 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20121 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
20122 Prepare for doing QOS.
20124 2005-10-08 Wim Taymans <wim@fluendo.com>
20126 * check/gst/gstbin.c: (GST_START_TEST):
20127 * check/pipelines/cleanup.c: (GST_START_TEST):
20128 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
20129 Allow new clock message too.
20131 2005-10-08 Wim Taymans <wim@fluendo.com>
20133 * gst/gstmessage.c: (gst_message_new_error),
20134 (gst_message_new_warning), (gst_message_new_tag),
20135 (gst_message_new_state_changed), (gst_message_new_clock_provide),
20136 (gst_message_new_clock_lost), (gst_message_new_new_clock),
20137 (gst_message_new_segment_start), (gst_message_new_segment_done),
20138 (gst_message_parse_state_changed),
20139 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
20140 (gst_message_parse_new_clock):
20141 * gst/gstmessage.h:
20142 Also carry the clock in question.
20144 2005-10-08 Wim Taymans <wim@fluendo.com>
20146 * gst/gstmessage.c: (gst_message_new_custom),
20147 (gst_message_new_eos), (gst_message_new_error),
20148 (gst_message_new_warning), (gst_message_new_tag),
20149 (gst_message_new_state_changed), (gst_message_new_clock_provide),
20150 (gst_message_new_new_clock), (gst_message_new_segment_start),
20151 (gst_message_new_segment_done), (gst_message_parse_state_changed),
20152 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
20153 * gst/gstmessage.h:
20155 Added clock related messages.
20157 * gst/gstpipeline.c: (gst_pipeline_change_state):
20158 Post message when the clock changed.
20160 * tools/gst-launch.c: (event_loop):
20163 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
20165 * tools/gst-inspect.c: (print_element_properties_info):
20166 Can't pass NULL strings to g_print() on windows.
20168 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
20170 * docs/Makefile.am:
20171 * docs/gst/Makefile.am:
20172 * docs/gst/gstreamer-docs.sgml:
20173 * docs/gst/running.xml:
20174 * docs/version.entities.in:
20175 add a chapter on running GStreamer.
20176 document GST_DEBUG and GST_PLUGIN* env vars
20178 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
20183 remove PLUGINS_BUILDDIR stuff
20184 * gst/gst.c: (init_post):
20185 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
20187 remove, it was condescending and not needed
20189 2005-10-08 Wim Taymans <wim@fluendo.com>
20191 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
20192 (gst_base_sink_handle_object), (gst_base_sink_event),
20193 (gst_base_sink_wait), (gst_base_sink_handle_event),
20194 (gst_base_sink_change_state):
20195 * gst/base/gstbasesink.h:
20196 Repost EOS message while going to PLAYING if still EOS.
20197 Make sure that when receiving a FLUSH_START we don't attempt
20198 to sync on the clock anymore.
20200 2005-10-08 Wim Taymans <wim@fluendo.com>
20202 * tools/gst-launch.c: (event_loop):
20203 Better message printout.
20205 2005-10-08 Wim Taymans <wim@fluendo.com>
20207 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
20208 (gst_bin_child_proxy_get_children_count):
20209 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
20210 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
20211 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
20212 (gst_child_proxy_set_valist):
20213 * gst/parse/grammar.y:
20214 Make ChildProxy threadsafe and fix mem leaks.
20216 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
20218 * gst/gst.c: (init_post):
20219 debug the GST_PLUGIN_ env vars
20221 2005-10-08 Wim Taymans <wim@fluendo.com>
20223 * check/gst/gstbin.c: (GST_START_TEST):
20224 * check/gst/gstmessage.c: (GST_START_TEST):
20225 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20226 * gst/gstelement.c: (gst_element_commit_state),
20227 (gst_element_lost_state):
20228 * gst/gstmessage.c: (gst_message_new_state_changed),
20229 (gst_message_parse_state_changed):
20230 * gst/gstmessage.h:
20231 * tools/gst-launch.c: (event_loop):
20232 Added extra field to STATE_CHANGE message with the pending
20233 state, which will be different from the new state soon.
20235 2005-10-08 Wim Taymans <wim@fluendo.com>
20237 * gst/gstbus.c: (gst_bus_pop):
20239 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20240 Small cleanups and doc updates.
20242 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
20244 * gst/gst.c: (init_pre):
20245 * gst/gstbin.c: (gst_bin_add_func):
20246 log distributing clocks and base time
20247 * gst/gstregistry.c: (gst_registry_add_plugin),
20248 (gst_registry_scan_path_level), (gst_registry_scan_path):
20249 clean up the debugging output a little
20250 * gst/gstutils.c: (gst_element_state_get_name):
20251 warn about a memleak (I've actually seen this be used, though
20252 it was probably a bug)
20254 2005-10-07 Wim Taymans <wim@fluendo.com>
20256 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20257 (gst_base_src_init), (gst_base_src_default_newsegment),
20258 (gst_base_src_newsegment), (gst_base_src_do_seek),
20259 (gst_base_src_loop), (gst_base_src_start):
20260 * gst/base/gstbasesrc.h:
20261 Make the newsegment event customizable by subclasses.
20263 2005-10-07 Wim Taymans <wim@fluendo.com>
20265 * gst/gstevent.c: (gst_event_new_buffersize),
20266 (gst_event_parse_buffersize):
20268 New event for future idea.
20270 2005-10-07 Andy Wingo <wingo@pobox.com>
20272 * gst/gstelement.c (gst_element_post_message): Doc update.
20274 * docs/gst/gstreamer-sections.txt: Update.
20276 * gst/gstmessage.c (gst_message_new_application): Made into a
20277 function like honest API calls.
20278 (gst_message_new_element): New message type.
20280 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
20282 * check/elements/fakesrc.c (test_no_preroll): New check, checks
20283 that setting a live fakesrc to PAUSED returns NO_PREROLL both
20286 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
20287 NO_PREROLL from gst_element_change_state to fall through.
20289 2005-10-07 Wim Taymans <wim@fluendo.com>
20291 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
20292 (gst_ghost_pad_do_activate_push):
20293 Activating a ghostpad with no internal pad in push mode
20296 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
20299 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
20300 Fixes compilation on Windows.
20302 2005-10-07 Michael Smith <msmith@fluendo.com>
20304 * tools/gst-inspect.c:
20305 Print out feature and plugin count at the end when printing out
20308 2005-10-04 Michael Smith <msmith@fluendo.com>
20310 * gst/gsterror.c: (_gst_stream_errors_init):
20311 Add another error string used in a few existing plugins.
20314 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20315 * tools/gst-inspect.c: (print_element_info):
20316 When a feature disappears from a plugin (and the feature exists in
20317 the cached registry file), things went horribly wrong. This isn't a
20318 complete fix, we should actually be removing the 'missing' features
20319 from the features list when we load the actual plugin. That's not
20322 2005-10-04 Johan Dahlin <johan@gnome.org>
20324 * check/gst/gstiterator.c: (GST_START_TEST):
20325 * gst/gstbin.c: (gst_bin_iterate_elements),
20326 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
20327 * gst/gstelement.c: (gst_element_iterate_pads):
20328 * gst/gstformat.c: (gst_format_iterate_definitions):
20329 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
20330 (gst_iterator_new_list), (gst_iterator_filter):
20331 * gst/gstiterator.h:
20332 * gst/gstquery.c: (gst_query_type_iterate_definitions):
20333 Add a GType to GstIterator, update callsites and tests.
20335 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
20337 * gst/gstpad.c: (gst_pad_event_default_dispatch):
20338 give events a chance to be handled by event probes when the pad
20341 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
20343 * gst/gstevent.c: (gst_event_type_get_name),
20344 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
20346 add string representations for event types
20348 2005-10-06 Wim Taymans <wim@fluendo.com>
20350 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
20351 Don't use NULL pointers.
20353 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
20355 * gst/gst_private.h:
20357 * gst/gstelement.c:
20359 * gst/gstpluginfeature.c:
20360 widen the debug category in output to fit the biggest one we have
20361 add a bus category and use it
20362 play with the colors
20363 fix up some categories
20365 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
20367 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
20368 add push activation of sink ghost pads.
20369 Andye, please verify
20371 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
20373 * gst/gstutils.c: (gst_element_link_pads):
20374 fix a bug in the case where neither element has a pad
20375 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
20376 add a test for that case
20378 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
20380 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
20381 emit have-data before checking for peers. This allows
20382 for probe handlers to connect elements. This helps autopluggers.
20383 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
20385 add six checks, linked/unlinked with no/true/false probe
20387 2005-10-04 Wim Taymans <wim@fluendo.com>
20389 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
20390 (gst_fake_sink_event), (gst_fake_sink_preroll),
20391 (gst_fake_sink_render), (gst_fake_sink_change_state):
20392 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
20393 (gst_fake_src_get_property), (gst_fake_src_create),
20394 (gst_fake_src_stop):
20395 * gst/elements/gstidentity.c: (gst_identity_stop):
20396 Protect last_message with lock.
20398 2005-10-04 Edward Hervey <edward@fluendo.com>
20401 Added precision in the comments for GST_FORMAT_DEFAULT
20403 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
20405 * tools/gst-launch.c: (main):
20406 Don't try to run erroneous pipelines.
20408 2005-10-04 Julien MOUTTE <julien@moutte.net>
20410 * gst/gstbus.c: We don't need this header.
20412 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
20415 back to development
20417 === release 0.9.3 ===
20419 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
20423 Releasing 0.9.3, "Unregistered"
20425 2005-10-03 Andy Wingo <wingo@pobox.com>
20427 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
20428 whereby calling a pad's activatepush() function can start a thread
20429 that starts to push or pull before the pad gets the FLUSHING flag
20430 unset. Hack around it by holding the stream lock until the flag is
20431 set. Need to replace this with a proper solution. Together with
20432 the ghost pad fixes, this fixes mp3 playing/tagreading.
20434 * docs/design/part-gstghostpad.txt: Add a note about activation of
20435 proxy pads outside of ghost pads.
20437 * gst/gstghostpad.c: Implement the ghost pad activation design.
20439 2005-10-02 Andy Wingo <wingo@pobox.com>
20441 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
20442 It is volatile, after all.
20444 * docs/design/part-gstghostpad.txt: Flesh out activation with
20447 * gst/base/gstbasesrc.c (gst_base_src_init): Use
20450 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
20453 Fix (unused) AM_CONDITIONAL tests.
20455 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
20457 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
20459 * gst/gstutils.c: (gst_pad_query_convert):
20460 Add assertion that makes sure src_val is >=0, just like
20461 gst_query_new_convert() has. (#315895)
20463 2005-09-30 Edward Hervey <edward@fluendo.com>
20465 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
20466 Let's not iterate pads we're not interested in, it avoids getting
20467 sky-high refcounts on sinkpad.
20469 2005-09-30 Wim Taymans <wim@fluendo.com>
20471 * gst/gstelement.c: (gst_element_set_state),
20472 (gst_element_change_state):
20473 Small tweak, element in ASYNC remains ASYNC.
20475 2005-09-30 Wim Taymans <wim@fluendo.com>
20477 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20478 Only error is an error.
20480 * gst/gstbin.c: (gst_bin_change_state):
20483 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
20484 Also call pad_block in pad alloc.
20486 * gst/gstutils.c: (gst_flow_get_name):
20489 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
20491 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20492 (gst_base_src_get_range):
20493 Fix documentation typos. Add some more debug info.
20495 2005-09-29 David Schleef <ds@schleef.org>
20497 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
20498 more end-user friendly.
20499 * tools/gst-inspect.c: (main): Check if command-line argument is
20500 a file and attempt to load that file as a plugin.
20502 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
20504 * check/gst/gstbin.c:
20505 * check/states/sinks.c:
20506 fix tests for the new warning
20507 * check/gst/gstpipeline.c:
20508 add a test for pipeline and bus interaction
20509 * gst/gstelement.c:
20510 elements should be NULL if they get disposed; add a warning if not
20512 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
20515 for 2.6 refcounting, make debug log more correct by printing
20516 the actual refcounts at the time of swap (Wim)
20518 2005-09-29 Andy Wingo <wingo@pobox.com>
20520 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
20521 removes signal watches previously added via
20522 gst_bus_add_signal_watch.
20523 (gst_bus_add_signal_watch): Don't return the source id, just store
20524 it on the bus if there wasn't an id already.
20526 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
20527 add_signal_watch and remove_signal_watch.
20529 2005-09-29 Edward Hervey <edward@fluendo.com>
20531 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
20532 Better if we actually iterate the list :)
20534 2005-09-29 Wim Taymans <wim@fluendo.com>
20536 * check/gst/gstbin.c: (GST_START_TEST):
20537 Change for new bus API.
20539 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
20540 (send_messages), (GST_START_TEST), (gstbus_suite):
20541 Change for new bus signal API.
20543 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
20544 (gst_bus_source_prepare), (gst_bus_source_check),
20545 (gst_bus_create_watch), (gst_bus_add_watch_full),
20546 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
20547 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
20549 Remove support for multiple GSources operating on different
20550 message types as it is too complex and unneeded when using
20552 Added support for receiving signals from the bus.
20554 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
20556 * docs/libs/tmpl/gstdataprotocol.sgml:
20557 * docs/manual/advanced-dataaccess.xml:
20558 * gst/elements/gstcapsfilter.c:
20560 rename filter-caps to caps property
20562 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
20564 * gst/gstvalue.c: (gst_value_deserialize_fraction):
20565 More robust fraction string parsing.
20567 * docs/pwg/appendix-porting.xml:
20568 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
20570 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
20572 * gst/gstcaps.c: (gst_caps_do_simplify):
20573 Thou shalt not free a structure and then continue using it
20574 in the next loop iteration.
20576 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
20578 Add test case for caps simplification.
20580 2005-09-29 Wim Taymans <wim@fluendo.com>
20582 * check/gst/gstbin.c: (GST_START_TEST):
20585 2005-09-29 Wim Taymans <wim@fluendo.com>
20587 * check/gst/gstbin.c: (GST_START_TEST):
20590 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
20591 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
20592 (find_element), (gst_bin_sort_iterator_next),
20593 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20594 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20595 (gst_bin_change_state), (gst_bin_dispose):
20596 A bin does not have a bus, it gets the bus from the parent.
20598 * gst/gstelement.c: (gst_element_requires_clock),
20599 (gst_element_provides_clock), (gst_element_is_indexable),
20600 (gst_element_is_locked_state), (gst_element_change_state),
20601 (gst_element_set_bus_func):
20604 * gst/gstpipeline.c: (gst_pipeline_class_init),
20605 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
20606 The pipeline provides a bus.
20608 2005-09-28 Johan Dahlin <johan@gnome.org>
20610 * gst/gstmessage.c (gst_message_parse_state_changed): Use
20611 gst_structure_get_enum instead of gst_structure_get_int
20613 * gst/gststructure.c (gst_structure_get_enum): Impl.
20615 * gst/gststructure.h (gst_structure_get_enum): Add
20617 * docs/gst/gstreamer-sections.txt: Ditto
20619 * gst/gstmessage.c (gst_message_new_state_changed): Use
20620 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
20621 which does introspection.
20622 Reviewed by Christian Schaller
20624 2005-09-28 Stefan Kost <ensonic@users.sf.net>
20626 * gst/gstinfo.c: (gst_debug_log_default):
20627 don't do dummy g_strdup()s
20628 * libs/gst/controller/gstcontroller.c:
20629 (on_object_controlled_property_changed),
20630 (gst_controlled_property_new), (gst_controller_new_valist),
20631 (gst_controller_new_list),
20632 (gst_controller_remove_properties_valist), (gst_controller_set),
20633 (gst_controller_get), (gst_controller_sync_values),
20634 (gst_controller_get_value_array), (_gst_controller_class_init),
20635 (gst_controller_get_type):
20636 * libs/gst/controller/gstcontroller.h:
20637 * libs/gst/controller/gstinterpolation.c:
20638 (gst_controlled_property_find_timed_value_node):
20639 convert // to /**/ comments
20641 2005-09-28 Wim Taymans <wim@fluendo.com>
20643 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
20644 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
20645 (gst_bus_sync_signal_handler):
20647 Added async-message and sync-message signals to the bus.
20648 Added helper BusFunc to emit signals for all posted messages.
20650 * gst/gstmessage.c: (gst_message_type_get_name),
20651 (gst_message_type_to_quark), (gst_message_get_type):
20652 * gst/gstmessage.h:
20653 Register quarks for message names.
20655 2005-09-28 Stefan Kost <ensonic@users.sf.net>
20657 * docs/libs/gstreamer-libs-sections.txt:
20658 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
20659 (gst_controller_new_list):
20660 * libs/gst/controller/gstcontroller.h:
20661 added another constructor for language bindings
20663 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
20665 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
20669 * gst/gstinfo.c: (_gst_debug_init):
20670 slightly more readable color for refcount debugging
20672 2005-09-28 Wim Taymans <wim@fluendo.com>
20674 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20675 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
20676 (find_element), (gst_bin_sort_iterator_next),
20677 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20678 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20679 (gst_bin_change_state), (gst_bin_dispose):
20680 Small doc fixes. get_clock -> provide_clock.
20682 * gst/gstelement.c: (gst_element_class_init),
20683 (gst_element_provides_clock), (gst_element_provide_clock),
20684 (gst_element_get_clock), (gst_element_commit_state),
20685 (gst_element_lost_state):
20686 * gst/gstelement.h:
20687 Make get/set_clock() symetric. Add provide_clock vmethod since
20688 that is actually what this function does.
20690 * gst/gstpipeline.c: (gst_pipeline_class_init),
20691 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
20692 (gst_pipeline_get_clock):
20693 get_clock -> provide_clock.
20695 2005-09-28 Andy Wingo <wingo@pobox.com>
20697 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
20698 lieu of real docs...
20700 * gst/elements/gstfdsrc.c: Cleaned up a bit.
20702 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
20704 * gst/elements/gstcapsfilter.c:
20705 * gst/elements/gstfakesink.c:
20706 * gst/elements/gstfakesrc.c:
20707 * gst/elements/gstfdsink.c:
20708 * gst/elements/gstfdsrc.c:
20709 * gst/elements/gstfilesink.c:
20710 * gst/elements/gstfilesrc.c:
20711 * gst/elements/gstidentity.c:
20712 * gst/elements/gsttee.c:
20713 * gst/elements/gsttypefindelement.c:
20714 Make element details static.
20716 2005-09-28 Wim Taymans <wim@fluendo.com>
20718 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20719 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20720 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20721 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20722 (gst_bin_change_state), (gst_bin_dispose):
20723 Some documentation updates.
20724 Clean up dispose handlers.
20726 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
20727 * gst/gstpad.c: (gst_pad_dispose):
20728 Clean up dispose handler.
20730 * gst/gstpipeline.c: (gst_pipeline_change_state):
20731 Removed spurious UNLOCK.
20733 2005-09-27 Stefan Kost <ensonic@users.sf.net>
20735 * docs/gst/gstreamer-sections.txt:
20736 * gst/base/gstbasesrc.h:
20737 * gst/gstelement.h:
20741 * gst/gstpipeline.c:
20742 * gst/gstpipeline.h:
20745 added two new functions to the docs
20746 documents all undocumented GstXXXFlags
20747 completed some incomplete docs
20749 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
20751 * gst/gstbin.c: (gst_bin_dispose):
20752 * gst/gstelement.c: (gst_element_dispose):
20753 remove now useless and leaky resurrection code in dispose
20754 * gst/base/gstbasesrc.c: (gst_base_src_init):
20755 * gst/gstelementfactory.c: (gst_element_factory_create):
20756 * gst/gstobject.c: (gst_object_set_parent):
20759 2005-09-27 Wim Taymans <wim@fluendo.com>
20761 * docs/design/part-TODO.txt:
20764 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20765 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20766 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20767 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20768 (gst_bin_change_state):
20769 * gst/gstelement.h:
20770 Remove element variable, we keep element info in the iterator now.
20772 2005-09-27 Andy Wingo <wingo@pobox.com>
20774 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
20777 2005-09-27 Wim Taymans <wim@fluendo.com>
20779 * check/gst/gstbin.c: (GST_START_TEST):
20780 Enable check that works now.
20782 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20783 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20784 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20785 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20786 (gst_bin_change_state):
20788 Redid the state change algorithm using a topological sort algo.
20789 Handles all cases correctly.
20790 Exposed iterator for state change order.
20792 * gst/gstelement.h:
20793 Temp storage for state changes. Need to get rid of this soon.
20795 2005-09-27 Wim Taymans <wim@fluendo.com>
20797 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
20798 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
20799 (link_fold_func), (gst_pad_proxy_setcaps):
20800 Leak fixes, the fold functions need to unref the passed object and
20801 _get_parent_*() returns ref to parent.
20803 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
20805 * check/gst/gstbuffer.c: (test_make_writable):
20806 Plug leak in test case and fix 'make check-valgrind'
20808 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
20810 * gst/gstbuffer.c: (gst_subbuffer_init):
20811 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
20812 works correctly in all circumstances (we could have just copied
20813 the parent buffer's readonly flag, but conceptually it seems
20814 cleaner to mark all subbuffers as read-only). (based on patch
20815 by Alessandro Decina, #314710).
20817 * check/gst/gstbuffer.c: (create_read_only_buffer),
20818 (test_make_writable), (test_subbuffer_make_writable),
20820 Add some tests for gst_buffer_make_writable().
20822 2005-09-27 Wim Taymans <wim@fluendo.com>
20824 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
20825 use gst_object_has_ancestor().
20827 * gst/gstobject.c: (gst_object_has_ancestor):
20829 gst_object_has_ancestor() copied from gstbin.c as it is a
20832 * tests/instantiate/create.c: (create_all_elements):
20833 * tests/lat.c: (handoff_src), (handoff_sink):
20834 * tests/sched/runxml.c: (main):
20835 * tests/seeking/seeking1.c: (main):
20836 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
20838 Fix compilation of some tests.
20840 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
20843 Remove comment. GST_TYPE_G_ERROR is here to stay,
20844 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
20845 (#316961, #300610).
20847 2005-09-26 Wim Taymans <wim@fluendo.com>
20849 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20850 Added check that shows error in state change order.
20852 2005-09-26 Wim Taymans <wim@fluendo.com>
20854 * gst/gstbin.c: (gst_bin_change_state):
20855 Make state change function use 3 queues again, we were
20856 adding elements in the wrong order.
20858 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
20861 * gst/gstpad.c: (gst_pad_dispose):
20862 Added some debug info first.
20864 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
20866 * docs/design/draft-push-pull.txt:
20867 * docs/design/part-events.txt:
20868 * docs/design/part-overview.txt:
20869 * docs/design/part-scheduling.txt:
20870 Replace all _pull_region() with _pull_range()
20872 2005-09-26 Andy Wingo <wingo@pobox.com>
20874 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
20876 * check/gst-libs/controller.c: Update for controller api change.
20879 * tests/Makefile.am:
20880 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
20881 over by GLib bug 118439.
20883 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
20884 routines to a function.
20886 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
20888 * libs/gst/controller/gsthelper.c:
20889 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
20890 (gst_object_sync_values): Renamed from sink_values. Ugh.
20892 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
20894 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
20895 Renamed from controller_key, as it is exported.
20897 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
20899 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
20904 * gst/gstpadtemplate.h:
20907 * gst/gstqueryutils.c:
20908 * gst/gstqueryutils.h:
20909 remove queryutils headers after moving the two used functions
20910 to gstquery. also fixes build problem for gstsiddec
20912 2005-09-26 Michael Smith <msmith@fluendo.com>
20914 * tools/gst-launch.1.in:
20915 Correct documentation in manpage of debug syntax
20917 2005-09-26 Wim Taymans <wim@fluendo.com>
20919 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
20920 (gst_base_src_is_seekable), (gst_base_src_change_state):
20921 Some more debugging info.
20923 2005-09-25 Stefan Kost <ensonic@users.sf.net>
20925 * docs/gst/gstreamer-sections.txt:
20926 * gst/base/gstbasetransform.h:
20930 2005-09-25 Stefan Kost <ensonic@users.sf.net>
20932 * docs/gst/.cvsignore:
20933 * docs/gst/tmpl/.cvsignore:
20934 * docs/gst/tmpl/gstpipeline.sgml:
20935 * docs/gst/tmpl/gstplugin.sgml:
20936 * gst/gstpipeline.c:
20939 inlined the last two docs files
20940 removed the tmpl directory from cvs (no more conflicts here!)
20942 2005-09-25 Stefan Kost <ensonic@users.sf.net>
20944 * docs/gst/gstreamer-sections.txt:
20945 * docs/gst/tmpl/.cvsignore:
20946 * docs/gst/tmpl/gstpad.sgml:
20947 * docs/gst/tmpl/gstpadtemplate.sgml:
20949 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
20950 (gst_pad_finalize), (gst_pad_set_pad_template):
20952 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
20953 (gst_pad_template_class_init), (gst_pad_template_init),
20954 (gst_pad_template_dispose), (name_is_valid),
20955 (gst_static_pad_template_get), (gst_pad_template_new),
20956 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
20957 (gst_pad_template_pad_created):
20958 * gst/gstpadtemplate.h:
20959 inlined two more docs
20960 factored gstpadtemplate out of gstpad
20962 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
20964 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
20965 (test_children_state_change_order_semi_sink):
20966 Fix test case: we can't rely on a fixed state change order when
20967 going from READY => PAUSED because the sink might commit its
20968 new state first when the first buffer created by the source
20969 reaches the sink before the source has finished its change state.
20970 (Test case still fails at times, see #316856, comment 5 onwards)
20972 2005-09-24 Wim Taymans <wim@fluendo.com>
20974 * docs/design/part-events.txt:
20975 * docs/design/part-gstbus.txt:
20976 * docs/design/part-gstpipeline.txt:
20977 * docs/design/part-messages.txt:
20978 * docs/design/part-overview.txt:
20979 * docs/design/part-segments.txt:
20983 * gst/gstelement.c:
20986 * gst/gstiterator.c:
20987 Various documentation updates.
20989 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
20992 Well, that's embarassing. Luckily we weren't using
20993 GST_CLOCK_DIFF anywhere.
20995 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
20997 * common/gtk-doc.mak:
20998 don't fail on building XML, FC4 slave shows a bunch of doc
20999 missing bits that I don't get
21001 * gst/gstpipeline.c:
21002 * gst/gststructure.c:
21005 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
21007 * docs/design/part-gstbin.txt:
21008 * docs/design/part-gstbus.txt:
21010 Add blurb about how the bus goes into flushing mode and
21011 drops all messages when its bin goes from READY into NULL
21014 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
21016 * docs/gst/gstreamer-sections.txt:
21017 * gst/gststructure.c: (gst_structure_get_clock_time):
21018 * gst/gststructure.h:
21019 add a method to get a GstClockTime out of a structure
21021 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
21023 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
21024 (test_children_state_change_order_semi_sink), (gst_bin_suite):
21025 Added test to check state change order in bins (can still be made
21026 to fail here under heavy disk load; bails out with 'Push on pad
21027 fakesink:sink0, but it was not activated in push mode').
21029 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
21030 Fix state change order when there is only a semi sink (#316856)
21032 * gst/gstbus.c: (gst_bus_class_init):
21033 Use _class_peek_parent(), not _class_ref(); fix docs to say
21034 'default main context' instead of 'mainloop' where that is
21037 * gst/gstelement.c: (gst_element_commit_state),
21038 (gst_element_set_state):
21039 Fix typos in debug messages
21041 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
21044 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
21045 * gst/gstpluginfeature.c:
21047 various doc updates
21048 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21049 change an assert into an error until it gets fixed properly
21051 2005-09-23 Stefan Kost <ensonic@users.sf.net>
21053 * docs/gst/gstreamer-sections.txt:
21054 * docs/gst/tmpl/.cvsignore:
21055 * docs/gst/tmpl/gstelement.sgml:
21056 * docs/gst/tmpl/gstinfo.sgml:
21057 * docs/gst/tmpl/gstobject.sgml:
21058 * gst/gstelement.c:
21059 * gst/gstelement.h:
21062 * gst/gstobject.c: (gst_object_class_init):
21064 inlined 3 more biiiig doc files and added some missing docs on the fly
21066 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
21068 * check/gst/.cvsignore:
21069 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
21070 * gst/gstregistryxml.c: (load_plugin),
21071 (gst_registry_xml_save_plugin):
21072 put back source in registry. add checks for find_plugin.
21073 * testsuite/states/bin.c: (assert_state), (empty_bin),
21074 (test_adding_one_element), (main):
21075 * testsuite/states/locked.c: (main):
21076 some compile/run fixes
21078 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
21080 * check/gst/gstvalue.c: (GST_START_TEST):
21081 fix leaks in the test itself
21083 2005-09-22 Wim Taymans <wim@fluendo.com>
21085 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21086 (gst_base_sink_send_event), (gst_base_sink_peer_query),
21087 (gst_base_sink_query):
21088 Prepare for more accurate position reporting and query
21091 * gst/gstelement.c: (gst_element_send_event),
21092 (gst_element_set_state):
21095 2005-09-22 Wim Taymans <wim@fluendo.com>
21097 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
21098 (gst_query_parse_segment):
21100 More documentation.
21101 Add segment query for future use.
21103 2005-09-22 Wim Taymans <wim@fluendo.com>
21105 * gst/gstbin.c: (gst_bin_add_func):
21106 Some more debug info.
21108 * gst/gstelement.c: (gst_element_send_event):
21109 Simplify send_event
21111 * gst/gstelement.h:
21112 Don't know how flags got broken.
21117 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
21119 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
21120 Add simplistic test suite for GST_TYPE_DATE serialisation and
21123 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
21125 * docs/gst/gstreamer-sections.txt:
21126 * gst/gststructure.c: (gst_structure_set_valist),
21127 (gst_structure_get_date):
21128 * gst/gststructure.h:
21129 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
21130 (gst_date_copy), (gst_value_compare_date),
21131 (gst_value_serialize_date), (gst_value_deserialize_date),
21132 (gst_value_transform_date_string),
21133 (gst_value_transform_string_date), (_gst_value_initialize):
21135 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
21136 bunch of utility functions along with a hack that checks that
21137 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
21138 is required. Part of the grand scheme in #170777.
21140 2005-09-22 Andy Wingo <wingo@pobox.com>
21142 * gst/gstconfig.h.in: Psych out gtk-doc.
21144 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
21146 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
21148 * tools/gst-inspect.c (print_element_list): Plug some
21149 inconsequential leaks.
21151 * gst/gstregistry.c (gst_registry_get_default): Doc.
21153 * check/gst/gstplugin.c:
21154 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
21155 * gst/gstelementfactory.c (gst_element_factory_create):
21156 * gst/gstindexfactory.c (gst_index_factory_create): Update for
21159 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
21160 (gst_plugin_feature_load): Doc, don't eat refs.
21162 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
21163 (gst_plugin_list_free): Doc.
21164 (gst_plugin_load_file): Doc updates.
21166 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
21167 accessors returning refcounted objects, return a ref.
21169 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
21170 accessor for caps. IDEMPOTENCE. Oh yes.
21172 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
21174 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21176 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
21177 (_gst_debug_register_funcptr):
21178 Add mutex to serialise access to the hash table with
21179 the function pointer => function name string mapping;
21180 make that hash table static scope (#316809).
21182 * gst/registries/.cvsignore:
21183 Remove left-over file.
21185 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
21187 * docs/pwg/appendix-porting.xml:
21188 And something about newsegment events and caps-on-buffers to
21189 the porting guide (feel free to improve).
21191 2005-09-21 Andy Wingo <wingo@pobox.com>
21193 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
21194 data and event probes on the same pad.
21195 (test_buffer_probe_once): Test that removing probes from within
21196 the probe functions works.
21198 2005-09-21 Andy Wingo <wingo@pobox.com>
21200 * check/gst/gstutils.c: New file.
21201 (test_buffer_probe_n_times): A simple buffer probe test. More to
21204 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
21205 have-data::buffer, not have-data.
21206 (gst_pad_add_event_probe): Likewise for have-data::event.
21207 (gst_pad_add_data_probe): More docs. The part about 'resolving the
21208 peer' isn't quite right yet though.
21209 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
21210 (gst_pad_remove_data_probe): Change to take the guint handler_id
21211 as their arg, not the function+data, which is more glib-like.
21213 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
21214 the signal emission to indicate if the data is a buffer or an
21216 (gst_pad_get_type): Initialize buffer and event quarks.
21217 (gst_pad_class_init): have-data is now a detailed signal, yes it
21220 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
21222 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
21223 * gst/gstutils.c: (gst_util_set_value_from_string),
21224 (gst_util_set_object_arg):
21225 Don't put functional code in g_return_if_fail() or
21226 g_return_val_if_fail() statements, otherwise things will
21227 break when G_DISABLE_CHECKS is defined during compilation.
21229 2005-09-21 Stefan Kost <ensonic@users.sf.net>
21231 * docs/gst/tmpl/.cvsignore:
21232 * docs/gst/tmpl/gstvalue.sgml:
21235 inlied another one and added some obvious docs
21237 2005-09-21 Wim Taymans <wim@fluendo.com>
21239 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
21240 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
21241 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
21242 (gst_fdsrc_get_property), (gst_fdsrc_create):
21243 * gst/elements/gstfdsrc.h:
21244 Properly implement fdsrc. Removed signal and timeout,
21245 better implemented somewhere else.
21247 2005-09-21 Stefan Kost <ensonic@users.sf.net>
21249 * docs/gst/tmpl/.cvsignore:
21250 * docs/gst/tmpl/gstimplementsinterface.sgml:
21251 * gst/gstinterface.c:
21254 2005-09-21 Stefan Kost <ensonic@users.sf.net>
21256 * docs/gst/gstreamer-sections.txt:
21257 * docs/gst/tmpl/.cvsignore:
21258 * docs/gst/tmpl/gstenumtypes.sgml:
21259 remove obsolete doc file
21261 2005-09-21 David Schleef <ds@schleef.org>
21263 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
21264 little beer, fix a little leak.
21266 2005-09-21 Stefan Kost <ensonic@users.sf.net>
21268 * docs/gst/gstreamer-docs.sgml:
21269 * docs/gst/gstreamer-sections.txt:
21270 * docs/gst/tmpl/.cvsignore:
21274 * gst/gstelement.h:
21275 * gst/gstindex.c: (gst_index_class_init):
21277 * gst/gstindexfactory.c: (gst_index_factory_get_type),
21278 (gst_index_factory_class_init), (gst_index_factory_init),
21279 (gst_index_factory_finalize), (gst_index_factory_new),
21280 (gst_index_factory_destroy), (gst_index_factory_find),
21281 (gst_index_factory_create), (gst_index_factory_make):
21282 * gst/gstindexfactory.h:
21283 * gst/gstpluginfeature.c:
21284 * gst/gstpluginfeature.h:
21285 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21286 more docs inlined, splitted gstindex.{c,h}
21288 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
21290 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21293 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
21295 * gst/elements/gstfilesink.c: (gst_file_sink_init):
21296 Set sync to FALSE by default.
21298 2005-09-20 Wim Taymans <wim@fluendo.com>
21300 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21301 (gst_base_sink_init):
21302 Make sync property settable from subclass.
21304 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
21305 (gst_fake_sink_change_state):
21306 Set sync to FALSE by default.
21308 2005-09-20 Wim Taymans <wim@fluendo.com>
21310 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
21311 * tools/gst-launch.c: (main):
21312 The timeout handler should have lower priority than the source
21313 so we don't timeout before popping a message with 0 timeout.
21314 Dump error messages after failed state change.
21316 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
21318 * tools/gst-inspect.c: (print_element_properties_info):
21321 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
21323 * check/gst/gstevent.c:
21324 * gst/elements/gstfakesink.c:
21325 * gst/elements/gstfakesink.h:
21326 remove the sync property from fakesink.
21327 has the side effect of setting sync TRUE
21328 for fakesink, which is a change. Anyone who knows how
21329 to fix this nicely in a GObject-y way, feel free.
21331 2005-09-20 Stefan Kost <ensonic@users.sf.net>
21333 * docs/gst/gstreamer-docs.sgml:
21334 remove probe refsection
21336 2005-09-20 Stefan Kost <ensonic@users.sf.net>
21338 * check/Makefile.am:
21339 disable valgrinding the controller test again
21340 * docs/gst/gstreamer-sections.txt:
21341 update for api-changes
21343 2005-09-20 Wim Taymans <wim@fluendo.com>
21345 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21346 (gst_base_sink_set_property), (gst_base_sink_get_property),
21347 (gst_base_sink_do_sync):
21348 * gst/base/gstbasesink.h:
21349 Added sync property to basesink to disable clock sync.
21351 2005-09-20 Andy Wingo <wingo@pobox.com>
21353 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
21354 eating the caller's refcount.
21356 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
21357 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
21360 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
21361 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
21362 of GLib 2.8 public, so we can know which refcount to check in
21365 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
21366 (gst_object_init): Only set the gst refcount if we're going ahead
21367 with the refcount hack.
21369 2005-09-20 Stefan Kost <ensonic@users.sf.net>
21371 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
21372 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21373 more leaks plumbed, added more debug-logging
21377 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
21379 * gst/gstmessage.c:
21380 remove include of gstmemchunk.h
21382 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
21384 * gst/gstclock.c: (_gst_clock_id_free):
21385 Commit from the Political Party For More Atomic CVS Commits,
21386 so that people don't waste too much of their day fishing
21387 out obvious leaks out of massive commits.
21388 Oh, and fix a pretty damn obvious leak in the memchunk
21391 2005-09-20 Stefan Kost <ensonic@users.sf.net>
21393 * check/Makefile.am:
21394 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
21395 plug mem-leak, re-add to valgrindable tests
21397 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
21400 unbreak the build for those who have chronic arthritis
21401 and typing "make check" is just too taxing on the hands
21403 2005-09-20 Andy Wingo <wingo@pobox.com>
21405 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
21406 really want it out, you should fix plugins at the same time.
21408 2005-09-19 Stefan Kost <ensonic@users.sf.net>
21411 * docs/gst/gstreamer-sections.txt:
21413 added missing symbols to api docs
21414 disable ref-count hack if we have glib >= 2.8
21416 2005-09-19 David Schleef <ds@schleef.org>
21418 * docs/gst/Makefile.am: Ignore a few more internal headers
21419 * docs/gst/gstreamer-docs.sgml: Remove old sections
21420 * docs/gst/gstreamer-sections.txt: Remove old sections
21421 * docs/gst/tmpl/gstobject.sgml: update
21422 * docs/gst/tmpl/gstplugin.sgml: update
21423 * docs/gst/tmpl/gstpluginfeature.sgml: update
21424 * docs/random/ds/0.9-suggested-changes: update.
21425 * gst/Makefile.am: remove memchunk and trashstack, since they're
21427 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
21428 * gst/gst.h: don't include some headers
21429 * gst/gstchildproxy.c: add gstmarshal.h
21430 * gst/gstclock.c: Don't use memchunks
21431 * gst/gstminiobject.c: Add some docs
21432 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
21433 * gst/gstobject.h: same
21434 * gst/gstplugin.c: include gstmacros.h
21435 * gst/gstplugin.h: don't include gstmacros.h, since it's private
21436 * gst/gstquery.c: don't use memchunks
21437 * gst/gstregistry.c: rename gst_registry_deinit()
21438 * gst/gstregistry.h: same
21440 2005-09-19 David Schleef <ds@schleef.org>
21442 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
21443 * docs/libs/gstreamer-libs-sections.txt:
21444 * docs/libs/tmpl/gstgetbits.sgml:
21445 * docs/libs/tmpl/gstputbits.sgml:
21447 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
21449 * win32/gstenumtypes.c:
21450 * win32/gstenumtypes.h:
21453 2005-09-19 Wim Taymans <wim@fluendo.com>
21455 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
21456 Automatically PAUSE and RESUME a pipeline when a flushing seek
21459 2005-09-19 Andy Wingo <wingo@pobox.com>
21461 * gst/gstregistry.h: Spacing fixen.
21463 2005-09-19 Wim Taymans <wim@fluendo.com>
21465 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
21466 Handle state change failure more correctly.
21468 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
21470 * check/Makefile.am:
21471 * check/pipelines/cleanup.c: (run_pipeline):
21472 * check/pipelines/simple_launch_lines.c: (run_pipeline),
21474 enable cleanup again after fixing the leak
21476 some more info on docs
21478 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
21480 * check/Makefile.am:
21481 re-enable tests now that leaks are plugged
21483 * check/gst/gstbin.c:
21484 * check/gst/gstpipeline.c:
21485 add some more tests while fixing leaks
21486 * common/check.mak:
21487 make sure binaries are uptodate when valgrinding/gdbing
21489 * gst/gstelementfactory.c:
21490 remove a ref too many, and add a FIXME for when we get
21491 round to disposing of classes
21493 fix the refcounting when loading a plugin from a file and
21494 the code pretends that the pointer is the same even though
21495 of course it can change
21496 * gst/gstpluginfeature.c:
21497 unref plugins marked cached (a bit confusing as a name)
21498 as the docs state should be done
21499 various doc additions to explain refcounting
21500 * gst/gstregistry.c:
21501 * gst/gstregistryxml.c:
21504 2005-09-19 Wim Taymans <wim@fluendo.com>
21506 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
21507 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
21508 (send_messages), (GST_START_TEST), (gstbus_suite):
21509 * check/gst/gstpipeline.c: (GST_START_TEST):
21510 * check/pipelines/cleanup.c: (run_pipeline):
21511 * check/pipelines/simple_launch_lines.c: (run_pipeline),
21513 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
21514 (gst_bus_source_check), (gst_bus_source_dispatch),
21515 (gst_bus_create_watch), (gst_bus_add_watch_full),
21516 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
21518 * tools/gst-launch.c: (event_loop):
21519 * tools/gst-md5sum.c: (event_loop):
21520 GstBusHandler -> GstBusFunc, return value has the same meaning as
21521 any other GSource (FALSE == remove source).
21522 _add_watch() and _add_watch_full() now take a MessageType mask to
21523 only handle specific types of messages.
21524 _poll() returns the GstMessage instead of the message type to avoid
21526 _have_pending() takes a MessageType mask now too.
21527 Added testsuite for multiple bus watches.
21528 Fix testsuites and applications for new bus API.
21530 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
21532 * check/Makefile.am:
21533 mark a bunch of the tests as to fix until we fix them
21535 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
21537 * common/check.mak:
21538 use GST_PLUGIN settings for valgrind tests as well, so we're
21539 valgrinding the correct thing
21540 * gst/gst.c: (init_post):
21543 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
21545 * gst/gst.c: (init_post), (gst_deinit):
21546 * gst/gstelementfactory.c: (gst_element_factory_class_init),
21547 (gst_element_factory_finalize), (gst_element_factory_cleanup):
21548 * gst/gstindex.c: (gst_index_factory_class_init),
21549 (gst_index_factory_finalize):
21550 * gst/gstobject.c: (gst_object_dispose):
21551 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
21552 (gst_plugin_load_file), (gst_plugin_desc_free):
21553 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
21554 (gst_plugin_feature_finalize):
21555 * gst/gstregistry.c: (gst_registry_class_init),
21556 (gst_registry_init), (gst_registry_finalize),
21557 (gst_registry_get_default), (gst_registry_deinit):
21558 * gst/gstregistry.h:
21559 * gst/gstregistryxml.c: (load_feature), (load_plugin):
21560 various cleanups and memleak plugging. make valgrind is happy now.
21562 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
21564 * common/check.mak:
21565 add a check-valgrind target
21567 2005-09-18 David Schleef <ds@schleef.org>
21569 * tools/gst-inspect.c: Revert the GOption code.
21571 2005-09-17 David Schleef <ds@schleef.org>
21573 * check/Makefile.am: Fix environment variables.
21574 * check/gst/gstplugin.c: Fix for API changes.
21575 * tools/gst-inspect.c: Fix for API changes.
21576 * tools/gst-xmlinspect.c: Fix for API changes.
21577 * gst/gstelementfactory.c:
21580 * gst/gstpluginfeature.c:
21581 * gst/gstpluginfeature.h:
21582 * gst/gstregistry.c:
21583 * gst/gstregistry.h:
21584 * gst/gstregistryxml.c:
21585 * gst/gsttypefind.c:
21586 * gst/gsttypefindfactory.c:
21587 * gst/indexers/gstfileindex.c:
21588 * gst/indexers/gstmemindex.c:
21589 * gst/schedulers/Makefile.am:
21590 Change registry to keep track of both plugins and features,
21591 removing the feature tracking from plugins themselves.
21593 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
21595 * check/Makefile.am:
21596 * tools/gst-register.1.in:
21597 remove gst-register
21599 2005-09-15 David Schleef <ds@schleef.org>
21601 * check/gst/gstplugin.c:
21602 * gst/gstelementfactory.c:
21604 * gst/gstpluginfeature.c:
21605 * gst/gstregistry.c:
21606 Getting tired of debugging. Disabled all the unreffing of
21607 plugins and features, which fixes the segfaults, but of
21608 course leaks like crazy. At least playbin works.
21610 2005-09-15 David Schleef <ds@schleef.org>
21612 * check/gst/gstplugin.c: (register_check_elements),
21613 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
21615 * gst/elements/gsttypefindelement.c: Fix refcounting.
21616 * gst/gsttypefind.c:
21617 * gst/gsttypefindfactory.c:
21618 * gst/gsttypefindfactory.h:
21620 2005-09-15 David Schleef <ds@schleef.org>
21622 * gst/gstindex.c: get refcounting correct.
21623 * gst/gstregistry.c: Handle the case where a feature/plugin is
21626 2005-09-15 David Schleef <ds@schleef.org>
21628 * check/Makefile.am:
21629 * check/gst/gstplugin.c: Add test
21630 * gst/gstplugin.c: Fix problems noticed by testsuite
21632 * gst/gstregistry.c:
21633 * gst/gstregistry.h:
21635 2005-09-15 David Schleef <ds@schleef.org>
21637 * gst/gstplugin.c: Implement semi-decent recounting and locking
21638 in plugins and plugin features.
21640 * gst/gstpluginfeature.c:
21641 * gst/gstpluginfeature.h:
21642 * gst/gstregistry.c:
21644 2005-09-15 Michael Smith <msmith@fluendo.com>
21646 * gst/gstregistry.c: (gst_registry_get_feature_list):
21647 Implement this. Makes oggdemux work; decodebin still broken.
21649 2005-09-14 David Schleef <ds@schleef.org>
21651 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
21653 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
21654 * gst/check/Makefile.am:
21655 * libs/gst/controller/Makefile.am:
21656 * libs/gst/dataprotocol/Makefile.am:
21658 2005-09-14 David Schleef <ds@schleef.org>
21660 * configure.ac: Remove getbits library. Nothing uses it, and
21661 it should be in something like liboil if someone did want
21663 * libs/gst/Makefile.am:
21664 * libs/gst/getbits/Makefile.am:
21665 * libs/gst/getbits/gbtest.c:
21666 * libs/gst/getbits/getbits.c:
21667 * libs/gst/getbits/getbits.h:
21668 * libs/gst/getbits/gstgetbits_generic.c:
21669 * libs/gst/getbits/gstgetbits_i386.s:
21670 * libs/gst/getbits/gstgetbits_inl.h:
21672 2005-09-14 David Schleef <ds@schleef.org>
21674 * gst/Makefile.am: Dist glib-compat.h
21676 2005-09-14 David Schleef <ds@schleef.org>
21678 * configure.ac: Remove gst/registries, since it's no longer used.
21679 * gst/registries/Makefile.am:
21680 * gst/registries/gstlibxmlregistry.c:
21681 * gst/registries/gstlibxmlregistry.h:
21682 * gst/registries/gstxmlregistry.c:
21683 * gst/registries/gstxmlregistry.h:
21684 * gst/registries/registrytest.c:
21686 2005-09-14 David Schleef <ds@schleef.org>
21688 * gst/glib-compat.h:
21689 * gst/gstregistryxml.c:
21690 Convergence is near. Seriously.
21692 2005-09-14 David Schleef <ds@schleef.org>
21694 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21695 * gst/glib-compat.h:
21696 Attempt #4 to appease the buildbots.
21698 2005-09-14 David Schleef <ds@schleef.org>
21700 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21703 2005-09-14 David Schleef <ds@schleef.org>
21705 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21708 2005-09-14 David Schleef <ds@schleef.org>
21710 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
21713 2005-09-14 David Schleef <ds@schleef.org>
21715 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21716 * gst/glib-compat.h: Add some functions that are in newer versions
21717 of glib than we care to require.
21718 * gst/gstregistryxml.c: Use them.
21720 2005-09-14 David Schleef <ds@schleef.org>
21722 * po/POTFILES.in: remove gst-register.c
21724 2005-09-14 David Schleef <ds@schleef.org>
21726 * docs/gst/gstreamer-docs.sgml:
21727 * docs/gst/gstreamer-sections.txt:
21728 * docs/gst/gstreamer.types:
21729 * docs/gst/tmpl/gstelement.sgml:
21730 * docs/gst/tmpl/gstplugin.sgml:
21731 * docs/gst/tmpl/gstpluginfeature.sgml:
21732 Documentation updates for registry changes.
21734 2005-09-14 David Schleef <ds@schleef.org>
21736 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
21737 because we don't require glib-2.8.
21739 2005-09-14 David Schleef <ds@schleef.org>
21741 * gst/gstregistryxml.c: Added. Essentially moved out of the
21742 registries directory.
21744 2005-09-14 David Schleef <ds@schleef.org>
21746 * check/Makefile.am:
21747 * check/generic/states.c:
21751 * gst/gst_private.h:
21752 * gst/gstelementfactory.c:
21757 * gst/gstpluginfeature.c:
21758 * gst/gstpluginfeature.h:
21759 * gst/gstregistry.c:
21760 * gst/gstregistry.h:
21761 * gst/gstregistrypool.c: remove
21762 * gst/gstregistrypool.h: remove
21763 * gst/gsttypefind.c:
21764 * gst/gsttypefindfactory.c:
21766 * tools/Makefile.am:
21767 * tools/gst-compprep.c:
21768 * tools/gst-inspect.c:
21769 * tools/gst-register.c: remove
21770 * tools/gst-xmlinspect.c:
21771 Registry rewrite. Changes registry from being a file created
21772 by a tool into a simple cache file created automatically by
21773 libgstreamer. Removed gst-register (because it's no longer
21774 needed). Remove registry pools, because we only have one
21775 registry implementation (XML). Fix up other subsystems as
21778 2005-09-13 Michael Smith <msmith@fluendo.com>
21780 * gst/gstconfig.h.in:
21781 Don't Use windows linking attributes for MinGW. Fixes #316157
21783 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
21785 * gst/gstutils.c: (set_state_async_thread_func),
21786 (gst_element_set_state_async):
21787 Apparently people think it's better if this function doesn't
21788 try to set the state to whatever state was asked for on the first
21789 call to this function for any object. Seriously.
21791 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
21793 * check/gst/gstpipeline.c: (GST_START_TEST):
21794 * docs/gst/gstreamer-sections.txt:
21795 * gst/gstutils.c: (set_state_async_thread_func),
21796 (gst_element_set_state_async):
21798 add a "gst_element_set_state_async" method that
21799 sets the state and starts a thread to make sure the state
21800 change completes as best as it can
21802 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
21804 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21805 codify design+behaviour in testsuite after discussion
21807 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
21809 * docs/gst/tmpl/gstelement.sgml:
21810 * docs/manual/appendix-quotes.xml:
21812 * gst/gstelement.c: (gst_element_set_state):
21815 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
21817 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21818 (gst_base_transform_prepare_output_buf),
21819 (gst_base_transform_handle_buffer):
21820 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
21821 (gst_capsfilter_prepare_buf):
21822 Remove the requirement for sub-classes to call the parent
21823 implementation of prepare_output_buffer with a wrapper function.
21825 * gst/gsttaglist.h:
21826 * gst/gsttagsetter.h:
21827 Fix #define wrapper
21829 2005-09-11 Stefan Kost <ensonic@users.sf.net>
21831 * docs/gst/gstreamer-sections.txt:
21834 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
21836 * docs/gst/gstreamer-sections.txt:
21837 * docs/gst/tmpl/gstelement.sgml:
21838 * docs/gst/tmpl/gstplugin.sgml:
21839 * gst/gstminiobject.c:
21841 docs now stop throwing warnings
21843 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
21845 * docs/gst/gstreamer-sections.txt:
21846 * docs/gst/gstreamer.types:
21847 * docs/gst/tmpl/gstpad.sgml:
21848 * docs/gst/tmpl/gsttypes.sgml:
21849 * gst/base/gstadapter.h:
21850 * gst/base/gstbasesink.h:
21851 * gst/base/gstbasesrc.h:
21857 * gst/gstelement.h:
21859 * gst/gstmessage.h:
21861 * gst/gststructure.c:
21862 * gst/registries/gstlibxmlregistry.h:
21863 various documentation fixes
21865 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
21867 * docs/gst/gstreamer-sections.txt:
21868 * docs/gst/tmpl/gstvalue.sgml:
21869 rearrange gstvalue section
21870 * gst/gstutils.c: (gst_element_state_get_name):
21872 * gst/gstvalue.c: (_gst_value_initialize):
21876 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
21878 * check/gst-libs/controller.c:
21879 Header include fix.
21880 * gst/base/gstbasetransform.c:
21881 (gst_base_transform_default_prepare_buf),
21882 (gst_base_transform_handle_buffer):
21883 * gst/base/gstbasetransform.h:
21884 Some more basetransform changes and fixes to enable sub-classes
21885 that modify buffer metadata only.
21886 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
21887 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
21888 (gst_capsfilter_prepare_buf):
21889 If the output pad has fixed allowed caps and input buffers
21890 don't have any, set the fixed caps on outgoing buffers.
21892 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
21893 * check/elements/identity.c: (GST_START_TEST):
21894 Make the error a little clearer when the test fails because
21895 identity made a copy of the buffer.
21896 * docs/gst/gstreamer-sections.txt:
21897 New symbols in gstbasetransform.h
21898 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21899 (gst_base_transform_init), (gst_base_transform_transform_size),
21900 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21901 (gst_base_transform_default_prepare_buf),
21902 (gst_base_transform_get_unit_size),
21903 (gst_base_transform_buffer_alloc),
21904 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
21905 (gst_base_transform_change_state),
21906 (gst_base_transform_set_passthrough),
21907 (gst_base_transform_set_in_place),
21908 (gst_base_transform_is_in_place):
21909 * gst/base/gstbasetransform.h:
21910 Change BaseTransform to separate in_place operate from same_caps
21911 output. in_place implies that the element can perform the transform
21912 on incoming buffers in-place, even if the caps on the output are
21914 Sub-class elements can now implement special buffer allocation
21915 methods for outgoing buffers if they wish to.
21916 Big documentation addition.
21917 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
21918 * gst/elements/gstelements.c:
21919 Changes for basetransform modifications.
21920 * gst/elements/Makefile.am:
21921 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
21922 Compile fix. Extra debug output.
21924 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
21926 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
21928 add tests for valid pad naming
21929 * gst/check/gstcheck.c: (gst_check_log_message_func),
21930 (gst_check_log_critical_func):
21932 remove printing of code, it is fragile when the code contains
21933 % and the line number is enough info
21934 * gst/check/gstcheck.h:
21935 * gst/gstpad.c: (gst_pad_template_new):
21938 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
21941 say what CHECK flags we use
21942 * docs/libs/gstreamer-libs.types:
21943 * libs/gst/controller/Makefile.am:
21944 * libs/gst/controller/gst-controller.c:
21945 * libs/gst/controller/gst-controller.h:
21946 * libs/gst/controller/gst-helper.c:
21947 * libs/gst/controller/gst-interpolation.c:
21948 * libs/gst/controller/gstcontroller.c:
21949 * libs/gst/controller/gsthelper.c:
21950 * libs/gst/controller/gstinterpolation.c:
21951 * tools/gst-inspect.c: (print_plugin_info):
21952 we don't use dashes in header names
21954 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
21956 * check/Makefile.am:
21957 * check/gst/.cvsignore:
21958 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
21959 (gst_pipeline_suite), (main):
21960 adding a test for pipelines and state changes
21961 * gst/gstutils.c: (get_state_func):
21963 * gstreamer.spec.in:
21966 2005-09-08 Michael Smith <msmith@fluendo.com>
21968 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
21969 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
21970 (gst_file_src_is_seekable), (gst_file_src_get_size),
21971 (gst_file_src_start):
21972 * gst/elements/gstfilesrc.h:
21973 Various fixes for unseekable, unmmapable, and non-normal files, so
21974 that fallback to read() rather than mmap() works.
21975 * gst/gstevent.c: (gst_event_new_newsegment):
21976 Allow newsegment events with segment_start == segment_end, as will
21977 correctly happen if you use filesrc on a zero-size file, for
21980 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
21982 * gst/gstplugin.c: (gst_plugin_load_file):
21983 Call g_module_close when we don't load the module
21985 * gst/registries/gstlibxmlregistry.c:
21986 (gst_xml_registry_get_property):
21987 Port leak fix from 0.8
21989 2005-09-07 Stefan Kost <ensonic@users.sf.net>
21991 * docs/gst/gstreamer-docs.sgml:
21992 * docs/gst/tmpl/.cvsignore:
21993 * docs/gst/tmpl/gsttrace.sgml:
21994 * docs/gst/tmpl/gsttrashstack.sgml:
21997 * gst/gstelement.h:
21999 * gst/gstmessage.c:
22000 * gst/gstmessage.h:
22003 * gst/gsttaginterface.c:
22004 * gst/gsttaginterface.h:
22005 * gst/gsttaglist.c:
22006 * gst/gsttaglist.h:
22007 * gst/gsttagsetter.c:
22008 * gst/gsttagsetter.h:
22011 * gst/gsttrashstack.c:
22012 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
22013 inlined docs for gsttrace, gsttrashstack
22015 2005-09-07 Stefan Kost <ensonic@users.sf.net>
22018 * gst/elements/gstbufferstore.h:
22019 * gst/elements/gsttypefindelement.c:
22020 * gst/elements/gsttypefindelement.h:
22022 * gst/gsttypefind.c:
22023 * gst/gsttypefind.h:
22024 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
22025 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
22026 (gst_type_find_factory_dispose),
22027 (gst_type_find_factory_unload_thyself),
22028 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
22029 (gst_type_find_factory_get_caps),
22030 (gst_type_find_factory_get_extensions),
22031 (gst_type_find_factory_call_function):
22032 * gst/gsttypefindfactory.h:
22033 * gst/registries/gstlibxmlregistry.c:
22034 * gst/registries/gstxmlregistry.c:
22035 splitted gsttypefind into gsttypefind, gsttypefindfactory
22037 2005-09-07 Andy Wingo <wingo@pobox.com>
22039 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
22040 condition whereby the pad's task function is entered before the
22041 pad_mode variable was set.
22043 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
22045 * gst/gstpad.c: (gst_pad_alloc_buffer):
22046 Catch misbehaving pad_alloc functions that don't
22047 set up caps and do it for them.
22049 2005-09-07 Stefan Kost <ensonic@users.sf.net>
22051 * check/pipelines/simple_launch_lines.c: (run_pipeline):
22052 test for pipe!=NULL
22053 * docs/gst/tmpl/.cvsignore:
22054 * docs/gst/tmpl/gstmemchunk.sgml:
22055 * docs/gst/tmpl/gstparse.sgml:
22056 * docs/gst/tmpl/gsttaglist.sgml:
22057 * docs/gst/tmpl/gsttagsetter.sgml:
22058 * docs/gst/tmpl/gsttypefind.sgml:
22059 * docs/gst/tmpl/gsttypefindfactory.sgml:
22060 * gst/gstmemchunk.c:
22063 * gst/gsttaginterface.c:
22064 * gst/gsttypefind.c:
22065 * gst/gsttypefind.h:
22068 === release 0.9.2 ===
22070 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
22075 releasing 0.9.2, "South"
22077 2005-09-05 Andy Wingo <wingo@pobox.com>
22079 * gst/registries/gstxmlregistry.h:
22080 * gst/registries/gstxmlregistry.c: Um... resurrect...
22082 * gst/registries/gstxmlregistry.h:
22083 * gst/registries/gstxmlregistry.c: and update to newer API.
22084 Incidentally they should be a bit faster now that they don't have
22087 2005-09-05 Andy Wingo <wingo@pobox.com>
22089 * gst/registries/gstxmlregistry.h:
22090 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
22091 replaced by the libxml registry a while back
22093 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
22095 * docs/gst/tmpl/gstplugin.sgml:
22096 * gst/elements/gstelements.c:
22098 * gst/gstplugin.c: (gst_plugin_register_func),
22099 (gst_plugin_desc_copy), (gst_plugin_desc_free),
22100 (gst_plugin_get_source):
22102 * gst/registries/gstlibxmlregistry.c: (load_plugin),
22103 (gst_xml_registry_save_plugin):
22104 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
22105 (gst_xml_registry_save_plugin):
22106 * tools/gst-inspect.c: (print_plugin_info):
22107 add a "source" plugin description field, to represent the source
22108 module this plugin is a part of. By default GST_PLUGIN_DEFINE
22109 will set it to PACKAGE, which is automake's idea of the name of
22110 the source project.
22112 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
22117 * docs/Makefile.am:
22118 * docs/faq/Makefile.am:
22119 * docs/gst/tmpl/gstelement.sgml:
22120 * docs/gst/tmpl/gsttypes.sgml:
22121 * docs/htmlinstall.mak:
22122 * docs/manual/Makefile.am:
22123 * docs/pwg/Makefile.am:
22124 reorganize doc build a little
22125 split out docbook and gtk-doc stuff
22126 have two separate --enable's and enable them through autogen
22127 but disable by default in configure (to be similar to other
22129 * gstreamer.spec.in:
22130 clean up docs install
22148 translation updates
22150 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
22152 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
22155 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
22156 (gst_fake_sink_change_state):
22157 Make state change function thread-safe.
22159 * gst/gstpad.c: (gst_pad_alloc_buffer):
22160 Set offset on generic buffer allocated by fallback.
22162 2005-09-03 Stefan Kost <ensonic@users.sf.net>
22164 * docs/gst/gstreamer-sections.txt:
22165 * docs/gst/tmpl/gstelement.sgml:
22167 * libs/gst/controller/gst-controller.c:
22168 (gst_controlled_property_set_interpolation_mode),
22169 (gst_controlled_property_new),
22170 (gst_controller_find_controlled_property):
22171 run the wingo-magic script against the docs
22173 2005-09-02 Stefan Kost <ensonic@users.sf.net>
22175 * docs/gst/gstreamer-docs.sgml:
22176 * docs/gst/gstreamer-sections.txt:
22177 * docs/gst/tmpl/.cvsignore:
22178 * docs/gst/tmpl/gstelementdetails.sgml:
22179 * docs/gst/tmpl/gstelementfactory.sgml:
22182 * gst/gstelementfactory.c:
22183 * gst/gstelementfactory.h:
22184 merged elementdetails docs into elementfactory docs
22187 2005-09-02 Andy Wingo <wingo@pobox.com>
22189 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
22190 consider this enum an enum and not a flags.
22192 2005-09-02 Stefan Kost <ensonic@users.sf.net>
22194 * docs/gst/gstreamer-docs.sgml:
22195 * docs/gst/tmpl/.cvsignore:
22196 * docs/gst/tmpl/gstghostpad.sgml:
22197 * docs/gst/tmpl/gstiterator.sgml:
22198 * docs/gst/tmpl/gstmacros.sgml:
22199 * docs/gst/tmpl/gstrealpad.sgml:
22200 * docs/gst/tmpl/gstregistry.sgml:
22201 * docs/gst/tmpl/gstregistrypool.sgml:
22202 * docs/gst/tmpl/gststructure.sgml:
22203 * docs/gst/tmpl/gstsystemclock.sgml:
22204 * docs/gst/tmpl/gsttrace.sgml:
22205 * gst/gstghostpad.c:
22207 * gst/gstmemchunk.c:
22208 * gst/gstmemchunk.h:
22210 * gst/gstregistry.c:
22211 * gst/gstregistrypool.c:
22212 * gst/gststructure.c:
22213 * gst/gstsystemclock.c:
22216 2005-09-02 Andy Wingo <wingo@pobox.com>
22218 * gst/gstelement.h (GstState): Renamed from GstElementState,
22219 changed to be a normal enum instead of flags.
22220 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
22221 munged to be GST_STATE_CHANGE_*.
22222 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
22223 work with the new state representation.
22224 (GstStateChange): New enumeration of possible state transitions.
22225 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
22226 (GstElementClass::change_state): Pass the GstStateChange along as
22227 an argument. Helps language bindings, so they don't have to use
22228 tricky lock-needing macros like GST_STATE_CHANGE ().
22230 * scripts/update-states (file): New script. Run it on a file to
22231 update it for state naming and API changes. Updates files in
22234 * All files updated for the new API.
22236 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
22238 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
22239 * gst/gstutils.c: (gst_util_set_value_from_string),
22240 (gst_util_set_object_arg):
22241 fix a bunch of unchecked return values
22242 * tools/gst-complete.c: (main):
22243 * gstreamer.spec.in:
22246 2005-09-01 Wim Taymans <wim@fluendo.com>
22248 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22249 (gst_base_sink_event), (gst_base_sink_do_sync),
22250 (gst_base_sink_handle_event):
22251 * gst/base/gstbasesink.h:
22252 Handle newsegments more correctly.
22257 * gst/gstevent.c: (gst_event_new_newsegment):
22258 A newsegment cannot have a start_time of -1
22260 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
22262 * win32/gstenumtypes.c:
22263 * win32/gstenumtypes.h:
22266 2005-08-31 Stefan Kost <ensonic@users.sf.net>
22268 * libs/gst/controller/gst-controller.c:
22269 (gst_controlled_property_set_interpolation_mode),
22270 (gst_controlled_property_new):
22271 fixed boolean again
22273 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
22275 * docs/faq/gst-uninstalled:
22280 * gst/gstutils.c: (gst_element_link_filtered):
22282 add gst_element_link_filtered
22284 2005-08-31 Stefan Kost <ensonic@users.sf.net>
22286 * docs/gst/gstreamer-docs.sgml:
22287 * docs/gst/gstreamer-sections.txt:
22288 * docs/gst/tmpl/.cvsignore:
22289 * docs/gst/tmpl/gsterror.sgml:
22290 * docs/gst/tmpl/gstfilter.sgml:
22291 * docs/gst/tmpl/gsturihandler.sgml:
22292 * docs/gst/tmpl/gsturitype.sgml:
22293 * docs/gst/tmpl/gstutils.sgml:
22294 * docs/gst/tmpl/gstxml.sgml:
22299 * gst/gsturitype.c:
22302 inlined more docs, fixed double id-ref
22304 2005-08-31 Wim Taymans <wim@fluendo.com>
22306 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
22307 (gst_base_transform_handle_buffer):
22308 Passthrough elements don't need the caps as they don't care.
22310 2005-08-31 Wim Taymans <wim@fluendo.com>
22312 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
22313 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
22314 Don't leak refcounts on buffers.
22316 2005-08-31 Wim Taymans <wim@fluendo.com>
22318 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
22319 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22320 (gst_base_transform_chain), (gst_base_transform_change_state):
22321 * gst/base/gstbasetransform.h:
22322 Handle the case where we are not negotiated more gracefully.
22324 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
22326 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
22327 (gst_file_src_map_region):
22328 Set READONLY flag on mmap'ed buffers, otherwise
22329 gst_buffer_make_writable() won't work properly (#314708).
22331 2005-08-31 Wim Taymans <wim@fluendo.com>
22333 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
22334 passthrough elements can even do inplace on non writable
22335 buffers (as they don't touch them).
22337 2005-08-31 Stefan Kost <ensonic@users.sf.net>
22339 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
22340 (gst_test_mono_source_set_property),
22341 (gst_test_mono_source_class_init), (GST_START_TEST),
22342 (gst_controller_suite):
22343 more tests (hehe I have the most)
22345 describe popping messages whenusing mulltiple sources
22346 * libs/gst/controller/gst-controller.c:
22347 (gst_controlled_property_set_interpolation_mode),
22348 (gst_controlled_property_new):
22349 * libs/gst/controller/gst-controller.h:
22350 * libs/gst/controller/gst-interpolation.c:
22351 implement boolean properties
22353 2005-08-31 Wim Taymans <wim@fluendo.com>
22355 * gst/gstminiobject.c: (gst_mini_object_ref):
22356 Cannot assert that the refcount has to be positive
22357 since a disposed object can be resurrected.
22359 2005-08-31 Wim Taymans <wim@fluendo.com>
22361 * gst/gstpad.c: (gst_pad_init):
22362 Revert change, need to first fix badly behaving
22365 2005-08-30 Wim Taymans <wim@fluendo.com>
22367 * check/elements/fakesrc.c: (setup_fakesrc):
22368 * check/elements/identity.c: (setup_identity):
22369 Activate pads before using them.
22371 2005-08-30 Wim Taymans <wim@fluendo.com>
22373 * gst/base/gstadapter.c: (gst_adapter_flush):
22374 Flushing out 0 bytes is ok for this function.
22376 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22377 no newsegment gives a warning and sets the start/stop to
22380 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
22381 (gst_base_transform_set_passthrough):
22384 * gst/gstminiobject.c: (gst_mini_object_ref):
22385 Check refcount here too.
22387 * gst/gstpad.c: (gst_pad_init):
22388 Pads are initially flushing and refusing data.
22390 * gst/gstutils.c: (gst_element_link_pads_filtered):
22391 When adding a capsfilter element make sure it has the
22392 same state as the parent bin.
22394 2005-08-30 Stefan Kost <ensonic@users.sf.net>
22396 * docs/gst/tmpl/.cvsignore:
22397 * docs/gst/tmpl/gstformat.sgml:
22398 * docs/gst/tmpl/gstversion.sgml:
22402 * gst/gstversion.h.in:
22403 more docs and two more inlined
22405 2005-08-30 Wim Taymans <wim@fluendo.com>
22407 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
22408 Don't sync to clock.
22410 2005-08-30 Stefan Kost <ensonic@users.sf.net>
22412 * docs/gst/gstreamer-sections.txt:
22413 ultral33t func10ns deserve to appear in the docs actually
22414 * docs/gst/tmpl/.cvsignore:
22415 * docs/gst/tmpl/gstcompat.sgml:
22416 * docs/gst/tmpl/gstconfig.sgml:
22417 * gst/check/gstcheck.c:
22419 * gst/gstconfig.h.in:
22422 2005-08-30 Stefan Kost <ensonic@users.sf.net>
22424 * docs/gst/tmpl/.cvsignore:
22425 * docs/gst/tmpl/gstquery.sgml:
22426 * docs/gst/tmpl/gstutils.sgml:
22429 inlined and extended docs
22431 2005-08-30 Stefan Kost <ensonic@users.sf.net>
22433 * check/gst-libs/controller.c: (GST_START_TEST),
22434 (gst_controller_suite):
22436 * docs/gst/tmpl/gstutils.sgml:
22437 * docs/libs/gstreamer-libs-sections.txt:
22438 * docs/libs/tmpl/gstdataprotocol.sgml:
22440 * examples/controller/audio-example.c: (main):
22441 controller example works now
22444 * tools/gst-inspect.c: (print_element_properties_info):
22445 show param spec flags
22447 2005-08-29 Andy Wingo <wingo@pobox.com>
22449 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
22451 2005-08-28 Andy Wingo <wingo@pobox.com>
22453 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
22454 as having two arguments instead of just one. Allows superclasses
22455 to access information on subclasses -- see the terrible for() loop
22456 in gtype.c:g_type_create_instance for the reason why. All callers
22459 2005-08-27 Stefan Kost <ensonic@users.sf.net>
22461 * docs/design/part-messages.txt:
22463 * docs/gst/tmpl/.cvsignore:
22464 * docs/gst/tmpl/gstcaps.sgml:
22465 * docs/gst/tmpl/gstclock.sgml:
22471 * gst/gstmessage.c:
22472 added descriptions for bus and message
22473 inline caps and clock docs
22475 2005-08-27 Stefan Kost <ensonic@users.sf.net>
22477 * gst/gstmessage.c:
22478 * gst/gstmessage.h:
22481 2005-08-27 Stefan Kost <ensonic@users.sf.net>
22483 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
22486 2005-08-26 Andy Wingo <wingo@pobox.com>
22488 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
22489 element_set_state's return val.
22490 (test_2_elements): Add test that's been disabled for months.
22492 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
22493 can-activate-pull properties.
22495 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
22496 can-activate-pull properties. Implement is_seekable so fakesrc can
22497 operate in pull mode.
22499 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
22501 (gst_base_sink_activate, gst_base_sink_activate_pull)
22502 (gst_base_sink_activate_push): Make activation mode choosing work.
22504 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
22505 is right. Make pull mode work. Post an eos before pausing in pull
22507 (gst_base_sink_change_state): Pay attention to the core's
22508 change_state() return val.
22510 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
22511 has-getrange properties. Cleanups.
22513 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
22514 has_getrange and replace with can_activate_pull and
22517 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
22518 locking comments. Remove has_loop, has_chain and replace with
22519 can_activate_pull and can_activate_push.
22521 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
22524 * examples/Makefile.am:
22525 * examples/metadata/Makefile.am:
22526 * examples/metadata/read-metadata.c: (message_loop),
22527 (have_pad_handler), (make_pipeline), (print_tag), (main):
22528 Add metadata reading example that loops over a list of filenames,
22529 dumping any tags found.
22531 * gst/gstbus.c: (gst_bus_dispose):
22532 * gst/gstelement.c: (gst_element_dispose):
22533 Release a few potentially-held references in dispose.
22535 2005-08-26 Stefan Kost <ensonic@users.sf.net>
22537 * docs/gst/tmpl/gstminiobject.sgml:
22538 do *not* add tmpl/*.sgml files to CVS!
22540 2005-08-26 Stefan Kost <ensonic@users.sf.net>
22542 * libs/gst/bytestream/.cvsignore:
22543 * libs/gst/bytestream/Makefile.am:
22544 * libs/gst/bytestream/adapter.c:
22545 * libs/gst/bytestream/adapter.h:
22546 * libs/gst/bytestream/bytestream.c:
22547 * libs/gst/bytestream/bytestream.h:
22548 * libs/gst/bytestream/filepad.c:
22549 * libs/gst/bytestream/filepad.h:
22550 removing obsolete files
22552 2005-08-26 Stefan Kost <ensonic@users.sf.net>
22554 * docs/gst/gstreamer-docs.sgml:
22555 * docs/libs/gstreamer-libs-docs.sgml:
22556 disabed additional index entries again, as this makes docs-gen just
22557 slow and they aren't useful yet
22558 * docs/libs/gstreamer-libs-sections.txt:
22559 little -section.txt cleanup for libs
22561 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
22563 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22564 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
22565 fix up some debugging
22566 (gst_base_transform_get_unit_size),
22567 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
22568 (gst_base_transform_handle_buffer):
22569 * gst/base/gstbasetransform.h:
22570 handle and store timed NEWSEGMENT events so that subclasses that
22571 calculate time by counting samples have a segment_start time they
22572 need to add to their timestamps - see audioresample
22574 2005-08-26 Stefan Kost <ensonic@users.sf.net>
22577 removed ';' from the end of macro defs
22578 * docs/gst/gstreamer-docs.sgml:
22579 * docs/gst/gstreamer-sections.txt:
22580 * docs/gst/tmpl/.cvsignore:
22582 * gst/gstelement.c: (gst_element_class_init),
22583 (gst_element_set_state), (activate_pads),
22584 (gst_element_save_thyself):
22585 * gst/gstevent.c: (gst_event_new_newsegment):
22587 * gst/gstiterator.c:
22588 * gst/gstiterator.h:
22591 * gst/gstutils.c: (gst_pad_query_convert):
22593 fixed parameter name mismatches between source, header and docs
22594 added some more docs, resolved the last batch of unused elements in
22595 docs (now someone needs to doc them)
22597 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
22599 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
22600 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
22601 don't walk through the plugins backwards. Where is all this
22602 reversed logic coming from ?
22604 2005-08-25 Wim Taymans <wim@fluendo.com>
22606 * gst/base/gstbasetransform.c: (gst_base_transform_init),
22607 (gst_base_transform_transform_size),
22608 (gst_base_transform_configure_caps),
22609 (gst_base_transform_get_unit_size),
22610 (gst_base_transform_buffer_alloc),
22611 (gst_base_transform_change_state):
22612 * gst/base/gstbasetransform.h:
22613 Cache caps unit_size.
22614 Make sure we cannot negotiate up and downstream at the
22617 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
22619 * gst/gst.c: (init_pre), (init_post):
22620 register the installed plugin path after the env var
22621 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
22622 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
22623 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
22624 directories, so the tests can prefer uninstalled over installed
22626 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
22628 * gst/base/gstbasetransform.h:
22633 2005-08-25 Wim Taymans <wim@fluendo.com>
22635 * gst/gstbin.c: (bin_bus_handler):
22636 Be a bit more conservative about the posted message.
22638 * gst/gstbus.c: (gst_bus_post):
22639 Some cleanups, warn wrong return values.
22641 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
22643 * check/gst/gstbin.c: (GST_START_TEST):
22644 * gst/gstbin.c: (bin_bus_handler):
22645 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
22646 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
22647 (gst_message_new_warning), (gst_message_new_tag),
22648 (gst_message_new_state_changed), (gst_message_new_segment_start),
22649 (gst_message_new_segment_done), (gst_message_new_custom):
22650 * gst/gstmessage.h:
22651 * tools/gst-launch.c: (event_loop):
22652 * tools/gst-md5sum.c: (event_loop):
22653 Revert unpopular change for GST_MESSAGE_SRC to GObject.
22655 2005-08-25 Wim Taymans <wim@fluendo.com>
22657 * check/generic/states.c: (GST_START_TEST):
22658 Cleanup can be done at the end.
22660 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
22661 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
22662 (gst_task_get_state), (gst_task_start), (gst_task_pause):
22663 Oh boy.. Thanks for finding this, Thomas.
22665 2005-08-25 Stefan Kost <ensonic@users.sf.net>
22667 * docs/gst/gstreamer.types:
22668 added missing types
22670 2005-08-25 Stefan Kost <ensonic@users.sf.net>
22672 * docs/gst/gstreamer-docs.sgml:
22673 * docs/gst/gstreamer-sections.txt:
22674 * docs/gst/tmpl/.cvsignore:
22676 * gst/gstiterator.c:
22678 * gst/registries/gstxmlregistry.h:
22679 added missing classes and symbols (123 more to go)
22680 removed removed symbols from section file
22681 fixed many doc-comments
22683 2005-08-24 Wim Taymans <wim@fluendo.com>
22685 * check/generic/states.c: (GST_START_TEST):
22686 Make sure all tasks are stopped.
22688 * check/gst/gstbin.c: (GST_START_TEST):
22689 Unref after usage for proper valgrinding.
22691 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
22692 Really wait for the task to stop before destroying the
22695 * gst/gstqueue.c: (gst_queue_sink_activate_push),
22696 (gst_queue_src_activate_push):
22697 Small cleanups. Don't stop the task when we did not start
22700 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
22701 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
22702 (gst_task_get_state), (gst_task_start), (gst_task_pause),
22705 Protect the stream lock with the object lock.
22706 Disallow setting the stream lock when running.
22707 Add cleanup_all to wait for the threadpool to finish.
22708 Remove code to autoallocate a mutex if none was provided.
22709 Add _join() to wait for a task to stop.
22710 Protect the thread pool with a global lock.
22712 2005-08-24 Wim Taymans <wim@fluendo.com>
22714 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22715 (gst_base_sink_get_times), (gst_base_sink_do_sync),
22716 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
22717 * gst/base/gstbasesink.h:
22718 Handle newsegment events correctly.
22719 Drop buffers out of the segment range.
22721 2005-08-22 Andy Wingo <wingo@pobox.com>
22723 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
22724 macro, implements an interface and gstimplementsinterface for a
22727 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
22729 * check/Makefile.am:
22730 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
22731 add a test that does a bunch of state changes on elements
22732 needs some fixing for valgrind
22733 * check/states/sinks.c: (gst_object_suite):
22736 add prototype for gst_caps_is_equal_fixed
22738 * gst/gstregistrypool.c:
22741 2005-08-24 Andy Wingo <wingo@pobox.com>
22743 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
22744 convert a negative value. Doesn't make much sense. Mostly this is
22745 here to force callers to ensure -1 maps to -1.
22747 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
22749 * docs/pwg/advanced-types.xml:
22750 Well done to Michael for catching my deliberate introduction
22751 of this spelling mistake.
22752 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
22753 * gst/gstelement.h:
22754 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
22755 unlink pads before removing the element from the bin.
22757 2005-08-24 Andy Wingo <wingo@pobox.com>
22759 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
22760 the same thing as GST_DEBUG=*:4.
22761 (parse_debug_level, parse_debug_category): New helper parsers.
22763 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
22765 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22766 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
22767 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
22768 (gst_base_transform_buffer_alloc),
22769 (gst_base_transform_handle_buffer):
22770 use gboolean return values and pointers to size so we can use the
22771 full GST_BUFFER_SIZE range (guint) for buffer sizes
22772 use GstPadDirection for transform_caps
22773 * gst/base/gstbasetransform.h:
22774 rename get_size to get_unit_size since that's what it is
22775 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
22776 use GstPadDirection for transform_caps
22777 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22779 cleanup and debugging
22781 2005-08-24 Stefan Kost <ensonic@users.sf.net>
22783 * gst/gstelement.c: (gst_element_class_init),
22784 (gst_element_set_state), (activate_pads),
22785 (gst_element_save_thyself):
22786 * tools/gst-compprep.c: (main):
22787 * tools/gst-inspect.c: (print_element_properties_info):
22788 * tools/gst-xmlinspect.c: (print_element_properties):
22789 Fixed long standing mem-leak
22791 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
22793 * check/gst/gstbin.c: (GST_START_TEST):
22794 * gst/gstbin.c: (bin_bus_handler):
22795 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
22796 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
22797 (gst_message_new_warning), (gst_message_new_tag),
22798 (gst_message_new_state_changed), (gst_message_new_segment_start),
22799 (gst_message_new_segment_done), (gst_message_new_custom):
22800 * gst/gstmessage.h:
22801 * tools/gst-launch.c: (event_loop):
22802 * tools/gst-md5sum.c: (event_loop):
22803 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
22804 that applications can sensibly post custom messages with references
22805 to their own objects.
22807 2005-08-24 Andy Wingo <wingo@pobox.com>
22809 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
22812 2005-08-24 Wim Taymans <wim@fluendo.com>
22814 * gst/base/gstbasetransform.c: (gst_base_transform_init),
22815 (gst_base_transform_transform_caps),
22816 (gst_base_transform_transform_size),
22817 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22818 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22819 (gst_base_transform_handle_buffer):
22820 * gst/base/gstbasetransform.h:
22821 Many fixes and new features added by Thomas. Can now also do
22822 transforms with variable sizes and a custom fixate_caps function.
22824 2005-08-24 Wim Taymans <wim@fluendo.com>
22826 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22830 Cast to ClockTime before formatting to time.
22835 2005-08-24 Stefan Kost <ensonic@users.sf.net>
22837 * check/gst-libs/controller.c: (GST_START_TEST),
22838 (gst_controller_suite):
22839 * docs/gst/tmpl/gstcaps.sgml:
22840 * docs/gst/tmpl/gstghostpad.sgml:
22841 * docs/gst/tmpl/gstquery.sgml:
22842 * docs/gst/tmpl/gstutils.sgml:
22843 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
22844 (gst_object_sink_values), (gst_object_get_value_arrays),
22845 (gst_object_get_value_array):
22846 gracefully handle helper method calls to objects that are not beeing
22847 controlled, added test case for that
22849 2005-08-23 Wim Taymans <wim@fluendo.com>
22851 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
22852 (gst_event_new_newsegment), (gst_event_parse_newsegment),
22853 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
22854 (gst_event_parse_qos), (gst_event_new_seek),
22855 (gst_event_parse_seek):
22857 Some more debugging output and doc cleanups.
22859 * gst/gstqueue.c: (gst_queue_handle_sink_event):
22860 Fix possible deadlock.
22862 2005-08-23 Stefan Kost <ensonic@users.sf.net>
22864 * docs/gst/gstreamer-docs.sgml:
22865 * docs/gst/gstreamer-sections.txt:
22866 * docs/gst/gstreamer.types:
22867 * docs/gst/tmpl/.cvsignore:
22870 * gst/gstelement.c:
22872 added 100 symbols from gstreamer-unused.txt to the right sections
22873 fixed more broken comments
22874 added GstBus to docs
22876 2005-08-23 Stefan Kost <ensonic@users.sf.net>
22878 * docs/gst/gstreamer-sections.txt:
22879 * docs/gst/tmpl/.cvsignore:
22880 * docs/gst/tmpl/gstbin.sgml:
22881 * docs/gst/tmpl/gstbuffer.sgml:
22882 * gst/base/gstbasesrc.c:
22883 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
22886 * tools/gst-launch.1.in:
22887 inlined more doc comments, added missing comments and fixed comments
22890 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
22892 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22896 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
22898 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
22899 * gst/gststructure.h:
22900 add a fixate function for booleans; add a FIXME that these func
22901 names should probably be gst_structure_fixate_*
22903 2005-08-23 Stefan Kost <ensonic@users.sf.net>
22905 * docs/gst/gstreamer-docs.sgml:
22906 * docs/gst/gstreamer-sections.txt:
22908 * gst/gstbin.c: (gst_bin_get_type),
22909 (gst_bin_child_proxy_get_child_by_index),
22910 (gst_bin_child_proxy_get_children_count),
22911 (gst_bin_child_proxy_init):
22912 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
22913 (gst_child_proxy_get_child_by_index),
22914 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
22915 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
22916 (gst_child_proxy_get), (gst_child_proxy_set_property),
22917 (gst_child_proxy_set_valist), (gst_child_proxy_set),
22918 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
22919 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
22920 * gst/gstchildproxy.h:
22921 * gst/parse/grammar.y:
22922 * tools/gst-inspect.c: (print_interfaces),
22923 (print_element_properties_info), (print_element_info):
22924 ported gstchildproxy over from 0.8
22925 ported gst-inspect fixes and enhancements over from 0.8
22927 2005-08-22 Wim Taymans <wim@fluendo.com>
22929 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22930 (gst_base_transform_handle_buffer):
22931 Also call the transform function if we have ANY caps.
22933 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
22936 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
22938 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
22939 Don't pretend to handle seek events if the source is not seekable
22941 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
22943 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22944 Remove extra parameter to debug output
22946 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22947 (gst_base_src_do_seek), (gst_base_src_activate_push):
22948 Fix seek event handling.
22950 * gst/gstpipeline.c: (gst_pipeline_change_state):
22951 * gst/gstqueue.c: (gst_queue_handle_sink_event),
22952 (gst_queue_src_activate_push):
22953 Don't start the src pad task on FLUSH_STOP if the pad
22957 2005-08-22 Wim Taymans <wim@fluendo.com>
22959 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
22960 Added check for gst_static_caps_get() refcounting.
22962 2005-08-22 Wim Taymans <wim@fluendo.com>
22964 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
22965 Make _static_caps_get() refcounting sane.
22967 * gst/gstelement.c: (gst_element_set_state):
22968 Add g_return_val_if_fail() to protect against segfaults.
22970 2005-08-22 Stefan Kost <ensonic@users.sf.net>
22972 * docs/gst/tmpl/gstevent.sgml:
22975 inlined remaining docs, added missing doc comments
22977 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
22979 * check/gst/gstbin.c: (GST_START_TEST):
22980 since we don't know when preroll is done, use refcount range
22982 * gst/check/gstcheck.h:
22983 add macro for checking refcount range
22985 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
22987 * check/Makefile.am:
22988 clean up environment for when registry gets built versus
22989 when actual tests are run; valgrind seems to not report
22990 leaks if GST_PLUGIN_PATH is set to some specific values
22991 * check/gst/gstbin.c: (GST_START_TEST):
22992 add more refcounting checks; maybe this exposes a
22994 * common/check.mak:
22995 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22996 * gst/check/gstcheck.h:
22997 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
22998 (gst_bin_change_state):
22999 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
23000 add/fix debugging/whitespace
23002 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
23004 * check/gst/gstevent.c: (event_probe), (test_event),
23006 Er, don't call gst_bin_watch_for_state_change you idiot.
23008 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
23010 * check/Makefile.am:
23011 Use CHECK_CFLAGS and CHECK_LIBS
23012 * check/gst/gstevent.c: (event_probe), (test_event),
23015 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23016 (gst_base_src_start), (gst_base_src_stop),
23017 (gst_base_src_activate_push), (gst_base_src_activate_pull),
23018 (gst_base_src_change_state):
23019 Sprinkle gst_base_src_stop liberally around error paths to fix
23020 problems reusing a source after failed state changes.
23021 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23022 (helper_find_suggest), (gst_type_find_helper):
23023 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
23025 * docs/gst/tmpl/gstevent.sgml:
23026 Migrate part of the docs from the SGML file. Wait for ensonic to
23027 tell me how I did it wrong ;)
23028 * tools/gst-typefind.c: (main):
23029 Extra robustness to state changes between files.
23031 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
23033 * check/Makefile.am:
23034 don't valgrind the controller test - it's leaking - Stefan, HELP
23035 * gst/check/gstcheck.c: (gst_check_message_error),
23036 (gst_check_chain_func), (gst_check_setup_element),
23037 (gst_check_teardown_element), (gst_check_setup_src_pad),
23038 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
23039 (gst_check_teardown_sink_pad):
23040 * gst/check/gstcheck.h:
23041 add a bunch of methods to set up elements, and src and sink pads
23042 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
23043 * check/elements/identity.c: (setup_identity), (cleanup_identity),
23046 * gst/gstmessage.c:
23048 whitespace/doc fixes
23050 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
23052 * gst/gstelement.h:
23053 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
23054 be handled by the application and not always printed as well
23056 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
23058 * check/Makefile.am:
23060 * gst/check/gstcheck.c: (gst_check_message_error):
23061 * gst/check/gstcheck.h:
23062 add a fail_unless_equals_int
23063 add fail_unless for error messages
23065 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
23067 * check/Makefile.am:
23069 * common/Makefile.am:
23070 * common/check.mak:
23072 factor out some of the common stuff so we can use it
23074 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
23076 * check/Makefile.am:
23077 * check/gst/gstiterator.c: (GST_START_TEST):
23078 * check/gst/gstsystemclock.c: (GST_START_TEST),
23079 (gst_systemclock_suite):
23080 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
23082 valgrind more tests
23084 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
23086 * check/elements/.cvsignore:
23087 * check/elements/gstfakesrc.c:
23088 rename to name of element
23089 * check/elements/identity.c: (chain_func), (event_func),
23090 (setup_identity), (cleanup_identity), (GST_START_TEST),
23091 (identity_suite), (main):
23092 add a test for identity
23093 * check/Makefile.am:
23094 * pkgconfig/Makefile.am:
23095 * pkgconfig/gstreamer-check.pc.in:
23096 * pkgconfig/gstreamer-check-uninstalled.pc.in:
23100 move the check stuff to a library that gets installed
23101 * check/gst-libs/controller.c: (GST_START_TEST):
23102 * check/gst-libs/gdp.c:
23103 * check/gst/gst.c: (GST_START_TEST):
23104 * check/gst/gstbin.c:
23105 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23106 * check/gst/gstbus.c:
23107 * check/gst/gstcaps.c: (GST_START_TEST):
23108 * check/gst/gstelement.c:
23109 * check/gst/gstghostpad.c:
23110 * check/gst/gstiterator.c:
23111 * check/gst/gstmessage.c:
23112 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
23113 * check/gst/gstobject.c:
23114 * check/gst/gstpad.c: (GST_START_TEST):
23115 * check/gst/gststructure.c: (GST_START_TEST):
23116 * check/gst/gstsystemclock.c: (GST_START_TEST),
23117 (gst_systemclock_suite):
23118 * check/gst/gsttag.c: (gst_tag_suite):
23119 * check/gst/gstvalue.c:
23120 * check/pipelines/cleanup.c:
23121 * check/pipelines/simple_launch_lines.c:
23122 * check/states/sinks.c:
23123 change include statement
23125 * docs/gst/gstreamer-sections.txt:
23126 * docs/gst/tmpl/gstpad.sgml:
23127 document more pad stuff
23128 * gst/gstminiobject.c: (gst_mini_object_ref),
23129 (gst_mini_object_unref):
23132 2005-08-19 Stefan Kost <ensonic@users.sf.net>
23134 * docs/gst/tmpl/gst.sgml:
23136 eliminate another tmpl file, fix spelling in the long-description
23138 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
23140 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23141 (test_event), (timediff), (gstevents_suite):
23142 Should fix build on 64-bit arch's
23144 2005-08-18 Andy Wingo <wingo@pobox.com>
23146 Make sure that when a pipeline goes to PLAYING, that data has
23147 actually hit the sink.
23149 * check/states/sinks.c (test_sink): A sink that doesn't get any
23150 data shouldn't return SUCCESS for going to either PLAYING or
23151 PAUSED. Test also the return values on the way back down.
23153 * gst/gstelement.c (gst_element_set_state): When changing the
23154 state of an element currently changing state asynchronously, go to
23155 lost-state after commiting the pending state. Makes future calls
23156 to get_state continue to return ASYNC.
23158 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
23159 ASYNC when going to PLAYING if we still don't have preroll, as can
23160 happen with live sources.
23162 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
23164 * docs/pwg/advanced-types.xml:
23165 Hack long paragraph into 2 chunks as a workaround for buggy
23166 jadetex version in sid and breezy that loops infinitely and
23169 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
23171 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23172 (test_event), (timediff), (gstevents_suite):
23173 Provide more error margin in clock measurements to allow for
23174 g_get_current_time inaccuracies.
23176 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
23178 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23179 (test_event), (timediff), (gstevents_suite):
23180 Fix error message output so I might be able to tell why the
23181 test works here but fails on the build farm.
23183 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
23185 * check/Makefile.am:
23186 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23187 (test_event), (timediff), (gstevents_suite), (main):
23190 * docs/design/part-seeking.txt:
23191 Spelling correction
23193 * docs/gst/tmpl/gstevent.sgml:
23194 * docs/gst/tmpl/gstfakesrc.sgml:
23197 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23198 Treat a buffer-without-newsegment the same as a receiving
23199 a newsegment not in time format, and disable syncing to the clock
23202 * gst/gstbus.c: (gst_bus_set_sync_handler):
23203 Assert if anyone tries to replace the existing sync_handler for bus,
23204 as only the owner should be setting it.
23207 Have a fixed set of custom event enums with events identified by
23208 their structure name (as in 0.8), rather than a free-for-all
23209 allowing collisions between enum values from different plugins.
23211 * gst/gstpad.c: (gst_pad_class_init):
23214 * gst/gstqueue.c: (gst_queue_handle_sink_event):
23215 Handle out-of-band downstream events from the sending thread.
23217 2005-08-17 Andy Wingo <wingo@pobox.com>
23219 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
23220 play-timeout==0 to mean no timeout at all. In that case, don't
23221 bother with a get_state or a warning, just return directly, even
23224 * gst/base/gstbasetransform.c: Debug changes.
23227 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
23228 ensure bins post state change messages. A bit of a hack but I can't
23229 think of a way to avoid it.
23231 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
23233 2005-08-16 Andy Wingo <wingo@pobox.com>
23235 * gst/base/gstadapter.h:
23236 * gst/base/gstadapter.c (gst_adapter_take): New function, like
23237 peek() but you own the data. Not terribly efficient atm.
23239 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23241 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
23242 (gst_element_found_tags):
23244 Add two utility functions for tag handling.
23246 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23248 * docs/manual/advanced-dataaccess.xml:
23249 * docs/manual/basics-helloworld.xml:
23250 Fix docs to use _bin_add() before _link(), which fixes the examples
23251 with recent core versions (reported by Madhan Raj M
23252 <raj_madan@rediffmail.com>, #313199).
23254 2005-08-16 Wim Taymans <wim@fluendo.com>
23256 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
23257 Added subtract checks.
23259 * docs/design/part-events.txt:
23260 Some more docs about newsegment
23262 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
23265 * gst/gstcaps.c: (gst_caps_to_string):
23266 Add comments, cleanups.
23268 * gst/gstelement.c: (gst_element_save_thyself):
23271 * gst/gstvalue.c: (gst_value_collect_int_range),
23272 (gst_string_unwrap), (gst_value_union_int_int_range),
23273 (gst_value_union_int_range_int_range),
23274 (gst_value_intersect_int_int_range),
23275 (gst_value_intersect_int_range_int_range),
23276 (gst_value_intersect_double_double_range),
23277 (gst_value_intersect_double_range_double_range),
23278 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
23279 (gst_value_subtract_int_range_int),
23280 (gst_value_subtract_double_range_double),
23281 (gst_value_subtract_double_range_double_range),
23282 (gst_value_subtract_from_list), (gst_value_subtract_list),
23283 (gst_value_can_compare), (gst_value_compare_fraction):
23284 Cleanups, add comments, remove unneeded asserts.
23286 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
23288 * tools/gst-launch.c: (event_loop):
23289 don't convert NULL structures to strings
23291 2005-08-15 Stefan Kost <ensonic@users.sf.net>
23293 * docs/gst/gstreamer-sections.txt:
23294 made some defines private
23295 * docs/gst/tmpl/gstconfig.sgml:
23296 * docs/gst/tmpl/gstqueue.sgml:
23297 * docs/gst/tmpl/gsttaglist.sgml:
23298 * docs/gst/tmpl/gsttypes.sgml:
23299 * docs/gst/tmpl/gstutils.sgml:
23300 * docs/pwg/appendix-porting.xml:
23301 * gst/base/gstbasesink.h:
23302 * gst/base/gstbasesrc.c:
23303 * gst/base/gstbasesrc.h:
23304 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
23305 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
23306 * gst/gstelement.c: (gst_element_class_init):
23307 * gst/gstpad.c: (gst_pad_class_init):
23308 * gst/gstqueue.c: (gst_queue_class_init):
23309 * gst/gstxml.c: (gst_xml_class_init):
23310 documented all undocumented signal inline
23311 * libs/gst/controller/gst-controller.h:
23314 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23316 * docs/pwg/appendix-porting.xml:
23317 Document _set_link_function -> _set_setcaps_function.
23319 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
23321 * check/Makefile.am:
23322 add a .check target for running the check
23323 * check/gst-libs/controller.c: (GST_START_TEST):
23325 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23326 complete checks for gstbuffer; would be nice if I could get the
23327 gcov stuff to work so I can see if I actually completed gstbuffer.c
23328 * check/gstcheck.h:
23329 add ASSERT_BUFFER_REFCOUNT
23331 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
23333 * docs/gst/gstreamer-sections.txt:
23334 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
23336 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
23337 spew out a warning if a tag that is already registered
23338 is re-registered, unless it is re-registered with a
23339 different type (#308438).
23341 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
23343 * docs/pwg/appendix-porting.xml:
23344 * docs/pwg/building-state.xml:
23345 Add some paragraphs about state changes in 0.9 to the PWG
23346 and the porting guide, in particular about the new meaning
23347 of GST_STATE_PAUSED and how to write state change functions
23348 with concurrent access by multiple threads in mind.
23350 2005-08-11 Stefan Kost <ensonic@users.sf.net>
23352 * docs/gst/gstreamer-docs.sgml:
23353 * docs/libs/gstreamer-libs-docs.sgml:
23354 added deprecation and since indexes
23355 * libs/gst/controller/gst-controller.c:
23356 * libs/gst/controller/gst-helper.c:
23360 2005-08-11 Wim Taymans <wim@fluendo.com>
23362 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
23363 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
23364 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
23365 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
23366 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
23367 (gst_ghost_pad_set_target):
23368 Actually implement (re)setting the target on a ghostpad
23369 as described in the docs.
23371 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
23373 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
23374 Check whether GST_DEBUG_NO_COLOR environment variable is
23375 set and disable coloured debug output if that is the case.
23377 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
23379 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23380 (gst_type_find_helper):
23381 The memory returned by gst_type_find_peek() needs to
23382 stay valid until the end of a typefind function, and
23383 typefind functions may keep results from different
23384 offsets around, so we can't just unref the buffer from
23385 the previous _peek(), but have to save all buffers
23386 returned by _peek() until typefinding is done and only
23389 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
23391 * docs/gst/gstreamer-sections.txt:
23393 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
23395 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23397 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
23398 Fix a pretty good memleak.
23400 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
23402 * gst/gstiterator.h:
23403 Fix wrong include and 'make distcheck'.
23405 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23407 * gst/gstbin.c: (bin_bus_handler):
23408 Use gst_element_post_message() instead.
23410 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
23412 * gst/base/gstadapter.h:
23413 * gst/base/gstbasesink.h:
23414 * gst/base/gstbasesrc.h:
23415 * gst/base/gstbasetransform.h:
23416 * gst/base/gstcollectpads.h:
23417 * gst/base/gstpushsrc.h:
23418 * gst/gstiterator.h:
23419 Add padding to our base elements' class and instance structs and
23420 to GstIterator (you will need to rebuild all plugins and apps!)
23422 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23424 * gst/gstbin.c: (bin_bus_handler):
23425 Make default message forwarding from child->bus to bin->bus
23426 threadsafe and make it not emit warnings if the parent has no bus.
23428 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23430 * gst/gstelement.c: (activate_pads):
23431 On paused->ready, set pad->caps to NULL, as is the documented
23432 behaviour in this state change. Fixes playback of series of
23433 media files when visualization is enabled in Totem.
23435 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23437 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
23438 Allow NULL as filter-caps (which means "any").
23440 2005-08-05 Stefan Kost <ensonic@users.sf.net>
23442 * docs/libs/gstreamer-libs-sections.txt:
23443 * libs/gst/controller/gst-controller.c:
23444 * libs/gst/controller/gst-controller.h:
23445 * libs/gst/controller/gst-helper.c:
23446 adding more entries to the docs and fix small doc-bugs
23448 2005-08-05 Stefan Kost <ensonic@users.sf.net>
23450 * docs/gst/gstreamer-docs.sgml:
23451 * docs/gst/gstreamer-sections.txt:
23452 * docs/gst/gstreamer.types:
23453 * docs/gst/tmpl/gstbasesink.sgml:
23454 * docs/gst/tmpl/gstbasesrc.sgml:
23455 * docs/gst/tmpl/gstbasetransform.sgml:
23456 * docs/gst/tmpl/gstfakesrc.sgml:
23457 * gst/base/gstcollectpads.c:
23458 * gst/base/gstcollectpads.h:
23459 * libs/gst/controller/gst-controller.c:
23460 * libs/gst/controller/gst-controller.h:
23461 * libs/gst/controller/gst-helper.c:
23462 * libs/gst/controller/gst-interpolation.c:
23463 * libs/gst/controller/lib.c:
23464 added long/short desc for controller docs
23465 added collectpads base class docs
23466 added correct includes to base-class docs
23468 2005-08-05 Stefan Kost <ensonic@users.sf.net>
23470 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
23471 (gst_test_mono_source_set_property),
23472 (gst_test_mono_source_class_init), (GST_START_TEST),
23473 (gst_controller_suite):
23474 * docs/gst/gstreamer-docs.sgml:
23475 * docs/gst/gstreamer-sections.txt:
23476 * docs/gst/gstreamer.types:
23477 * docs/libs/gstreamer-libs-docs.sgml:
23478 * docs/libs/gstreamer-libs-sections.txt:
23479 * gst/base/gstadapter.c:
23480 * libs/gst/controller/gst-controller.c:
23481 (gst_controlled_property_new), (gst_controlled_property_free),
23482 (gst_controller_new_valist),
23483 (gst_controller_remove_properties_valist),
23484 (gst_controller_sink_values), (_gst_controller_finalize):
23485 * libs/gst/controller/gst-controller.h:
23486 * libs/gst/controller/gst-helper.c:
23487 (gst_object_control_properties), (gst_object_uncontrol_properties),
23488 (gst_object_get_controller), (gst_object_set_controller),
23489 (gst_object_sink_values), (gst_object_get_value_arrays),
23490 (gst_object_get_value_array):
23491 more tests (and fixes) for the controller
23492 more docs for the controller
23493 integrated companies docs for the adapter
23495 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
23497 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
23498 (GST_START_TEST), (fakesrc_suite):
23499 add tests for sizetype
23501 2005-08-04 Andy Wingo <wingo@pobox.com>
23503 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
23504 fixes buffer_alloc proxying among other things.
23506 * gst/base/gstbasetransform.c:
23507 * gst/base/gstbasetransform.h:
23508 Revert patch to gstbasetransform from 7-28 removing
23511 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
23512 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
23513 Semantics changed, should return not the size of the output buffer
23514 but the byte size of a buffer with a given caps.
23516 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
23518 (gst_base_transform_configure_caps): Don't set out_size here: (in,
23519 out) are not the pad caps until setcaps finishes.
23520 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
23521 not-in-place case as well. Deal with changing from in-place to
23522 not-in-place within calling pad_alloc_buffer. Still a bit
23523 concerned about the overhead here...
23525 2005-08-03 Andy Wingo <wingo@pobox.com>
23527 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
23528 fixating is an error.
23530 2005-08-04 Edward Hervey <edward@fluendo.com>
23532 * gst/base/gstadapter.h:
23533 Added gst_adapter_get_type() to the header
23535 2005-08-03 Stefan Kost <ensonic@users.sf.net>
23537 * check/Makefile.am:
23538 * check/gst-libs/controller.c:
23539 * libs/gst/controller/gst-controller.c:
23540 (gst_controller_new_valist):
23541 added check test suite for the controller
23542 * gst/base/gstpushsrc.c:
23545 2005-08-03 Stefan Kost <ensonic@users.sf.net>
23547 * docs/gst/Makefile.am:
23548 * docs/gst/gstreamer-docs.sgml:
23549 * docs/gst/gstreamer-sections.txt:
23550 * docs/gst/gstreamer.types:
23551 * docs/gst/tmpl/gstfakesrc.sgml:
23553 * gst/base/gstbasesink.c:
23554 * gst/base/gstbasesink.h:
23555 * gst/base/gstbasesrc.c:
23556 * gst/base/gstbasesrc.h:
23557 * gst/base/gstbasetransform.c:
23558 * gst/base/gstpushsrc.c:
23559 * gst/base/gstpushsrc.h:
23560 add short/long description docs to base classes
23561 add pushsrc to the docs
23562 remove consolidated doc fragments
23564 2005-08-03 Stefan Kost <ensonic@users.sf.net>
23567 * docs/libs/Makefile.am:
23568 * docs/libs/gstreamer-libs-docs.sgml:
23569 * docs/libs/gstreamer-libs-sections.txt:
23570 * docs/libs/gstreamer-libs.types:
23571 * examples/Makefile.am:
23572 * examples/controller/.cvsignore:
23573 * examples/controller/Makefile.am:
23574 * examples/controller/audio-example.c: (main):
23575 * libs/gst/Makefile.am:
23576 * libs/gst/controller/.cvsignore:
23577 * libs/gst/controller/Makefile.am:
23578 * libs/gst/controller/gst-controller.c:
23579 (on_object_controlled_property_changed), (gst_timed_value_compare),
23580 (gst_timed_value_find),
23581 (gst_controlled_property_set_interpolation_mode),
23582 (gst_controlled_property_new), (gst_controlled_property_free),
23583 (gst_controller_find_controlled_property),
23584 (gst_controller_new_valist), (gst_controller_new),
23585 (gst_controller_remove_properties_valist),
23586 (gst_controller_remove_properties), (gst_controller_set),
23587 (gst_controller_set_from_list), (gst_controller_unset),
23588 (gst_controller_get), (gst_controller_get_all),
23589 (gst_controller_sink_values), (gst_controller_get_value_arrays),
23590 (gst_controller_get_value_array),
23591 (gst_controller_set_interpolation_mode),
23592 (_gst_controller_finalize), (_gst_controller_init),
23593 (_gst_controller_class_init), (gst_controller_get_type):
23594 * libs/gst/controller/gst-controller.h:
23595 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
23596 (g_object_uncontrol_properties), (g_object_get_controller),
23597 (g_object_set_controller), (g_object_sink_values),
23598 (g_object_get_value_arrays), (g_object_get_value_array):
23599 * libs/gst/controller/gst-interpolation.c:
23600 (gst_controlled_property_find_timed_value_node),
23601 (interpolate_none_get), (interpolate_trigger_get),
23602 (interpolate_trigger_get_value_array):
23603 * libs/gst/controller/lib.c: (gst_controller_init):
23604 * pkgconfig/Makefile.am:
23605 * pkgconfig/gstreamer-control-uninstalled.pc.in:
23606 * pkgconfig/gstreamer-control.pc.in:
23607 * testsuite/Makefile.am:
23608 * testsuite/controller/.cvsignore:
23609 * testsuite/controller/Makefile.am:
23610 * testsuite/controller/interpolator.c: (main):
23611 added controller code
23612 removed dparam pc files
23614 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
23615 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
23616 (gst_collectpads_stop):
23617 Broadcast the condition when shutting down, to make sure we wake all
23618 threads up. Shut down pads on finalize, for safety.
23620 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
23621 * gst/base/gstbasetransform.c: (gst_base_transform_init),
23622 (gst_base_transform_handle_buffer),
23623 (gst_base_transform_change_state):
23624 Handle PAUSED->READY->PAUSED transition after negotiation
23626 * gst/gstmessage.c: (gst_message_init):
23627 Extra piece of debug for new messages.
23629 2005-08-01 Stefan Kost <ensonic@users.sf.net>
23632 * docs/gst/tmpl/gstbasesrc.sgml:
23633 * docs/gst/tmpl/gstelement.sgml:
23634 * docs/gst/tmpl/gstevent.sgml:
23635 * docs/gst/tmpl/gstfakesrc.sgml:
23636 * docs/gst/tmpl/gstformat.sgml:
23637 * docs/gst/tmpl/gstghostpad.sgml:
23638 * docs/gst/tmpl/gstpad.sgml:
23639 * docs/gst/tmpl/gstquery.sgml:
23640 * docs/gst/tmpl/gststructure.sgml:
23641 * docs/gst/tmpl/gsttaglist.sgml:
23642 * docs/gst/tmpl/gstvalue.sgml:
23643 * docs/libs/gstreamer-libs-docs.sgml:
23644 * docs/libs/gstreamer-libs-sections.txt:
23645 * docs/libs/gstreamer-libs.types:
23646 * libs/gst/Makefile.am:
23647 * libs/gst/control/.cvsignore:
23648 * libs/gst/control/Makefile.am:
23649 * libs/gst/control/control.c:
23650 * libs/gst/control/control.h:
23651 * libs/gst/control/dparam.c:
23652 * libs/gst/control/dparam.h:
23653 * libs/gst/control/dparam_smooth.c:
23654 * libs/gst/control/dparam_smooth.h:
23655 * libs/gst/control/dparamcommon.h:
23656 * libs/gst/control/dparammanager.c:
23657 * libs/gst/control/dparammanager.h:
23658 * libs/gst/control/dplinearinterp.c:
23659 * libs/gst/control/dplinearinterp.h:
23660 * libs/gst/control/unitconvert.c:
23661 * libs/gst/control/unitconvert.h:
23662 * testsuite/Makefile.am:
23663 * testsuite/dynparams/.cvsignore:
23664 * testsuite/dynparams/Makefile.am:
23665 * testsuite/dynparams/dparamstest.c:
23666 * tools/Makefile.am:
23667 * tools/gst-inspect.c: (print_element_info), (main):
23668 * tools/gst-xmlinspect.c: (print_element_info), (main):
23669 deactivate and remove dparams (libgstcontrol)
23671 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
23673 * gst/elements/gsttypefindelement.c:
23674 (gst_type_find_element_have_type), (gst_type_find_element_init),
23675 (stop_typefinding), (gst_type_find_element_handle_event),
23676 (gst_type_find_element_chain), (gst_type_find_element_getrange):
23677 * gst/elements/gsttypefindelement.h:
23678 Set caps on all outgoing buffers, not just the first one.
23680 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
23682 * gst/elements/gsttypefindelement.c:
23683 (gst_type_find_element_have_type),
23684 (gst_type_find_element_check_set_buffer_caps),
23685 (gst_type_find_element_init), (stop_typefinding),
23686 (gst_type_find_element_handle_event),
23687 (gst_type_find_element_chain), (gst_type_find_element_getrange):
23688 * gst/elements/gsttypefindelement.h:
23689 Set caps on first outgoing buffer when we've found the type.
23691 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
23693 * docs/gst/gstreamer-docs.sgml:
23694 * docs/gst/gstreamer-sections.txt:
23695 * docs/gst/tmpl/gstscheduler.sgml:
23696 * docs/gst/tmpl/gstschedulerfactory.sgml:
23697 Remove some old cruft from docs.
23699 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
23702 Fix inline docs for GstPadLinkReturn.
23704 * gst/gststructure.c: (gst_structure_has_name):
23705 * gst/gststructure.h:
23706 * docs/gst/gstreamer-sections.txt:
23707 New API: gst_structure_has_name().
23709 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
23712 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
23713 and _LARGEFILE_SOURCE in config.h as required. Do not
23714 export those flags in our .pc files any longer (#142209).
23716 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
23718 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
23719 (gst_file_sink_do_seek), (gst_file_sink_event),
23720 (gst_file_sink_get_current_offset), (gst_file_sink_render):
23721 Redo seek/tell calls with large file support in mind; add some
23722 debugging messages; add log message that tells us when large
23723 file support is unavailable or not enabled for some reason.
23725 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
23726 Add log message that tells us when large file support
23727 is unavailable or not enabled for some reason.
23729 2005-07-29 Wim Taymans <wim@fluendo.com>
23731 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23732 Added test for removing an element with ghostpad from a bin.
23733 Fixed test as current implementation does the right thing.
23735 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
23736 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
23737 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
23738 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
23739 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
23740 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
23741 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
23742 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
23743 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
23744 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
23745 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
23746 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
23747 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
23748 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
23749 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
23750 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
23751 * gst/gstghostpad.h:
23752 Clean up ghostpads, remove properties for internal stuff.
23755 Prepare for switching targets, not all use cases work yet.
23757 2005-07-29 Wim Taymans <wim@fluendo.com>
23759 * docs/design/part-gstghostpad.txt:
23762 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23763 (gst_bin_remove_func):
23764 Unlinking pads while holding the bin LOCK is not a good
23767 * gst/gstpad.c: (gst_pad_class_init),
23768 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
23769 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
23770 No prob setting template after creating the pad.
23772 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
23774 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
23775 (gst_bus_peek), (gst_bus_source_dispatch),
23776 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
23777 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
23778 gst_bus_poll may be called from other threads. Handle
23779 this nicely by not making poll_data disappear off the
23780 stack once gst_bus_poll returns.
23781 gst_bus_peek now increments the refcount on the returned
23784 2005-07-29 Wim Taymans <wim@fluendo.com>
23786 * docs/design/part-gstghostpad.txt:
23787 Overview of current GhostPad datastructures and use
23788 cases for changing the target.
23790 2005-07-28 Wim Taymans <wim@fluendo.com>
23792 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23793 Added checks for hierarchy consistency whan adding linked
23796 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23797 Added check to test element scheduling without bin/pipeline.
23799 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23800 First add elements to bin, then link.
23802 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23803 (gst_bin_remove_func):
23804 Unlink pads from elements added/removed from bin to maintain
23805 hierarchy consistency.
23807 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23809 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23810 (gst_base_transform_handle_buffer):
23811 * gst/base/gstbasetransform.h:
23812 Remove broken delay_configure (fixes renegotiation of software
23813 scaling pipelines); remove some leftover printf()s.
23815 2005-07-28 Wim Taymans <wim@fluendo.com>
23817 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23818 Added some more tests for wrong hierarchy
23820 * docs/design/part-overview.txt:
23823 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
23826 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
23827 (gst_element_dispose):
23828 Some more cleanups.
23830 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23831 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
23832 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23833 (gst_pad_set_caps), (gst_pad_send_event):
23834 Check for correct hierarchy when linking pads. Moving to
23835 strict requirement for ghostpads when linking elements in
23839 Clean ups. Added WRONG_HIERARCHY return value.
23841 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23843 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
23844 Better debug if no transform is possible.
23846 2005-07-27 Wim Taymans <wim@fluendo.com>
23848 * docs/random/wtay/network-transp:
23849 Some old doc I had.
23851 2005-07-27 Wim Taymans <wim@fluendo.com>
23853 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23854 (gst_dp_event_from_packet):
23855 Fix serialization of seek events.
23857 2005-07-27 Wim Taymans <wim@fluendo.com>
23859 * check/gst-libs/gdp.c: (GST_START_TEST):
23860 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23861 Fix compilation and fix event serialization.
23863 2005-07-27 Wim Taymans <wim@fluendo.com>
23866 * docs/design/part-TODO.txt:
23867 * docs/design/part-events.txt:
23870 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23871 (gst_base_sink_event), (gst_base_sink_do_sync),
23872 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23873 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23874 (gst_base_src_do_seek), (gst_base_src_event_handler),
23875 (gst_base_src_loop):
23876 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23877 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23878 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
23879 (gst_base_transform_event), (gst_base_transform_handle_buffer),
23880 (gst_base_transform_set_passthrough),
23881 (gst_base_transform_is_passthrough):
23882 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23883 * gst/elements/gstfilesink.c: (gst_file_sink_event):
23889 * gst/gstelement.c: (gst_element_seek):
23890 * gst/gstelement.h:
23891 Update gst_element_seek.
23893 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
23894 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
23895 (gst_event_new_flush_start), (gst_event_new_flush_stop),
23896 (gst_event_new_eos), (gst_event_new_newsegment),
23897 (gst_event_parse_newsegment), (gst_event_new_tag),
23898 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
23899 (gst_event_parse_qos), (gst_event_new_seek),
23900 (gst_event_parse_seek), (gst_event_new_navigation):
23902 Make GstEvent use GstStructure. Add parsing code, make sure the
23903 API is sufficiently generic.
23904 Mark possible directions of events and serialization.
23906 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
23907 (_gst_message_copy), (gst_message_new_segment_start),
23908 (gst_message_new_segment_done), (gst_message_new_custom),
23909 (gst_message_parse_segment_start),
23910 (gst_message_parse_segment_done):
23913 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23914 (gst_pad_set_caps), (gst_pad_send_event):
23915 Update for new events.
23916 Catch events sent in wrong directions.
23918 * gst/gstqueue.c: (gst_queue_link_src),
23919 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23920 (gst_queue_handle_src_query):
23925 Remove event code from this file.
23927 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23928 (gst_dp_event_from_packet):
23931 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23933 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
23934 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23935 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
23936 Make debugging actually useful.
23938 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
23940 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
23941 (gst_pad_fixate_caps):
23942 Implement default fixation once again, so that gst_pad_fixate()
23943 actually does anything at all. This probably needs to be some
23944 sort of a last resort, and use profile-based fixation first, but
23945 since that doesn't exist yet, this is the best we have. Fixes
23946 visualization in Totem.
23948 2005-07-22 Wim Taymans <wim@fluendo.com>
23950 * docs/design/part-events.txt:
23953 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23954 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
23955 (gst_base_sink_activate_pull):
23956 Some more comments.
23958 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
23959 (gst_fake_src_create):
23960 Fix handoff marshall.
23962 * gst/elements/gstidentity.c: (gst_identity_class_init),
23963 (gst_identity_transform_ip):
23964 We're a real inplace element.
23966 * gst/gstbus.c: (gst_bus_post):
23967 Added some comments.
23969 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
23970 * tests/muxing/case1.c: (main):
23971 * tests/sched/dynamic-pipeline.c: (main):
23972 * tests/sched/interrupt1.c: (main):
23973 * tests/sched/interrupt2.c: (main):
23974 * tests/sched/interrupt3.c: (main):
23975 * tests/sched/runxml.c: (main):
23976 * tests/sched/sched-stress.c: (main):
23977 * tests/seeking/seeking1.c: (event_received), (main):
23978 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
23980 * tests/threadstate/threadstate3.c: (main):
23981 * tests/threadstate/threadstate4.c: (main):
23982 * tests/threadstate/threadstate5.c: (main):
23985 2005-07-21 Wim Taymans <wim@fluendo.com>
23987 * docs/design/part-seeking.txt:
23988 Some small additions.
23990 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23991 (gst_base_sink_get_times), (gst_base_sink_do_sync),
23992 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23993 * gst/base/gstbasesink.h:
23994 discont values are gint64, handle the math correctly.
23996 * gst/base/gstbasesrc.c: (gst_base_src_loop):
23997 Make the basesrc report error if the source pad is not linked.
23999 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
24000 (gst_queue_loop), (gst_queue_handle_src_query),
24001 (gst_queue_src_activate_push):
24002 Make queue collect data even if the srcpad is not linked.
24003 Start pushing out data as soon as it is linked.
24005 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
24007 Added gst_flow_get_name() to ease error reporting.
24009 2005-07-20 Wim Taymans <wim@fluendo.com>
24011 * gst/gstmessage.c: (gst_message_new_segment_start),
24012 (gst_message_new_segment_done), (gst_message_parse_segment_start),
24013 (gst_message_parse_segment_done):
24014 * gst/gstmessage.h:
24015 Added a bunch of messages for advanced seeking.
24017 * gst/parse/grammar.y:
24018 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
24019 (gst_dpman_state_changed):
24020 Fix some new-pad -> pad-added signals
24022 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24024 * docs/manual/appendix-porting.xml:
24025 * docs/pwg/appendix-porting.xml:
24026 Document new-pad/state-change signal renames and the FixedList
24029 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24031 * docs/manual/advanced-autoplugging.xml:
24032 * docs/manual/basics-helloworld.xml:
24033 * docs/manual/basics-pads.xml:
24034 * docs/random/ds/0.9-suggested-changes:
24035 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
24036 * gst/gstelement.h:
24040 * gst/gststructure.c: (gst_structure_value_get_generic_type),
24041 (gst_structure_parse_array), (gst_structure_parse_value):
24042 * gst/gstvalue.c: (gst_type_is_fixed),
24043 (gst_value_list_prepend_value), (gst_value_list_append_value),
24044 (gst_value_list_get_size), (gst_value_list_get_value),
24045 (gst_value_transform_array_string), (gst_value_serialize_array),
24046 (gst_value_deserialize_array), (gst_value_intersect_array),
24047 (gst_value_is_fixed), (_gst_value_initialize):
24049 GstElement::new-pad -> pad-added, GstElement::state-change ->
24050 state-changed, GstValueFixedList -> GstValueArray, add format and
24051 flags as their own arguments in gst_element_seek() (should improve
24052 "bindeability"), remove function generators since they don't work
24053 under a whole bunch of compilers (they were deprecated already
24056 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24058 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24059 (_gst_debug_register_funcptr):
24061 Fix illegal cast on some platforms (#309253).
24063 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24065 * gst/gstmessage.c: (gst_message_new_custom):
24066 * gst/gstmessage.h:
24067 Add _new_custom, make _new_application a macro to _new_custom.
24069 2005-07-20 Wim Taymans <wim@fluendo.com>
24071 * gst/base/gstbasesrc.c: (gst_base_src_init),
24072 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
24073 * gst/base/gstbasesrc.h:
24074 Add a gboolean to decide when to push out a discont.
24076 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
24077 (gst_queue_loop), (gst_queue_handle_src_query),
24078 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
24079 (gst_queue_set_property), (gst_queue_get_property):
24082 * tests/threadstate/threadstate1.c: (main):
24083 Make a thread test compile and run... very silly..
24086 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24088 * docs/manual/appendix-porting.xml:
24089 Mention removal of libgstgconf-0.9.la and existence of gconf
24092 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24094 * docs/pwg/advanced-clock.xml:
24095 * docs/pwg/appendix-porting.xml:
24096 * docs/pwg/intro-preface.xml:
24097 * docs/pwg/other-base.xml:
24098 * docs/pwg/other-manager.xml:
24099 * docs/pwg/other-nton.xml:
24100 * docs/pwg/other-ntoone.xml:
24101 * docs/pwg/other-oneton.xml:
24102 * docs/pwg/pwg.xml:
24103 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
24104 demuxer), remove n-to-n (was never written), fix some code examples
24105 and links and update the porting section to include all this.
24107 2005-07-19 Wim Taymans <wim@fluendo.com>
24109 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
24110 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
24111 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
24112 (gst_queue_src_activate_push), (gst_queue_change_state),
24113 (gst_queue_get_property):
24115 Propagate GstFlowReturn more intelligently upstream and output
24116 an ERROR/EOS when streaming stopped due to fatal error.
24118 2005-07-19 Wim Taymans <wim@fluendo.com>
24120 * tools/gst-launch.c: (check_intr), (event_loop), (main):
24121 Don't block forever for the state change to complete, the
24122 pipeline already did with a sensible timeout.
24124 2005-07-19 Wim Taymans <wim@fluendo.com>
24126 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
24127 Make sure we never call the create function is we
24130 2005-07-19 Andy Wingo <wingo@pobox.com>
24132 * gst/parse/parse.l: Attempt to solve bug #172815.
24134 2005-07-19 Wim Taymans <wim@fluendo.com>
24136 * docs/design/part-clocks.txt:
24137 * docs/design/part-events.txt:
24138 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
24139 Small docs updates.
24140 Only update the seeking values when we are not
24143 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
24145 * gst/base/gstbasesrc.c: (gst_base_src_loop):
24146 Oops, ignore the result of gst_pad_push_event here.
24148 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
24150 * gst/base/gstbasesrc.c: (gst_base_src_loop),
24151 (gst_base_src_activate_push):
24152 Send discont event from the loop function, as pads
24153 aren't activated yet in the activate_push handler.
24155 * gst/gstbin.c: (bin_bus_handler):
24156 Don't leak element name.
24158 2005-07-18 Andy Wingo <wingo@pobox.com>
24160 * configure.ac: Use AS_LIBTOOL_TAGS.
24162 2005-07-18 Wim Taymans <wim@fluendo.com>
24164 * docs/gst/gstreamer.types:
24165 Remove deleted types.
24167 2005-07-18 Wim Taymans <wim@fluendo.com>
24169 * check/elements/gstfakesrc.c: (GST_START_TEST):
24172 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
24173 (init_popt_callback):
24175 * gst/gst_private.h:
24176 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
24177 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
24180 * gst/gstconfig.h.in:
24181 * gst/gstelement.c: (gst_element_class_init),
24182 (gst_element_set_base_time), (gst_element_get_base_time),
24183 (iterator_fold_with_resync), (gst_element_change_state),
24184 (gst_element_dispose), (gst_element_get_bus):
24185 * gst/gstelement.h:
24186 * gst/gstelementfactory.h:
24187 * gst/gsterror.c: (_gst_core_errors_init):
24190 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
24192 * gst/gstinfo.c: (_gst_debug_init):
24193 * gst/gstmessage.c: (_gst_message_copy):
24194 * gst/gstmessage.h:
24195 * gst/gstminiobject.h:
24198 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24199 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
24202 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
24203 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
24204 (gst_pipeline_get_last_stream_time):
24205 * gst/gstpipeline.h:
24206 * gst/gstpluginfeature.h:
24208 * gst/gstscheduler.c:
24209 * gst/gstscheduler.h:
24210 * gst/gststructure.h:
24211 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
24212 (gst_task_finalize), (gst_task_func), (gst_task_create),
24213 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
24214 (gst_task_stop), (gst_task_pause):
24216 * gst/gsttypefind.h:
24218 * gst/registries/gstlibxmlregistry.c: (load_feature),
24219 (gst_xml_registry_load), (gst_xml_registry_save_feature):
24220 * gst/registries/gstxmlregistry.c:
24221 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
24222 * gst/schedulers/threadscheduler.c:
24223 * libs/gst/control/dparammanager.h:
24224 * tools/gst-inspect.c: (print_element_list),
24225 (print_plugin_features), (print_element_features):
24226 * tools/gst-xmlinspect.c: (print_element_list),
24227 (print_plugin_info), (main):
24228 Removed plugable schedulers.
24229 Removed Scheduler/Manager from elements.
24230 Removed gsttypes.h, rearranged includes.
24231 Removed dependency pad<->element, element<>pipeline, and
24232 various others, fix includes.
24233 implement gst_pad_get_parent() with gst_object_get_parent()
24234 Make GstTask sefcontained.
24235 Fix _get_state() on GstBin, it did not return ASYNC with a 0
24237 Fix endless loop in iterator_fold_with_resync.
24240 2005-07-18 Wim Taymans <wim@fluendo.com>
24246 2005-07-18 Wim Taymans <wim@fluendo.com>
24249 No more cothreads.h
24251 2005-07-18 Wim Taymans <wim@fluendo.com>
24255 Let's remove these.
24257 2005-07-18 Wim Taymans <wim@fluendo.com>
24259 * docs/design/part-dynamic.txt:
24260 * docs/design/part-events.txt:
24261 * docs/design/part-seeking.txt:
24262 Some more docs in the works.
24264 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24265 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
24266 (gst_base_transform_setcaps), (gst_base_transform_get_size),
24267 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
24268 (gst_base_transform_handle_buffer),
24269 (gst_base_transform_sink_activate_push),
24270 (gst_base_transform_src_activate_pull),
24271 (gst_base_transform_set_passthrough),
24272 (gst_base_transform_is_passthrough):
24275 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
24278 * gst/gstevent.c: (gst_event_finalize):
24281 * gst/gstutils.c: (gst_element_unlink),
24282 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
24283 (gst_pad_proxy_setcaps):
24285 Add _get_parent_element() to get a pads parent as an element.
24287 2005-07-18 Wim Taymans <wim@fluendo.com>
24289 * check/gst/gstbin.c: (GST_START_TEST):
24292 2005-07-18 Wim Taymans <wim@fluendo.com>
24294 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
24295 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
24296 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
24297 (gst_base_sink_event), (gst_base_sink_do_sync),
24298 (gst_base_sink_chain), (gst_base_sink_loop),
24299 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
24300 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
24302 Fix logic for returning ASYNC when not prerolled.
24304 2005-07-18 Wim Taymans <wim@fluendo.com>
24306 * gst/gstqueue.c: (gst_queue_handle_sink_event):
24307 Fix nasty refcount bug.
24309 2005-07-16 Philippe Khalaf <burger@speedy.org>
24311 * gst/elements/gstfdsrc.c:
24312 * gst/elements/gstfdsrc.h:
24313 * gst/elements/gstelements.c:
24314 * gst/elements/Makefile.am:
24315 Ported fdsrc to 0.9.
24317 2005-07-16 Wim Taymans <wim@fluendo.com>
24319 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24320 (gst_base_sink_do_sync):
24323 2005-07-16 Wim Taymans <wim@fluendo.com>
24325 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24326 (gst_base_sink_event), (gst_base_sink_get_times),
24327 (gst_base_sink_do_sync), (gst_base_sink_change_state):
24328 * gst/base/gstbasesink.h:
24329 Store and use discont values when syncing buffers as described
24332 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24333 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
24334 (gst_base_src_activate_push):
24335 Push discont event when starting.
24337 * gst/elements/gstidentity.c: (gst_identity_transform):
24340 * gst/gstbin.c: (gst_bin_change_state):
24341 Small cleanups in base_time distribution.
24343 * gst/gstelement.c: (gst_element_set_base_time),
24344 (gst_element_get_base_time), (gst_element_change_state):
24345 * gst/gstelement.h:
24346 Added methods for the base_time of the element.
24349 * gst/gstpipeline.c: (gst_pipeline_send_event),
24350 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
24351 (gst_pipeline_get_last_stream_time):
24352 * gst/gstpipeline.h:
24354 Handle seeking as described in design doc, remove stream_time
24356 Cleanups clock and stream_time selection code. Added accessors
24357 for the stream_time.
24360 2005-07-16 Andy Wingo <wingo@pobox.com>
24362 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
24365 2005-07-16 Wim Taymans <wim@fluendo.com>
24367 * check/gst/gstbin.c: (GST_START_TEST):
24368 Make elements silent as the deep_notify refs the
24369 parent, which might make the test fail.
24371 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
24372 Don't hold the lock for too long.
24374 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
24376 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
24377 Don't unref the caps we passed to gst_caps_make_writable() after
24378 passing them. gst_caps_make_writable() will do that for us.
24380 2005-07-15 Andy Wingo <wingo@pobox.com>
24382 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
24385 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
24386 own marshalling function for the handoff signal. Properly type the
24387 buffer as a buffer. Fixes some warnings. Should do a more general
24389 (gst_identity_class_init): Plug into the right marshaller.
24391 2005-07-15 Wim Taymans <wim@fluendo.com>
24393 * docs/design/part-TODO.txt:
24394 * docs/design/part-clocks.txt:
24395 * docs/design/part-element-sink.txt:
24396 * docs/design/part-events.txt:
24397 * docs/design/part-gstpipeline.txt:
24398 Updated docs, mostly DISCONT related.
24400 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
24402 * docs/pwg/building-pads.xml:
24403 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
24405 2005-07-15 Andy Wingo <wingo@pobox.com>
24407 * tools/gst-typefind.c: Update, add copyright block.
24409 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
24410 Normalize and truncate caps before fixation.
24413 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
24414 discards all but the first structure from its argument.
24416 2005-07-15 Wim Taymans <wim@fluendo.com>
24418 * gst/base/gstbasetransform.c: (gst_base_transform_init),
24419 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
24420 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24421 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
24422 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
24423 (gst_base_transform_chain), (gst_base_transform_change_state),
24424 (gst_base_transform_set_passthrough),
24425 (gst_base_transform_is_passthrough):
24426 * gst/base/gstbasetransform.h:
24427 Make passthrough work using the bufferpools.
24428 Changed API a bit, subclasses have to write into a buffer
24429 provided by the base class.
24430 More debug info in nego functions.
24432 * gst/elements/gstidentity.c: (gst_identity_init),
24433 (gst_identity_transform):
24434 Port to new base class.
24436 2005-07-15 Wim Taymans <wim@fluendo.com>
24438 * gst/gstmessage.c: (gst_message_new_state_changed):
24439 * tools/gst-launch.c: (event_loop), (main):
24440 Totally dump messages in -launch with the -m option.
24441 Fix message name for State messages,
24443 2005-07-14 Wim Taymans <wim@fluendo.com>
24445 * gst/base/gstbasesrc.c: (gst_base_src_loop):
24446 Post error messages on errors.
24448 2005-07-14 Wim Taymans <wim@fluendo.com>
24450 * gst/gstcaps.c: (gst_caps_do_simplify):
24454 Define error for stream stopped.
24456 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24457 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
24458 Do proper return values.
24460 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24461 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
24462 (gst_pad_get_range):
24463 Better return values.
24466 Reorganise return values, add macro to check for fatal errors.
24468 * gst/gstqueue.c: (gst_queue_chain):
24469 Return proper GstFlowReturn values,
24471 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
24473 * docs/gst/gstreamer-sections.txt:
24474 * docs/gst/gstreamer.types:
24475 * docs/gst/tmpl/gst.sgml:
24476 * docs/gst/tmpl/gstbasesink.sgml:
24477 * docs/gst/tmpl/gstbasesrc.sgml:
24478 * docs/gst/tmpl/gstbasetransform.sgml:
24479 * docs/gst/tmpl/gstbin.sgml:
24480 * docs/gst/tmpl/gstbuffer.sgml:
24481 * docs/gst/tmpl/gstcaps.sgml:
24482 * docs/gst/tmpl/gstclock.sgml:
24483 * docs/gst/tmpl/gstcompat.sgml:
24484 * docs/gst/tmpl/gstconfig.sgml:
24485 * docs/gst/tmpl/gstelement.sgml:
24486 * docs/gst/tmpl/gstelementdetails.sgml:
24487 * docs/gst/tmpl/gstelementfactory.sgml:
24488 * docs/gst/tmpl/gstenumtypes.sgml:
24489 * docs/gst/tmpl/gsterror.sgml:
24490 * docs/gst/tmpl/gstevent.sgml:
24491 * docs/gst/tmpl/gstfakesink.sgml:
24492 * docs/gst/tmpl/gstfakesrc.sgml:
24493 * docs/gst/tmpl/gstfilesink.sgml:
24494 * docs/gst/tmpl/gstfilesrc.sgml:
24495 * docs/gst/tmpl/gstfilter.sgml:
24496 * docs/gst/tmpl/gstformat.sgml:
24497 * docs/gst/tmpl/gstghostpad.sgml:
24498 * docs/gst/tmpl/gstimplementsinterface.sgml:
24499 * docs/gst/tmpl/gstindex.sgml:
24500 * docs/gst/tmpl/gstindexfactory.sgml:
24501 * docs/gst/tmpl/gstinfo.sgml:
24502 * docs/gst/tmpl/gstiterator.sgml:
24503 * docs/gst/tmpl/gstmacros.sgml:
24504 * docs/gst/tmpl/gstmemchunk.sgml:
24505 * docs/gst/tmpl/gstminiobject.sgml:
24506 * docs/gst/tmpl/gstobject.sgml:
24507 * docs/gst/tmpl/gstpad.sgml:
24508 * docs/gst/tmpl/gstpadtemplate.sgml:
24509 * docs/gst/tmpl/gstparse.sgml:
24510 * docs/gst/tmpl/gstpipeline.sgml:
24511 * docs/gst/tmpl/gstplugin.sgml:
24512 * docs/gst/tmpl/gstpluginfeature.sgml:
24513 * docs/gst/tmpl/gstquery.sgml:
24514 * docs/gst/tmpl/gstqueue.sgml:
24515 * docs/gst/tmpl/gstregistry.sgml:
24516 * docs/gst/tmpl/gstregistrypool.sgml:
24517 * docs/gst/tmpl/gstscheduler.sgml:
24518 * docs/gst/tmpl/gstschedulerfactory.sgml:
24519 * docs/gst/tmpl/gststructure.sgml:
24520 * docs/gst/tmpl/gstsystemclock.sgml:
24521 * docs/gst/tmpl/gsttaglist.sgml:
24522 * docs/gst/tmpl/gsttagsetter.sgml:
24523 * docs/gst/tmpl/gsttrace.sgml:
24524 * docs/gst/tmpl/gsttrashstack.sgml:
24525 * docs/gst/tmpl/gsttypefind.sgml:
24526 * docs/gst/tmpl/gsttypefindfactory.sgml:
24527 * docs/gst/tmpl/gsttypes.sgml:
24528 * docs/gst/tmpl/gsturihandler.sgml:
24529 * docs/gst/tmpl/gsturitype.sgml:
24530 * docs/gst/tmpl/gstutils.sgml:
24531 * docs/gst/tmpl/gstvalue.sgml:
24532 * docs/gst/tmpl/gstversion.sgml:
24533 * docs/gst/tmpl/gstxml.sgml:
24534 * docs/libs/tmpl/gstcontrol.sgml:
24535 * docs/libs/tmpl/gstdataprotocol.sgml:
24536 * docs/libs/tmpl/gstdparam.sgml:
24537 * docs/libs/tmpl/gstdplinint.sgml:
24538 * docs/libs/tmpl/gstdpman.sgml:
24539 * docs/libs/tmpl/gstdpsmooth.sgml:
24540 * docs/libs/tmpl/gstgetbits.sgml:
24541 * docs/libs/tmpl/gstunitconvert.sgml:
24542 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
24543 (gst_push_src_base_init), (gst_push_src_class_init),
24544 (gst_push_src_init), (gst_push_src_create):
24545 * gst/base/gstpushsrc.h:
24546 * gst/elements/gstelements.c:
24547 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
24548 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
24549 (gst_fake_sink_init), (gst_fake_sink_set_property),
24550 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
24551 (gst_fake_sink_event), (gst_fake_sink_preroll),
24552 (gst_fake_sink_render), (gst_fake_sink_change_state):
24553 * gst/elements/gstfakesink.h:
24554 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
24555 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
24556 (gst_fake_src_base_init), (gst_fake_src_class_init),
24557 (gst_fake_src_init), (gst_fake_src_event_handler),
24558 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
24559 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
24560 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
24561 (gst_fake_src_create_buffer), (gst_fake_src_create),
24562 (gst_fake_src_start), (gst_fake_src_stop):
24563 * gst/elements/gstfakesrc.h:
24564 * gst/elements/gstfilesink.c: (_do_init),
24565 (gst_file_sink_base_init), (gst_file_sink_class_init),
24566 (gst_file_sink_init), (gst_file_sink_dispose),
24567 (gst_file_sink_set_location), (gst_file_sink_set_property),
24568 (gst_file_sink_get_property), (gst_file_sink_open_file),
24569 (gst_file_sink_close_file), (gst_file_sink_query),
24570 (gst_file_sink_event), (gst_file_sink_render),
24571 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
24572 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
24573 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
24574 * gst/elements/gstfilesink.h:
24575 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
24576 (gst_file_src_class_init), (gst_file_src_init),
24577 (gst_file_src_finalize), (gst_file_src_set_location),
24578 (gst_file_src_set_property), (gst_file_src_get_property),
24579 (gst_file_src_map_region), (gst_file_src_map_small_region),
24580 (gst_file_src_create_mmap), (gst_file_src_create_read),
24581 (gst_file_src_create), (gst_file_src_is_seekable),
24582 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
24583 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
24584 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
24585 (gst_file_src_uri_handler_init):
24586 * gst/elements/gstfilesrc.h:
24587 more autistic cleanliness in functions/names/defines
24589 2005-07-13 Andy Wingo <wingo@pobox.com>
24591 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
24592 source couldn't negotiate.
24594 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
24598 * gst/gstutils.c (gst_element_link_pads_filtered): New old
24599 function. I am channeling Hades. Put your boots on suckers!!!
24601 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
24603 * testsuite/caps/Makefile.am:
24604 * testsuite/caps/value_compare.c:
24605 * testsuite/caps/value_intersect.c:
24606 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
24607 move two testsuite apps over to the check dir
24609 2005-07-12 Wim Taymans <wim@fluendo.com>
24611 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
24612 Added more debug info in the negotiate process.
24614 * gst/gstmessage.h:
24615 Prepare for segment playback.
24617 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
24623 * tools/gst-launch.c: (main):
24624 NULL pipeline on errors.
24626 2005-07-12 Andy Wingo <wingo@pobox.com>
24628 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
24629 not it comes from a malloc region. Make sure our copy gets freed.
24631 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
24633 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24634 * check/gst/gstmessage.c: (GST_START_TEST):
24635 * check/gst/gststructure.c: (GST_START_TEST),
24636 (gst_structure_suite), (main):
24638 * gst/gstelement.c: (gst_element_message_full):
24639 clean up GError and debug string now that they get copied
24640 * gst/gstmessage.c: (gst_message_new_error),
24641 (gst_message_new_warning), (gst_message_parse_error),
24642 (gst_message_parse_warning):
24643 use GST_TYPE_G_ERROR for structure_new, and take copies of
24644 arguments, so that we don't mess up refcounting
24646 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
24648 * check/Makefile.am:
24649 add per-test valgrind targets
24650 * check/gst-libs/gdp.c: (GST_START_TEST),
24651 (gst_data_protocol_suite), (main):
24654 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
24656 * check/Makefile.am:
24657 instate more valgrindable tests
24658 * check/elements/gstfakesrc.c: (chain_func), (event_func),
24659 (GST_START_TEST), (fakesrc_suite):
24660 * check/gst/gstpad.c: (GST_START_TEST):
24661 * check/gst/gststructure.c: (GST_START_TEST):
24663 * docs/gst/tmpl/gstminiobject.sgml:
24664 * gst/gstpad.c: (gst_pad_finalize):
24665 fix the static mutex leak
24667 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
24669 * check/Makefile.am:
24670 add two more tests for valgrinding
24671 * check/gst/gstvalue.c: (GST_START_TEST):
24672 test refcount of deserialized buffer, found a leak
24673 * docs/gst/gstreamer-docs.sgml:
24674 * docs/gst/gstreamer-sections.txt:
24675 * docs/gst/gstreamer.types:
24676 * docs/gst/tmpl/gstminiobject.sgml:
24677 add miniobject to docs
24678 * gst/gstminiobject.c:
24680 * gst/gstvalue.c: (gst_value_deserialize_buffer),
24681 (gst_string_unwrap):
24682 fix a hard-to-find invalid write for one of the tests
24683 fix a leak for deserialized buffers
24685 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24687 * docs/pwg/advanced-events.xml:
24688 * docs/pwg/advanced-request.xml:
24689 * docs/pwg/advanced-scheduling.xml:
24690 * docs/pwg/appendix-porting.xml:
24691 * docs/pwg/building-boiler.xml:
24692 * docs/pwg/intro-preface.xml:
24693 * docs/pwg/other-ntoone.xml:
24694 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
24695 of example code and explanation for pad activation, loop() and
24696 getrange() functions and a bit more. Remove old comments pointing
24698 * examples/pwg/Makefile.am:
24699 Add loop/getrange examples.
24701 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
24704 check for valgrind binary + some fixes
24706 valgrind suppressions for the tests
24707 * check/Makefile.am:
24708 add a valgrind: target that valgrinds the unit tests
24709 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
24710 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24711 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24712 * check/gst/gstghostpad.c:
24714 * check/gst/gstdata.c:
24716 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
24717 (thread_unref), (gst_mini_object_suite), (main):
24719 * gst/gst.c: (gst_deinit):
24721 add a method to clean up.
24722 * gst/gstsystemclock.c: (gst_system_clock_dispose),
24723 (gst_system_clock_obtain):
24724 allow for disposing the system clock.
24725 * tools/gst-launch.c: (main):
24728 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
24730 * docs/gst/tmpl/gstbasesrc.sgml:
24731 * docs/gst/tmpl/gstfakesrc.sgml:
24732 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24733 (gst_base_src_init), (gst_base_src_set_property),
24734 (gst_base_src_get_property), (gst_base_src_get_range),
24735 (gst_base_src_start):
24736 * gst/base/gstbasesrc.h:
24737 add num-buffers property
24738 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24739 (gst_fakesrc_init), (gst_fakesrc_set_property),
24740 (gst_fakesrc_get_property), (gst_fakesrc_create),
24741 (gst_fakesrc_start):
24742 remove num-buffers property
24744 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
24746 * docs/gst/gstreamer-sections.txt:
24747 * docs/gst/tmpl/gstbasesink.sgml:
24748 * docs/gst/tmpl/gstbasesrc.sgml:
24749 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
24750 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
24751 (gst_base_sink_finalize), (gst_base_sink_set_clock),
24752 (gst_base_sink_set_property), (gst_base_sink_get_property),
24753 (gst_base_sink_handle_object), (gst_base_sink_event),
24754 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
24755 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
24756 (gst_base_sink_loop), (gst_base_sink_deactivate),
24757 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
24758 (gst_base_sink_change_state):
24759 * gst/base/gstbasesink.h:
24760 * gst/base/gstbasesrc.h:
24761 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
24762 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24763 (gst_filesink_init):
24764 more macro splitting
24766 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
24768 * gst/gstelement.c: (gst_element_get_bus):
24770 * tools/gst-launch.c: (check_intr), (event_loop):
24773 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
24775 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
24778 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
24780 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24781 (gst_base_src_finalize):
24782 add finalize method and clean up properly
24783 * gst/gstpipeline.c: (gst_pipeline_dispose):
24786 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
24788 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
24790 add more things to check
24791 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
24792 * gst/gstelement.c:
24795 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
24797 * check/elements/gstfakesrc.c: (chain_func), (event_func),
24798 (GST_START_TEST), (fakesrc_suite):
24799 * check/gst-libs/gdp.c: (GST_START_TEST):
24800 * check/gst/gst.c: (GST_START_TEST):
24801 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24802 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24803 * check/gst/gstbus.c: (GST_START_TEST):
24804 * check/gst/gstcaps.c: (GST_START_TEST):
24805 * check/gst/gstdata.c: (GST_START_TEST):
24806 * check/gst/gstelement.c: (GST_START_TEST):
24807 * check/gst/gstghostpad.c: (GST_START_TEST):
24808 * check/gst/gstiterator.c: (GST_START_TEST):
24809 * check/gst/gstmessage.c: (GST_START_TEST):
24810 * check/gst/gstobject.c: (GST_START_TEST):
24811 * check/gst/gstpad.c: (GST_START_TEST):
24812 * check/gst/gststructure.c: (GST_START_TEST):
24813 * check/gst/gstsystemclock.c: (GST_START_TEST),
24814 (gst_systemclock_suite):
24815 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
24816 * check/gst/gstvalue.c: (GST_START_TEST):
24817 * check/pipelines/cleanup.c: (GST_START_TEST):
24818 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24819 * check/states/sinks.c: (GST_START_TEST):
24820 * check/gstcheck.c: (gst_check_init):
24821 * check/gstcheck.h:
24822 add debugging category
24823 use GST_START_TEST now, so we add a debug line
24825 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
24827 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
24828 add test for state change message on a bin
24829 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
24831 * gst/gstbin.c: (gst_bin_init):
24832 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
24833 * gst/gstelement.c: (gst_element_post_message),
24834 (gst_element_set_state):
24835 * gst/gstelementfactory.c: (gst_element_factory_create):
24836 * gst/gstmessage.c: (gst_message_new):
24837 * gst/gstscheduler.c:
24838 various debugging additions and cleanups
24840 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
24842 * check/Makefile.am:
24843 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
24845 adding tests for elements
24846 * gst/gstelement.c: (gst_element_dispose):
24848 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
24850 * gst/registries/gstlibxmlregistry.c: (load_feature):
24851 plug more leaks. A simple gst_init() now is leakfree, yay.
24853 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
24855 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
24856 (gst_xml_registry_load):
24857 plug another memleak
24859 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
24862 use GST_SET_ERROR_CFLAGS
24863 * docs/faq/cvs.xml:
24864 change to ERROR_CFLAGS
24866 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
24869 make GST_ERROR_CFLAGS overridable and re-enable Werror
24870 * docs/faq/cvs.xml:
24871 add a note about error CFLAGS
24872 * docs/gst/tmpl/gstfakesrc.sgml:
24873 * gst/elements/gstfakesrc.c:
24874 comment out some unused code
24875 * gst/gst.c: (split_and_iterate):
24876 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
24880 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
24882 * common/Makefile.am:
24883 * common/gtk-doc.mak:
24884 * docs/gst/Makefile.am:
24885 factor out gtk-doc.mak
24887 2005-07-07 Wim Taymans <wim@fluendo.com>
24889 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
24890 (gst_thread_scheduler_dispose):
24891 Unlock the STREAM_LOCK completely.
24893 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
24895 * check/Makefile.am:
24896 * check/elements/.cvsignore:
24897 * check/elements/gstfakesrc.c: (chain_func), (event_func),
24898 (START_TEST), (fakesrc_suite), (main):
24899 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24900 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
24901 (gst_fakesrc_create), (gst_fakesrc_start):
24902 * gst/elements/gstfakesrc.h:
24903 adding a first element test
24905 2005-07-07 Andy Wingo <wingo@pobox.com>
24907 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
24910 2005-07-07 Wim Taymans <wim@fluendo.com>
24916 2005-07-07 Wim Taymans <wim@fluendo.com>
24918 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24919 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
24920 Allow subclasses to implement their own negotiation.
24922 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
24924 * docs/design/part-gstbin.txt:
24925 * docs/design/part-gstpipeline.txt:
24926 Update design notes to reflect the movement of
24927 responsibility for bus handling from GstPipeline to
24930 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
24933 Remove unnecessary queue2/3/4 examples.
24935 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
24937 * examples/Makefile.am:
24938 * examples/helloworld/helloworld.c: (event_loop), (main):
24939 * examples/queue/queue.c: (event_loop), (main):
24940 * examples/queue2/queue2.c: (main):
24941 Update a couple of the examples to work again.
24943 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24944 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
24945 Spelling corrections and extra debug.
24947 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
24948 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
24949 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
24951 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
24952 (gst_pipeline_change_state):
24953 * gst/gstpipeline.h:
24954 Move the bus handler for children to the GstBin, and create a
24955 separate bus for receiving messages from children to the one the
24956 bus sends 'upwards' on.
24958 2005-07-06 Wim Taymans <wim@fluendo.com>
24961 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24962 (gst_base_sink_handle_object), (gst_base_sink_loop),
24963 (gst_base_sink_change_state):
24964 * gst/base/gstbasesink.h:
24965 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24966 (gst_base_src_init), (gst_base_src_setcaps),
24967 (gst_base_src_getcaps), (gst_base_src_loop),
24968 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
24969 (gst_base_src_start), (gst_base_src_change_state):
24970 * gst/base/gstbasesrc.h:
24971 Make basesrc negotiate.
24972 Handle the case where preroll fails in basesink.
24975 2005-07-06 Wim Taymans <wim@fluendo.com>
24977 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
24978 Implement the fixate function.
24979 Clean up acceptcaps.
24981 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24983 * docs/pwg/building-filterfactory.xml:
24984 * docs/pwg/pwg.xml:
24985 Remove never-written filter-factory chapter; I'll add the various
24986 base classes to part 4 ("other element types") later on.
24988 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
24990 * docs/pwg/advanced-negotiation.xml:
24991 * docs/pwg/building-boiler.xml:
24992 * docs/pwg/building-pads.xml:
24993 * docs/pwg/pwg.xml:
24994 * examples/pwg/Makefile.am:
24995 Add a chapter on caps negotiation, simplify the original code
24996 samples a bit w.r.t. caps negotiation, add link to the advanced
24997 section. Add a bunch of examples showing different use cases of
24998 different types of caps negotiation. Upstream renegotiation isn't
24999 fully documented yet since nobody knows how that works.
25001 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
25003 * check/gst/gstpad.c:
25004 * check/gstcheck.c:
25005 * gst/gstpad.c: (gst_pad_get_internal_links_default):
25006 if pad has no parent, return NULL as list of internal links
25008 2005-07-05 Andy Wingo <wingo@pobox.com>
25010 * gst/elements/gstfilesrc.c:
25011 * gst/elements/gstfakesrc.c:
25012 * gst/base/gstpushsrc.c:
25013 * gst/base/gstbasesrc.h:
25014 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
25016 2005-07-05 Stefan Kost <ensonic@users.sf.net>
25019 better report generation target (lcov needs a patch)
25021 2005-07-05 Andy Wingo <wingo@pobox.com>
25023 * gst/elements, testsuite: Null if we got it...
25025 2005-07-05 Wim Taymans <wim@fluendo.com>
25028 * libs/gst/dataprotocol/Makefile.am:
25029 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
25030 * libs/gst/dataprotocol/dataprotocol.h:
25031 * pkgconfig/Makefile.am:
25032 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
25033 * pkgconfig/gstreamer-dataprotocol.pc.in:
25034 Ported dataprotol to 0.9.
25035 Added pkgconfig files.
25037 2005-07-05 Andy Wingo <wingo@pobox.com>
25039 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
25040 Default to returning TRUE for the case when tranform_caps returns
25041 a fixed caps, like for identity or volume.
25043 * check/gst/gstbus.c (pound_bus_with_messages):
25044 * check/gst/gstmessage.c (START_TEST):
25045 * check/pipelines/simple_launch_lines.c (got_handoff): Application
25046 message API change.
25048 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
25049 logic weaks here: always run transform_caps, trying passthrough
25050 operation only if the original caps intersects with the transform.
25052 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
25053 source and sink caps.
25055 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
25056 Intersect the peer caps with the pad template before going into
25058 (gst_base_transform_transform_caps): More debugging.
25060 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
25063 2005-07-04 Edward Hervey <edward@fluendo.com>
25067 (gst_pad_add_*_probe): now returns the signal id for better wrapping
25070 2005-07-04 Andy Wingo <wingo@pobox.com>
25072 * check/gst/gstpad.c: Only set explicit caps on pads.
25074 2005-07-01 Andy Wingo <wingo@pobox.com>
25076 * tests/network-clock.scm: Commentary update.
25078 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
25079 Didn't really make sense, not implementable with basetransform,
25081 (gst_identity_transform): Unref inbuf via make_writable. Feeble
25082 attempt at implementing the sync property, needs an unlock method.
25084 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
25085 New func, by default returns the same caps (the identity
25087 (gst_base_transform_getcaps): Uses transform_caps to return
25088 something sensible.
25089 (gst_base_transform_setcaps): Complicated logic to get caps on
25090 both pads, even if they are different, and to call set_caps once
25091 for every time both pads get their caps set.
25092 (gst_base_transform_handle_buffer): Give the ref to the transform
25093 function. Allows in-place modification of the buffer.
25095 * gst/base/gstbasetransform.h (transform_caps): New class method.
25096 Given caps on one side, what can I do on the other.
25097 (set_caps): Take two caps, one for each side of the element.
25100 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
25101 caps in place. This is safe because we can check the mutability of
25102 the caps, and a good idea because fixate functions are just called
25103 as a matter of last resort. (Not actually implemented.)
25104 (gst_pad_set_caps): If the caps we're setting is actually the same
25105 as the existing pad caps, just update the pointer without calling
25106 setcaps. Assert that caps is either NULL or fixed, as per the
25109 * gst/gstghostpad.c: Update for fixate changes.
25111 2005-07-02 Andy Wingo <wingo@pobox.com>
25114 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
25115 two refcounts makes it immutable, which is enough. Doc more.
25117 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
25119 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
25120 Put the mini_object into GValue as a mini_object,
25121 not a gpointer, since that's how we declared
25124 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25126 * examples/pwg/Makefile.am:
25127 Fix buildbot again.
25129 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25131 * docs/pwg/building-testapp.xml:
25133 * examples/pwg/Makefile.am:
25136 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25139 * examples/Makefile.am:
25140 * examples/pwg/Makefile.am:
25141 * examples/pwg/extract.pl:
25142 Enable building the PWG examples.
25143 * docs/pwg/advanced-interfaces.xml:
25144 Add URI interface stub.
25145 * docs/pwg/advanced-types.xml:
25146 * docs/pwg/other-autoplugger.xml:
25147 * docs/pwg/appendix-porting.xml:
25148 * docs/pwg/pwg.xml:
25149 Add porting guide (mostly stubs), remove autoplugging (see ADM).
25150 * docs/pwg/building-boiler.xml:
25151 * docs/pwg/building-chainfn.xml:
25152 * docs/pwg/building-pads.xml:
25153 * docs/pwg/building-props.xml:
25154 * docs/pwg/building-state.xml:
25155 * docs/pwg/building-testapp.xml:
25156 Update the building-*.xml parts for 0.9 changes. All examples
25157 code blocks compile in examples/pwg/*.
25159 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25161 * docs/manual/advanced-autoplugging.xml:
25162 * docs/manual/appendix-checklist.xml:
25163 * docs/manual/appendix-integration.xml:
25164 * docs/manual/highlevel-components.xml:
25165 Fix playbin/decodebin examples, update docs a bit, mention bus
25166 instead of signals in various places, mention kmplayer and
25167 kaffeine since they have a working GStreamer backend in the KDE
25170 2005-06-30 Wim Taymans <wim@fluendo.com>
25173 * docs/design/draft-ghostpads.txt:
25174 * docs/design/draft-push-pull.txt:
25175 * docs/design/draft-query.txt:
25176 * docs/design/part-TODO.txt:
25177 * docs/design/part-query.txt:
25178 Added CHANGES-0.9 doc, updated status of other docs.
25183 2005-06-30 Wim Taymans <wim@fluendo.com>
25185 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
25186 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
25187 (gst_base_sink_change_state):
25188 * gst/base/gstbasesink.h:
25189 Some tweaks, only EOS and a buffer complete a preroll.
25191 2005-06-30 Andy Wingo <wingo@pobox.com>
25193 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
25194 activate_push down to the internal pad as well.
25196 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
25198 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25200 * gst/gsttaginterface.c:
25201 Some documentation fixes (#307394 and #307397).
25203 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
25205 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25207 * gst/gstvalue.c: (gst_value_intersect_list):
25208 Fix memleak (#309125).
25210 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25212 * docs/manual/advanced-dataaccess.xml:
25213 Fix fakesrc example to compile; doesn't work, bug somewhere...?
25214 * docs/manual/basics-pads.xml:
25215 Add reference for filtered caps to above chapter.
25217 2005-06-30 Wim Taymans <wim@fluendo.com>
25219 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
25220 (gst_bin_change_state):
25222 Lame attempt at making the state change function a bit
25225 2005-06-30 Wim Taymans <wim@fluendo.com>
25227 * docs/design/part-clocks.txt:
25228 * docs/design/part-element-sink.txt:
25229 * docs/design/part-events.txt:
25230 * docs/design/part-preroll.txt:
25231 * docs/design/part-states.txt:
25232 Some more tweeks and additions to the docs.
25234 2005-06-30 Wim Taymans <wim@fluendo.com>
25236 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25237 (default_have_data), (gst_pad_class_init), (gst_pad_init),
25238 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
25239 (gst_pad_check_pull_range), (gst_pad_get_range),
25240 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
25242 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
25243 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
25244 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
25245 (gst_pad_remove_buffer_probe):
25246 Removed atomic operations, use existing LOCK.
25247 Move exception handling out of main code path.
25249 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25251 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25252 (silly_return_true_function), (gst_pad_class_init),
25253 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
25254 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
25255 (gst_pad_send_event):
25256 Fix accumulator, add default value by using _emitv() instead
25257 of _emit() for signal emission.
25259 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25261 * docs/manual/advanced-dataaccess.xml:
25262 * examples/manual/Makefile.am:
25264 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
25267 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
25269 * gst/elements/gstfilesink.c: (gst_filesink_render):
25270 Simplify code so that we don't have to handle short
25271 writes and return GST_FLOW_ERROR if an error occured.
25273 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25275 * docs/gst/gstreamer-docs.sgml:
25276 Remove probes more.
25278 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25280 * docs/gst/gstreamer-sections.txt:
25281 * docs/gst/tmpl/gstpad.sgml:
25282 * docs/gst/tmpl/gstprobe.sgml:
25284 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25285 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
25286 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
25287 (gst_pad_push_event), (gst_pad_send_event):
25289 * gst/gstutils.c: (gst_pad_add_data_probe),
25290 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
25291 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
25292 (gst_pad_remove_buffer_probe):
25294 Remove old probes, add new g-signal-based probes and some utility
25297 2005-06-29 Edward Hervey <edward@fluendo.com>
25299 * gst/gstelementfactory.c:
25302 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
25303 the definition to the header file.
25305 2005-06-29 Andy Wingo <wingo@pobox.com>
25307 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
25308 plugins from the source directory.
25310 2005-06-29 Wim Taymans <wim@fluendo.com>
25312 * docs/gst/tmpl/gstbuffer.sgml:
25313 * docs/gst/tmpl/gstclock.sgml:
25314 Some fixings for blantently wrong text.
25316 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
25318 * check/Makefile.am:
25319 * gst/gst.c: (add_path_func), (init_pre):
25320 * gst/gstregistry.c: (gst_registry_add_path):
25321 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
25322 only scan the GST_PLUGIN_PATH locations, and not add
25325 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
25327 * docs/gst/gstreamer-sections.txt:
25328 * docs/gst/tmpl/gstbasesrc.sgml:
25329 * gst/gstelement.c:
25330 * gst/gstelement.h:
25335 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25337 * docs/manual/advanced-autoplugging.xml:
25338 Fix autoplugging example.
25340 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25342 * docs/manual/advanced-autoplugging.xml:
25343 * docs/manual/mime-world.fig:
25344 Try to get autoplugging working, fix type detection. Fix text
25345 in hello-world image.
25347 2005-06-29 Wim Taymans <wim@fluendo.com>
25349 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25350 (gst_base_sink_change_state):
25354 map SIGNAL and BROADCAST to the right function.
25357 Remove redundant braces.
25359 * gst/gstpad.c: (gst_pad_set_caps):
25360 Don't call setcaps function when reseting caps to NULL.
25362 * gst/gstsystemclock.c: (gst_system_clock_dispose),
25363 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
25364 (gst_system_clock_id_unschedule):
25365 Use BROADCAST as this is what we do.
25367 2005-06-29 Wim Taymans <wim@fluendo.com>
25369 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25370 We are actually prerolling before commiting the state
25373 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
25375 * docs/manual/advanced-clocks.xml:
25376 * docs/manual/advanced-interfaces.xml:
25377 * docs/manual/advanced-metadata.xml:
25378 * docs/manual/advanced-position.xml:
25379 * docs/manual/advanced-schedulers.xml:
25380 * docs/manual/advanced-threads.xml:
25381 * docs/manual/appendix-porting.xml:
25382 * docs/manual/basics-bins.xml:
25383 * docs/manual/basics-bus.xml:
25384 * docs/manual/basics-elements.xml:
25385 * docs/manual/basics-helloworld.xml:
25386 * docs/manual/basics-pads.xml:
25387 * docs/manual/highlevel-components.xml:
25388 * docs/manual/manual.xml:
25389 * docs/manual/thread.fig:
25390 Update (until threads/scheduling) Application Development Manual;
25391 remove GstThread, add GstBus, add simple porting checklist, add
25392 documentation for tag writing, clocks, make all examples until this
25393 part compile and run.
25394 * examples/manual/Makefile.am:
25395 Update from changes to Application Development Manual; add bus
25396 example, remove thread example.
25398 2005-06-28 Wim Taymans <wim@fluendo.com>
25400 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
25401 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
25402 (gst_bus_source_dispatch):
25403 Add debugging messages.
25404 Make internal methods static.
25405 Handle the case where the bus is flushed in the handler.
25407 * gst/gstelement.c: (gst_element_get_bus):
25408 Fix refcount in _get_bus();
25410 * gst/gstpipeline.c: (gst_pipeline_change_state),
25411 (gst_pipeline_get_clock_func):
25412 Clock refcounting fixes.
25413 Handle the case where preroll timed out more gracefully.
25415 * gst/gstsystemclock.c: (gst_system_clock_dispose):
25416 Clean up the internal thread in dispose. This is needed
25417 for subclasses that actually get disposed.
25419 * gst/schedulers/threadscheduler.c:
25420 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
25421 (gst_thread_scheduler_dispose):
25422 Free thread pool in dispose.
25424 2005-06-28 Andy Wingo <wingo@pobox.com>
25426 * tests/network-clock-utils.scm (debug, print-event): New utils.
25428 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
25429 (*packet-loss*): Unified loss probability.
25430 (network-time): Report out-of-band events.
25432 * tests/plot-data: Add support for out-of-band events. Hack it
25433 into this script instead of passing it down the pipe; should fix
25436 2005-06-28 Wim Taymans <wim@fluendo.com>
25438 * docs/gst/gstreamer.types:
25439 * docs/gst/tmpl/gstbasesrc.sgml:
25440 * docs/gst/tmpl/gstpad.sgml:
25443 2005-06-28 Wim Taymans <wim@fluendo.com>
25445 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25446 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
25447 (gst_proxy_pad_do_fixatecaps):
25448 Correctly proxy the check_pull_range function.
25450 2005-06-28 Andy Wingo <wingo@pobox.com>
25452 * tests/network-clock.scm: Removed need for slib.
25454 2005-06-28 Wim Taymans <wim@fluendo.com>
25456 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
25457 (gst_basesink_preroll_queue_flush):
25458 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
25459 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
25460 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25461 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
25462 (gst_proxy_pad_set_property):
25465 * gst/gstqueue.c: (gst_queue_init):
25466 The deprecated pad loop function is removed now.
25468 2005-06-28 Andy Wingo <wingo@pobox.com>
25470 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
25471 New parameters, simulate network packet loss.
25473 * tests/network-clock-utils.scm: Initialize the RNG.
25475 2005-06-28 Wim Taymans <wim@fluendo.com>
25477 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
25478 (gst_basesink_event), (gst_basesink_deactivate):
25479 Flushing the preroll queue always needs to unlock the waiters.
25481 2005-06-28 Edward Hervey <edward@fluendo.com>
25483 * gst/gstpipeline.c: (gst_pipeline_send_event):
25484 Wheen a seek was successful on a pipeline, set the stream_time to the
25485 seek offset in order to have a synchronized stream_time.
25487 2005-06-28 Wim Taymans <wim@fluendo.com>
25489 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25490 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
25491 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
25492 (gst_proxy_pad_do_fixatecaps):
25493 Call wrapper function instead of just calling the function
25494 pointers. This takes care of any locking and whatmore.
25496 2005-06-28 Wim Taymans <wim@fluendo.com>
25498 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
25499 (gst_pad_pull_range):
25501 CONNECTED -> LINKED.
25503 2005-06-28 Andy Wingo <wingo@pobox.com>
25505 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
25506 source-munging commit!!!
25508 * gst/gstobject.c (gst_object_unref, gst_object_ref)
25509 (gst_object_sink): Take gpointer arguments, not GstObject --
25510 avoids casts. Like GLib.
25512 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
25515 2005-06-27 Andy Wingo <wingo@pobox.com>
25517 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
25520 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
25521 returns a sorted copy of the trace list.
25522 (gst_alloc_trace_print_live): New API, only prints traces with
25523 live objects. Sort the list.
25524 (gst_alloc_trace_print_all): Sort the list.
25525 (gst_alloc_trace_print): Align columns.
25527 * gst/elements/gstttypefindelement.c:
25528 * gst/elements/gsttee.c:
25529 * gst/base/gstbasesrc.c:
25530 * gst/base/gstbasesink.c:
25531 * gst/base/gstbasetransform.c:
25532 * gst/gstqueue.c: Adapt for pad activation changes.
25534 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
25536 (gst_pipeline_dispose): Drop ref on sched.
25538 * gst/gstpad.c (gst_pad_init): Set the default activate func.
25539 (gst_pad_activate_default): Push mode by default.
25540 (pre_activate_switch, post_activate_switch): New stubs, things to
25541 do before and after switching activation modes on pads.
25542 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
25543 the pad's activate function to choose which mode to activate.
25544 Shortcut on deactivation and call the right function directly.
25545 (gst_pad_activate_pull): New API, (de)activates a pad in pull
25547 (gst_pad_activate_push): New API, same for push mode.
25548 (gst_pad_set_activate_function)
25549 (gst_pad_set_activatepull_function)
25550 (gst_pad_set_activatepush_function): Setters for new API.
25552 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
25553 Trace all miniobjects.
25554 (gst_mini_object_make_writable): Unref the arg if we copy, like
25555 gst_caps_make_writable.
25557 * gst/gstmessage.c (_gst_message_initialize): No trace init.
25559 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
25560 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
25561 Adapt for new pad API.
25563 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
25565 * gst/gstelement.h:
25566 * gst/gstelement.c (gst_element_iterate_src_pads)
25567 (gst_element_iterate_sink_pads): New API functions.
25569 * gst/gstelement.c (iterator_fold_with_resync): New utility,
25570 should fold into gstiterator.c in some form.
25571 (gst_element_pads_activate): Simplified via use of fold and
25572 delegation of decisions to gstpad->activate.
25574 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
25577 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
25578 class once in init, like gstmessage. Didn't run into this issue
25579 but it seems correct. Don't initialize a trace, gstminiobject does
25582 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
25583 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
25585 (assert_live_count): New util function, uses alloc traces to check
25588 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
25589 To be modified when unlink drops the internal pad.
25591 2005-06-27 Wim Taymans <wim@fluendo.com>
25593 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
25594 (gst_bin_change_state):
25595 Cleanup the get_state() function a little, make sure it
25596 iterates the same set of elements.
25597 Added stub iterate_state_order().
25599 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
25601 * docs/gst/gstreamer-docs.sgml:
25602 * docs/gst/gstreamer-sections.txt:
25603 * docs/gst/gstreamer.types:
25604 * docs/gst/tmpl/gstbasesink.sgml:
25605 * docs/gst/tmpl/gstbasesrc.sgml:
25606 * docs/gst/tmpl/gstbasetransform.sgml:
25607 * docs/gst/tmpl/gstelement.sgml:
25608 * docs/gst/tmpl/gstiterator.sgml:
25609 * gst/base/gstbasesrc.c:
25610 * gst/base/gstbasesrc.h:
25611 * gst/base/gstbasetransform.h:
25612 * gst/gstelement.c:
25613 * gst/gstiterator.h:
25614 adding basetransform and iterator docs
25616 2005-06-27 Andy Wingo <wingo@pobox.com>
25618 * docs/design/part-activation.txt: Notes on how activation should
25619 work -- not quite implemented yet.
25621 2005-06-25 Wim Taymans <wim@fluendo.com>
25623 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
25624 At least get the chain function correct, needs more
25627 2005-06-25 Wim Taymans <wim@fluendo.com>
25629 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25630 (gst_basesink_handle_object), (gst_basesink_event),
25631 (gst_basesink_do_sync), (gst_basesink_handle_event),
25632 (gst_basesink_change_state):
25634 Right, two problems here: ghostpads don't take locks and
25635 glib _rec_mutex_lock_full() with depth==0 still locks.
25636 Catch illegal locking and g_warn them.
25638 2005-06-25 Wim Taymans <wim@fluendo.com>
25640 * check/states/sinks.c: (START_TEST), (gst_object_suite):
25641 Have to check for completion now...
25643 2005-06-25 Wim Taymans <wim@fluendo.com>
25645 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25646 (gst_basesink_handle_object), (gst_basesink_event),
25647 (gst_basesink_do_sync), (gst_basesink_handle_event),
25648 (gst_basesink_change_state):
25650 Unlock STREAM_LOCK whatever the recursion was.
25652 2005-06-25 Wim Taymans <wim@fluendo.com>
25654 * gst/base/gstbasesink.c: (gst_basesink_set_property),
25655 (gst_basesink_preroll_queue_empty),
25656 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
25657 (gst_basesink_event), (gst_basesink_do_sync),
25658 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
25659 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
25660 (gst_basesink_change_state):
25661 Reworked the base sink, handle event and buffer serialisation
25662 correctly and removed possible deadlock.
25663 Handle EOS correctly.
25665 2005-06-25 Wim Taymans <wim@fluendo.com>
25667 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
25668 (gst_pipeline_change_state):
25669 * tools/gst-launch.c: (check_intr), (event_loop), (main):
25670 Allow elements to post EOS in the state change function.
25671 Fix up -launch, make it exit the poll loop when the
25672 pipeline actually changed state.
25673 Fix up warning parsing in -launch.
25675 2005-06-25 Wim Taymans <wim@fluendo.com>
25677 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
25678 (gst_tee_sink_activate):
25679 Core takes STREAM_LOCK for us now.
25681 2005-06-25 Wim Taymans <wim@fluendo.com>
25683 * gst/gstelement.c: (gst_element_get_state_func),
25684 (gst_element_set_state):
25685 * gst/gstelement.h:
25686 * gst/gstmessage.c: (gst_message_parse_error),
25687 (gst_message_parse_warning):
25688 Keep track of current target state while performing a state
25689 change so that subclasses can do something interesting.
25690 Fix parsing of warning/error messages when GError is NULL.
25692 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
25694 * docs/gst/Makefile.am:
25695 * docs/gst/gstreamer-docs.sgml:
25696 * docs/gst/gstreamer-sections.txt:
25697 * docs/gst/gstreamer.types:
25698 * docs/gst/tmpl/gstbasesink.sgml:
25699 * docs/gst/tmpl/gstbasesrc.sgml:
25700 * docs/gst/tmpl/gstbin.sgml:
25701 * docs/gst/tmpl/gstcompat.sgml:
25702 * docs/gst/tmpl/gstfakesink.sgml:
25703 * docs/gst/tmpl/gstfakesrc.sgml:
25704 * docs/gst/tmpl/gstfilesink.sgml:
25705 * docs/gst/tmpl/gstfilesrc.sgml:
25706 * docs/gst/tmpl/gstindex.sgml:
25707 * docs/manual/appendix-quotes.xml:
25708 * gst/base/gstbasesrc.h:
25709 * gst/elements/gstfakesrc.h:
25710 * gst/gstmessage.h:
25711 start pulling in base classes and elements in our docs
25713 2005-06-24 Stefan Kost <ensonic@users.sf.net>
25715 * docs/gst/Makefile.am:
25716 * docs/libs/Makefile.am:
25717 fixed make distcheck with gtk-doc 1.3
25719 2005-06-23 Wim Taymans <wim@fluendo.com>
25721 * gst/gstelement.c: (gst_element_get_state_func),
25722 (gst_element_set_state), (gst_element_change_state):
25723 When the state did not change, also report NO_PREROLL
25726 2005-06-23 Wim Taymans <wim@fluendo.com>
25728 * gst/gstpad.c: (gst_pad_event_default):
25729 * gst/gstqueue.c: (gst_queue_loop):
25730 No unsafe task pausing please.
25732 2005-06-23 Wim Taymans <wim@fluendo.com>
25734 * gst/schedulers/threadscheduler.c:
25735 (gst_thread_scheduler_task_start),
25736 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
25737 Ref the task before pushing it on the threadpool. This
25738 makes sure that we have a ref when the threadfunction is
25741 2005-06-23 Andy Wingo <wingo@pobox.com>
25743 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
25744 offset is greater than the file's size.
25746 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
25747 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
25748 * gst/gstobject.c (gst_object_class_init): Make the class lock
25749 recursive. Wim won't let me drop deep_notify. Decodebin works
25750 again, whoopdy doo.
25752 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
25753 internal pad, and hacks accordingly. Doesn't do it on the target
25754 pad because we change its caps. Probably catches all cases of
25756 (gst_ghost_pad_set_property): Connect to notify::caps as
25759 * tests/network-clock.scm (plot-simulation): Pipe data to the
25760 elite python skript.
25762 * tests/network-clock-utils.scm (define-parameter): New macro,
25763 defines a parameter that can be set via the command line.
25764 (set-parameter!, parse-parameter-arguments): Command line args
25767 * tests/plot-data: Simple matplotlib-based plotter, takes input on
25770 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
25772 * gst/elements/gsttypefindelement.c:
25773 (gst_type_find_element_handle_event):
25774 Don't restart typefinding on a discont.
25775 * gst/gstelement.c: (gst_element_set_state):
25776 Debug spelling fix.
25777 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
25778 Allow changing mode of an active pad.
25779 Debug output fixes.
25780 * gst/registries/gstlibxmlregistry.c: (load_feature):
25781 Don't cast a static pad template to a normal pad template.
25783 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
25785 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25786 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25787 remove gst_strtoll completely, since it didn't actually do
25788 anything more than what g_ascii_strtoull already does.
25789 check for range errors when deserializing
25790 do a cast for the unsigned cases; but further fixing needs
25791 a decision on what the interpretation of "(int)" and
25792 deserialization should be for values that fall outside the
25793 type's boundaries (ie, refuse, or interpret as casting)
25795 2005-06-23 Wim Taymans <wim@fluendo.com>
25797 * check/Makefile.am:
25798 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
25799 * docs/design/part-live-source.txt:
25800 * docs/design/part-states.txt:
25801 * gst/base/gstbasesrc.c: (gst_basesrc_init),
25802 (gst_basesrc_set_live), (gst_basesrc_is_live),
25803 (gst_basesrc_get_range), (gst_basesrc_activate),
25804 (gst_basesrc_change_state):
25805 * gst/base/gstbasesrc.h:
25806 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25807 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
25808 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
25809 * gst/gstelement.c: (gst_element_get_state_func),
25810 (gst_element_set_state):
25811 * gst/gstelement.h:
25813 * tools/gst-launch.c: (event_loop), (main):
25814 Added support for live sources and other elements that
25816 Updated design docs, added live-source design doc.
25817 Implemented live source functionality in basesrc
25818 Fix error condition in _bin_get_state()
25819 Implement live source handling in -launch.
25820 Added check for live sources.
25821 Fixed case in GstBin where elements were changed state
25825 2005-06-23 Andy Wingo <wingo@pobox.com>
25827 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
25828 borken refcounting.
25830 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
25831 gst_caps_replace takes care of this for us.
25833 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
25834 gst_pad_set_caps on the target, not just its setcaps() function.
25836 * tests/network-clock.scm:
25837 * tests/network-clock-utils.scm: A network clock simulator.
25838 Something of an algorithmic testbed before doing something in C.
25840 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
25842 * check/Makefile.am:
25843 * check/gst/capslist.h:
25844 copy over from 0.8, and add two with bitmasks specified with
25846 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25847 add test to parse everything from capslist.h
25848 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
25850 add test for structure deserialization
25851 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25852 add tests for deserialization of strings to int types
25853 * gst/gststructure.c: (gst_structure_nth_field_name):
25854 * gst/gststructure.h:
25855 add a way to get the name of a field referenced by index
25856 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25857 instead of checking if the resulting long long lies between
25858 min and max, we check if the long long would fit into
25859 a number of bytes for the final type.
25860 This fixes cases where a string represents 2^32 - 1, which
25861 when cast to int would be the (valid) -1, but is bigger than
25864 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
25866 * gst/parse/grammar.y:
25867 add a log line for type deserialization
25869 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
25871 * check/gst/gstvalue.c: (START_TEST):
25872 * gst/gstvalue.c: (gst_value_deserialize):
25873 return long long, not int, so gint64 deserialization actually
25874 works. Is there any flag that makes the compiler check this ?
25877 2005-06-22 Wim Taymans <wim@fluendo.com>
25880 Added convenience macros for setting buffers in GValue.
25882 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
25884 * check/gst/.cvsignore:
25885 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25886 add a test deserializing int64, and comment part out because
25889 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
25891 * check/Makefile.am:
25892 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
25893 * testsuite/Makefile.am:
25894 * testsuite/caps/Makefile.am:
25895 * testsuite/caps/value_serialize.c:
25896 * testsuite/test_gst_init.c:
25897 move a value_serialize test over
25899 2005-06-20 Wim Taymans <wim@fluendo.com>
25904 * gst/gstvalue.c: (gst_value_compare_buffer),
25905 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
25906 (gst_value_compare_flags), (gst_value_serialize_flags),
25907 (gst_value_deserialize_flags), (_gst_value_initialize):
25908 Fix serialisation of buffers, they are not boxed types anymore
25910 2005-06-20 Wim Taymans <wim@fluendo.com>
25912 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25913 Testcase to show error in buffer-on-caps serialisation.
25915 2005-06-20 Andy Wingo <wingo@pobox.com>
25917 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
25918 will be adding to later.
25920 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
25921 if its socks fill with rocks.
25922 (gst_system_clock_obtain): Set the name on object construction.
25923 Avoid double-checked locking.
25925 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
25927 * gst/gsturi.c: (gst_element_make_from_uri):
25928 Fix potential endless loop.
25930 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
25932 * check/Makefile.am:
25934 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
25936 move over from testsuite dir and clean up
25939 * testsuite/Makefile.am:
25940 * testsuite/tags/.cvsignore:
25941 * testsuite/tags/Makefile.am:
25942 * testsuite/tags/merge.c:
25943 remove testsuite/tags
25945 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
25947 * docs/gst/gstreamer-sections.txt:
25948 * docs/gst/tmpl/gstenumtypes.sgml:
25949 * win32/gstenumtypes.c:
25950 clean up documentation build a little
25952 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
25954 * check/gstcheck.h:
25955 add macros for checking refcounts on objects and caps
25956 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
25957 add some more unit tests
25958 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
25959 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
25960 fix leaked refcounts (I hope :)) so unittest works
25964 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
25966 * configure.ac: back to HEAD
25968 === release 0.9.1 ===
25970 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
25976 2005-06-17 Andy Wingo <wingo@pobox.com>
25978 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
25979 assert; it's always possible that the pad gets deactivated in
25980 between the checks in gstpad.c and the implementation. Rely on
25981 finish_preroll() to return a FLUSHING or similar instead of on the
25984 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
25985 clock and post an EOS message if we come out of finish_preroll in
25988 2005-06-16 David Schleef <ds@schleef.org>
25990 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25991 (gst_capsfilter_set_property): Allow NULL as possible value
25992 for filter_caps property, indicating GST_CAPS_ANY.
25994 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
25996 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
25998 * gst/schedulers/Makefile.am:
26000 * gstreamer.spec.in:
26003 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
26005 * gstreamer.spec.in:
26008 2005-06-08 Andy Wingo <wingo@pobox.com>
26010 * gst/gstutils.c: RPAD fixes all around.
26011 (gst_element_link_pads): Refcounting fixes.
26013 * tools/gst-inspect.c:
26014 * tools/gst-xmlinspect.c:
26016 * gst/base/gsttypefindhelper.c:
26017 * gst/base/gstbasesink.c:
26018 * gst/gstqueue.c: RPAD fixes.
26020 * gst/gstghostpad.h:
26021 * gst/gstghostpad.c: New ghost pad implementation as full proxy
26022 pads. The tricky thing is they provide both source and sink
26023 interfaces, since they proxy the internal pad for the external
26024 pad, and vice versa. Implement with lower-level ProxyPad objects,
26025 with the interior proxy pad as a child of the exterior ghost pad.
26026 Should write a doc on this.
26028 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
26029 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
26032 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
26033 pads are real pads. No ghost pads in this file. Not documenting
26034 the myriad s/RPAD/PAD/ and REALIZE fixes.
26035 (gst_pad_class_init): Add properties for "direction" and
26036 "template". Both are construct-only, so they can't change during
26037 the life of the pad. Fixes properly deriving from GstPad.
26038 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
26039 derived objects, just set properties when creating the objects via
26041 (gst_pad_get_parent): Implement as a function, return NULL if the
26042 parent is not an element.
26043 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
26044 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
26046 * gst/gstobject.c (gst_object_class_init): Make name a construct
26047 property. Don't set it in the object init.
26049 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
26050 with UNKNOWN direction.
26051 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
26052 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
26053 (gst_element_remove_pad): Remove ghost-pad special cases.
26054 (gst_element_pads_activate): Remove rpad cruft.
26056 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
26057 catch the pad's-parent-not-an-element case.
26059 * gst/gst.h: Include gstghostpad.h.
26061 * gst/gst.c (init_post): No more real, ghost pads.
26063 * gst/Makefile.am: Add gstghostpad.[ch].
26065 * check/Makefile.am:
26066 * check/gst/gstbin.c:
26067 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
26068 into a bin creates ghost pads, and that the refcounts are right.
26069 Partly moved from gstbin.c.
26071 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
26073 * check/gst-libs/.cvsignore:
26074 * check/gst/.cvsignore:
26075 * check/pipelines/.cvsignore:
26077 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
26078 (START_TEST), (cleanup_suite), (main):
26079 add some tests related to cleanup after running pipelines
26081 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
26083 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
26084 add a testsuite for GstBuffer
26086 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
26088 * gst/gstminiobject.h:
26089 add defines for accessing the refcount
26091 2005-06-03 Stefan Kost <ensonic@users.sf.net>
26093 * Makefile.am: added support for html unit test coverage reports
26095 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
26097 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26098 Free existing caps if the capsfilter changes. Add a FIXME about
26099 setting those caps on the pads.
26101 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
26102 Before adding a ghost pad to a parent bin, check that there isn't
26103 already one for the element on the bin. Prevents infinite recursion
26104 when using decodebin in parse pipelines. Andy says he'll rewrite the
26105 way this works anyway, so ignore the hack.
26107 2005-06-02 Andy Wingo <wingo@pobox.com>
26109 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
26110 file size, pass it on to the type find helper.
26112 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
26113 segment_start and segment_end properly according to the seek
26114 method. Segment_end is still a bit flaky because offset can be
26115 negative for CUR and END cases, but it takes -1 as an "unset"
26118 2005-06-02 Wim Taymans <wim@fluendo.com>
26120 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
26121 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
26122 (gst_basesink_activate):
26123 * gst/base/gstbasesink.h:
26124 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26125 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
26126 (gst_pad_query), (gst_pad_start_task):
26128 * gst/gstqueue.c: (gst_queue_bufferalloc),
26129 (gst_queue_handle_sink_event), (gst_queue_chain):
26130 Bufferalloc: return GstFlowReturn to more accuratly report
26131 why allocation failed.
26133 2005-06-02 Wim Taymans <wim@fluendo.com>
26135 * gst/gstpipeline.c: (gst_pipeline_send_event):
26136 Take snapshot of state without blocking.
26138 2005-06-02 Wim Taymans <wim@fluendo.com>
26140 * docs/design/part-TODO.txt:
26141 * docs/design/part-caps.txt:
26142 * docs/design/part-clocks.txt:
26143 * docs/design/part-negotiation.txt:
26144 * docs/design/part-preroll.txt:
26147 2005-05-30 Wim Taymans <wim@fluendo.com>
26149 * gst/elements/gstidentity.c: (gst_identity_event),
26150 (gst_identity_transform), (gst_identity_get_property):
26151 Protect last_message property as it is accessed from
26154 2005-05-30 Wim Taymans <wim@fluendo.com>
26156 * gst/gstelement.c: (gst_element_init),
26157 (gst_element_pads_activate), (gst_element_change_state):
26158 Slicker pad activation code.
26160 2005-05-30 Wim Taymans <wim@fluendo.com>
26163 * gst/gstelement.h:
26164 * gst/gstelementfactory.h:
26166 Move elementfactory methods to separate .h file.
26168 2005-05-30 Wim Taymans <wim@fluendo.com>
26170 * docs/design/part-overview.txt:
26171 * gst/gstsystemclock.h:
26172 Small typo fixes, doc updates.
26174 2005-05-30 Wim Taymans <wim@fluendo.com>
26176 * gst/gst.c: (gst_init_get_popt_table), (init_post),
26177 (init_popt_callback):
26178 Remove cpu-opt flag.
26180 2005-05-30 Wim Taymans <wim@fluendo.com>
26182 * gst/gstbuffer.c: (gst_subbuffer_finalize),
26183 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
26185 Avoid typechecking in places where not needed.
26186 Added accessor for malloc_data.
26188 2005-05-30 Wim Taymans <wim@fluendo.com>
26190 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
26191 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
26192 (gst_pad_configure_sink), (gst_pad_configure_src),
26193 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
26194 (gst_pad_start_task):
26195 Propagate errors from _set_caps() in configure_src/sink
26196 functions instead of returning TRUE.
26197 FLUSH events can travel up and downstream
26200 2005-05-30 Wim Taymans <wim@fluendo.com>
26202 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
26203 (gst_basesink_activate):
26204 Handle EOS in preroll.
26206 2005-05-30 Wim Taymans <wim@fluendo.com>
26208 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26209 (gst_queue_loop), (gst_queue_handle_src_event):
26210 Remove old pieces of code
26211 Flushing the queue in an upstream event is a very bad idea.
26213 2005-05-26 Andy Wingo <wingo@pobox.com>
26215 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
26216 gst_value_set_mini_object so as to add a ref on the object (which
26217 will be removed when the value is unset).
26219 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
26220 arg type in ::handoff.
26222 * gst/gstelement.c (gst_element_change_state): Also deactivate
26223 pads in READY->NULL, just in case the element didn't make it to
26224 PAUSED. Wingo tested, Wim approved.
26226 2005-05-26 Wim Taymans <wim@fluendo.com>
26228 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26229 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
26230 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
26231 A flushing pad cannot be used to alloc_buffer from.
26233 2005-05-26 Wim Taymans <wim@fluendo.com>
26235 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
26236 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
26237 (gst_bus_source_dispatch), (gst_bus_source_finalize),
26238 (gst_bus_create_watch), (gst_bus_add_watch_full):
26240 Implement a real GSource and use g_main_context_wakeup() to
26241 signal new messages instead of the socketpair.
26243 2005-05-25 Wim Taymans <wim@fluendo.com>
26245 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
26246 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
26247 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26248 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
26249 (gst_pad_send_event), (gst_pad_start_task):
26250 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
26251 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
26252 (gst_queue_sink_activate), (gst_queue_src_activate),
26253 (gst_queue_change_state):
26255 Fix state changes for non sinks. We now change sinks, then elements
26256 with unconnected srcpads, then the rest.
26257 More efficient queue unlocking in flush and state changes.
26258 Set the pad activate mode even if it does not have an activate
26261 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26263 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
26264 Don't go in pull mode for non-seekable sources.
26265 * gst/elements/gsttypefindelement.h:
26266 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
26267 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
26268 (free_entry), (stop_typefinding),
26269 (gst_type_find_element_handle_event), (find_peek),
26270 (gst_type_find_element_chain), (do_pull_typefind),
26271 (gst_type_find_element_change_state):
26272 Allow typefinding (w/o seeking) in push-mode, simplified version
26273 of what was in 0.8.
26274 * gst/gstutils.c: (gst_buffer_join):
26276 gst_buffer_join() from 0.8.
26278 2005-05-25 Wim Taymans <wim@fluendo.com>
26280 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26281 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
26282 (gst_pad_send_event), (gst_pad_start_task):
26283 Disable attempt at mode switching until it is figured out.
26285 2005-05-25 Wim Taymans <wim@fluendo.com>
26287 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
26288 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
26289 (gst_basesink_finish_preroll), (gst_basesink_chain),
26290 (gst_basesink_loop), (gst_basesink_activate),
26291 (gst_basesink_change_state):
26292 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
26293 (gst_basesrc_get_range), (gst_basesrc_loop),
26294 (gst_basesrc_activate):
26295 * gst/elements/gsttee.c: (gst_tee_sink_activate):
26296 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
26297 (gst_real_pad_init), (gst_real_pad_set_property),
26298 (gst_real_pad_get_property), (gst_pad_set_active),
26299 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
26300 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
26301 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
26302 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
26303 (gst_pad_event_default_dispatch), (gst_pad_event_default),
26304 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
26305 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
26306 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
26307 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
26308 (gst_pad_stop_task):
26310 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26311 (gst_queue_loop), (gst_queue_src_activate):
26312 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
26313 (gst_task_get_state):
26315 * gst/schedulers/threadscheduler.c:
26316 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
26317 Implement gst_pad_pause/start/stop_task(), take STREAM lock
26319 Remove ACTIVE pad flag, use FLUSHING everywhere
26320 Added _pad_chain(), _pad_get_range() to call chain/getrange
26322 Add locks around IS_FLUSHING when reading.
26323 Take STREAM lock in chain(), get_range() functions so plugins
26324 don't need to take it anymore.
26328 2005-05-25 Wim Taymans <wim@fluendo.com>
26330 * tools/gst-launch.c: (event_loop):
26331 Unref message after using its contents instead of
26334 2005-05-24 Wim Taymans <wim@fluendo.com>
26336 * docs/design/draft-ghostpads.txt:
26337 * docs/design/draft-push-pull.txt:
26338 * docs/design/draft-query.txt:
26339 * docs/design/part-overview.txt:
26340 Docs updates, added general overview doc.
26342 2005-05-21 David Schleef <ds@schleef.org>
26344 * docs/gst/tmpl/old/GstBin.sgml:
26345 * docs/gst/tmpl/old/GstBuffer.sgml:
26346 * docs/gst/tmpl/old/GstCaps.sgml:
26347 * docs/gst/tmpl/old/GstClock.sgml:
26348 * docs/gst/tmpl/old/GstCompat.sgml:
26349 * docs/gst/tmpl/old/GstData.sgml:
26350 * docs/gst/tmpl/old/GstElement.sgml:
26351 * docs/gst/tmpl/old/GstEvent.sgml:
26352 * docs/gst/tmpl/old/GstIndex.sgml:
26353 * docs/gst/tmpl/old/GstStructure.sgml:
26354 * docs/gst/tmpl/old/GstTag.sgml:
26355 * docs/gst/tmpl/old/cothreads.sgml:
26356 * docs/gst/tmpl/old/cothreads_compat.sgml:
26357 * docs/gst/tmpl/old/gettext.sgml:
26358 * docs/gst/tmpl/old/gobject2gtk.sgml:
26359 * docs/gst/tmpl/old/grammar.tab.sgml:
26360 * docs/gst/tmpl/old/gst-i18n-app.sgml:
26361 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
26362 * docs/gst/tmpl/old/gst_private.sgml:
26363 * docs/gst/tmpl/old/gstaggregator.sgml:
26364 * docs/gst/tmpl/old/gstarch.sgml:
26365 * docs/gst/tmpl/old/gstatomic_impl.sgml:
26366 * docs/gst/tmpl/old/gstbufferstore.sgml:
26367 * docs/gst/tmpl/old/gstdata_private.sgml:
26368 * docs/gst/tmpl/old/gstdisksink.sgml:
26369 * docs/gst/tmpl/old/gstdisksrc.sgml:
26370 * docs/gst/tmpl/old/gstelementfactory.sgml:
26371 * docs/gst/tmpl/old/gstextratypes.sgml:
26372 * docs/gst/tmpl/old/gstfakesink.sgml:
26373 * docs/gst/tmpl/old/gstfakesrc.sgml:
26374 * docs/gst/tmpl/old/gstfdsink.sgml:
26375 * docs/gst/tmpl/old/gstfdsrc.sgml:
26376 * docs/gst/tmpl/old/gstfilesink.sgml:
26377 * docs/gst/tmpl/old/gstfilesrc.sgml:
26378 * docs/gst/tmpl/old/gsthttpsrc.sgml:
26379 * docs/gst/tmpl/old/gstidentity.sgml:
26380 * docs/gst/tmpl/old/gstindexfactory.sgml:
26381 * docs/gst/tmpl/old/gstmarshal.sgml:
26382 * docs/gst/tmpl/old/gstmd5sink.sgml:
26383 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
26384 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
26385 * docs/gst/tmpl/old/gstpadtemplate.sgml:
26386 * docs/gst/tmpl/old/gstpipefilter.sgml:
26387 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
26388 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
26389 * docs/gst/tmpl/old/gstshaper.sgml:
26390 * docs/gst/tmpl/old/gstspider.sgml:
26391 * docs/gst/tmpl/old/gstspideridentity.sgml:
26392 * docs/gst/tmpl/old/gststatistics.sgml:
26393 * docs/gst/tmpl/old/gsttee.sgml:
26394 * docs/gst/tmpl/old/gsttimecache.sgml:
26395 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
26396 * docs/gst/tmpl/old/gstxmlregistry.sgml:
26397 * docs/gst/tmpl/old/gthread-cothreads.sgml:
26398 * docs/gst/tmpl/old/types.sgml:
26399 I didn't intend to add these or check them in.
26401 2005-05-19 David Schleef <ds@schleef.org>
26403 * configure.ac: Use -no-common everywhere. In a sane world, it
26404 would be the default in libtool, because without it, you can't
26405 build DLLs on Windows.
26406 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
26407 * docs/gst/gstreamer-sections.txt:
26408 * docs/gst/tmpl/gstcpu.sgml:
26409 * docs/gst/tmpl/gstdata.sgml:
26410 * docs/gst/tmpl/gstthread.sgml:
26412 2005-05-19 David Schleef <ds@schleef.org>
26414 * gst/gstminiobject.c: (gst_value_set_mini_object),
26415 (gst_value_take_mini_object), (gst_value_get_mini_object):
26416 * gst/gstminiobject.h: Add GValue set/get functions.
26418 2005-05-19 Wim Taymans <wim@fluendo.com>
26420 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
26421 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
26422 (gst_subbuffer_init), (gst_buffer_is_span_fast):
26424 * gst/gstbus.c: (gst_bus_post):
26425 * gst/gstelement.c: (gst_element_get_random_pad):
26426 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
26427 Make subbufer unref the parent in finalize.
26428 some more debugging info.
26431 2005-05-19 Wim Taymans <wim@fluendo.com>
26433 * gst/base/gstbasesink.c: (gst_basesink_class_init),
26434 (gst_basesink_init), (gst_basesink_finalize),
26435 (gst_basesink_activate), (gst_basesink_change_state):
26436 Don't free preroll queue too early.
26438 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26442 Hi, I'm outdated. Please shoot me.
26444 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26446 * gst/gstpipeline.c: (gst_pipeline_send_event):
26447 Do not access variables after they have been deleted.
26449 2005-05-19 Wim Taymans <wim@fluendo.com>
26451 * tools/gst-inspect.c: (print_plugin_features):
26452 A plugin feature does unfortunatly not use the
26455 2005-05-18 Wim Taymans <wim@fluendo.com>
26457 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
26458 Port _span() functions to new subbuffers.
26460 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26462 * gst/gstbin.c: (gst_bin_add_func):
26463 Fix clock settery in bins when adding kids after the clock has
26466 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26468 * gst/elements/gstidentity.c: (gst_identity_class_init):
26469 Workaround until signals support GstMiniObject.
26471 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
26474 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
26476 2005-05-18 Wim Taymans <wim@fluendo.com>
26478 * gst/base/Makefile.am:
26479 * gst/base/gstadapter.c: (gst_adapter_base_init),
26480 (gst_adapter_class_init), (gst_adapter_init),
26481 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
26482 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
26483 (gst_adapter_flush), (gst_adapter_available),
26484 (gst_adapter_available_fast):
26485 * gst/base/gstadapter.h:
26486 Ported and added adapter to the base classes.
26488 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
26491 * gst/gstmessage.c:
26492 Make sure the class is reffed/unreffed once before threads can be
26493 used. Fixes #304551.
26495 2005-05-17 Wim Taymans <wim@fluendo.com>
26497 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
26498 (gst_basesink_chain_unlocked), (gst_basesink_activate):
26499 * gst/gstminiobject.c: (gst_mini_object_get_type),
26500 (gst_mini_object_free):
26501 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
26502 (gst_pad_push), (gst_pad_push_event):
26503 * gst/gstqueue.c: (gst_queue_change_state):
26504 Don't queue buffers in basesink when we are flushing.
26505 Unref buffer when flushing in basesink.
26506 Flush queue when going to READY
26507 Unref buffer when _push() returns an error.
26508 Don't free MiniObject instance when refcount is incremented
26509 in _finalize() so that we can recover objects.
26511 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
26513 * docs/manual/advanced-schedulers.xml:
26514 * docs/manual/appendix-checklist.xml:
26515 * docs/pwg/advanced-clock.xml:
26516 * docs/pwg/advanced-interfaces.xml:
26517 * docs/pwg/advanced-request.xml:
26518 * docs/pwg/advanced-types.xml:
26519 * docs/pwg/intro-preface.xml:
26520 * examples/plugins/example.c: (gst_example_get_type),
26521 (gst_example_class_init), (gst_example_chain),
26522 (gst_example_set_property), (gst_example_get_property),
26523 (gst_example_change_state), (plugin_init):
26524 * examples/plugins/example.h:
26527 2005-05-17 Wim Taymans <wim@fluendo.com>
26529 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
26530 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
26531 * gst/gstqueue.c: (gst_queue_change_state):
26532 Clear queue when going to READY.
26533 Remove IN_SETCAPS flag too.
26535 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
26537 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
26538 Remove implicit cast from gboolean to GstElementStateReturn;
26539 make sure we still return failure in paused => ready case if
26540 the parent class fails to change state and our own stop
26543 2005-05-17 Wim Taymans <wim@fluendo.com>
26545 * tools/gst-launch.c: (event_loop):
26546 Message was unreffed too soon.
26548 2005-05-16 Andy Wingo <wingo@pobox.com>
26550 * gst/gstbin.c (sink_iterator_filter): Err... um...
26552 * check/gst/gstbin.c (test_ghost_pads): New test for the
26553 ghosting-if-elements-not-in-same-bin behavior.
26555 2005-05-16 David Schleef <ds@schleef.org>
26557 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
26558 accessing refcount directly.
26560 2005-05-15 David Schleef <ds@schleef.org>
26562 * check/Makefile.am: remove GstData checks
26563 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
26564 * gst/Makefile.am: add miniobject, remove data
26565 * gst/gst.h: add miniobject, remove data
26566 * gst/gstdata.c: remove
26567 * gst/gstdata.h: remove
26568 * gst/gstdata_private.h: remove
26569 * gst/gsttypes.h: remove GstEvent and GstMessage
26570 * gst/gstelement.c: (gst_element_post_message): fix for API changes
26571 * gst/gstmarshal.list: change BOXED -> OBJECT
26573 Implement GstMiniObject.
26574 * gst/gstminiobject.c:
26575 * gst/gstminiobject.h:
26577 Modify to be subclasses of GstMiniObject.
26578 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
26579 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
26580 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
26581 (gst_subbuffer_get_type), (gst_subbuffer_init),
26582 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
26585 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
26586 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
26587 (_gst_event_copy), (gst_event_new):
26589 * gst/gstmessage.c: (_gst_message_initialize),
26590 (gst_message_get_type), (gst_message_class_init),
26591 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
26592 (gst_message_new), (gst_message_new_error),
26593 (gst_message_new_warning), (gst_message_new_tag),
26594 (gst_message_new_state_changed), (gst_message_new_application):
26595 * gst/gstmessage.h:
26596 * gst/gstprobe.c: (gst_probe_perform),
26597 (gst_probe_dispatcher_dispatch):
26599 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
26600 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
26601 (_gst_query_copy), (gst_query_new):
26603 Update elements for GstData -> GstMiniObject changes
26605 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
26606 (gst_queue_chain), (gst_queue_loop):
26607 * gst/elements/gstbufferstore.c:
26608 (gst_buffer_store_add_buffer_func),
26609 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
26610 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26611 (gst_fakesink_render):
26612 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
26613 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
26614 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
26615 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
26616 (gst_filesrc_create_read):
26617 * gst/elements/gstidentity.c: (gst_identity_class_init):
26618 * gst/elements/gsttypefindelement.c:
26619 (gst_type_find_element_src_event), (free_entry_buffers),
26620 (gst_type_find_element_handle_event):
26621 * libs/gst/dataprotocol/dataprotocol.c:
26622 (gst_dp_header_from_buffer):
26623 * libs/gst/dataprotocol/dataprotocol.h:
26624 * libs/gst/dataprotocol/dp-private.h:
26626 2005-05-15 David Schleef <ds@schleef.org>
26628 * gst/elements/gstelements.c: Don't include headers that were
26631 2005-05-15 David Schleef <ds@schleef.org>
26633 * gst/elements/Makefile.am: Remove some elements that don't
26634 need to be in the core (or even exist at all).
26635 * gst/elements/gstaggregator.c:
26636 * gst/elements/gstaggregator.h:
26637 * gst/elements/gstmd5sink.c:
26638 * gst/elements/gstmd5sink.h:
26639 * gst/elements/gstmultifilesrc.c:
26640 * gst/elements/gstmultifilesrc.h:
26641 * gst/elements/gstpipefilter.c:
26642 * gst/elements/gstpipefilter.h:
26643 * gst/elements/gstshaper.c:
26644 * gst/elements/gstshaper.h:
26645 * gst/elements/gststatistics.c:
26646 * gst/elements/gststatistics.h:
26647 * po/POTFILES.in: Remove above files.
26649 2005-05-14 Andy Wingo <wingo@pobox.com>
26651 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
26652 so as to get the refs right.
26653 (sink_iterator_filter): New function, wraps bin_element_is_sink,
26654 unreffing objects that don't pass the filter.
26656 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
26657 gst_element_set_bus.
26658 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
26659 normal cases, this will destroy the bus.
26661 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
26664 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
26667 2005-05-13 Andy Wingo <wingo@pobox.com>
26669 * gst/gstutils.c (gst_element_link_pads): Instead of calling
26670 gst_pad_link, call pad_link_maybe_ghosting,
26671 (pad_link_maybe_ghosting): Links pads, making sure that the
26672 elements being linked are in the same bin.
26673 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
26674 Helpers for pad_link_maybe_ghosting.
26676 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
26679 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
26681 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
26683 * docs/design/part-element-source.txt:
26686 2005-05-12 Wim Taymans <wim@fluendo.com>
26688 * gst/base/gstbasesink.c: (gst_basesink_init),
26689 (gst_basesink_activate):
26690 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
26691 (gst_basesrc_is_seekable):
26692 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
26693 (bin_element_is_sink), (gst_bin_change_state):
26694 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26695 * gst/gstelement.h:
26696 Identify sinks by their flag to avoid overly complicated
26698 Do state changes even for elements not reachable from the
26700 BaseSink is a sink now :)
26701 Some more debugging info in the basesrc.
26704 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26706 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
26707 Implement _query on a bin, similar to _send_event.
26709 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
26711 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
26712 Discont event offset format should be GST_FORMAT_BYTES,
26713 not GST_FORMAT_TIME.
26715 2005-05-12 Wim Taymans <wim@fluendo.com>
26717 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
26718 Same fix as Ronald's but without the signal.
26720 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26722 * gst/gstutils.c: (gst_element_query_position):
26723 No, an element is not a pad.
26725 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26727 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
26728 (gst_bin_get_state):
26729 If a child is removed from a bin while we remove the child from
26730 the bin and while we're retrieving its state, signal this to the
26731 get_state function so we abort the wait (instead of waiting for
26732 a timeout) and can immediately re-iterate over all other elements.
26734 2005-05-12 Wim Taymans <wim@fluendo.com>
26736 * gst/base/Makefile.am:
26737 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
26738 (gst_basesrc_start):
26739 * gst/base/gstbasesrc.h:
26740 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
26741 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
26742 (gst_pushsrc_init), (gst_pushsrc_create):
26743 * gst/base/gstpushsrc.h:
26744 Added is_seekable to BaseSrc
26745 Added simple PushSrc.
26747 2005-05-11 Wim Taymans <wim@fluendo.com>
26749 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26750 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26751 (gst_element_link_pads), (gst_element_query_position),
26752 (gst_element_query_convert), (intersect_caps_func),
26753 (gst_pad_query_position), (gst_pad_query_convert):
26754 Fix refcounting in utils function.
26755 No point in trying to activate a pad when it's added, it could
26756 be added from the state change function and then we deadlock, the
26757 element has to decide what to do.
26759 2005-05-10 Andy Wingo <wingo@pobox.com>
26761 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
26762 *all* the arguments.
26764 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
26765 stream lock if it's a FLUSH_DONE; normal flushes don't get the
26766 lock (according to the docs -- if this is wrong change the docs).
26768 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
26769 flush messages in the NULL state.
26771 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
26772 message immediately and return.
26773 (gst_bus_set_flushing): New function. If a bus is flushing, it
26774 flushes out any queued messages and immediately unrefs new
26775 messages. This is so when an element goes to NULL, all of the
26776 unhandled messages coming from it can be freed, and their
26777 references to the element dropped. In other words: message source
26778 ref considered harmful :P
26780 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
26781 we're finished with it.
26783 * gst/gstmessage.c (gst_message_new_state_changed):
26785 2005-05-10 Wim Taymans <wim@fluendo.com>
26787 * gst/gstvalue.c: (gst_value_compare_flags),
26788 (gst_value_serialize_flags), (gst_value_deserialize_flags),
26789 (_gst_value_initialize):
26790 Added flags serialize/deserialize/compare code.
26792 2005-05-09 Andy Wingo <wingo@pobox.com>
26794 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
26795 Intersect the peer's caps with our caps.
26797 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26799 * gst/base/gsttypefindhelper.c: (helper_find_peek):
26800 * gst/elements/gsttypefindelement.c: (find_peek):
26801 Handle negative offsets better. Fixes decodebin.
26803 2005-05-09 Wim Taymans <wim@fluendo.com>
26805 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
26806 (gst_base_transform_event):
26807 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
26808 Implement accept_caps.
26809 Fix silly lock/unlock mismatch in base class.
26811 2005-05-09 Wim Taymans <wim@fluendo.com>
26813 * docs/design/draft-push-pull.txt:
26814 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
26815 * gst/elements/gstfilesink.c: (gst_filesink_init),
26816 (gst_filesink_query):
26817 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
26818 (gst_type_find_handle_src_query), (find_element_get_length):
26819 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
26820 * gst/gstelement.h:
26821 * gst/gstmessage.c:
26822 * gst/gstmessage.h:
26823 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
26824 (gst_real_pad_get_caps_unlocked),
26825 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
26826 (gst_pad_event_default_dispatch), (gst_pad_event_default),
26827 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
26828 (gst_real_pad_dispose), (gst_real_pad_finalize),
26829 (gst_pad_load_and_link), (gst_pad_save_thyself),
26830 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
26831 (gst_pad_check_pull_range), (gst_pad_pull_range),
26832 (gst_pad_template_get_type), (gst_pad_template_class_init),
26833 (gst_pad_template_init), (gst_pad_template_dispose),
26834 (name_is_valid), (gst_static_pad_template_get),
26835 (gst_pad_template_new), (gst_static_pad_template_get_caps),
26836 (gst_pad_template_get_caps), (gst_pad_set_element_private),
26837 (gst_pad_get_element_private), (gst_pad_start_task),
26838 (gst_pad_pause_task), (gst_pad_stop_task),
26839 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
26840 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
26841 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
26842 (gst_ghost_pad_new):
26844 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
26845 (gst_query_new_position), (gst_query_set_position),
26846 (gst_query_parse_position), (gst_query_new_convert),
26847 (gst_query_set_convert), (gst_query_parse_convert):
26849 * gst/gstqueryutils.c:
26850 * gst/gstqueryutils.h:
26851 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26852 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26853 (gst_queue_handle_src_query):
26854 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26855 (gst_element_query_position), (gst_element_query_convert),
26856 (intersect_caps_func), (gst_pad_query_position),
26857 (gst_pad_query_convert):
26859 * tools/gst-inspect.c: (print_pad_info):
26860 * tools/gst-xmlinspect.c: (print_element_info):
26861 Remove old query functions. Ported old code.
26862 Added position/convert helper functions to gstutils.
26863 Reordered gstpad.c code, grouping relevant things.
26864 Remove gst_message_new(), always need to speficy a specific
26868 2005-05-09 Andy Wingo <wingo@pobox.com>
26870 * gst/gstiterator.h: Add some includes.
26872 * gst/gstqueryutils.h: Include more headers.
26875 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
26876 some uses of gst_pad_query.
26878 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
26879 NULL out parameters.
26880 (gst_query_new_position): New proc, allocates a new position
26883 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
26884 gstqueryutils.c to the build.
26886 * gst/gststructure.c (gst_structure_set_valist): Implement with
26887 the generic G_VALUE_COLLECT.
26889 2005-05-08 Edward Hervey <bilboed@bilboed.com>
26891 * gst/Makefile.am: (gst_headers):
26892 Added gstqueryutils.h to the list of headers to install, that was
26893 a 'nachty' move wingo :)
26895 2005-05-06 Andy Wingo <wingo@pobox.com>
26898 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
26899 GstData, init a memchunk.
26900 (standard_definitions): Add a few query types, deprecate a few.
26901 (gst_query_get_type): New proc.
26902 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
26904 (gst_query_new_application, gst_query_get_structure): New public
26907 * docs/design/draft-query.txt: Removed LINKS from the query types,
26908 because all the rest can be dispatched to other pads -- seemed
26909 ugly to have a query that couldn't be dispatched. internal_links
26910 is fine as a pad method.
26912 * gst/gstpad.h: Add query2 as a pad method, add the new functions
26913 in gstpad.c, but maintain binary compatibility for the moment.
26914 Will fix before 0.9 is out.
26916 * gst/gstqueryutils.c:
26917 * gst/gstqueryutils.h: New files, implement 3 methods for each
26918 query type: parse_query, parse_response, and set. Probably need an
26921 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
26923 * gst/elements/gstfilesink.c (gst_filesink_query2):
26924 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
26925 query_types, and formats methods.
26927 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
26928 (gst_pad_set_query2_function): New functions.
26929 (gst_real_pad_init): Set query2_default as the default query2
26930 function. Basically just dispatches to internally linked pads.
26934 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
26935 without using the atomic operations. Only one thread can possibly
26936 be accessing the data at this point. Changed so as to avoid
26937 gst_atomic operations.
26939 2005-05-06 Wim Taymans <wim@fluendo.com>
26941 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
26942 Also set caps if we use the fallback buffer alloc.
26944 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
26946 * docs/gst/Makefile.am:
26947 * docs/gst/gstreamer-docs.sgml:
26948 * docs/gst/gstreamer-sections.txt:
26949 * docs/gst/tmpl/gstatomic.sgml:
26950 * docs/gst/tmpl/gstmemchunk.sgml:
26951 * testsuite/elements/struct_i386.h:
26952 * win32/GStreamer.vcproj:
26954 Purge GstAtomic stuff from docs and win32 makefiles as well
26956 2005-05-06 Wim Taymans <wim@fluendo.com>
26958 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
26959 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
26960 * gst/gstpad.c: (gst_pad_peer_get_caps):
26961 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26962 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26963 (gst_queue_src_activate), (gst_queue_change_state):
26965 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26966 (intersect_caps_func):
26967 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
26968 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
26969 Some fixes for the peer_get_caps() change.
26971 2005-05-06 Wim Taymans <wim@fluendo.com>
26973 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26974 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
26975 (gst_basesink_activate):
26976 Actually do something with error codes returned from the push
26979 2005-05-06 Wim Taymans <wim@fluendo.com>
26981 * docs/design/part-element-sink.txt:
26982 * docs/design/part-element-source.txt:
26983 * gst/base/gstbasesink.c: (gst_basesink_class_init),
26984 (gst_basesink_event), (gst_basesink_activate):
26985 * gst/base/gstbasesink.h:
26986 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
26987 (gst_basesrc_activate):
26988 * gst/base/gstbasesrc.h:
26989 * gst/gstelement.c: (gst_element_pads_activate):
26990 Some more documentation.
26991 Fixed scheduling decision in _pads_activate().
26993 2005-05-05 Andy Wingo <wingo@pobox.com>
26995 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
26998 2005-05-05 Wim Taymans <wim@fluendo.com>
27000 * gst/base/Makefile.am:
27001 * gst/base/gstbasesink.h:
27002 * gst/base/gstbasesrc.c: (gst_basesrc_init),
27003 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
27004 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
27005 (gst_collectpads_class_init), (gst_collectpads_init),
27006 (gst_collectpads_finalize), (gst_collectpads_new),
27007 (gst_collectpads_set_function), (gst_collectpads_add_pad),
27008 (find_pad), (gst_collectpads_remove_pad),
27009 (gst_collectpads_is_active), (gst_collectpads_collect),
27010 (gst_collectpads_collect_range), (gst_collectpads_start),
27011 (gst_collectpads_stop), (gst_collectpads_peek),
27012 (gst_collectpads_pop), (gst_collectpads_available),
27013 (gst_collectpads_read), (gst_collectpads_flush),
27014 (gst_collectpads_chain):
27015 * gst/base/gstcollectpads.h:
27016 * gst/elements/Makefile.am:
27017 * gst/elements/gstelements.c:
27018 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27019 (gst_fakesink_get_times), (gst_fakesink_event),
27020 (gst_fakesink_preroll), (gst_fakesink_render):
27021 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
27022 (gst_filesink_init), (gst_filesink_set_location),
27023 (gst_filesink_open_file), (gst_filesink_close_file),
27024 (gst_filesink_pad_query), (gst_filesink_event),
27025 (gst_filesink_render), (gst_filesink_change_state):
27026 * gst/elements/gstfilesink.h:
27027 Added object to help in making collect pad based elements.
27029 Make event function in sink baseclass return gboolean.
27031 2005-05-05 Wim Taymans <wim@fluendo.com>
27033 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
27034 (gst_bin_get_by_name):
27036 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
27037 (gst_clock_finalize):
27038 * gst/gstdata.c: (gst_data_replace):
27040 * gst/gstelement.c: (gst_element_request_pad),
27041 (gst_element_pads_activate):
27042 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
27043 (gst_object_unref):
27044 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27045 (gst_pad_set_checkgetrange_function),
27046 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
27047 (gst_pad_check_pull_range), (gst_pad_pull_range),
27048 (gst_static_pad_template_get_caps), (gst_pad_start_task),
27049 (gst_pad_pause_task), (gst_pad_stop_task):
27050 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27051 (gst_element_request_pad), (gst_pad_proxy_getcaps):
27052 Fix name lookup in GstBin.
27053 Added _data_replace() function and _buffer_replace()
27054 Use finalize method to clean up clock.
27055 Fix refcounting on request pads.
27056 Fix pad schedule mode error.
27057 Some more object refcounting debug info,
27060 2005-05-04 Andy Wingo <wingo@pobox.com>
27062 * check/Makefile.am:
27063 * docs/gst/tmpl/gstatomic.sgml:
27064 * docs/gst/tmpl/gstplugin.sgml:
27065 * gst/base/gstbasesink.c: (gst_basesink_activate):
27066 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
27067 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
27068 (gst_basesrc_query), (gst_basesrc_set_property),
27069 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
27070 (gst_basesrc_activate):
27071 * gst/base/gstbasesrc.h:
27072 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
27073 (gst_base_transform_src_activate):
27074 * gst/elements/gstelements.c:
27075 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27076 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
27077 * gst/elements/gsttee.c: (gst_tee_sink_activate):
27078 * gst/elements/gsttypefindelement.c: (find_element_get_length),
27079 (gst_type_find_element_checkgetrange),
27080 (gst_type_find_element_activate):
27081 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
27082 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
27083 (gst_caps_load_thyself):
27084 * gst/gstelement.c: (gst_element_pads_activate),
27085 (gst_element_save_thyself), (gst_element_restore_thyself):
27086 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
27087 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
27089 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
27090 (gst_xml_parse_file), (gst_xml_parse_memory),
27091 (gst_xml_get_element), (gst_xml_make_element):
27092 * gst/indexers/gstfileindex.c: (gst_file_index_load),
27093 (_file_index_id_save_xml), (gst_file_index_commit):
27094 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
27095 (read_enum), (load_pad_template), (load_feature), (load_plugin),
27097 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
27098 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
27099 * tools/gst-complete.c: (main):
27100 * tools/gst-compprep.c: (main):
27101 * tools/gst-inspect.c: (print_element_properties_info):
27102 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
27103 * tools/gst-xmlinspect.c: (print_element_properties):
27106 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
27108 * gst/gstplugin.c: (gst_plugin_check_module),
27109 (gst_plugin_check_file), (gst_plugin_load_file):
27110 apply patch from #172526 to make register work on MacOSX
27112 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
27114 * docs/gst/tmpl/gstconfig.sgml:
27115 * gst/gstconfig.h.in:
27116 move documentation for some symbols. Add doc for GST_PTR_FORMAT
27117 * testsuite/debug/printf_extension.c: (main):
27118 Do not use GST_PTR_FORMAT on pointers to types with
27119 sizeof < sizeof(gpointer). Fixes test on 64-bit
27120 * testsuite/elements/property.h:
27121 use correct printf format
27123 2005-05-02 Wim Taymans <wim@fluendo.com>
27125 * docs/design/draft-push-pull.txt:
27126 * docs/design/draft-query.txt:
27127 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
27128 (gst_basesrc_start):
27129 Added draft for new query API.
27130 Added draft for better selecting scheduling methods.
27131 Make basesrc ignore length if the subclass does not support
27134 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
27137 possible fixes for automake-1.5 - _LIBADD is reserved
27139 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
27141 * docs/faq/Makefile.am:
27142 * docs/manual/Makefile.am:
27143 * docs/manuals.mak:
27144 * docs/pwg/Makefile.am:
27146 possible fixes for automake-1.5
27148 2005-04-28 Wim Taymans <wim@fluendo.com>
27150 * gst/base/gstbasesink.c: (gst_basesink_base_init),
27151 (gst_basesink_pad_getcaps), (gst_basesink_init),
27152 (gst_basesink_do_sync):
27153 * gst/gstclock.c: (gst_clock_entry_new):
27154 * gst/gstevent.c: (gst_event_discont_get_value):
27155 * gst/gstpipeline.c: (pipeline_bus_handler),
27156 (gst_pipeline_change_state):
27157 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
27158 Better debugging of clocking info.
27159 Allow NULL values when getting discont values.
27161 2005-04-27 Wim Taymans <wim@fluendo.com>
27163 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
27164 * check/gst/gstpad.c: (gst_pad_suite):
27165 Increase timeout for checks.
27167 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
27169 * check/Makefile.am:
27170 fix the broken rule for cleanup. Apparently this rule is
27171 only needed on FC2, so maybe this warrants further autotool
27174 2005-04-26 Wim Taymans <wim@fluendo.com>
27176 * gst/gsttrashstack.h:
27177 Ooohh. a nasty one! After having a failed pop() from the stack,
27178 it's possible that the stack is empty. In that case, don't
27179 follow the NULL pointer.
27181 2005-04-25 Wim Taymans <wim@fluendo.com>
27183 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27184 (gst_pad_set_checkgetrange_function),
27185 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
27186 (gst_pad_check_pull_range), (gst_pad_pull_range),
27187 (gst_static_pad_template_get_caps), (gst_pad_start_task),
27188 (gst_pad_pause_task), (gst_pad_stop_task):
27189 * gst/gstplugin.c: (gst_plugin_load):
27191 Remove gst_library_load as it does more harm than good with
27192 the new g_module flags.
27193 Revert bogus caps template check in pad linking, pad caps
27194 are important when linking not the template, which is more
27195 general than the current caps.
27197 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27199 * gst/autoplug/.cvsignore:
27200 * gst/autoplug/Makefile.am:
27201 * gst/autoplug/gstsearchfuncs.c:
27202 * gst/autoplug/gstsearchfuncs.h:
27203 * gst/autoplug/gstspider.c:
27204 * gst/autoplug/gstspider.h:
27205 * gst/autoplug/gstspideridentity.c:
27206 * gst/autoplug/gstspideridentity.h:
27207 * gst/autoplug/spidertest.c:
27210 2005-04-25 Wim Taymans <wim@fluendo.com>
27212 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27213 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
27214 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
27215 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
27217 Added stubs for unimplemented functions.
27219 2005-04-24 David Schleef <ds@schleef.org>
27221 * gst/gstpad.h: Disable some unimplemented functions. Wim,
27224 2005-04-24 David Schleef <ds@schleef.org>
27226 Convert everything from GstAtomicInt to g_atomic_int_*, and
27231 * gst/gstatomic_impl.h:
27239 * gst/gstdata_private.h:
27243 * gst/gstmessage.c:
27246 * gst/gststructure.c:
27247 * gst/gststructure.h:
27248 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
27251 2005-04-24 David Schleef <ds@schleef.org>
27253 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
27254 make the regressions tests work. Remove some code that is no
27256 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
27257 Disable warning for pads without templates.
27259 2005-04-24 David Schleef <ds@schleef.org>
27261 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
27262 functions that handle filtered links.
27263 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
27265 * gst/gstutils.c: Fix/remove utility functions that handle
27268 * gst/gstvalue.c: Add serialization/deserialization of caps
27269 * gst/parse/grammar.y: Ignore filtered caps when linking. This
27270 requires fixing so that the filter caps notation creates
27271 a capsfilter element and sets the filter_caps property. I
27272 think everyone probably wants to keep the shorthand notation.
27273 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
27274 * docs/gst/tmpl/gstpad.sgml:
27276 * gst/elements/gstelements.c: Register capsfilter element.
27277 * gst/Makefile.am: fix spacing
27278 * docs/random/ds/0.9-suggested-changes: random
27280 2005-04-23 David Schleef <ds@schleef.org>
27282 * gst/elements/Makefile.am:
27283 * gst/elements/gstcapsfilter.c: New element that acts like an
27284 identity, but filters caps. Will eventually replace filtered
27285 caps in pad linking.
27286 * gst/gstutils.c: (gst_element_create_all_pads): New function
27287 to create all the ALWAYS pads that are registered with an
27288 element class. This functionality should eventually be
27289 merged in with GstElement initialization.
27291 * testsuite/trigger/README: part of trigger test code that should
27292 have been checked in a long time ago.
27294 2005-04-23 David Schleef <ds@schleef.org>
27296 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
27297 needed with new versions of libtool (nobody will confirm this),
27298 and hard to carry around.
27299 * gst/autoplug/Makefile.am:
27300 * gst/base/Makefile.am:
27301 * gst/elements/Makefile.am:
27302 * gst/indexers/Makefile.am:
27303 * gst/schedulers/Makefile.am:
27304 * libs/gst/bytestream/Makefile.am:
27305 * libs/gst/control/Makefile.am:
27306 * libs/gst/dataprotocol/Makefile.am:
27307 * libs/gst/getbits/Makefile.am:
27309 2005-04-21 Wim Taymans <wim@fluendo.com>
27311 * docs/design/draft-push-pull.txt:
27312 * docs/design/part-MT-refcounting.txt:
27313 * docs/design/part-TODO.txt:
27314 * docs/design/part-caps.txt:
27315 * docs/design/part-events.txt:
27316 * docs/design/part-gstbus.txt:
27317 * docs/design/part-gstpipeline.txt:
27318 * docs/design/part-messages.txt:
27319 * docs/design/part-push-pull.txt:
27320 * docs/design/part-query.txt:
27323 2005-04-21 Wim Taymans <wim@fluendo.com>
27325 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
27326 (gst_message_new), (gst_message_new_error),
27327 (gst_message_new_warning), (gst_message_new_tag),
27328 (gst_message_new_state_changed), (gst_message_new_application),
27329 (gst_message_get_structure):
27330 * gst/gstmessage.h:
27331 * gst/gststructure.c: (gst_structure_set_parent_refcount),
27332 (gst_structure_copy_conditional):
27333 Use parent refcount in GstMessage to ensure GstStructure
27335 Cleaned up headers a bit.
27338 2005-04-20 Wim Taymans <wim@fluendo.com>
27340 * gst/base/gstbasesink.c: (gst_basesink_base_init),
27341 (gst_basesink_pad_getcaps), (gst_basesink_init),
27342 (gst_basesink_chain_unlocked):
27343 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
27344 (gst_type_find_helper):
27345 * gst/elements/gsttypefindelement.c:
27346 (gst_type_find_element_have_type), (gst_type_find_element_init),
27347 (stop_typefinding), (gst_type_find_element_handle_event),
27348 (find_suggest), (gst_type_find_element_chain),
27349 (gst_type_find_element_checkgetrange),
27350 (gst_type_find_element_getrange), (do_typefind),
27351 (gst_type_find_element_activate):
27352 * gst/gstbuffer.c: (_gst_buffer_sub_free),
27353 (gst_buffer_default_free), (gst_buffer_default_copy),
27354 (gst_buffer_set_caps):
27355 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
27356 (gst_caps_replace):
27357 * gst/gstmessage.c: (gst_message_new),
27358 (gst_message_new_state_changed):
27359 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27360 (gst_pad_set_checkgetrange_function),
27361 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
27362 (gst_pad_set_caps), (gst_pad_check_pull_range),
27363 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
27365 * gst/gsttypefind.c: (gst_type_find_register):
27366 Make gst_caps_replace() work like other _replace() functions.
27367 Use _caps_replace() where possible.
27368 Make sure _message_new() initialises its field.
27369 Add gst_static_pad_template_get_caps()
27372 2005-04-18 Andy Wingo <wingo@pobox.com>
27374 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
27375 on the peer, not the pad. I think that was a typo. Pass an extra
27376 arg to see if random access is possible. Activate the pads as
27377 PULL_RANGE if possible.
27379 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
27381 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
27382 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
27385 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27387 * docs/faq/using.xml:
27388 Add note on gstreamer-properties (#154996).
27390 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27392 * docs/random/bbb/optional-properties:
27393 Some analysis on optional properties.
27395 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27397 * docs/gst/tmpl/gstelementfactory.sgml:
27398 * gst/gstelement.h:
27399 * gst/gstelementfactory.c: (gst_element_factory_init),
27400 (gst_element_factory_cleanup), (gst_element_register),
27401 (__gst_element_factory_add_static_pad_template),
27402 (gst_element_factory_get_static_pad_templates),
27403 (gst_element_factory_can_src_caps),
27404 (gst_element_factory_can_sink_caps):
27405 * gst/registries/Makefile.am:
27406 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
27407 (gst_xml_registry_class_init), (gst_xml_registry_init),
27408 (gst_xml_registry_new), (gst_xml_registry_set_property),
27409 (gst_xml_registry_get_property), (get_time), (make_dir),
27410 (gst_xml_registry_get_perms_func),
27411 (plugin_times_older_than_recurse), (plugin_times_older_than),
27412 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
27413 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
27414 (add_to_char_array), (read_string), (read_uint), (read_enum),
27415 (load_pad_template), (load_feature), (load_plugin), (load_paths),
27416 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
27417 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
27418 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
27419 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
27420 (gst_xml_registry_rebuild):
27421 * gst/registries/gstlibxmlregistry.h:
27422 * tools/gst-compprep.c: (main):
27423 * tools/gst-inspect.c: (print_pad_templates_info):
27424 * tools/gst-xmlinspect.c: (print_element_info):
27425 Use libxml2 for registry parsing, use staticpadtemplates in
27426 elementfactories. Makes gst_init() +/- 10x faster.
27428 2005-04-12 Wim Taymans <wim@fluendo.com>
27430 * gst/base/Makefile.am:
27431 * gst/base/gstbasesink.c: (gst_basesink_base_init),
27432 (gst_basesink_pad_getcaps), (gst_basesink_init),
27433 (gst_basesink_event), (gst_basesink_change_state):
27434 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27435 (gst_basesrc_init), (gst_basesrc_query),
27436 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
27437 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
27438 (gst_basesrc_check_get_range), (gst_basesrc_loop),
27439 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
27440 (gst_basesrc_stop), (gst_basesrc_activate),
27441 (gst_basesrc_change_state):
27442 * gst/base/gsttypefindhelper.c: (helper_find_peek),
27443 (helper_find_suggest), (gst_type_find_helper):
27444 * gst/base/gsttypefindhelper.h:
27445 * gst/elements/Makefile.am:
27446 * gst/elements/gstelements.c:
27447 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27448 (gst_fakesink_get_times), (gst_fakesink_event),
27449 (gst_fakesink_preroll), (gst_fakesink_render):
27450 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27451 (gst_fakesrc_init), (gst_fakesrc_event_handler),
27452 (gst_fakesrc_get_property), (gst_fakesrc_create),
27453 (gst_fakesrc_start), (gst_fakesrc_stop):
27454 * gst/elements/gstfakesrc.h:
27455 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
27456 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
27457 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
27458 (gst_filesrc_create_read), (gst_filesrc_create),
27459 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
27460 (gst_filesrc_start):
27461 * gst/elements/gsttypefindelement.c:
27462 (gst_type_find_element_have_type), (gst_type_find_element_init),
27463 (start_typefinding), (stop_typefinding), (push_buffer_store),
27464 (gst_type_find_element_handle_event),
27465 (gst_type_find_element_chain),
27466 (gst_type_find_element_checkgetrange),
27467 (gst_type_find_element_getrange), (do_typefind),
27468 (gst_type_find_element_activate),
27469 (gst_type_find_element_change_state):
27470 * gst/elements/gsttypefindelement.h:
27471 * gst/gstpipeline.c: (pipeline_bus_handler):
27472 Added typefind helper.
27473 Small preroll fix in the base sink.
27474 Disable typefind code in basesrc.
27475 Crude port of typefindelement.
27479 2005-04-11 Wim Taymans <wim@fluendo.com>
27481 * check/gst/gstbus.c: (gstbus_suite):
27482 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
27483 * check/gstcheck.h:
27484 Fix up the timeout so that the test does not fail.
27486 2005-04-06 Wim Taymans <wim@fluendo.com>
27489 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27490 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
27491 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
27492 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
27493 (gst_basesrc_check_get_range), (gst_basesrc_loop),
27494 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
27495 (gst_basesrc_stop), (gst_basesrc_activate),
27496 (gst_basesrc_change_state), (basesrc_find_peek),
27497 (basesrc_find_suggest), (gst_basesrc_type_find):
27498 * gst/base/gstbasesrc.h:
27499 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
27500 (gst_filesrc_class_init), (gst_filesrc_init),
27501 (gst_filesrc_finalize), (gst_filesrc_set_location),
27502 (gst_filesrc_set_property), (gst_filesrc_get_property),
27503 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
27504 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
27505 (gst_filesrc_create_read), (gst_filesrc_create),
27506 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
27507 * gst/elements/gstfilesrc.h:
27508 * gst/gstelement.c: (gst_element_get_state_func),
27509 (gst_element_lost_state), (gst_element_pads_activate):
27510 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27511 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
27512 (gst_pad_pull_range):
27514 More work on the generic source base class, implement seeking,
27516 Make filesrc extend the base source class.
27517 Added gst_pad_set_checkgetrange_function to GstPad.
27519 2005-04-06 Andy Wingo <wingo@pobox.com>
27521 * pkgconfig/gstreamer-base.pc.in:
27522 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
27524 * pkgconfig/Makefile.am:
27525 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
27527 2005-04-04 Wim Taymans <wim@fluendo.com>
27529 * gst/base/Makefile.am:
27531 * gst/base/gstbasesink.c: (gst_basesink_base_init),
27532 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
27533 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
27534 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
27535 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27536 (gst_basesrc_base_init), (gst_basesrc_class_init),
27537 (gst_basesrc_init), (gst_basesrc_get_formats),
27538 (gst_basesrc_get_query_types), (gst_basesrc_query),
27539 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
27540 (gst_basesrc_set_property), (gst_basesrc_get_property),
27541 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
27542 (gst_basesrc_loop), (gst_basesrc_activate),
27543 (gst_basesrc_change_state):
27544 * gst/base/gstbasesrc.h:
27545 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
27546 (gst_fakesrc_class_init), (gst_fakesrc_init),
27547 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
27548 (gst_fakesrc_get_property), (gst_fakesrc_create):
27549 * gst/elements/gstfakesrc.h:
27550 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
27551 (gst_filesrc_open_file), (gst_filesrc_loop),
27552 (gst_filesrc_activate), (filesrc_find_peek),
27553 (gst_filesrc_type_find):
27554 Made base source class, make fakesrc extend it.
27555 Add comments to basesink class.
27556 Some filesrc cleanup.
27558 2005-03-31 David Schleef <ds@schleef.org>
27560 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
27561 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
27562 expected to link against libgstreamer.
27563 * gst/base/Makefile.am: link against libgstreamer
27564 * gst/elements/Makefile.am: same
27566 2005-03-31 Andy Wingo <wingo@pobox.com>
27568 * tests/instantiate/Makefile.am:
27569 * tests/instantiate/caps.c: Add test to test speed of caps copy
27572 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
27573 GMemChunk to be fair.
27575 * gst/gsttrashstack.h: Remove warning about using the fallback
27576 trash stack implementation, it's still faster than malloc.
27578 2005-03-30 Andy Wingo <wingo@pobox.com>
27580 * tests/complexity.c: Add a copyright.
27582 2005-03-31 Wim Taymans <wim@fluendo.com>
27584 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
27585 (gst_base_transform_class_init), (gst_base_transform_init),
27586 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
27587 (gst_base_transform_get_property),
27588 (gst_base_transform_sink_activate),
27589 (gst_base_transform_src_activate),
27590 (gst_base_transform_change_state):
27591 * gst/base/gstbasetransform.h:
27592 * gst/elements/gstidentity.c: (gst_identity_class_init),
27593 (gst_identity_event), (gst_identity_check_perfect),
27594 (gst_identity_transform), (gst_identity_start),
27595 (gst_identity_stop):
27596 Added start/stop methods to transform base class so subclasses
27597 don't need to deal with state changes even.
27599 2005-03-31 Wim Taymans <wim@fluendo.com>
27601 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
27602 (gst_event_new_discontinuous), (gst_event_discont_get_value):
27604 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27605 (gst_pad_pull_range):
27606 Added rate to the discont event to prepare for variable speed
27607 and reverse playback.
27609 2005-03-29 David Schleef <ds@schleef.org>
27612 * testsuite/trigger/Makefile.am:
27613 * testsuite/trigger/trigger.c: A little example program to show
27614 how trigger-based elements can work.
27616 2005-03-29 Wim Taymans <wim@fluendo.com>
27618 * gst/base/Makefile.am:
27620 * gst/base/gstbasesink.c: (gst_basesink_get_type),
27621 (gst_basesink_base_init), (gst_basesink_class_init),
27622 (gst_basesink_pad_getcaps), (gst_basesink_init),
27623 (gst_basesink_activate), (gst_basesink_change_state):
27624 * gst/base/gstbasesink.h:
27625 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
27626 (gst_base_transform_base_init), (gst_base_transform_finalize),
27627 (gst_base_transform_class_init), (gst_base_transform_init),
27628 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
27629 (gst_base_transform_event), (gst_base_transform_getrange),
27630 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
27631 (gst_base_transform_set_property),
27632 (gst_base_transform_get_property),
27633 (gst_base_transform_sink_activate),
27634 (gst_base_transform_src_activate),
27635 (gst_base_transform_change_state):
27636 * gst/base/gstbasetransform.h:
27637 * gst/elements/gstidentity.c: (gst_identity_finalize),
27638 (gst_identity_class_init), (gst_identity_init),
27639 (gst_identity_event), (gst_identity_check_perfect),
27640 (gst_identity_transform), (gst_identity_set_property),
27641 (gst_identity_get_property), (gst_identity_change_state):
27642 * gst/elements/gstidentity.h:
27643 * gst/gstelement.c: (gst_element_get_state_func),
27644 (gst_element_lost_state), (gst_element_pads_activate):
27645 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27646 (gst_pad_check_pull_range), (gst_pad_pull_range):
27648 Simplify pad activation.
27649 Added function to check if pull_range can be performed.
27650 Error out when pulling inactive or flushing pads.
27651 Removed const from refcounted types as it does not make sense.
27652 Simplify pad templates in basesink
27653 Added base class for simple 1-to-1 transforms.
27654 Make identity subclass the base transform.
27656 2005-03-29 Andy Wingo <wingo@pobox.com>
27658 * docs/libs/gstreamer-libs-overrides.txt:
27659 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
27660 really don't understand what's going on, but like whatever. I want
27663 * docs/gst/Makefile.am:
27664 * docs/libs/Makefile.am: Dist the overrides files.
27666 * check/Makefile.am (clean-local): Remove .libs directories.
27668 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
27669 elements to EXTRA_DIST, so po/ files are happy.
27671 * po/POTFILES.in: Er, remove it here.
27673 * po/POTFILES: Remove gstspider.c.
27675 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
27677 * docs/libs/gstreamer-libs-docs.sgml:
27678 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
27681 * tests/complexity.c (main): Set the length of the preroll queue
27682 on the sinks to prevent a lockup.
27684 * libs/gst/dataprotocol/Makefile.am:
27685 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
27686 the same as the one in check/gst-libs/gdp.c.
27688 * po/, docs/gst/: Commit automatic changes to docs and po files.
27690 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
27691 the versioned libgstbase.
27693 * check/Makefile.am: Depend on an unversioned gst-register, seems
27694 to make autoconf happier.
27696 * gst/base/Makefile.am: Make libgstbase a versioned lib.
27698 2005-03-28 Wim Taymans <wim@fluendo.com>
27701 * docs/design/part-gstelement.txt:
27702 * docs/design/part-negotiation.txt:
27703 * docs/design/part-preroll.txt:
27704 * docs/design/part-scheduling.txt:
27705 * docs/design/part-states.txt:
27707 * gst/base/Makefile.am:
27709 * gst/base/gstbasesink.c: (gst_basesink_get_template),
27710 (gst_basesink_base_init), (gst_basesink_class_init),
27711 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
27712 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
27713 (gst_basesink_set_pad_functions),
27714 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
27715 (gst_basesink_set_property), (gst_basesink_get_property),
27716 (gst_base_sink_get_template), (gst_base_sink_get_caps),
27717 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
27718 (gst_basesink_preroll_queue_push),
27719 (gst_basesink_preroll_queue_empty),
27720 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
27721 (gst_basesink_event), (gst_basesink_get_times),
27722 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
27723 (gst_basesink_chain_unlocked), (gst_basesink_chain),
27724 (gst_basesink_loop), (gst_basesink_activate),
27725 (gst_basesink_change_state):
27726 * gst/base/gstbasesink.h:
27727 * gst/elements/Makefile.am:
27728 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
27729 (gst_fakesink_class_init), (gst_fakesink_init),
27730 (gst_fakesink_set_property), (gst_fakesink_get_property),
27731 (gst_fakesink_get_times), (gst_fakesink_event),
27732 (gst_fakesink_preroll), (gst_fakesink_render),
27733 (gst_fakesink_change_state):
27734 * gst/elements/gstfakesink.h:
27735 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27736 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
27737 * gst/gstelement.c: (gst_element_add_pad),
27738 (gst_element_get_state_func), (gst_element_abort_state),
27739 (gst_element_commit_state), (gst_element_lost_state),
27740 (gst_element_set_state), (gst_element_pads_activate):
27741 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
27742 * gst/gstpipeline.c: (gst_pipeline_send_event),
27743 (gst_pipeline_change_state):
27744 Added state change code.
27745 Added/updated docs.
27746 Added sink base class, make fakesink extend the base class.
27747 Small cleanups in GstPipeline.
27749 2005-03-26 David Schleef <ds@schleef.org>
27751 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
27752 is broken and should be implemented in a different library.
27753 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
27754 * gst/gst.h: remove gstcpu.h
27755 * gst/gstcpu.c: remove
27756 * gst/gstcpu.h: remove
27757 * gst/Makefile.am.future: Remove this file. It's ancient.
27759 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27761 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27762 (gst_bin_send_event):
27763 Add default event/set_manager handlers. The set_manager handler
27764 takes care that the manager is distributed over kids that were
27765 already in the bin before the manager was set. The event handler
27766 is a utility virtual function that sends the event over all sinks,
27767 so that gst_element_send_event (bin, event); has the expected
27769 * gst/gstpad.c: (gst_pad_event_default):
27770 Re-install default event handling for discontinuities, so that
27771 seeking works without requiring hacks in applications or extra
27773 * gst/gstpipeline.c: (gst_pipeline_class_init),
27774 (gst_pipeline_send_event):
27775 Half hack, half utility: set a pipeline to PAUSED for seek events,
27776 since that is the only way we can guarantee a/v sync. Means that
27777 you can do gst_element_seek (pipeline, method, pos); on a pipeline
27778 and it "just works".
27780 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27782 * gst/gstpipeline.c: (gst_pipeline_use_clock):
27783 Lock/unlock mismatch.
27785 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
27787 * docs/faq/gst-uninstalled:
27788 add gst-plugins-base
27789 * docs/gst/Makefile.am:
27790 don't error out until docs are fixed
27791 * docs/gst/gstreamer.types:
27794 2005-03-22 Wim Taymans <wim@fluendo.com>
27796 * check/Makefile.am:
27797 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
27798 * gst/gststructure.c: (gst_structure_set_valist),
27799 (gst_structure_copy_conditional):
27800 Activated more tests.
27801 Added message test.
27802 Added G_TYPE_POINTER to GstStructure.
27805 2005-03-22 Wim Taymans <wim@fluendo.com>
27807 * docs/design/part-TODO.txt:
27808 * docs/design/part-events.txt:
27809 * docs/design/part-gstbin.txt:
27810 * docs/design/part-gstbus.txt:
27811 * docs/design/part-gstpipeline.txt:
27812 * docs/design/part-messages.txt:
27814 * gst/gstmessage.c:
27817 2005-03-21 Wim Taymans <wim@fluendo.com>
27819 * gst/gstbus.c: (gst_bus_post):
27820 Fix copy-and-paste error.
27822 2005-03-21 Wim Taymans <wim@fluendo.com>
27824 * check/Makefile.am:
27826 * gst/elements/Makefile.am:
27827 * gst/elements/gstelements.c:
27828 * gst/elements/gstfakesink.c: (gst_fakesink_init),
27829 (gst_fakesink_event), (gst_fakesink_chain):
27830 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27831 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
27832 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
27833 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
27834 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
27835 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
27836 (gst_fakesrc_loop), (gst_fakesrc_activate),
27837 (gst_fakesrc_change_state):
27838 * gst/elements/gstfakesrc.h:
27839 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
27840 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
27841 (gst_filesrc_open_file), (gst_filesrc_loop),
27842 (gst_filesrc_activate), (gst_filesrc_change_state),
27843 (filesrc_find_peek), (filesrc_find_suggest),
27844 (gst_filesrc_type_find):
27845 * gst/elements/gstidentity.c: (gst_identity_finalize),
27846 (gst_identity_class_init), (gst_identity_init),
27847 (gst_identity_proxy_getcaps), (identity_queue_push),
27848 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
27849 (gst_identity_getrange), (gst_identity_chain),
27850 (gst_identity_sink_loop), (gst_identity_src_loop),
27851 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
27852 (gst_identity_set_property), (gst_identity_get_property),
27853 (gst_identity_change_state):
27854 * gst/elements/gstidentity.h:
27855 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
27856 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
27857 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
27858 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
27859 (gst_tee_sink_activate):
27860 * gst/elements/gsttee.h:
27861 * gst/gst.c: (gst_register_core_elements), (init_post):
27863 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
27864 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
27865 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
27866 (gst_bin_change_state):
27868 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
27869 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
27870 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
27871 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
27872 (gst_bus_set_sync_handler), (gst_bus_create_watch),
27873 (bus_watch_callback), (bus_watch_destroy),
27874 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
27875 (poll_timeout), (gst_bus_poll):
27879 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
27880 (gst_element_post_message), (gst_element_message_full),
27881 (gst_element_get_state_func), (gst_element_get_state),
27882 (gst_element_abort_state), (gst_element_commit_state),
27883 (gst_element_lost_state), (gst_element_set_state),
27884 (gst_element_pads_activate), (gst_element_change_state),
27885 (gst_element_dispose), (gst_element_set_manager_func),
27886 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
27887 (gst_element_set_manager), (gst_element_get_manager),
27888 (gst_element_set_bus), (gst_element_get_bus),
27889 (gst_element_set_scheduler), (gst_element_get_scheduler):
27890 * gst/gstelement.h:
27891 * gst/gstevent.c: (gst_event_new_segment_seek),
27892 (gst_event_new_flush):
27894 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
27895 (_gst_message_free), (gst_message_get_type), (gst_message_new),
27896 (gst_message_new_eos), (gst_message_new_error),
27897 (gst_message_new_warning), (gst_message_new_tag),
27898 (gst_message_new_state_changed), (gst_message_new_application),
27899 (gst_message_get_structure), (gst_message_parse_tag),
27900 (gst_message_parse_state_changed), (gst_message_parse_error),
27901 (gst_message_parse_warning):
27902 * gst/gstmessage.h:
27903 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
27904 (gst_real_pad_set_property), (gst_pad_set_active),
27905 (gst_pad_is_active), (gst_pad_set_blocked_async),
27906 (gst_pad_set_blocked), (gst_pad_is_blocked),
27907 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
27908 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
27909 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
27910 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
27911 (gst_pad_link_filtered), (gst_pad_relink_filtered),
27912 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
27913 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
27914 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
27915 (gst_pad_set_caps), (gst_pad_configure_sink),
27916 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
27917 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
27918 (gst_real_pad_dispose), (gst_real_pad_finalize),
27919 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
27920 (gst_pad_event_default_dispatch), (gst_pad_event_default),
27921 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
27923 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
27924 (pipeline_bus_handler), (gst_pipeline_change_state),
27925 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
27926 * gst/gstpipeline.h:
27928 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
27929 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
27930 (gst_queue_link_src), (gst_queue_bufferalloc),
27931 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
27932 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
27933 (gst_queue_loop), (gst_queue_handle_src_event),
27934 (gst_queue_handle_src_query), (gst_queue_src_activate),
27935 (gst_queue_change_state):
27937 * gst/gstscheduler.c: (gst_scheduler_init),
27938 (gst_scheduler_dispose), (gst_scheduler_create_task),
27939 (gst_scheduler_factory_create):
27940 * gst/gstscheduler.h:
27941 * gst/gststructure.c: (gst_structure_get_type),
27942 (gst_structure_copy_conditional):
27943 * gst/gststructure.h:
27944 * gst/gsttaginterface.h:
27945 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27946 (gst_task_init), (gst_task_dispose), (gst_task_create),
27947 (gst_task_get_state), (gst_task_start), (gst_task_stop),
27953 * gst/schedulers/Makefile.am:
27954 * gst/schedulers/cothreads_compat.h:
27955 * gst/schedulers/entryscheduler.c:
27956 * gst/schedulers/faircothreads.c:
27957 * gst/schedulers/faircothreads.h:
27958 * gst/schedulers/fairscheduler.c:
27959 * gst/schedulers/gstbasicscheduler.c:
27960 * gst/schedulers/gstoptimalscheduler.c:
27961 * gst/schedulers/gthread-cothreads.h:
27962 * gst/schedulers/threadscheduler.c:
27963 (gst_thread_scheduler_task_get_type),
27964 (gst_thread_scheduler_task_class_init),
27965 (gst_thread_scheduler_task_init),
27966 (gst_thread_scheduler_task_start),
27967 (gst_thread_scheduler_task_stop),
27968 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
27969 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
27970 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
27971 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
27973 * libs/gst/Makefile.am:
27974 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
27975 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
27976 (gst_file_pad_parent_set):
27977 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27978 (gst_dp_event_from_packet):
27979 * tests/complexity.c: (main):
27980 * tests/mass_elements.c: (main):
27981 * testsuite/states/locked.c: (message_received), (main):
27982 * testsuite/states/parent.c: (main):
27983 * tools/gst-inspect.c: (print_element_flag_info),
27984 (print_implementation_info), (print_pad_info):
27985 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
27987 * tools/gst-md5sum.c: (event_loop), (main):
27988 * tools/gst-typefind.c: (main):
27989 * tools/gst-xmlinspect.c: (print_element_info):
27991 Added GstBus for mainloop integration.
27992 Added GstMessage for sending notifications on the bus.
27993 Added GstTask as an abstraction for pipeline entry points.
27995 Removed Schedulers.
27996 Simplified GstQueue for multithreaded core.
27997 Made _link threadsafe, removed old capsnego.
27998 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
27999 Added pad blocking functions.
28000 Reworked scheduling functions in GstPad to prepare for
28001 scheduling updates soon.
28002 Moved events out of data stream.
28003 Simplified GstEvent types.
28004 Added return values to push/pull.
28005 Removed clocking from GstElement.
28006 Added prototypes for state change function for next merge.
28007 Removed iterate from bins and state change management.
28008 Fixed some elements, disabled others for now.
28009 Fixed -inspect and -launch.
28010 Added check for GstBus.
28012 2005-03-10 Wim Taymans <wim@fluendo.com>
28014 * docs/design/part-MT-refcounting.txt:
28015 * docs/design/part-clocks.txt:
28016 * docs/design/part-gstelement.txt:
28017 * docs/design/part-gstobject.txt:
28018 * docs/design/part-standards.txt:
28019 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
28020 (gst_bin_remove_func), (gst_bin_remove):
28024 * testsuite/clock/clock1.c: (main):
28025 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
28027 * testsuite/dlopen/loadgst.c: (do_test):
28028 * testsuite/refcounting/bin.c: (add_remove_test1),
28029 (add_remove_test2), (main):
28030 * testsuite/refcounting/element.c: (main):
28031 * testsuite/refcounting/element_pad.c: (main):
28032 * testsuite/refcounting/pad.c: (main):
28033 * tools/gst-launch.c: (sigint_handler_sighandler):
28034 * tools/gst-typefind.c: (main):
28036 Added doc about clock.
28037 removed gst_bin_iterate_recurse_up(), marked methods
28039 Fix more testsuites.
28041 2005-03-09 Wim Taymans <wim@fluendo.com>
28043 * gst/gstpad.c: (gst_pad_get_direction),
28044 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
28045 (gst_pad_collect_valist):
28046 * testsuite/bins/interface.c: (main):
28047 * testsuite/caps/audioscale.c: (test_caps):
28048 * testsuite/caps/caps.c: (test1), (test2), (test3):
28049 * testsuite/caps/deserialize.c: (main):
28050 * testsuite/caps/enumcaps.c: (main):
28051 * testsuite/caps/filtercaps.c: (main):
28052 * testsuite/caps/intersect2.c: (main):
28053 * testsuite/caps/random.c: (main):
28054 * testsuite/caps/renegotiate.c: (my_fixate), (main):
28055 * testsuite/caps/sets.c: (check_caps):
28056 * testsuite/caps/simplify.c: (check_caps), (main):
28057 * testsuite/caps/subtract.c: (check_caps):
28058 Fix _pad_get_direction wrt ghostpads.
28059 Fix caps testsuite.
28061 2005-03-09 Wim Taymans <wim@fluendo.com>
28063 * check/Makefile.am:
28064 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
28065 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
28066 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
28067 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
28068 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
28069 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
28070 (gst_bin_remove), (gst_bin_iterate_recurse_up),
28071 (bin_element_is_sink), (gst_bin_iterate_sinks),
28072 (gst_bin_iterate_all_by_interface):
28074 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
28075 (gst_element_change_state), (gst_element_dispose),
28076 (gst_element_finalize), (gst_element_set_loop_function):
28077 * gst/gstelement.h:
28078 * gst/gstiterator.c: (find_custom_fold_func):
28079 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
28080 (gst_pad_collectv), (gst_pad_collect_valist),
28081 (gst_pad_template_new):
28082 * gst/gstpipeline.c: (gst_pipeline_class_init),
28083 (gst_pipeline_dispose), (gst_pipeline_set_property),
28084 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
28085 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
28086 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
28088 * gst/schedulers/entryscheduler.c:
28089 * gst/schedulers/gstbasicscheduler.c:
28090 (gst_basic_scheduler_cothreaded_chain),
28091 (gst_basic_scheduler_chain_add_element):
28092 * testsuite/bins/interface.c: (main):
28094 Added GstSystemClock test.
28095 Implemented clock distribution code in GstBin.
28096 Implemented iterate sinks method for future use.
28097 Rearranged gstelement.h
28098 Fix GstIterator comparison bug.
28099 Moved some code to GstPipeline, mostly clocking related.
28101 2005-03-09 Wim Taymans <wim@fluendo.com>
28104 * gst/gst_private.h:
28105 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
28106 (gst_bin_remove_func), (gst_bin_remove),
28107 (gst_bin_get_by_name_recurse_up):
28108 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
28109 (gst_clock_id_compare_func), (gst_clock_id_wait),
28110 (gst_clock_id_wait_async), (gst_clock_init),
28111 (gst_clock_adjust_unlocked), (gst_clock_get_time):
28112 * gst/gstelement.h:
28113 * gst/gstinfo.c: (_gst_debug_init):
28115 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
28116 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
28118 Bump version number, we're now 0.9.0
28119 Add future debugging category.
28120 Fix NULL _unref() in _get_by_name_recurse_up
28121 Rearrange gstpad.h.
28124 2005-03-08 Wim Taymans <wim@fluendo.com>
28126 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
28127 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
28128 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
28129 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
28130 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
28131 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
28132 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
28133 * gst/elements/gstidentity.c: (gst_identity_class_init):
28134 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
28135 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
28136 * gst/elements/gstshaper.c: (gst_shaper_class_init):
28137 * gst/elements/gststatistics.c: (gst_statistics_class_init):
28138 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
28140 * gst/gstelement.c: (gst_element_class_init),
28141 (gst_element_base_class_init), (gst_element_init),
28142 (gst_element_get_random_pad), (gst_element_wait_state_change),
28143 (gst_element_change_state), (gst_element_dispose),
28144 (gst_element_finalize), (gst_element_set_loop_function):
28145 * gst/gstelement.h:
28146 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
28147 * gst/gstthread.c: (gst_thread_class_init),
28148 (gst_thread_release_children_locks), (gst_thread_change_state):
28149 * gst/schedulers/gstbasicscheduler.c:
28150 (gst_basic_scheduler_loopfunc_wrapper),
28151 (gst_basic_scheduler_chain_wrapper),
28152 (gst_basic_scheduler_src_wrapper),
28153 (gst_basic_scheduler_remove_element):
28154 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
28155 Remove threadsafe properties. Fix elements because GObject
28156 complains when installing a property before declaring a
28157 set/get_property handler.
28158 Rearrange gstelement.h file, use STATE macros for state locks.
28159 Free mutexes in the finalize method instead of dispose.
28161 2005-03-08 Wim Taymans <wim@fluendo.com>
28163 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
28164 * gst/gstthread.c: (gst_thread_release_children_locks):
28165 Added parentage check.
28166 Fix build og GstThread again.
28168 2005-03-08 Wim Taymans <wim@fluendo.com>
28170 * docs/design/part-MT-refcounting.txt:
28171 * docs/design/part-conventions.txt:
28172 * docs/design/part-gstobject.txt:
28173 * docs/design/part-relations.txt:
28174 * docs/design/part-standards.txt:
28175 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
28176 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
28177 (gst_bin_get_by_name), (gst_bin_get_by_interface),
28178 (gst_bin_iterate_all_by_interface):
28181 * gst/gstelement.c: (gst_element_class_init),
28182 (gst_element_change_state), (gst_element_set_loop_function):
28183 * gst/gstelement.h:
28184 * gst/gstiterator.c:
28185 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
28186 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
28187 (gst_object_dispatch_properties_changed), (gst_object_set_name),
28188 (gst_object_set_parent), (gst_object_unparent),
28189 (gst_object_check_uniqueness):
28191 Docs updates, clean up some headers.
28193 2005-03-07 Wim Taymans <wim@fluendo.com>
28195 * check/.cvsignore:
28196 * check/Makefile.am:
28197 * check/gst-libs/.cvsignore:
28198 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
28199 * check/gst/.cvsignore:
28200 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
28201 (START_TEST), (gstbus_suite), (main):
28202 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
28203 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
28204 (gst_data_suite), (main):
28205 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
28206 (add_fold_func), (gstiterator_suite), (main):
28207 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
28208 (thread_name_object), (thread_name_object_default),
28209 (gst_object_name_compare), (gst_object_suite), (main):
28210 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
28211 (gst_pad_suite), (main):
28212 * check/gstcheck.c: (gst_check_log_message_func),
28213 (gst_check_log_critical_func), (gst_check_init):
28214 * check/gstcheck.h:
28215 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
28216 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
28219 2005-03-07 Wim Taymans <wim@fluendo.com>
28221 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
28222 (gst_list_iterator_next), (gst_list_iterator_resync),
28223 (gst_list_iterator_free), (gst_iterator_new_list),
28224 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
28225 (gst_iterator_free), (gst_iterator_push), (filter_next),
28226 (filter_resync), (filter_uninit), (filter_free),
28227 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
28228 (gst_iterator_foreach), (find_custom_fold_func),
28229 (gst_iterator_find_custom):
28230 * gst/gstiterator.h:
28231 Added missing files.
28233 2005-03-07 Wim Taymans <wim@fluendo.com>
28237 * docs/design/part-MT-refcounting.txt:
28238 * docs/design/part-conventions.txt:
28239 * docs/design/part-gstobject.txt:
28240 * docs/design/part-relations.txt:
28241 * examples/mixer/mixer.c: (main):
28242 * examples/thread/thread.c: (eos), (main):
28244 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
28245 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
28246 (gst_spider_plug_from_srcpad):
28247 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
28248 (gst_spider_identity_change_state),
28249 (gst_spider_identity_sink_loop_type_finding):
28250 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
28251 * gst/elements/gstidentity.c: (gst_identity_init):
28252 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
28253 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
28254 * gst/elements/gsttypefindelement.c: (free_entry):
28257 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
28258 (gst_bin_set_clock_func), (gst_bin_auto_clock),
28259 (gst_bin_set_index), (gst_bin_set_element_sched),
28260 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
28261 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
28262 (gst_bin_iterate_elements), (iterate_child_recurse),
28263 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
28264 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
28265 (compare_interface), (gst_bin_get_by_interface),
28266 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
28268 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
28269 (gst_buffer_default_free), (gst_buffer_default_copy),
28270 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
28271 (gst_buffer_create_sub):
28273 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
28274 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
28275 (gst_caps_unref), (gst_static_caps_get),
28276 (gst_caps_remove_and_get_structure), (gst_caps_append),
28277 (gst_caps_append_structure), (gst_caps_remove_structure),
28278 (gst_caps_copy_nth), (gst_caps_set_simple),
28279 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
28280 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
28281 (gst_caps_structure_intersect_field), (gst_caps_intersect),
28282 (gst_caps_structure_subtract_field), (gst_caps_subtract),
28283 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
28284 (gst_caps_structure_figure_out_union),
28285 (gst_caps_switch_structures), (gst_caps_do_simplify),
28286 (gst_caps_replace), (gst_caps_from_string),
28287 (gst_caps_copy_conditional):
28289 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
28290 (_gst_clock_id_free), (gst_clock_id_unref),
28291 (gst_clock_id_compare_func), (gst_clock_id_wait),
28292 (gst_clock_id_wait_async), (gst_clock_class_init),
28293 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
28294 (gst_clock_get_time), (gst_clock_set_time_adjust),
28295 (gst_clock_set_property), (gst_clock_get_property):
28298 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
28299 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
28301 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
28302 (gst_element_requires_clock), (gst_element_provides_clock),
28303 (gst_element_set_clock), (gst_element_clock_wait),
28304 (gst_element_wait), (gst_element_set_time_delay),
28305 (gst_element_is_indexable), (gst_element_add_pad),
28306 (gst_element_add_ghost_pad), (gst_element_remove_pad),
28307 (pad_compare_name), (gst_element_get_static_pad),
28308 (gst_element_request_pad), (gst_element_get_request_pad),
28309 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
28310 (gst_element_class_get_pad_template_list),
28311 (gst_element_class_get_pad_template), (gst_element_error_func),
28312 (gst_element_get_random_pad), (gst_element_get_event_masks),
28313 (gst_element_send_event), (gst_element_seek),
28314 (gst_element_get_query_types), (gst_element_query),
28315 (gst_element_get_formats), (gst_element_convert),
28316 (gst_element_is_locked_state), (gst_element_set_locked_state),
28317 (gst_element_sync_state_with_parent), (gst_element_change_state),
28318 (gst_element_finalize), (gst_element_yield),
28319 (gst_element_interrupt), (gst_element_set_scheduler),
28320 (gst_element_get_scheduler), (gst_element_set_loop_function):
28321 * gst/gstelement.h:
28323 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
28324 (gst_format_get_by_nick), (gst_format_get_details),
28325 (gst_format_iterate_definitions):
28327 * gst/gstindex.c: (gst_index_gtype_resolver):
28330 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
28331 (gst_mem_chunk_free):
28332 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
28333 (gst_object_ref), (gst_object_unref), (gst_object_sink),
28334 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
28335 (gst_object_dispatch_properties_changed),
28336 (gst_object_set_name_default), (gst_object_set_name),
28337 (gst_object_get_name), (gst_object_set_name_prefix),
28338 (gst_object_get_name_prefix), (gst_object_set_parent),
28339 (gst_object_get_parent), (gst_object_unparent),
28340 (gst_object_check_uniqueness), (gst_object_save_thyself),
28341 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
28342 (gst_object_set_property), (gst_object_get_property),
28343 (gst_object_get_path_string):
28345 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
28346 (gst_real_pad_init), (gst_real_pad_get_property),
28347 (gst_pad_custom_new), (gst_pad_get_direction),
28348 (gst_pad_set_active), (gst_pad_is_active),
28349 (gst_pad_set_event_function), (gst_pad_is_linked),
28350 (gst_pad_link_free), (gst_pad_link_intersect),
28351 (gst_pad_link_fixate), (gst_pad_set_caps),
28352 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
28353 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
28354 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
28355 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
28356 (gst_pad_get_caps), (gst_pad_peer_get_caps),
28357 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
28358 (gst_pad_realize), (gst_pad_get_allowed_caps),
28359 (gst_real_pad_dispose), (gst_real_pad_finalize),
28360 (gst_pad_collectv), (gst_pad_collect_valist),
28361 (gst_pad_template_dispose), (gst_pad_template_new),
28362 (gst_pad_get_internal_links):
28364 * gst/gstpipeline.c: (gst_pipeline_dispose),
28365 (gst_pipeline_change_state):
28366 * gst/gstpipeline.h:
28368 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
28369 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
28370 * gst/gstpluginfeature.h:
28371 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
28372 * gst/gstquery.c: (_gst_query_type_initialize),
28373 (gst_query_type_register), (gst_query_type_get_by_nick),
28374 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
28376 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
28377 * gst/gstscheduler.c: (gst_scheduler_add_element),
28378 (gst_scheduler_factory_create):
28379 * gst/gststructure.c: (gst_structure_set_parent_refcount),
28380 (gst_structure_free), (gst_structure_set_name),
28381 (gst_structure_id_set_value), (gst_structure_set_value),
28382 (gst_structure_set_valist), (gst_structure_remove_field),
28383 (gst_structure_remove_fields),
28384 (gst_structure_remove_fields_valist),
28385 (gst_structure_remove_all_fields), (gst_structure_foreach),
28386 (gst_structure_map_in_place),
28387 (gst_caps_structure_fixate_field_nearest_int),
28388 (gst_caps_structure_fixate_field_nearest_double):
28389 * gst/gststructure.h:
28390 * gst/gstsystemclock.c: (gst_system_clock_class_init),
28391 (gst_system_clock_init), (gst_system_clock_dispose),
28392 (gst_system_clock_async_thread),
28393 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
28394 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
28395 * gst/gstsystemclock.h:
28396 * gst/gsttag.c: (gst_tag_list_add_value_internal),
28397 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
28398 * gst/gsttaginterface.c:
28399 * gst/gstthread.c: (gst_thread_dispose),
28400 (gst_thread_release_children_locks), (gst_thread_change_state),
28401 (gst_thread_main_loop):
28402 * gst/gsttrashstack.h:
28403 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
28405 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28406 (gst_element_request_pad), (gst_element_get_pad_from_template),
28407 (gst_element_request_compatible_pad),
28408 (gst_element_get_compatible_pad_filtered),
28409 (gst_element_get_compatible_pad), (gst_element_state_get_name),
28410 (gst_element_link_pads_filtered), (gst_element_link_filtered),
28411 (gst_element_link_many), (gst_element_link),
28412 (gst_element_link_pads), (gst_element_unlink_pads),
28413 (gst_element_unlink_many), (gst_element_unlink),
28414 (gst_pad_can_link_filtered), (gst_pad_can_link),
28415 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
28416 (gst_object_default_error), (gst_bin_add_many),
28417 (gst_bin_remove_many), (gst_element_populate_std_props),
28418 (gst_element_class_install_std_props), (gst_buffer_merge),
28419 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
28420 (link_fold_func), (gst_pad_proxy_setcaps):
28422 * gst/gstvalue.c: (gst_value_deserialize_string):
28423 * gst/parse/grammar.y:
28424 * gst/schedulers/gstbasicscheduler.c:
28425 (gst_basic_scheduler_cothreaded_chain),
28426 (gst_basic_scheduler_chain_recursive_add),
28427 (gst_basic_scheduler_pad_link):
28428 * gst/schedulers/gstoptimalscheduler.c:
28429 (get_group_schedule_function),
28430 (gst_opt_scheduler_state_transition),
28431 (gst_opt_scheduler_add_element), (element_get_reachables_func):
28432 * libs/gst/bytestream/bytestream.c:
28433 * libs/gst/dataprotocol/dataprotocol.c:
28434 (gst_dp_header_from_buffer):
28437 * tests/threadstate/threadstate2.c: (eos):
28438 * tools/gst-compprep.c: (main):
28439 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
28440 (print_pad_info), (print_children_info):
28441 * tools/gst-launch.c: (idle_func), (main):
28442 * tools/gst-md5sum.c: (idle_func), (main):
28443 * tools/gst-xmlinspect.c: (print_element_info):
28444 First THREADED backport attempt, focusing on adding locks and
28445 making sure the API is threadsafe. Needs more work. More docs
28448 2005-02-24 Andy Wingo <wingo@pobox.com>
28450 * tests/bench-complexity.scm:
28451 * tests/complexity.gnuplot: New files, good for running complexity
28454 * tests/Makefile.am:
28455 * tests/complexity.c: New test, sets up N elements, at each level
28456 teeing into M streams per element. Eeeenteresting.
28458 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
28459 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
28460 running bench-mass_elements.scm.
28462 * tests/bench-mass_elements.scm: New script, runs mass_elements
28463 for various numbers of identities, outputting the results to a
28464 file. Requires guile 1.6. Just for testing.
28466 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
28468 * gst/schedulers/fairscheduler.c:
28469 compile with debug disabled
28471 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
28474 hunting season on 0.9 is now OPEN