1 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
3 * gst/gstpipeline.c: (gst_pipeline_change_state):
4 Modify the clock distribution path in PAUSED->PLAYING so that we
5 never attempt to choose a new clock unless we're actually leaving
6 the PAUSED state for the first time. This prevents choosing a
7 different clock when the state_change gets called for a 2nd time due
8 to some element doing an async state change.
10 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
12 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
13 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
14 (gst_pad_chain_unchecked), (gst_pad_push):
15 Revert last commit. This needs some more thoughts.
17 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
19 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
20 (gst_pad_chain_unchecked), (gst_pad_push):
21 Check in set_caps if the caps are compatible with the pad and remove
22 two functions that are redundant now. Fixes #421543.
24 2007-03-22 Wim Taymans <wim@fluendo.com>
26 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
27 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
28 Unref some more to make valgrind happy.
30 2007-03-22 Wim Taymans <wim@fluendo.com>
32 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
33 (gst_system_clock_id_wait_jitter),
34 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
35 Fix anoying regression that survived a few releases. When adding an
36 async entry while blocking on a sync entry, the sync entry will unblock
37 but still be busy, so it should continue to wait instead of returning
39 Add some comments here and there.
41 * tests/check/gst/gstsystemclock.c: (mixed_thread),
42 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
43 Add testcase for this.
45 2007-03-22 Wim Taymans <wim@fluendo.com>
47 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
48 Handle errors from the clock sync better, only UNSCHEDULED indicates a
49 WRONG_STATE and can silently pause the task. All other cases should
52 2007-03-22 Wim Taymans <wim@fluendo.com>
54 Patch by: <syrjala at sci dot fi>
56 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
57 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
60 2007-03-21 Michael Smith <msmith@fluendo.com>
62 * docs/pwg/advanced-types.xml:
63 Fix some errors in the typefinding docs pointed out on irc.
65 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
67 * libs/gst/base/gstbasesrc.c:
68 Clarify FIXME comment in the face of having added unlock_stop()
70 2007-03-21 Wim Taymans <wim@fluendo.com>
72 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
73 Prepare for release where we warn against possible app breakage in the
74 case of live pipelines along with an env var to enable/disable live
75 preroll mode (GST_COMPAT=[no-]live-preroll).
77 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
79 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
80 So we should use correct constants for checking for None offset.
82 2007-03-20 Wim Taymans <wim@fluendo.com>
84 * docs/design/part-block.txt:
85 Mention the fact that the newly switched element should be set to at
88 2007-03-20 Wim Taymans <wim@fluendo.com>
91 Fix compilation with registry disabled as spotted by Saur.
93 2007-03-20 Wim Taymans <wim@fluendo.com>
95 Patch by: Olivier Crete <tester at tester dot ca>
97 * gst/gstelement.c: (gst_element_sync_state_with_parent):
98 Look at the pending state too when syncing the element state to the
99 parent. Fixes #420133.
101 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
103 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
104 (gst_base_sink_change_state):
105 * libs/gst/base/gstbasesink.h:
106 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
107 (gst_base_src_default_event), (gst_base_src_unlock_stop),
108 (gst_base_src_deactivate):
109 * libs/gst/base/gstbasesrc.h:
110 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
111 for sub-classes to correctly clear any state they set trying to
112 unlock, such as clearing out unlock commands from a command fd.
114 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
115 (gst_fd_sink_render), (gst_fd_sink_unlock),
116 (gst_fd_sink_unlock_stop):
117 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
118 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
119 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
121 Implement unlock_stop in fdsrc and fdsink.
122 Implement seeking in fdsrc when a seekable fd is passed, as in
123 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
125 2007-03-19 Wim Taymans <wim@fluendo.com>
127 Patch by: Evan Nemerson <evan at coeus dash group dot com>
129 * gst/gstelement.c: (gst_element_class_init):
130 Fix pad-added and pad-removed signal signatures so that the pad type is
131 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
133 2007-03-19 Wim Taymans <wim@fluendo.com>
135 * docs/gst/gstreamer-sections.txt:
136 Add new element field and method.
138 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
139 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
140 (gst_bin_recalc_state), (gst_bin_get_state_func),
141 (gst_bin_element_set_state), (gst_bin_change_state_func),
142 (gst_bin_continue_func), (bin_bus_handler),
143 (bin_push_state_continue), (bin_handle_async_start),
144 (bin_handle_async_done), (gst_bin_handle_message_func):
145 Make async state changes a bit smarter by using new ASYNC_START and
146 ASYNC_DONE messages. This reduces the number of times we run the state
147 recalculation thread.
148 Don't change state of element with a pending ASYNC_START message.
149 Deprecate STATE_DIRTY messages.
151 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
152 (gst_element_get_state_func), (gst_element_continue_state),
153 (gst_element_lost_state), (gst_element_set_state_func),
154 (gst_element_change_state):
156 Keep the state that was last set by the app in a new element field.
157 Don't allow state changes when handling an element event.
158 Post ASYNC_START and ASYNC_DONE messages.
159 Change lost_state so that we go to PAUSED and wait for the parent to set
160 us to PLAYING again (so latency calculation can be performed)
161 Export gst_element_change_state() method so that subclasses can use it.
162 API: gst_element_change_state()
163 API: GST_STATE_TARGET
165 * gst/gstpipeline.c: (gst_pipeline_class_init),
166 (reset_stream_time), (gst_pipeline_change_state),
167 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
168 Using the new ASYNC_START message we can reset the base_time when
169 needed. This can then be used to implement base_time redistribution in
170 flushing seeks so that we can remove the explicit seek handling.
171 Perform latency query and configuration when going to PLAYING.
173 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
174 (gst_base_sink_query), (gst_base_sink_change_state):
175 Post new ASYNC_START/ASYNC_DONE messages.
177 * tests/check/generic/sinks.c: (GST_START_TEST):
178 Fix test because the bin will not set the async element to PLAYING right
181 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
182 Make the message check a little stronger.
183 Handle ASYNC messages.
185 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
186 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
187 Expect ASYNC_DONE messages.
189 2007-03-19 Wim Taymans <wim@fluendo.com>
191 * docs/gst/gstreamer-sections.txt:
192 * gst/gstmessage.c: (gst_message_new_async_start),
193 (gst_message_new_async_done), (gst_message_parse_info),
194 (gst_message_parse_async_start):
196 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
199 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
201 * tools/gst-inspect.c:
202 (print_plugin_automatic_install_info_codecs):
203 Now that we don't check for the 'Codec' keyword any longer in the
204 klass, we shouldn't spew a warning if the klass isn't a decoder or
205 encoder (since it might be a Source/Network, for example).
207 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
209 * tools/gst-inspect.c:
210 (print_plugin_automatic_install_info_codecs):
211 Don't require decoder/demuxer/depayloader elements or
212 encoder/muxer/paylader elements to have 'Codec' as part of their
213 factory class string when introspecting a plugin's capabilities.
214 draft-klass.txt mentions that it might be removed in future, and
215 flump3dec doesn't have it as part of its class string, so chances
216 are others might also not have it.
218 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
240 Update translations from translation project
242 2007-03-14 Stefan Kost <ensonic@users.sf.net>
244 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
245 (gst_child_proxy_set_property):
246 Invert precondition check to be alike the ones in the mimiced gobject
249 2007-03-13 Stefan Kost <ensonic@users.sf.net>
251 * docs/design/draft-tagreading.txt:
252 * docs/random/ensonic/audiobaseclasses.txt:
253 Do some Architect work.
255 * gst/gstobject.c: (gst_object_set_name):
259 Add docs that point from gst_pad_get_range to gst_pad_pull_range
261 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
263 * gst/gstsystemclock.c: (gst_system_clock_init),
264 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
265 Defer starting the async system clock thread until the first async
266 wait is scheduled. Fixes #414986.
268 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
270 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
271 (gst_single_queue_free):
272 Fix small leak (free GstSingleQueue structure too, not only contents).
274 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
276 * gst/gstbin.c:(gst_bin_add):
277 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
278 * win32/common/libgstbase.def:
279 * win32/common/libgstreamer.def:
280 Add new exported functions.
282 2007-03-09 Wim Taymans <wim@fluendo.com>
284 * docs/plugins/gstreamer-plugins-sections.txt:
287 2007-03-09 Wim Taymans <wim@fluendo.com>
289 * docs/gst/gstreamer-sections.txt:
290 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
292 Add metadata copy functions. Fixes #393099.
294 * gst/gstutils.c: (gst_buffer_stamp):
295 * libs/gst/base/gstbasetransform.c:
296 (gst_base_transform_prepare_output_buffer):
297 Use new metadata copy functions.
299 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
301 * plugins/elements/gstidentity.c: (gst_identity_class_init),
302 (gst_identity_init), (gst_identity_check_perfect),
303 (gst_identity_check_imperfect_timestamp),
304 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
305 (gst_identity_set_property), (gst_identity_get_property):
306 * plugins/elements/gstidentity.h:
307 Separate out check-imperfect-timestamp and check-imperfect-offset.
308 Put back check-perfect as it was to keep compatibility.
310 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
312 * gst/gstelement.c: (gst_element_dispose):
313 There's no need to warn if VOID_PENDING is not NONE here, as
314 long as the state is NULL it's ok, and that's checked immediately
317 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
319 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
320 Fix check for perfect stream to ignore buffers with -1
321 offsets/offset ends when checking data contiguity.
323 2007-03-08 Wim Taymans <wim@fluendo.com>
325 * tools/gst-launch.c: (event_loop):
328 2007-03-08 Wim Taymans <wim@fluendo.com>
330 * libs/gst/base/gstbasetransform.c:
331 (gst_base_transform_sink_eventfunc),
332 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
333 (gst_base_transform_activate):
334 * libs/gst/base/gstbasetransform.h:
335 Add support for dropping buffers with custom GstFlowReturn.
336 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
337 buffers or dropped buffers.
339 * docs/libs/gstreamer-libs-sections.txt:
340 docs for new custom return code.
342 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
343 Use drop support in base class to implement drop-probability.
345 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
347 * gst/gst.c: (load_plugin_func):
348 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
349 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
350 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
351 Remove newlines at end of debug log strings.
353 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
355 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
356 Only post bus message at max, once per buffer received.
358 2007-03-07 Wim Taymans <wim@fluendo.com>
360 * docs/design/Makefile.am:
361 * docs/design/part-synchronisation.txt:
362 Add doc about synchronisation
364 * docs/design/draft-latency.txt:
365 * docs/design/part-TODO.txt:
366 * docs/design/part-clocks.txt:
367 * docs/design/part-events.txt:
368 * docs/design/part-gstbus.txt:
369 * docs/design/part-gstpipeline.txt:
370 * docs/design/part-live-source.txt:
371 * docs/design/part-messages.txt:
372 * docs/design/part-overview.txt:
373 * docs/design/part-streams.txt:
374 * docs/design/part-trickmodes.txt:
375 Documentation updates.
377 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
380 Update the doap file.
382 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
384 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
385 Rename non-perfect to imperfect for Mike and for the sanctity of the
387 Also make sure bus message gets emitted for data-incontiguities.
389 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
391 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
392 (gst_identity_start):
393 * plugins/elements/gstidentity.h:
394 Emit bus message if check-perfect is true and we encounter a
395 non-perfect stream between 2 consecutive buffers.
398 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
403 === release 0.10.12 ===
405 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
408 releasing 0.10.12, "Inevitable Demise"
410 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
413 Version 0.10.11.2 (0.10.12 pre-release)
414 Bump libtool versioning.
416 2007-03-01 Stefan Kost <ensonic@users.sf.net>
418 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
419 Log flow-names and not numbers.
421 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
424 Convert to new AG_GST style.
426 2007-02-28 Wim Taymans <wim@fluendo.com>
428 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
429 Don't unref query twice.
431 2007-02-28 Wim Taymans <wim@fluendo.com>
433 * gst/gstvalue.c: (gst_value_transform_object_string),
434 (_gst_value_initialize):
435 Implement GstObject -> string transform so we print object names
436 when serializing GValues containing GstObjects.
438 2007-02-28 Wim Taymans <wim@fluendo.com>
440 * docs/gst/gstreamer-sections.txt:
441 Add new stuff to docs.
443 2007-02-28 Wim Taymans <wim@fluendo.com>
445 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
446 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
447 (gst_base_sink_change_state):
448 Improve latency query code.
449 Don't leak latency events.
451 * tests/check/gst/gstbin.c: (GST_START_TEST):
454 2007-02-28 Wim Taymans <wim@fluendo.com>
456 * gst/gstelement.c: (gst_element_message_full),
457 (gst_element_get_state_func):
459 Improve docs a little. Added Since: for new macro.
461 * gst/gstobject.c: (gst_object_sink):
462 * gst/gstpipeline.c: (gst_pipeline_change_state),
463 (gst_pipeline_set_new_stream_time):
465 Improve debugging and docs.
467 * gst/gstutils.c: (gst_element_state_change_return_get_name):
470 2007-02-28 Wim Taymans <wim@fluendo.com>
472 * gst/gstelement.c: (gst_element_message_full),
473 (gst_element_set_locked_state), (gst_element_get_state_func),
474 (gst_element_change_state):
475 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
476 Documentation updates.
479 * gst/gstmessage.c: (gst_message_new_info),
480 (gst_message_parse_info):
482 API: gst_message_new_info()
483 API: gst_message_parse_info()
484 Add INFO message create and parse code.
486 2007-02-28 Wim Taymans <wim@fluendo.com>
488 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
489 (bin_query_latency_done):
490 Also report the live parameter of a latency query.
492 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
494 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
495 Copy the current generic/states example from -base and adapt so
496 we can use the exact same code everywhere.
497 Check a STATES_IGNORE_ELEMENTS env var which can be used
498 to ignore certain element factories for this test, which is
499 what is being done in -base
500 * tests/check/Makefile.am:
501 Mention this environment variable.
503 2007-02-27 Wim Taymans <wim@fluendo.com>
505 * docs/gst/gstreamer-sections.txt:
506 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
507 (gst_bus_timed_pop), (gst_bus_pop):
509 API: gst_bus_timed_pop()
510 Implement gst_bus_timed_pop() to do a blocking timed wait for a
511 message to arrive on the bus.
513 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
515 Two unit tests for new _timed_pop() function.
517 2007-02-23 Wim Taymans <wim@fluendo.com>
519 * gst/gstpipeline.c: (gst_pipeline_change_state),
520 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
521 Don't ref a NULL clock in _provide_clock_func().
522 Don't allow an INVALID delay.
523 Don't try to calculate base_time with an invalid start_time.
524 Also distribute and notify a NULL clock when it was selected.
526 * tools/gst-launch.c: (event_loop):
527 Don't crash when a NULL clock was selected in the pipeline.
529 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
531 * docs/design/Makefile.am:
532 * docs/design/draft-missing-plugins.txt:
533 * docs/random/draft-missing-plugins.txt:
534 Some small updates: update plugin system identifier prefix
535 ('gstreamer.net' to 'gstreamer'), mention our new install
536 API in libgstbaseutils rather than libgimme-codec, add
537 reference to the online docs.
539 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
541 * win32/common/config.h:
542 Pretty sure Bill never made a powerpc version. Powerpc hackers,
543 use moap cl ci to only check in what is mentioned in the ChangeLog.
545 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
547 * docs/gst/gstreamer-sections.txt:
549 Fix up documentation to link to the correct GstGError section.
550 Add GST_ELEMENT_INFO macro since someone else added a Info message.
552 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
554 * tools/gst-launch.c: (event_loop):
555 Make sure that we actually show the important message part of a
557 No need to check if the gerror is not NULL to free; first of all
558 g_free accepts NULL; and second the default error handler would
559 segfault if gerror was NULL.
561 2007-02-21 Wim Taymans <wim@fluendo.com>
563 * docs/gst/gstreamer-sections.txt:
564 Removed docs as well.
566 2007-02-21 Wim Taymans <wim@fluendo.com>
568 * gst/gstmessage.c: (gst_message_parse_duration):
570 Remove new messages for release.
572 2007-02-20 Wim Taymans <wim@fluendo.com>
574 * docs/design/part-gstghostpad.txt:
575 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
576 (gst_ghost_pad_new_full):
577 Make the ghostpad a parent of the internal pad again for better backward
578 compatibility. Don't write code that relies on this however.
580 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
581 (gst_pad_link_check_hierarchy):
582 Require that parents should be GstElements in the hierarchy check.
584 2007-02-20 Wim Taymans <wim@fluendo.com>
586 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
587 (gst_bin_change_state_func), (bin_query_min_max_init),
588 (bin_query_latency_fold), (bin_query_latency_done),
591 Implement latency query.
593 2007-02-20 Wim Taymans <wim@fluendo.com>
595 * docs/design/part-gstghostpad.txt:
596 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
597 (gst_ghost_pad_internal_do_activate_push),
598 (gst_ghost_pad_internal_do_activate_pull),
599 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
600 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
601 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
602 Do not set the internal pad as a parent anymore so we can avoid
603 hierarchy linking errors when the ghostpad has no parent yet. This also
604 fixes failed activation because of unlinked internal pads, which in
605 turn fixes the impossible case where you have to activate a pad before
606 you can add it to a running element.
609 * gst/gstpad.c: (pre_activate), (post_activate),
610 (gst_pad_set_active), (gst_pad_activate_pull),
611 (gst_pad_activate_push), (gst_pad_check_pull_range):
612 Add some more debug info.
613 Mark activation mode in pre_activate so that we don't try to activate in
614 endless loops. Fixes #385084.
616 2007-02-19 Wim Taymans <wim@fluendo.com>
618 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
619 (gst_base_transform_check_get_range):
620 Implement a checkgetrange function instead of relying on the default
621 core behaviour that assumes we can operate in pull mode if we have a
622 getrange function. First step at fixing #385084.
624 2007-02-15 Stefan Kost <ensonic@users.sf.net>
626 * gst/gstchildproxy.h:
627 * libs/gst/base/gstbasesink.h:
628 * libs/gst/base/gstbasesrc.h:
629 * libs/gst/base/gstbasetransform.h:
630 More docs coverage and some ChangeLog surgery (add missing names)
632 2007-02-15 Wim Taymans <wim@fluendo.com>
634 * docs/design/part-TODO.txt:
635 * docs/design/part-activation.txt:
636 * docs/design/part-block.txt:
637 * docs/design/part-buffering.txt:
638 * docs/design/part-clocks.txt:
639 * docs/design/part-element-source.txt:
640 * docs/design/part-events.txt:
641 * docs/design/part-gstbin.txt:
642 * docs/design/part-gstbus.txt:
643 * docs/design/part-gstpipeline.txt:
644 * docs/design/part-live-source.txt:
645 * docs/design/part-messages.txt:
646 * docs/design/part-overview.txt:
647 * docs/design/part-qos.txt:
648 * docs/design/part-query.txt:
649 * docs/design/part-states.txt:
650 * docs/design/part-trickmodes.txt:
651 Some doc updates. Start renaming from stream_time to running_time where
654 2007-02-15 Wim Taymans <wim@fluendo.com>
656 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
657 Answer LATENCY query.
659 2007-02-15 Wim Taymans <wim@fluendo.com>
661 * tests/check/gst/gstevent.c: (event_probe), (test_event),
665 2007-02-15 Wim Taymans <wim@fluendo.com>
667 * gst/gstpad.c: (gst_pad_get_internal_links_default),
668 (gst_pad_dispatcher):
669 Improve debugging of default pad dispatcher and query functions.
671 2007-02-15 Wim Taymans <wim@fluendo.com>
673 * docs/gst/gstreamer-sections.txt:
674 Remove old unused method.
676 2007-02-13 Wim Taymans <wim@fluendo.com>
678 * tests/check/gst/gstsegment.c: (GST_START_TEST):
681 2007-02-13 Wim Taymans <wim@fluendo.com>
683 * docs/design/part-seeking.txt:
686 * gst/gstsegment.c: (gst_segment_set_seek):
687 Revert old bogus change that should make seeking work again.
689 2007-02-13 Stefan Kost <ensonic@users.sf.net>
691 * docs/random/ensonic/dynlink.txt:
692 * docs/random/ensonic/interfaces.txt:
693 * docs/random/ensonic/receipies.txt:
694 Possible dynamic reconnection api, plus some type fixes the other two
697 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
699 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
700 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
701 Also check for an absolute path following file:// in the filesrc
702 element. Remove redundant check and call g_path_is_absolute() on the
705 2007-02-13 Stefan Kost <ensonic@users.sf.net>
707 * docs/design/draft-klass.txt:
708 Add existing category analysis.
711 Fix doc example, framerate is a fraction.
713 2007-02-12 Stefan Kost <ensonic@users.sf.net>
716 * docs/gst/Makefile.am:
717 * docs/libs/Makefile.am:
718 * docs/plugins/Makefile.am:
719 Add crossreferences to glib/gobject docs.
721 2007-02-12 Wim Taymans <wim@fluendo.com>
723 * docs/design/draft-latency.txt:
726 * docs/libs/gstreamer-libs-sections.txt:
727 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
728 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
729 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
730 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
731 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
732 (gst_base_sink_get_position), (gst_base_sink_query),
733 (gst_base_sink_change_state):
734 * libs/gst/base/gstbasesink.h:
735 API: gst_base_sink_query_latency() to let subclasses query the upstream
737 API: gst_base_sink_get_latency() to let subclasses query the configured
739 Implement query and set latency.
741 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
742 don't continue preroll when we are flushing. Fixes #405284.
744 * tests/check/pipelines/stress.c: (change_state_timeout),
745 (quit_timeout), (GST_START_TEST), (stress_suite):
748 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
750 Patch by: René Stadler <mail at renestadler de>
752 * docs/gst/gstreamer-sections.txt:
753 * gst/gsttaglist.c: (_gst_tag_initialize):
755 API: add GST_TAG_REFERENCE_LEVEL (#403597).
757 2007-02-11 Stefan Kost <ensonic@users.sf.net>
759 * docs/libs/Makefile.am:
760 Fix path to core docs.
762 * gst/gstbin.c: (gst_bin_get_by_interface),
763 (gst_bin_iterate_all_by_interface):
764 Refix docs by also renaming 'interface' to 'iface' in implementation.
766 * docs/gst/gstreamer-sections.txt:
768 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
769 * gst/gstchildproxy.h:
770 * gst/gstelementfactory.c:
771 * gst/gstpadtemplate.h:
772 * libs/gst/controller/gstcontroller.c:
773 (gst_controlled_property_new):
776 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
778 * gst/gstbin.h:(gst_bin_get_by_interface),
779 (gst_bin_iterate_all_by_interface):
780 Replace interface parameter name by iface as interface is
781 a reserved keyword in Visual Studio for C++ projects so it removes
782 a build error for application developpers using VS.
783 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
784 Fix a bug on Windows in uri format check. Now the prefix checked
785 is file:// and next we check if the path after file:// is absolute.
786 * win32/common/libgstbase.def:
787 * win32/common/libgstdataprotocol.def:
788 * win32/common/libgstgstreamer.def:
789 Add new exported functions.
791 2007-02-09 Andy Wingo <wingo@pobox.com>
793 * tests/check/pipelines/simple-launch-lines.c
794 (simple_launch_lines_suite, test_tee): Disable tee test until I
795 have time to fix it :-(
797 * tests/check/Makefile.am (noinst_HEADERS):
798 * tests/check/libs/libsabi.c:
799 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
800 * tests/check/gst/gstabi.c:
801 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
803 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
804 tests for push and pull tee behavior.
806 * plugins/elements/gsttee.h:
807 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
808 mark as deprecated as well as unimplemented. It was a crack idea.
809 Add support for tee operating in pull mode, off by default.
811 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
812 normal-case logs down to LOG, raise errors to WARNING.
813 (gst_registry_xml_read_cache): Don't log before calling a function
816 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
817 exit (registry finalize).
818 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
819 DEBUG log when we emit signals that people don't even have the
820 chance to connect to.
821 (gst_registry_scan_path_level): Less logging in the normal case.
823 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
825 Patch by: Michal Benes <michal dot benes at itonis dot tv>
827 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
828 Correctly generate EOS for non-seekable files. We don't have a total
829 length for them and would get an unexpected end of file if we only
830 special-cased for regular files. (Fixes: #404569)
832 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
834 * tests/check/elements/filesrc.c: (GST_START_TEST),
836 Add unit test for the GstURIHandler interface in filesrc. This also
837 tests the newly added file://localhost/foo/bar support.
839 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
841 * gst/gstelementfactory.h:
842 The klass string is not a hierarchy. Add reference to the design doc
843 for more information and common types.
845 2007-02-02 Wim Taymans <wim@fluendo.com>
847 * gst/gstquery.c: (gst_query_new_latency):
848 Remove old structure field.
850 2007-02-02 Stefan Kost <ensonic@users.sf.net>
852 * tools/gst-launch.1.in:
853 Give example for network streaming (#351998)
855 2007-02-02 Wim Taymans <wim@fluendo.com>
857 * docs/gst/gstreamer-sections.txt:
858 Add docs for new methods.
860 * gst/gstevent.c: (gst_event_new_latency),
861 (gst_event_parse_latency):
863 Add new LATENCY event to configure latency in a pipeline.
864 API: gst_event_new_latency
865 API: gst_event_parse_latency
867 * gst/gstmessage.c: (gst_message_new_buffering),
868 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
869 (gst_message_new_latency), (gst_message_parse_buffering),
870 (gst_message_parse_lost_preroll):
872 Added messages used in draft-latency.
873 API: gst_message_new_lost_preroll
874 API: gst_message_parse_lost_preroll
875 API: gst_message_new_prerolled
876 API: gst_message_new_latency
878 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
879 (gst_query_parse_latency):
881 Implemented new latency query as in design doc.
882 API: gst_query_new_latency
883 API: gst_query_set_latency
884 API: gst_query_parse_latency
886 2007-02-02 Wim Taymans <wim@fluendo.com>
888 * docs/design/draft-latency.txt:
889 Slight redesign to allow for dynamic latency adjustments.
891 * docs/design/part-negotiation.txt:
894 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
896 reviewed by: Wim Taymans <wim@fluendo.com>
898 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
899 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
900 Allow file://localhost/foo/bar URLs and correctly fail for every other
901 hostname that one sets. This was gnomevfssrc is linked for those if
902 installed as it can handle it (#403172)
904 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
906 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
908 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
909 (unref_data), (gst_collect_pads_add_pad_full):
910 * libs/gst/base/gstcollectpads.h:
911 Don't put the previously added destroy notify in the GstCollectData
912 struct as all it's padding is already used and we don't want to break
913 ABI. Instead put in the pad's GObject data for now. This should be
914 cleaned up for 0.11 (#402393).
916 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
918 reviewed by: Wim Taymans <wim@fluendo.com>
920 * docs/libs/gstreamer-libs-sections.txt:
921 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
922 (unref_data), (gst_collect_pads_add_pad),
923 (gst_collect_pads_add_pad_full):
924 * libs/gst/base/gstcollectpads.h:
925 API: Add function to specify a destroy notification for custom
926 GstCollectData when adding new pads in GstCollectPads (#402393).
928 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
931 Update Swedish translation (#378255).
933 2007-01-31 Stefan Kost <ensonic@users.sf.net>
935 * docs/design/draft-klass.txt:
936 Fix the previous change, this is a list of categories and not a hierarchy.
938 2007-01-31 Stefan Kost <ensonic@users.sf.net>
940 * docs/design/draft-klass.txt:
941 Add info about how to get a list of used classes.
943 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
945 * plugins/elements/gsttypefindelement.c:
946 (gst_type_find_element_chain_do_typefinding),
947 (gst_type_find_element_change_state):
948 Don't leak found caps in chain function (no idea why that never
949 showed up as a leak anywhere).
951 2007-01-30 Stefan Kost <ensonic@users.sf.net>
954 Fix and expand GstPluginDesc API docs.
956 2007-01-29 Stefan Kost <ensonic@users.sf.net>
959 * gst/gstelementfactory.c:
960 * gst/gstpadtemplate.h:
963 * libs/gst/controller/gstcontroller.c:
964 (gst_controlled_property_new):
965 * tests/examples/controller/audio-example.c:
968 2007-01-29 Stefan Kost <ensonic@users.sf.net>
971 comment about refining the xml deps
974 comments about moving away from jade for docs
977 recommit the ifdefs to use the binary registry
979 * gst/gstbin.c: (gst_bin_change_state_func):
980 this break is obsolete
982 * gst/gstelementfactory.h:
983 better GST_ELEMENT_DETAILS docs, add comment about translation
988 * gst/gstobject.c: (gst_signal_object_get_type):
989 add G_UNLIKELY as usual
991 * gst/gstpad.c: (gst_pad_event_default):
992 add fall trhu comment
994 * gst/gstregistrybinary.c: (gst_registry_binary_write),
995 (gst_registry_binary_initialize_magic),
996 (gst_registry_binary_save_string),
997 (gst_registry_binary_save_pad_template),
998 (gst_registry_binary_save_feature),
999 (gst_registry_binary_save_plugin),
1000 (gst_registry_binary_write_cache),
1001 (gst_registry_binary_check_magic),
1002 (gst_registry_binary_load_pad_template),
1003 (gst_registry_binary_load_feature),
1004 (gst_registry_binary_load_plugin),
1005 (gst_registry_binary_read_cache):
1006 comment typo and formatting
1008 * gst/gstutils.c: (gst_element_state_get_name),
1009 (gst_element_state_change_return_get_name):
1010 remove obsolete breaks
1012 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1013 add FIXME 0.11 and remove cpp comment
1015 2007-01-29 Edward Hervey <edward@fluendo.com>
1017 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1018 Fix print statement in an even more portable way.
1020 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
1022 * docs/gst/gstreamer-sections.txt:
1024 API: add GST_ROUND_DOWN_* macros (#401781).
1026 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
1028 * docs/gst/gstreamer.types.in:
1029 * gst/gstregistry.c: (gst_registry_class_init):
1030 Document registry signals and make gtk-doc pick them up (#401381).
1032 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
1034 * docs/pwg/building-testapp.xml:
1035 Add some audioconverts and audioresample to the pipeline, and some
1036 more comments and error handling.
1038 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
1040 * docs/manual/manual.xml:
1044 2007-01-26 Wim Taymans <wim@fluendo.com>
1046 * gst/gstcaps.c: (gst_static_caps_get):
1047 Init caps flags too.
1049 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
1051 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1053 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1054 If not using mmap'ed files try to seek to the end instead of the
1055 start to determine whether we can seek at all. This fixes the case
1056 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1057 seeks for everything afterwards fail. Fixes #400656
1059 2007-01-25 Wim Taymans <wim@fluendo.com>
1061 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1062 Add some refcount debugging.
1063 Make gst_static_caps_get threadsafe, which is needed when autoplugging
1064 in multiple streaming threads.
1066 2007-01-25 Wim Taymans <wim@fluendo.com>
1068 Patch by: David Schleef <ds at schleef dot org>
1070 * docs/libs/gstreamer-libs-sections.txt:
1071 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1072 * libs/gst/base/gstadapter.h:
1073 API: gst_adapter_copy() that can reduce the amount of memcpy when
1074 getting data from the adapter. Fixes #388201.
1076 2007-01-25 Edward Hervey <edward@fluendo.com>
1078 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1079 In print statements, "%x" is for guint. Fixes build on macosx.
1081 2007-01-24 Edward Hervey <edward@fluendo.com>
1083 * plugins/elements/gstmultiqueue.c:
1084 (gst_multi_queue_loop):
1086 (single_queue_overrun_cb), (single_queue_underrun_cb),
1087 (single_queue_check_full), (gst_single_queue_new):
1088 Implement single queue growth system.
1089 This uses the extra-size properties, and will grow single queues by
1090 that much if one goes full whereas there are others empty. This is
1091 called extra-mode in the code.
1092 When a single queue's levels go back below the initial max-size
1093 limits, it is no longer in extra-mode. This is to ensure we don't
1094 consume too much memory.
1097 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
1099 * gst/gst.c: (gst_init_get_option_group):
1100 Make warning about late g_thread_init() calls a bit more explicit,
1101 so that it's more obvious to application developers what they need
1102 to do if a user files a bug against their application.
1104 2007-01-22 Edward Hervey <edward@fluendo.com>
1106 * plugins/elements/gstmultiqueue.c:
1107 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1108 Remove previous hack of unsetting the flushing flag for the source pad
1109 instead of activating it. Instead, fix the source pad activate function
1110 so that it no longer depends on having a parent set or not.
1112 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
1114 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1116 * docs/manual/basics-bus.xml:
1117 Fix example code, gst_element_unref() doesn't exist any longer.
1119 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
1121 Patch by: Mark Nauwelaerts <manauw at skynet be>
1124 Fix two docs typoes (#399094).
1126 2007-01-19 Edward Hervey <edward@fluendo.com>
1128 * docs/faq/gst-uninstalled:
1129 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1130 depending on libgstbaseutils can work in uninstalled environment.
1132 2007-01-18 Stefan Kost <ensonic@users.sf.net>
1135 * gst/gsttagsetter.c:
1136 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1137 statement for new tag.
1139 2007-01-17 Edward Hervey <edward@fluendo.com>
1141 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1142 When dynamically creating single queues, activate sinkpad before adding
1144 We should be doing the same thing for the source pad, but we can't
1145 since it would call a method which needs the parent to be set in order
1146 to work propertly. Instead of activating the source pad, we just unset
1147 the flushing flag, which is the minimal requirement for adding a pad
1148 to an element in a state greater than READY.
1150 2007-01-17 Edward Hervey <edward@fluendo.com>
1152 * docs/faq/gst-uninstalled:
1153 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1156 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
1158 * tests/check/gst/gstabi.c:
1159 * tests/check/gst/struct_hppa.h:
1160 * tests/check/libs/libsabi.c:
1161 * tests/check/libs/struct_hppa.h:
1162 Add ABI structs for HPPA (see #393796).
1164 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
1166 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1167 Actually write ABI structs to the file specified in the GST_ABI
1168 environment variable, as the message we print claims we would.
1170 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1172 * tests/check/gst/gsttask.c:
1175 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1177 * gst/gsttaglist.c: (_gst_tag_initialize):
1178 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1179 previous two entries.
1181 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1183 * docs/gst/gstreamer-sections.txt:
1184 * gst/gsttaglist.c: (_gst_tag_initialize):
1186 Add tag support for beat-per-minute.
1188 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1190 * gst/gstregistrybinary.c: (gst_registry_binary_write),
1191 (gst_registry_binary_initialize_magic),
1192 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1193 (gst_registry_binary_save_pad_template),
1194 (gst_registry_binary_save_feature),
1195 (gst_registry_binary_save_plugin),
1196 (gst_registry_binary_write_cache),
1197 (gst_registry_binary_check_magic),
1198 (gst_registry_binary_load_pad_template),
1199 (gst_registry_binary_load_feature),
1200 (gst_registry_binary_load_plugin),
1201 (gst_registry_binary_read_cache):
1202 * gst/gstregistrybinary.h:
1203 Use glib types, cleanup comments, impement interfaces and uri-types.
1205 2007-01-13 Andy Wingo <wingo@pobox.com>
1207 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1208 getrange() to return buffers with other caps, while we fix
1209 demuxers and typefind, or otherwise change part-negotiation.txt.
1211 2007-01-12 Andy Wingo <wingo@pobox.com>
1213 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1214 Factor start/stop into this private function instead of partially
1215 in activate functions and partially in the change_state function.
1216 Fixes setup before the element has changed from READY->PAUSED, as
1217 is the case in pull-mode pipelines.
1218 (gst_base_transform_sink_activate_push)
1219 (gst_base_transform_src_activate_pull): Refactor to use
1220 gst_base_transform_activate().
1221 (gst_base_transform_change_state): Removed, not needed any more.
1223 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1224 Truncate before fixating.
1226 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1227 Don't set_caps() if the result of fixating is ANY, as it's not
1228 supported, and not necessary in the case of a link with no
1229 template caps on either side. Fixes tests/check/libs/basesrc in
1230 some pull-mode tests.
1232 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1233 (gst_base_transform_init, gst_base_transform_sink_activate_push)
1234 (gst_base_transform_src_activate_pull):
1235 Track the activation mode.
1236 (gst_base_transform_setcaps): In pull mode, when activating the
1237 src pad, after activating the sink pad, activate the sink pad's
1238 peer, as discussed in part-negotiation.txt.
1240 * libs/gst/base/gstbasesrc.h:
1241 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1242 vmethod, as in basesink.
1244 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1246 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1247 mode, first proxy the setcaps to the peer pad.
1248 (gst_base_sink_pad_fixate): Add a fixate function that calls the
1250 (gst_base_sink_default_activate_pull): Rename from
1251 gst_base_sink_activate_pull.
1252 (gst_base_sink_negotiate_pull): New function, performs negotiation
1253 in pull mode before calling ::activate_pull().
1254 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1255 vmethod instead of the default implementation. I have no idea how
1256 this worked before. Negotiate before calling activate_pull.
1258 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1259 sink pads in pull mode. In addition to being correct, fixes
1260 filesrc ! decodebin ! identity ! fakesink.
1261 (gst_pad_get_range, gst_pad_pull_range): Don't call
1262 gst_pad_set_caps() if the caps changes; instead error out with
1263 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1265 2007-01-12 Andy Wingo <wingo@pobox.com>
1267 * docs/design/part-negotiation.txt: Update with more policy.
1269 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
1271 * libs/gst/check/gstbufferstraw.h:
1272 * libs/gst/check/gstcheck.h:
1273 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1276 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
1278 * tests/check/Makefile.am:
1279 * tests/check/gst/.cvsignore:
1280 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1281 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1282 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1283 (GST_START_TEST), (gst_tag_setter_suite):
1284 Add minimal unit test for beforementioned GstTagSetter bug.
1286 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
1288 Patch by: René Stadler <mail at renestadler dot de>
1290 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1291 gst_tag_list_merge() returns a new list, so it's not the best idea
1292 to ingore its return value. Effectively meant that tags could only
1293 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1294 Also add function guard to require a non-NULL taglist as input (has
1295 always been so due to gst_tag_list_copy(), just making it explicit).
1297 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
1299 * docs/random/draft-missing-plugins.txt:
1300 Some additions: mention new API that is supposed to be used at the
1301 various stages; short blob about new gst-inspect introspection
1302 option; mention potential future problem with plugins that have
1303 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1305 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
1307 * tools/gst-inspect.c:
1308 (print_plugin_automatic_install_info_codecs),
1309 (print_plugin_automatic_install_info_protocols),
1310 (print_plugin_automatic_install_info), (main):
1311 Add --print-plugin-auto-install-info option to gst-inspect, so we can
1312 introspect plugin files and get machine-parsable output that corresponds
1313 to the last bit of the missing-plugin installer string (small gotcha:
1314 doesn't take into account ranks).
1316 2007-01-11 Stefan Kost <ensonic@users.sf.net>
1319 * docs/gst/gstreamer-sections.txt:
1321 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1322 (gst_registry_lookup_locked):
1323 * gst/gstregistry.h:
1324 * gst/gstregistrybinary.c: (gst_registry_binary_write),
1325 (gst_registry_binary_initialize_magic),
1326 (gst_registry_binary_save_string),
1327 (gst_registry_binary_save_pad_template),
1328 (gst_registry_binary_save_feature),
1329 (gst_registry_binary_save_plugin),
1330 (gst_registry_binary_write_cache),
1331 (gst_registry_binary_check_magic),
1332 (gst_registry_binary_load_pad_template),
1333 (gst_registry_binary_load_feature),
1334 (gst_registry_binary_load_plugin),
1335 (gst_registry_binary_read_cache):
1336 * gst/gstregistrybinary.h:
1337 * gst/gstregistryxml.c: (load_feature),
1338 (gst_registry_xml_read_cache):
1339 commit binary registry (disabled by default, see #359653)
1341 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
1343 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1344 Fix 'make check' too.
1346 2007-01-10 Andy Wingo <wingo@pobox.com>
1348 * docs/design/part-negotiation.txt: Fix a typo, add a couple
1351 * docs/design/part-negotiation.txt: Update with, um, one way that
1352 pull-mode negotiation might work?
1355 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1356 that the pad must be a src pad; makes sense to call it the other
1357 way in pull mode, and the logic is symmetric anyway.
1359 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
1361 * plugins/elements/gstfilesink.c:
1362 Include <stdio.h> for fseeko().
1364 2007-01-10 Wim Taymans <wim@fluendo.com>
1368 Reserve LATENCY event.
1370 2007-01-09 Wim Taymans <wim@fluendo.com>
1372 * docs/design/draft-latency.txt:
1375 2007-01-09 Wim Taymans <wim@fluendo.com>
1377 * docs/design/draft-latency.txt:
1381 * gst/gststructure.c:
1385 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
1387 * tests/check/.cvsignore:
1388 Ignore test-registry.xml as well.
1390 2007-01-09 Wim Taymans <wim@fluendo.com>
1392 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1393 unref data at the end when we are done with the pad.
1395 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
1397 * docs/gst/gstreamer-sections.txt:
1398 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1399 (init_post), (gst_deinit), (gst_update_registry):
1401 API: add gst_update_registry() (#391296).
1403 * tests/check/Makefile.am:
1404 * tests/check/gst/gstregistry.c:
1405 * tests/check/gst/.cvsignore:
1406 Simple unit test for the above.
1408 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
1410 * gst/gstregistry.c: (gst_registry_scan_path_level):
1411 Plugin extension on HP-UX is .sl, add that to the list of approved
1412 plugin extensions (see #393796).
1414 * tests/check/gst/gstpad.c: (GST_START_TEST):
1415 ulong => gulong. Fixes compilation with HP-UX compiler.
1417 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1418 Fix compilation if valgrind headers are not available.
1420 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
1422 * win32/common/libgstreamer.def:
1423 Add new exported function.
1424 * win32/vs6/libgstbase.dsp:
1425 Add gstdataqueue.c to the build.
1426 * win32/vs6/libgstcoreelements.dsp:
1427 Add gstmultiqueue.c to the build.
1429 2007-01-06 Andy Wingo <wingo@pobox.com>
1431 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
1432 activate_pull(), providing for a way to specialize the process of
1433 spawning a thread to pull on the sink pad. There is a default
1436 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
1437 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
1438 (gst_base_sink_init): Renamed pad activation functions (inserting
1439 "_pad" in their names). Refactor to use the new activate_pull
1440 vmethod, as appropriate.
1441 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
1442 default activate_pull function to start a task pulling from the
1443 sink pad, as before.
1445 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
1446 on the pads if necessary, as in push()/chain(). Update docs.
1447 Shouldn't affect existing pull() usage as it is currently only
1448 being used on buffers without caps.
1450 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1452 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1454 Call g_thread_init() first thing in gst_init() / gst_check_init().
1455 When initialisation is done via gst_init_get_option_group() and
1456 GOption parsing, issue a warning if the GLib thread system has not
1457 been initialised yet by the time gst_init_get_option_group() is
1458 called, as it's quite likely other GLib functions such as
1459 g_option_context_new() have been called already then, and
1460 g_thread_init() must be called before any other GLib function. The
1461 application in question must be fixed in that case, since memory
1462 corruption might happen otherwise.
1463 We issue the warning because even if the GLib folks decide to work
1464 around the problem on their end in future, this is still an issue
1465 with all GLib versions >= 2.10.0, so we should warn until we depend
1466 on a GLib version we know to be safe.
1467 Update documentation as well.
1470 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1472 * tools/gst-inspect.c: (main):
1473 * tools/gst-launch.c: (main):
1474 * tools/gst-typefind.c: (main):
1475 * tools/gst-xmlinspect.c: (main):
1476 Call g_thread_init() really really early, before any other GLib
1477 function (see #342564 and recent discussion on gtk-devel-list).
1479 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1481 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
1483 * gst/gst_private.h:
1484 * gst/gstconfig.h.in:
1486 On win32, all the __declspec stuff for symbol exporting is
1487 apparently only needed with MSVC, but doesn't work with MingW.
1488 Fixes compilation with MingW and #391909.
1490 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1492 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
1493 Change some GST_ERROR_OBJECT that aren't really errors to
1494 GST_WARNING_OBJECT in order to reduce terminal spam.
1496 2007-01-04 Stefan Kost <ensonic@users.sf.net>
1498 * tests/check/Makefile.am:
1499 disable test again, as there seem to be still race problems
1501 2007-01-04 Stefan Kost <ensonic@users.sf.net>
1503 * tests/check/Makefile.am:
1504 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1505 (GST_START_TEST), (queue_suite):
1506 enable queue test again, add tests for the leaky behaviour
1508 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
1511 * tests/examples/Makefile.am:
1512 Compile adapter test/example only if the required headers are
1513 available (fixes #391915).
1515 2007-01-01 David Schleef <ds@schleef.org>
1518 Restore the previous signal handler for SIGSEGV instead of
1519 setting to default, since we may have stolen it away from
1520 someone. (i.e., Mono)
1522 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
1524 * docs/random/draft-missing-plugins.txt:
1525 Some small additions and clarifications.
1527 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
1529 * gst/gstregistryxml.c: (gst_registry_save_escaped):
1530 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
1531 since that can lead to random memory corruptions and crashes
1532 (may or may not be related to #383244, #386711, and #386711).
1534 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1536 * tests/check/.cvsignore:
1537 * tests/check/Makefile.am:
1538 sync .cvsignome and CLEANFILES
1540 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1542 * tests/check/Makefile.am:
1545 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1547 * docs/design/part-states.txt:
1548 two tiny additional comments
1550 * gst/gststructure.c:
1553 * tests/check/Makefile.am:
1554 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1556 disable test for now, unless it gets fixed
1558 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1560 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1562 fix race in underrun test
1564 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1566 * tests/check/elements/.cvsignore:
1569 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1571 try to narrow test failure
1573 2006-12-21 David Schleef <ds@schleef.org>
1575 * plugins/elements/gstfakesrc.c:
1576 Use g_random_int_range(), since it produces better random
1577 numbers in a range than almost-correct floating point code.
1579 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1581 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1582 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1583 (gst_check_teardown_sink_pad):
1584 do not automatically (de)activate pads
1586 * tests/check/Makefile.am:
1587 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1588 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
1589 add new, yet simple tests for queue
1591 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
1592 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
1593 * tests/check/elements/filesrc.c: (cleanup_filesrc),
1595 * tests/check/elements/identity.c: (cleanup_identity):
1596 consistent pad (de)activation
1598 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
1600 Patch by: Sebastian Dröge <slomo ubuntu com>
1602 * libs/gst/base/gstcollectpads.c:
1603 Fix two doc typos (#387866).
1605 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
1607 * docs/manual/advanced-dparams.xml:
1608 Fix typo (g_object_control_properties() doesn't exist).
1610 2006-12-19 Edward Hervey <edward@fluendo.com>
1612 * gst/gstsegment.c: (gst_segment_set_seek):
1613 Fine tune the cases where the segment start/stop values are really
1615 * tests/check/gst/gstsegment.c: (GST_START_TEST):
1616 Add tests for the return values of gst_segment_set_seek().
1618 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
1623 * plugins/elements/gstqueue.c: (gst_queue_class_init),
1625 Fix incorrect documentation and flesh it out a bit more.
1626 Set default values for the max properties on the GParamSpec as well,
1627 so it shows up correctly in gst-inspect.
1629 2006-12-18 Stefan Kost <ensonic@users.sf.net>
1631 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1632 Correct docs of queue, add more detail and crosslink it more.
1634 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
1636 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1637 Print additional debug info when the stream isn't perfectly
1638 timestamped; don't try to use invalid durations.
1640 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
1642 * docs/design/Makefile.am:
1643 Dist new design docs.
1645 2006-12-16 Wim Taymans <wim@fluendo.com>
1647 Patch by: Sjoerd Simons <sjoerd at luon dot net>
1649 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
1650 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1651 (gst_collect_pads_stop), (gst_collect_pads_event),
1652 (gst_collect_pads_chain):
1653 * libs/gst/base/gstcollectpads.h:
1654 Add refcounting to the collectpads data so we can track when it's safe
1655 to free the data. Fixes #383382.
1657 2006-12-15 Wim Taymans <wim@fluendo.com>
1659 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1660 (gst_collect_pads_remove_pad):
1661 Automatically activate/deactivate pads when they are added to a
1662 started/stoped collectpads.
1664 2006-12-15 Wim Taymans <wim@fluendo.com>
1666 * gst/gstelement.c: (gst_element_add_pad):
1667 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
1668 * gst/gstpad.c: (gst_pad_init):
1669 Set pads to FLUSHING when they are created. Check, warn and fix when a
1670 demuxer adds an inactive pad to itself when running. Fixes #339326.
1672 2006-12-15 Wim Taymans <wim@fluendo.com>
1674 * gst/gstelement.c: (gst_element_class_init),
1675 (gst_element_default_send_event), (gst_element_send_event),
1676 (gst_element_default_query), (gst_element_query):
1677 Expose default element send_event and query handling as vmethods that
1678 subclasses can chain up to.
1680 2006-12-15 Wim Taymans <wim@fluendo.com>
1682 * gst/gstelement.c: (gst_element_set_state_func):
1683 Small documentation fixes.
1685 2006-12-15 Wim Taymans <wim@fluendo.com>
1687 * docs/design/draft-latency.txt:
1688 Checked in draft for handling latency in pipelines.
1690 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
1694 * gstreamer.spec.in:
1697 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
1699 * gst/gst.c: (init_pre), (init_post):
1700 init_pre() and init_post() might be called via our GOptionGroup or
1701 from gst_init(), and we should skip both of them if we've already
1702 been initialised, otherwise we will init some things twice or add
1703 two default log functions.
1705 2006-12-13 Edward Hervey <edward@fluendo.com>
1707 * docs/manual/basics-bus.xml:
1708 No, gst_main_loop does not exist. Its g_main_loop.
1709 Discovered by somebody who abused the copy-paste technique of coding :)
1711 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
1713 * gst/gstghostpad.c:
1714 Log ghostpad debug stuff to the GST_PADS category as well rather
1715 than just to the default category.
1717 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
1720 * gst/gst.c: (init_pre):
1721 Add some basic system details such as OS and architecture
1722 to the debug output if possible, courtesy of uname().
1724 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
1726 * docs/gst/running.xml:
1727 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
1728 environment variables.
1730 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
1732 * tests/check/gst/gstbin.c: (GST_START_TEST):
1733 It is acceptable to have a refcount of 2 or 3 at this point in the
1734 test, because the pipeline might be just posting its state_change
1735 message. The next line then waits for that message to appear using
1736 bus_poll, so that should be fine too.
1738 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
1740 * gst/gst.c: (ensure_current_registry_forking):
1741 Ignore EINTR when reading from the child registry pipe.
1742 Explicitly ignore the return value from close, since it makes no
1745 * gst/gstminiobject.c: (gst_mini_object_ref),
1746 (gst_mini_object_unref):
1747 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
1749 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
1750 When removing cached plugins, remove their features too, so they're
1751 not visible after they've disappeared.
1753 * gst/gstutils.c: (prepare_link_maybe_ghosting):
1754 In the unlikely case that we are linking pads with no parents, don't
1755 crash trying to get the non-existent parent bin.
1757 * gst/parse/grammar.y:
1758 Output debug in the PIPELINE category
1760 2005-03-08 Wim Taymans <wim@fluendo.com>
1762 Patch by: René Stadler <mail at renestadler dot de>
1764 * gst/gstclock.c: (gst_clock_new_periodic_id):
1765 Reject invalid clock times for interval of periodic ids.
1768 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
1770 * gst/gstelementfactory.c: (gst_element_factory_create):
1771 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1772 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1773 * tools/gst-inspect.c: (print_element_info):
1774 Fix refcounting of gst_plugin_feature_load to match the docs.
1777 2006-12-07 Wim Taymans <wim@fluendo.com>
1779 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
1780 (gst_base_sink_get_position):
1781 Improve debugging of events.
1783 2006-12-07 Wim Taymans <wim@fluendo.com>
1785 Patch by: René Stadler <mail at renestadler dot de>
1787 * gst/gstclock.c: (gst_clock_id_wait):
1788 Make period ids add the interval to the origial requested time instead
1789 of the possibly updated time which can be wrong when there are multiple
1790 waiters for the same id. Fixes #382592.
1792 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
1793 (gst_system_clock_id_wait_jitter_unlocked),
1794 (gst_system_clock_id_wait_jitter):
1795 Fix restart in the async notify thread when an async entry is added to
1796 the front of the list. Fixes #381492.
1798 * tests/check/gst/gstsystemclock.c: (store_callback),
1799 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
1800 Added test for multiple async waits.
1801 Added test for async wait order.
1803 2006-12-07 Wim Taymans <wim@fluendo.com>
1805 * gst/gstbin.c: (gst_bin_query):
1806 Add some more docs about the POSITION query.
1808 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
1811 Bump version nano - back to CVS.
1813 === release 0.10.11 ===
1815 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
1818 releasing 0.10.11, "Love never runs on time"
1820 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
1822 * win32/common/libgstbase.def:
1823 * win32/common/libgstreamer.def:
1824 * win32/vs8/libgstbase.vcproj:
1825 * win32/vs8/libgstcoreelements.vcproj:
1826 * win32/vs8/libgstreamer.vcproj:
1827 Fix compilation on win32 under VS8
1828 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
1829 Partially fixes #381175
1831 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
1833 * gst/gstvalue.c: (gst_value_compare_fraction):
1834 If someone is foolish enough to compare 2 fractions with denominator =
1835 0, return UNORDERED rather than aborting.
1837 2006-11-28 Edward Hervey <edward@fluendo.com>
1839 * libs/gst/base/Makefile.am:
1840 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
1841 (gst_data_queue_base_init), (gst_data_queue_class_init),
1842 (gst_data_queue_init), (gst_data_queue_new),
1843 (gst_data_queue_cleanup), (gst_data_queue_finalize),
1844 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
1845 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
1846 (gst_data_queue_is_empty), (gst_data_queue_is_full),
1847 (gst_data_queue_set_flushing), (gst_data_queue_push),
1848 (gst_data_queue_pop), (gst_data_queue_drop_head),
1849 (gst_data_queue_set_property), (gst_data_queue_get_property):
1850 * libs/gst/base/gstdataqueue.h:
1851 New GstDataQueue object for threadsafe queueing. Most useful for
1852 elements that need some queueing functionnality.
1853 * docs/libs/gstreamer-libs-docs.sgml:
1854 * docs/libs/gstreamer-libs-sections.txt:
1855 Insert documentation for GstDataQueue
1856 * plugins/elements/Makefile.am:
1857 * plugins/elements/gstelements.c:
1858 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1859 (gst_multi_queue_class_init), (gst_multi_queue_init),
1860 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
1861 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
1862 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
1863 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
1864 (gst_multi_queue_loop), (gst_multi_queue_chain),
1865 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1866 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
1867 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
1868 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
1869 (wake_up_next_non_linked), (compute_next_non_linked),
1870 (single_queue_overrun_cb), (single_queue_underrun_cb),
1871 (single_queue_check_full), (gst_single_queue_new):
1872 * plugins/elements/gstmultiqueue.h:
1873 New multiqueue element, using GstDataQueue. Used for queuing multiple
1875 Closes #344639 and #347785
1877 2006-11-22 Stefan Kost <ensonic@users.sf.net>
1879 * docs/pwg/advanced-types.xml:
1880 add more missing type details
1882 * tools/gst-run.c: (main):
1883 remove unused variable
1885 2006-11-21 Stefan Kost <ensonic@users.sf.net>
1887 * docs/libs/Makefile.am:
1888 * docs/libs/gstreamer-libs.types:
1889 add types of base classes to enable gobject specific stuff in the docs
1891 * docs/random/ensonic/embedded.txt:
1892 more ideas about isolating platform specific things
1894 2006-11-20 Wim Taymans <wim@fluendo.com>
1896 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
1898 * libs/gst/check/gstcheck.h:
1899 Fix compilation and running against 0.9.4. Fixes #377332.
1901 2006-11-20 Wim Taymans <wim@fluendo.com>
1903 * gst/gstsegment.c: (gst_segment_set_seek),
1904 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1905 (gst_segment_to_running_time):
1906 Fix boundary checking in to_running_time() and to_stream_time().
1909 * tests/check/gst/gstsegment.c: (GST_START_TEST):
1910 stream and running time can now be calculated for the complete
1913 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
1915 * gst/gstpad.c: (gst_pad_push_event):
1916 Can't access event structure after giving away ownership of
1919 2006-11-15 Stefan Kost <ensonic@users.sf.net>
1921 * docs/random/ensonic/embedded.txt:
1922 * docs/random/ensonic/profiling.txt:
1923 * docs/random/ensonic/receipies.txt:
1926 2006-11-13 Wim Taymans <wim@fluendo.com>
1928 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1931 Fix documentation for gst_pad_dispatcher. Fixes #374475.
1933 2006-11-13 Wim Taymans <wim@fluendo.com>
1935 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
1937 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1938 Store new length in segment duration so we don't keep on calling the
1939 potentially expensize get_size() call. Fixes #370865.
1941 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
1943 Patch by: Sergey Scobich <sergey.scobich at gmail com>
1945 * win32/common/libgstreamer.def:
1946 Add two missing symbols (#366492).
1948 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
1950 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
1951 (gst_adapter_take_buffer):
1952 Fix format string to use all its arguments.
1953 Remove useless >= check on a guint
1955 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
1957 * tests/examples/adapter/.cvsignore:
1958 Ignore build file as commanded by the build-bot
1960 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
1962 * tests/examples/adapter/Makefile.am:
1963 * tests/examples/adapter/adapter_test.c: (run_test_take),
1964 (run_test_take_buffer), (run_tests), (main):
1966 Add new files from the previous commit
1968 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
1972 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
1973 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
1974 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
1975 * libs/gst/base/gstadapter.h:
1976 * tests/check/libs/adapter.c: (create_and_fill_adapter),
1977 (GST_START_TEST), (gst_adapter_suite):
1978 * tests/examples/Makefile.am:
1979 Do some optimisation work in GstAdapter to avoid copies in more cases.
1980 It could still do slightly better by merging buffers when
1981 gst_buffer_is_span_fast is true, but is already faster.
1983 Also, avoid traversing a single-linked list to append each incoming
1984 buffer inside the adapter.
1986 Add simple test app that times the adapter behaviour in different
1987 situations, and extend the unit test to check that bytes enter and
1988 exit the adapter in their original order.
1990 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
1992 * docs/random/draft-missing-plugins.txt:
1993 Update: use element message instead of adding a new message
1994 type to the core; don't provide GStreamer API to initiate the
1995 plugin download, just provide API to compose the strings needed
1996 and let an external libgimmestuff handle the rest.
1998 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
2000 * tools/gst-inspect.c: (print_element_properties_info):
2001 Print a string instead of 'unknown type' for GValueArray properties
2003 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
2005 * docs/random/draft-missing-plugins.txt:
2008 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
2010 * tests/examples/typefind/typefind.c: (type_found), (main):
2011 Make typefind element example work again (#371894); add a
2014 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
2016 * docs/random/draft-missing-plugins.txt:
2017 Commit initial draft about how to deal with missing plugins,
2018 needs work (API too).
2020 2006-11-07 Stefan Kost <ensonic@users.sf.net>
2022 * docs/pwg/advanced-types.xml:
2023 documents the new caps elements (see #363118)
2025 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
2027 * gst/gstplugin.c: (gst_plugin_load_file):
2028 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2029 (gst_file_src_map_region), (gst_file_src_start):
2030 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2031 (gst_file_index_commit):
2032 Use g_strerror() instead of strerror() - we want UTF-8.
2034 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
2036 Patch by: Peter Kjellerstedt <pkj at axis com>
2038 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2039 Another printf fix (#371493).
2041 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2043 * tests/check/gst/gsttag.c:
2044 relicence (okay with author=company)
2046 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2048 * gst/gstpad.c: (gst_pad_event_default_dispatch),
2049 (gst_pad_push_event):
2050 Enhance debug and improve docs
2055 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2057 * docs/random/ensonic/distributed.txt:
2058 * docs/random/ensonic/profiling.txt:
2061 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2063 * docs/gst/gstreamer-sections.txt:
2064 add new API and fix the build
2066 * gst/gstbin.c: (gst_bin_recalc_state):
2067 * gst/gstelement.c: (gst_element_message_full),
2068 (gst_element_get_state_func), (gst_element_set_state_func):
2069 use new API and improve logging
2071 * gst/gstutils.c: (gst_element_state_change_return_get_name):
2073 API: add function to get StateChangereturn names to improve logs
2075 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
2077 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2078 I'm considering shooting the next person to put strerror stuff
2079 in the translateable part of the message.
2081 2006-11-03 Wim Taymans <wim@fluendo.com>
2083 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2084 Get the type and printf conversion specifiers right.
2086 2006-11-03 Wim Taymans <wim@fluendo.com>
2088 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2090 * gst/gstpad.c: (gst_pad_init), (pre_activate),
2091 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2092 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2093 Some small cleanups. Improve debugging.
2095 Signal all waiting threads with a broadcast instead of just one.
2098 2006-11-03 Wim Taymans <wim@fluendo.com>
2100 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2101 (gst_fd_src_create):
2103 Only update fd when it's different from the old.
2105 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
2107 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2108 Printf fixes for PPC/OSX, take two (#369366).
2110 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
2112 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
2114 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2115 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2116 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2117 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2118 don't cast to long long for portability reasons, but use
2119 GLib's types instead.
2121 2006-10-30 Michael Smith <msmith@fluendo.com>
2123 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2124 Get the arguments to lseek() the right way around.
2127 2006-10-30 Wim Taymans <wim@fluendo.com>
2129 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2132 _declspec should be __declspec (two underscores, not one). Fixes 366572.
2134 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
2136 Patch by: Kjartan Maraas <kmaraas at gnome org>
2138 * docs/design/part-MT-refcounting.txt:
2139 * docs/random/wtay/capsnego2-docs:
2142 Typo fixes (#366212).
2144 2006-10-28 Wim Taymans <wim@fluendo.com>
2146 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2149 * win32/common/libgstbase.def:
2150 * win32/common/libgstreamer.def:
2151 * win32/vs8/libgstbase.vcproj:
2152 * win32/vs8/libgstcontroller.vcproj:
2153 Add needed entries in .def files.
2155 Rearrange def files in vs8 solutions. Fixes #366286.
2157 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
2159 * win32/common/gstconfig.h:
2160 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2161 hand-made win32 gstconfig.h. Fixes #366321.
2163 2006-10-27 Wim Taymans <wim@fluendo.com>
2165 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2166 (gst_ghost_pad_new_full):
2167 Make acceptcaps return TRUE when we don't have a target, just like
2170 2006-10-27 Wim Taymans <wim@fluendo.com>
2172 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2173 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2175 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
2177 * gst/gststructure.c: (gst_structure_id_set_value):
2178 If someone tries to set a non-UTF8 string field on a structure,
2179 don't just print a warning, but also ignore the request and do
2180 not change/add that field to the structure.
2182 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2185 2006-10-25 David Schleef <ds@schleef.org>
2188 g_hash_table_insert() needs a cast to a non-const pointer duh.
2190 2006-10-25 David Schleef <ds@schleef.org>
2194 Change name parameter of _gst_debug_register_funcptr to const
2195 to reflect the constness of its use in the function as well
2196 as to quiet a gcc warning.
2198 2006-10-25 Edward Hervey <edward@fluendo.com>
2200 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2201 Don't push the buffer if it's empty.
2204 2006-10-24 Wim Taymans <wim@fluendo.com>
2209 * libs/gst/base/gstbasetransform.c:
2210 (gst_base_transform_sink_eventfunc):
2211 Debug segment values *after* updating them as this is more
2214 2006-10-23 Wim Taymans <wim@fluendo.com>
2216 * docs/design/part-events.txt:
2219 * docs/design/part-block.txt:
2220 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2221 (gst_pad_push_event):
2222 Revert BLOCKING patch, it tries to be smart without really having a
2223 clear idea what or how. So, now we discard all FLUSHING events again on
2224 a blocking pad. Should fix gnonlin again.
2226 2006-10-23 Wim Taymans <wim@fluendo.com>
2228 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2230 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2231 (gst_base_src_start), (gst_base_src_activate_push):
2232 Make sure size is always initialized. Fixes #364388.
2234 2006-10-20 Stefan Kost <ensonic@users.sf.net>
2236 * docs/random/ensonic/distributed.txt:
2237 add some ideas about doing distributed processing
2239 * docs/random/ensonic/profiling.txt:
2240 get_rusage look promising
2242 2006-10-18 Stefan Kost <ensonic@users.sf.net>
2244 * docs/manual/basics-helloworld.xml:
2245 Add a cast in example to fix compile warning
2247 2006-10-18 Wim Taymans <wim@fluendo.com>
2249 * gst/gstsegment.c: (gst_segment_set_last_stop),
2250 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2251 Relax arg checking again, -1 is allowed.
2253 2006-10-18 Wim Taymans <wim@fluendo.com>
2255 * gst/gstsegment.c: (gst_segment_set_last_stop),
2256 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2257 _set_last_stop() must be with a value != -1
2258 A _TYPE_SET to -1 means seek to 0.
2259 Calc last_stop correctly for negative rates.
2260 Make sure we work with positive durations when updating a segment.
2262 2006-10-18 Wim Taymans <wim@fluendo.com>
2264 * docs/design/part-live-source.txt:
2268 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
2271 Add an explicit cast to GstBuffer** to keep old code that added an
2272 explicit cast to GstMiniObject** for gst_mini_object_replace()
2273 compiling without warning.
2275 2006-10-18 Stefan Kost <ensonic@users.sf.net>
2277 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2278 check for validity of dates
2280 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
2282 * docs/gst/gstreamer-sections.txt:
2283 Forgot this one, makes gtk-doc shut up.
2285 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
2287 Patch by: Peter Kjellerstedt <pkj at axis com>
2290 Don't define xmlNodePtr to gpointer if the core was built with
2291 --disable-loadsave and --disable-registry, this will break
2292 applications that want to use libxml2 but are buildling against a
2293 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2294 instead so we don't have to mess with the libxml2 namespace
2297 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
2300 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2301 type-punned pointer warnings.
2303 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
2306 Add casts to the correct return type to state <=> state transition
2309 2006-10-16 Stefan Kost <ensonic@users.sf.net>
2311 * docs/design/part-live-source.txt:
2312 describe howto handle latency
2314 * docs/random/ensonic/profiling.txt:
2317 * tools/gst-plot-timeline.py:
2318 fix log parsing for solaris, remove unused function
2320 2006-10-16 Wim Taymans <wim@fluendo.com>
2322 * docs/design/part-trickmodes.txt:
2324 Update some docs regarding reverse playback.
2326 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
2328 Patch by: Marcus Granado <mrc dot gran at gmail com>
2330 * win32/vs8/grammar.vcproj:
2331 Error out with a warning if glib-genmarshal.exe is not in path,
2332 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2334 2006-10-13 Wim Taymans <wim@fluendo.com>
2336 * gst/gstsegment.c: (gst_segment_set_seek):
2337 When seeking to stop -1, set last_stop (current position) to the
2338 duration of the segment.
2340 2006-10-13 Wim Taymans <wim@fluendo.com>
2343 Clarify _NO_PREROLL a bit more.
2348 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2349 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2350 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2351 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2352 due to wrong locking order. Fixes #361769.
2353 Remove some redundant/misplaced checks in pad_block.
2355 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2356 For negative rates, count backwards from the duration.
2358 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
2360 * gst/gsterror.c: (_gst_library_errors_init):
2361 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2362 up with something better).
2364 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
2366 * win32/vs6/libgstreamer.dsp:
2367 * win32/vs7/libgstreamer.vcproj:
2368 * win32/vs8/libgstreamer.vcproj:
2369 Don't reference glib-compat.c which is currently not used and not
2370 disted; add gstquark.c which was recently added. Fixes #361730.
2372 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
2374 * win32/common/libgstbase.def:
2375 * win32/common/libgstcontroller.def:
2376 * win32/common/libgstreamer.def:
2377 Add gst_caps_merge() and a bunch of other recently-added functions.
2380 2006-10-11 Wim Taymans <wim@fluendo.com>
2382 * docs/plugins/gstreamer-plugins.args:
2383 * docs/plugins/inspect/plugin-coreelements.xml:
2384 * docs/plugins/inspect/plugin-coreindexers.xml:
2385 Update element args.
2387 * gst/gstsystemclock.c:
2388 Small comment update.
2390 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2391 (gst_tee_request_new_pad), (gst_tee_release_pad),
2392 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2393 (gst_tee_sink_activate_pull):
2394 * plugins/elements/gsttee.h:
2396 Add default property defines.
2397 Implement release pad function.
2398 Give properties better blubs etc.
2399 Activate pads before adding them to a running tee.
2400 Do simple buffer_alloc on the first requested pad.
2401 Post error when activation fails.
2403 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
2405 * gst/gst.c: (ensure_current_registry_forking):
2406 Check return value of write() to make compiler happy.
2408 2006-10-11 Wim Taymans <wim@fluendo.com>
2410 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2412 * plugins/elements/gstqueue.c: (gst_queue_chain):
2413 Recheck queue filledness after signalling the overrun when we're about
2414 to leak downstream because we released the lock when emitting the signal
2415 and the queue could be empty again. Fixes #352345.
2417 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
2419 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
2420 Fix refcounting here too, just like we did for _new_valist() a few
2421 days ago (#357180) (thanks to René Stadler). Also remove all those
2422 'Since: 0.9' from the gtk-doc blobs.
2424 * tests/check/libs/controller.c: (controller_refcount_new_list),
2425 (gst_controller_suite):
2426 Unit test for the above.
2428 2006-10-10 Wim Taymans <wim@fluendo.com>
2430 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
2432 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2433 (gst_pad_save_thyself):
2435 Write pad direction in XML output. Fixes #345496.
2437 2006-10-10 Wim Taymans <wim@fluendo.com>
2439 Patch by: René Stadler <mail at renestadler dot de>
2441 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2442 (gst_controller_new_list), (_gst_controller_dispose),
2443 (_gst_controller_finalize), (_gst_controller_class_init):
2444 Take ref to controlled object so that it cannot disappear.
2447 2006-10-10 Wim Taymans <wim@fluendo.com>
2449 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2450 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2451 (gst_check_teardown_sink_pad):
2452 Activate/deactivate pads in setup/teardown respectively.
2454 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2456 Patch by: Josep Torre Valles <josep@fluendo.com>
2459 Cast values when making gstenumtypes.h. This pacifies Forte
2460 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
2463 2006-10-09 Wim Taymans <wim@fluendo.com>
2465 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
2466 Rename some more @cur to @start to fix docs.
2468 * gst/gstsegment.c: (gst_segment_set_seek):
2470 time and start must always stay in sync as defined in design doc.
2472 * gst/gsttaglist.c: (gst_tag_list_is_empty):
2473 Rename param to fix docs.
2475 * tests/check/gst/gstsegment.c: (GST_START_TEST):
2476 Check that start and time are in sync.
2478 * tests/check/pipelines/parse-launch.c:
2479 (gst_parse_test_element_change_state):
2480 Activate pad before adding to the element.
2482 2006-10-09 Wim Taymans <wim@fluendo.com>
2484 * docs/design/part-qos.txt:
2489 Update seek event docs regarding negative rates.
2490 Rename @cur to @start.
2492 * gst/gstsegment.c: (gst_segment_set_seek):
2494 Update set_seek docs regarding negative rates.
2495 Correctly update last_stop to @stop when dealing with negative
2497 Rename @cur to @start.
2499 * tests/check/gst/gstpad.c: (GST_START_TEST):
2500 Activate pads before trying to use them.
2502 * tests/check/gst/gstsegment.c: (GST_START_TEST),
2503 (gst_segment_suite):
2504 Add simple check for segments and negative rates.
2506 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
2508 * gst/gsttaglist.c: (gst_tag_list_is_empty):
2510 * docs/gst/gstreamer-sections.txt:
2511 API: add gst_tag_list_is_empty() (#360467).
2513 * tests/check/gst/gsttag.c: (GST_START_TEST):
2516 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2519 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
2520 a value that doesn't fit on enumeration.
2522 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2524 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2525 Remove local debugging system and use Gstreamer's instead.
2527 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2529 Patch by: Josep Torre Valles <josep@fluendo.com>
2531 * common/m4/gst-error.m4:
2532 Disable warning of statement not reached on Forte.
2534 Fix warning on Forte (value doesn't fit on enumeration).
2535 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
2536 Fix warning on Forte (value doesn't fit on enumeration).
2537 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2538 DEBUG macro says it takes minimum of 2 args and so Forte
2539 complains about the use with just 1 arg.
2540 * plugins/elements/gstfdsink.c:
2541 * plugins/elements/gstfdsrc.c:
2542 * plugins/elements/gstfilesink.c:
2543 * plugins/elements/gstfilesrc.c:
2544 Use correct return type for the uri handler implementations.
2546 All these fix warnings in Forte. Fixes bug #360860.
2548 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
2551 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
2552 format string, so don't use G_GNUC_PRINTF for those versions.
2554 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
2556 * gst/gsttaglist.c: (gst_is_tag_list):
2558 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
2560 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2561 Small test for the above.
2563 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
2566 Less tabs, more spaces.
2568 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
2571 Those two function declarations do actually belong there, revert
2572 commit from yesterday that turned them intro macros.
2574 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2576 Patch by: Josep Torre Valles <josep@fluendo.com>
2578 * gst/gst.c: (gst_init_get_option_group):
2579 Fix empty declaration and type mismatch.
2580 * gst/gstbin.c: (gst_bin_change_state_func):
2582 * gst/gstelement.c: (gst_element_continue_state),
2583 (gst_element_set_state_func), (gst_element_change_state),
2584 (gst_element_change_state_func):
2585 Fix type mismatches.
2586 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
2587 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
2588 Cast as appropriate.
2589 * gst/gstobject.c: (gst_class_signal_connect):
2590 Cast as appropriate. The function pointer parameter really
2591 has the wrong type but would break API if we change it.
2593 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
2594 order of including string.h.
2595 * gst/gstutils.c: (gst_element_state_get_name):
2596 Remove unreachable line.
2597 * gst/gstxml.c: (gst_xml_parse_doc):
2599 All these caught by Forte.
2601 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2603 Patch by: Josep Torre Valles <josep@fluendo.com>
2605 * common/m4/gst-error.m4:
2607 We need to disable warnings on Forte for empty declarations
2608 due to gst-indent adding ;s to lines that just use macros
2609 where the macro actually doesn't need a ; at end to end
2612 2006-10-06 Wim Taymans <wim@fluendo.com>
2614 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2615 (gst_file_sink_close_file), (gst_file_sink_event),
2616 (gst_file_sink_render):
2617 Add some FIXME for the NEWSEGMENT handling.
2619 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2621 * gst/parse/grammar.y:
2622 Remove static function gst_parse_element_lock as all it does
2623 is return. Looks like cruft from 0.8.
2625 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2627 Patch by: Josep Torre Valles <josep@fluendo.com>
2629 * common/m4/gst-error.m4:
2631 * libs/gst/net/Makefile.am:
2632 Fix a compilation issue with Forte on Solaris. inet_aton is in
2635 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
2637 * gst/gstpad.c: (pre_activate):
2638 * gst/gstregistry.c: (gst_registry_scan_path_level):
2639 * gst/gstregistryxml.c: (load_plugin):
2640 * libs/gst/controller/gstcontroller.c:
2641 (gst_controlled_property_set_interpolation_mode):
2642 * libs/gst/dataprotocol/dataprotocol.c:
2643 (gst_dp_packet_from_event_1_0):
2644 * libs/gst/net/gstnetclientclock.c:
2645 (gst_net_client_clock_observe_times):
2646 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2649 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
2652 * docs/gst/gstreamer-sections.txt:
2653 * gst/gstconfig.h.in:
2656 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
2657 whether we can use G_GNUC_PRINTF in other header files and at
2658 least check the printf format/arguments of debug messages and
2659 GST_ELEMENT_ERROR messages when the printf extension is not
2661 Replace more tabs with spaces in gstinfo.h and remove two spurious
2662 function declarations in GST_DISABLE_DEBUG part with macros.
2664 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
2666 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
2667 More docs for the sync-message signal (mention that it is not
2668 emitted by default); log message structures of messages posted on
2671 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
2673 * gst/gst.c: (ensure_current_registry_forking):
2674 Use a pipe pair to receive status results from the forked child, and
2675 ignore the result from waitpid. Fixes #355499
2677 2006-10-02 Wim Taymans <wim@fluendo.com>
2679 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
2680 (gst_ghost_pad_suite):
2683 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
2686 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
2688 2006-10-02 Edward Hervey <edward@fluendo.com>
2690 * docs/design/part-block.txt:
2691 Further explain the use of flushing on blocked pads.
2692 * docs/gst/gstreamer-sections.txt:
2693 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2694 (gst_pad_push_event):
2696 Added new GstPadFlag : GST_PAD_BLOCKING.
2697 Adds the notion of pads really blocking, which enables to properly
2698 handle FLUSH_START/FLUSH_STOP events on blocked pads.
2700 API: gst_pad_is_blocking()
2701 API: GST_PAD_IS_BLOCKING() macro
2702 API: GST_PAD_BLOCKING GstPadFlag
2704 2006-10-02 Wim Taymans <wim@fluendo.com>
2706 Patch by: mrcgran <mrc.gran at gmail dot com>
2708 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
2709 Filter the proxied caps against the padtemplate if we have one.
2711 * gst/gstquery.c: (gst_query_new_segment):
2712 Add include for gstinfo.h so that compilation with
2713 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
2715 2006-10-02 Wim Taymans <wim@fluendo.com>
2717 Patch by: Alessandro Decina <alessandro at nnva org>
2719 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
2720 (gst_file_sink_set_location), (gst_file_sink_open_file),
2721 (gst_file_sink_close_file), (gst_file_sink_event),
2722 (gst_file_sink_render):
2723 Set file to NULL when closing filesink so that we can set a new filename
2724 in READY. Fixes #358613.
2726 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
2728 Patch by: Alessandro Decina <alessandro at nnva org>
2730 * gst/gstevent.c: (_gst_event_copy):
2731 Fix gst_mini_object_make_writable() and gst_event_copy() for events
2732 with event structures by setting the parent refcount address of the
2733 copied structure to the address of the refcount member of the newly
2734 copied event rather than the address of the refcount member of the
2735 original event. Fixes #358737.
2737 * tests/check/gst/gstevent.c: (GST_START_TEST):
2738 Unit test for the above.
2740 2006-09-29 Stefan Kost <ensonic@users.sf.net>
2742 * docs/design/Makefile.am:
2743 Dist some more files.
2745 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
2747 * tests/check/libs/controller.c: (GST_START_TEST),
2748 (gst_controller_suite):
2749 Add test for the previous fix; add some more tests
2750 for correct refcounting behaviour; fix a few leaks
2751 in test cases; call gst_controller_init() at start
2754 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
2756 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2757 (gst_controller_set_from_list):
2758 Don't g_return_val_if_fail() on timed values with invalid timestamps
2759 inside a critical section without unlocking the mutex. Spotted by
2760 René Stadler. (#357617)
2761 Also, fix up refcounting properly: when returning an existing
2762 controller, we should increase the reference only once and not
2763 once per property and when trying to control a property again
2764 we should also increase the refcount.
2766 2006-09-29 Wim Taymans <wim@fluendo.com>
2768 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2769 * libs/gst/net/gstnettimeprovider.c:
2770 (gst_net_time_provider_thread):
2771 Stop reading commands when EOF as well.
2773 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2774 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2775 * plugins/elements/gstidentity.c: (gst_identity_class_init):
2776 Unify description of the dump property.
2778 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
2780 * tests/examples/manual/.cvsignore:
2781 OK, so it's actually cvsignore that needs changing. Stop laughing.
2783 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
2785 * tests/examples/manual/Makefile.am:
2786 Gah, declare vars *before* using them
2788 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
2790 * gst/gst.c: (init_pre), (scan_and_update_registry),
2791 (ensure_current_registry_nonforking),
2792 (ensure_current_registry_forking), (ensure_current_registry),
2793 (init_post), (gst_debug_help), (gst_deinit):
2794 * gst/gst_private.h:
2795 * gst/gstregistry.c: (gst_registry_finalize),
2796 (gst_registry_remove_features_for_plugin_unlocked),
2797 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2798 (gst_registry_scan_path),
2799 (_priv_gst_registry_remove_cache_plugins),
2800 (_priv_gst_registry_cleanup):
2801 * gst/gstregistry.h:
2802 Re-commit the registry changes, along with an extra fix:
2803 When a cached plugin is encountered at a different file path,
2804 update the stored path in the registry cache so that the parent
2805 process knows where it actually is now when it re-reads the registry
2806 cache. Fixes the thing that broke distcheck with the previous commit.
2808 * tests/check/Makefile.am:
2809 Clean up files named 'core' too when running make clean.
2811 * tests/examples/manual/Makefile.am:
2812 Set up a registry path for running these tests, and clean it properly
2815 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
2818 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
2819 want gmodule-no-export-2.0.pc instead so that we don't drag in
2820 --export-dynamic on every project that links to GStreamer.
2822 Also, make our export regex only match the start of symbols, rather
2823 than any symbol that contains '_gst' somewhere.
2825 * libs/gst/check/Makefile.am:
2826 The libgstcheck we build does however need export-dynamic, as it
2827 produces some symbols that don't match our _gst... style regex.
2830 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
2832 * gst/gst.c: (init_pre), (scan_and_update_registry),
2833 (ensure_current_registry_nonforking),
2834 (ensure_current_registry_forking), (ensure_current_registry),
2835 (init_post), (gst_debug_help), (gst_deinit):
2836 * gst/gst_private.h:
2837 * gst/gstregistry.c: (gst_registry_finalize),
2838 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2839 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
2840 (_gst_registry_cleanup):
2841 * gst/gstregistry.h:
2842 Revert previous change until I figure out why it breaks distcheck.
2844 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
2846 * gst/gst.c: (init_pre), (scan_and_update_registry),
2847 (ensure_current_registry_nonforking),
2848 (ensure_current_registry_forking), (ensure_current_registry),
2849 (init_post), (gst_debug_help), (gst_deinit):
2851 Make init_pre and init_post take the full complement of GOptionFunc
2852 args so they can return useful GErrors. Make the registry updating
2855 Call _priv_gst_registry_remove_cache_plugins after scanning files to
2856 ensure that the registry we're about to write out doesn't contain
2857 stale information about old-deleted plugin files.
2859 Make _priv_gst_registry_remove_cache_plugins return a boolean so
2860 that deletion of plugin files is considered a registry change.
2862 * gst/gst_private.h:
2863 * gst/gstregistry.c: (gst_registry_finalize),
2864 (gst_registry_remove_features_for_plugin_unlocked),
2865 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2866 (gst_registry_scan_path),
2867 (_priv_gst_registry_remove_cache_plugins),
2868 (_priv_gst_registry_cleanup):
2869 * gst/gstregistry.h:
2870 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
2871 by adding _priv prefix, so that they won't appear in the global
2872 symbol table. They still do atm though because of #318031. Move the
2873 prototypes to gst_private.h
2875 When removing a plugin, remove all features for that plugin too.
2878 2006-09-27 Wim Taymans <wim@fluendo.com>
2880 * docs/random/moving-plugins:
2881 Make it clear that the "compiled-in descriptions" really mean
2882 the element details.
2884 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2885 (gst_base_sink_wait_preroll):
2888 * docs/libs/gstreamer-libs-sections.txt:
2889 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2890 (gst_base_src_get_range), (gst_base_src_activate_push):
2891 * libs/gst/base/gstbasesrc.h:
2892 Added function to block while waiting for PLAYING, this function
2893 is used by live sources that block on the clock.
2894 API: gst_base_src_wait_playing()
2896 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
2898 Patch by: Peter Kjellerstedt <pkj at axis com>
2901 gst-element-check.m4 is generated and should therefore be
2902 copied from the build dir rather than the source dir (#357593).
2903 'make distcheck' hasn't noticed this because we were disting
2904 the file as well, so stop doing that.
2906 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
2908 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
2909 Add some tests for gst_caps_intersect().
2911 * tools/gst-launch.c: (event_loop):
2912 Print all buffering percentages we get, even the 100% one.
2914 2006-09-26 Wim Taymans <wim@fluendo.com>
2916 * tools/gst-inspect.c: (print_element_properties_info),
2917 (print_signal_info):
2918 Fix printing of flags to match the look of enums.
2920 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
2922 * gst/gstelementfactory.c:
2923 Fix typo in docs blurb.
2925 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
2927 * gst/gsturi.c: (search_by_entry):
2928 Don't assert/crash here if a uri handler doesn't return any
2929 supported protocols. The list of protocols could be generated
2930 dynamically at runtime or at plugin registration, and an error
2931 in the underlying library shouldn't be fatal (#353301).
2933 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
2936 Fix warning if HAVE_PRINTF_EXTENSION is undefined
2937 (spotted by Peter Kjellerstedt).
2939 2006-09-23 Wim Taymans <wim@fluendo.com>
2941 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
2943 * libs/gst/base/gstbasesrc.c:
2944 (gst_base_src_default_check_get_range), (gst_base_src_start),
2945 (gst_base_src_activate_push), (gst_base_src_activate_pull),
2946 (gst_base_src_change_state):
2947 Match _start/_stop calls in the activate functions. Remove redundant
2948 _stop call from the state change function. Fixes #356910.
2949 Turn failure DEBUG into ERROR.
2951 2006-09-22 Wim Taymans <wim@fluendo.com>
2953 * docs/design/part-buffering.txt:
2954 * gst/gstmessage.c: (gst_message_new_buffering),
2955 (gst_message_parse_buffering):
2956 Update docs about buffering.
2958 * docs/design/part-trickmodes.txt:
2961 2006-09-22 Stefan Kost <ensonic@users.sf.net>
2963 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2964 (gst_controller_new_list):
2965 Ref instances when returning them again (fixes #357180)
2967 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
2969 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
2970 Don't forget to release proxy lock when there's an error.
2972 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
2975 Add extra initialisers for Caps things, to fix some plugin warnings
2978 2006-09-18 Wim Taymans <wim@fluendo.com>
2980 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
2981 Also set template on the internal pad so that a getcaps from the
2982 target pad returns the template caps.
2984 2006-09-18 Wim Taymans <wim@fluendo.com>
2986 * gst/gstelement.c: (gst_element_post_message),
2987 (gst_element_dispose):
2988 Use _DEBUG_OBJECT some more.
2990 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2993 * tools/gst-launch.c: (main):
2994 If the toplevel element is not a GstPipeline, it must be put in a
2995 pipeline so that a bus and clock is selected.
2997 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
2999 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3000 JITTER, RATE, and LATENCY query should be handled by the
3001 default case and not by the CONVERT query code.
3003 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
3005 * gst/gstformat.c: (gst_format_register):
3006 Fix locking order (must take lock before using n_values).
3008 * gst/gstvalue.c: (gst_value_serialize_enum),
3009 (gst_value_deserialize_enum_iter_cmp),
3010 (gst_value_deserialize_enum):
3011 Fix serialisation/deserialisation of custom registered GstFormats.
3013 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3014 Unit test for custom format serialisation/deserialisation.
3016 2006-09-17 Stefan Kost <ensonic@users.sf.net>
3018 * docs/pwg/building-boiler.xml:
3019 * plugins/elements/gstcapsfilter.c:
3020 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3023 2006-09-16 Edward Hervey <edward@fluendo.com>
3025 * libs/gst/base/gstbasetransform.c:
3026 (gst_base_transform_buffer_alloc):
3027 Check if requested caps are the same as the sinks caps IF
3028 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3030 This fixes the renegotiation issues stated in #352827.
3032 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
3035 * docs/manual/advanced-autoplugging.xml:
3036 * tests/examples/Makefile.am:
3037 * tests/examples/manual/.cvsignore:
3038 * tests/examples/manual/Makefile.am:
3039 * tests/examples/manual/extract.pl:
3040 Extract the manual examples again like we used to do.
3043 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
3045 * win32/common/config.h:
3048 2006-09-16 Stefan Kost <ensonic@users.sf.net>
3051 Documents how to receive errors.
3053 2006-09-15 Wim Taymans <wim@fluendo.com>
3055 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3056 (event_loop), (main):
3057 Added some comments here and there.
3058 Post an application message when an interrupt is caught instead of doing
3059 an uncontrolled state change.
3060 Clean up the event loop.
3061 Handle buffering messages, pause/resume the pipeline.
3062 Make shutdown because of an interrupt more reliable.
3064 2006-09-15 Wim Taymans <wim@fluendo.com>
3066 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3067 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3068 (gst_base_sink_preroll_object):
3069 Make sure that our internal state is correct when we commit our state
3070 asynchronously. This solves a race where a state change to PLAYING
3071 could cause the sink to remain blocked in preroll in some situations.
3073 2006-09-15 Wim Taymans <wim@fluendo.com>
3075 * tools/gst-inspect.c: (print_element_properties_info),
3076 (print_signal_info):
3077 List flags as hex so it's easier to deal with.
3079 2006-09-15 Wim Taymans <wim@fluendo.com>
3081 * docs/libs/gstreamer-libs-sections.txt:
3082 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3083 (gst_base_sink_do_sync):
3084 * libs/gst/base/gstbasesink.h:
3085 Expose logic to wait for preroll so that subclasses such as audiosink
3086 can also use this method.
3087 API: gst_base_sink_wait_preroll()
3089 2006-09-15 Wim Taymans <wim@fluendo.com>
3091 * gst/gstobject.c: (gst_object_set_parent):
3092 * gst/gstpipeline.c: (do_pipeline_seek):
3093 Small cleanups in docs and code.
3095 * gst/gstsegment.c: (gst_segment_clip):
3096 * tests/check/gst/gstsegment.c: (GST_START_TEST):
3097 if stop == start and start is in the segment, no clipping should be
3098 done. Also add a test for this.
3100 2006-09-15 Wim Taymans <wim@fluendo.com>
3102 * docs/design/part-buffering.txt:
3103 * docs/gst/gstreamer-sections.txt:
3104 * gst/gstmessage.c: (gst_message_new_buffering),
3105 (gst_message_parse_buffering):
3107 Added methods to create and parse BUFFERING messages.
3108 Added preliminary docs about buffering.
3109 API: gst_message_new_buffering
3110 API: gst_message_parse_buffering
3112 2006-09-06 Wim Taymans <wim@fluendo.com>
3115 Update documentation.
3117 * gst/gstelement.c: (gst_element_class_init),
3118 (gst_element_release_request_pad), (gst_element_set_clock),
3119 (gst_element_get_index), (gst_element_add_pad),
3120 (gst_element_remove_pad), (gst_element_get_random_pad),
3121 (gst_element_send_event), (gst_element_get_query_types),
3122 (gst_element_query), (gst_element_post_message),
3123 (gst_element_message_full), (gst_element_continue_state),
3124 (gst_element_lost_state), (gst_element_save_thyself),
3125 (gst_element_restore_thyself):
3126 Documentation updates.
3127 Rename last bit of the new-pad -> pad-added signal rename.
3128 Fix the case where an element query would only work if the source
3130 Avoid some useless type checking in message handling.
3135 Documentation updates.
3137 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
3139 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3140 add an INFO line for when we actually update the fd
3142 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
3147 === release 0.10.10 ===
3149 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
3152 releasing 0.10.10, "Pais"
3154 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
3156 * docs/manual/advanced-position.xml:
3157 Fix typo in sample code.
3159 2006-09-05 Wim Taymans <wim@fluendo.com>
3161 * libs/gst/net/gstnetclientclock.c: (inet_aton),
3162 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3163 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3164 * libs/gst/net/gstnetclientclock.h:
3165 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3166 * libs/gst/net/gstnettimepacket.h:
3167 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3168 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3169 (gst_net_time_provider_thread), (gst_net_time_provider_new):
3170 * libs/gst/net/gstnettimeprovider.h:
3171 Make stuff compile on windows. Fixes #345295.
3173 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
3175 * gst/gst.c: (ensure_current_registry_forking):
3176 Print better details when child was terminated by signal.
3178 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
3180 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3181 Print a warning rather than g_assert() if a plugin feature
3182 is a URI handler but returns no protocols (#353976).
3184 2006-09-02 Stefan Kost <ensonic@users.sf.net>
3186 * docs/random/moving-plugins:
3189 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
3191 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3192 Fix locking order, handle NULL function values properly.
3197 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3198 Initialise variable before using it and fix debug statement to
3199 print the address of the function rather than the address of the
3200 variable on the stack holding the address of the function.
3202 2006-09-01 Wim Taymans <wim@fluendo.com>
3204 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3205 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3206 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3207 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3208 (gst_ghost_pad_parent_unset),
3209 (gst_ghost_pad_internal_do_activate_push),
3210 (gst_ghost_pad_internal_do_activate_pull),
3211 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3212 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3213 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3214 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3215 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3216 (gst_ghost_pad_new_no_target_from_template),
3217 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3219 Avoid needless typechecking in macros.
3220 Since the internal pad is always present and never changes, there is
3221 no need to locking or ref when retrieving it.
3222 Improve debugging a bit.
3223 Handle link errors when setting the target. Fixes #341029.
3225 2006-09-01 Wim Taymans <wim@fluendo.com>
3227 * docs/libs/gstreamer-libs-sections.txt:
3228 * docs/plugins/gstreamer-plugins-sections.txt:
3231 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3232 (gst_collect_pads_event):
3233 * libs/gst/base/gstcollectpads.h:
3234 Documentation updates.
3235 Free queued buffer when removing a pad.
3237 2006-08-31 Michael Smith <msmith@fluendo.com>
3239 * gst/gstutils.c: (gst_element_link_pads),
3240 (gst_element_link_pads_filtered):
3241 Ensure that we set a capsfilter to NULL if we failed to link it
3242 when doing filtered linking, to avoid criticals.
3244 No need to check for unreffing srcpad, which is explicly NULLed
3245 above (a trivial code cleanup).
3247 2006-08-31 Wim Taymans <wim@fluendo.com>
3249 * docs/design/part-gstghostpad.txt:
3250 Update ascii art in documentation.
3252 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3253 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3254 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3255 (gst_ghost_pad_internal_do_activate_push),
3256 (gst_ghost_pad_internal_do_activate_pull),
3257 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3258 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3259 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3260 (gst_ghost_pad_set_target):
3261 Small cleanups and leak fixes.
3262 Remove some checks now that the internal pad is never NULL.
3263 Fix the case where linking pads without a target would create nasty
3264 criticals. Fixes #341029.
3265 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3266 value of _set_target().
3268 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3269 (gst_ghost_pad_suite):
3270 Some more tests for creating and linking untargeted ghostpads.
3272 2006-08-31 Edward Hervey <edward@fluendo.com>
3274 * docs/gst/gstreamer-sections.txt:
3275 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3276 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3277 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3278 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3279 (gst_ghost_pad_new_from_template),
3280 (gst_ghost_pad_new_no_target_from_template):
3281 * gst/gstghostpad.h:
3282 Refactored *_new() functions.
3283 Templates are now used as a g_object_new() parameter.
3284 Use template in _do_getcaps() if we don't have a target.
3285 Small documentation cleanups.
3286 Added two new constructors:
3287 gst_ghost_pad_new_from_template()
3288 gst_ghost_pad_new_no_target_from_template()
3289 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3290 (gst_ghost_pad_suite):
3291 Added tests for new ghostpad instanciation functions.
3293 API additions: gst_ghost_pad_new_from_template,
3294 gst_ghost_pad_new_no_target_from_template
3296 2006-08-30 Stefan Kost <ensonic@users.sf.net>
3298 * docs/random/ensonic/profiling.txt:
3299 Ideas about qos profiling.
3301 2006-08-29 Wim Taymans <wim@fluendo.com>
3303 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3307 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
3310 Improve and detypofy docs.
3312 * tests/check/Makefile.am:
3313 * tests/check/gst/.cvsignore:
3314 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3315 Add a basic test suite for GstXML.
3317 2006-08-29 Wim Taymans <wim@fluendo.com>
3319 * gst/gstelement.c: (activate_pads), (clear_caps),
3320 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3321 Clear the pad caps when the element shut down all of the pads and
3322 is not streaming data that could modify the caps.
3325 2006-08-28 Michael Smith <msmith@fluendo.com>
3327 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3328 Revert previous change; I misunderstood single-segment mode.
3330 2006-08-28 Michael Smith <msmith@fluendo.com>
3332 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3333 Unset DISCONT on buffers when using single-segment mode.
3335 2006-08-28 Wim Taymans <wim@fluendo.com>
3337 * gst/gstcaps.c: (gst_caps_merge_structure):
3339 Fix docs and indentation again.
3341 * tests/check/gst/gstquery.c: (GST_START_TEST):
3342 Fix leak in tests and add some more tests.
3344 2006-08-28 Edward Hervey <edward@fluendo.com>
3346 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3347 Inform GstSegment of the last stop position in order for the current
3348 segment to have a proper duration if it doesn't have a specific stop
3349 position from which a duration could be calculated.
3350 This bug was noticeable when a non-flushing, non-update new segment was
3351 followed by another segment (all buffers from the new segment were being
3354 2006-08-28 Wim Taymans <wim@fluendo.com>
3356 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3357 Small comment update.
3359 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3360 (gst_identity_transform_ip):
3361 Drop-probability is broken, mention this in the code with a
3362 FIXME and also in the property description.
3363 Make silent also be silent about the drop messages.
3365 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
3367 * docs/manual/appendix-win32.xml:
3368 Remove mention of popt, we don't depend on that any
3369 longer (#353136). Add some comments pointing out that
3370 this section is slightly outdated.
3372 2006-08-28 Wim Taymans <wim@fluendo.com>
3374 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3376 * gst/gstquery.c: (gst_query_new_segment):
3377 * tests/check/gst/gstquery.c: (GST_START_TEST):
3378 Initialize variables when creating a new segment query.
3381 2006-08-28 Wim Taymans <wim@fluendo.com>
3383 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3385 * gst/gstelement.c: (gst_element_get_bus):
3386 * tests/check/gst/gstelement.c: (GST_START_TEST):
3387 Check for NULL before _reffing the bus. Fixes #353122.
3389 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
3391 * docs/manual/basics-bus.xml:
3392 Docs update: fix wrong callback return value explanation; add
3393 some lines about the implicit relationship between main loop
3394 and main context; remove duplicate main loop variable declaration.
3396 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
3398 * tests/check/gst/gstcaps.c: (GST_START_TEST):
3399 Don't leak caps in unit test; add a few more simple
3402 2006-08-24 Stefan Kost <ensonic@users.sf.net>
3404 * docs/gst/gstreamer-sections.txt:
3405 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3406 (gst_caps_structure_is_subset), (gst_caps_merge),
3407 (gst_caps_merge_structure):
3409 * libs/gst/base/gstbasetransform.c:
3410 (gst_base_transform_transform_caps):
3411 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3412 implement caps merging (fixes #352580)
3414 2006-08-23 Stefan Kost <ensonic@users.sf.net>
3416 * tools/Makefile.am:
3417 * tools/gst-plot-timeline.py:
3418 add debug-log plotting developer tool (#340674)
3420 2006-08-23 Wim Taymans <wim@fluendo.com>
3422 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
3423 (gst_pad_stop_task):
3424 Improve debugging for task functions.
3426 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
3427 (gst_task_start), (gst_task_pause), (gst_task_join):
3428 Make sure that the task function started and finished after a
3430 Don't try to push the task function on the threadpool multiple
3432 Improve the g_warning message with some useful suggestions
3433 about how to fix the problem.
3435 2006-08-23 Wim Taymans <wim@fluendo.com>
3437 * gst/gstutils.c: (gst_pad_proxy_getcaps):
3438 Handle RESYNC correctly in _proxy_getcaps.
3440 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
3442 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
3443 (gst_xml_parse_memory), (gst_xml_get_element):
3444 Chain up to parent class in dispose function and also
3445 unref the elements in the toplevel_elements GList.
3446 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
3447 Always return a reference in gst_xml_get_element() rather
3448 than only sometimes.
3450 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3451 Don't leak GstXml object.
3453 2006-08-21 Stefan Kost <ensonic@users.sf.net>
3455 * docs/gst/gstreamer-sections.txt:
3456 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
3459 * libs/gst/base/gstbasetransform.c:
3460 (gst_base_transform_transform_caps):
3461 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
3464 2006-08-21 Edward Hervey <edward@fluendo.com>
3466 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
3467 Implement GObject::dispose virtual method in GstXML so we can free the
3470 2006-08-21 Wim Taymans <wim@fluendo.com>
3472 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
3473 (gst_buffer_create_sub):
3474 Copy duration/offset_end/caps when creating a subbuffer of the
3476 Make the subbuffer read-only when we make the metadata writable for
3479 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3480 Added check for metadata copy when creating subbuffers.
3482 2006-08-21 Edward Hervey <edward@fluendo.com>
3484 * libs/gst/base/gstbasetransform.c:
3485 (gst_base_transform_buffer_alloc):
3486 Only call downstream buffer_alloc if transform element is passthrough
3487 or always_in_place. Closes #350449.
3489 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3492 ChangeLog surgery to add comments to previous changes
3494 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3499 * gst/gstpad.c: (gst_pad_set_active):
3500 Be more verbose in the log
3502 * libs/gst/base/gstbasetransform.c:
3503 (gst_base_transform_transform_caps):
3504 Simplify caps to get rid of duplicates, fixes #345444
3506 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3510 Use these optimizations only internally.
3512 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3514 * gst/gstvalue.c: (gst_value_compare_list),
3515 (gst_value_compare_fraction_range),
3516 (gst_value_intersect_fraction_fraction_range),
3517 (gst_value_intersect_fraction_range_fraction_range),
3518 (gst_value_subtract_fraction_fraction_range),
3519 (gst_value_subtract_fraction_range_fraction_range),
3520 (gst_value_get_compare_func), (gst_value_compare),
3521 (gst_value_compare_with_func):
3523 Saves the expensive lookup of the compare function in many cases
3526 2006-08-18 Edward Hervey <edward@fluendo.com>
3528 * tests/check/gst/gstinfo.c: (gst_info_suite):
3529 Disable test that require gstdebug if it wasn't built in core.
3531 2006-08-18 Stefan Kost <ensonic@users.sf.net>
3533 * docs/random/ensonic/logging.txt:
3536 * gst/gstinfo.c: (gst_debug_log_default):
3537 reorder fields, save some columns, add optional color codes for log
3540 2006-08-18 Stefan Kost <ensonic@users.sf.net>
3542 * docs/random/ensonic/logging.txt:
3543 add ideas about making the logs a bit more useful
3545 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
3547 * docs/pwg/advanced-events.xml:
3548 * docs/pwg/titlepage.xml:
3549 Update for 0.10 API (#340627). Add myself
3552 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
3554 * docs/libs/gstreamer-libs-docs.sgml:
3555 * docs/libs/gstreamer-libs-sections.txt:
3556 * libs/gst/check/gstbufferstraw.c:
3557 Make gstcheck stuff show up in docs (still needs to
3558 be documented properly though).
3560 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
3562 * docs/gst/gstreamer-sections.txt:
3564 * gst/gst.c: (init_post):
3565 * gst/gst_private.h:
3566 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3568 * gst/gstquery.c: (gst_query_new_position),
3569 (gst_query_set_position), (gst_query_parse_position),
3570 (gst_query_new_duration), (gst_query_set_duration),
3571 (gst_query_parse_duration), (gst_query_new_convert),
3572 (gst_query_set_convert), (gst_query_parse_convert),
3573 (gst_query_new_segment), (gst_query_set_segment),
3574 (gst_query_parse_segment), (gst_query_new_seeking),
3575 (gst_query_set_seeking), (gst_query_parse_seeking):
3576 Add internal helpers for pre-registering quarks from static strings
3577 and using the quark values directly instead of looking them up when
3578 creating and parsing queries. Can be used for event construction too.
3581 2006-08-16 Wim Taymans <wim@fluendo.com>
3586 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3588 * gst/gstutils.c: (gst_util_set_value_from_string):
3589 Fix memleak (#351502).
3591 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3592 Add unit test for most of gst_util_set_value_from_string()
3593 (not that one would want to encourage use of this function).
3595 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3597 * libs/gst/check/gstcheck.h:
3598 Use const gchar * variables in fail_unless_equals_string
3599 macro to avoid compiler warnings (and don't use tabs for
3602 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3604 * tools/gst-launch.c: (print_tag):
3605 More space on the left for the tag names, to cater
3606 for the 'extended comment' tag (not touching the
3607 string for the first line since it's translated).
3609 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3611 * libs/gst/check/gstcheck.h:
3612 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
3613 print something when they fail.
3615 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
3617 * docs/gst/gstreamer-sections.txt:
3618 * gst/gsttaglist.c: (_gst_tag_initialize):
3620 API: add GST_TAG_EXTENDED_COMMENT (#350935).
3621 Also change merge function for GST_TAG_COMMENT to
3624 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
3626 * gst/gstinfo.c: (gst_debug_print_object):
3627 Make GST_PTR_FORMAT print messages as well.
3629 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
3630 (GST_START_TEST), (gst_info_suite):
3633 2006-08-14 Edward Hervey <edward@fluendo.com>
3635 * gst/gstelementfactory.c: (gst_element_register):
3636 If the GstElementClass doesn't have a GstElementDetails with all fields
3637 filled up correctly (longname, description AND author), then error out
3638 nicely instead of crashing.
3640 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
3642 * gst/gststructure.c:
3643 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
3646 Expand on the difference between arrays and lists as we use them.
3648 2006-08-14 Wim Taymans <wim@fluendo.com>
3650 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3651 If the parent state change function failed, don't assume we can safely
3652 stop the source, this will be done when the pads are deactivated.
3654 2006-08-14 Wim Taymans <wim@fluendo.com>
3657 * gst/gsttask.c: (gst_task_join):
3660 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3661 (gst_pad_stop_task):
3662 When pad (de)activation failed for some reason, restore the old
3663 activation mode and set the pad to flushing instead of assuming the
3665 If the _task_join() failed, reinstall the task on the pad so that it can
3666 be stopped later and return an error.
3668 2006-08-11 Andy Wingo <wingo@pobox.com>
3671 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3672 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
3673 is only for users of API that don't want to see deprecated
3674 functions in the headers; people that want to compile out
3675 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
3676 CFLAGS. Fixes the build of multifdsink, or will soon..
3678 2006-08-11 Wim Taymans <wim@fluendo.com>
3680 * docs/gst/gstreamer-sections.txt:
3681 Add GstClockClass vmethod docs.
3684 Mark #endif with comment for associated #if
3686 * gst/gstclock.c: (gst_clock_id_wait):
3688 Add vmethod wait_jitter to avoid an unneeded _get_time() for
3689 most clock implementations.
3691 Flesh out docs about resolution methods.
3692 API: GstClockClass::wait_jitter
3694 * gst/gstsystemclock.c: (gst_system_clock_class_init),
3695 (gst_system_clock_async_thread),
3696 (gst_system_clock_id_wait_jitter_unlocked),
3697 (gst_system_clock_id_wait_jitter):
3698 Use base class wait_jitter variant for improved performance
3699 due to less clock polling.
3701 2006-08-11 Edward Hervey <edward@fluendo.com>
3703 * gst/gst.c: (gst_init_check), (init_post):
3704 Set gst as being initialized before scanning/updating the registry,
3705 since there might be my python plugin loader that calls gst_init() and
3706 we don't want to loop back in.
3709 2006-08-11 Wim Taymans <wim@fluendo.com>
3711 * docs/design/part-qos.txt:
3712 Bring docs in line with the code. Mostly the sign of the jitter was
3713 wrong in the docs. Fixes #349943.
3716 Fix the docs for the jitter.
3718 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
3719 (gst_event_parse_tag), (gst_event_new_buffer_size),
3720 (gst_event_parse_buffer_size), (gst_event_parse_qos),
3721 (gst_event_new_seek), (gst_event_parse_seek),
3722 (gst_event_new_navigation):
3723 Make sure the GstStructure has no parent when creating custom
3725 Add some more argument checking so that we avoid 0.0 rates.
3726 Flesh out the docs for the QoS event some more.
3728 2006-08-11 Wim Taymans <wim@fluendo.com>
3730 * docs/gst/gstreamer-sections.txt:
3731 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3732 (ensure_current_registry_forking), (ensure_current_registry),
3733 (parse_one_option), (parse_goption_arg), (gst_deinit),
3734 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
3737 Added API and command line option to disable registry forking in
3738 addition to the environment variable.
3739 Constify some static arrays.
3740 Added some more debug.
3742 API: gst_registry_fork_is_enabled()
3743 API: gst_registry_fork_set_enabled()
3744 API: --gst-disable-registry-fork command line option
3747 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
3749 * gst/gst.c: (gst_init):
3750 Fix typo in error message.
3752 2006-08-10 Stefan Kost <ensonic@users.sf.net>
3754 * libs/gst/controller/gstcontroller.h:
3755 fix ABI size-correction
3757 * tests/check/libs/gdp.c: (gst_dp_suite):
3758 make tests that use deprecated API conditional
3760 2006-08-10 Stefan Kost <ensonic@users.sf.net>
3762 * docs/libs/gstreamer-libs-sections.txt:
3763 * libs/gst/controller/gstcontroller.c:
3764 (_gst_controller_get_property), (_gst_controller_set_property),
3765 (_gst_controller_init), (_gst_controller_class_init):
3766 * libs/gst/controller/gstcontroller.h:
3767 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
3768 (gst_object_set_control_rate):
3769 API: add gst_object_{s,g}et_control_rate(), add private data section,
3772 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3773 * libs/gst/dataprotocol/dataprotocol.h:
3774 add deprecation guards to make gtk-doc happy and allow disabling cruft
3776 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
3778 * tests/check/Makefile.am:
3779 * tests/check/gst/.cvsignore:
3780 Let's enable the new unit test as well.
3782 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
3785 * docs/gst/gstreamer-sections.txt:
3786 * gst/gstconfig.h.in:
3787 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
3788 (_gst_info_printf_extension_ptr),
3789 (_gst_info_printf_extension_segment):
3790 API: add GST_SEGMENT_FORMAT, which is a printf extension we
3791 register that lets us easily dump GstSegments into debug
3794 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
3795 (info_segment_format_printf_extension), (gst_info_suite):
3796 Add simple unit test that logs a bunch of different segments (not
3797 valgrinded at the moment because of leaks in
3798 gst_debug_add_log_function).
3800 2006-08-09 Edward Hervey <edward@fluendo.com>
3802 * libs/gst/base/gstbasetransform.c:
3803 (gst_base_transform_buffer_alloc):
3804 Even if we can't figure out the proper format to request downstream,
3805 call buffer_alloc() downstream with the input parameters without setting
3806 the caps on the srcpad. This will force negotiation in the chain
3810 2006-08-08 Edward Hervey <edward@fluendo.com>
3812 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
3813 Unlinking from a pad without a target is now a perfectly valid case
3814 which should NOT raise an assertion.
3815 This case would happen if a linked ghostpad its target set to NULL after
3816 it was previously linked.
3818 2006-08-08 Edward Hervey <edward@fluendo.com>
3820 * tests/check/libs/gdp.c:
3821 Also comment out the test (see below).
3823 2006-08-08 Edward Hervey <edward@fluendo.com>
3825 * tests/check/libs/gdp.c: (gst_dp_suite):
3826 Use the architecture information from config.h and not gcc macros
3827 in order to properly disable a test that fails on PPC64.
3829 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
3831 * gst/gstelement.c: (gst_element_remove_pad):
3832 Don't crash printing the warning if the pad has no parent.
3834 2006-08-02 Wim Taymans <wim@fluendo.com>
3836 * libs/gst/dataprotocol/dataprotocol.c:
3837 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
3838 (gst_dp_crc), (gst_dp_header_payload_length),
3839 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
3840 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
3841 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
3842 (gst_dp_event_from_packet), (gst_dp_validate_header),
3843 (gst_dp_validate_payload):
3844 Make debug category static
3845 Constify the crc table.
3846 Do some more arg checking in public functions.
3847 Fix some docs and do some small cleanups.
3849 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
3850 Add some more checks to see if GDP deals with bogus input.
3852 2006-07-31 Wim Taymans <wim@fluendo.com>
3854 * gst/gstvalue.c: (gst_value_compare_list):
3855 Fix GstValueList comparison code. Fixes #347293.
3857 * tests/check/gst/gstvalue.c: (GST_START_TEST):
3858 Check to test GstValueList comparison.
3860 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
3862 * gst/gstelementfactory.c: (gst_element_factory_create):
3863 Remove unnecessary ref/unref pair
3865 * gst/parse/grammar.y:
3866 Make sure to free the parse buffer on all code paths.
3867 Move a g_free up to the error handler where it's easier to see.
3869 * tests/check/gst/gstevent.c: (test_event):
3870 Extending timeout for downstream travelling events to 10 seconds to
3871 hopefully avoid intermittent failure on the buildbots.
3873 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
3874 Don't manually set the state of the src element - it will happen as a
3875 natural consequence of the pipeline changing state, and that way it
3876 will do it in the right order too.
3878 2006-07-31 Wim Taymans <wim@fluendo.com>
3880 * libs/gst/base/gstbasetransform.c:
3881 (gst_base_transform_buffer_alloc):
3882 Use OBJECT_LOCK and refcounting to get the pad caps in the
3883 buffer_alloc function because the caps could change while we are
3884 busy with them. Fixes #349105
3886 2006-07-31 Wim Taymans <wim@fluendo.com>
3888 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
3889 Protect _PAD_CAPS with OBJECT_LOCK.
3891 2006-07-31 Wim Taymans <wim@fluendo.com>
3893 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
3894 (gst_pad_get_property), (gst_pad_activate_pull),
3895 (gst_pad_activate_push), (gst_pad_set_blocked_async),
3896 (gst_pad_set_activate_function),
3897 (gst_pad_set_activatepull_function),
3898 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
3899 (gst_pad_set_getrange_function),
3900 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
3901 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3902 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
3903 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
3904 (gst_pad_set_acceptcaps_function),
3905 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
3906 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
3907 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
3908 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
3909 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
3910 (gst_pad_configure_sink), (gst_pad_configure_src),
3911 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
3912 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
3913 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
3914 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
3915 (gst_pad_send_event):
3916 Use _DEBUG_OBJECT when it makes sense.
3917 Protect GST_PAD_CAPS with the OBJECT_LOCK.
3918 Small cleanups and code reflows.
3919 Avoid caps refcounting in _accept_caps.
3920 Refactor alloc_buffer so that the code performed on the peer is in a
3921 separate function. Also if the pad does not implement a buffer alloc
3922 function, we should still check if the pad is flushing before falling
3923 back to the default allocator.
3925 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
3927 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3928 Make all uses of identity and fakesink have silent=true to avoid
3929 serialising every passing data structure, which is breaking tests
3930 on FC4 for some unknown reason.
3932 2006-07-30 Stefan Kost <ensonic@users.sf.net>
3934 * gst/parse/Makefile.am:
3935 * gst/parse/grammar.y:
3936 * gst/parse/parse.l:
3937 Reverted previous patch as it required to bump the flex dependency to
3938 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
3940 2006-07-30 Stefan Kost <ensonic@users.sf.net>
3942 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
3944 * gst/parse/Makefile.am:
3945 * gst/parse/grammar.y:
3946 * gst/parse/parse.l:
3947 push & pop the state of the lexer for reentrant use case
3950 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
3952 * libs/gst/base/gstbasesrc.h:
3953 Note in the docs that the ::newsegment vfunc is not actually used by
3956 2006-07-28 Wim Taymans <wim@fluendo.com>
3958 * libs/gst/base/gstcollectpads.c:
3959 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
3960 (gst_collect_pads_clear), (gst_collect_pads_flush),
3961 (gst_collect_pads_event), (gst_collect_pads_chain):
3962 When flushing a pad, also clear the queued buffer so that we don't
3963 accidentally use it when we shouldn't.
3964 Fix leaks by inreffing incomming buffer.
3965 Flush out queued buffers in case of errors.
3968 2006-07-28 Wim Taymans <wim@fluendo.com>
3970 * docs/random/phonon-gst:
3971 Random notes about a Phonon backend.
3973 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
3975 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
3977 * tests/check/libs/gdp.c: (gst_dp_suite):
3978 Take a whack at fixing the ppc compile using a different define to
3979 disable the broken test.
3981 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3982 Remove excess g_print()
3984 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
3986 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
3987 Oops, meant to uncomment this line too to dampen the noise a bit.
3989 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
3991 * gst/parse/grammar.y:
3992 * gst/parse/parse.l:
3993 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
3994 (GST_START_TEST), (parse_suite):
3995 Fix some of the leaks exposed by extending the parse-launch testsuite,
3996 and move the 3 I can't figure out into a separate test that won't run
3997 the pipelines unless the appropriate line is uncommented.
3999 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
4001 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4002 Requesting 0 bytes before the end of the file should result in
4003 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4006 2006-07-27 Wim Taymans <wim@fluendo.com>
4008 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4009 Fix useless assert, a uint is always positive.
4011 * gst/gststructure.c: (gst_structure_nth_field_name),
4012 (gst_structure_foreach), (gst_structure_map_in_place):
4013 Check input arguments for public functions to avoid obvious crashes.
4015 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4016 * plugins/elements/gstfakesink.h:
4017 Do less useless typechecking.
4019 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
4021 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4022 Do not use mmap() by default since there are a number of error
4023 conditions that we would like to handle in a non-fatal way that
4024 will result in a SIGBUS if we use mmap(). Examples: external
4025 devices (USB harddrive, portable music player) being unplugged
4026 while in use; file on mounted CD/DVD that can't be read because
4027 the medium is partly damaged. Fixes #348455 and #348475.
4029 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
4032 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4035 2006-07-26 Stefan Kost <ensonic@users.sf.net>
4037 * gst/gstregistry.c:
4038 Move big documentation comment into class section header, so that it
4039 appears in the API docs.
4041 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
4043 * docs/gst/gstreamer-sections.txt:
4044 Oops. Commit the docs additions too for new API.
4045 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4047 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
4049 * gst/gststructure.c: (gst_structure_id_set),
4050 (gst_structure_id_set_valist):
4051 * gst/gststructure.h:
4052 Add API for setting values into structures without performing
4053 a quark lookup, if the appropriate quark is already known.
4055 API: gst_structure_id_set
4056 API: gst_structure_id_set_valist
4058 * gst/parse/grammar.y:
4059 * gst/parse/parse.l:
4060 Remove some dead code shown by the coverage information.
4061 Don't throw a critical g_warning when encountering a syntax error,
4062 just warn and let the normal error path handle it.
4064 * plugins/elements/gstelements.c:
4065 Bump the rank of filesink up to PRIMARY so that it is preferred over
4066 gnomevfssink for file:// sink uri's
4068 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4069 (GST_START_TEST), (run_delayed_test),
4070 (gst_parse_test_element_base_init),
4071 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4072 (gst_parse_test_element_change_state),
4073 (gst_register_parse_element), (parse_suite):
4074 Beef up the tests for parse syntax to check that more error cases
4075 fail as they are supposed to. Increases the test coverage a bit.
4077 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
4079 * docs/manual/basics-elements.xml:
4080 Fix gst_element_link() example.
4083 Mention in API docs that one should usually gst_bin_add()
4084 elements to a bin or pipeline before doing the linking.
4086 2006-07-26 Wim Taymans <wim@fluendo.com>
4088 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4089 (gst_subbuffer_get_type), (gst_buffer_create_sub):
4090 Avoid function call for known types by keeping the buffer and
4091 subbuffer GType global.
4093 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4094 Random silly optimisations in read() path.
4096 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
4098 * tools/gst-launch.c: (main):
4099 If the top-level of the parse is a normal bin, it doesn't do the
4100 right logic to run as a top-level element, so place it inside a
4103 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
4105 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4106 Remove superfluous g_object_notify() calls, GObject does
4107 that for us automatically.
4109 2006-07-25 Stefan Kost <ensonic@users.sf.net>
4112 on Win32, use dllspec to export the debug category symbols
4114 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
4116 * gst/gsttaglist.c: (_gst_tag_initialize):
4117 Allow more than one GST_TAG_IMAGE per taglist.
4119 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
4121 * gst/gstminiobject.c:
4123 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4124 (gst_fd_src_create):
4125 log recurring events at LOG level
4126 add more debug for when the fd gets set
4128 2006-07-21 Stefan Kost <ensonic@users.sf.net>
4130 * gst/gstparse.c: (gst_parse_launch):
4131 Also remove reentrance checks if flex is MT safe (#348179)
4132 Fix my empty ChangeLog entry below
4134 2006-07-21 Andy Wingo <wingo@pobox.com>
4136 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4138 * libs/gst/check/Makefile.am
4139 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4140 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
4141 * libs/gst/check/gstbufferstraw.h:
4142 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4143 functions, thus proving I am still a GStreamer haxor. OK I wrote
4144 them a long time ago, but anyways.
4146 2006-07-21 Stefan Kost <ensonic@users.sf.net>
4149 * gst/gstparse.c: (gst_parse_launch):
4150 Check for flex version and omit mutex if we have a MT save flex
4153 2006-07-21 Wim Taymans <wim@fluendo.com>
4155 * gst/gstparse.c: (gst_parse_launch):
4156 Protect recursive calls to _parse with a recursive mutex
4159 2006-07-21 Wim Taymans <wim@fluendo.com>
4161 * tests/check/gst/gstpad.c: (GST_START_TEST):
4164 2006-07-20 Stefan Kost <ensonic@users.sf.net>
4166 * gst/gstparse.c: (gst_parse_launch):
4167 Do not hang on recursive usage of gst_parse_launch()
4169 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
4172 Add some more docs, comments and FIXME 0.11s here and there
4173 and also fix some typos.
4175 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
4178 Convert tabs to spaces for better readability.
4180 2006-07-20 Edward Hervey <edward@fluendo.com>
4182 * tests/check/libs/gdp.c: (gst_dp_suite):
4183 the test_buffer test fails at line 140 on ppc64 at the following
4185 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4186 GST_BUFFER_FLAG_IN_CAPS),
4187 "GST_BUFFER_IN_CAPS flag should have been copied !");
4188 See bug #348114 for more details.
4190 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
4192 * docs/pwg/advanced-scheduling.xml:
4194 Fix typos (#348000).
4196 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
4198 * docs/pwg/intro-basics.xml:
4199 Fix wrong links (#347927).
4201 2006-07-18 Stefan Kost <ensonic@users.sf.net>
4203 * gst/gstregistry.h:
4204 * gst/gstregistryxml.c: (load_feature),
4205 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4206 * win32/common/config.h:
4207 make --disable-index work (#342564)
4209 2006-07-18 Wim Taymans <wim@fluendo.com>
4211 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4215 The attached patch adds two missing defines to gsttrace.h when tracing
4216 is disabled. It also corrects one existing define.
4219 2006-07-17 Wim Taymans <wim@fluendo.com>
4221 * docs/gst/gstreamer-sections.txt:
4222 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4224 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4225 Add two functions to check and change the SIGSEGV behaviour
4226 when loading plugins.
4227 Don't mess with the SIGSEGV handler when we were told not to.
4229 API: gst_segtrap_is_enabled
4230 API: gst_segtrap_set_enabled
4232 2006-07-14 Wim Taymans <wim@fluendo.com>
4234 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4235 * tests/check/elements/filesrc.c: (GST_START_TEST):
4236 Revert fix for regression in #347408 after release.
4238 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
4240 Patch by: Antoine Tremblay <hexa00 at gmail com>
4242 * gst/gstutils.c: (gst_element_unlink):
4243 Free iterator when done (#347311).
4245 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4246 And add a test case for this.
4248 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
4251 Bump nano back to CVS
4253 === release 0.10.9 ===
4255 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
4258 releasing 0.10.9, "On the road again"
4260 2006-07-13 Wim Taymans <wim@fluendo.com>
4262 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4263 * tests/check/elements/filesrc.c: (GST_START_TEST):
4264 Revert pull-0 fix for release. Disable check. Fixes #347408.
4266 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
4268 * libs/gst/dataprotocol/dataprotocol.c:
4269 (gst_dp_event_from_packet_1_0):
4270 Fixes #347337: failure to deserialize event packets with
4271 empty payload (only event type)
4273 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
4276 do not install a .c file in the header directory
4278 2006-07-13 Edward Hervey <edward@fluendo.com>
4280 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4281 GhostPad no longer implicitely use the padtemplates of the targets.
4284 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
4286 * gst/gstvalue.c: (gst_value_compare_list),
4287 (gst_value_compare_array), (_gst_value_initialize):
4288 * tests/check/gst/gstvalue.c: (GST_START_TEST):
4289 Make GstValueArray comparison be order dependent as designed.
4290 Add checks for value lists and value array comparisons.
4293 2006-07-11 Edward Hervey <edward@fluendo.com>
4295 * gst/gstbin.c: (activate_pads),
4296 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4297 (gst_bin_change_state_func):
4298 (de)activate src pads before calling state_change on the childs.
4299 This is to avoid the case where a src ghostpad is blocked (holding the
4300 stream lock), which would block the deactivation of the ghostpad's
4302 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4303 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4304 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4305 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4306 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4307 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4308 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4309 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4310 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4311 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4312 (gst_ghost_pad_class_init),
4313 (gst_ghost_pad_internal_do_activate_push),
4314 (gst_ghost_pad_internal_do_activate_pull),
4315 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4316 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4317 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4318 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4319 GhostPads now create their internal GstProxyPad at creation (and not
4320 when they're linked, as it was being done previously).
4321 The internal and target pads are linked straight away.
4322 The data will also travel through the other pad in order to make
4323 pad blocking and probes non-hackish (the probe/block now really happens
4324 on the GhostPad and not on the target).
4325 * gst/gstpad.c: (gst_pad_set_blocked_async),
4326 (gst_pad_link_prepare), (gst_pad_push_event):
4327 Remove previous ghostpad cruft.
4328 * gst/gstutils.c: (gst_pad_add_data_probe),
4329 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4330 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4331 (gst_pad_remove_buffer_probe):
4332 Remove previous ghost pad cruft.
4333 Added more detailed debug statements.
4334 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4335 Fix the testsuite for refcounting changes.
4336 The comments about who has references were correct, but the refcount
4337 being checked wasn't the same (!?!).
4341 2006-07-10 Stefan Kost <ensonic@users.sf.net>
4343 * docs/gst/gstreamer-sections.txt:
4344 * gst/gstconfig.h.in:
4345 More docs for configuration options, add docs to gtk-doc.
4347 2006-07-10 Stefan Kost <ensonic@users.sf.net>
4350 * gst/gstconfig.h.in:
4351 * win32/common/config.h:
4352 Fix build when disabling tracing (fixes #344016). Also start to document
4353 the defines that disable the sub-systems.
4355 2006-07-10 Edward Hervey <edward@fluendo.com>
4357 * gst/gst.c: (ensure_current_registry_forking):
4358 let's make valgrind happy...
4360 2006-07-09 Wim Taymans <wim@fluendo.com>
4362 * gst/gstelement.c: (activate_pads),
4363 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4364 Better pad activation code: Reset the collect value too on resync.
4367 2006-07-09 Wim Taymans <wim@fluendo.com>
4369 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4370 (gst_pad_activate_push):
4371 Use some more macros where it makes sense.
4372 Allow pad mode switching instead of asserting. When a pad
4373 is activated in one mode and we activate it in another,
4374 deactivate it first before activating it in a different mode.
4377 2006-07-08 Andy Wingo <wingo@pobox.com>
4379 * tools/gst-launch.c (main): Handle err == NULL.
4381 * gst/gst.c (init_post, ensure_current_registry)
4382 (ensure_current_registry_forking)
4383 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4384 factoring out the registry scanning into separate functions. Don't
4385 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4386 Better environment var name/interface suggestions accepted.
4388 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4390 * gst/gstobject.c: (gst_object_set_name_default),
4391 (gst_object_set_name):
4392 Random micro-optimisation: don't use a hash table
4393 with strings as keys and the usual strdup/strcmp
4394 involved, but rather just use the GQuark of the
4395 type name as key, since it needs to be looked up
4396 anyway to get the type name string.
4398 * tests/check/gst/gstobject.c: (GST_START_TEST):
4401 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4403 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4404 (gst_bin_iterate_all_by_interface):
4405 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4406 GTypes are gulongs and thus the top 4 bytes might be cut
4407 off on some platforms when doing GPOINTER_TO_INT, leading
4408 to invalid GTypes and bad things happening (see RH bug #179654).
4409 Also add a check to make sure the type passed in is really
4412 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4417 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4421 * gst-element-check.m4:
4422 * gst-element-check.m4.in:
4423 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
4424 instead of the unversioned gst-inspect (#324176, #168659).
4426 2006-07-06 Wim Taymans <wim@fluendo.com>
4429 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
4432 2006-07-06 Wim Taymans <wim@fluendo.com>
4434 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4435 (gst_base_src_wait), (gst_base_src_update_length),
4436 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
4437 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
4438 (gst_base_src_loop), (gst_base_src_start),
4439 (gst_base_src_activate_pull):
4441 blocksize == 0 now means the default blocksize when working in push
4443 Remove some pointless asserts in _wait function.
4444 Fix offset/length calculations and EOS handling. We can now pull 0
4445 bytes as well, which is allowed.
4446 use _check_get_range() to decide if we can operate in _pull based
4448 Fix refcounting leak when check_get_range function was not
4450 API GstBaseSrc::blocksize range can be 0 too now (default)
4452 * tests/check/elements/filesrc.c: (GST_START_TEST),
4454 Added check to test _get_range() behaviour.
4456 2006-07-06 Wim Taymans <wim@fluendo.com>
4458 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4459 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
4460 (gst_pad_pull_range):
4462 Lots of comments and docs added to the pad functions.
4463 Flesh out the expected behaviour of the get_range() functions.
4465 2006-07-06 Wim Taymans <wim@fluendo.com>
4470 * gst/gstiterator.h:
4474 Remove comma at end of enumerator list.
4476 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
4478 * win32/common/libgstbase.def:
4479 * win32/common/libgstdataprotocol.def:
4480 * win32/common/libsgtreamer.def:
4481 Add new exported functions.
4483 2006-07-05 Wim Taymans <wim@fluendo.com>
4485 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
4486 Add some more docs here and there.
4488 2006-07-05 Wim Taymans <wim@fluendo.com>
4490 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
4491 (gst_base_sink_loop), (gst_base_sink_get_position):
4492 When operating in pull mode update the offset so that we
4495 2006-07-05 Wim Taymans <wim@fluendo.com>
4497 * gst/gstregistryxml.c: (read_string):
4498 Avoid strdup. (will happen in libxml, but hey!)
4503 2006-07-05 Wim Taymans <wim@fluendo.com>
4505 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4506 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4508 No point in checking if the size of the subbuffer > 0, the
4509 code handles it correclty as demonstrated by unit test.
4510 Also add a unit test for the zero sized _new_and_alloc and
4511 _copy. Fixes #346663.
4513 2006-07-05 Wim Taymans <wim@fluendo.com>
4515 * libs/gst/base/gstbasetransform.c:
4516 (gst_base_transform_prepare_output_buffer),
4517 (gst_base_transform_buffer_alloc),
4518 (gst_base_transform_handle_buffer):
4519 Make sure the buffer we pass to transform_ip has a refcount of
4520 1 and thus is writable. Fixes #343196
4522 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
4524 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
4525 (gst_file_src_init), (gst_file_src_set_property),
4526 (gst_file_src_get_property), (gst_file_src_map_region):
4527 * plugins/elements/gstfilesrc.h:
4528 Add "sequential" property, off by default, to use madvise and hint
4529 to the kernel that sequential access is desired.
4530 Touch all retrieved pages by default to ensure they are pulled
4531 into memory. (Closes #345720)
4533 2006-07-03 Wim Taymans <wim@fluendo.com>
4535 * docs/design/part-block.txt:
4536 * docs/design/part-dynamic.txt:
4539 2006-07-03 Wim Taymans <wim@fluendo.com>
4541 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
4542 (gst_caps_unref), (gst_static_caps_get),
4543 (gst_caps_append_structure):
4544 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4545 Use GSlice when the glib we build against is >= 2.10
4547 2006-07-03 Wim Taymans <wim@fluendo.com>
4549 * gst/gstelement.c: (gst_element_pads_activate):
4550 Small cleanup in pad activation code.
4552 2006-07-03 Wim Taymans <wim@fluendo.com>
4554 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4556 * gst/gst-i18n-app.h:
4557 * gst/gst-i18n-lib.h:
4558 * tools/gst-inspect.c: (print_signal_info):
4559 The attached patch will make the inclusion of gettext.h unconditional in
4560 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
4561 libintl.h in tools/gst-inspect.c.
4562 This allows use of --disable-nls again and fixes #344642.
4564 2006-07-03 Edward Hervey <edward@fluendo.com>
4566 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
4567 Implement pad blocking on events according to part-block.txt.
4568 More comments on behaviour.
4569 * tests/check/gst/gstevent.c: (test_event):
4570 Send event to peer pad of blocked pad (else it will block).
4572 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
4574 * libs/gst/check/gstcheck.c: (gst_check_message_error),
4575 (gst_check_run_suite):
4576 if we get the wrong message, give us the types as string
4577 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4579 * tests/check/elements/filesrc.c: (GST_START_TEST):
4580 add a test for trying to open a non-existing file
4582 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
4584 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4585 add a test for adding self
4587 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
4589 * libs/gst/check/gstcheck.h:
4590 add some assert_ as alias for fail_unless_*
4591 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
4592 increase test coverage
4594 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4597 include lcov.mak for lcov coverage generation
4598 * tools/Makefile.am:
4601 2006-07-02 Edward Hervey <edward@fluendo.com>
4603 * tests/check/elements/.cvsignore:
4606 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4609 don't set CFLAGS and friends for gcov, done from GST_GCOV now
4610 * tests/check/Makefile.am:
4613 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4615 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
4616 remove gst_caps_simplify; it was not declared and not used
4617 and deprecated in 0.8
4619 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4621 * docs/faq/gst-uninstalled:
4622 don't put empty paths on PYTHONPATH
4623 * docs/gst/gstreamer-sections.txt:
4624 remove some symbols that are not there
4626 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4628 * gst/gstcaps.c: (gst_caps_compare_structures):
4630 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4631 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4634 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4636 * libs/gst/dataprotocol/Makefile.am:
4637 build dataprotocol test by linking to the lib, instead of
4638 compiling the source, so we get coverage
4639 * tests/check/Makefile.am:
4640 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
4641 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
4642 add a test for filesrc
4644 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4646 * tests/check/gst/gststructure.c: (GST_START_TEST),
4647 (gst_structure_suite):
4648 Push coverage from 59.04% to 70.00%
4650 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4652 * tests/check/Makefile.am:
4653 gst-inspect every element; this makes sure that we also get
4654 coverage on element's get/set functions
4656 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4659 set CFLAGS and friends to -O0 if gcov is being used
4662 * libs/gst/base/Makefile.am:
4663 * libs/gst/check/Makefile.am:
4664 * libs/gst/controller/Makefile.am:
4665 * libs/gst/dataprotocol/Makefile.am:
4666 * libs/gst/net/Makefile.am:
4667 * plugins/elements/Makefile.am:
4668 * plugins/indexers/Makefile.am:
4669 add makefile rules to generate gcov data and clean up
4670 * tests/check/Makefile.am:
4671 add a coverage target that generates an html overview
4674 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
4676 * tests/check/elements/fakesink.c:
4677 * tests/check/elements/fakesrc.c:
4678 * tests/check/elements/fdsrc.c:
4679 * tests/check/elements/identity.c:
4680 * tests/check/generic/sinks.c: (gst_sinks_suite):
4681 * tests/check/generic/states.c:
4682 * tests/check/gst/gst.c:
4683 * tests/check/gst/gstabi.c:
4684 * tests/check/gst/gstbin.c:
4685 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
4686 * tests/check/gst/gstbus.c: (gst_bus_suite):
4687 * tests/check/gst/gstcaps.c: (GST_START_TEST):
4688 * tests/check/gst/gstelement.c:
4689 * tests/check/gst/gstevent.c: (gst_event_suite):
4690 * tests/check/gst/gstghostpad.c:
4691 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
4692 * tests/check/gst/gstmessage.c: (gst_message_suite):
4693 * tests/check/gst/gstminiobject.c:
4694 * tests/check/gst/gstobject.c:
4695 * tests/check/gst/gstpad.c:
4696 * tests/check/gst/gstpipeline.c:
4697 * tests/check/gst/gstplugin.c:
4698 * tests/check/gst/gstquery.c: (gst_query_suite):
4699 * tests/check/gst/gstsegment.c: (gst_segment_suite):
4700 * tests/check/gst/gststructure.c:
4701 * tests/check/gst/gstsystemclock.c:
4702 * tests/check/gst/gsttag.c:
4703 * tests/check/gst/gsttask.c: (gst_task_suite):
4704 * tests/check/gst/gstutils.c:
4705 * tests/check/gst/gstvalue.c:
4706 * tests/check/libs/adapter.c:
4707 * tests/check/libs/basesrc.c:
4708 * tests/check/libs/collectpads.c:
4709 * tests/check/libs/controller.c:
4710 * tests/check/libs/gdp.c: (gst_dp_suite):
4711 * tests/check/libs/gstnetclientclock.c:
4712 * tests/check/libs/gstnettimeprovider.c:
4713 * tests/check/libs/libsabi.c: (libsabi_suite):
4714 * tests/check/libs/typefindhelper.c:
4715 * tests/check/pipelines/cleanup.c:
4716 * tests/check/pipelines/parse-launch.c:
4717 * tests/check/pipelines/simple-launch-lines.c:
4718 * tests/check/pipelines/stress.c: (stress_suite):
4721 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
4723 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
4724 * libs/gst/check/gstcheck.h:
4725 create a macro and function so that the simple unit test
4726 case can be just one macro to create main()
4728 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
4730 * gst/gstbin.c: (gst_bin_restore_thyself):
4731 * gst/gstxml.c: (gst_xml_make_element):
4732 Fix deserialisation from XML. Set parent manually
4733 instead of using gst_bin_add(), since gst_bin_add()
4734 will unlink all pads of the element being added.
4737 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
4739 Patch by: Peter Kjellerstedt <pkj at axis com>
4741 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
4742 Fix missing g_strdup() and double free when using the
4743 --gst-plugin-load command line option (#346097).
4745 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
4748 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
4750 * libs/gst/net/gstnetclientclock.c:
4751 * libs/gst/net/gstnettimeprovider.c:
4752 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
4754 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
4756 * docs/manual/advanced-dataaccess.xml:
4757 Fix buffer probe example compilation in
4760 2006-06-22 Edward Hervey <edward@fluendo.com>
4762 * gst/gstelement.c: (gst_element_pads_activate):
4763 We need to deactivate src pads first and then sink pads.
4764 The reason is the src pads might be blocking while holding the streaming
4765 lock, so we need to deactivate them first so that deactivating the sink
4766 pads doesn't block (since it will require the streaming lock).
4768 2006-06-22 Wim Taymans <wim@fluendo.com>
4770 * libs/gst/base/gstbasetransform.c:
4771 (gst_base_transform_buffer_alloc):
4772 Forgot to remove two unneeded unrefs.
4773 Simplify a check _is_equal allready checks the obvious case.
4775 2006-06-22 Wim Taymans <wim@fluendo.com>
4777 * docs/design/part-block.txt:
4778 Some docs about what pad_block should do.
4780 2006-06-22 Wim Taymans <wim@fluendo.com>
4782 * gst/gstcaps.c: (gst_caps_replace):
4783 Fix crasher when passed NULL. Doc clarification.
4784 Optimize for the trivial case.
4786 * gst/gstpipeline.c: (gst_pipeline_change_state):
4789 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4790 Small documentation cleanup.
4792 * libs/gst/base/gstbasetransform.c:
4793 (gst_base_transform_buffer_alloc):
4794 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
4795 is what we need and it avoids a whole lot of redundant
4796 refcount operations.
4798 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
4800 Patch by: Philip Jägenstedt <philip at lysator liu se>
4802 * docs/manual/advanced-dataaccess.xml:
4803 Fix 'Embedding static elements' section to use
4804 GST_PLUGIN_DEFINE_STATIC (#345607).
4806 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
4808 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
4809 Attempt to 'fix' spuriously failing test case: it seems like the
4810 timeout of half a second is simply too small when the system is under
4811 load otherwise, and the timeout doesn't really seem to serve any
4812 particular purpose here. Give the pipeline a few seconds to preroll
4813 first, and then give it another half a second to go from PAUSED to
4814 PLAYING and marshal the message into the main thread.
4816 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
4818 * tools/gst-feedback-m.m:
4819 Don't only use unversioned tools, try versioned tools as well
4822 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
4824 * gst/gstbus.c: (gst_bus_class_init):
4825 Fix some typos, make docs more explicit.
4827 2006-06-20 Wim Taymans <wim@fluendo.com>
4829 * tests/check/gst/gstghostpad.c: (block_callback),
4830 (GST_START_TEST), (gst_ghost_pad_suite):
4831 Added some more ghostpad tests, mainly blocking
4834 2006-06-16 Wim Taymans <wim@fluendo.com>
4836 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4837 (gst_file_sink_close_file), (gst_file_sink_do_seek),
4838 (gst_file_sink_event), (gst_file_sink_render):
4839 * plugins/elements/gstfilesink.h:
4840 Check if we can seek in the file instead of assuming
4841 we always can. Post an error when we are asked to seek in a
4842 non-seekable file (like a fifo). Fixes #343312.
4845 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
4847 * tools/gst-launch.1.in:
4848 Un-garble (fourcc) bit in filtered caps section.
4850 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
4852 * docs/manual/advanced-autoplugging.xml:
4853 * docs/manual/basics-helloworld.xml:
4854 * docs/manual/highlevel-components.xml:
4855 Don't leak bus reference in sample code.
4857 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
4860 Add default for new --enable-plugin-docs switch.
4863 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
4867 Use new ENABLE_PLUGIN_DOCS conditional.
4869 2006-06-14 Wim Taymans <wim@fluendo.com>
4871 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
4872 Make it clear with a FIXME and a real define what the #if 0
4873 previously disabled.
4875 2006-06-14 Wim Taymans <wim@fluendo.com>
4877 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4878 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
4879 * libs/gst/base/gstbasetransform.c:
4880 (gst_base_transform_sink_eventfunc):
4881 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
4882 Don't randomly and silently reset a segment when the format
4883 changes as this is a bug somewhere upstream. Fixes #330379.
4885 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
4887 Patch by: Wouter Paesen <wouter at kangaroot net>
4889 * libs/gst/controller/gstcontroller.c:
4890 (gst_controlled_property_new):
4891 Fix controlling of float properties (#344849).
4893 * tests/check/libs/controller.c:
4894 (gst_test_mono_source_get_property),
4895 (gst_test_mono_source_set_property),
4896 (gst_test_mono_source_class_init), (GST_START_TEST):
4897 While we're at it, add some float stuff to unit test.
4899 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
4902 * docs/images/gdp-header.svg:
4904 * docs/libs/Makefile.am:
4905 * docs/libs/gdp-header.png:
4906 * libs/gst/dataprotocol/dataprotocol.c:
4907 add it to the API docs
4908 * docs/manual/intro-motivation.xml:
4911 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
4913 * gst/gst.c: (scan_and_update_registry), (init_post):
4914 If the fork()'ed child process can't write the updated registry cache
4915 file to disk for some reason, make it exit with a failure exit code,
4916 so that the parent can then re-scan the plugins itself and update the
4917 registry structures in memory and work with that (rather than failing
4918 when creating elements because seemingly no plugins are available).
4919 Refactor registry scanning code into separate function for this and
4920 also separate fork() and non-fork() code paths. Fixes #344748.
4922 2006-06-13 Wim Taymans <wim@fluendo.com>
4924 * docs/manual/advanced-dataaccess.xml:
4925 Fix wrong PluginDesc. Fixes #344755.
4927 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
4929 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
4930 Fix silly bug that prevented us from creating
4931 ~/.gstreamer-0.10 and writing the registry in one
4932 go (the first call to g_mkstemp() would overwrite the
4933 placeholder in the template string, so the second call
4934 to g_mkstemp() after creating the missing directory
4935 would then error out with 'invalid argument').
4937 2006-06-13 Edward Hervey <edward@fluendo.com>
4939 * gst/gst.c: (init_post):
4942 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
4944 * gst/glib-compat-private.h:
4945 * gst/glib-compat.c:
4946 * gst/glib-compat.h:
4947 * gst/gstvalue.c: (gst_value_serialize_flags):
4948 remove GLib 2.6 compatibility code
4950 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
4952 * gst/parse/Makefile.am:
4953 Fix build with 'make -j N' even more (#340016).
4955 2006-06-12 Wim Taymans <wim@fluendo.com>
4957 * docs/gst/gstreamer-sections.txt:
4960 2006-06-12 Wim Taymans <wim@fluendo.com>
4962 * gst/gstsegment.c: (gst_segment_set_duration),
4963 (gst_segment_set_last_stop), (gst_segment_set_seek),
4964 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
4965 (gst_segment_to_running_time), (gst_segment_clip):
4966 Use G_UNLIKELY to help the compiler a bit.
4968 2006-06-12 Wim Taymans <wim@fluendo.com>
4970 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
4972 * gst/gstevent.c: (gst_event_get_type):
4974 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4976 constify quark registration strings. Fixes #344115
4977 Avoid unneeded type checking is _pad_push() by internally
4978 calling gst_pad_chain_unchecked().
4980 2006-06-12 Wim Taymans <wim@fluendo.com>
4982 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
4983 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
4984 (gst_subbuffer_finalize), (gst_buffer_create_sub),
4985 (gst_buffer_is_span_fast), (gst_buffer_span):
4986 Init _type for consistency.
4987 Use _FLAGS macro to avoid type check.
4988 Avoid unneeded type checks in subbufer code.
4990 2006-06-12 Wim Taymans <wim@fluendo.com>
4992 * gst/gst.c: (gst_debug_help):
4993 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
4994 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4995 (gst_plugin_feature_list_free):
4996 * gst/gstregistry.c: (gst_registry_add_plugin),
4997 (gst_registry_add_feature), (gst_registry_plugin_filter),
4998 (gst_registry_feature_filter), (gst_registry_find_plugin),
4999 (gst_registry_find_feature), (gst_registry_get_plugin_list),
5000 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5001 * gst/gstregistryxml.c: (load_feature),
5002 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5003 * gst/gstminiobject.c: (gst_mini_object_unref),
5004 (gst_mini_object_replace), (gst_value_mini_object_free),
5005 (gst_value_mini_object_copy):
5006 Use _CAST macros to avoid unneeded type checking.
5007 Added some more G_UNLIKELY.
5009 2006-06-12 Wim Taymans <wim@fluendo.com>
5012 Avoid unneeded type checking.
5013 API: GST_BUFFER_IS_DISCONT
5015 * gst/gstminiobject.h:
5016 Avoid type check in flag accessor.
5018 * gst/gstelementfactory.h:
5020 * gst/gstpluginfeature.h:
5022 API: GST_ELEMENT_FACTORY_CAST
5023 API: GST_PLUGIN_CAST
5024 API: GST_PLUGIN_FEATURE_CAST
5026 2006-06-12 Wim Taymans <wim@fluendo.com>
5028 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5030 Add G_UNLIKELY in type registration.
5031 Avoid type check in _ref/_unref since that is also
5034 2006-06-12 Wim Taymans <wim@fluendo.com>
5036 * gst/gsterror.c: (gst_g_error_get_type):
5037 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5038 (gst_static_pad_template_get_type):
5039 * gst/gsttaglist.c: (gst_tag_list_get_type):
5040 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5041 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5042 * gst/gsturi.c: (gst_uri_handler_get_type):
5043 * gst/gstvalue.c: (gst_date_get_type):
5044 * gst/gstxml.c: (gst_xml_get_type):
5045 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5046 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5047 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5048 Add G_UNLIKELY in type registration.
5050 2006-06-12 Wim Taymans <wim@fluendo.com>
5052 * tools/gst-inspect.c: (print_signal_info):
5053 Properly print enum values.
5055 2006-06-12 Wim Taymans <wim@fluendo.com>
5057 * gst/gstinfo.c: (gst_debug_set_active),
5058 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5060 Add some G_[UN]LIKELY.
5061 Maintain __gst_debug_min to avoid formatting the arguments of
5062 debug messages that will be dropped anyway to avoid a lot of
5063 overhead from the debugging system.
5065 2006-06-11 Stefan Kost <ensonic@users.sf.net>
5069 add missing files containing translatable strings, tell intltool about
5072 2006-06-11 Stefan Kost <ensonic@users.sf.net>
5074 * tests/check/libs/.cvsignore:
5075 add test-binary to ignore list
5077 2006-06-11 Stefan Kost <ensonic@users.sf.net>
5079 * docs/libs/gstreamer-libs-docs.sgml:
5080 reorder (put dp into a chapter) and indent
5082 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5087 === release 0.10.8 ===
5089 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5092 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5094 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5096 * gst/gst.c: (init_post):
5097 move pid declaration to declaration block
5099 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5101 * gst/gst.c: (init_post):
5102 use _exit() instead of exit() in our forked child; this ensures
5103 that none of the registered exit handlers from whatever is using
5104 GStreamer get executed. This fixes gnome-mixer-applet failing
5105 to load, because ORBit would shut down.
5106 Spotted by: Edward Hervey <edward@fluendo.com>
5107 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
5110 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
5115 === release 0.10.7 ===
5117 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
5120 releasing 0.10.7, "Soepeke, ik zie ou"
5122 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
5145 * win32/common/config.h:
5148 2006-06-07 Wim Taymans <wim@fluendo.com>
5150 * gst/gstindex.c: (gst_index_gtype_resolver):
5151 * tools/gst-xmlinspect.c: (print_plugin_info):
5152 Fix leak spotted by coverity checker. Fixes #343827
5153 Fix another other leak found by paolo borelli.
5155 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5157 * libs/gst/dataprotocol/dataprotocol.c:
5158 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5159 (gst_dp_version_get_type), (gst_dp_init),
5160 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5161 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5162 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5163 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5164 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5165 (gst_dp_packetizer_free):
5166 * libs/gst/dataprotocol/dataprotocol.h:
5167 API: add a GstDPPacketizer object, and create/free functions
5168 API: add GstDPVersion enum
5169 Add 1.0 event function that uses the string serialization
5170 Serialize more useful buffer flags
5173 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5175 * tests/check/Makefile.am:
5176 * tests/check/gst/gstabi.c:
5177 * tests/check/gst/struct_ppc64.h:
5178 * tests/check/libs/libsabi.c:
5179 * tests/check/libs/struct_ppc64.h:
5180 add ppc64 structure sizes
5182 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5184 * tests/check/Makefile.am:
5185 * tests/check/gst/gstabi.c:
5186 * tests/check/gst/struct_x86_64.h:
5187 * tests/check/libs/libsabi.c:
5188 * tests/check/libs/struct_x86_64.h:
5189 generate and add structure size lists for x86_64
5191 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5193 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5194 * libs/gst/check/gstcheck.h:
5195 factor out the method from tests that checks size of structures,
5196 and add code to generate the header containing these sizes
5197 * tests/check/gst/gstabi.c: (GST_START_TEST):
5198 * tests/check/gst/struct_i386.h:
5199 * tests/check/libs/libsabi.c: (GST_START_TEST):
5200 * tests/check/libs/struct_i386.h:
5203 2006-06-06 Michael Smith <msmith@fluendo.com>
5206 Don't use c++-style comments, fixes #343929
5208 2006-06-05 Edward Hervey <edward@fluendo.com>
5211 plugin_paths is not used if we build without registry support.
5213 * gst/gstsegment.c: (gst_segment_copy):
5214 _copy() was always returning NULL...
5216 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5218 * libs/gst/dataprotocol/dataprotocol.c:
5219 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5220 (gst_dp_packet_from_event):
5223 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5225 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5226 make sure we unset caps
5228 2006-06-02 Michael Smith <msmith@fluendo.com>
5230 * libs/gst/check/gstcheck.c: (gst_check_init),
5231 (gst_check_chain_func):
5232 * libs/gst/check/gstcheck.h:
5233 Add a cond/mutex to the check support lib, signal this whenever we
5234 add to the buffers list. This will allow tests to not busy-wait on
5237 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5239 * libs/gst/dataprotocol/dataprotocol.c:
5240 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5241 (gst_dp_packet_from_event):
5242 factor out some common header init code
5244 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5246 * docs/libs/gstreamer-libs-sections.txt:
5247 * docs/libs/tmpl/gstdataprotocol.sgml:
5248 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5249 * libs/gst/dataprotocol/dataprotocol.h:
5250 API: make gst_dp_crc() public
5252 2006-06-01 Stefan Kost <ensonic@users.sf.net>
5254 * plugins/indexers/gstindexers.c: (plugin_init):
5255 conditionally register fileindexer (fixes #343598)
5257 2006-06-01 Stefan Kost <ensonic@users.sf.net>
5259 * gst/gsttagsetter.h:
5260 Can't cast ifaces to a class
5262 * libs/gst/net/gstnetclientclock.h:
5263 * libs/gst/net/gstnettimeprovider.h:
5264 * plugins/elements/gstfakesink.h:
5265 * plugins/elements/gstfakesrc.h:
5266 * plugins/elements/gstfdsink.h:
5267 * plugins/elements/gstfdsrc.h:
5268 * plugins/elements/gstfilesink.h:
5269 * plugins/elements/gstfilesrc.h:
5270 * plugins/elements/gstidentity.h:
5271 * plugins/elements/gstqueue.h:
5272 * plugins/elements/gsttee.h:
5273 * plugins/indexers/gstfileindex.c:
5274 * plugins/indexers/gstmemindex.c:
5275 * tests/old/examples/plugins/example.h:
5276 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5278 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
5280 * libs/gst/dataprotocol/dataprotocol.c:
5281 (gst_dp_header_from_buffer):
5282 make sure we zero the whole ABI-compatible area
5284 2006-06-01 Wim Taymans <wim@fluendo.com>
5286 Patch by: Alessandro Decina <alessandro at nnva dot org>
5288 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5289 Make sure the EOS flag is cleared from pads after a flush
5290 or stop. Fixes #343538.
5292 * tests/check/libs/collectpads.c: (GST_START_TEST),
5293 (gst_collect_pads_suite):
5294 Added test for collectpads reusage after EOS.
5296 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
5299 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5300 * win32/common/libgstbase.def:
5301 export gst_collect_pads_set_flushing
5302 * win32/common/libgstreamer.def:
5303 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5304 gst_value_fraction_multiply
5305 * win32/vs6/gst_inspect.dsp:
5306 add a link to intl.lib
5308 2006-05-30 Wim Taymans <wim@fluendo.com>
5310 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5311 (gst_collect_pads_chain):
5312 Handle the case where a pad is removed from the collection
5313 that could cause the other pads to become collectable.
5315 2006-05-30 Wim Taymans <wim@fluendo.com>
5318 Clarify the use of _release_request_pad() and
5319 _get_request_pad() a bit better.
5321 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5322 (gst_adapter_take_buffer):
5323 Fix some doc and comment typos.
5325 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5327 * docs/gst/gstreamer-sections.txt:
5328 * docs/libs/gstreamer-libs-sections.txt:
5329 add declared symbols
5331 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
5333 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5334 Add debug that can be enabled using a #define at the top of the file,
5335 for dumping stats about how late/early we were when waking up from
5336 waiting on the clock.
5338 2006-05-30 Wim Taymans <wim@fluendo.com>
5340 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5341 When rebuilding the pad list, don't leak the previous list.
5343 2006-05-30 Wim Taymans <wim@fluendo.com>
5345 Patch by: Lutz Mueller <lutz at topfrose dot de>
5347 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5348 (gst_base_src_get_query_types), (gst_base_src_update_length):
5349 Publish supported query types.
5350 Update last_stop field in get_range mode so the position
5351 query works. Fixes #342321.
5353 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
5355 * docs/gst/gstreamer-sections.txt:
5356 * gst/gsttaglist.c: (_gst_tag_initialize):
5358 API: add GST_TAG_PREVIEW_IMAGE (#343341).
5360 2006-05-30 Wim Taymans <wim@fluendo.com>
5362 Patch by: Alessandro Decina <alessandro at nnva dot org>
5364 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5365 Unlock mutex when removing an unknown pad.
5368 * tests/check/Makefile.am:
5369 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5370 (push_event), (setup), (teardown), (GST_START_TEST),
5371 (gst_collect_pads_suite), (main):
5372 Added collecpads check, disabled for now as check crashes for
5375 2006-05-29 Wim Taymans <wim@fluendo.com>
5377 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5378 Don't leak pads lists.
5380 2006-05-29 Wim Taymans <wim@fluendo.com>
5382 * docs/libs/gstreamer-libs-sections.txt:
5383 * libs/gst/base/gstcollectpads.c:
5384 (gst_collect_pads_set_flushing_unlocked),
5385 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5386 (gst_collect_pads_stop):
5387 * libs/gst/base/gstcollectpads.h:
5388 API: gst_collect_pads_set_flushing()
5389 Added api to set the pads to flushing, useful for seeking
5390 code in elements using collectpads.
5391 Clear segment when receiving a flush.
5393 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
5395 * gst/gst.c: (add_path_func), (init_post):
5396 Don't scan registry paths passed via --gst-plugin-path immediately
5397 (will crash, because absolutely nothing is set up and no types are
5398 registered etc.); do this later in init_post(). Fixes #343057.
5400 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
5402 * gst/gst.c: (init_post):
5403 if we have fork, fork while reading/rebuilding the registry
5404 so the parent doesn't take the hit of having all plugins loaded
5405 in memory. Fixes #342777.
5407 Check if we have fork()
5408 * win32/common/config.h.in:
5411 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
5413 * plugins/elements/gstelements.c:
5414 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5415 (gst_file_src_init), (gst_file_src_set_property),
5416 (gst_file_src_get_property), (gst_file_src_start):
5417 * plugins/elements/gstfilesrc.h:
5418 API: GstFileSrc::use-mmap
5420 Add a use-mmap property to enable easier testing of all code paths.
5421 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
5422 in the absence of gnomevfssrc. (Closes #340501)
5424 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5426 * tools/gst-inspect.c:
5427 Add missing include, removes warning of ngettext not being defined on
5430 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
5432 * gst/gstvalue.c: (gst_value_deserialize_fraction):
5433 Handle NULL input and output pointers silently as a failed conversion,
5434 rather than g_warnings.
5436 2006-05-25 Wim Taymans <wim@fluendo.com>
5438 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
5439 Initialize variable before using. Fixes #342820.
5441 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
5443 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
5444 Fix off-by-one bug that would only allow peeks of N-1 bytes
5445 from the start even if the buffer to typefind on contains
5446 in fact N bytes of data (makes vorbis typefinding from a
5447 vorbis identification header buffer work).
5449 * tests/check/Makefile.am:
5450 * tests/check/libs/.cvsignore:
5451 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
5452 (gst_typefindhelper_suite), (main), (foobar_typefind),
5454 Add very basic unit test for gst_type_find_helper_for_buffer()
5455 that checks for the problem fixed above.
5457 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
5459 * tools/gst-inspect.c: (print_interfaces),
5460 (print_element_properties_info), (print_element_list), (main):
5461 add more translatable strings
5463 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
5465 Patch by: Julien Moutte <julien at moutte net>
5467 * docs/gst/gstreamer-sections.txt:
5468 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
5470 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5471 (gst_fake_sink_preroll):
5472 * plugins/elements/gstfakesink.h:
5473 API: Add new GstFakeSink::preroll-handoff signal (#337100).
5475 2006-05-23 Wim Taymans <wim@fluendo.com>
5477 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
5479 Added _CUSTOM error and success GstFlowReturn that can be
5480 used be elements internally.
5481 Added macro to check for SUCCESS flowreturns.
5482 API: GST_FLOW_CUSTOM_SUCCESS
5483 API: GST_FLOW_CUSTOM_ERROR
5484 API: GST_FLOW_IS_SUCCESS
5486 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5487 Added check for GstFlowReturn sanity.
5489 2006-05-23 Wim Taymans <wim@fluendo.com>
5491 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5493 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5494 (gst_collect_pads_event):
5495 clear/reset segment info in FLUSH_STOP.
5498 2006-05-22 Stefan Kost <ensonic@users.sf.net>
5500 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
5501 (gst_collect_pads_check_collected):
5502 Flush queued buffer on _stop(), fixes playing again (#342454)
5504 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
5506 * tests/check/gst/gststructure.c: (GST_START_TEST),
5507 (gst_structure_suite):
5508 add a test for a complete structure
5510 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
5512 * docs/faq/developing.xml:
5514 * docs/faq/troubleshooting.xml:
5515 * docs/faq/using.xml:
5516 Some minor FAQ updates that won't change the fact that
5517 our FAQ is badly structured, full of information hardly
5518 anyone new to GStreamer needs to know and lacking lots
5519 of information people constantly ask for.
5521 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
5523 * gst/gstpad.c: (gst_pad_set_caps):
5524 Short-circuit gst_pad_set_caps if setting the existing
5525 caps pointer again, and avoid printing debug and
5526 reffing/unreffing the caps.
5528 * plugins/elements/gstqueue.c: (gst_queue_push_one):
5529 There's actually no need to set the caps before pushing -
5530 the acceptcaps method will handle it anyway.
5532 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
5534 * docs/gst/gstreamer-sections.txt:
5535 * win32/common/libgstreamer.def:
5536 * gst/gstutils.c: (gst_element_seek_simple):
5538 API: add gst_element_seek_simple() (#342238).
5540 2006-05-18 Edward Hervey <edward@fluendo.com>
5542 * gst/gsttypefind.c: (gst_type_find_get_type):
5543 * gst/gsttypefind.h:
5544 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
5545 registered for GstTypeFind pointers. This allows wrapping the structure
5546 in bindings (i.e. gst-python).
5548 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
5550 * gst/gsttagsetter.c:
5551 Docs additions and fixes (see #339918).
5553 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
5555 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5556 The caps intersection algorithm can produce multiple copies of the
5557 caps. Until that is fixed, we need to simplify the result to be
5558 sure whether the allowed caps are fixed or not.
5560 * plugins/elements/gstqueue.c: (gst_queue_init),
5561 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
5562 (gst_queue_push_one):
5563 Proxied buffer alloc should not set the caps on the source pad.
5564 When pushing buffers, we always accept the caps change that triggers.
5565 This prevents negotiation errors caused by caps changing mid-stream
5566 and then being refused on our source pad (because upstream is now
5567 refusing those caps).
5569 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
5571 * tests/examples/helloworld/helloworld.c: (main):
5572 Must plug audioconvert and audioresample between decoder
5575 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
5577 * gst/gstregistryxml.c: (read_string), (load_pad_template),
5578 (load_feature), (load_plugin):
5579 Allow empty strings for some of the plugin fields so we don't
5580 drop valid plugin entries that were written out correctly
5583 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
5585 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5586 Use g_remove and g_rename instead of remove and rename that don't
5587 handle utf8 characters. rename was failing for users who had specific
5588 characters in their name then the registry was built at each
5590 * win32/vs6/gst_inspect.dsp:
5591 * win32/vs6/gst_launch.dsp:
5592 * win32/vs6/libgstbase.dsp:
5593 * win32/vs6/libgstcoreelements.dsp:
5594 * win32/vs6/libgstreamer.dsp:
5595 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
5596 build of libgstreamer and clean unused libraries in projects link
5599 2006-05-17 Edward Hervey <edward@fluendo.com>
5601 * plugins/elements/gstqueue.c: (gst_queue_push_one):
5602 The queue is not responsible for pushing an EOS when receiving a fatal
5603 flow error. It's up to the real element driving the pipeline to do that.
5605 2006-05-16 Edward Hervey <edward@fluendo.com>
5607 * plugins/elements/gstqueue.c: (gst_queue_push_one):
5608 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
5609 buffer returned a fatal error. It should just send an EOS and stop
5611 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
5612 when pushing buffers on the queue and will be able to handle the event.
5614 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
5616 * docs/manual/basics-bins.xml:
5617 * docs/manual/basics-init.xml:
5618 Fix typos and minor errors in sample code (#341856).
5620 2006-05-16 Wim Taymans <wim@fluendo.com>
5622 * docs/design/part-qos.txt:
5623 Fix indexes in formulas to make more sense.
5625 2006-05-15 Wim Taymans <wim@fluendo.com>
5627 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5628 Don't report POSITION based on clock time if sync is
5631 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
5634 Add cast to make compiler happy - refcount variable was a gint
5635 in GstObject but is a guint in GObject and g_atomic_int_get()
5638 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
5640 * gst/parse/Makefile.am:
5641 chain commands using &&, which also makes parallel make work
5643 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
5645 * docs/gst/gstreamer-sections.txt:
5651 === release 0.10.6 ===
5653 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
5656 releasing 0.10.6, "Take the cannoli"
5658 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
5660 * tools/gst-launch.c: (print_tag):
5661 Fix use of uninitialized variable in the hypothetical
5662 case that some broken plugin creates a GST_TAG_IMAGE
5663 tag containing a NULL buffer (#341667).
5665 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
5667 * tools/gst-launch.c: (print_tag):
5668 Print something more intelligible for image tags when
5669 using the -t switch (#341556).
5671 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
5676 define GST_MAJORMINOR so we have it available in win32/common/config.h
5677 Possibly remove it from our Makefile.am files later
5678 * win32/common/config.h:
5679 * win32/common/config.h.in:
5680 added GST_MAJORMINOR
5681 * win32/common/gstenumtypes.c: (register_gst_resource_error):
5682 * win32/common/gstversion.h:
5685 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
5688 Update win32 files listing.
5689 * win32/common/gstversion.h:
5690 Add GST_MAJORMINOR definition.
5691 * win32/common/libgstreamer.def:
5692 Add new exported functions.
5694 2006-05-12 Michael Smith <msmith@fluendo.com>
5696 * gst/gstplugin.c: (gst_plugin_load_file):
5697 If an so file has no plugin entry point, unload the module.
5699 2006-05-11 Wim Taymans <wim@fluendo.com>
5701 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
5702 (gst_queue_set_property):
5703 Don't forget to signal the _chain or _loop function
5704 when the queue size or thresholds change since that might
5705 cause them to make progres again.
5707 2006-05-11 Stefan Kost <ensonic@users.sf.net>
5709 * gst/gstclock.c: (gst_clock_class_init):
5710 * gst/gstindex.c: (gst_index_class_init):
5711 * gst/gstobject.c: (gst_object_class_init):
5712 * gst/gstpad.c: (gst_pad_class_init):
5713 * gst/gstpipeline.c: (gst_pipeline_class_init):
5714 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5715 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
5716 * libs/gst/base/gstbasetransform.c:
5717 (gst_base_transform_class_init):
5718 * libs/gst/net/gstnetclientclock.c:
5719 (gst_net_client_clock_class_init):
5720 * libs/gst/net/gstnettimeprovider.c:
5721 (gst_net_time_provider_class_init):
5722 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
5723 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
5724 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
5725 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
5726 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
5727 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5728 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
5729 * plugins/elements/gstidentity.c: (gst_identity_class_init):
5730 * plugins/elements/gsttee.c: (gst_tee_class_init):
5731 * tests/old/examples/plugins/example.c: (gst_example_class_init):
5732 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
5733 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
5735 2006-05-11 Wim Taymans <wim@fluendo.com>
5737 * gst/gstbuffer.c: (_gst_buffer_initialize):
5738 Register subbufer along with the buffer type so that
5739 it does not accidentally gets registered from N
5740 different streaming threads in a non threadsafe way.
5742 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
5747 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
5748 gst_event_ref() and gst_message_ref() functions again
5749 (ugly hack, please do fix if there's a better way besides
5750 overrides.txt, which doesn't seem to work).
5752 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
5754 * libs/gst/check/gstcheck.h:
5755 add an assert for setting state to avoid lots of repetitive code
5758 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
5760 * gst/gstvalue.c: (gst_value_serialize_flags):
5761 fix a leak if no flags are set
5762 * tests/check/gst/gstvalue.c: (GST_START_TEST):
5765 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
5767 * docs/manual/basics-pads.xml:
5768 Expand a bit on caps and filtered links and update
5769 examples that were still using the no longer existing
5770 gst_pad_link_filtered() (#338206).
5772 2006-05-10 Wim Taymans <wim@fluendo.com>
5774 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5775 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5776 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5777 (gst_collect_pads_stop):
5778 * libs/gst/base/gstcollectpads.h:
5779 No need to call _stop in _finalize.
5780 Iterate the main pad list in _finalize.
5781 Added some more debug.
5782 Free lists and data in the right order.
5783 Also free data whem doing _remove_pad when stopped for
5784 backward compatibility protect ::started with PAD_LOCK as
5787 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
5789 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
5790 (gst_structure_parse_value):
5792 rename a method so that it actually says what it does better
5794 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
5796 * gst/gstevent.c: (_gst_event_initialize):
5797 * gst/gstformat.c: (_gst_format_initialize):
5798 make sure some essential types used by events are registered
5799 as part of gst_init()
5800 * gst/gstvalue.c: (gst_value_serialize_flags):
5801 if no flags are set, serialize them to a value that represents NONE
5802 so that deserializing them works
5803 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5804 add tests for serialization and deserialization of flags
5806 2006-05-10 Wim Taymans <wim@fluendo.com>
5808 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
5809 (gst_collect_pads_collect_range), (gst_collect_pads_available),
5810 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
5811 (gst_collect_pads_event), (gst_collect_pads_chain):
5814 Catch and return errors from the collect function
5815 Refuse data on eos pads.
5817 2006-05-10 Edward Hervey <edward@fluendo.com>
5819 * gst/gstinterface.h:
5820 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
5821 GInterface type checking.
5822 They were previously using non-defined macros.
5824 2006-05-09 Wim Taymans <wim@fluendo.com>
5826 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
5827 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
5828 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
5829 (gst_collect_pads_start), (gst_collect_pads_stop),
5830 (gst_collect_pads_peek), (gst_collect_pads_pop),
5831 (gst_collect_pads_available), (gst_collect_pads_read),
5832 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
5833 (gst_collect_pads_is_collected), (gst_collect_pads_event),
5834 (gst_collect_pads_chain):
5835 * libs/gst/base/gstcollectpads.h:
5836 Clean up the mess that is collectpads, add comments and
5837 FIXMEs where needed.
5838 Maintain a separate pad list so we can add pads while
5839 collecting the other ones. For this we need a new separate
5841 Fix memory leak in finalize.
5842 Refactor some weird code to set/unset pad flushing flags, mark
5844 Don't crash in _available, _read, _flush when we're EOS.
5846 * tests/check/libs/.cvsignore:
5847 Ignore adapter check binary.
5849 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
5851 * gst/gstindex.c: (gst_index_resolver_get_type):
5852 * plugins/elements/gstfakesink.c:
5853 (gst_fake_sink_state_error_get_type):
5854 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5855 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
5856 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
5857 Const-ify GEnumValue arrays.
5859 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
5861 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5862 Add test case for flags + gst_buffer_make_metadata_writable().
5864 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
5866 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
5867 gst_buffer_make_metadata_writable() should maintain the
5868 buffer flags (those that make sense at least) (see #340859).
5870 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
5872 * tools/gst-inspect.c:
5873 * tools/gst-launch.c:
5874 * tools/gst-typefind.c:
5875 * tools/gst-xmlinspect.c:
5877 Fix up includes: need to include stdlib.h in tools.h for exit().
5879 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
5881 * gst/gsttaglist.c: (_gst_tag_initialize):
5883 API: add GST_TAG_IMAGE tag (#340721).
5885 2006-05-08 Wim Taymans <wim@fluendo.com>
5888 Added some docs for the segment query.
5890 2006-05-08 Wim Taymans <wim@fluendo.com>
5892 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5893 (gst_base_src_loop), (gst_base_src_change_state):
5894 Always push non-flushing serialized events in the streaming
5897 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
5899 * gst/gsterror.c: (_gst_stream_errors_init):
5900 Add a missing error string.
5902 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
5904 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
5905 Add applied_rate to the debug
5907 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
5908 Copy applied_rate into the outgoing NEWSEGMENT event
5910 2006-05-08 Wim Taymans <wim@fluendo.com>
5912 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
5914 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
5915 (gst_base_sink_change_state):
5916 call ::unlock before taking the PREROLL_LOCK so we can safely
5917 handle elements that lock in ::render.
5920 2006-05-08 Edward Hervey <edward@fluendo.com>
5922 * autogen.sh: (CONFIGURE_DEF_OPT):
5923 Darwin's libtoolize is in fact called glibtoolize.
5924 Adding glibtoolize to the list of accepted names for libtoolize.
5926 2006-05-08 Wim Taymans <wim@fluendo.com>
5928 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5929 Unify error handling, don't post an error message
5930 when a push() returns EOS but perform our normal EOS
5931 handling code. Fixes #340772.
5933 2006-05-08 Wim Taymans <wim@fluendo.com>
5935 * docs/design/part-overview.txt:
5936 Make upsteam/downstream concepts more clear.
5937 Give an example of serialized/non-serialized events.
5939 * docs/design/part-events.txt:
5940 * docs/design/part-streams.txt:
5941 Mention applied_rate.
5943 * docs/design/part-trickmodes.txt:
5944 Mention applied rate, flesh out some more use cases.
5946 * gst/gstevent.c: (gst_event_new_new_segment),
5947 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
5948 (gst_event_parse_new_segment_full), (gst_event_new_tag),
5949 (gst_event_parse_tag), (gst_event_new_buffer_size),
5950 (gst_event_parse_buffer_size), (gst_event_new_qos),
5951 (gst_event_parse_qos), (gst_event_parse_seek),
5952 (gst_event_new_navigation):
5954 Add applied_rate field to NEWSEGMENT event.
5955 API: gst_event_new_new_segment_full()
5956 API: gst_event_parse_new_segment_full()
5958 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
5959 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
5960 (gst_segment_to_stream_time), (gst_segment_to_running_time):
5962 Add applied_rate to GstSegment structure.
5963 Make calculation of stream_time and running_time more correct
5964 wrt rate/applied_rate.
5966 API: GstSegment::applied_rate field
5967 API: gst_segment_set_newsegment_full();
5969 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5970 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
5971 * libs/gst/base/gstbasetransform.c:
5972 (gst_base_transform_sink_eventfunc),
5973 (gst_base_transform_handle_buffer):
5974 Parse and use applied_rate in the GstSegment field.
5976 * tests/check/gst/gstevent.c: (GST_START_TEST):
5977 Add check for applied_rate field.
5979 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5980 (gstsegments_suite):
5981 Add more checks for various GstSegment operations.
5983 2006-05-08 Wim Taymans <wim@fluendo.com>
5985 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5986 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
5987 (gst_base_sink_get_position), (gst_base_sink_change_state):
5988 Store the sync time of the buffer end position separatly in a
5989 new variable eos_rtime so we can properly sync the EOS event.
5991 Fix the docs for gst_base_sink_set_qos_enabled().
5992 Don't set segment start to invalid value when we receive a
5993 non TIME newsegment.
5994 get closer to handling position reporting for negative rates
5997 2006-05-07 Stefan Kost <ensonic@users.sf.net>
6000 Docs about how to print caps for debug purposes.
6002 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6003 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6005 2006-05-07 Stefan Kost <ensonic@users.sf.net>
6008 use full enum names and preprend a '%' in docs strings to make recent
6009 gtk-doc turn that into a link
6011 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6013 * docs/manual/basics-bins.xml:
6014 * docs/manual/basics-bus.xml:
6015 * docs/manual/basics-pads.xml:
6016 Some typo fixes, some additions, some clarifications.
6018 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6020 * tools/gst-inspect.c: (main):
6021 * tools/gst-launch.c: (main):
6022 * tools/gst-run.c: (main):
6023 * tools/gst-typefind.c: (main):
6024 * tools/gst-xmlinspect.c: (main):
6025 Use the string passed to g_option_context_new() for
6026 what it's intended for - the program name is already
6029 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6031 * tools/Makefile.am:
6032 * tools/gst-inspect.c: (main):
6033 * tools/gst-launch.c: (main):
6034 * tools/gst-xmlinspect.c: (main):
6036 Add back --version command line option (#340460).
6038 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6039 Add --version option and use GOption for argument parsing; refactor a
6040 bit; accept directories as arguments and recurse into them; lastly,
6041 print a decent error message when things go wrong.
6043 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6045 * docs/manual/basics-bins.xml:
6046 Don't mention GstThread (#340611)
6047 * docs/manual/basics-elements.xml:
6048 Update link to GObject tutorial (#340607)
6050 2006-05-05 Wim Taymans <wim@fluendo.com>
6053 * gst/gstminiobject.c:
6054 Add note about refcounting and miniobject/buffer writeability
6055 to docs. Fixes #340604
6057 * gst/gstelementfactory.h:
6058 Added some explanation about @klass.
6060 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6062 * docs/manual/intro-motivation.xml:
6063 * docs/manual/manual.xml:
6064 Avoid CORBA & Bonobo references (#340598)
6066 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6068 * docs/manual/basics-bus.xml:
6069 * docs/manual/basics-pads.xml:
6070 Fix up some inaccuracies and omissions (#340609)
6072 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6074 * gst/gstghostpad.c:
6075 Small typo in docs (#340625)
6077 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6079 * gst/parse/Makefile.am:
6080 Make 'make -j' proof (see #340698).
6082 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6085 Require GLib-2.8 here as well.
6087 2006-05-05 Wim Taymans <wim@fluendo.com>
6089 * gst/glib-compat.c:
6090 * gst/gst.c: (init_pre):
6091 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6092 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6093 (gst_object_dispatch_properties_changed):
6095 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6096 * gst/gststructure.c: (gst_structure_set_valist):
6097 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6098 Remove pre glib2.8 compatibility, fixes #340508
6100 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
6103 Mention type of tags in doc blurbs.
6105 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
6107 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6108 (gst_pad_configure_src), (gst_pad_push):
6109 Restore acceptcaps checking behaviour now that good plugins have
6112 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
6114 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6125 * gst/parse/Makefile.am:
6126 * libs/gst/base/gstadapter.c:
6127 * libs/gst/base/gstbasesrc.c:
6128 * libs/gst/base/gstpushsrc.c:
6129 * libs/gst/base/gsttypefindhelper.c:
6130 * plugins/elements/gstfakesrc.c:
6131 * plugins/elements/gstidentity.c:
6132 Make sure gstprivate.h and/or config.h are
6133 always included first, otherwise some of our
6134 defines (like _FILE_OFFSET_BITS) might be
6135 redefined in the system headers. Fixes build
6136 on opensolaris (#340016).
6138 2006-05-04 Wim Taymans <wim@fluendo.com>
6140 * docs/libs/gstreamer-libs-sections.txt:
6141 API: addition: gst_adapter_take_buffer()
6143 * libs/gst/base/gstadapter.c: (gst_adapter_push),
6144 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6145 (gst_adapter_available_fast):
6146 * libs/gst/base/gstadapter.h:
6147 Prepare for optimizing the hell out of this hugely inefficient
6149 Added gst_adapter_take_buffer() so we can at least start thinking
6150 about subbuffering and merging.
6151 Added some comments.
6153 * tests/check/Makefile.am:
6154 * tests/check/libs/adapter.c: (GST_START_TEST),
6155 (gst_adapter_suite), (main):
6156 Added GstAdapter check.
6158 2006-05-04 Wim Taymans <wim@fluendo.com>
6160 * docs/design/part-overview.txt:
6161 Fix some typos, add blurb about buffer flags.
6163 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
6165 * docs/libs/gstreamer-libs-sections.txt:
6166 make sure GstBaseTransformClass shows up in the docs
6167 * libs/gst/base/gstbasetransform.c:
6168 * libs/gst/base/gstbasetransform.h:
6169 move docs so gtk-doc picks it up now
6171 2006-05-02 Stefan Kost <ensonic@users.sf.net>
6173 * docs/libs/gstreamer-libs-sections.txt:
6174 add missing symbols to docs
6176 2006-05-02 Stefan Kost <ensonic@users.sf.net>
6178 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6179 back out the newsegment handling change, see #340060 for ongoing
6182 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
6184 * tools/gst-run.c: (get_candidates), (main):
6185 Fix wrong g_file_test() usage (see glib docs for why it doesn't
6186 work); fix typo in error message. Fixes #340079.
6188 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
6190 * common/Makefile.am:
6192 * docs/faq/Makefile.am:
6193 * docs/gst/Makefile.am:
6194 * docs/libs/Makefile.am:
6195 * docs/manual/Makefile.am:
6196 * docs/plugins/Makefile.am:
6197 * docs/pwg/Makefile.am:
6198 * docs/slides/Makefile.am:
6200 * common/upload.mak:
6201 move upload.mak to common
6203 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
6205 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6206 add more asserts on refcounts
6207 do more cleanup at end of tests
6208 fix test leaks showing in FC5
6210 2006-04-29 Stefan Kost <ensonic@users.sf.net>
6212 * plugins/elements/gsttypefindelement.c:
6213 (gst_type_find_element_handle_event):
6214 reverted wrong change and reflowed code to avoid others falling into
6217 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6219 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6220 fix changelog entry about last collectpads change,
6221 add notes about proper fix
6223 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6226 * gst/gstregistry.c: (gst_registry_scan_path_level),
6227 (gst_registry_scan_path):
6228 * gst/gstregistry.h:
6229 only write out registry if it has changed, fixes #338339
6231 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6234 * gst/gstpipeline.c:
6235 * plugins/elements/gstcapsfilter.c:
6236 * plugins/elements/gstfakesink.c:
6237 * plugins/elements/gstfakesrc.c:
6238 * plugins/elements/gstfdsink.c:
6239 * plugins/elements/gstfdsrc.c:
6240 * plugins/elements/gstfilesink.c:
6241 * plugins/elements/gstfilesrc.c:
6242 * plugins/elements/gstidentity.c:
6243 * plugins/elements/gstqueue.c:
6244 * plugins/elements/gsttee.c:
6245 * plugins/elements/gsttypefindelement.c:
6246 (gst_type_find_element_handle_event):
6247 make GstElementDetails const
6249 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6251 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6252 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6253 (gst_collect_pads_is_collected), (gst_collect_pads_event):
6254 more detailed debug and formatting cleanup,
6255 forward newsegments to src-pad (so that e.g. adder not eats them)
6257 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6259 * gst/gstutils.c: (gst_element_link_pads):
6262 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6264 * libs/gst/controller/gstcontroller.c:
6265 (gst_controller_sync_values):
6267 * tests/check/libs/controller.c: (GST_START_TEST),
6268 (gst_controller_suite):
6269 a new test for live value handling
6271 2006-04-28 Wim Taymans <wim@fluendo.com>
6273 * gst/gstutils.c: (push_and_ref):
6274 Added some more docs.
6275 Fix refcount issue whith gst_element_found_tags() helper
6276 function. Fixes #338335
6278 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6279 Added testsuite for gst_element_found_tags().
6281 2006-04-28 Michael Smith <msmith@fluendo.com>
6283 * gst/gstvalue.c: (gst_value_serialize_flags):
6284 Avoid NULL dereference when trying to serialize flags containing
6287 2006-04-28 Michael Smith <msmith@fluendo.com>
6289 * plugins/elements/gsttypefindelement.c:
6290 (gst_type_find_element_handle_event):
6291 If we get EOS before any data is accumulated, don't use
6292 uninitialised local variables.
6294 2006-04-28 Michael Smith <msmith@fluendo.com>
6296 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6297 (gst_dp_event_from_packet):
6298 Fixes in reading/writing events over GDP (not currently used?) -
6299 dereferencing NULL events for unknown/invalid event types, memory
6300 leak, and change g_warning to GST_WARNING.
6302 2006-04-28 Wim Taymans <wim@fluendo.com>
6304 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6305 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6306 (gst_base_sink_get_position), (gst_base_sink_change_state):
6307 When frame dropping is enabled, we should not ignore frames
6309 Update some documentation.
6311 2006-04-28 Wim Taymans <wim@fluendo.com>
6313 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6314 (gst_base_src_send_event), (gst_base_src_change_state):
6315 Documentation updates.
6317 2006-04-28 Wim Taymans <wim@fluendo.com>
6319 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6320 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6321 handle EAGAIN, EINTR and short writes correctly. Also clean
6322 up some error cases, avoid a deadlock on bad file descriptors and
6323 use GST_DEBUG_OBJECT.
6326 2006-04-28 Wim Taymans <wim@fluendo.com>
6328 * gst/gstvalue.c: (gst_value_serialize_buffer),
6329 (gst_value_deserialize_buffer):
6330 Don't try to serialize a GValue with a NULL buffer.
6333 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6334 Added check for serialisation of NULL buffers.
6336 2006-04-28 Wim Taymans <wim@fluendo.com>
6338 * gst/gstminiobject.c: (gst_value_take_mini_object):
6339 Taking a NULL miniobject is valid, fix the case where
6340 we try to unref the NULL miniobject.
6342 2006-04-28 Wim Taymans <wim@fluendo.com>
6344 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6346 * gst/gstbin.c: (gst_bin_handle_message_func):
6348 Don't leak bin refcount when a state recalc is
6349 in progress and we delay another one #339808.
6351 2006-04-28 Wim Taymans <wim@fluendo.com>
6353 * docs/design/part-TODO.txt:
6354 Mention QoS as an ongoing work item.
6356 * docs/design/part-buffering.txt:
6357 New doc about buffering that needs to be fleshed out
6360 * docs/design/part-qos.txt:
6361 More QoS policy for decoders/demuxers/transforms
6363 * docs/design/part-trickmodes.txt:
6366 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
6371 === release 0.10.5 ===
6373 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
6376 releasing 0.10.5, "Fogo"
6378 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
6380 patch by: Wim Taymans
6382 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6383 (gst_pad_configure_src), (gst_pad_push):
6384 * gst/gstpipeline.c: (gst_pipeline_init):
6385 Fix internal data flow errors. Fixes #338711.
6387 2006-04-12 Wim Taymans <wim@fluendo.com>
6389 * tests/check/gst/gstelement.c: (GST_START_TEST):
6390 Don't leak the factory.
6392 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
6395 * win32/common/config.h:
6398 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
6400 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6401 (gst_controller_unset_all):
6402 Free allocated GstTimedValues when freeing list nodes.
6403 Should fix leaks 'make check-valgrind' complains about.
6405 * win32/common/libgstcontroller.def:
6406 Add gst_controller_unset_all.
6408 2006-04-11 Stefan Kost <ensonic@users.sf.net>
6410 * docs/libs/gstreamer-libs-sections.txt:
6411 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6412 (gst_controller_unset_all):
6413 * libs/gst/controller/gstcontroller.h:
6414 API: Added new method gst_controller_unset_all()
6415 fixed gst_controller_unset()
6416 * tests/check/libs/controller.c: (GST_START_TEST),
6417 (gst_controller_suite):
6418 Added two testcases for new and fixed method
6420 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
6422 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6423 MSG_DONTWAIT is not defined on Cygwin, so work
6424 around that (fixes #317048).
6426 2006-04-11 Wim Taymans <wim@fluendo.com>
6428 * gst/gstelementfactory.c: (gst_element_register),
6429 (gst_element_factory_create), (gst_element_factory_make):
6432 Updated docs (Fixes #131079)
6434 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6437 * tests/check/gst/gstelement.c: (GST_START_TEST),
6438 (gst_element_suite):
6439 Added testcase for elementfactory class field.
6441 2006-04-10 Wim Taymans <wim@fluendo.com>
6444 Added some more docs.
6446 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
6447 (gst_base_sink_reset_qos):
6448 Calculate more accurate rate values.
6450 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
6452 * gst/gst_private.h:
6453 add a new #ifdef to use __declspec(dllimport) only for
6454 other modules and not for gstreamer core
6455 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
6456 use gst_guint64_to_gdouble for conversion
6457 * win32/common/libgstreamer.def:
6458 add new exported functions
6459 * win32/vs6/gst_inspect.dsp:
6460 * win32/vs6/gst_launch.dsp:
6461 * win32/vs6/libgstbase.dsp:
6462 * win32/vs6/libgstcontroller.dsp:
6463 * win32/vs6/libgstcoreelements.dsp:
6464 * win32/vs6/libgstdataprotocol.dsp:
6465 * win32/vs6/libgstnet.dsp:
6466 update project files
6468 2006-04-08 Stefan Kost <ensonic@users.sf.net>
6470 * gst/gstbuffer.c: (gst_subbuffer_class_init):
6471 * gst/gstclock.c: (gst_clock_class_init):
6472 * gst/gstelement.c: (gst_element_class_init):
6473 * gst/gstindex.c: (gst_index_class_init):
6474 * gst/gstindexfactory.c: (gst_index_factory_class_init):
6475 * gst/gstobject.c: (gst_object_class_init),
6476 (gst_signal_object_class_init):
6477 * gst/gstpad.c: (gst_pad_class_init):
6478 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
6479 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
6480 * gst/gstregistry.c: (gst_registry_class_init):
6481 * gst/gstsystemclock.c: (gst_system_clock_class_init):
6482 * gst/gsttask.c: (gst_task_class_init):
6483 * gst/gstxml.c: (gst_xml_class_init):
6484 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6485 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6486 (gst_base_src_loop):
6487 * libs/gst/controller/gstcontroller.c:/
6488 (_gst_controller_class_init):
6489 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6490 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
6491 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
6492 * tests/old/examples/plugins/example.c: (gst_example_class_init):
6493 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6494 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
6496 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
6498 * gst/gstpad.c: (gst_pad_link):
6499 Must set peer pads before calling the link function, otherwise
6500 a task started from a link function might get a flow-not-linked
6501 result when trying to push because the other thread where the
6502 linking happens hasn't had a chance to set the peers yet. This
6503 might happen for example when a queue gets linked to a downstream
6504 element, as queue starts a streaming task when its source pad
6505 gets linked. Happens in real life when playing back flac/musepack
6506 files in playbin (#332390).
6508 2006-04-08 Stefan Kost <ensonic@users.sf.net>
6512 * libs/gst/base/gstadapter.h:
6513 * libs/gst/base/gstbasesink.h:
6514 * libs/gst/base/gstbasesrc.h:
6515 * libs/gst/base/gstbasetransform.h:
6516 * libs/gst/base/gstcollectpads.h:
6517 * libs/gst/base/gstpushsrc.h:
6518 Fix broken GObject macros
6520 2006-04-07 Wim Taymans <wim@fluendo.com>
6522 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6523 Initialize start and stop times, thanks valgrind.
6525 2006-04-07 Wim Taymans <wim@fluendo.com>
6527 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6528 Be a bit nicer to badly behaving upstream elements that expect
6529 us to deal with non TIME segments and timestamps (such as fakesrc
6532 2006-04-07 Wim Taymans <wim@fluendo.com>
6535 Small documentation clarification about the signal watch.
6537 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6538 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6539 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6540 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6541 (gst_base_sink_get_position_last),
6542 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
6543 Convert and store timestamps in stream time and running time, the
6544 raw timestamps are not useful, also document this better.
6545 Use different window sizes for good and bad QoS observations so
6546 we react to badness a little quicker.
6547 Keep track of the amount of rendered and dropped buffers.
6548 Send QoS timestamps in running time.
6550 * libs/gst/base/gstbasetransform.c:
6551 (gst_base_transform_sink_eventfunc),
6552 (gst_base_transform_handle_buffer):
6553 Compare QoS timestamps against running time.
6555 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
6560 2006-04-06 Michael Smith <msmith@fluendo.com>
6562 * gst/gstpad.c: (gst_pad_set_property):
6563 Use g_value_get_object() instead of g_value_dup_gst_object(),
6564 to avoid double-reffing the pad template (which we then sink,
6565 so this worked previously if (and only if) the pad template
6568 * gst/gstpadtemplate.c: (gst_pad_template_init),
6569 (gst_pad_template_pad_created):
6570 Never return floating references to pad templates, create
6571 them as initially-sunken.
6573 Document an extra function (and make this stop sinking our
6574 pad template, since that is now guaranteed to do nothing,
6575 since we created it sunken).
6577 * gst/gstghostpad.c:
6580 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
6582 * gst/gstinfo.c: (__gst_in_valgrind):
6585 * plugins/elements/gsttypefindelement.c:
6586 (gst_type_find_element_chain):
6587 Don't leak buffer caps.
6589 2006-04-06 Michael Smith <msmith@fluendo.com>
6591 * gst/parse/grammar.y:
6592 Fix a leak in parse-launch for any source-or-sink named element
6595 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
6596 Unref the pipeline if it exists after we've failed parsing.
6598 2006-04-05 Michael Smith <msmith@fluendo.com>
6600 * gst/gstpipeline.c: (gst_pipeline_init):
6601 When we create a pipeline bus, initially create it in flushing mode.
6602 Fixes leaks in at least one test, and makes a new pipeline work the
6603 same as one that has gone to READY and then back to NULL.
6608 2006-04-05 Michael Smith <msmith@fluendo.com>
6610 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6611 Unref a pad we reffed.
6612 * tests/check/gst/gstutils.c: (GST_START_TEST):
6615 2006-04-05 Michael Smith <msmith@fluendo.com>
6617 * gst/gstquery.c: (gst_query_set_formats),
6618 (gst_query_set_formatsv):
6619 Fix leaking GValues in queries, as shown by valgrind/testsuite.
6621 2006-04-05 Michael Smith <msmith@fluendo.com>
6623 * tests/check/generic/sinks.c: (GST_START_TEST):
6624 Fix a variety of memleaks in sinks check, which are only sometimes
6625 shown by running the tests under valgrind (weird?).
6627 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
6629 * docs/version.entities.in:
6630 Fix the substituted entity name after thomas' changes on the
6633 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
6635 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
6638 2006-04-05 Andy Wingo <wingo@pobox.com>
6640 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
6642 * libs/gst/base/gstbasetransform.c
6643 (gst_base_transform_sink_eventfunc): When resetting our segment on
6644 FLUSH_STOP, also update the flag saying we haven't seen a
6647 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
6649 Patch by: Paolo Borelli <pborelli at katamail dot com>
6651 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6652 (gst_plugin_check_license):
6653 minor clean-ups: G_DEFINE_TYPE already takes care of the
6654 parent_class stuff, no need to do it twice. Mark array of
6655 license strings as constant. (#337103)
6657 2006-04-04 Michael Smith <msmith@fluendo.com>
6659 * tools/gst-inspect.c: (print_element_list):
6660 Free the right plugin list; fixes a memory leak.
6662 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
6664 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
6666 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
6667 Don't error out on empty buffers (#336945).
6669 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
6671 * docs/libs/gstreamer-libs-sections.txt:
6673 * libs/gst/base/gstbasesink.c:
6674 * libs/gst/base/gstbasesink.h:
6675 * libs/gst/base/gstbasesrc.c:
6676 * libs/gst/base/gstbasesrc.h:
6677 Documentation updates. Make BaseSink and BaseSrc docs contain the
6678 class structure so that people can actually see the prototypes for
6679 virtual functions they're supposed to be overriding.
6681 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
6683 * plugins/elements/gsttypefindelement.c:
6684 (gst_type_find_element_chain):
6685 More debug info; when skipping typefinding, send cached
6686 events in all cases.
6688 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
6691 use new AS_VERSION and AS_NANO macros
6692 * gst/gst-i18n-lib.h:
6695 * gst/gstversion.h.in:
6696 * win32/common/config.h:
6697 * win32/common/config.h.in:
6700 2006-03-31 Michael Smith <msmith@fluendo.com>
6702 * plugins/elements/gsttypefindelement.c:
6703 (gst_type_find_element_chain):
6704 Do not typefind content if the buffers already have caps.
6705 Neccesary for icydemux (#333657), and the right thing to do anyway.
6707 2006-03-30 Wim Taymans <wim@fluendo.com>
6709 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6710 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
6711 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
6712 (gst_base_sink_record_qos_observation),
6713 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6714 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6715 (gst_base_sink_change_state):
6716 More QoS measurements as described in the design doc.
6717 Get rid of ringbuffer with observations, running average is
6718 more simple and equally good.
6719 Calculates valid proportion now.
6720 Added beginning of flood measurement.
6722 2006-03-29 Wim Taymans <wim@fluendo.com>
6724 * docs/design/part-qos.txt:
6726 Small documentation updates and additions.
6728 2006-03-29 Wim Taymans <wim@fluendo.com>
6730 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6731 (gst_base_src_send_event), (gst_base_src_loop),
6732 (gst_base_src_change_state):
6733 Perform the EOS logic when we reach the segment stop position.
6734 Fix compilation on gcc4.1
6736 2006-03-29 Wim Taymans <wim@fluendo.com>
6738 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
6740 * plugins/elements/gstqueue.c: (gst_queue_init),
6741 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
6742 (gst_queue_set_property):
6743 * plugins/elements/gstqueue.h:
6744 In queue, when EOS is received, if minimum threshold > max_size -
6745 current_level, there is chance that queue blocks forever in conditional
6746 item del wait. This is because the queue is not emptied completely due
6747 to minimum threshold. Here is another approach. Instead of setting
6748 cur_levels to max in EOS, just zero all minimum threshold levels. This
6749 should make sure that queue gives out all data. When going to READY
6750 (stop) state, just reset the original minimum threshold levels.
6753 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
6755 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
6756 (gst_type_find_element_handle_event),
6757 (gst_type_find_element_send_cached_events),
6758 (gst_type_find_element_change_state):
6759 * plugins/elements/gsttypefindelement.h:
6760 When typefinding is done in push mode, we should cache
6761 events we receive during typefinding instead of just
6762 dropping them (e.g. newsegment, custom events from
6763 dvdreadsrc etc.) and then send them out once we've
6764 determined the type of the stream (and decodebin
6765 has had a chance to plug in a decoder/demuxer).
6767 2006-03-27 Wim Taymans <wim@fluendo.com>
6769 * docs/design/part-qos.txt:
6772 2006-03-27 Wim Taymans <wim@fluendo.com>
6774 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
6776 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6777 (gst_base_src_send_event), (gst_base_src_change_state):
6778 Handle element seek correctly when we are streaming.
6781 2006-03-24 Michael Smith <msmith@fluendo.com>
6783 * docs/faq/gst-uninstalled:
6784 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
6785 allow you to correctly run intalled applications built against old
6786 core, using plugins that require updated core (e.g. running
6787 installed totem against a full uninstalled gstreamer stack)
6789 2006-03-24 Stefan Kost <ensonic@users.sf.net>
6791 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6794 2006-03-24 Wim Taymans <wim@fluendo.com>
6796 * docs/gst/gstreamer-sections.txt:
6797 Rearrange the order of the methods so that related methods
6798 are grouped together in sections.
6800 2006-03-24 Stefan Kost <ensonic@users.sf.net>
6803 Little clarification in the docs
6805 2006-03-24 Stefan Kost <ensonic@users.sf.net>
6809 * plugins/elements/gstidentity.c:
6810 * plugins/elements/gstqueue.c:
6811 * plugins/elements/gsttee.c:
6812 * plugins/elements/gsttypefindelement.c:
6813 GST_ELEMENT_DETAILS formatting
6815 2006-03-24 Wim Taymans <wim@fluendo.com>
6817 * libs/gst/base/gstbasesink.h:
6818 Only add fields, not insert or we break ABI.
6820 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
6822 * win32/common/libgstbase.def:
6823 * win32/common/libgstreamer.def:
6824 Update, add recently added functions.
6826 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
6828 * docs/gst/gstreamer-sections.txt:
6829 * gst/gstutils.c: (gst_pad_query_peer_position),
6830 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
6832 API: add some new utility functions:
6833 - gst_pad_query_peer_position()
6834 - gst_pad_query_peer_duration()
6835 - gst_pad_query_peer_convert()
6837 2006-03-23 Wim Taymans <wim@fluendo.com>
6839 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6840 (gst_base_sink_init), (gst_base_sink_finalize),
6841 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
6842 (gst_base_sink_set_property), (gst_base_sink_get_property),
6843 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
6844 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6845 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
6846 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6847 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6848 (gst_base_sink_preroll_object), (gst_base_sink_event),
6849 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
6850 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6851 (gst_base_sink_query), (gst_base_sink_change_state):
6852 Decouple max-lateness and the fact that QoS messages are generated
6853 with a new property (qos).
6854 added API: GstBaseSink::async_play()
6855 Add vmethod so subclasses can be notified of ASYNC playing
6857 Collect timestamp start and stop to report better current
6858 position in EOS/PLAYING/PAUSED/READY/NULL.
6859 Refactor QoS/frame dropping and other measurements.
6860 API: GstBaseSrc::qos
6863 * libs/gst/base/gstbasesink.h:
6864 Added Private struct.
6865 API: gst_base_sink_set_qos_enabled()
6866 API: gst_base_sink_is_qos_enabled()
6868 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
6870 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6871 If compiling against GLib-2.8 or newer, try to read the
6872 registry file using GMappedFile first before falling back
6873 to fopen() + fread() (#332151).
6875 2006-03-22 Wim Taymans <wim@fluendo.com>
6877 * gst/gstinfo.c: (gst_debug_set_active),
6878 (gst_debug_category_set_threshold):
6879 Disable debugging unless explicitly activated.
6882 2006-03-22 Wim Taymans <wim@fluendo.com>
6884 * gst/gstelement.c: (gst_element_set_locked_state),
6885 (gst_element_dispose):
6886 Cleanup the error case.
6888 * gst/gstobject.c: (gst_object_dispose):
6889 print a critical when some object was disposed with
6890 a parent, also revive the object since it might
6893 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
6895 * tools/gst-launch.1.in:
6898 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
6901 * tests/check/Makefile.am:
6902 disable some tests when we don't have a registry
6903 * tests/check/gst/gstutils.c: (gst_utils_suite):
6904 don't build the part that needs parsing
6906 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
6909 * tests/examples/Makefile.am:
6910 fix --disable-parse build
6912 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
6914 * tools/gst-feedback.1.in:
6915 Fix typo: s/feeback/feedback/ (#133494).
6917 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
6919 * tools/Makefile.am:
6920 * tools/gst-launch.1.in:
6921 Add FILES section and correct entry about GST_REGISTRY_PATH
6922 environment variable (#133495; #133494).
6924 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
6926 * tools/Makefile.am:
6927 * tools/gst-md5sum.1.in:
6928 * tools/gst-md5sum.c:
6929 Remove gst-md5sum and man page (the md5sink element
6930 required was removed ages ago)
6932 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
6934 * gst/gststructure.c: (gst_structure_id_set_value):
6935 Make sure that string fields in structures/taglists
6936 contain valid UTF-8 - we don't want to pass rubbish to
6937 applications because of a buggy plugin (cp. #334167).
6939 2006-03-21 Edward Hervey <edward@fluendo.com>
6941 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6942 (gst_bin_handle_message_func):
6943 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
6944 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
6945 (gst_element_set_bus_func):
6946 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
6947 * gst/gstminiobject.c: (gst_value_set_mini_object),
6948 (gst_value_take_mini_object):
6949 * gst/gstpad.c: (gst_pad_set_pad_template):
6950 * gst/gstpipeline.c: (gst_pipeline_dispose),
6951 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
6952 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
6953 (gst_collect_pads_chain):
6954 * libs/gst/net/gstnettimeprovider.c:
6955 (gst_net_time_provider_set_property):
6956 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
6957 It's in fact all issues with gst_*object_replace().
6959 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
6961 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
6963 * pkgconfig/gstreamer-check-uninstalled.pc.in:
6964 * pkgconfig/gstreamer-check.pc.in:
6965 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
6967 2006-03-21 Edward Hervey <edward@fluendo.com>
6972 gst_[buffer|event|message]_ref() macros are replaced by a static
6973 inline functions because gcc-4.1 will about if the return value
6975 * tests/check/gst/gstevent.c: (event_probe):
6976 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
6978 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
6981 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
6982 the type' case. (Closes: #335195 for now). In the future, when we
6983 depend on GLib 2.10, we could also intern the type name using
6984 g_intern_static_string()
6986 2006-03-20 Wim Taymans <wim@fluendo.com>
6988 * gst/gstbin.c: (gst_bin_handle_message_func),
6989 (bin_query_max_init), (bin_query_position_fold),
6990 (bin_query_position_done), (gst_bin_query):
6991 Position query should also take max of all streams.
6993 2006-03-20 Wim Taymans <wim@fluendo.com>
6995 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6996 (gst_fake_src_finalize):
6997 Fix leaks in fakesrc.
6999 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7000 Fix leaks in the testcase.
7002 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
7004 * gst/gst_private.h:
7005 add win32 specific import decoration(__declspec(dllimport))
7006 for all extern GstDebugCategory * variables
7007 * win32/common/libgstbase.def:
7008 * win32/common/libgstcontroller.def:
7009 * win32/common/libgstreamer.def:
7010 Add some exports, remove empty lines
7011 * win32/common/libgstdataprotocol.def:
7012 * win32/common/libgstdataprotocol.dsp:
7013 * win32/common/libgstnet.def:
7014 * win32/common/libgstnet.dsp:
7015 new project files and exportation files added
7017 2006-03-19 Wim Taymans <wim@fluendo.com>
7019 * tests/check/libs/basesrc.c: (eos_event_counter):
7020 Use proper return value for probe.
7022 2006-03-17 Wim Taymans <wim@fluendo.com>
7024 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7026 Don't leak buffers, caps and pads on negotiation errors.
7028 2006-03-16 Stefan Kost <ensonic@users.sf.net>
7031 * docs/faq/dependencies.xml:
7032 * docs/faq/developing.xml:
7034 * docs/faq/general.xml:
7035 * docs/faq/getting.xml:
7036 * docs/faq/legal.xml:
7037 * docs/faq/troubleshooting.xml:
7038 * docs/faq/using.xml:
7039 Faq review and update.
7041 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
7043 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7045 Don't pound the cpu to pieces by checking get_caps when accept_caps
7046 is called with the same caps as the pad already has.
7047 Use GST_DEBUG_OBJECT when outputting caps change information.
7049 2006-03-15 Wim Taymans <wim@fluendo.com>
7051 * gst/gstclock.c: (gst_clock_class_init):
7054 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
7059 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7060 (gst_pad_accept_caps), (gst_pad_configure_sink),
7061 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7062 Make the default acceptcaps behaviour be to check the requested
7063 caps against the gst_pad_get_caps output.
7065 Ensure that gst_pad_accept_caps is used to check caps when a pad
7066 doesn't have a setcaps function, so that pads automatically refuse
7067 caps that they don't allow in their pad template. (Fixes #332986)
7069 When a buffer with attached caps is pushed, ensure that the source
7070 pad receives those caps even if the element didn't call
7071 gst_pad_set_caps first.
7073 2006-03-15 Wim Taymans <wim@fluendo.com>
7075 * libs/gst/base/gstadapter.c:
7078 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
7080 * win32/common/libgstbase.def:
7081 * win32/common/libgstcontroller.def:
7082 * win32/common/libgstreamer.def:
7083 Add a whole bunch of missing functions (#334434).
7085 2006-03-14 Wim Taymans <wim@fluendo.com>
7087 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7088 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7089 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7090 Better debug info when we receive a segment event.
7091 Reorganize a bit so we can pass the get_times() results around.
7092 Use the segment format when calculating the running time.
7093 Don't do QoS is sync is disabled or we have no clock or the
7094 element does not want us to sync to the clock.
7095 Don't drop buffers if QoS is disabled for now.
7097 2006-03-14 Wim Taymans <wim@fluendo.com>
7099 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7100 Marked the stats property as unimplemented so people don't get
7102 Add debug message when regression goes wrong.
7103 Added some more docs.
7105 2006-03-14 Wim Taymans <wim@fluendo.com>
7107 * gst/gstsegment.c: (gst_segment_to_stream_time):
7108 Return correct return type in case of errors.
7110 2006-03-14 Wim Taymans <wim@fluendo.com>
7112 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7113 Don't segfault on invalid formats.
7115 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
7117 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7118 Can't use gst_segment_to_running_time() when the segment
7119 is not in GST_TIME_FORMAT (like with filesink, for example).
7120 Stops flac encoding pipelines from spewing critical warnings
7123 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
7125 * gst/gstpipeline.c: (gst_pipeline_class_init):
7126 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7128 * plugins/elements/gsttypefindelement.c:
7129 (gst_type_find_element_handle_event):
7130 Don't try to typefind empty streams.
7132 2006-03-14 Wim Taymans <wim@fluendo.com>
7134 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7135 (gst_base_sink_do_qos):
7136 Separate QoS calculation.
7137 Only drop buffers when lateness is bigger than the
7138 duration of the buffer.
7140 2006-03-13 Wim Taymans <wim@fluendo.com>
7142 * gst/gstpipeline.c: (gst_pipeline_set_property),
7143 (gst_pipeline_get_property), (do_pipeline_seek),
7144 (gst_pipeline_change_state), (gst_pipeline_set_delay),
7145 (gst_pipeline_get_delay):
7146 Don't deadlock when reading properties.
7148 2006-03-13 Wim Taymans <wim@fluendo.com>
7150 * libs/gst/base/gstbasetransform.c:
7151 (gst_base_transform_class_init), (gst_base_transform_init),
7152 (gst_base_transform_sink_event),
7153 (gst_base_transform_sink_eventfunc),
7154 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7155 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7156 (gst_base_transform_set_property),
7157 (gst_base_transform_get_property),
7158 (gst_base_transform_change_state), (gst_base_transform_update_qos),
7159 (gst_base_transform_set_qos_enabled),
7160 (gst_base_transform_is_qos_enabled):
7161 * libs/gst/base/gstbasetransform.h:
7162 Make basetransform virtual method for src events too.
7163 Handle QOS in basetransform.
7164 API: gst_base_transform_update_qos()
7165 API: gst_base_transform_set_qos_enabled()
7166 API: gst_base_transform_is_qos_enabled()
7168 2006-03-13 Wim Taymans <wim@fluendo.com>
7170 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7171 (gst_base_sink_do_sync):
7173 Use QOS debug category.
7175 2006-03-13 Wim Taymans <wim@fluendo.com>
7177 * plugins/elements/gstqueue.c:
7178 Very small doc update.
7180 2006-03-13 Wim Taymans <wim@fluendo.com>
7182 * gst/gst_private.h:
7183 * gst/gstinfo.c: (_gst_debug_init):
7184 Added QOS debug category
7186 2006-03-13 Wim Taymans <wim@fluendo.com>
7188 * docs/gst/gstreamer-sections.txt:
7189 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7191 * gst/gstbus.c: (gst_bus_class_init):
7194 * gst/gstelement.c: (gst_element_set_locked_state):
7196 Documentation updates.
7198 * gst/gstpipeline.c: (gst_pipeline_get_type),
7199 (gst_pipeline_class_init), (gst_pipeline_init),
7200 (gst_pipeline_dispose), (gst_pipeline_set_property),
7201 (gst_pipeline_get_property), (do_pipeline_seek),
7202 (gst_pipeline_send_event), (gst_pipeline_change_state),
7203 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7204 (gst_pipeline_get_delay):
7205 * gst/gstpipeline.h:
7206 Added methods for setting the delay.
7207 API: gst_pipeline_set_delay()
7208 API: gst_pipeline_get_delay()
7209 Add pipeline debug category
7212 Don't reset stream time when seek failed.
7214 2006-03-13 Wim Taymans <wim@fluendo.com>
7216 * docs/design/draft-klass.txt:
7217 * docs/design/part-clocks.txt:
7218 * docs/design/part-events.txt:
7219 * docs/design/part-gstbin.txt:
7220 * docs/design/part-gstpipeline.txt:
7221 * docs/design/part-messages.txt:
7222 * docs/design/part-negotiation.txt:
7223 * docs/design/part-overview.txt:
7224 * docs/design/part-preroll.txt:
7225 * docs/design/part-seeking.txt:
7226 * docs/design/part-states.txt:
7227 * docs/design/part-streams.txt:
7228 Documentation updates.
7230 2006-03-12 Julien MOUTTE <julien@moutte.net>
7232 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7233 us to leak strings...
7235 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
7237 * libs/gst/net/gstnettimeprovider.c:
7239 * win32/common/config.h:
7242 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
7244 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7247 Don't check for libgnomeui (leftover from old examples
7248 that aren't built or disted any longer) (#334303).
7250 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
7252 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7253 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7254 Emit RESOURCE_NO_SPACE_LEFT error here as well when
7255 there's no space left on the device.
7257 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
7260 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7261 to cast the input to GstClockTime before comparing with
7262 another GstClockTime value.
7264 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
7269 === release 0.10.4 ===
7271 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
7274 releasing 0.10.4, "Light"
7276 2006-03-10 Michael Smith <msmith@fluendo.com>
7278 * libs/gst/dataprotocol/dataprotocol.c:
7279 Fix docs for dataprocotol to not get the return types completely
7280 wrong for a few functions.
7282 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
7284 * docs/gst/gstreamer-sections.txt:
7285 * gst/gstpipeline.c: (gst_pipeline_class_init),
7286 (gst_pipeline_init), (gst_pipeline_set_property),
7287 (gst_pipeline_get_property), (gst_pipeline_change_state),
7288 (gst_pipeline_set_auto_flush_bus),
7289 (gst_pipeline_get_auto_flush_bus):
7290 * gst/gstpipeline.h:
7291 Add new API: gst_pipeline_set_auto_flush_bus() and
7292 gst_pipeline_get_auto_flush_bus() to disable automatic
7293 flushing of the pipeline's GstBus when going from READY
7294 to NULL state (#332045).
7296 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
7298 * docs/gst/gstreamer-sections.txt:
7299 * gst/gsturi.c: (gst_uri_has_protocol):
7301 Add new API: gst_uri_has_protocol() (#333779).
7303 2006-03-09 Wim Taymans <wim@fluendo.com>
7305 * gst/gstclock.c: (gst_clock_entry_new),
7306 (gst_clock_id_compare_func), (gst_clock_id_wait),
7307 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7308 (gst_clock_init), (gst_clock_get_internal_time),
7309 (gst_clock_set_master), (do_linear_regression),
7310 (gst_clock_add_observation), (gst_clock_set_property):
7314 Fix a possible segfault when the window-size is made smaller.
7315 Calculate jitter before performing the clock wait. Ideally
7316 the clock implementation should calculate jitter but we need
7317 API breakage for that.
7319 * gst/gstsystemclock.c: (gst_system_clock_init):
7322 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7323 Remove leftover else
7325 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7326 (gst_systemclock_suite):
7327 Added check to test GST_CLOCK_DIFF.
7329 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
7331 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7332 (gst_type_find_helper_get_range):
7333 If we are provided with the size, we should implement
7334 GstTypeFind::get_length, so that typefind functions who
7335 want to can actually peek at the middle of a file.
7337 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
7339 * docs/manual/advanced-dataaccess.xml:
7340 Add some very very basic error checking.
7342 * docs/pwg/appendix-checklist.xml:
7343 Some updates to the list of things to check when writing an element.
7345 2006-03-08 Wim Taymans <wim@fluendo.com>
7347 * docs/design/part-element-transform.txt:
7348 Added some docs about the design of tranform elements.
7350 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7351 (gst_base_src_loop), (gst_base_src_change_state):
7352 Mark buffers with the DISCONT flag.
7354 2006-03-08 Michael Smith <msmith@fluendo.com>
7356 * gst/gstregistry.h:
7357 * gst/gstregistryxml.c: (gst_registry_save),
7358 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7359 (gst_registry_xml_save_pad_template),
7360 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7361 (gst_registry_xml_write_cache):
7362 Rewrite registry-saving to avoid race conditions and check for
7365 2006-03-08 Wim Taymans <wim@fluendo.com>
7367 * libs/gst/base/gstbasetransform.c:
7368 (gst_base_transform_transform_caps),
7369 (gst_base_transform_transform_size),
7370 (gst_base_transform_prepare_output_buffer),
7371 (gst_base_transform_get_unit_size),
7372 (gst_base_transform_buffer_alloc),
7373 (gst_base_transform_handle_buffer),
7374 (gst_base_transform_change_state):
7375 Cleanups, separate normal flow from errors, add sensible
7377 Don't try to renegotiate when allocating an output buffer.
7378 Also copy DISCONT buffer flag when copying a buffer.
7379 Reset the transform after we finish streaming, not during.
7381 2006-03-08 Wim Taymans <wim@fluendo.com>
7383 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7384 Use last buffer timestamp in qos message.
7386 2006-03-07 Wim Taymans <wim@fluendo.com>
7388 Patch by: Christophe Fergeau
7390 * docs/pwg/advanced-tagging.xml:
7391 * docs/pwg/building-pads.xml:
7394 2006-03-07 Wim Taymans <wim@fluendo.com>
7396 * docs/libs/gstreamer-libs-sections.txt:
7397 Added basesink new methods.
7401 Docs updates. Flesh out the QoS docs.
7403 * libs/gst/base/gstadapter.c:
7404 Small doc clarification about ownership and flushing.
7406 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7407 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7408 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
7409 (gst_base_sink_get_property), (gst_base_sink_do_sync):
7410 * libs/gst/base/gstbasesink.h:
7412 Added new methods to allow subclass to control max-lateness
7414 Generate very basic QoS events based on last sync observation.
7415 Updated docs, fix typo, added some QoS blurb.
7417 * libs/gst/base/gstbasesrc.c:
7418 Remove obsolete _get_state() calls from docs.
7420 2006-03-07 Wim Taymans <wim@fluendo.com>
7422 * docs/libs/gstreamer-libs-sections.txt:
7423 * libs/gst/base/gstbasetransform.h:
7424 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
7425 Fix docs for GstBaseSrc.
7427 2006-03-07 Wim Taymans <wim@fluendo.com>
7429 * docs/gst/gstreamer-sections.txt:
7432 * libs/gst/base/gstbasetransform.h:
7433 Small documentation fixes.
7435 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
7438 Document thread-unsafety of gst_value_register_foo_func()
7439 when used at the same time as gst_value_foo() (#322628).
7441 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
7443 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
7444 (gst_push_src_check_get_range):
7445 Push sources don't support pull mode by default.
7447 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
7449 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7450 (gst_base_src_init), (gst_base_src_pad_check_get_range),
7451 (gst_base_src_default_check_get_range):
7452 * libs/gst/base/gstbasesrc.h:
7453 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
7454 provide default implementation, and rename
7455 gst_base_src_check_get_range() to
7456 gst_base_src_pad_check_get_range() for clarity.
7458 2006-03-06 Wim Taymans <wim@fluendo.com>
7460 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7461 Make property overridable.
7463 2006-03-06 Wim Taymans <wim@fluendo.com>
7465 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7466 (gst_base_sink_init), (gst_base_sink_set_property),
7467 (gst_base_sink_get_property), (gst_base_sink_do_sync):
7468 * libs/gst/base/gstbasesink.h:
7469 API addition: Make max-lateness a property.
7471 2006-03-06 Wim Taymans <wim@fluendo.com>
7473 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
7474 (gst_base_sink_do_sync), (gst_base_sink_render_object):
7475 Don't ever draw a frame that is >10ms late.
7477 2006-03-06 Michael Smith <msmith@fluendo.com>
7479 * gst/gstmessage.c: (_gst_message_copy):
7480 When copying a message, set the parent_refcount of the enclosed
7481 structure to point at the copy, not the original message.
7483 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
7485 Patch by: Christophe Fergeau
7488 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
7489 usable in c++ code (#333417)
7491 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
7494 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
7496 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
7498 * libs/gst/base/gstbasetransform.c:
7499 (gst_base_transform_transform_caps):
7500 Make sure caps are writable before passing them to
7503 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
7506 Fix some minor docs errors.
7508 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
7510 Patch by: Ross Burton <ross at burtonini dot com>
7512 * gst/gsterror.c: (_gst_resource_errors_init):
7514 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
7516 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
7519 Add a check and output a g_warning when GStreamer is built
7520 against GLib 2.6 but running against 2.8 or higher, and vice
7521 versa. (Closes: #323542)
7523 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
7525 * gst/parse/parse.l:
7526 Commit patch for parse_launch syntax from #331255. Removes
7527 support for quoted strings and mimetypes when writing filtered
7528 caps. See the bug report for more details - I'm pretty sure this
7529 obscure feature is not in use by _anyone_ anywhere.
7531 With this simple change, the size of the gstreamer.so here
7532 drops from 2193KB to 1565KB.
7534 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
7536 * plugins/elements/gsttypefindelement.h:
7537 * plugins/elements/gsttypefindelement.c:
7538 (gst_type_find_element_src_event), (start_typefinding),
7539 (stop_typefinding), (gst_type_find_element_handle_event),
7540 (gst_type_find_element_chain),
7541 (gst_type_find_element_chain_do_typefinding):
7542 Use gst_type_find_helper_for_buffer() for chain-based
7545 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
7547 * plugins/elements/gsttypefindelement.c:
7548 (gst_type_find_element_class_init),
7549 (gst_type_find_element_set_property),
7550 (gst_type_find_element_get_property):
7551 Deprecate "maximum" property (not only was it only taken into
7552 account for typefinding in push-mode anyway, it also was never
7553 actually possible to set it in the first place because the
7554 property was registered with the numeric property ID for the
7555 "minimum" property). Register "maximum" property correctly,
7556 for the sake of future copy'n'pasters. Remove some cruft
7557 from property get/set functions.
7559 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
7561 * plugins/elements/gsttypefindelement.c:
7562 (gst_type_find_element_activate):
7563 Use gst_type_find_helper_get_range() here, so we
7564 can honour the "minimum" property and also emit
7565 the signal with the correct probability of the found caps.
7567 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
7569 * docs/libs/gstreamer-libs-sections.txt:
7570 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7571 (helper_find_suggest), (gst_type_find_helper_get_range),
7572 (gst_type_find_helper):
7573 * libs/gst/base/gsttypefindhelper.h:
7574 New API: gst_type_find_helper_get_range() (#333042).
7576 2006-03-02 Michael Smith <msmith@fluendo.com>
7578 * gst/gstregistryxml.c: (load_feature):
7579 Asserting on a failure to read part of the registry is Not Cool.
7580 Just log a warning and return NULL (which is already handled)
7582 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
7584 * win32/common/libgstbase.def:
7585 added export of gst_type_find_helper_for_buffer
7586 * win32/common/libgstbase.def:
7587 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
7588 gst_ghost_pad_get_target
7590 2006-02-28 Wim Taymans <wim@fluendo.com>
7592 * docs/design/draft-klass.txt:
7594 Added Connector to mark elements that are only used to
7595 allow pipeline connections.
7596 Moved Debug to extra feature since most of them are
7597 functionally something else.
7599 2006-02-28 Wim Taymans <wim@fluendo.com>
7601 * docs/design/draft-klass.txt:
7602 Some updates and clarifications.
7604 2006-02-28 Wim Taymans <wim@fluendo.com>
7606 * docs/design/draft-klass.txt:
7607 Proposal for klass field values.
7609 * docs/design/part-streams.txt:
7610 Start of a doc describing stream anatomy.
7612 2006-02-28 Wim Taymans <wim@fluendo.com>
7614 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
7615 Help the compiler a bit with type registration.
7616 Use existing forward cod path instead of duplicating it when
7619 * gst/gstbus.c: (gst_bus_get_type):
7620 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
7621 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
7622 * gst/gstclock.c: (gst_clock_get_type):
7623 * gst/gstelement.c: (gst_element_get_type),
7624 * gst/gstelementfactory.c: (gst_element_factory_get_type):
7625 * gst/gstindexfactory.c: (gst_index_factory_get_type):
7626 * gst/gstminiobject.c: (gst_mini_object_get_type):
7627 * gst/gstpad.c: (gst_pad_get_type):
7628 * gst/gstsegment.c: (gst_segment_get_type):
7629 * gst/gststructure.c: (gst_structure_get_type):
7630 * gst/gstsystemclock.c: (gst_system_clock_get_type):
7631 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
7633 Help compiler with type registration.
7635 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7638 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7640 * plugins/elements/gsttypefindelement.c:
7641 (gst_type_find_element_handle_event):
7642 When we get an EOS event and have not found a type yet
7643 (most likely because we had not yet accumulated
7644 TYPE_FIND_MIN_SIZE of data yet), try to determine the
7645 type given the data we have so far. Fixes typefinding
7646 for very short streams again, most notably quicktime
7647 redirections as used on Apple's trailer site (#331701).
7649 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7651 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
7652 (gst_type_find_helper):
7653 Try typefinding factories with the highest rank first.
7655 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7657 * docs/libs/gstreamer-libs-docs.sgml:
7658 * docs/libs/gstreamer-libs-sections.txt:
7659 * libs/gst/base/gsttypefindhelper.c:
7660 Add section for typefind helper and add documentation
7661 for the old and the new function.
7663 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7665 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
7666 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
7667 (gst_type_find_helper_for_buffer):
7668 * libs/gst/base/gsttypefindhelper.h:
7669 New API: gst_type_find_helper_for_buffer() (#332723).
7671 2006-02-27 Michael Smith <msmith@fluendo.com>
7673 Patch by: Loïc Minier
7677 * docs/slides/Makefile.am:
7678 prevent CVS directories getting disted.
7680 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7682 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
7683 Use the REFCOUNTING category for caps refcounting.
7685 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
7687 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
7688 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
7690 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
7692 * plugins/elements/gsttypefindelement.c:
7693 (gst_type_find_element_activate):
7694 Use gst_pad_check_pull_range() before _activate_pull()
7695 to avoid unnecessary open/close (see #331690).
7697 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
7700 Docs enhancement: make it crystal clear what the
7701 gst_pad_add_*_probe() callbacks should look like.
7703 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
7705 * libs/gst/base/gstbasesrc.c:
7706 Document how applications can stop recording from
7707 live sources (see #330996).
7709 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
7711 * tests/check/Makefile.am:
7712 * tests/check/libs/basesrc.c: (eos_event_counter),
7713 (basesrc_eos_events_pull), (basesrc_eos_events_push),
7714 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
7715 (gst_basesrc_suite), (main):
7716 ... and add some tests for the base source EOS stuff.
7718 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
7720 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
7721 Test case originally showed the problem fixed below,
7722 but was then amended. Add checks back at the place
7723 where they used to be.
7725 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
7727 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7728 (gst_base_src_init), (gst_base_src_loop),
7729 (gst_base_src_activate_push), (gst_base_src_activate_pull),
7730 (gst_base_src_change_state):
7731 * libs/gst/base/gstbasesrc.h:
7732 Don't unconditionally send EOS when going from PAUSED to
7733 READY state, esp. make sure we don't send two EOS events
7734 in some cases (e.g. one when reaching EOS and one when
7735 going from PAUSED to READY). Also, we don't want to send
7736 EOS events when operating in pull mode. However, we do
7737 want to send an EOS event when shutting down a live
7738 source explicitly, for example (fixes #330996).
7740 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
7742 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7743 Update src->read_position after a seek when not using mmap.
7744 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
7746 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
7752 Make things work with --disable-parse as they do with
7753 --disable-load-save - the symbols involved disappear, but the
7754 header is still installed and GST_DISABLE_PARSE is included via
7757 2006-02-20 Julien MOUTTE <julien@moutte.net>
7759 * libs/gst/base/gstbasetransform.c:
7760 (gst_base_transform_change_state): Fix a stupid bug. I was
7761 sure I compiled that.
7763 2006-02-20 Julien MOUTTE <julien@moutte.net>
7765 * gst/gstpad.c: (gst_pad_set_blocked_async):
7766 * gst/gstutils.c: (gst_pad_add_data_probe),
7767 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7768 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7769 (gst_pad_remove_buffer_probe): Make those function act on the
7770 ghostpad target when it's a ghostpad. (Closes #331727)
7772 2006-02-20 Julien MOUTTE <julien@moutte.net>
7774 * libs/gst/base/gstbasetransform.c:
7775 (gst_base_transform_change_state): Make basetransform reusable.
7778 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
7780 * docs/random/release:
7781 Move the current documentation of how to do a release to the top
7784 * gst/gstbin.c: (gst_bin_class_init),
7785 (gst_bin_handle_message_func):
7786 Allow multiple state-recalculation threads. (Closes #328873)
7788 2006-02-19 Julien MOUTTE <julien@moutte.net>
7790 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
7791 * gst/gstpad.c: (gst_pad_set_event_function),
7792 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7793 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
7794 2 strings. You can't use the STR_NULL macro on that.
7796 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
7798 * gst/gstpad.c: (gst_pad_set_event_function),
7799 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7800 (gst_pad_set_getcaps_function)
7801 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
7802 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
7803 So now, we can use --gst-debug-level=5 on Windows
7804 * win32/common/libgstcontroller.def:
7805 Added export of gst_controller_init
7806 * win32/vs6/libgstcontroller.dsp:
7807 Fixed Release post build configuration
7809 2006-02-17 Wim Taymans <wim@fluendo.com>
7811 * tests/check/gst/gstquery.c: (GST_START_TEST):
7812 Added another check.
7814 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
7816 * plugins/elements/gsttypefindelement.c: (find_peek):
7817 We can do peeks at non-zero offsets, as long as they
7818 fall within the buffer we have.
7820 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
7822 * tests/check/Makefile.am:
7823 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
7824 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
7825 (parse_suite), (main):
7826 Add testsuite for parse launch syntax
7828 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
7830 * plugins/elements/gsttypefindelement.c:
7831 (gst_type_find_element_chain):
7832 When typefinding is unsuccessful in the chain function, don't
7833 error out immediately. Only error out with NO_CAPS_FOUND if
7834 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
7835 otherwise simply wait for more data so we can try typefinding
7836 again with more data later. Also, don't attempt to typefind
7837 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
7838 this should improve typefinding from network sources where the
7839 size of the first buffer can be somewhat random.
7841 2006-02-14 Wim Taymans <wim@fluendo.com>
7843 * docs/gst/gstreamer-sections.txt:
7844 * gst/gstpadtemplate.c:
7845 * gst/gstpadtemplate.h:
7846 Fix padtemplate docs, fixes #328805.
7848 2006-02-14 Wim Taymans <wim@fluendo.com>
7850 * tools/gst-launch.c: (main):
7851 NO_PREROLL is not an ERROR so don't send confusing messages
7854 2006-02-14 Wim Taymans <wim@fluendo.com>
7856 Patch by: Torsten Schoenfeld
7858 * gst/gstregistry.c: (gst_registry_get_default),
7859 (_gst_registry_cleanup):
7860 Protect default registry with lock and ref/sink it.
7863 2006-02-14 Wim Taymans <wim@fluendo.com>
7866 * gst/gstquery.c: (gst_query_list_add_format),
7867 (gst_query_set_formatsv), (gst_query_parse_formats_length),
7868 (gst_query_parse_formats_nth):
7869 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7872 2006-02-14 Wim Taymans <wim@fluendo.com>
7874 * docs/gst/gstreamer-sections.txt:
7875 Reworked query docs.
7877 * gst/gstquery.c: (gst_query_new_formats),
7878 (gst_query_list_add_format), (gst_query_set_formats),
7879 (gst_query_set_formatsv), (gst_query_parse_formats_length),
7880 (gst_query_parse_formats_nth):
7882 Flesh out formats query, added some new methods.
7883 Fix part of #324398.
7885 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
7886 Added query creation tests.
7888 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
7890 * gst/gstpad.c: (fixate_value):
7891 Add a default fixation for fraction lists.
7893 2006-02-13 Wim Taymans <wim@fluendo.com>
7895 * gst/gsttask.c: (gst_task_init), (gst_task_func),
7896 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
7899 Detect and warn for obvious deadlocks. fixes #320340
7900 Fix error case where lock was not released.
7902 * tests/check/Makefile.am:
7903 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
7904 (task_func), (gst_element_suite), (main):
7907 2006-02-13 Wim Taymans <wim@fluendo.com>
7909 * docs/gst/gstreamer-sections.txt:
7911 Add new functions to docs.
7913 2006-02-13 Wim Taymans <wim@fluendo.com>
7915 * docs/design/part-TODO.txt:
7916 Updated TODO list, basesrc supports seeking to non-bytes
7919 * docs/design/part-element-sink.txt:
7922 * gst/gstbin.c: (bin_replace_message),
7923 (gst_bin_handle_message_func):
7924 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
7925 * gst/gstevent.c: (gst_event_finalize):
7926 * gst/gstpad.c: (gst_pad_event_default_dispatch),
7927 (gst_pad_send_event):
7928 Use shiny new _TYPE_NAME macros.
7930 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
7931 Move debug statement up.
7933 * gst/gstelement.c: (gst_element_set_locked_state):
7936 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
7938 * docs/gst/gstreamer-sections.txt:
7941 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
7942 macros (#330906). Also, document the already existing
7943 GST_QUERY_TYPE macro.
7945 2006-02-13 Wim Taymans <wim@fluendo.com>
7947 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
7948 (event_probe), (GST_START_TEST):
7949 Only events up to the pipeline EOS are counted, there are
7950 some more when going to NULL currently which we don't care
7953 2006-02-13 Wim Taymans <wim@fluendo.com>
7955 * gst/gstpad.c: (gst_pad_send_event):
7956 Correctly check flushing and emit probes. fixes #330125
7958 2006-02-10 Andy Wingo <wingo@pobox.com>
7960 * gst/gstbus.c (gst_bus_class_init): Declare our private data
7962 (gst_bus_init): Cache the location of the private data in the
7964 (gst_bus_enable_sync_message_emission)
7965 (gst_bus_disable_sync_message_emission): Implement new public
7967 (gst_bus_post): Emit the sync-message signal if the user asked for
7970 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
7971 location of the bus-private structure.
7972 (gst_bus_enable_sync_message_emission)
7973 (gst_bus_disable_sync_message_emission): API addition
7975 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
7977 Patch by: Vincent Torri
7979 * docs/pwg/building-boiler.xml:
7980 PWG patch from #326800
7982 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
7986 * docs/design/Makefile.am:
7989 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
7994 === release 0.10.3 ===
7996 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
7999 releasing 0.10.3, "Like a virgin"
8001 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
8004 2nd prerelease of 0.10.3
8005 Bump libtool versioning.
8007 2006-02-07 Andy Wingo <wingo@pobox.com>
8009 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8010 update last_stop if we're in TIME format and the timestamp is
8013 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
8014 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
8015 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8016 If we get a new newsegment with a different format, adapt
8019 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8020 of 0. Not a problem, really.
8022 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8025 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
8030 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
8033 project files updated to the default vs7 configuration
8034 * win32/common/libgstbase.def:
8035 * win32/common/libgstreamer.def:
8037 removed empty lines,
8038 sorted all exported symbols alphabetically
8039 * win32/common/dirent.c:
8040 * win32/common/dirent.h:
8041 * win32/common/gchar.h:
8042 use windows line end.
8044 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
8046 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8047 Send EOS event when stopping.
8049 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
8052 Tell folks what to do if the plugin-foobar.xml file
8053 hasn't been generated for a newly-added plugin.
8055 2006-02-05 Julien MOUTTE <julien@moutte.net>
8057 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8058 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8059 (gst_collect_pads_start), (gst_collect_pads_stop),
8060 (gst_collect_pads_event): Collectpads now holds a reference
8061 to the GstPad that was added. Indeed we don't want to look
8062 at pads that might just go away with no warning...
8064 2006-02-05 Julien MOUTTE <julien@moutte.net>
8066 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8067 (gst_collect_pads_start), (gst_collect_pads_stop),
8068 (gst_collect_pads_event), (gst_collect_pads_chain):
8069 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8070 Mark Nauwelaerts's patch on bug #328491.
8072 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
8074 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8076 Add some simple tests for gst_parse_bin_from_description() and
8077 gst_bin_find_unconnected_pad() (#329069).
8079 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
8081 * tools/gst-launch.c: (event_loop), (main):
8082 Catch errors during preroll (#320084).
8084 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
8086 * plugins/elements/gsttypefindelement.c:
8087 (gst_type_find_element_activate):
8088 Post TYPE_NOT_FOUND error message when typefinding
8089 is unsuccessful in the activate function as well.
8091 2006-02-02 Wim Taymans <wim@fluendo.com>
8093 * docs/design/part-element-sink.txt:
8096 2006-02-02 Wim Taymans <wim@fluendo.com>
8098 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8099 (gst_base_sink_render_object),
8100 (gst_base_sink_queue_object_unlocked):
8101 Only keep track of prerollable items when we are
8103 Before rendering after preroll, always check if we
8105 Added some more debugging.
8107 2006-02-02 Wim Taymans <wim@fluendo.com>
8109 * gst/gstelement.c: (gst_element_continue_state),
8110 (gst_element_set_state_func), (gst_element_change_state):
8111 Fixed #326576, been running this for quite some time with
8112 no regressions at all.
8114 2006-02-02 Wim Taymans <wim@fluendo.com>
8117 Added more suppressions
8119 2006-02-02 Wim Taymans <wim@fluendo.com>
8121 * docs/design/part-element-sink.txt:
8124 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8125 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8126 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8127 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8128 (gst_base_sink_do_sync), (gst_base_sink_render_object),
8129 (gst_base_sink_preroll_object),
8130 (gst_base_sink_queue_object_unlocked),
8131 (gst_base_sink_queue_object), (gst_base_sink_event),
8132 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8133 (gst_base_sink_loop), (gst_base_sink_activate_pull),
8134 (gst_base_sink_get_position), (gst_base_sink_change_state):
8135 * libs/gst/base/gstbasesink.h:
8136 Totally refactored matching the design doc.
8137 Use two segments, one to clip incomming buffers and another to
8139 Handle queueing correctly, bypass the queue when playing.
8140 Make EOS cancelable.
8141 Handle errors correctly when operating in pull based mode.
8143 * tests/check/elements/fakesink.c: (GST_START_TEST),
8145 Added new check for sinks.
8147 2006-02-02 Wim Taymans <wim@fluendo.com>
8149 * gst/gstsegment.c: (gst_segment_clip):
8150 No reason to refuse to clip when start == -1
8152 2006-02-02 Stefan Kost <ensonic@users.sf.net>
8155 * docs/manual/intro-basics.xml:
8156 * docs/manual/intro-preface.xml:
8157 * docs/manual/manual.xml:
8158 * docs/pwg/advanced-dparams.xml:
8159 * docs/pwg/intro-basics.xml:
8160 * docs/pwg/intro-preface.xml:
8162 describe dparams (controller) for plugins
8163 unify docs a little more
8165 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
8167 * docs/gst/gstreamer-sections.txt:
8168 * gst/gstutils.c: (element_find_unconnected_pad),
8169 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8171 Add new API: gst_parse_bin_from_description() and
8172 gst_bin_find_unconnected_pad() (#329069).
8174 2006-02-01 Stefan Kost <ensonic@users.sf.net>
8176 * docs/manual/README:
8177 uncover a nasty detail of the docs build
8179 2006-01-31 Wim Taymans <wim@fluendo.com>
8181 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8182 Don't cache duration messages if we're not going to use or
8185 2006-01-31 Stefan Kost <ensonic@users.sf.net>
8187 * docs/manual/advanced-dparams.xml:
8188 * docs/pwg/advanced-dparams.xml:
8192 * libs/gst/controller/lib.c: (gst_controller_init):
8195 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
8197 * gst/gstelement.c: (gst_element_message_full):
8198 also show file/line/func if no additional debug was given
8200 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
8202 * win32/vs7/grammar.vcproj:
8203 activate copy of autogenerated files for Release mode
8205 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
8207 * win32/common/libgstreamer.def:
8208 export gst_value_compare
8210 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
8212 * plugins/elements/Makefile.am:
8213 * plugins/elements/gstelements.c:
8214 * plugins/elements/gstfdsink.c: (_do_init),
8215 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8216 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8217 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8218 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8219 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8220 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8221 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8222 * plugins/elements/gstfdsink.h:
8223 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8225 2006-01-30 Stefan Kost <ensonic@users.sf.net>
8227 * docs/manual/advanced-dparams.xml:
8229 * docs/manual/advanced-position.xml:
8230 * docs/manual/basics-init.xml:
8231 * docs/manual/manual.xml:
8232 * docs/manual/titlepage.xml:
8234 * docs/pwg/titlepage.xml:
8235 cleanup xml (more to come)
8236 * libs/gst/controller/gstcontroller.c:
8239 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
8241 * win32/vs6/grammar.dsp:
8242 add autogen of gstmarshal.c,h for Release mode
8244 2006-01-30 Wim Taymans <wim@fluendo.com>
8246 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8247 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8248 (gst_base_sink_handle_object), (gst_base_sink_event),
8249 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8250 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8251 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8252 (gst_base_sink_deactivate), (gst_base_sink_activate),
8253 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8254 (gst_base_sink_query), (gst_base_sink_change_state):
8255 Basesink cleanups, remove some old code.
8256 Handle the case where a subclass can preroll in the render
8257 method (mostly audiosinks).
8259 Remove some locks around variables that are now protected
8260 with the PREROLL_LOCK (clock_id, flushing, ..).
8261 Optimize position query some more, do correct locking.
8262 Remove old code to push queue in state change, this is not
8263 needed anymore since preroll blocks on all prerollable items
8265 Almost implemented as described in design doc.
8267 2006-01-30 Wim Taymans <wim@fluendo.com>
8269 * tests/check/gst/gstbin.c: (GST_START_TEST):
8270 Wait for refcount to settle down before checking.
8272 2006-01-30 Wim Taymans <wim@fluendo.com>
8274 * docs/design/part-element-sink.txt:
8275 Pseudo code overview of desired sink behaviour regarding
8278 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
8279 * win32/vs6/grammar.dsp:
8280 fix some bugs in Release mode for autogenerated files
8282 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
8283 * win32/common/libgstbase.def:
8284 * win32/common/libgstreamer.def:
8285 export some new symbols: gst_base_src_set_format,
8286 gst_iterator_next, gst_structure_set_valist
8288 2006-01-29 Julien MOUTTE <julien@moutte.net>
8290 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8291 Set pad functions unconditionally. Fixes #329105.
8293 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
8295 add vs8 project files created by Sergey Scobich
8297 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
8299 * gst/gstutils.c: (gst_element_unlink_pads):
8300 Don't leak pad references.
8302 * tests/check/elements/fakesink.c: (GST_START_TEST):
8303 * tests/check/generic/sinks.c: (GST_START_TEST):
8304 * tests/check/generic/states.c: (GST_START_TEST):
8305 * tests/check/gst/gstbin.c: (GST_START_TEST):
8306 * tests/check/gst/gstcaps.c: (GST_START_TEST):
8307 * tests/check/gst/gstelement.c: (GST_START_TEST):
8308 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8309 * tests/check/gst/gstiterator.c: (GST_START_TEST):
8310 * tests/check/gst/gstvalue.c: (GST_START_TEST):
8311 Fix a bunch of leaks. Make generic/sinks.c
8312 use a bit less cpu by slowing the buffer rate
8313 between fakesrc and fakesink.
8315 2006-01-27 Stefan Kost <ensonic@users.sf.net>
8317 * gst/gstelement.c: (gst_element_send_event):
8320 * gst/gstiterator.c:
8321 * gst/gstiterator.h:
8322 * gst/gstpad.c: (gst_pad_send_event):
8323 * gst/gststructure.c:
8327 * libs/gst/base/gstadapter.c:
8328 doc fixes, to link to function, just write gst_cool_function(), don't
8331 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
8333 * plugins/elements/gsttee.c: (gst_tee_do_push),
8334 (gst_tee_handle_buffer):
8335 Always prefer an actual return value from a src
8336 pad in place of NOT_LINKED. This means we return
8337 WRONG_STATE when all src pads are WRONG_STATE
8338 instead of NOT_LINKED.
8340 Lock when replacing the last message to prevent
8341 racing with the get_property method.
8345 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
8347 * tests/check/Makefile.am:
8348 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8350 Add a very simple check that should have caught the memleak I fixed
8351 last night (if not for the slice allocator hiding it)
8353 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
8355 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8356 (gst_bin_remove_func), (gst_bin_handle_message_func),
8357 (bin_query_duration_fold), (bin_query_generic_fold):
8358 Clean up references to the clock provider when disposed or when
8359 handling a clock-lost message from it.
8361 Unref sinks when performing a query via gst_iterator_fold, as the
8362 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8364 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8365 (gst_clock_set_master):
8366 Drop our reference to the master clock, if any, when we are disposed.
8368 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8369 Chain up in dispose.
8371 2006-01-26 Wim Taymans <wim@fluendo.com>
8373 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8376 2006-01-26 Julien MOUTTE <julien@moutte.net>
8378 * plugins/elements/gsttee.c: (gst_tee_do_push),
8379 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8380 handles pad being NOT_LINKED or in WRONG_STATE.
8382 2006-01-26 Stefan Kost <ensonic@users.sf.net>
8387 2006-01-26 Stefan Kost <ensonic@users.sf.net>
8390 remove obsolete entry
8392 2006-01-26 Stefan Kost <ensonic@users.sf.net>
8394 * docs/gst/gstreamer-sections.txt:
8395 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8396 (gst_bin_iterate_sources), (gst_bin_send_event):
8398 * gst/gstelement.c: (gst_element_send_event):
8400 * gst/gstpad.c: (gst_pad_send_event):
8401 added code for downstream events, reviewed docs in gstevent.c
8403 2006-01-25 Julien MOUTTE <julien@moutte.net>
8405 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8406 We only query position using the clock in the playing state.
8407 Query peer in the other cases.
8408 * win32/common/config.h: Updates.
8410 2006-01-24 Wim Taymans <wim@fluendo.com>
8412 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8413 A clock entry that is scheduled for the exact time of the
8414 clock is still in time.
8416 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8417 (gst_base_sink_do_sync):
8418 Add some more debug info.
8420 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
8423 Add new vs7 project files and solution.
8425 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
8428 all files removed as they were out-dated.
8430 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
8432 * docs/random/release:
8434 * gst/gstbin.c: (gst_bin_init):
8435 * gst/gstbus.c: (gst_bus_new):
8437 * gst/gstpipeline.c: (gst_pipeline_init):
8438 use gst_bus_new(), improve logging, fix docs
8439 * win32/common/config.h:
8440 update for cvs build
8442 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
8445 up required version of automake to 1.7
8447 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
8449 * win32/common/libgstreamer.def:
8450 export gst_buffer_is_metadata_writable
8452 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
8454 * docs/gst/gstreamer-sections.txt:
8456 Add gst_event_replace() (#327001)
8458 2006-01-20 Wim Taymans <wim@fluendo.com>
8460 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8461 Make it actually compile too..
8463 2006-01-20 Wim Taymans <wim@fluendo.com>
8466 Clarify behaviour of _is_equal() when passing NULL parameters.
8468 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8470 Cleanups. Don't unref NULL caps.
8471 When setting the same caps, protect caps of the pad with
8473 Use full functionality of _is_equal() when comparing caps.
8475 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
8477 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8478 Don't loop infinitely if there are no buffers to present. Partially
8479 fixes #327197, but collectpads is just broken for reusing elements
8480 to do multiple encodes atm.
8482 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
8484 * tools/gst-inspect.c: (print_element_features):
8485 * tools/gst-xmlinspect.c: (main):
8486 URL_HANDLER is not a plugin feature we can search for in
8489 2006-01-19 Edward Hervey <edward@fluendo.com>
8491 * gst/gstelement.c: (gst_element_pads_activate):
8492 When activating, do src pads first, then sink pads.
8493 When de-activating, do sink pads first, then src pads.
8495 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8497 * docs/gst/gstreamer-sections.txt:
8498 Add gst_index_add_associationv to the docs
8500 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8505 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
8506 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
8507 Do some refactoring. Doesn't actually change functionality,
8508 but makes landing the DRAIN event easier later.
8510 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
8512 * docs/pwg/advanced-scheduling.xml:
8513 Update from 0.9.x to 0.10 API and make example a bit
8516 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8518 * docs/gst/gstreamer-sections.txt:
8519 Add gst_buffer_(is|make)_metadata_writable methods.
8521 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8523 * docs/design/part-sparsestreams.txt:
8524 Update sparse streams doc, hopefully for greater clarity
8526 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
8528 * docs/design/part-events.txt:
8529 Remove mention of FILLER events.
8532 * docs/design/part-sparsestreams.txt:
8533 Write some things about using NEWSEGMENT to keep sparse streams
8536 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
8538 * gst/gstbin.c: (gst_bin_dispose):
8539 Guard gst_object_unref call against a NULL object (dispose
8540 can theoretically be called multiple times).
8542 2006-01-18 Wim Taymans <wim@fluendo.com>
8544 * gst/gstbin.c: (gst_bin_element_set_state):
8545 * gst/gstclock.c: (gst_clock_id_wait):
8546 Added some more debug info.
8548 * libs/gst/base/gstadapter.c:
8551 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8552 (gst_base_sink_do_sync), (gst_base_sink_chain):
8553 Added some comments.
8555 2006-01-18 Wim Taymans <wim@fluendo.com>
8557 * tests/check/Makefile.am:
8558 * tests/check/elements/fakesink.c: (chain_async_buffer),
8559 (chain_async), (chain_async_return), (GST_START_TEST),
8560 (fakesink_suite), (main):
8561 Added fakesink test that checks prerolling and clipping
8564 * tests/check/gst/gstutils.c: (GST_START_TEST):
8565 Make check run faster so that buildbots don't timeout.
8567 2006-01-18 Wim Taymans <wim@fluendo.com>
8569 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8570 (gst_base_sink_do_sync):
8572 When the sink finishes blocking on the preroll buffer, it can
8573 immediatly render it instead of rendering when the next buffer
8576 2006-01-18 Wim Taymans <wim@fluendo.com>
8578 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
8579 (gst_base_sink_get_property), (gst_base_sink_do_sync),
8580 (gst_base_sink_chain):
8582 GST_ELEMENT_CLOCK and sync are protected with LOCK.
8583 Don't store _last_stop if the buffer is dropped.
8585 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
8587 * plugins/elements/gsttypefindelement.c:
8588 (gst_type_find_element_class_init):
8589 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
8590 object method handler that sets the caps on the pad and we want
8591 that to happen before we emit the signal (fixes e.g. feeding a
8592 plain text file to decodebin).
8594 2006-01-18 Christian Schaller <Christian@fluendo.com>
8596 * gst/gstplugin.c: Add MPL and Proprietary as license options
8598 2006-01-18 Andy Wingo <wingo@pobox.com>
8600 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
8601 symbol was exported before, it appears this was just an oversight.
8603 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
8605 * gst/gstindex.c (gst_index_add_associationv): Changed int in
8606 prototype to gint. OK since this prototype was not in the header.
8608 2006-01-17 Andy Wingo <wingo@pobox.com>
8610 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
8611 registry while we remove plugins.
8613 * tools/gst-inspect.c (print_element_info): Don't unref the
8614 factory arg, that should be the responsibility of whatever code
8615 received the ref. Fixes a double-free when called from
8616 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
8617 (main): Unref the factory if we have one.
8618 (print_element_list): No change -- relies on the
8619 plugin_feature_list_free to free the list of features.
8621 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
8623 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8624 (gst_buffer_make_metadata_writable):
8626 * libs/gst/base/gstbasetransform.c:
8627 (gst_base_transform_prepare_output_buf):
8628 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8629 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8630 Replace gst_buffer_(make|is)_metadata_writable patch now
8631 that the release is out.
8633 2006-01-17 Andy Wingo <wingo@pobox.com>
8635 * gst/gstregistry.c: Reflow design comment. Update so as to speak
8636 in the present tense without reference to versions.
8638 * gst/gstregistry.c (gst_registry_add_plugin)
8639 (gst_registry_remove_plugin, gst_registry_remove_feature)
8640 (gst_registry_find_feature, gst_registry_get_feature_list)
8641 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
8642 (gst_registry_lookup, gst_registry_scan_path)
8643 (_gst_registry_remove_cache_plugins)
8644 (gst_registry_get_feature_list_by_plugin): Add argument
8647 === release 0.10.2 ===
8649 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
8652 releasing 0.10.2, "If man is five"
8654 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
8658 * libs/gst/base/gstbasetransform.c:
8659 (gst_base_transform_prepare_output_buf):
8660 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8661 * tests/check/gst/gstbuffer.c: (gst_test_suite):
8662 Back out patch until after the release.
8664 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
8666 * gst/gstminiobject.c:
8667 Spelling fix in docs.
8668 * ChangeLog - remove conflict indicator
8670 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
8672 Reviewed By: Andy Wingo
8674 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8675 (gst_buffer_make_metadata_writable):
8677 Add gst_buffer_(is|make)_metadata_writable as analogues of
8678 gst_buffer_(is|make)_writable.
8680 * libs/gst/base/gstbasetransform.c:
8681 (gst_base_transform_prepare_output_buf):
8682 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8683 Use name gst_buffer_(is|make)_metadata_writable functions.
8685 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8686 Test gst_buffer_(is|make)_metadata_writable
8690 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
8692 * docs/manual/Makefile.am:
8693 don't do parallel make
8696 * win32/common/config.h.in:
8697 add generations for HOST_CPU and GST_MAJORMINOR
8698 * win32/common/config.h:
8699 commit generated result
8701 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
8703 * docs/manual/appendix-integration.xml:
8704 Update GNOME integration section to use gst_init_get_option_group()
8705 instead of the old popt stuff (#322911). Also, GNOME applications
8706 should now use gconf*sink and gconf*src instead of the old gconf
8709 2006-01-13 Stefan Kost <ensonic@users.sf.net>
8712 * docs/gst/gstreamer-docs.sgml:
8713 * docs/gst/gstreamer-sections.txt:
8714 * docs/libs/gstreamer-libs-sections.txt:
8715 add new API entries to the docs
8716 * libs/gst/controller/Makefile.am:
8717 * libs/gst/controller/gstcontroller.c:
8718 * libs/gst/controller/gstcontroller.h:
8719 * libs/gst/controller/gstcontrollerprivate.h:
8720 * libs/gst/controller/gsthelper.c:
8721 * libs/gst/controller/gstinterpolation.c:
8722 move private structs to private header
8724 gstreamer-0.7 -> gstreamer-0.10
8725 * tests/check/libs/struct_i386.h:
8726 remove private structs
8728 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
8730 * plugins/indexers/Makefile.am:
8731 Fixes as part of #317048
8733 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
8735 * plugins/indexers/Makefile.am:
8736 fix #316086 - compilation when mmap is missing
8738 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
8740 * libs/gst/base/gstbasesink.c:
8741 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
8742 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
8743 * win32/common/config.h:
8744 added some defines GST_MAJORMINOR and HOST_CPU
8745 * win32/common/libgstbase.def:
8746 * win32/common/libgstreamer.def:
8747 added some exported functions.
8749 2006-01-12 Stefan Kost <ensonic@users.sf.net>
8751 * libs/gst/controller/gstcontroller.c:
8752 (gst_controlled_property_set_interpolation_mode),
8753 (gst_controlled_property_new):
8754 * libs/gst/controller/gstcontroller.h:
8755 * libs/gst/controller/gstinterpolation.c:
8756 (interpolate_none_get_string_value_array):
8757 make G_TYPE_STRING controlable
8759 2006-01-12 Stefan Kost <ensonic@users.sf.net>
8762 * tools/gst-feedback.1.in:
8763 * tools/gst-inspect.1.in:
8764 * tools/gst-launch.1.in:
8765 * tools/gst-md5sum.1.in:
8766 * tools/gst-typefind.1.in:
8767 * tools/gst-xmlinspect.1.in:
8768 * tools/gst-xmllaunch.1.in:
8769 cleanup man-pages, remove reference to gst-register, document env-vars
8771 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
8773 * gst/gstbuffer.c: (gst_buffer_span):
8774 gst_buffer_span should copy the timestamp of the first buffer
8775 if they were both originally overlapping subbuffers of the
8776 same parent, using the same logic as the 'slow copy' case.
8778 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
8780 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
8781 Need to awaken ALL the pads when we pop a buffer, otherwise
8782 collectpads only works when there is 2 input streams.
8784 2006-01-11 Stefan Kost <ensonic@users.sf.net>
8786 * docs/random/ensonic/media-device-daemon.txt:
8789 fix doc example, add clarification
8790 * tools/gst-launch.1.in:
8791 add initial info about GST_PLUGIN_PATH, needs more work
8793 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
8795 * docs/manual/basics-bins.xml:
8796 * docs/manual/basics-elements.xml:
8797 * docs/manual/intro-basics.xml:
8798 Some more minor docs additions and updates.
8800 2006-01-11 Wim Taymans <wim@fluendo.com>
8802 * docs/manual/basics-bins.xml:
8803 * docs/manual/basics-elements.xml:
8804 Some small fixes as pointed out by Ser-ver on IRC.
8806 2006-01-10 Edward Hervey <edward@fluendo.com>
8808 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8809 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
8810 the single-segment mode.
8812 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
8814 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
8816 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
8817 (gst_base_src_perform_seek), (gst_base_src_send_event),
8818 (gst_base_src_set_property), (gst_base_src_get_property),
8819 (gst_base_src_loop), (gst_base_src_start),
8820 (gst_base_src_activate_push):
8821 * libs/gst/base/gstbasesrc.h:
8822 Name (private) union; makes Sun's Forte compiler happy (#324900).
8824 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
8827 gst-register is gone.
8829 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
8831 * gst/gstvalue.c: (_gst_value_initialize):
8832 make the G_TYPE_DATE instantiation work if debug is disabled
8834 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
8836 * gst/gstmessage.c: (gst_message_parse_tag),
8837 (gst_message_parse_error), (gst_message_parse_warning):
8838 Don't crash when return location for error/warning debug
8839 string is NULL; add fact that return locations can be
8840 NULL to docs where appropriate.
8842 2006-01-05 Wim Taymans <wim@fluendo.com>
8844 * gst/gstplugin.c: (gst_plugin_load_file):
8845 Replace strdup by g_strdup.
8847 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
8849 * docs/pwg/advanced-types.xml:
8852 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
8854 submitted by: Abel Cheung
8858 Added Chinese (traditional) translation
8860 2006-01-04 Wim Taymans <wim@fluendo.com>
8862 * docs/manual/basics-pads.xml:
8863 * docs/plugins/Makefile.am:
8864 * docs/plugins/gstreamer-plugins-docs.sgml:
8865 * docs/plugins/gstreamer-plugins-sections.txt:
8866 * docs/pwg/advanced-clock.xml:
8867 * docs/pwg/advanced-scheduling.xml:
8868 * docs/pwg/advanced-types.xml:
8869 * plugins/elements/gstfdsink.c:
8870 * plugins/elements/gstfdsrc.c:
8871 * plugins/elements/gstfdsrc.h:
8872 * plugins/elements/gstidentity.c: (gst_identity_class_init):
8873 * plugins/elements/gstidentity.h:
8874 * plugins/elements/gstqueue.h:
8875 * plugins/elements/gsttee.c:
8876 * plugins/elements/gsttee.h:
8877 * plugins/elements/gsttypefindelement.c:
8878 (gst_type_find_element_class_init):
8879 * plugins/elements/gsttypefindelement.h:
8880 Small updates to various docs.
8881 Added core plugins to docs.
8883 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
8886 add a suppression for liboil's uninitialized variable
8888 2006-01-02 James Livingston <jrl at ids dot org dot au>
8890 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
8893 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
8894 macro, so that gcc doesn't complain if the -Wmissing-prototypes
8895 compiler switch is being used (#325429).
8897 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
8899 * gst/gstbin.c: (gst_bin_query):
8900 Disable duration query caching in bins until it gets
8901 fixed (see #324807).
8903 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
8905 * tools/gst-inspect.c: (print_element_properties_info):
8906 Handle properties of POINTER and BOXED type.
8908 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
8910 * gst/gst.c: (init_post):
8911 Init tags stuff and some other things before loading
8912 any static plugins (there may be other static plugins
8913 than just the GStreamer ones, and they may want to
8914 register their own tags or formats or whatever, and
8915 preferably without segfaulting).
8917 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
8918 Print at least a warning in the debug logs if we drop a
8919 query just because we don't know how to adjust the value
8920 in the particular format.
8922 2005-12-24 David Schleef <ds@schleef.org>
8924 * tools/gstreamer-completion:
8925 Replacement for gst-complete written in sh and sed. Only
8926 completes names of features, but that's 90% of what I want
8927 it for. Properties are not available in registry.xml. (Maybe
8930 === release 0.10.1 ===
8932 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
8935 releasing 0.10.1, "Nollaig chridheil"
8937 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
8940 Add missing quote, should be make ERROR_CFLAGS="".
8942 2005-12-20 Wim Taymans <wim@fluendo.com>
8944 * docs/design/part-trickmodes.txt:
8945 More documentation on trickmodes.
8947 2005-12-20 Edward Hervey <edward@fluendo.com>
8949 * gst/gstcaps.c: (gst_static_caps_get_type):
8951 API addition: GST_TYPE_STATIC_CAPS
8952 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
8953 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
8954 * gst/gstpadtemplate.h:
8955 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
8956 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
8959 2005-12-18 Wim Taymans <wim@fluendo.com>
8961 * libs/gst/base/gstadapter.c:
8962 * libs/gst/base/gstadapter.h:
8963 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8964 (gst_base_sink_get_position):
8965 * libs/gst/base/gstbasesink.h:
8966 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8967 (gst_base_src_default_query), (gst_base_src_default_do_seek),
8968 (gst_base_src_do_seek), (gst_base_src_perform_seek),
8969 (gst_base_src_send_event), (gst_base_src_update_length),
8970 (gst_base_src_get_range), (gst_base_src_loop),
8971 (gst_base_src_start):
8972 * libs/gst/base/gstbasesrc.h:
8973 * libs/gst/base/gstbasetransform.h:
8974 * libs/gst/base/gstcollectpads.h:
8975 * libs/gst/base/gstpushsrc.c:
8976 * libs/gst/base/gstpushsrc.h:
8977 * libs/gst/dataprotocol/dataprotocol.c:
8978 * libs/gst/dataprotocol/dataprotocol.h:
8979 * libs/gst/net/gstnetclientclock.h:
8980 * libs/gst/net/gstnettimeprovider.h:
8981 Documentation updates.
8983 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
8985 * docs/manual/basics-helloworld.xml:
8986 Remove superfluous closing bracket in helloworld example.
8988 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
8990 * tools/gst-launch.1.in:
8991 Update gst-launch man page; add a section with useful
8992 environment variables. Fixes #323882.
8994 2005-12-16 Stefan Kost <ensonic@users.sf.net>
8997 * gst/gst_private.h:
8998 change some char* into char[]
9000 2005-12-16 Wim Taymans <wim@fluendo.com>
9002 * gst/gstregistryxml.c: (load_feature):
9004 Don't use g_object_unref on GstObjects so that we avoid
9005 leaks on unsafe glibs.
9007 2005-12-16 Wim Taymans <wim@fluendo.com>
9009 * gst/gstbin.c: (gst_bin_recalc_state):
9012 2005-12-16 Wim Taymans <wim@fluendo.com>
9015 Added make forever target for check.
9017 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
9019 * gst/gst.c: (init_post):
9020 make the registry cache file HOST_CPU-dependent
9022 2005-12-16 Andy Wingo <wingo@pobox.com>
9024 * plugins/elements/gstbufferstore.c
9025 (gst_buffer_store_cleared_func): Pay attention to g_list_append
9028 * tests/check/gst/gstobject.c
9029 (test_fake_object_name_threaded_unique): Pay attention to
9030 g_list_sort return value.
9032 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
9034 * tools/gst-feedback-m.m:
9035 Update for 0.9/0.10 (fixes #323870).
9037 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
9039 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9040 Fix lcopy for mini objects, the mini object needs to be ref'ed.
9042 * tests/check/gst/gstminiobject.c: (my_foo_init),
9043 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9044 (test_value_collection), (gst_mini_object_suite):
9045 Add test to ensure refcounts end up as expected when passing
9046 GstMiniObjects through g_object_get() and g_object_set().
9048 2005-12-14 Julien MOUTTE <julien@moutte.net>
9050 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9051 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9052 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9053 of collectpads. This version removes a lot of races without
9054 touching API/ABI. Yay !
9056 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
9058 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9059 Don't allow activation of a srcpad in pull_range if it has no
9061 Change some debug statements to be a little clearer
9063 * plugins/elements/gsttypefindelement.c:
9064 (gst_type_find_handle_src_query):
9065 Check that we have a peer before executing queries thereupon.
9067 * tests/examples/metadata/read-metadata.c: (message_loop):
9068 Use gst_bus_pop instead of gst_bus_poll when we just want it to
9069 immediately return us any available message with 0 timeout.
9071 2005-12-12 Michael Smith <msmith@fluendo.com>
9073 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9074 Don't unref factories after calling them.
9075 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9076 * plugins/elements/gsttypefindelement.c:
9077 (gst_type_find_element_chain):
9078 Free lists of factories after using them. Fixing typefinding memory
9081 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9083 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9084 (gst_plugin_feature_load):
9085 more meaningful debug output
9087 * tests/Makefile.am:
9088 * tests/old/examples/Makefile.am:
9089 make make distcheck happy again
9091 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
9093 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9094 Catch the special case where we are operating chain-based,
9095 but the downstream peer pad has no chain function. Emit a
9096 custom error message in this case instead of letting the
9097 core generate one implying that this is some sort of core
9098 bug. It's not, it just means that whatever got plugged
9099 into the pipeline downstream when we announced the type
9100 can only operate pull-based, while our source can only
9101 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9102 Error string has not been marked for translation yet, as
9103 it probably needs some more work first.
9105 (gst_type_find_element_get_best_possibility):
9106 Add helper function to find the best of all available
9107 found possibilities that qualify given the min. threshold.
9109 (gst_type_find_element_handle_event):
9110 Fix the case where we get an EOS while still in TYPEFIND
9111 mode (we want to chose the best of all possible types,
9112 not just the first type that happens to be in our unsorted
9113 list of possible types).
9115 (gst_type_find_element_chain):
9116 Make sure we return GST_FLOW_ERROR when we errored out
9117 in stop_typefinding(); also, don't just find the best of
9118 all found type entries and then use the last examined
9119 type entry, but actually use the best entry.
9121 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
9123 * tests/examples/typefind/typefind.c: (type_found):
9124 * tests/examples/xml/runxml.c: (xml_loaded):
9125 More gcc4 fixes and a mem leak fix.
9127 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9129 * tests/examples/xml/createxml.c: (object_saved):
9132 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9134 * tests/Makefile.am:
9135 enable the examples even more
9137 2005-12-12 Andy Wingo <wingo@pobox.com>
9139 * libs/gst/net/gstnettimeprovider.c
9140 (gst_net_time_provider_class_init, gst_net_time_provider_init)
9141 (gst_net_time_provider_set_property)
9142 (gst_net_time_provider_get_property):
9143 API addition: Export "active" as a GObject property.
9144 (gst_net_time_provider_thread): Only respond to time queries if
9145 the time provider is active.
9147 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9148 NetTimeProvider, preserving binary compat.
9150 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9152 * tests/examples/controller/audio-example.c: (main):
9153 * tests/examples/launch/Makefile.am:
9154 convert comments again
9156 2005-12-12 Wim Taymans <wim@fluendo.com>
9158 * libs/gst/base/gstpushsrc.c:
9161 2005-12-12 Wim Taymans <wim@fluendo.com>
9163 * docs/libs/gstreamer-libs-sections.txt:
9164 Added new symbol to docs.
9166 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9167 (gst_base_src_init), (gst_base_src_set_format),
9168 (gst_base_src_default_query), (gst_base_src_query),
9169 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9170 (gst_base_src_perform_seek), (gst_base_src_send_event),
9171 (gst_base_src_default_event), (gst_base_src_event_handler),
9172 (gst_base_src_set_property), (gst_base_src_get_property),
9173 (gst_base_src_wait), (gst_base_src_do_sync),
9174 (gst_base_src_update_length), (gst_base_src_get_range),
9175 (gst_base_src_check_get_range), (gst_base_src_loop),
9176 (gst_base_src_default_negotiate), (gst_base_src_start),
9177 (gst_base_src_activate_push), (gst_base_src_activate_pull),
9178 (gst_base_src_change_state):
9179 * libs/gst/base/gstbasesrc.h:
9180 Implement seeking to other formats than _BYTES.
9181 Implement more seeking methods correctly.
9183 Added query vmethod.
9184 Added do_seek vmethod to make life easier for subclasses
9186 API addition: gst_base_src_set_format()
9188 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9190 * tests/examples/Makefile.am:
9193 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9196 * docs/random/ensonic/media-device-daemon.txt:
9197 * tests/examples/controller/.cvsignore:
9198 * tests/examples/controller/Makefile.am:
9199 * tests/examples/controller/audio-example.c: (main):
9200 * tests/examples/helloworld/.cvsignore:
9201 * tests/examples/helloworld/Makefile.am:
9202 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9203 * tests/examples/launch/.cvsignore:
9204 * tests/examples/launch/Makefile.am:
9205 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9206 * tests/examples/metadata/.cvsignore:
9207 * tests/examples/metadata/Makefile.am:
9208 * tests/examples/metadata/read-metadata.c: (message_loop),
9209 (make_pipeline), (print_tag), (main):
9210 * tests/examples/queue/.cvsignore:
9211 * tests/examples/queue/Makefile.am:
9212 * tests/examples/queue/queue.c: (event_loop), (main):
9213 * tests/examples/typefind/.cvsignore:
9214 * tests/examples/typefind/Makefile.am:
9215 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9217 * tests/examples/xml/.cvsignore:
9218 * tests/examples/xml/Makefile.am:
9219 * tests/examples/xml/createxml.c: (object_saved), (main):
9220 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9221 * tests/old/examples/Makefile.am:
9222 * tests/old/examples/TODO:
9223 * tests/old/examples/controller/.cvsignore:
9224 * tests/old/examples/controller/Makefile.am:
9225 * tests/old/examples/controller/audio-example.c:
9226 * tests/old/examples/helloworld/.cvsignore:
9227 * tests/old/examples/helloworld/Makefile.am:
9228 * tests/old/examples/helloworld/helloworld.c:
9229 * tests/old/examples/launch/.cvsignore:
9230 * tests/old/examples/launch/Makefile.am:
9231 * tests/old/examples/launch/mp3parselaunch.c:
9232 * tests/old/examples/launch/mp3play:
9233 * tests/old/examples/manual/Makefile.am:
9234 * tests/old/examples/metadata/Makefile.am:
9235 * tests/old/examples/metadata/read-metadata.c:
9236 * tests/old/examples/queue/.cvsignore:
9237 * tests/old/examples/queue/Makefile.am:
9238 * tests/old/examples/queue/queue.c:
9239 * tests/old/examples/typefind/.cvsignore:
9240 * tests/old/examples/typefind/Makefile.am:
9241 * tests/old/examples/typefind/typefind.c:
9242 * tests/old/examples/xml/.cvsignore:
9243 * tests/old/examples/xml/Makefile.am:
9244 * tests/old/examples/xml/createxml.c:
9245 * tests/old/examples/xml/runxml.c:
9246 applied some simple fixing to some examples
9247 re-enabled the working examples
9249 2005-12-12 Wim Taymans <wim@fluendo.com>
9251 * gst/gstsegment.c: (gst_segment_init),
9252 (gst_segment_set_last_stop), (gst_segment_set_seek),
9253 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9254 (gst_segment_to_running_time):
9255 Added more documentation.
9256 Make sure the last_pos value is updated properly.
9257 Make sure to_stream_time and to_running_time don't
9258 operate on wrong values.
9260 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9263 2005-12-12 Michael Smith <msmith@fluendo.com>
9265 * plugins/elements/gsttypefindelement.c: (free_entry),
9266 (gst_type_find_element_chain):
9267 Now that we're not leaking factories, make sure we keep references
9268 to them while we need them.
9270 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
9272 * tests/check/gst/struct_i386.h:
9273 ifdef out the XML structs
9275 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
9277 * gst/gstvalue.c: (gst_value_transform_double_fraction):
9278 floor is not needed, F is always positive; this obviates the
9279 need for adding -lm when building without libxml
9281 2005-12-12 Wim Taymans <wim@fluendo.com>
9283 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9284 Take current playback rate into account when reporting
9287 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9289 * docs/manual/mime-world.fig:
9290 Let's try this again, this time with a file that is
9291 actually in XFig format.
9293 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9295 * docs/manual/mime-world.fig:
9296 Add audioconvert element to diagram so that it
9297 matches the text and the code (fixes #319526).
9299 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9301 * docs/pwg/building-chainfn.xml:
9302 * docs/pwg/building-pads.xml:
9303 * docs/pwg/building-state.xml:
9304 * docs/pwg/other-source.xml:
9305 Update state change stuff for 0.10 (fixes #322969).
9307 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9309 * docs/manual/advanced-dataaccess.xml:
9310 * docs/manual/appendix-checklist.xml:
9311 * docs/manual/appendix-programs.xml:
9312 * docs/manual/basics-pads.xml:
9313 * docs/manual/highlevel-components.xml:
9314 * docs/manual/manual.xml:
9315 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9316 add converters in front of pipelines; remove curly
9317 brackets for threads stuff, they no longer exist; use
9318 GST_TYPE_FRACTION for framerates; update some pieces of
9319 code to 0.10, but there's plenty more to do.
9321 * docs/manual/appendix-porting.xml:
9322 Expand on asynchroneous state changes; s/0.9/0.10/;
9323 mention disappearance of gst_init_get_popt_table()
9326 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9328 * docs/faq/using.xml:
9329 Spider no longer exists, and neither does gst-launch-ext.
9330 Update examples to use decodebin and playbin and put
9331 converters in front of sinks (fixes #323726).
9333 2005-12-09 Michael Smith <msmith@fluendo.com>
9335 * plugins/elements/gsttypefindelement.c: (find_peek),
9336 (gst_type_find_element_chain):
9337 Fix leaking element factories in typefinding.
9338 Fix problem where we forgot about a probable type on non-seekable
9339 files, and thus later mis-typefound it.
9341 2005-12-09 Michael Smith <msmith@fluendo.com>
9343 * common/m4/gst-makecontext.m4:
9344 * common/m4/gst-mcsc.m4:
9346 * win32/common/config.h:
9347 * win32/common/config.h.in:
9348 Remove makecontext stuff; not used in 0.10 and causes problems on
9349 HPUX according to bug #322441
9351 2005-12-07 Wim Taymans <wim@fluendo.com>
9353 * tests/check/Makefile.am:
9354 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9356 * tests/check/libs/struct_i386.h:
9357 Added ABI check for libs
9359 2005-12-07 Wim Taymans <wim@fluendo.com>
9361 * tests/check/Makefile.am:
9362 And add the struct_i386.h to dist.
9364 2005-12-07 Wim Taymans <wim@fluendo.com>
9366 * tests/check/Makefile.am:
9367 * tests/check/gst/.cvsignore:
9368 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9370 * tests/check/gst/struct_i386.h:
9371 Added check for ABI compatibility.
9373 2005-12-07 Wim Taymans <wim@fluendo.com>
9375 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9376 (gst_fake_src_get_times), (gst_fake_src_create):
9377 Fix broken sync option, fixes #323259
9379 2005-12-07 Wim Taymans <wim@fluendo.com>
9384 * gst/gstcaps.c: (gst_caps_is_equal):
9385 Don't assert on NULL <--> X. Fixes #323260
9387 * gst/gstminiobject.c: (gst_mini_object_replace):
9388 If we're doing atomic operations, we might just as well use
9389 the proper way to get an atomic pointer.
9391 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9394 2005-12-07 Michael Smith <msmith@fluendo.com>
9396 * gst/parse/grammar.y:
9397 Remove handling of { } for threads.
9399 2005-12-06 David Schleef <ds@schleef.org>
9401 * libs/gst/base/gstbasetransform.c: speling fix.
9403 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
9405 * docs/libs/tmpl/gstdataprotocol.sgml:
9406 * docs/random/omega/testing/gstobject.c:
9410 * gst/gstelementfactory.c:
9413 * gst/gstghostpad.c:
9415 * gst/gstpadtemplate.c:
9416 * gst/gstregistryxml.c:
9418 * gst/gsttagsetter.c:
9419 * gst/gsttypefind.c:
9421 * libs/gst/base/gstbasesrc.c:
9422 * libs/gst/net/gstnetclientclock.c:
9423 * libs/gst/net/gstnettimeprovider.c:
9424 * plugins/elements/gstfakesrc.c:
9425 * plugins/elements/gstfdsrc.c:
9426 * plugins/elements/gstfilesrc.c:
9427 * plugins/elements/gstidentity.c:
9428 * plugins/elements/gstqueue.c:
9429 * plugins/elements/gsttypefindelement.c:
9430 * plugins/indexers/gstfileindex.c:
9431 * plugins/indexers/gstmemindex.c:
9432 * tests/check/gst/gsttag.c:
9433 * tests/old/examples/cutter/cutter.c:
9434 * tests/old/examples/mixer/mixer.c:
9435 * tests/old/examples/xml/runxml.c: (main):
9436 * tests/old/testsuite/caps/normalisation.c:
9437 * tests/old/testsuite/debug/global.c:
9438 * tests/old/testsuite/parse/parse1.c:
9439 * tools/gst-xmlinspect.c:
9440 * win32/common/dirent.c:
9443 === release 0.10.0 ===
9445 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9448 releasing 0.10.0, "Maroilles"
9450 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
9452 submitted by: Funda Wang <fundawang@linux.net.cn>
9456 added Chinese (Traditional) translation
9458 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
9460 * docs/gst/gstreamer-sections.txt:
9461 * docs/libs/tmpl/gstdataprotocol.sgml:
9462 * docs/random/thomasvs/TODO:
9467 2005-12-05 Andy Wingo <wingo@pobox.com>
9469 patch by: Wim Taymans <wim@fluendo.com>
9471 * libs/gst/base/gstbasetransform.c
9472 (gst_base_transform_prepare_output_buf)
9473 (gst_base_transform_buffer_alloc):
9474 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
9475 alloc_buffer_and_set_caps.
9477 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
9478 set_caps on the source pad.
9479 (gst_pad_alloc_buffer_and_set_caps): New function, does what
9480 alloc_buffer used to do. Fixes #322874.
9482 * docs/gst/gstreamer-sections.txt:
9483 * docs/design/part-negotiation.txt:
9484 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
9487 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
9489 patch by: Sebastien Moutte
9492 * win32/common/config.h.in:
9493 * win32/vs6/libgstcontroller.dsp:
9496 2005-12-05 Wim Taymans <wim@fluendo.com>
9498 * gst/gstcaps.c: (gst_caps_is_equal):
9499 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9500 (gst_fake_src_create):
9501 Back out previous code changes, leave doc updates, file bugs
9504 2005-12-05 Wim Taymans <wim@fluendo.com>
9506 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9507 (gst_fake_src_get_times), (gst_fake_src_create):
9508 * plugins/elements/gstfakesrc.h:
9509 Fix broken sync code.
9511 2005-12-05 Wim Taymans <wim@fluendo.com>
9513 * gst/gstcaps.c: (gst_caps_is_equal):
9514 Comparing NULL against !NULL yields different caps, not a
9517 2005-12-05 Wim Taymans <wim@fluendo.com>
9519 * gst/gstpipeline.c:
9520 Fix small typo in docs.
9522 2005-12-05 Andy Wingo <wingo@pobox.com>
9524 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
9526 * gst/gst.c (init_post): remove hard-coded 0.9 location for
9527 registries/plugins with a MAJORMINOR one.
9528 (plugin_desc): Rename library from gstcoreleements to
9529 staticelements. Fixes #323222.
9531 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
9533 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
9534 Change debug category to 'collectpads' from 'collect_pads'
9537 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
9539 patch by: Sebastien Moutte
9541 * libs/gst/controller/gstinterpolation.c:
9542 use convert function for uint64/double
9543 * win32/vs6/libgstcontroller.dsp:
9546 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
9548 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
9549 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
9551 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9552 add tests that seem to show that the guint64/gdouble conversions
9555 2005-12-02 Wim Taymans <wim@fluendo.com>
9557 * gst/gstregistry.c: (gst_registry_add_path):
9558 * gst/gstregistry.h:
9559 * gst/gstregistryxml.c:
9562 2005-12-02 Wim Taymans <wim@fluendo.com>
9564 * gst/gstutils.c: (gst_util_uint64_scale_int64),
9565 (gst_util_uint64_scale_int):
9568 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9571 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
9574 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
9577 * win32/common/config.h:
9578 * win32/vs6/gstreamer.dsw:
9579 * win32/vs6/libgstcoreelements.dsp:
9580 * win32/vs6/libgstelements.dsp:
9581 renamed core elements plugin
9583 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
9585 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
9587 do piece-wise major/minor comparison so 0.9 < 0.10
9588 also allow .exe extensions for tools
9590 2005-12-02 Michael Smith <msmith@fluendo.com>
9593 Escape a % to make gtkdoc happier; bug 322958.
9595 === release 0.9.7 ===
9597 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9600 releasing 0.9.7, "My Dog Has No Nose"
9602 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9604 * common/gst-xmlinspect.py:
9606 * docs/libs/tmpl/gstdataprotocol.sgml:
9607 * docs/random/release:
9626 * win32/common/config.h:
9627 * win32/common/config.h.in:
9628 * win32/vs6/gst_inspect.dsp:
9629 * win32/vs6/gst_launch.dsp:
9630 * win32/vs6/libgstbase.dsp:
9631 * win32/vs6/libgstelements.dsp:
9632 * win32/vs6/libgstreamer.dsp:
9633 * win32/vs7/GStreamer.vcproj:
9634 * win32/vs7/gst-inspect.vcproj:
9635 * win32/vs7/gst-launch.vcproj:
9636 * win32/vs7/libgstbase.vcproj:
9637 bump GST_MAJORMINOR to 0.10
9638 reset libtool version
9640 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9644 Added Bulgarian translation by (Alexander Shopov)
9646 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9648 * tests/check/gst/gstplugin.c:
9651 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9653 * common/gst-xmlinspect.py:
9654 * common/gtk-doc-plugins.mak:
9657 * docs/gst/Makefile.am:
9658 * docs/gst/gstreamer-docs.sgml:
9659 * docs/gst/gstreamer-sections.txt:
9660 * docs/gst/gstreamer.types:
9661 * docs/gst/gstreamer.types.in:
9662 * docs/plugins/Makefile.am:
9663 * docs/plugins/gstreamer-plugins-docs.sgml:
9664 * docs/plugins/gstreamer-plugins-sections.txt:
9665 * docs/plugins/gstreamer-plugins.types:
9666 * docs/plugins/inspect.stamp:
9667 * docs/plugins/inspect/plugin-coreelements.xml:
9668 * docs/plugins/inspect/plugin-coreindexers.xml:
9669 * docs/plugins/scanobj-build.stamp:
9670 * gstreamer.spec.in:
9671 * plugins/elements/Makefile.am:
9672 * plugins/elements/gstelements.c:
9673 * plugins/elements/gstfakesink.c:
9674 * plugins/elements/gstfakesrc.c:
9675 * plugins/elements/gstfilesink.c:
9676 * plugins/elements/gstfilesrc.c:
9677 * plugins/elements/gstqueue.c:
9678 * plugins/indexers/Makefile.am:
9679 * plugins/indexers/gstindexers.c:
9680 document core plugins in a separate document just like all the
9682 rename these plugins to something starting with core
9684 2005-12-01 Andy Wingo <wingo@pobox.com>
9686 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
9687 padding here before, but it missed the commit.
9689 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
9691 * libs/gst/controller/gstinterpolation.c:
9692 whitespace prices have crashed, we should feel free to use some now
9693 use gst_guint64_to_gdouble
9695 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
9697 * libs/gst/controller/gstcontroller.c:
9698 * libs/gst/controller/gsthelper.c:
9699 * libs/gst/controller/gstinterpolation.c:
9700 * libs/gst/controller/lib.c:
9701 wrap config.h include
9703 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
9705 * docs/gst/gstreamer-sections.txt:
9708 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
9710 * plugins/elements/gstelements.c:
9711 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
9712 (gst_fd_sink__class_init), (gst_fd_sink__init),
9713 (gst_fd_sink__chain), (gst_fd_sink__set_property),
9714 (gst_fd_sink__get_property):
9715 * plugins/elements/gstfdsink.h:
9716 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
9717 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
9718 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
9719 (gst_fd_src_unlock), (gst_fd_src_set_property),
9720 (gst_fd_src_get_property), (gst_fd_src_create),
9721 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
9722 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
9723 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
9724 (gst_fd_src_uri_handler_init):
9725 * plugins/elements/gstfdsrc.h:
9726 * plugins/elements/gstqueue.c: (gst_queue_get_type):
9729 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9731 * docs/gst/Makefile.am:
9732 * docs/gst/gstreamer.types.in:
9736 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9742 * gst/gstregistry.h:
9743 * tests/benchmarks/complexity.c:
9744 * tests/benchmarks/mass-elements.c:
9745 * tests/check/Makefile.am:
9746 * tools/Makefile.am:
9747 * tools/gst-inspect.c:
9748 * tools/gst-xmlinspect.c:
9749 various fixes to make
9750 --disable-nls --disable-registry --disable-loadsave
9751 --disable-parse --disable-gst-debug
9752 work and get the core .so down to 360444 bytes after stripping
9754 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9759 * docs/random/thomasvs/TODO:
9760 * tests/Makefile.am:
9764 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9766 * win32/GStreamer.vcproj:
9769 * win32/Makefile.inspect:
9770 * win32/Makefile.launch:
9771 * win32/Makefile.register:
9773 * win32/gst-inspect.vcproj:
9774 * win32/gst-launch.vcproj:
9775 * win32/gst-register.vcproj:
9776 * win32/gstelements.vcproj:
9777 * win32/gstgetbits.def:
9778 * win32/gstgetbits.vcproj:
9779 * win32/gstreamer-dbg.def:
9780 * win32/gstreamer.def:
9781 * win32/libgstbase.def:
9782 * win32/libgstbase.vcproj:
9783 * win32/link_oldruntime.c:
9788 move even more stuff, win32/ is nice and clean now
9790 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9792 * libs/gst/control/.cvsignore:
9797 * win32/gstbytestream.def:
9798 * win32/gstbytestream.vcproj:
9799 * win32/gstconfig.h:
9800 * win32/gstenumtypes.c:
9801 * win32/gstenumtypes.h:
9802 * win32/gstoptimalscheduler.vcproj:
9803 * win32/gstversion.h:
9805 * win32/testsuite/bins.vcproj:
9806 * win32/testsuite/bytestream.vcproj:
9807 * win32/testsuite/caps.vcproj:
9808 * win32/testsuite/cleanup.vcproj:
9809 * win32/testsuite/clock.vcproj:
9810 * win32/testsuite/debug.vcproj:
9811 * win32/testsuite/dlopen.vcproj:
9812 * win32/testsuite/dynparams.vcproj:
9813 * win32/testsuite/elements.vcproj:
9814 * win32/testsuite/ghostpads.vcproj:
9815 * win32/testsuite/indexers.vcproj:
9816 * win32/testsuite/negotiation.vcproj:
9817 * win32/testsuite/parse.vcproj:
9818 * win32/testsuite/plugin.vcproj:
9819 * win32/testsuite/refcounting.vcproj:
9820 * win32/testsuite/schedulers.vcproj:
9821 * win32/testsuite/states.vcproj:
9822 * win32/testsuite/tags.vcproj:
9823 * win32/testsuite/threads.vcproj:
9824 remove old win32 stuff that isn't maintained and should be
9827 2005-11-30 Andy Wingo <wingo@pobox.com>
9829 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
9830 loading the gst.interfaces python module bork.
9832 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
9833 available since GLib 2.2. Fixes #318031.
9835 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9839 * check/Makefile.am:
9840 * check/elements/.cvsignore:
9841 * check/elements/fakesrc.c:
9842 * check/elements/fdsrc.c:
9843 * check/elements/identity.c:
9844 * check/generic/.cvsignore:
9845 * check/generic/states.c:
9846 * check/gst-libs/.cvsignore:
9847 * check/gst-libs/controller.c:
9848 * check/gst-libs/gdp.c:
9849 * check/gst/.cvsignore:
9850 * check/gst/capslist.h:
9852 * check/gst/gstbin.c:
9853 * check/gst/gstbuffer.c:
9854 * check/gst/gstbus.c:
9855 * check/gst/gstcaps.c:
9856 * check/gst/gstelement.c:
9857 * check/gst/gstevent.c:
9858 * check/gst/gstghostpad.c:
9859 * check/gst/gstiterator.c:
9860 * check/gst/gstmessage.c:
9861 * check/gst/gstminiobject.c:
9862 * check/gst/gstobject.c:
9863 * check/gst/gstpad.c:
9864 * check/gst/gstpipeline.c:
9865 * check/gst/gstplugin.c:
9866 * check/gst/gstsegment.c:
9867 * check/gst/gststructure.c:
9868 * check/gst/gstsystemclock.c:
9869 * check/gst/gsttag.c:
9870 * check/gst/gstutils.c:
9871 * check/gst/gstvalue.c:
9872 * check/net/.cvsignore:
9873 * check/net/gstnetclientclock.c:
9874 * check/net/gstnettimeprovider.c:
9875 * check/pipelines/.cvsignore:
9876 * check/pipelines/cleanup.c:
9877 * check/pipelines/simple_launch_lines.c:
9878 * check/pipelines/stress.c:
9879 * check/states/.cvsignore:
9880 * check/states/sinks.c:
9882 * examples/Makefile.am:
9883 * examples/appreader/.cvsignore:
9884 * examples/appreader/Makefile.am:
9885 * examples/appreader/appreader.c:
9886 * examples/controller/.cvsignore:
9887 * examples/controller/Makefile.am:
9888 * examples/controller/audio-example.c:
9889 * examples/cutter/.cvsignore:
9890 * examples/cutter/Makefile.am:
9891 * examples/cutter/cutter.c:
9892 * examples/cutter/cutter.h:
9893 * examples/events/Makefile.am:
9894 * examples/events/seek.c:
9895 * examples/helloworld/.cvsignore:
9896 * examples/helloworld/Makefile.am:
9897 * examples/helloworld/helloworld.c:
9898 * examples/helloworld2/.cvsignore:
9899 * examples/helloworld2/Makefile.am:
9900 * examples/helloworld2/helloworld2.c:
9901 * examples/launch/.cvsignore:
9902 * examples/launch/Makefile.am:
9903 * examples/launch/mp3parselaunch.c:
9904 * examples/launch/mp3play:
9905 * examples/manual/.cvsignore:
9906 * examples/manual/Makefile.am:
9907 * examples/manual/extract.pl:
9908 * examples/metadata/Makefile.am:
9909 * examples/metadata/read-metadata.c:
9910 * examples/mixer/.cvsignore:
9911 * examples/mixer/Makefile.am:
9912 * examples/mixer/mixer.c:
9913 * examples/mixer/mixer.h:
9914 * examples/pingpong/.cvsignore:
9915 * examples/pingpong/Makefile.am:
9916 * examples/pingpong/pingpong.c:
9917 * examples/plugins/.cvsignore:
9918 * examples/plugins/Makefile.am:
9919 * examples/plugins/example.c:
9920 * examples/plugins/example.h:
9921 * examples/pwg/.cvsignore:
9922 * examples/pwg/Makefile.am:
9923 * examples/pwg/extract.pl:
9924 * examples/queue/.cvsignore:
9925 * examples/queue/Makefile.am:
9926 * examples/queue/queue.c:
9927 * examples/queue2/.cvsignore:
9928 * examples/queue2/Makefile.am:
9929 * examples/queue2/queue2.c:
9930 * examples/queue3/.cvsignore:
9931 * examples/queue3/Makefile.am:
9932 * examples/queue3/queue3.c:
9933 * examples/queue4/.cvsignore:
9934 * examples/queue4/Makefile.am:
9935 * examples/queue4/queue4.c:
9936 * examples/retag/.cvsignore:
9937 * examples/retag/Makefile.am:
9938 * examples/retag/retag.c:
9939 * examples/retag/transcode.c:
9940 * examples/thread/.cvsignore:
9941 * examples/thread/Makefile.am:
9942 * examples/thread/thread.c:
9943 * examples/typefind/.cvsignore:
9944 * examples/typefind/Makefile.am:
9945 * examples/typefind/typefind.c:
9946 * examples/xml/.cvsignore:
9947 * examples/xml/Makefile.am:
9948 * examples/xml/createxml.c:
9949 * examples/xml/runxml.c:
9950 * tests/Makefile.am:
9951 * tests/check/Makefile.am:
9952 * testsuite/.cvsignore:
9953 * testsuite/Makefile.am:
9955 * testsuite/caps/.cvsignore:
9956 * testsuite/caps/Makefile.am:
9957 * testsuite/caps/app_fixate.c:
9958 * testsuite/caps/audioscale.c:
9959 * testsuite/caps/caps.c:
9960 * testsuite/caps/caps.h:
9961 * testsuite/caps/caps_strings:
9962 * testsuite/caps/compatibility.c:
9963 * testsuite/caps/deserialize.c:
9964 * testsuite/caps/enumcaps.c:
9965 * testsuite/caps/eratosthenes.c:
9966 * testsuite/caps/filtercaps.c:
9967 * testsuite/caps/fixed.c:
9968 * testsuite/caps/fraction-convert.c:
9969 * testsuite/caps/fraction-multiply-and-zero.c:
9970 * testsuite/caps/intersect2.c:
9971 * testsuite/caps/intersection.c:
9972 * testsuite/caps/normalisation.c:
9973 * testsuite/caps/random.c:
9974 * testsuite/caps/renegotiate.c:
9975 * testsuite/caps/sets.c:
9976 * testsuite/caps/simplify.c:
9977 * testsuite/caps/string-conversions.c:
9978 * testsuite/caps/structure.c:
9979 * testsuite/caps/subtract.c:
9980 * testsuite/caps/union.c:
9981 * testsuite/debug/.cvsignore:
9982 * testsuite/debug/Makefile.am:
9983 * testsuite/debug/category.c:
9984 * testsuite/debug/commandline.c:
9985 * testsuite/debug/global.c:
9986 * testsuite/debug/output.c:
9987 * testsuite/debug/printf_extension.c:
9988 * testsuite/dlopen/.cvsignore:
9989 * testsuite/dlopen/Makefile.am:
9990 * testsuite/dlopen/dlopen_gst.c:
9991 * testsuite/dlopen/loadgst.c:
9992 * testsuite/elements/.cvsignore:
9993 * testsuite/elements/Makefile.am:
9994 * testsuite/elements/gst-inspect-check.in:
9995 * testsuite/elements/struct_i386.h:
9996 * testsuite/elements/struct_size.c:
9997 * testsuite/indexers/.cvsignore:
9998 * testsuite/indexers/Makefile.am:
9999 * testsuite/indexers/cache1.c:
10000 * testsuite/indexers/indexdump.c:
10001 * testsuite/parse/.cvsignore:
10002 * testsuite/parse/Makefile.am:
10003 * testsuite/parse/parse1.c:
10004 * testsuite/parse/parse2.c:
10005 * testsuite/plugin/.cvsignore:
10006 * testsuite/plugin/Makefile.am:
10007 * testsuite/plugin/README:
10008 * testsuite/plugin/dynamic.c:
10009 * testsuite/plugin/linked.c:
10010 * testsuite/plugin/loading.c:
10011 * testsuite/plugin/registry.c:
10012 * testsuite/plugin/static.c:
10013 * testsuite/plugin/static2.c:
10014 * testsuite/plugin/testplugin.c:
10015 * testsuite/plugin/testplugin2.c:
10016 * testsuite/plugin/testplugin2_s.c:
10017 * testsuite/plugin/testplugin_s.c:
10018 * testsuite/refcounting/.cvsignore:
10019 * testsuite/refcounting/Makefile.am:
10020 * testsuite/refcounting/bin.c:
10021 * testsuite/refcounting/element.c:
10022 * testsuite/refcounting/element_pad.c:
10023 * testsuite/refcounting/mainloop.c:
10024 * testsuite/refcounting/mem.c:
10025 * testsuite/refcounting/mem.h:
10026 * testsuite/refcounting/object.c:
10027 * testsuite/refcounting/pad.c:
10028 * testsuite/refcounting/sched.c:
10029 * testsuite/refcounting/thread.c:
10030 * testsuite/states/.cvsignore:
10031 * testsuite/states/Makefile.am:
10032 * testsuite/states/bin.c:
10033 * testsuite/states/locked.c:
10034 * testsuite/states/parent.c:
10035 * testsuite/threads/.cvsignore:
10036 * testsuite/threads/159566.c:
10037 * testsuite/threads/159852.c:
10038 * testsuite/threads/Makefile.am:
10039 * testsuite/threads/queue.c:
10040 * testsuite/threads/signals.c:
10041 * testsuite/threads/staticrec.c:
10042 * testsuite/threads/thread.c:
10043 * testsuite/threads/threadb.c:
10044 * testsuite/threads/threadc.c:
10045 * testsuite/threads/threadd.c:
10046 * testsuite/threads/threade.c:
10047 * testsuite/threads/threadf.c:
10048 * testsuite/threads/threadg.c:
10049 * testsuite/threads/threadh.c:
10050 * testsuite/threads/threadi.c:
10051 move all of these under tests
10053 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10056 * tests/Makefile.am:
10059 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10061 * docs/gst/gstreamer-sections.txt:
10062 * tests/sched/.cvsignore:
10063 * tests/sched/Makefile.am:
10064 * tests/sched/cases/(fs-fs).xml:
10065 * tests/sched/cases/(fs-i-fs).xml:
10066 * tests/sched/cases/(fs-i-i-fs).xml:
10067 * tests/sched/cases/(fs-i-q[i-fs]).xml:
10068 * tests/sched/dynamic-pipeline.c:
10069 * tests/sched/interrupt1.c:
10070 * tests/sched/interrupt2.c:
10071 * tests/sched/interrupt3.c:
10072 * tests/sched/runtestcases:
10073 * tests/sched/runxml.c:
10074 * tests/sched/sched-stress.c:
10075 * tests/sched/sort.c:
10076 * tests/sched/testcases:
10077 * tests/sched/testcases1.tc:
10078 * tests/seeking/.cvsignore:
10079 * tests/seeking/Makefile.am:
10080 * tests/seeking/seeking1.c:
10081 * tests/threadstate/.cvsignore:
10082 * tests/threadstate/Makefile.am:
10083 * tests/threadstate/test1.c:
10084 * tests/threadstate/test2.c:
10085 * tests/threadstate/threadstate1.c:
10086 * tests/threadstate/threadstate2.c:
10087 * tests/threadstate/threadstate3.c:
10088 * tests/threadstate/threadstate4.c:
10089 * tests/threadstate/threadstate5.c:
10090 remove obsolete tests
10092 * tests/bench-complexity.scm:
10093 * tests/bench-mass_elements.scm:
10094 * tests/complexity.c:
10095 * tests/complexity.gnuplot:
10096 * tests/instantiate/.cvsignore:
10097 * tests/instantiate/Makefile.am:
10098 * tests/instantiate/caps.c:
10099 * tests/mass_elements.c:
10100 * tests/network-clock-utils.scm:
10101 * tests/network-clock.scm:
10103 First pass at cleaning up tests/ dir before moving the rest
10104 Combined with CVS surgery
10106 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10109 queue has moved, update
10111 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10113 * docs/gst/gstreamer-sections.txt:
10114 remove double entries from the docs
10115 * gst/gst_private.h:
10116 * gst/gstinfo.c: (_gst_debug_init):
10117 remove the THREAD debug category
10121 * docs/gst/gstreamer.types:
10122 * plugins/elements/gstqueue.c: (gst_queue_get_type),
10123 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10124 completely move queue and fix up debugging categories
10126 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10128 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10129 make initialization portable, using LL is not
10131 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10133 * win32/common/gstconfig.h:
10136 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10138 * win32/common/libgstreamer.def:
10139 rename symbols; sort base section
10141 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10143 * gst/gstclock.c: (do_linear_regression):
10144 remove crack non-portable handrolled DEBUG macro
10146 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10148 * docs/random/release:
10150 * win32/common/gstenumtypes.c: (register_gst_object_flags),
10151 (gst_object_flags_get_type), (register_gst_bin_flags),
10152 (gst_bin_flags_get_type), (register_gst_buffer_flag),
10153 (gst_buffer_flag_get_type), (register_gst_bus_flags),
10154 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10155 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10156 (gst_caps_flags_get_type), (register_gst_clock_return),
10157 (gst_clock_return_get_type), (register_gst_clock_entry_type),
10158 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10159 (gst_clock_flags_get_type), (register_gst_state),
10160 (gst_state_get_type), (register_gst_state_change_return),
10161 (gst_state_change_return_get_type), (register_gst_state_change),
10162 (gst_state_change_get_type), (register_gst_element_flags),
10163 (gst_element_flags_get_type), (register_gst_core_error),
10164 (gst_core_error_get_type), (register_gst_library_error),
10165 (gst_library_error_get_type), (register_gst_resource_error),
10166 (gst_resource_error_get_type), (register_gst_stream_error),
10167 (gst_stream_error_get_type), (register_gst_event_type_flags),
10168 (gst_event_type_flags_get_type), (register_gst_event_type),
10169 (gst_event_type_get_type), (register_gst_seek_type),
10170 (gst_seek_type_get_type), (register_gst_seek_flags),
10171 (gst_seek_flags_get_type), (register_gst_format),
10172 (gst_format_get_type), (register_gst_index_certainty),
10173 (gst_index_certainty_get_type), (register_gst_index_entry_type),
10174 (gst_index_entry_type_get_type),
10175 (register_gst_index_lookup_method),
10176 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10177 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10178 (gst_index_resolver_method_get_type), (register_gst_index_flags),
10179 (gst_index_flags_get_type), (register_gst_debug_level),
10180 (gst_debug_level_get_type), (register_gst_debug_color_flags),
10181 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10182 (gst_iterator_result_get_type), (register_gst_iterator_item),
10183 (gst_iterator_item_get_type), (register_gst_message_type),
10184 (gst_message_type_get_type), (register_gst_mini_object_flags),
10185 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10186 (gst_pad_link_return_get_type), (register_gst_flow_return),
10187 (gst_flow_return_get_type), (register_gst_activate_mode),
10188 (gst_activate_mode_get_type), (register_gst_pad_direction),
10189 (gst_pad_direction_get_type), (register_gst_pad_flags),
10190 (gst_pad_flags_get_type), (register_gst_pad_presence),
10191 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10192 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10193 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10194 (gst_plugin_error_get_type), (register_gst_plugin_flags),
10195 (gst_plugin_flags_get_type), (register_gst_rank),
10196 (gst_rank_get_type), (register_gst_query_type),
10197 (gst_query_type_get_type), (register_gst_tag_merge_mode),
10198 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10199 (gst_tag_flag_get_type), (register_gst_task_state),
10200 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10201 (gst_alloc_trace_flags_get_type),
10202 (register_gst_type_find_probability),
10203 (gst_type_find_probability_get_type), (register_gst_uri_type),
10204 (gst_uri_type_get_type), (register_gst_parse_error),
10205 (gst_parse_error_get_type):
10206 * win32/common/gstenumtypes.h:
10207 * win32/common/gstversion.h:
10208 update visual studio generated files
10210 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10212 * win32/vs6/libgstbase.dsp:
10213 * win32/vs6/libgstelements.dsp:
10214 update project files for new locations
10216 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10221 reinstate and update
10226 * docs/random/LICENSE:
10229 2005-11-30 Edward Hervey <edward@fluendo.com>
10231 * gst/gsttypefind.c: (gst_type_find_register):
10232 * gst/gsttypefind.h:
10233 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10234 (gst_type_find_factory_dispose):
10235 * gst/gsttypefindfactory.h:
10236 Fix memory leak in GstTypeFindFactory.
10238 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10241 * plugins/elements/Makefile.am:
10242 * plugins/elements/gstelements.c:
10243 * plugins/elements/gstqueue.c:
10244 move queue from core to the elements plugin
10246 2005-11-29 Andy Wingo <wingo@pobox.com>
10248 * libs/gst/base/gstbasetransform.h:
10249 * libs/gst/base/gstbasesrc.h:
10250 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10252 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10253 of pointers by which to pad very extensible base classes (like the
10254 ones in libs/gst/base).
10256 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10258 * docs/gst/gstreamer-docs.sgml:
10259 * docs/gst/gstreamer-sections.txt:
10260 * docs/libs/gstreamer-libs-docs.sgml:
10261 * docs/libs/gstreamer-libs-sections.txt:
10262 moving documentation from core to lib
10264 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10266 * check/Makefile.am:
10268 * docs/gst/Makefile.am:
10270 * gst/base/.cvsignore:
10271 * gst/base/Makefile.am:
10273 * gst/base/gstadapter.c:
10274 * gst/base/gstadapter.h:
10275 * gst/base/gstbasesink.c:
10276 * gst/base/gstbasesink.h:
10277 * gst/base/gstbasesrc.c:
10278 * gst/base/gstbasesrc.h:
10279 * gst/base/gstbasetransform.c:
10280 * gst/base/gstbasetransform.h:
10281 * gst/base/gstcollectpads.c:
10282 * gst/base/gstcollectpads.h:
10283 * gst/base/gstpushsrc.c:
10284 * gst/base/gstpushsrc.h:
10285 * gst/base/gsttypefindhelper.c:
10286 * gst/base/gsttypefindhelper.h:
10287 * gst/check/Makefile.am:
10288 * gst/check/gstcheck.c:
10289 * gst/check/gstcheck.h:
10290 * gst/net/Makefile.am:
10291 * gst/net/gstnet.h:
10292 * gst/net/gstnetclientclock.c:
10293 * gst/net/gstnetclientclock.h:
10294 * gst/net/gstnettimepacket.c:
10295 * gst/net/gstnettimepacket.h:
10296 * gst/net/gstnettimeprovider.c:
10297 * gst/net/gstnettimeprovider.h:
10298 * libs/gst/Makefile.am:
10299 * libs/gst/base/Makefile.am:
10300 * libs/gst/base/gstbasetransform.c:
10301 * libs/gst/check/Makefile.am:
10302 * plugins/elements/Makefile.am:
10304 CVS surgery + support to move base, check, and net out of gst
10307 2005-11-29 Andy Wingo <wingo@pobox.com>
10309 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10311 * gst/gststructure.h (struct _GstStructure): Only one pointer of
10314 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10316 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10318 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10320 * gst/gstobject.h: (struct _GstObject): Only one pointer of
10321 padding; reduces object size by about 30%. We don't expect
10322 anything else to go into gstobject.
10324 * gst/gstminiobject.h (struct _GstMiniObject)
10325 (struct _GstMiniObjectClass): Only one pointer of padding; the
10326 payload is only a pointer and two ints anyway. For the class there
10327 are only two methods as well.
10329 * gst/gstelement.h (struct _GstElementClass): Removed
10330 the state_changed signal callback, it is not used.
10332 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
10334 * docs/gst/gstreamer.types:
10335 fix includes, though they are a little dinky
10337 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10339 * check/Makefile.am:
10340 look in the right place for elements, a lot more chance of
10343 remove indexers and elements subdirs
10344 * plugins/Makefile.am:
10345 make indexers conditional
10347 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10351 * plugins/elements/Makefile.am:
10352 * plugins/elements/gstcapsfilter.c:
10353 * plugins/elements/gstfilesink.c:
10354 * plugins/elements/gstfilesrc.c:
10355 * plugins/elements/gstidentity.c:
10356 * plugins/indexers/Makefile.am:
10357 do CVS surgery and related build fixery to move elements
10358 and indexers in a new gstreamer/plugins directory, out of the
10361 2005-11-29 Andy Wingo <wingo@pobox.com>
10363 * check/Makefile.am:
10364 * pkgconfig/gstreamer-net-uninstalled.pc.in:
10365 * pkgconfig/gstreamer-net.pc.in:
10366 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10369 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
10371 * tools/Makefile.am:
10372 * tools/gst-complete.1.in:
10373 * tools/gst-complete.c:
10374 * tools/gst-compprep.1.in:
10375 * tools/gst-compprep.c:
10376 removing -compprep and -complete
10378 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
10380 * gst/gstevent.c: (gst_event_new_new_segment),
10381 (gst_event_parse_new_segment):
10383 fix #320529 - clean up new_segment API and structure.
10384 Let's hope everyone was using the methods, and not the structure.
10386 2005-11-29 Edward Hervey <edward@fluendo.com>
10388 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10389 (gst_base_sink_event), (gst_base_sink_do_sync),
10390 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10391 Properly handle non GST_FORMAT_TIME segment
10392 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10393 Properly handle non GST_FORMAT_TIME segment
10394 * gst/gstsegment.c:
10395 This function is valid if the accumulator is 0 and the format
10396 is different from the requested format.
10398 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
10400 * docs/gst/gstreamer-sections.txt:
10401 Add gst_query_new_seeking and gst_query_parse_seeking to the
10404 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
10406 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10407 Treat a pad alloc with new caps the same as if we were not
10408 negotiated, in order to allow a changing upstream output
10409 to produce a new format of data.
10411 2005-11-29 Edward Hervey <edward@fluendo.com>
10413 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10414 (gst_base_transform_event), (gst_base_transform_eventfunc):
10415 The event virtual method is now properly implemented, with a default
10417 Sub classes should call the parent_class event method. They should
10418 return FALSE if they had a problem handling the given event, or don't
10419 want GstBaseTransform to send that even downstream
10420 * gst/elements/gstidentity.c: (gst_identity_class_init),
10421 (gst_identity_init), (gst_identity_event),
10422 (gst_identity_transform_ip), (gst_identity_set_property),
10423 (gst_identity_get_property):
10424 * gst/elements/gstidentity.h:
10425 Added the single-segment boolean property.
10426 If set to TRUE, it will output a single segment of data, starting from
10427 0, will eat up all incoming newsegment, and modify the timestamp of the
10428 buffers accordingly
10430 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
10432 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
10433 Don't ref NULL target pad (#322751). Improve docs.
10435 2005-11-29 Michael Smith <msmith@fluendo.com>
10437 * gst/gstregistryxml.c: (load_plugin):
10438 Don't crash if we failed to load a feature from a plugin.
10440 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10442 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10444 use more check API and less GLib API
10446 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10449 don't run checks if we don't have check
10450 * common/check.mak:
10451 remove the registry when running make torture
10452 * docs/gst/gstreamer-sections.txt:
10453 remove second multiply
10454 * gst/gstqueue.c: (gst_queue_loop):
10455 fix a compile warning when disabling debug
10457 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
10460 Hey! Let's print the pad name if the pointer != NULL instead
10461 of when it == NULL :-)
10463 2005-11-28 Wim Taymans <wim@fluendo.com>
10465 * check/gst/gstutils.c: (GST_START_TEST):
10466 Updated check, add some scaling accuracy checking code.
10468 * gst/gstutils.c: (gst_util_div128_64),
10469 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
10470 (gst_util_uint64_scale_int):
10471 Fix 6 times faster division code. Optimize for common
10472 1/1 and less common X/1 cases.
10474 2005-11-28 Wim Taymans <wim@fluendo.com>
10476 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10479 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
10480 (do_linear_regression), (gst_clock_add_observation):
10482 Release lock when the clock cannot be slaved.
10483 Catch the case where the regression returned an invalid denominator.
10485 * gst/gstutils.c: (gst_util_div128_64_iterate),
10486 (gst_util_div128_64), (gst_util_uint64_scale_int64),
10487 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10488 Add protentially more performant non-iterative 128/64 divide function
10489 that unfortunatly does not work yet.
10490 Shortcut the trivial 0/X = 0 case.
10491 Remove the warnings on overflow.
10493 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10495 * gst/gstplugin.c: (gst_plugin_register_func):
10496 everything causing a plugin not to load should be at least a WARNING
10498 2005-11-28 Stefan Kost <ensonic@users.sf.net>
10500 * docs/random/ensonic/dparams.txt:
10501 some TODOs for the next dev cycle
10502 * libs/gst/controller/gstcontroller.c:
10503 (gst_controlled_property_set_interpolation_mode),
10504 (gst_controlled_property_new):
10505 * libs/gst/controller/gstcontroller.h:
10506 use base type to assign acccessor functions
10508 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
10510 * check/Makefile.am:
10511 Oops, that should have been top_srcdir
10513 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
10515 * check/Makefile.am:
10516 * check/elements/fdsrc.c: (GST_START_TEST):
10517 Use a cmdline define to specify the location of a file to use for
10518 testing, to avoid breaking distcheck.
10520 2005-11-28 Andy Wingo <wingo@pobox.com>
10522 * gst/gstpad.c (fixate_value): Use array functions for arrays.
10524 2005-11-28 Edward Hervey <edward@fluendo.com>
10526 * tools/gst-launch.c: (main):
10527 Clarify the output strings, makes it easier to translate.
10530 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10533 don't try and build net if we don't even have <sys/socket.h>
10535 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
10537 * check/Makefile.am:
10538 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
10539 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
10540 Add tests for fdsrc seekability
10542 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10543 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
10544 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
10545 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
10546 * gst/elements/gstfdsrc.h:
10547 fdsrc should not be a 'live' source.
10548 Implement seeking on seekable fd's.
10550 * gst/gstquery.c: (gst_query_new_seeking),
10551 (gst_query_parse_seeking):
10553 Implement SEEKING query functions:
10554 *_new_seeking and *_parse_seeking
10556 2005-11-27 Stefan Kost <ensonic@users.sf.net>
10558 * gst/gstelement.c: (gst_element_dispose):
10561 * gst/gstiterator.c:
10562 * gst/gststructure.c:
10565 * libs/gst/controller/gstcontroller.c:
10566 (gst_controlled_property_set_interpolation_mode):
10567 * libs/gst/controller/gstcontroller.h:
10568 * libs/gst/controller/gstinterpolation.c:
10569 (interpolate_none_get_enum_value_array):
10570 support controlling enums
10572 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
10575 Improve documentation for gst_value_union().
10578 Change return value for union, intersect and subtract functions
10579 from gint to gboolean.
10581 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
10583 * gst/gstvalue.c: (gst_value_serialize_any_list),
10584 (gst_value_transform_any_list_string),
10585 (gst_value_deserialize_list), (gst_value_deserialize_array),
10586 (gst_value_set_int_range), (gst_value_deserialize_int_range),
10587 (gst_value_set_double_range), (gst_value_deserialize_double_range),
10588 (gst_value_set_fraction_range_full),
10589 (gst_value_deserialize_fraction_range),
10590 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
10591 (gst_value_deserialize_boolean),
10592 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
10593 (gst_value_serialize_float), (gst_value_deserialize_float),
10594 (gst_string_wrap), (gst_value_deserialize_string),
10595 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
10596 (gst_value_union_int_range_int_range),
10597 (gst_value_intersect_int_range_int_range),
10598 (gst_value_intersect_double_range_double_range),
10599 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10600 (gst_value_subtract_int_range_int_range),
10601 (gst_value_subtract_double_double_range),
10602 (gst_value_subtract_double_range_double_range),
10603 (gst_value_deserialize_fraction):
10605 Use gint, gdouble and gchar in our API instead of int, double and
10606 char (and make usage in gstvalue.c more consistent).
10608 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
10610 * check/Makefile.am:
10611 * libs/gst/controller/Makefile.am:
10612 * libs/gst/dataprotocol/Makefile.am:
10613 fix up Makefile.am and remove GST_ENABLE_NEW
10615 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
10619 * gst/base/Makefile.am:
10620 * gst/check/Makefile.am:
10621 * gst/elements/Makefile.am:
10622 * gst/net/Makefile.am:
10623 update LDFLAGS use some more
10625 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
10627 * common/m4/gst-doc.m4:
10630 2005-11-26 Edward Hervey <edward@fluendo.com>
10632 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10633 This shouldn't issue a g_warning since it returns NULL if it
10634 couldn't find the plugin, and all functions using this behave
10635 properly on a NULL return. Switching to a GST_WARNING.
10637 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
10639 * gst/gstbin.c: (gst_bin_handle_message_func):
10640 Don't leak clock messages.
10642 2005-11-25 Wim Taymans <wim@fluendo.com>
10644 * gst/gstutils.c: (gst_util_uint64_scale_int64),
10645 (gst_util_uint64_scale_int):
10646 Optimisations, remove unneeded vars.
10648 2005-11-25 Wim Taymans <wim@fluendo.com>
10650 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10651 Added more checks for the high precision uint64 cases.
10653 * gst/gstutils.c: (gst_util_uint64_scale_int64),
10654 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10655 Implement high precision (guint64 * guint64) / guint64.
10657 2005-11-24 Wim Taymans <wim@fluendo.com>
10659 * gst/base/gstbasesrc.c: (gst_base_src_query):
10660 Fix wrong percentage query.
10662 * gst/gstutils.c: (gst_util_uint64_scale),
10663 (gst_util_uint64_scale_int):
10664 Add some more common cases that can be handled
10665 efficiently to _scale.
10667 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
10669 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
10670 (gst_mini_object_suite):
10671 don't use check calls from threads; check probably isn't
10672 threadsafe and using a lock to make it threadsafe would
10673 defeat the purpose of this check
10674 * gst/check/gstcheck.c:
10675 * gst/check/gstcheck.h:
10676 use GST_DEBUG some more
10678 2005-11-24 Wim Taymans <wim@fluendo.com>
10680 * gst/gstutils.c: (gst_util_uint64_scale),
10681 (gst_util_uint64_scale_int):
10682 Chain trivial case to _scale_int.
10684 2005-11-24 Wim Taymans <wim@fluendo.com>
10686 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10687 Added test for scaling.
10692 * gst/gstutils.c: (gst_util_uint64_scale_int):
10693 Implemented high precision scaling code.
10695 2005-11-24 Stefan Kost <ensonic@users.sf.net>
10698 do not crash on pad==NULL
10700 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
10702 Patch by: Stefan Kost
10704 * common/gtk-doc.mak:
10705 * docs/gst/Makefile.am:
10706 * docs/libs/Makefile.am:
10707 Fix distcheck issues for the libraries docs build
10710 2005-11-24 Michael Smith <msmith@fluendo.com>
10712 * docs/manual/basics-helloworld.xml:
10713 Fix bug #315027: memory leak in example code in docs.
10715 2005-11-24 Michael Smith <msmith@fluendo.com>
10717 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10718 Unlock the PREROLL_LOCK in a failure case.
10720 2005-11-24 Wim Taymans <wim@fluendo.com>
10722 * docs/gst/gstreamer-sections.txt:
10723 * gst/base/gstadapter.h:
10724 * gst/base/gstbasesink.h:
10725 * gst/base/gstbasesrc.h:
10726 * gst/base/gstbasetransform.h:
10727 * gst/base/gstpushsrc.h:
10728 * gst/elements/gstfakesink.h:
10729 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
10730 * gst/elements/gstfakesrc.h:
10731 * gst/elements/gstfilesink.h:
10732 * gst/elements/gstfilesrc.h:
10735 * gst/gstbuffer.c: (_gst_buffer_copy):
10738 * gst/gstchildproxy.c:
10740 * gst/gstelement.c:
10741 * gst/gstelementfactory.c:
10742 * gst/gstelementfactory.h:
10744 * gst/gstghostpad.h:
10746 * gst/gstinterface.h:
10747 * gst/gstminiobject.c:
10748 * gst/gstminiobject.h:
10751 * gst/gstpadtemplate.h:
10752 * gst/gstpipeline.h:
10753 * gst/gstpluginfeature.h:
10756 * gst/gsttaglist.c:
10757 * gst/gsttaglist.h:
10758 * gst/gsttagsetter.c:
10759 * gst/gsttagsetter.h:
10762 * gst/gsttypefind.h:
10765 * gst/net/gstnetclientclock.c:
10766 * gst/net/gstnetclientclock.h:
10767 * gst/net/gstnettimepacket.c:
10768 * gst/net/gstnettimeprovider.c:
10769 * gst/net/gstnettimeprovider.h:
10772 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
10774 * configure.ac: back to HEAD
10776 === release 0.9.6 ===
10778 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
10781 releasing 0.9.6, "Always On Time"
10783 2005-11-23 Wim Taymans <wim@fluendo.com>
10785 * docs/gst/gstreamer-sections.txt:
10786 * gst/glib-compat.c:
10787 * gst/gsttagsetter.c:
10789 * gst/net/gstnetclientclock.c:
10790 * gst/net/gstnettimepacket.h:
10793 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
10795 * docs/faq/using.xml:
10796 * docs/libs/tmpl/gstcontrol.sgml:
10797 * docs/manual/advanced-dparams.xml:
10798 * docs/manual/appendix-checklist.xml:
10799 * docs/manual/basics-elements.xml:
10800 * docs/pwg/other-source.xml:
10801 * docs/random/moving-plugins:
10803 * tools/gst-launch.1.in:
10804 remove mentions of sinesrc
10806 2005-11-23 Michael Smith <msmith@fluendo.com>
10808 * docs/gst/gstreamer-sections.txt:
10809 Update for new API and API changes.
10811 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
10813 Documentation typo fix.
10814 * gst/net/gstnettimepacket.c:
10815 Documentation fixes for arguments.
10817 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
10819 * gst/gststructure.c: (gst_structure_get_fraction),
10820 (gst_structure_parse_value),
10821 (gst_structure_fixate_field_nearest_fraction):
10822 * gst/gststructure.h:
10823 * gst/gstutils.c: (gst_util_uint64_scale_int):
10825 * scripts/update-funcnames:
10827 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
10828 Make gst_structure_fixate_field_nearest_fraction take a numerator
10829 and denominator argument instead of a GValue
10830 add gst_structure_get_fraction helper function.
10832 2005-11-23 Wim Taymans <wim@fluendo.com>
10834 * docs/design/part-TODO.txt:
10837 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10838 * gst/net/gstnetclientclock.h:
10839 Use parent fields for timeout and window_size.
10841 2005-11-23 Andy Wingo <wingo@pobox.com>
10843 * check/net/gstnetclientclock.c (test_functioning): Adjust to
10844 rate_num/rate_denom change.
10846 * gst/net/gstnetclientclock.c
10847 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
10848 OBJECT_LOCK. Don't call add_observation with the lock.
10850 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
10852 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
10854 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
10855 deal with rate as a fraction whose numerator and denominator are
10856 GstClockTime values.
10857 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
10858 master; the other fields are protected by the SLAVE_LOCK.
10859 (do_linear_regression): Note that this must be called with the
10861 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
10862 OBJECT_LOCK. Call set_calibration instead of touching the
10863 variables directly.
10864 (gst_clock_set_property, gst_clock_get_property): Protect
10865 master/slave parameters with the SLAVE_LOCK.
10867 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
10868 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
10869 note that all of the instance variables that add_observation and
10870 the set_master functions use are protected by that lock and not
10872 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
10874 * gst/gstclock.c (gst_clock_add_observation): No longer requires
10875 the caller to take the object lock.
10877 2005-11-23 Wim Taymans <wim@fluendo.com>
10879 * gst/gsterror.c: (_gst_core_errors_init):
10881 Add error for clock stuff.
10883 * gst/gstpipeline.c: (gst_pipeline_change_state),
10884 (gst_pipeline_set_clock):
10885 Post clock error when clock cannot be used in a pipeline.
10887 2005-11-23 Stefan Kost <ensonic@users.sf.net>
10889 * docs/gst/gstreamer-sections.txt:
10890 make two symbols from gstinfo private for the docs
10891 * gst/base/gstcollectpads.h:
10893 fix doc typos, update docs
10895 2005-11-22 Wim Taymans <wim@fluendo.com>
10897 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10898 (gst_base_sink_wait), (gst_base_sink_do_sync),
10899 (gst_base_sink_handle_event):
10900 * gst/base/gstbasesink.h:
10901 No need to store the clock, the parent element class already
10904 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
10905 Updates for clock_set returning a gboolean
10907 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
10908 (gst_clock_id_wait_async), (gst_clock_class_init),
10909 (gst_clock_init), (gst_clock_finalize),
10910 (gst_clock_get_internal_time), (gst_clock_get_time),
10911 (gst_clock_slave_callback), (gst_clock_set_master),
10912 (gst_clock_get_master), (do_linear_regression),
10913 (gst_clock_add_observation), (gst_clock_set_property),
10914 (gst_clock_get_property):
10916 Implement master/slave. When setting a clock as a slave, a
10917 periodic timeout is scheduled to sample master and slave times.
10918 Then the slave clock is recalibrated to match offset and rate
10919 of the master clock.
10920 Update logging a bit.
10921 Add flag so that a clock can state that is cannot be slaved to
10924 * gst/gstelement.c: (gst_element_set_clock):
10925 * gst/gstelement.h:
10926 The set clock returns a gboolean for when an element cannot
10927 deal with the selected clock in the pipeline.
10929 * gst/gstpipeline.c: (gst_pipeline_change_state),
10930 (gst_pipeline_set_clock):
10931 * gst/gstpipeline.h:
10932 Handle the case where the selected clock cannot be set on
10935 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
10936 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
10937 (gst_net_client_clock_set_property),
10938 (gst_net_client_clock_get_property),
10939 (gst_net_client_clock_observe_times):
10940 * gst/net/gstnetclientclock.h:
10941 Use regression code in GstClock parent, remove duplicated
10944 2005-11-22 Michael Smith <msmith@fluendo.com>
10946 * gst/gstutils.c: (gst_util_clock_time_scale):
10948 * docs/gst/gstreamer-sections.txt:
10949 Rename method to have extra underscore.
10951 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
10953 * gst/elements/Makefile.am:
10954 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
10955 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10956 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10957 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
10958 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
10959 * gst/elements/gstfakesrc.h:
10960 * gst/gstqueue.c: (queue_leaky_get_type):
10961 correctly fix GEnumValues so that nick is the short lowercase
10963 * tools/gst-inspect.c: (print_element_properties_info):
10964 also show the nick, since it's useful to use from parse_launch
10968 2005-11-22 Michael Smith <msmith@fluendo.com>
10970 * gst/gstutils.c: (gst_util_clocktime_scale):
10972 * docs/gst/gstreamer-sections.txt:
10973 Add util method for scaling a clocktime by a fraction. Useful
10974 implementation is left as an exercise for the reader.
10976 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
10978 * gst/gstvalue.c: (gst_value_collect_fraction_range):
10979 If needed, allocate storage in the destination value during
10982 2005-11-22 Edward Hervey <edward@fluendo.com>
10984 * docs/gst/gstreamer-sections.txt:
10987 * gst/gsturitype.c:
10988 * gst/gsturitype.h:
10989 * gst/gstutils.c: (gst_util_set_object_arg):
10990 * tools/gst-compprep.c: (main):
10991 * tools/gst-inspect.c: (print_element_properties_info):
10992 Removed GstURI, closes bug #321061
10994 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
10996 * check/gst/gststructure.c: (GST_START_TEST):
10997 * gst/gststructure.c: (gst_structure_parse_value):
10998 Oops, broke automatic string type parsing.
10999 Add a test to catch it in future.
11001 2005-11-22 Andy Wingo <wingo@pobox.com>
11003 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
11004 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11005 Actually rename the function implementations. Grr.
11007 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11009 * check/gst/capslist.h:
11011 * check/gst/gststructure.c: (GST_START_TEST),
11012 (gst_structure_suite):
11013 Test automatic value type detection in gst_structure_from_string.
11014 * gst/gststructure.c: (gst_structure_parse_value):
11015 Add fraction as a type we try and guess automatically in
11016 caps/structure strings.
11018 2005-11-22 Andy Wingo <wingo@pobox.com>
11020 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11022 * gst/gsttagsetter.h:
11023 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11024 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11025 (gst_tag_setter_add_tag_valist)
11026 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11027 _add_values, _add_valist, and _add_valist_values. Since this is an
11028 interface the function suffixes should be more explicit so
11029 language binding don't end up with element.add_valist ->
11030 gst_tag_setter_add_valist, for example. Fixes #322069.
11032 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11034 * check/gst/gstcaps.c: (GST_START_TEST):
11035 Extend caps string tests to check that a caps to string
11036 conversion is reversible and produces the same caps.
11038 * gst/gststructure.c: (gst_structure_value_get_generic_type):
11039 Output "fraction" as the generic type fraction range, so caps
11040 serialisation and deserialisation works.
11041 * check/gst/capslist.h:
11042 * gst/gstvalue.c: (gst_value_deserialize_fraction):
11043 Support 'MIN' and 'MAX' for deserialising fractions.
11045 2005-11-22 Andy Wingo <wingo@pobox.com>
11047 * gst/gstevent.h (gst_event_new_new_segment)
11048 (gst_event_parse_new_segment, gst_event_new_buffer_size)
11049 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11050 Renamed from *_newsegment, *_buffersize, *_notarget.
11052 * scripts/update-funcnames: New script, performs the changes
11055 2005-11-22 Wim Taymans <wim@fluendo.com>
11057 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11058 Make sure the GstFlowReturn is returned.
11060 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11061 (gst_bus_add_signal_watch):
11063 add gst_bus_add_signal_watch_full.
11065 * gst/gstplugin.c: (gst_plugin_load_file):
11066 Small style cleanup.
11068 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11070 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11071 Block the fakesrc srcpad when we send an event, to avoid
11072 contention on the stream_lock causing random test failures.
11074 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11076 * check/gst/gstvalue.c: (GST_START_TEST):
11077 * gst/gstvalue.c: (gst_value_fraction_subtract):
11080 2005-11-22 Stefan Kost <ensonic@users.sf.net>
11083 include "gstchildproxy.h"
11084 * gst/gstchildproxy.h:
11085 * libs/gst/controller/gstcontroller.h:
11086 use G_GNUC_NULL_TERMINATED
11088 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11090 * check/gst/capslist.h:
11091 * check/gst/gstcaps.c: (GST_START_TEST):
11092 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11093 * gst/gststructure.c: (gst_structure_parse_range),
11094 (gst_structure_fixate_field_nearest_fraction):
11095 * gst/gststructure.h:
11096 * gst/gstvalue.c: (gst_value_init_fraction_range),
11097 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11098 (gst_value_collect_fraction_range),
11099 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11100 (gst_value_set_fraction_range_full),
11101 (gst_value_get_fraction_range_min),
11102 (gst_value_get_fraction_range_max),
11103 (gst_value_serialize_fraction_range),
11104 (gst_value_transform_fraction_range_string),
11105 (gst_value_compare_fraction_range),
11106 (gst_value_deserialize_fraction_range),
11107 (gst_value_intersect_fraction_fraction_range),
11108 (gst_value_intersect_fraction_range_fraction_range),
11109 (gst_value_subtract_fraction_fraction_range),
11110 (gst_value_subtract_fraction_range_fraction),
11111 (gst_value_subtract_fraction_range_fraction_range),
11112 (gst_value_collect_fraction), (gst_value_fraction_multiply),
11113 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11114 (gst_value_transform_string_fraction), (_gst_value_initialize):
11116 Implement fraction ranges and extend GstFraction to support
11117 arithmetic subtraction, as well as deserialization from integer
11118 strings such as "100"
11119 Add a testsuite as for int and double range set operations
11121 2005-11-21 Andy Wingo <wingo@pobox.com>
11123 * gst/gsttaglist.h:
11125 * gst/gststructure.h: Add glib-compat.h.
11127 2005-11-21 Wim Taymans <wim@fluendo.com>
11129 * gst/gstbin.c: (gst_bin_change_state_func):
11132 2005-11-21 Wim Taymans <wim@fluendo.com>
11134 * gst/gstsegment.h:
11135 And add a nice define too.
11137 2005-11-21 Wim Taymans <wim@fluendo.com>
11139 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11140 (gst_segment_new), (gst_segment_free), (gst_segment_init),
11141 (gst_segment_set_duration), (gst_segment_set_last_stop),
11142 (gst_segment_set_seek), (gst_segment_set_newsegment),
11143 (gst_segment_to_stream_time), (gst_segment_to_running_time),
11144 (gst_segment_clip):
11145 * gst/gstsegment.h:
11146 Make binding friendly.
11148 2005-11-21 Andy Wingo <wingo@pobox.com>
11150 * gst/gsttagsetter.h:
11151 * gst/gsttaglist.h:
11152 * gst/gststructure.h:
11154 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11157 * gst/gsterror.c (_gst_core_errors_init):
11158 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11161 * gst/Makefile.am (gst_headers): Add glib-compat.h.
11162 (noinst_HEADERS): noinst the -private.
11164 2005-11-21 Michael Smith <msmith@fluendo.com>
11167 * gst/gstregistry.h:
11168 Remove unimplemented declarations for which we can see no sensible
11171 2005-11-21 Andy Wingo <wingo@pobox.com>
11173 * gst/gst.h: Include glib-compat.h.
11175 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11177 * gst/glib-compat.c: Include the public and the private header.
11179 * gst/glib-compat-private.h: Copied here from glib-compat.h.
11183 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11185 * check/gst/gstevent.c (create_custom_events): Check that
11186 FLUSH_STOP is serialized.
11188 * check/elements/identity.c (event_func):
11189 * check/elements/fakesrc.c (event_func): No stream lock, the core
11192 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11193 stream lock taking, yay.
11195 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11196 ensure that core takes the stream lock.
11198 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11201 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11202 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11203 it already. For the flush start we do take it though so we get the
11204 right preroll state change messages.
11206 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11207 the stream lock here, the core does it for us.
11209 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11210 GST_STREAM_GET_LOCK.
11211 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
11212 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
11213 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11214 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11215 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
11216 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11218 * gst/gstpad.c: Update for stream lock name change.
11220 * gst/base/gstbasesink.c: Update for preroll lock name change.
11222 2005-11-21 Wim Taymans <wim@fluendo.com>
11224 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11225 (gst_clock_get_master):
11227 * gst/gstsystemclock.c: (gst_system_clock_init):
11228 Convert Clock flags to object flags.
11229 Added methods to manage master/slave clocks.
11231 2005-11-21 Wim Taymans <wim@fluendo.com>
11233 * check/gst/gstsegment.c: (GST_START_TEST):
11234 * docs/design/part-TODO.txt:
11235 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11236 (gst_base_sink_event), (gst_base_sink_do_sync),
11237 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11238 (gst_base_sink_query), (gst_base_sink_change_state):
11239 * gst/base/gstbasesink.h:
11240 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11241 (gst_base_src_default_newsegment),
11242 (gst_base_src_configure_segment), (gst_base_src_do_seek),
11243 (gst_base_src_get_range), (gst_base_src_loop),
11244 (gst_base_src_change_state):
11245 * gst/base/gstbasesrc.h:
11246 * gst/base/gstbasetransform.c:
11247 (gst_base_transform_prepare_output_buf),
11248 (gst_base_transform_event), (gst_base_transform_change_state):
11249 * gst/base/gstbasetransform.h:
11250 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11251 (gst_collect_pads_event):
11252 * gst/base/gstcollectpads.h:
11253 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11254 (gst_fake_src_create):
11255 * gst/elements/gstfakesrc.h:
11256 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11257 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11258 (gst_segment_set_last_stop), (gst_segment_set_seek),
11259 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11260 (gst_segment_to_running_time), (gst_segment_clip):
11261 * gst/gstsegment.h:
11262 More segment updates, replace code in plugins with segment
11265 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
11267 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11268 Don't ignore sscanf results
11270 2005-11-21 Andy Wingo <wingo@pobox.com>
11272 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11275 * *.c: Ran scripts/update-macros. Oh yes.
11277 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11278 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11281 * scripts/update-macros: New script. Run it on your files to
11282 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11285 2005-11-21 Stefan Kost <ensonic@users.sf.net>
11287 * docs/gst/Makefile.am:
11288 * docs/gst/gstreamer-docs.sgml:
11289 * docs/gst/gstreamer-sections.txt:
11290 * docs/gst/gstreamer.types:
11292 more docs fixes, add new api to the docs
11294 2005-11-21 Andy Wingo <wingo@pobox.com>
11296 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11297 state_broadcast call.
11299 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11301 2005-11-21 Julien MOUTTE <julien@moutte.net>
11303 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11304 function calls for arrays.
11306 2005-11-21 Stefan Kost <ensonic@users.sf.net>
11308 * docs/random/ensonic/media-device-daemon.txt:
11309 wild idea, can this be done?
11310 * docs/gst/gstreamer-sections.txt:
11315 * gst/gstpluginfeature.c:
11319 doc fixes and additions
11321 2005-11-21 Andy Wingo <wingo@pobox.com>
11323 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
11324 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
11325 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
11326 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11327 private to the basesrc implementation.
11329 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11330 behalf of event function if necessary. It should no longer be
11331 necessary to take the stream lock in pad's event functions. Fixes
11334 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
11335 * docs/gst/gstreamer-sections.txt:
11336 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11337 (gst_structure_fixate_field_nearest_double),
11338 (gst_structure_fixate_field_boolean):
11339 * gst/gststructure.h:
11340 * win32/common/libgstreamer.def:
11341 * win32/gstreamer.def:
11343 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11346 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
11348 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11349 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11350 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11351 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11352 (gst_fdsrc_uri_handler_init):
11353 * gst/elements/gstfdsrc.h:
11354 Port fd:// URI handler from 0.8 to fdsrc
11356 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11358 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11359 (gst_value_serialize_fourcc):
11361 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11362 consistent with our other format defines (#320324).
11364 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11366 * gst/gstvalue.c: (gst_value_is_fixed):
11367 Revert previous commit. Value lists are by definition
11368 not fixed, as they are a list of possible values.
11370 2005-11-21 Andy Wingo <wingo@pobox.com>
11372 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11373 during the stable series if we need it. Fixes #319178.
11375 * gst/gstevent.c (gst_event_new_filler): Removed.
11377 * check/gst/gstevent.c: Update comment about filler events.
11379 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11381 * gst/gstvalue.c: (gst_value_is_fixed):
11382 Should handle both value arrays and value lists.
11384 2005-11-21 Andy Wingo <wingo@pobox.com>
11386 patch by: Alessandro Dessina <alessandro nnva org>
11388 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11389 functions to access arrays. Fixes #321962.
11391 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11393 * docs/gst/gstreamer.types:
11394 gst_collectpads_get_type => gst_collect_pads_get_type.
11396 * gst/base/gstbasetransform.c:
11397 Remove unused SIGNAL_HANDOFF enum.
11399 2005-11-21 Andy Wingo <wingo@pobox.com>
11401 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11402 the event type (upstream, downstream, serialized). Renamed
11403 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11404 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11405 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11407 * gst/gstevent.c: Update for new CUSTOM event names.
11409 * check/gst/gstevent.c: Update check for new CUSTOM event names.
11412 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
11415 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11417 * docs/gst/gstreamer-sections.txt:
11418 * win32/common/libgstbase.def:
11419 * win32/libgstbase.def:
11420 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11421 (gst_collect_pads_class_init), (gst_collect_pads_init),
11422 (gst_collect_pads_finalize), (gst_collect_pads_new),
11423 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
11424 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
11425 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
11426 (gst_collect_pads_start), (gst_collect_pads_stop),
11427 (gst_collect_pads_peek), (gst_collect_pads_pop),
11428 (gst_collect_pads_available), (gst_collect_pads_read),
11429 (gst_collect_pads_flush), (gst_collect_pads_event),
11430 (gst_collect_pads_chain):
11431 * gst/base/gstcollectpads.h:
11432 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
11433 unimplemented functions as unimplemented. Add padding to
11434 GstCollectData. (#320766, #320423)
11436 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11438 * gst/gstmessage.c:
11439 Improve docs for DURATION message (usage of duration parameter)
11442 2005-11-20 Wim Taymans <wim@fluendo.com>
11444 * check/Makefile.am:
11445 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
11449 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11450 (gst_segment_set_seek), (gst_segment_set_newsegment),
11451 (gst_segment_to_stream_time), (gst_segment_to_running_time),
11452 (gst_segment_clip):
11453 * gst/gstsegment.h:
11454 Added segment helper structure and methods. Not fully implemented
11456 Added segment check.
11458 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
11460 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11461 Add a deserialisation test for fractions
11462 * examples/metadata/read-metadata.c: (message_loop),
11463 (make_pipeline), (main):
11464 Fix up metadata reading sample.
11465 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11467 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11468 Don't try and fixate empty caps
11469 * gst/gst_private.h:
11470 Wrap in G_BEGIN_DECLS/G_END_DECLS
11471 * gst/gstvalue.c: (gst_value_collect_fraction),
11472 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
11473 (gst_value_transform_string_fraction),
11474 (gst_value_compare_fraction):
11475 Add some extra guards to ensure that we don't end up
11476 with an invalid denominator of 0 in a gstfraction and
11477 that fractions always get reduced.
11479 2005-11-20 Wim Taymans <wim@fluendo.com>
11481 * docs/gst/gstreamer-sections.txt:
11483 * gst/gstelement.c:
11492 2005-11-20 Wim Taymans <wim@fluendo.com>
11494 * docs/design/part-TODO.txt:
11496 Make a proper enum of the flag.
11498 2005-11-19 Wim Taymans <wim@fluendo.com>
11500 * docs/design/part-TODO.txt:
11501 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
11502 (gst_format_to_quark), (gst_format_register):
11504 * gst/gstquery.c: (_gst_query_initialize),
11505 (gst_query_type_get_name), (gst_query_type_to_quark),
11506 (gst_query_type_register):
11508 Add type to quark and type to string conversions.
11510 2005-11-19 Andy Wingo <wingo@pobox.com>
11512 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
11515 2005-11-19 Wim Taymans <wim@fluendo.com>
11517 * docs/design/part-TODO.txt:
11518 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11519 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
11520 (gst_bin_handle_message_func):
11522 Make message handling overridable.
11524 2005-11-19 Andy Wingo <wingo@pobox.com>
11526 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
11529 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
11531 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
11532 is a GstClockTime. Fixes #321710.
11534 * gst/gstclock.h (GstClock): Remove offset property. Add
11535 internal_calibration and external_calibration. Fix padding. Pad
11536 also by GstClockTime so we don't run into problems.
11538 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
11539 (gst_clock_get_rate_offset): Remove.
11540 (gst_clock_set_time_adjust): Remove. Fixes #321712.
11543 * gst/gstutils.c (g_static_rec_cond_wait)
11544 (g_static_rec_cond_timed_wait): Removed, no longer needed.
11546 * gst/gstbin.c: Remove terrible continue_state prototype.
11548 * gst/gstelement.h (gst_element_continue_state): Make public.
11550 * gst/gstelement.h:
11551 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
11552 by continue_state. Fixes #319389.
11554 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
11555 Really fixes #168438. However I don't see anywhere where the
11556 filter function is called... stupid GStreamer...
11558 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
11559 don't have a dispose function, so it won't get called when the
11560 object is unreffed, but oh well!
11562 * gst/gstindex.c (gst_index_set_filter_full): New API function,
11563 allows a destroy function to be set so user_data can be freed.
11565 (gst_index_set_filter): Call gst_index_set_filter_full.
11567 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
11569 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
11570 string should produce an error, given the lack of a way to
11571 represent NULL strings. Fixes #165650.
11574 * gst/gstvalue.c (gst_value_array_append_value)
11575 (gst_value_array_prepend_value, gst_value_array_get_size)
11576 (gst_value_array_get_value): New API, copied from
11577 gst_value_list_*, only operates on arrays.
11578 (gst_value_list_append_value, gst_value_list_prepend_value)
11579 (gst_value_list_concat, gst_value_list_get_size)
11580 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
11582 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
11583 init_list, because it works on both.
11584 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
11585 (gst_value_copy_list_or_array): Renamed from copy_list.
11586 (gst_value_free_list_or_array): Renamed from free_list.
11587 (gst_value_collect_list_or_array): Renamed from collect_list.
11588 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
11589 (gst_value_list_or_array_peek_pointer): Renamed from
11591 (_gst_value_array_value_table, _gst_value_list_value_table):
11592 Update value table functions.
11593 (gst_value_compare_list_or_array): Renamed from compare_list.
11595 * gsttaglist.h: Whoops, foreach function returns void. Also fix
11598 * gst/gsttaglist.c:
11599 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
11600 GstTagList*. Fixes #143472.
11602 * gst/gststructure.h: Clarify what the foreach/map functions can
11603 or can't do to their arguments.
11605 2005-11-18 Wim Taymans <wim@fluendo.com>
11607 * gst/gstclock.c: (gst_clock_set_calibration),
11608 (gst_clock_get_calibration):
11610 Calibration can be set with internal time equal to current
11613 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
11619 2005-11-18 Andy Wingo <wingo@pobox.com>
11622 * pkgconfig/gstreamer-net.pc.in:
11623 * pkgconfig/gstreamer-net-uninstalled.pc.in:
11624 * pkgconfig/Makefile.am: Add net pkgconfig files.
11626 2005-11-18 Stefan Kost <ensonic@users.sf.net>
11629 * gst/gstghostpad.c:
11635 2005-11-18 Andy Wingo <wingo@pobox.com>
11637 * gst/net/gstnetclientclock.c: Turn off debugging.
11639 * check/net/gstnetclientclock.c (test_functioning): Assert that the
11640 times connverge somewhat. Can't make a real test.
11642 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
11643 integer arithmetic. Return the minimum of the domain, which can be
11644 set as "internal" for gst_clock_set_calibration.
11645 (gst_net_client_clock_observe_times): Call _set_calibration.
11646 (gst_net_client_clock_new): Call _set_calibration instead of
11649 * check/net/gstnetclientclock.c (test_functioning): Use the right
11653 * gst/gstclock.c (gst_clock_get_calibration)
11654 (gst_clock_set_calibration): New functions, obsolete the ones I
11655 added yesterday. Doh. Precision issues mean we have to extrapolate
11656 from a point in the more recent past than 1970.
11657 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
11659 (gst_clock_adjust_unlocked): Use the right calibration data.
11661 2005-11-18 Edward Hervey <edward@fluendo.com>
11663 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
11664 Also reset the ->current_* values in READY->PAUSED
11666 2005-11-18 Andy Wingo <wingo@pobox.com>
11668 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
11669 Whoops, check the right fd. Also add some debugging.
11670 (gst_net_client_clock_observe_times): Adjust for int64 offset.
11671 (do_linear_regression): Add a crapload of debugging. Subtract off
11672 the minimum values from the input series to discard unneeded bits.
11673 Use only int arithmetic. There is still double arithmetic when
11674 calculating the intercept that needs fixing. Return boolean to
11675 indicate success; FALSE would mean the domain or range is too
11676 great. Still needs fixes.
11678 2005-11-18 Wim Taymans <wim@fluendo.com>
11680 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
11681 For the current position in stream time, we need to subtract
11684 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11685 Release lock before calling the callback function of async
11688 2005-11-18 Andy Wingo <wingo@pobox.com>
11690 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
11691 Port goes all the way to MAXUINT16.
11693 * gst/net/gstnettimeprovider.c: Make the port range the same as
11694 for the kernel: 0 assigns, otherwise ports are less than
11697 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
11700 * check/net/gstnetclientclock.c (test_functioning): Add the start
11703 2005-11-18 Wim Taymans <wim@fluendo.com>
11705 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11706 (gst_bin_remove_func), (bin_bus_handler):
11708 Removing a clock provider from a bin, triggers a clock lost message
11709 so that a new clock will be selected.
11710 Adding a clock to a bin triggers a clock provider message.
11711 Make sure we reselect a clock when we received a clock lost message.
11712 Keep a reference to the element that provided the clock.
11714 2005-11-18 Andy Wingo <wingo@pobox.com>
11716 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
11717 the clock initially so it produces values around the base time.
11718 (gst_net_client_clock_class_init): Typo fix.
11719 (gst_net_client_clock_thread): Add note on when the socket gets
11722 2005-11-17 Wim Taymans <wim@fluendo.com>
11724 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
11725 Free remote and local time arrays.
11727 2005-11-17 Wim Taymans <wim@fluendo.com>
11729 * gst/net/gstnetclientclock.c: (do_linear_regression),
11730 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
11731 Fix compilation, uninitialized vars and a forgotten continue.
11733 2005-11-17 Andy Wingo <wingo@pobox.com>
11735 * check/Makefile.am (check_PROGRAMS):
11736 * check/net/gstnetclientclock.c: Add a most minimal test for the
11737 net client clock. More to come later.
11739 * gst/net/gstnet.h:
11740 * gst/net/Makefile.am: Add netclientclock.
11742 * gst/net/gstnetclientclock.h:
11743 * gst/net/gstnetclientclock.c: New files, implement an untested
11744 GstClock that takes its time from a network time provider.
11745 Implements the algorithm in network-clock.scm.
11747 * tests/network-clock.scm (*window-size*): Rename from
11749 * tests/network-clock.scm (network-time):
11750 * tests/network-clock-utils.scm (q-push): Update callers.
11752 2005-11-17 Wim Taymans <wim@fluendo.com>
11754 * gst/gstbin.c: (gst_bin_provide_clock_func),
11755 (gst_bin_sort_iterator_new):
11756 And unref the child too..
11758 2005-11-17 Wim Taymans <wim@fluendo.com>
11760 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11761 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
11762 Refactor the sort iterator so it can be used while holding the
11764 Make clock selection select a clock closest to the source.
11766 2005-11-17 Michael Smith <msmith@fluendo.com>
11768 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
11769 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
11771 Anonymous structs are a gcc (and some other compilers) extension, so
11772 don't use them. Since this is only for ABI-compatibility, and our
11773 API/ABI freeze is over in a few days, this whole thing will only
11774 last a few days, so don't bother trying to think up a meaningful
11775 name for the struct.
11777 2005-11-17 Andy Wingo <wingo@pobox.com>
11779 * gst/gstclock.h (GstClock): Add rate and offset properties,
11780 preserving ABI stability. Add rate/offset accessors. Will file bug
11781 for the freeze break.
11783 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
11784 and offset, trying to keep precision and avoiding
11785 underflow/overflow.
11786 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
11787 functions. Make gst_clock_set_time_adjust obsolete.
11788 (gst_clock_set_time_adjust): Note that this function is obsolete.
11789 Will file bug soon.
11791 * gst/base/gstbasetransform.h: Make the ABI-stability hack
11792 greppable by using GST_PADDING-1+1.
11794 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
11796 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
11798 * gst/gstmessage.c: (gst_message_parse_clock_lost):
11799 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
11801 * gst/gstpadtemplate.h:
11802 * gst/gstpluginfeature.h:
11803 Don't use c++ style comments in headers (#321638).
11805 2005-11-16 Andy Wingo <wingo@pobox.com>
11807 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
11810 * check/net/gstnettimeprovider.c: Check to see that the time
11811 provider actually provides times. Works, yo!
11813 2005-11-16 Wim Taymans <wim@fluendo.com>
11815 * check/Makefile.am:
11818 * check/elements/fakesrc.c: (GST_START_TEST):
11819 Set element to NULL before disposing it.
11821 2005-11-16 Andy Wingo <wingo@pobox.com>
11823 * gst/net/Makefile.am:
11824 * gst/net/gstnet.h:
11825 * gst/net/gstnettimeprovider.c:
11826 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
11827 provider, include it from gstnet.h, and add it to the build.
11829 * gst/net/gstnettimepacket.h:
11830 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
11831 sending and receiving.
11833 2005-11-16 Wim Taymans <wim@fluendo.com>
11835 * check/Makefile.am:
11836 Enable valgrind check.
11838 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
11839 (gst_fake_src_alloc_buffer):
11842 2005-11-16 Wim Taymans <wim@fluendo.com>
11844 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
11845 Call parent finalize too.
11847 2005-11-16 Wim Taymans <wim@fluendo.com>
11849 * check/Makefile.am:
11850 Enable valgrind check that should work fine now.
11852 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
11853 * gst/gstqueue.c: (gst_queue_init):
11854 Fix memleaks in pad allocation.
11856 2005-11-16 Andy Wingo <wingo@pobox.com>
11858 * gst/net/Makefile.am:
11859 * gst/net/gstnet.h: New part of core to hold network elements and
11860 objects. Put in core because it exposes API that applications want
11861 to use. The library is named libgstnet-tempname right now because
11862 of the existing libgstnet in gst-plugins-base. Solution is
11863 probably to rename the one in plugins-base; will file a bug for
11866 * gst/net/gstnettimeprovider.c:
11867 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
11868 get_time call over the network.
11871 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
11873 * check/Makefile.am:
11874 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
11875 get additions shortly.
11877 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
11879 * gst/gstpad.c: (gst_pad_new_from_static_template):
11881 add gst_pad_new_from_static_template functions
11882 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
11883 (gst_check_setup_sink_pad):
11884 * gst/elements/gsttee.c: (gst_tee_init):
11887 2005-11-16 Wim Taymans <wim@fluendo.com>
11889 * gst/gstpad.c: (gst_pad_pause_task):
11890 Removed warning, it's not really an error either.
11892 2005-11-16 Wim Taymans <wim@fluendo.com>
11894 * gst/base/gstbasetransform.c:
11895 (gst_base_transform_prepare_output_buf),
11896 (gst_base_transform_event):
11897 Check if the caps are NULL, this can happen if the element
11898 is shutting down and the pad caps are set to NULL.
11900 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
11902 * gst/elements/gsttee.c: (gst_tee_init):
11903 fix pad template leak in tee
11905 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
11907 * gst/glib-compat.c: (g_value_dup_gst_object):
11908 * gst/glib-compat.h:
11909 * gst/gstpad.c: (gst_pad_set_property):
11910 use gst_object_ref when setting the pad template; this will
11911 trigger the pad template leaks on GLib 2.6 and the slaves
11913 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
11915 * gst/glib-compat.c: (gst_flags_get_first_value):
11916 * gst/glib-compat.h:
11917 * gst/gstregistryxml.c:
11918 remove functions copied from GLib 2.6
11920 2005-11-16 Michael Smith <msmith@fluendo.com>
11923 Don't link against VALGRIND_LIBS. That was always the wrong thing to
11924 do, but only breaks with newer valgrind versions. We're not a
11925 valgrind tool, we have no link-time dependencies on libcoregrind.
11927 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
11929 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11931 * gst/gstmessage.h:
11934 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
11936 * gst/base/gstbasesrc.c: (gst_base_src_init):
11937 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
11938 * gst/gstqueue.c: (gst_queue_init):
11939 * gst/gstregistryxml.c: (load_feature):
11940 Revert all these unrefs, they don't even pass make check !
11942 2005-11-15 Johan Dahlin <johan@gnome.org>
11944 * gst/base/gstbasesrc.c: (gst_base_src_init):
11945 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
11946 * gst/gstqueue.c: (gst_queue_init):
11947 Free pad templates, fixes a couple of leaks.
11949 2005-11-15 Daniel Fischer <dan at f3c dot com>
11951 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
11953 * gst/gstpad.c: (gst_pad_get_property):
11954 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
11955 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
11958 2005-11-15 Wim Taymans <wim@fluendo.com>
11963 2005-11-15 Andy Wingo <wingo@pobox.com>
11965 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
11967 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
11968 using GST_CLOCK_TIME_NONE to disable base time management.
11969 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
11970 time if it was NONE before.
11971 (gst_pipeline_change_state): Only munge the base time if
11972 stream_time != GST_CLOCK_TIME_NONE.
11974 * check/gst/gstpipeline.c (test_base_time): Punt around the
11975 problem of the probe not being called, because that's not the
11976 issue I'm looking at. Add a check that setting stream_time to NONE
11977 disables base time management.
11979 2005-11-15 Wim Taymans <wim@fluendo.com>
11981 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
11982 segment_stop == -1 at startup.
11984 * gst/base/gstbasetransform.c: (gst_base_transform_event),
11985 (gst_base_transform_change_state):
11986 Init segment values at start.
11988 2005-11-15 Wim Taymans <wim@fluendo.com>
11990 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11991 0 segment values are 0 in any format.
11993 * gst/base/gstbasetransform.c: (gst_base_transform_event):
11994 * gst/base/gstbasetransform.h:
11995 Parse newsegment correctly in basetransform
11997 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11998 Sync to clock using updated segment values.
12000 2005-11-15 Andy Wingo <wingo@pobox.com>
12002 * check/gst/gstpipeline.c (test_base_time): Add check that the
12003 base time and stream time are reset correctly.
12005 2005-11-15 Wim Taymans <wim@fluendo.com>
12007 * docs/design/part-TODO.txt:
12008 Some more TODO items.
12010 2005-11-15 Andy Wingo <wingo@pobox.com>
12012 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12013 error if the user selected "no clock" as the clocking method.
12015 * check/gst/gstpipeline.c (test_base_time): New test for buffer
12016 timestamps with live capture.
12018 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12019 is 0 but we are a live source, timestamp the buffers using the
12022 2005-11-14 Stefan Kost <ensonic@users.sf.net>
12024 * docs/gst/gstreamer-sections.txt:
12026 * gst/gstghostpad.c:
12031 2005-11-14 Wim Taymans <wim@fluendo.com>
12034 add suppressions from Wim's Debian machine
12036 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
12039 add suppressions from Andy's AMD64 Ubuntu machine
12041 2005-11-14 Andy Wingo <wingo@pobox.com>
12043 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12044 STATE_LOCK not necessary. Fixes #311489.
12046 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12049 * gst/gstindex.c (gst_index_add_object): Note in the docs that
12050 this function is not implemented.
12052 2005-11-14 Julien MOUTTE <julien@moutte.net>
12054 * gst/base/gstbasetransform.c:
12055 (gst_base_transform_prepare_output_buf):
12056 Ref the source pad caps while we need them.
12059 2005-11-11 Wim Taymans <wim@fluendo.com>
12061 * docs/gst/gstreamer-sections.txt:
12062 Added some docs for GstCollectData.
12064 * gst/base/gstadapter.c:
12065 Some small code example fix.
12067 * gst/base/gstcollectpads.c:
12068 * gst/base/gstcollectpads.h:
12069 Document some more.
12071 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
12073 * configure.ac: back to HEAD
12075 === release 0.9.5 ===
12077 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
12080 releasing 0.9.5, "Bike Lunch Day"
12082 2005-11-11 Wim Taymans <wim@fluendo.com>
12084 * gst/gstbuffer.c: (_gst_buffer_copy):
12087 * gst/gstcaps.c: (gst_caps_is_equal):
12089 Make _is_equal fast in the trivial cases.
12091 * gst/gstminiobject.c:
12092 * gst/gstminiobject.h:
12093 More docs. Spifify .h file.
12098 2005-11-11 Wim Taymans <wim@fluendo.com>
12100 * gst/base/gstbasetransform.c:
12101 (gst_base_transform_prepare_output_buf),
12102 (gst_base_transform_handle_buffer):
12104 If we're processing a buffer and need to allocate an output
12105 buffer, we cannot accept a format change. If we did get a
12106 format change, we have to alloc a buffer ourselves of the
12109 2005-11-11 Wim Taymans <wim@fluendo.com>
12111 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12112 While checking the flag for reentrancy in the gstcaps function
12113 is nice to detect recursive invocations, it also makes it
12114 impossible to call getcaps from multiple threads, which must be
12115 possible. So, checking for recursive calls has to go.
12117 2005-11-11 Michael Smith <msmith@fluendo.com>
12119 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12120 Don't sync on buffers that fall partially outside our current
12121 segment. Prevents an assertion failure/abort playing some files.
12123 2005-11-10 Andy Wingo <wingo@pobox.com>
12125 * check/gst/gstbin.c (test_message_state_changed_children): Style
12128 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12129 gst_bus_poll with the signal watch. Ensures that poll and a signal
12130 watch see the same messages.
12132 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12133 a poll and a watch at the same time get the same messages.
12135 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
12137 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12138 * gst/gstcaps.c: (gst_caps_intersect):
12139 Don't call gst_caps_do_simplify - it doesn't respect order of caps
12140 and it's not needed.
12142 2005-11-10 Wim Taymans <wim@fluendo.com>
12144 * docs/design/part-TODO.txt:
12147 2005-11-10 Wim Taymans <wim@fluendo.com>
12149 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12150 * gst/base/gstbasesrc.c: (gst_base_src_wait),
12151 (gst_base_src_do_sync), (gst_base_src_get_range):
12152 Implement clock sync in base class.
12154 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
12156 patch by: Tim-Philipp Müller <tim at centricular dot net>
12158 * gst/gststructure.c: (gst_structure_parse_field),
12159 (gst_structure_from_string):
12160 Forward-port a 0.8 patch to handle escaped spaces in structure string,
12161 so that gst_parse_launch() can deal with spaces in filtered link
12162 caps (fixes #164479)
12163 * check/gst/capslist.h:
12164 * check/gst/gststructure.c: (GST_START_TEST):
12165 add unit tests for this change
12167 2005-11-10 Wim Taymans <wim@fluendo.com>
12169 * docs/gst/gstreamer-sections.txt:
12170 * gst/gstelement.c:
12171 * gst/gstelement.h:
12172 Fix docs, move some STATE macros to private.
12174 2005-11-10 Wim Taymans <wim@fluendo.com>
12176 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12177 Added check for bug #317341
12181 Some more spiffifying.
12183 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12184 Call peer linkfunction if we are a source pad. Totally fixes
12188 Update docs, source pads should call the peer linkfunction
12189 so they can atomically perform the pad link.
12191 2005-11-09 Wim Taymans <wim@fluendo.com>
12195 Uber-spiffy-spiffify some more.
12197 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
12199 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12200 * gst/elements/gstfilesink.c: (gst_file_sink_init):
12201 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12202 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12203 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12204 * gst/gstpad.c: (gst_pad_init):
12205 Use GST_DEBUG_FUNCPTR() more extensively.
12207 2005-11-09 Wim Taymans <wim@fluendo.com>
12209 * gst/gstobject.c: (gst_object_class_init):
12211 Documentation fixes.
12213 2005-11-09 Edward Hervey <edward@fluendo.com>
12215 * gst/gsttypefindfactory.c:
12218 2005-11-09 Edward Hervey <edward@fluendo.com>
12220 * gst/base/gsttypefindhelper.c:
12221 * gst/gsttypefind.c:
12222 * gst/gsttypefind.h:
12225 2005-11-09 Wim Taymans <wim@fluendo.com>
12227 * gst/gstiterator.c:
12234 2005-11-09 Wim Taymans <wim@fluendo.com>
12240 2005-11-09 Wim Taymans <wim@fluendo.com>
12242 * docs/gst/gstreamer-sections.txt:
12243 Moved the message async delivery private lock and cond
12244 to the private section.
12246 * gst/gstmessage.c:
12247 * gst/gstmessage.h:
12250 2005-11-09 Edward Hervey <edward@fluendo.com>
12252 * docs/gst/gstreamer-sections.txt:
12255 Document GstURIHandler
12257 2005-11-09 Wim Taymans <wim@fluendo.com>
12259 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12260 (gst_iterator_find_custom):
12261 * gst/gstiterator.h:
12264 2005-11-09 Wim Taymans <wim@fluendo.com>
12267 Document another field.
12269 * gst/gststructure.c:
12270 * gst/gststructure.h:
12273 2005-11-09 Wim Taymans <wim@fluendo.com>
12276 Documented structs.
12278 2005-11-09 Wim Taymans <wim@fluendo.com>
12280 * docs/gst/gstreamer-sections.txt:
12281 Added some new macros.
12288 2005-11-09 Wim Taymans <wim@fluendo.com>
12290 * docs/design/part-TODO.txt:
12291 Some more items for the TODO
12297 2005-11-09 Andy Wingo <wingo@pobox.com>
12299 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12300 to work on something else now tho...
12302 * gst/base/gstadapter.c: More adapter docs.
12304 * gst/elements/gstfilesink.c (gst_file_sink_start)
12305 (gst_file_sink_stop): New functions, replace the state change
12307 (gst_file_sink_class_init): Hook up the start and stop functions.
12308 (gst_file_sink_base_init): Don't set the state change handler any
12309 more. It was a bit ugly too, being set from here...
12310 (gst_file_sink_get_property, gst_file_sink_set_property):
12312 (gst_file_sink_set_location): More robust check that doesn't call
12313 GST_STATE. Ugggggg.
12315 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
12317 * gst/base/gstbasetransform.c: (gst_base_transform_event):
12318 Hold STREAM_LOCK while pushing newsegment or tag events as well.
12320 2005-11-08 Wim Taymans <wim@fluendo.com>
12322 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12323 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12324 (gst_base_sink_chain), (gst_base_sink_change_state):
12325 * gst/base/gstbasesink.h:
12326 * gst/base/gstbasesrc.h:
12327 * gst/gstelement.h:
12329 Avoid excessive typechecking in macros.
12331 * gst/gstminiobject.c: (gst_mini_object_get_type),
12332 (gst_mini_object_init), (gst_mini_object_new),
12333 (gst_mini_object_free):
12334 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12335 (gst_object_finalize):
12336 Remove cruft code, optimize alloc_trace.
12338 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
12340 * docs/faq/gst-uninstalled:
12341 fix up PS1 for systems that try to reset it
12343 2005-11-07 Wim Taymans <wim@fluendo.com>
12345 * gst/base/gstbasesrc.c: (gst_base_src_init),
12346 (gst_base_src_get_range):
12347 Set the segment_end to -1 initially. Fixed typefind.
12349 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
12351 * gst/base/gstadapter.c:
12352 Debug category should be 'adapter', not 'GstAdapter'.
12354 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12355 (gst_collectpads_class_init), (gst_collectpads_init),
12356 (gst_collectpads_peek), (gst_collectpads_pop),
12357 (gst_collectpads_event), (gst_collectpads_chain):
12358 Add debug category and some debugging output. Use boilerplate
12359 macros. Remove some extraneous words from docs.
12361 2005-11-05 Andy Wingo <wingo@pobox.com>
12363 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12366 2005-11-04 Stefan Kost <ensonic@users.sf.net>
12368 * docs/gst/gstreamer-sections.txt:
12371 * gst/gstminiobject.h:
12376 2005-11-04 Wim Taymans <wim@fluendo.com>
12378 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12379 Small update to stop at the configured segment_end
12382 2005-11-04 Stefan Kost <ensonic@users.sf.net>
12384 * gst/gstregistry.c:
12385 * gst/gstregistry.h:
12388 2005-11-04 Edward Hervey <edward@fluendo.com>
12390 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12391 Check if we are doing a segment seek and have arrived at the
12392 end of that segment.
12394 2005-11-04 Wim Taymans <wim@fluendo.com>
12396 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12397 Don't leak a mutex unlock in case of an error.
12402 2005-11-04 Wim Taymans <wim@fluendo.com>
12404 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12406 Get the context to wake up only once.
12408 2005-11-03 Wim Taymans <wim@fluendo.com>
12410 * check/states/sinks.c: (GST_START_TEST):
12411 Uncomment fixed check.
12413 * docs/design/part-TODO.txt:
12416 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12417 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12418 (gst_base_sink_get_position):
12419 If we are going to PLAYING, post the right pending state
12420 when we post the intermediate paused message.
12422 * gst/gstelement.c: (gst_element_continue_state),
12423 (gst_element_set_state_func), (gst_element_change_state):
12424 Don't post state changes that were between the same state
12425 and were not ASYNC.
12427 2005-11-03 Stefan Kost <ensonic@users.sf.net>
12429 * docs/gst/gstreamer-sections.txt:
12432 * gst/gstminiobject.h:
12435 more docs and doc style fixes
12437 2005-11-03 Stefan Kost <ensonic@users.sf.net>
12439 * docs/gst/gstreamer-sections.txt:
12440 * gst/gstelement.c:
12441 * gst/gstminiobject.c:
12444 2005-11-03 Andy Wingo <wingo@pobox.com>
12446 * check/states/sinks.c (test_livesrc_sink): Add checks that the
12447 state-changed messages actually have the right order and the right
12450 2005-11-03 Wim Taymans <wim@fluendo.com>
12452 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12453 Added some more checks. Specifically the case where NO_PREROLL
12454 elements are in the pipeline.
12456 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12457 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12458 (gst_base_sink_get_position):
12459 Post READY->PAUSED state change messages too.
12460 Fix bug where VOID was posted as pending state...
12462 * gst/gstbin.c: (gst_bin_recalc_state):
12463 use _element_continue_state() to continue the state change.
12465 * gst/gstelement.c: (gst_element_continue_state),
12466 (gst_element_commit_state), (gst_element_set_state_func),
12467 (gst_element_change_state), (gst_element_change_state_func):
12468 Lots of state change cleanups, assign the STATE_RETURN in
12469 a new continue_state() function that also propagates the
12470 last return value from a state change to the app.
12471 Update some debug statements with proper category.
12473 2005-11-03 Wim Taymans <wim@fluendo.com>
12475 * docs/design/part-events.txt:
12476 * docs/design/part-gstpipeline.txt:
12477 * docs/design/part-messages.txt:
12478 * docs/design/part-overview.txt:
12479 * docs/design/part-seeking.txt:
12480 * docs/design/part-states.txt:
12481 * docs/design/part-trickmodes.txt:
12482 * docs/manual/advanced-position.xml:
12483 Small docs updates.
12486 People think !! is ugly, this looks better.
12488 * gst/gstpad.c: (gst_pad_set_blocked_async):
12489 Remove !! since it's fixed elsewhere now.
12491 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
12493 * gst/gstminiobject.h:
12495 Add !! to _FLAG_IS_SET macros to make the result boolean.
12497 2005-11-03 Edward Hervey <edward@fluendo.com>
12499 * gst/gstpad.c: (gst_pad_set_blocked_async):
12500 comparing a flag and a gboolean rarely returns coherent results...
12501 Added two characters (!!) to make that work correctly.
12503 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
12505 * gst/gstbus.c: (gst_bus_class_init):
12508 * gst/gstqueue.c: (gst_queue_loop):
12509 Don't assume a miniobject that isn't a buffer is an
12510 event (it could be that there is a refcounting
12511 problem somewhere and the pointer is stale and
12512 refers to an already destroyed miniobject).
12514 2005-11-03 Julien MOUTTE <julien@moutte.net>
12516 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
12518 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
12520 * docs/manual/advanced-position.xml:
12521 Update seek example and explanations to current 0.9 API.
12523 * gst/elements/gsttypefindelement.c:
12524 (gst_type_find_element_activate):
12525 Remove FIXME comment now that the found caps
12528 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
12530 * gst/gstregistryxml.c: (load_feature):
12531 Add another GST_STR_NULL instance
12533 2005-11-02 Edward Hervey <edward@fluendo.com>
12535 * gst/gstpad.c: (handle_pad_block):
12536 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
12538 2005-11-02 Wim Taymans <wim@fluendo.com>
12543 * gst/gstelement.c: (gst_element_commit_state):
12544 Remove unused value.
12546 * gst/gstiterator.c:
12547 Mention that the returned element is reffed in the docs.
12549 2005-11-02 Wim Taymans <wim@fluendo.com>
12551 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
12552 (gst_pad_push), (gst_pad_push_event):
12553 Unlock blocked pads when they are flushed.
12555 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
12558 * docs/gst/gstreamer-sections.txt:
12561 * gst/gstregistry.c: (gst_registry_scan_path_level):
12562 fix for a nasty little missed situation where an installed plug-in
12563 which was in the cache did not get overridden by an uninstalled one
12564 which was earlier in the plugin path because the newly created plugin
12565 for the uninstalled one (not in the registry) didn't get its
12566 ->registered set to TRUE
12568 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
12570 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
12571 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
12572 (gst_collectpads_is_active), (gst_collectpads_collect),
12573 (gst_collectpads_collect_range), (gst_collectpads_start),
12574 (gst_collectpads_stop), (gst_collectpads_peek),
12575 (gst_collectpads_pop), (gst_collectpads_available),
12576 (gst_collectpads_read), (gst_collectpads_flush):
12577 Guard public API with assertions.
12580 Fix docs for gst_pad_set_link_function().
12582 2005-11-02 Johan Dahlin <johan@gnome.org>
12584 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
12585 Unref found_caps after we used it.
12587 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
12589 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
12590 Don't try to ref NULL.
12592 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
12594 * win32/common/config.h.in:
12595 provide a GST_FUNCTION that just gives a string for now
12597 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
12599 * win32/common/gstenumtypes.c: (register_gst_object_flags),
12600 (gst_object_flags_get_type), (register_gst_bin_flags),
12601 (gst_bin_flags_get_type), (register_gst_buffer_flag),
12602 (gst_buffer_flag_get_type), (register_gst_bus_flags),
12603 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
12604 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
12605 (gst_clock_return_get_type), (register_gst_clock_entry_type),
12606 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12607 (gst_clock_flags_get_type), (register_gst_state),
12608 (gst_state_get_type), (register_gst_state_change_return),
12609 (gst_state_change_return_get_type), (register_gst_state_change),
12610 (gst_state_change_get_type), (register_gst_element_flags),
12611 (gst_element_flags_get_type), (register_gst_core_error),
12612 (gst_core_error_get_type), (register_gst_library_error),
12613 (gst_library_error_get_type), (register_gst_resource_error),
12614 (gst_resource_error_get_type), (register_gst_stream_error),
12615 (gst_stream_error_get_type), (register_gst_event_type),
12616 (gst_event_type_get_type), (register_gst_seek_type),
12617 (gst_seek_type_get_type), (register_gst_seek_flags),
12618 (gst_seek_flags_get_type), (register_gst_format),
12619 (gst_format_get_type), (register_gst_index_certainty),
12620 (gst_index_certainty_get_type), (register_gst_index_entry_type),
12621 (gst_index_entry_type_get_type),
12622 (register_gst_index_lookup_method),
12623 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12624 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12625 (gst_index_resolver_method_get_type), (register_gst_index_flags),
12626 (gst_index_flags_get_type), (register_gst_debug_level),
12627 (gst_debug_level_get_type), (register_gst_debug_color_flags),
12628 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
12629 (gst_iterator_result_get_type), (register_gst_iterator_item),
12630 (gst_iterator_item_get_type), (register_gst_message_type),
12631 (gst_message_type_get_type), (register_gst_mini_object_flags),
12632 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
12633 (gst_pad_link_return_get_type), (register_gst_flow_return),
12634 (gst_flow_return_get_type), (register_gst_activate_mode),
12635 (gst_activate_mode_get_type), (register_gst_pad_direction),
12636 (gst_pad_direction_get_type), (register_gst_pad_flags),
12637 (gst_pad_flags_get_type), (register_gst_pad_presence),
12638 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
12639 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
12640 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
12641 (gst_plugin_error_get_type), (register_gst_plugin_flags),
12642 (gst_plugin_flags_get_type), (register_gst_rank),
12643 (gst_rank_get_type), (register_gst_query_type),
12644 (gst_query_type_get_type), (register_gst_tag_merge_mode),
12645 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
12646 (gst_tag_flag_get_type), (register_gst_task_state),
12647 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
12648 (gst_alloc_trace_flags_get_type),
12649 (register_gst_type_find_probability),
12650 (gst_type_find_probability_get_type), (register_gst_uri_type),
12651 (gst_uri_type_get_type), (register_gst_parse_error),
12652 (gst_parse_error_get_type):
12653 * win32/common/gstversion.h:
12654 update win32 copies
12656 2005-11-01 Luca Ognibene <luogni@tin.it>
12659 fix docs. popt is dead, long live GOption.
12661 2005-10-31 Wim Taymans <wim@fluendo.com>
12666 2005-10-31 Andy Wingo <wingo@pobox.com>
12670 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
12672 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
12673 need to serialize property notifications on GLib 2.8. GLib 2.6 has
12674 the possibility of deadlocks here if code calling notify() or
12675 set() has a lock that can be taken in another notify handler (ABBA
12676 with class lock and e.g. python GIL state lock).
12678 2005-10-28 Julien MOUTTE <julien@moutte.net>
12680 * gst/gstbus.c: Doc updates.
12682 2005-10-28 Wim Taymans <wim@fluendo.com>
12684 * docs/design/part-TODO.txt:
12685 * gst/gstiterator.c:
12686 * gst/gstsystemclock.c:
12687 * gst/gstsystemclock.h:
12690 2005-10-28 Edward Hervey <edward@fluendo.com>
12692 * docs/gst/gstreamer-docs.sgml:
12693 * docs/gst/gstreamer-sections.txt:
12694 the GstURIType documentation page is private, it only defines GstURIType
12695 which should be defined in the GstURIHandler page
12697 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
12699 * gst/gstbin.c: (gst_bin_class_init):
12702 Documentation updates.
12704 2005-10-28 Wim Taymans <wim@fluendo.com>
12706 * docs/gst/gstreamer-sections.txt:
12709 Documented the clocks.
12711 2005-10-28 Stefan Kost <ensonic@users.sf.net>
12713 * docs/gst/gstreamer-sections.txt:
12714 move some macros to private sections
12715 * gst/gstminiobject.c:
12716 * gst/gstminiobject.h:
12717 add descriptions provided by ds and some more
12719 mark macro as to be removed
12721 2005-10-28 Wim Taymans <wim@fluendo.com>
12723 * docs/design/part-TODO.txt:
12724 Add an item to TODO.
12726 * gst/gstiterator.c: (gst_iterator_fold),
12727 (gst_iterator_find_custom):
12728 * gst/gstiterator.h:
12731 2005-10-28 Wim Taymans <wim@fluendo.com>
12733 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12734 (gst_base_transform_init):
12737 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
12738 An EOS event marks the queue as completely filled.
12740 2005-10-27 Wim Taymans <wim@fluendo.com>
12742 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12743 (gst_base_sink_do_sync), (gst_base_sink_get_position):
12744 Some more debugging.
12746 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
12747 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
12748 (gst_base_transform_event), (gst_base_transform_getrange),
12749 (gst_base_transform_chain):
12750 * gst/base/gstbasetransform.h:
12752 Protect transform and concurrent buffer alloc with a new lock.
12753 Try not to break ABI/API.
12755 2005-10-27 Wim Taymans <wim@fluendo.com>
12757 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12758 (gst_base_src_init), (gst_base_src_query),
12759 (gst_base_src_default_newsegment),
12760 (gst_base_src_configure_segment), (gst_base_src_do_seek),
12761 (gst_base_src_send_event), (gst_base_src_event_handler),
12762 (gst_base_src_pad_get_range), (gst_base_src_loop),
12763 (gst_base_src_unlock), (gst_base_src_default_negotiate),
12764 (gst_base_src_start), (gst_base_src_deactivate),
12765 (gst_base_src_activate_push), (gst_base_src_change_state):
12766 Move some stuff around and cleanup things.
12768 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
12770 * gst/base/gstbasesrc.c: (gst_base_src_query):
12771 Add missing break statements.
12773 2005-10-27 Wim Taymans <wim@fluendo.com>
12775 * check/gst/gstbin.c: (GST_START_TEST):
12776 An extra refcount is taken in basesrc.
12778 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
12779 (gst_base_src_get_range), (gst_base_src_pad_get_range),
12780 (gst_base_src_loop):
12781 Small cleanups, check for flushing after being unlocked from the
12782 LIVE_LOCK. take refcounts correctly (not yet everywhere).
12783 Don't send out EOS when going to READY.
12785 2005-10-27 Wim Taymans <wim@fluendo.com>
12787 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12788 (gst_base_sink_get_position):
12791 * gst/gstbin.c: (message_check), (bin_replace_message),
12792 (bin_remove_messages), (is_eos), (gst_bin_add_func),
12793 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12794 (bin_query_duration_init), (bin_query_duration_fold),
12795 (bin_query_duration_done), (bin_query_generic_fold),
12797 * tools/gst-launch.c: (main):
12800 2005-10-26 Stefan Kost <ensonic@users.sf.net>
12802 * examples/controller/audio-example.c: (main):
12803 * examples/queue/queue.c: (event_loop):
12804 * gst/base/gstbasetransform.h:
12805 * gst/gstelement.c: (gst_element_send_event):
12807 * gst/gstpad.c: (gst_pad_send_event):
12810 changing log priority in error situations
12812 2005-10-25 Wim Taymans <wim@fluendo.com>
12814 * gst/gstbin.c: (message_check), (bin_replace_message),
12815 (bin_remove_messages), (is_eos), (gst_bin_add_func),
12816 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12817 (bin_query_duration_init), (bin_query_duration_fold),
12818 (bin_query_duration_done), (bin_query_generic_fold),
12820 Some doc and debug updates.
12821 Cache previously requested query DURATION for speed. invalidate
12822 cached duration if element posts a DURATION message.
12824 2005-10-25 Wim Taymans <wim@fluendo.com>
12826 * docs/design/part-TODO.txt:
12829 * gst/gstbin.c: (message_check), (bin_replace_message),
12830 (bin_remove_messages), (is_eos), (gst_bin_add_func),
12831 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12832 (bin_query_duration_init), (bin_query_duration_fold),
12833 (bin_query_duration_done), (bin_query_generic_fold),
12835 Handle SEGMENT_START/DONE messages correctly.
12836 More evolved query algorithm that handles duration queries
12839 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
12840 (gst_element_get_state_func), (gst_element_abort_state),
12841 (gst_element_commit_state), (gst_element_lost_state):
12842 Some more debugging.
12844 * gst/gstmessage.h:
12847 2005-10-25 Wim Taymans <wim@fluendo.com>
12849 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12850 Don't use invalid stream_time.
12852 * gst/gstevent.c: (gst_event_new_newsegment):
12853 stream_time in newsegment cannot be undefined.
12855 2005-10-24 Wim Taymans <wim@fluendo.com>
12860 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12862 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
12864 2005-10-24 Stefan Kost <ensonic@users.sf.net>
12866 * docs/libs/tmpl/gstdparam.sgml:
12867 * docs/libs/tmpl/gstdplinint.sgml:
12868 * docs/libs/tmpl/gstdpman.sgml:
12869 * docs/libs/tmpl/gstdpsmooth.sgml:
12870 * docs/libs/tmpl/gstunitconvert.sgml:
12873 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
12878 === release 0.9.4 ===
12880 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
12883 releasing 0.9.4, "Tyrannosaurus Rex"
12885 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
12887 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
12888 (gst_file_sink_get_current_offset):
12889 Use fseeko() and ftello() if available. When falling back on
12890 lseek() to get the current offset, fflush() first to make sure
12891 everything is up-to-date and we get the right offset.
12893 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
12895 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12896 * gst/base/gstbasesrc.c: (gst_base_src_loop):
12897 * gst/gsterror.c: (_gst_stream_errors_init):
12899 * gst/gstqueue.c: (gst_queue_loop):
12901 remove prematurely added error category and clean up the instances
12903 2005-10-21 Wim Taymans <wim@fluendo.com>
12905 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12906 (gst_base_sink_get_position), (gst_base_sink_query),
12907 (gst_base_sink_change_state):
12908 Simply set the right flag when going to playing, that's all
12909 we need to do instead of calling a function inside the object
12910 lock (that could take the lock as well and deadlock)
12912 2005-10-21 Wim Taymans <wim@fluendo.com>
12914 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
12915 (gst_base_src_loop):
12916 Don't warn, the peer element knows what to do best when
12917 the seek failed, it might try something else.
12919 2005-10-21 Wim Taymans <wim@fluendo.com>
12921 * gst/base/gstbasesrc.c: (gst_base_src_init),
12922 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
12925 2005-10-21 Wim Taymans <wim@fluendo.com>
12927 * docs/design/part-segments.txt:
12930 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12931 Correctly set caps, even on the subbufer.
12933 2005-10-21 Wim Taymans <wim@fluendo.com>
12935 * docs/gst/gstreamer-docs.sgml:
12936 * docs/gst/gstreamer-sections.txt:
12937 * gst/gstelement.h:
12940 * gst/gstmessage.h:
12943 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
12947 And 2% more doc coverage.
12949 2005-10-21 Andy Wingo <wingo@pobox.com>
12951 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
12952 position reporting.
12954 2005-10-20 Wim Taymans <wim@fluendo.com>
12956 * gst/gsterror.c: (gst_error_get_message):
12959 * gst/gststructure.c:
12964 2005-10-20 Wim Taymans <wim@fluendo.com>
12969 Another 1% more coverage.
12971 2005-10-20 Wim Taymans <wim@fluendo.com>
12973 * docs/gst/gstreamer-sections.txt:
12974 * gst/gstelement.c: (gst_element_get_state_func),
12975 (gst_element_abort_state), (gst_element_commit_state),
12976 (gst_element_lost_state):
12978 * gst/gstquery.c: (gst_query_set_position),
12979 (gst_query_parse_position), (gst_query_set_duration),
12980 (gst_query_parse_duration), (gst_query_new_convert):
12982 Yay! 1% more docs coverage.
12984 2005-10-20 Wim Taymans <wim@fluendo.com>
12987 * gst/gstquery.c: (gst_query_set_position),
12988 (gst_query_parse_position), (gst_query_set_duration),
12989 (gst_query_parse_duration), (gst_query_new_convert):
12991 * gst/gstutils.c: (gst_element_query_convert):
12993 Docs and consistency fixes.
12995 2005-10-20 Wim Taymans <wim@fluendo.com>
13001 2005-10-20 Wim Taymans <wim@fluendo.com>
13003 * gst/gstbin.c: (message_check), (bin_replace_message),
13004 (bin_remove_messages), (is_eos), (gst_bin_add_func),
13005 (update_degree), (gst_bin_sort_iterator_next),
13006 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13007 Reworked the message handling a bit, cache the messages instead of
13008 only the senders. alows us to do more in the future.
13010 2005-10-20 Wim Taymans <wim@fluendo.com>
13012 * docs/design/part-TODO.txt:
13015 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13016 (gst_base_sink_query):
13017 Don't use clock time to report position when in EOS.
13019 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
13021 * tools/gst-inspect.c: (print_interfaces),
13022 (print_element_properties_info), (print_element_info):
13023 Fix interface output with gst-inspect -a; don't print
13024 newlines after double/float properties.
13026 2005-10-20 Wim Taymans <wim@fluendo.com>
13028 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13029 (gst_base_sink_query):
13030 Speed up current position calculation.
13032 * gst/base/gstbasesrc.c: (gst_base_src_query),
13033 (gst_base_src_default_newsegment):
13034 Correctly set stream position in newsegment.
13036 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13037 (update_degree), (gst_bin_sort_iterator_next),
13038 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13039 * gst/gstmessage.c: (gst_message_new_custom):
13040 Clean up debugging info
13042 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13043 (gst_queue_loop), (gst_queue_handle_src_query):
13046 2005-10-19 Wim Taymans <wim@fluendo.com>
13048 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13049 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13050 Fix query handling again.
13052 2005-10-19 Wim Taymans <wim@fluendo.com>
13054 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13055 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13056 * gst/base/gstbasesrc.c: (gst_base_src_query):
13057 * gst/elements/gstfilesink.c: (gst_file_sink_query):
13058 * gst/elements/gsttypefindelement.c:
13059 (gst_type_find_handle_src_query), (find_element_get_length),
13060 (gst_type_find_element_activate):
13063 * gst/gstquery.c: (gst_query_new_position),
13064 (gst_query_set_position), (gst_query_parse_position),
13065 (gst_query_new_duration), (gst_query_set_duration),
13066 (gst_query_parse_duration), (gst_query_set_segment),
13067 (gst_query_parse_segment):
13069 Bundling query position/duration is not a good idea since duration
13070 does not change much and we don't want to recalculate it for every
13071 position query, so they are separated again..
13072 Base value in segment query is not needed.
13074 * gst/gstqueue.c: (gst_queue_handle_src_query):
13075 * gst/gstutils.c: (gst_element_query_position),
13076 (gst_element_query_duration), (gst_pad_query_position),
13077 (gst_pad_query_duration):
13079 Updates for query API change.
13080 Added some docs here and there.
13082 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
13084 * check/gst/gstbin.c: (GST_START_TEST):
13085 * check/gst/gstghostpad.c: (GST_START_TEST):
13086 * check/pipelines/cleanup.c: (GST_START_TEST):
13087 wait on thread to die so we can check refcount correctly
13089 2005-10-18 Wim Taymans <wim@fluendo.com>
13091 * check/pipelines/stress.c: (GST_START_TEST):
13092 Make check a little more time consuming.
13094 2005-10-18 Wim Taymans <wim@fluendo.com>
13096 * check/Makefile.am:
13097 * check/pipelines/stress.c: (GST_START_TEST),
13098 (simple_launch_lines_suite), (main):
13099 Small state change torture test.
13101 * docs/design/part-states.txt:
13102 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13103 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13104 (gst_base_sink_change_state):
13105 Never take state lock from streaming thread, clean up ugly
13106 hacks. Unfortunatly core does not yet support nice ways to
13107 async commit state.
13109 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13111 Start state recalc if a STATE_DIRTY message is posted, but only
13112 on the toplevel bin.
13114 * gst/gstelement.c: (gst_element_sync_state_with_parent),
13115 (gst_element_get_state_func), (gst_element_abort_state),
13116 (gst_element_commit_state), (gst_element_lost_state),
13117 (gst_element_set_state_func), (gst_element_change_state):
13118 * gst/gstelement.h:
13119 State variables are now protected with the LOCK, the state
13120 lock is only used to serialize _set_state().
13122 2005-10-18 Wim Taymans <wim@fluendo.com>
13124 * check/gst/gstbin.c: (GST_START_TEST):
13125 * check/gst/gstmessage.c: (GST_START_TEST):
13126 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13127 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13129 * gst/gstelement.c: (gst_element_abort_state),
13130 (gst_element_commit_state), (gst_element_lost_state):
13131 * gst/gstmessage.c: (gst_message_new_state_changed),
13132 (gst_message_new_state_dirty), (gst_message_new_segment_start),
13133 (gst_message_new_segment_done), (gst_message_new_duration),
13134 (gst_message_parse_state_changed),
13135 (gst_message_parse_segment_start),
13136 (gst_message_parse_segment_done), (gst_message_parse_duration):
13137 * gst/gstmessage.h:
13138 * tools/gst-launch.c: (event_loop):
13139 Seriously, this is better than a previous commit as we only need
13140 to notify the fact that an element changed state in a streaming
13141 thread, marking the state of the parents dirty, hence the
13142 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13145 2005-10-18 Wim Taymans <wim@fluendo.com>
13147 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13148 (gst_bin_recalc_func):
13149 * gst/gstelement.c: (gst_element_set_clock),
13150 (gst_element_abort_state), (gst_element_lost_state):
13151 Cleanups, prepare for state change fixes.
13153 2005-10-18 Wim Taymans <wim@fluendo.com>
13156 * gst/gstelement.c: (gst_element_class_init),
13157 (gst_element_set_state), (gst_element_set_state_func):
13158 * gst/gstelement.h:
13159 Pending ABI changes.
13160 GThreadPool in GstBinClass to monitor async state changes.
13161 state_cookie in GstElement to detect concurrent gst/set state.
13162 set_state is now virtual too in case a very complicated element
13163 has to be constructed.
13165 2005-10-18 Wim Taymans <wim@fluendo.com>
13167 * check/gst/gstbin.c: (GST_START_TEST):
13168 * check/gst/gstmessage.c: (GST_START_TEST):
13169 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13170 * gst/gstbin.c: (bin_bus_handler):
13171 * gst/gstelement.c: (gst_element_commit_state),
13172 (gst_element_lost_state):
13173 * gst/gstmessage.c: (gst_message_new_state_changed),
13174 (gst_message_new_segment_start), (gst_message_new_segment_done),
13175 (gst_message_new_duration), (gst_message_parse_state_changed),
13176 (gst_message_parse_segment_start),
13177 (gst_message_parse_segment_done), (gst_message_parse_duration):
13178 * gst/gstmessage.h:
13179 * tools/gst-launch.c: (event_loop):
13180 Make messages future proof.
13181 state-change gets a flag if it was a message comming from the
13183 segment-start/stop can also be specified in other formats.
13184 A message to notify an app that a pipeline changed playback
13186 Also fix a GstMessage leak in -launch
13188 2005-10-18 Andy Wingo <wingo@pobox.com>
13190 * gst/gstelement.c (gst_element_dispose): More helpful message.
13192 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
13194 reviewed by: <delete if not using a buddy>
13196 * common/gtk-doc.mak:
13198 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
13200 * gst/gstregistry.c: (gst_registry_scan_path_level):
13201 unref a plug-in we get that was already initialized
13203 2005-10-18 Stefan Kost <ensonic@users.sf.net>
13205 * docs/gst/gstreamer-sections.txt:
13206 * docs/libs/gstreamer-libs-sections.txt:
13207 * gst/gstelement.h:
13208 add new api entries
13209 hide internal macro
13211 2005-10-17 Andy Wingo <wingo@pobox.com>
13213 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13216 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13218 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13220 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13221 (gst_element_get_state_func): Better debug message.
13222 (gst_element_commit_state): s/INFO/DEBUG/.
13223 (gst_element_lost_state, gst_element_change_state):
13225 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13226 (gst_message_new_custom): s/INFO/LOG/.
13228 2005-10-17 Michael Smith <msmith@fluendo.com>
13230 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13231 Check if end time is valid using end time, not start time.
13233 2005-10-17 Stefan Kost <ensonic@users.sf.net>
13235 * check/gst-libs/controller.c: (GST_START_TEST),
13236 (gst_controller_suite):
13237 * libs/gst/controller/gstcontroller.c:
13238 (gst_controlled_property_set_interpolation_mode):
13239 * libs/gst/controller/gstcontroller.h:
13240 * libs/gst/controller/gstinterpolation.c:
13241 * testsuite/controller/.cvsignore:
13242 * testsuite/controller/Makefile.am:
13243 * testsuite/controller/interpolator.c:
13244 merge controller testsuites
13246 remove mem-chunk from docs
13248 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
13250 * gst/gstmemchunk.c:
13251 * gst/gstmemchunk.h:
13252 * gst/gsttrashstack.c:
13253 * gst/gsttrashstack.h:
13254 out. get out. you're fired. to the Attic !
13256 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
13258 * gst/gstcaps.c: (gst_caps_intersect):
13259 fix signedness issues in a (hopefully) correct way
13260 * gst/gstelement.c: (gst_element_pads_activate):
13262 * gst/gstobject.c: (gst_object_set_parent):
13265 2005-10-17 Julien MOUTTE <julien@moutte.net>
13267 * gst/gstvalue.h: Fix prototypes.
13269 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13271 * docs/gst/gstreamer-sections.txt:
13272 * gst/gst.c: (gst_version_string):
13274 * gst/gstversion.h.in:
13275 * win32/common/libgstreamer.def:
13276 add gst_version_string ()
13278 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13282 * gst/gst.c: (init_post):
13283 * win32/common/config.h.in:
13285 * gst/gstcaps.c: (gst_caps_intersect):
13286 use gint64, the range could be bigger than a guint
13288 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13291 document potential problem in 2038
13293 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13295 * gst/gstcaps.c: (gst_caps_intersect):
13296 Fix guint j diving under 0
13298 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13301 * win32/common/config.h:
13302 * win32/common/config.h.in:
13303 check for process.h, declares getpid() on Windows
13305 include process.h if we have it
13306 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13307 * gst/gstmemchunk.h:
13308 fix signedness issues
13309 * win32/common/libgstreamer.def:
13312 2005-10-16 Julien MOUTTE <julien@moutte.net>
13314 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13315 fix. Because of unsigned ints, caps intersection was going nuts and
13316 trying to access structures with G_MAXUINT index. That fixes
13317 videotestsrc ! ffmpegcolorspace ! fakesink
13318 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13321 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13324 use the gettext macro
13325 * gst/elements/gstelements.c:
13327 * gst/indexers/gstindexers.c:
13328 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13329 * win32/common/config.h:
13331 * win32/common/config.h.in:
13332 add the template to generate config.h
13333 * win32/common/gstenumtypes.c:
13334 * win32/common/gstversion.h:
13337 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13339 * gst/gst.c: (gst_version):
13340 * gst/gstversion.h.in:
13343 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
13346 Oops, add missing closing bracket.
13348 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13351 use common m4's for argument checking
13353 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
13355 * docs/gst/gstreamer-sections.txt:
13357 Add GST_EVENT_TYPE_NAME() macro.
13359 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13362 * gst/gstpluginfeature.c:
13364 privatize more symbols
13366 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13369 add srcdir, builddir includes to GST_ALL_CFLAGS, since
13370 everything that uses GStreamer API should have the includes
13372 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13374 * docs/gst/gstreamer-sections.txt:
13375 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13377 give each value a _get_type, removes the DATA exports
13379 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13383 remove _gst_registry_auto_load, not used anymore
13384 * gst/gstbin.c: (gst_bin_get_type):
13386 * gst/gstelement.c: (gst_element_get_type):
13387 * gst/gstelement.h:
13388 * gst/gstobject.c: (gst_object_get_type):
13390 * gst/gstpad.c: (gst_pad_get_type):
13392 make _get_type functions similar, fixes data export from library
13394 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13397 correctly make conditionals
13398 * gst/elements/Makefile.am:
13399 * gst/elements/gstelements.c:
13400 fix typo causing fdsrc not to build
13402 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13404 * testsuite/Makefile.am:
13405 * testsuite/bytestream/.cvsignore:
13406 * testsuite/bytestream/Makefile.am:
13407 * testsuite/bytestream/filepadsink.c:
13408 * testsuite/bytestream/gstbstest.c:
13409 * testsuite/bytestream/test1.c:
13410 * testsuite/bytestream/testfile1:
13411 * testsuite/caps/normalisation.c:
13412 * testsuite/caps/random.c: (main):
13413 * testsuite/cleanup/.cvsignore:
13414 * testsuite/cleanup/Makefile.am:
13415 * testsuite/cleanup/cleanup1.c:
13416 * testsuite/cleanup/cleanup2.c:
13417 * testsuite/cleanup/cleanup3.c:
13418 * testsuite/cleanup/cleanup4.c:
13419 * testsuite/cleanup/cleanup5.c:
13420 * testsuite/controller/interpolator.c:
13421 * testsuite/debug/printf_extension.c: (main):
13422 * testsuite/elements/tee.c:
13423 * testsuite/negotiation/.cvsignore:
13424 * testsuite/negotiation/Makefile.am:
13425 * testsuite/negotiation/pad_link.c:
13426 * testsuite/pad/Makefile.am:
13427 * testsuite/pad/chainnopull.c:
13428 * testsuite/pad/getnopush.c:
13429 * testsuite/pad/link.c:
13430 * testsuite/refcounting/sched.c: (create_pipeline):
13431 * testsuite/registry/Makefile.am:
13432 * testsuite/registry/gst-print-formats.c:
13433 * testsuite/schedulers/.cvsignore:
13434 * testsuite/schedulers/142183-2.c:
13435 * testsuite/schedulers/142183.c:
13436 * testsuite/schedulers/143777-2.c:
13437 * testsuite/schedulers/143777.c:
13438 * testsuite/schedulers/147713.c:
13439 * testsuite/schedulers/147819.c:
13440 * testsuite/schedulers/147894-2.c:
13441 * testsuite/schedulers/147894.c:
13442 * testsuite/schedulers/Makefile.am:
13443 * testsuite/schedulers/group_link.c:
13444 * testsuite/schedulers/queue_link.c:
13445 * testsuite/schedulers/relink.c:
13446 * testsuite/schedulers/unlink.c:
13447 * testsuite/schedulers/unref.c:
13448 * testsuite/schedulers/useless_iteration.c:
13449 * testsuite/states/bin.c:
13450 clean out/remove some stuff from the testsuite directories
13452 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13455 check for some headers
13456 * gst/elements/Makefile.am:
13457 * gst/elements/gstelements.c:
13458 don't compile fdsrc without sys/socket.h
13459 * gst/indexers/Makefile.am:
13460 * gst/indexers/gstindexers.c: (plugin_init):
13461 don't compile fileindex without mmap
13463 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13470 * check/Makefile.am:
13471 * docs/gst/Makefile.am:
13472 * examples/helloworld/Makefile.am:
13474 * gst/base/Makefile.am:
13475 * gst/check/Makefile.am:
13476 * gst/elements/Makefile.am:
13477 * gst/indexers/Makefile.am:
13478 * gst/parse/Makefile.am:
13479 * libs/gst/controller/Makefile.am:
13480 * libs/gst/dataprotocol/Makefile.am:
13481 * examples/helloworld/helloworld.c: (event_loop):
13482 compile fixes, though it's not being compiled currently
13484 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
13486 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
13487 Add some simple tests for the new taglist date API.
13489 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
13491 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
13492 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
13493 Beautify 'last-message' output: print 'none' for buffer timestamps
13494 and durations if none is set; improve alignment with next messages.
13496 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
13498 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
13499 * gst/gstpluginfeature.h:
13500 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
13501 * gst/gstregistry.h:
13502 * docs/gst/gstreamer-sections.txt:
13503 Add new API to check plugin feature version requirements.
13505 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
13506 Some basic tests for the above.
13508 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13510 * gst/gststructure.c: (gst_structure_to_string):
13511 guard against NULL printf - happens when for example
13512 a message structure with GstClock gets serialized
13514 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
13516 * gst/base/gstcollectpads.c: (gst_collectpads_event):
13517 Fix presumable copy'n'pasto.
13519 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13521 * gst/elements/gstfakesrc.h:
13522 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
13523 * gst/elements/gsttypefindelement.c:
13524 fix some signedness
13525 * gst/elements/gstfilesink.c: (gst_file_sink_render):
13526 I wonder if this could actually write +2GB files before
13528 2005-10-13 Andy Wingo <wingo@pobox.com>
13530 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
13531 Fix Timmeke Waymans bug.
13532 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
13533 string of the proper length to gst_caps_from_string. There's a
13534 potential for, before this fix, that this could cause someone
13535 connecting over the network to cause a segfault if the payload is
13536 not NUL-terminated.
13538 2005-10-13 Stefan Kost <ensonic@users.sf.net>
13540 * docs/design/draft-push-pull.txt:
13541 * docs/design/part-overview.txt:
13542 * docs/random/TODO-pre-0.9:
13543 * docs/random/old/ChangeLog.gstreamer:
13544 * gst/base/gstpushsrc.c:
13548 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13550 * gst/glib-compat.c: (gst_flags_get_first_value):
13551 * gst/glib-compat.h:
13552 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
13553 (gst_value_compare_double), (gst_value_serialize_flags):
13554 GLib 2.6 g_flags_get_first_value has a bug that triggers an
13557 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13559 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13560 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13562 * tools/gst-launch.c: (event_loop):
13563 print out clock nicely
13565 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
13567 * docs/gst/gstreamer-sections.txt:
13568 * gst/gsttaglist.h:
13569 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
13570 (gst_tag_list_get_date_index):
13571 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
13572 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
13574 2005-10-13 Julien MOUTTE <julien@moutte.net>
13576 * gst/base/gstcollectpads.c: (gst_collectpads_event),
13577 (gst_collectpads_chain):
13578 * gst/base/gstcollectpads.h: Handle newsegment and store informations
13581 2005-10-13 Stefan Kost <ensonic@users.sf.net>
13583 * docs/gst/gstreamer-sections.txt:
13586 * tools/gst-inspect.c: (main):
13587 * tools/gst-launch.c: (main):
13588 * tools/gst-run.c: (main):
13589 * tools/gst-xmlinspect.c: (main):
13590 fix GOption context leaks
13593 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13597 * win32/common/config.h:
13599 * win32/vs6/grammar.dsp:
13600 * win32/vs6/libgstelements.dsp:
13601 * win32/vs6/libgstreamer.dsp:
13604 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
13606 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13607 * gst/base/gstbasesrc.c: (gst_base_src_query):
13608 fix more guint64<->gdouble conversions
13610 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
13613 add win32-update target
13614 * win32/common/gstconfig.h:
13615 * win32/common/gstenumtypes.c:
13616 * win32/common/gstenumtypes.h:
13617 * win32/common/gstversion.h:
13618 add files that visual studio can't generate
13620 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
13623 add a win32-update target
13626 2005-10-12 Wim Taymans <wim@fluendo.com>
13628 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13629 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
13630 * gst/gstelement.c: (gst_element_commit_state),
13631 (gst_element_set_state):
13632 Protect flags with proper lock.
13633 unref provided cached clock in dispose.
13635 2005-10-12 Stefan Kost <ensonic@users.sf.net>
13638 * gst/gstminiobject.h:
13640 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
13641 removed unused flags from miniobject
13644 2005-10-12 Wim Taymans <wim@fluendo.com>
13646 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13647 (gst_file_sink_event), (gst_file_sink_render):
13648 Flush before seeking.
13650 2005-10-12 Andy Wingo <wingo@pobox.com>
13652 * gst/gst.c (gst_init_check): Ignore unknown options, as has
13653 always been the case.
13655 2005-10-12 Stefan Kost <ensonic@users.sf.net>
13657 * check/gst/gstbin.c: (GST_START_TEST):
13658 * docs/gst/gstreamer-sections.txt:
13659 * gst/base/gstbasesink.c: (gst_base_sink_init):
13660 * gst/base/gstbasesrc.c: (gst_base_src_init),
13661 (gst_base_src_get_range), (gst_base_src_check_get_range),
13662 (gst_base_src_start), (gst_base_src_stop):
13663 * gst/base/gstbasesrc.h:
13664 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
13665 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13666 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
13670 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
13672 * gst/gstelement.c: (gst_element_is_locked_state),
13673 (gst_element_set_locked_state), (gst_element_commit_state),
13674 (gst_element_set_state):
13675 * gst/gstelement.h:
13676 * gst/gstindex.c: (gst_index_init):
13678 * gst/gstminiobject.h:
13679 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
13680 (gst_object_set_parent):
13682 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
13683 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
13685 * gst/gstpadtemplate.h:
13686 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
13687 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
13688 * gst/gstpipeline.h:
13689 * gst/indexers/gstfileindex.c: (gst_file_index_load),
13690 (gst_file_index_commit):
13691 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
13692 * testsuite/pad/link.c: (gst_test_src_init),
13693 (gst_test_filter_init), (gst_test_sink_init):
13694 * testsuite/states/locked.c: (main):
13695 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
13696 moved bitshift from macro to enum definition
13698 2005-10-12 Wim Taymans <wim@fluendo.com>
13700 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
13701 * gst/elements/gstfilesink.c: (gst_file_sink_event),
13702 (gst_file_sink_render):
13703 Some more debugging info.
13705 2005-10-12 Wim Taymans <wim@fluendo.com>
13707 * docs/design/part-states.txt:
13708 * tools/gst-launch.c: (main):
13710 Revert non-intentional change.
13712 2005-10-12 Wim Taymans <wim@fluendo.com>
13714 * check/gst/gstbin.c: (GST_START_TEST):
13715 * check/gst/gstelement.c: (GST_START_TEST):
13716 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
13717 * check/gst/gstghostpad.c: (GST_START_TEST):
13718 * check/gst/gstpipeline.c: (GST_START_TEST):
13719 * check/pipelines/simple_launch_lines.c: (run_pipeline):
13720 * check/states/sinks.c: (GST_START_TEST):
13721 * gst/elements/gsttypefindelement.c: (stop_typefinding):
13722 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13723 (gst_bin_remove_func), (gst_bin_get_state_func),
13724 (gst_bin_recalc_state), (gst_bin_change_state_func),
13726 * gst/gstelement.c: (gst_element_get_state_func),
13727 (gst_element_get_state), (gst_element_abort_state),
13728 (gst_element_commit_state), (gst_element_set_state),
13729 (gst_element_change_state), (gst_element_change_state_func):
13730 * gst/gstelement.h:
13731 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
13732 (gst_pipeline_provide_clock_func):
13733 * gst/gstutils.c: (gst_element_link_pads_filtered):
13734 * tools/gst-launch.c: (main):
13735 * tools/gst-typefind.c: (main):
13736 Use GstClockTime in _get_state() instead of GTimeVal.
13737 Remove old code in gstutils.c
13739 2005-10-12 Andy Wingo <wingo@pobox.com>
13741 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
13744 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
13745 there is no task. Shouldn't affect any code, as nothing in our
13746 plugins checks this return value.
13747 (gst_pad_stop_task): Also take the stream lock if the pad has no
13748 task. Docs updated.
13750 2005-10-12 Wim Taymans <wim@fluendo.com>
13752 * gst/gstpad.c: (pre_activate), (post_activate),
13753 (gst_pad_activate_pull), (gst_pad_activate_push):
13754 Cleanup activation code. Reset old state if
13757 2005-10-12 Wim Taymans <wim@fluendo.com>
13759 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13760 (gst_base_sink_change_state):
13761 No need to prerol after receiving EOS.
13763 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13764 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
13765 * gst/elements/gstidentity.c: (gst_identity_event):
13766 Print events more verbosely.
13768 2005-10-12 Wim Taymans <wim@fluendo.com>
13770 * check/Makefile.am:
13771 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13772 * check/states/sinks2.c:
13773 Moved sinks2 testcode in sinks check.
13775 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13776 (gst_bin_remove_func), (gst_bin_recalc_state),
13777 (gst_bin_change_state_func), (bin_bus_handler):
13778 Fix potential race condition when _get_state() iterated over an
13779 ASYNC element right before it posted a state completion.
13782 Do proper cast here.
13784 * gst/gstevent.c: (gst_event_new_newsegment),
13785 (gst_event_parse_newsegment):
13786 A playback rate of 0.0 is not allowed.
13788 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13790 * win32/common/config.h:
13791 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
13792 (_trewinddir), (_ttelldir), (_tseekdir):
13793 * win32/common/dirent.h:
13794 * win32/common/gtchar.h:
13795 * win32/common/libgstbase.def:
13796 * win32/common/libgstreamer.def:
13797 * win32/vs6/grammar.dsp:
13798 * win32/vs6/gst_inspect.dsp:
13799 * win32/vs6/gst_launch.dsp:
13800 * win32/vs6/gstreamer.dsw:
13801 * win32/vs6/libgstbase.dsp:
13802 * win32/vs6/libgstelements.dsp:
13803 * win32/vs6/libgstreamer.dsp:
13804 Visual Studio 6 project files, and a new common directory.
13807 2005-10-11 Wim Taymans <wim@fluendo.com>
13809 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13810 (gst_base_sink_do_sync), (gst_base_sink_query),
13811 (gst_base_sink_change_state):
13812 * gst/base/gstbasesink.h:
13813 Correctly parse newsegment info.
13815 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13817 * gst/gst.c: (init_post):
13818 split plugin paths correctly
13820 2005-10-11 Wim Taymans <wim@fluendo.com>
13822 * check/gst/gstevent.c: (GST_START_TEST):
13823 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13824 (gst_base_sink_change_state):
13825 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
13826 * gst/base/gstbasetransform.c: (gst_base_transform_event):
13827 * gst/elements/gstfilesink.c: (gst_file_sink_event):
13828 * gst/gstevent.c: (gst_event_new_newsegment),
13829 (gst_event_parse_newsegment):
13831 Added extra flag to newsegment for future API freeze.
13832 Updated check and base elements.
13834 2005-10-11 Julien MOUTTE <julien@moutte.net>
13836 * gst/base/gstcollectpads.c: (gst_collectpads_init),
13837 (gst_collectpads_add_pad), (gst_collectpads_pop),
13838 (gst_collectpads_event), (gst_collectpads_chain):
13839 * gst/base/gstcollectpads.h: Handle EOS correctly.
13841 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13843 * tools/gst-launch.c: (main):
13844 more null protecting
13846 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13848 * gst/gst-i18n-lib.h:
13849 check for ENABLE_NLS, not GETTEXT_PACKAGE
13850 * gst/gstregistry.c: (gst_registry_add_plugin),
13851 (gst_registry_scan_path_level),
13852 (_gst_registry_remove_cache_plugins):
13853 protect possibly NULL strings
13854 * gst/parse/types.h:
13855 config.h already included before
13856 * tools/gst-inspect.c: (main):
13857 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
13858 check for ENABLE_NLS, not GETTEXT_PACKAGE
13859 * tools/gst-launch.c: (main):
13860 check for ENABLE_NLS, not GETTEXT_PACKAGE
13862 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13865 if we don't have glib, fail before testing 2.8
13866 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
13867 fix a leak, should fix plugins-base testsuite
13869 2005-10-11 Andy Wingo <wingo@pobox.com>
13871 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
13872 take the mode we're going to as an arg. Go head and set the mode
13873 and flushing flags now, so that if the activate function starts a
13874 thread all the flags will be in the right state.
13875 (post_activate): Renamed also. Just handle making sure streaming
13876 finishes for the deactivation case, and setting the deactivated
13878 (gst_pad_set_active): Complain loudly if deactivation fails.
13879 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
13880 (gst_pad_activate_push): Adapt to pre/post_activate changes,
13881 remove the terrible hack.
13883 2005-10-11 Wim Taymans <wim@fluendo.com>
13885 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
13886 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
13887 (gst_bin_recalc_state), (gst_bin_change_state_func),
13888 (gst_bin_dispose), (bin_bus_handler):
13890 Prepare to make current EOS message queue more generic.
13893 * gst/gstevent.c: (gst_event_new_newsegment),
13894 (gst_event_parse_newsegment):
13896 Rename base to stream_time.
13898 * gst/gstmessage.h:
13901 2005-10-11 Wim Taymans <wim@fluendo.com>
13903 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
13904 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
13905 (gst_bin_change_state_func), (bin_bus_handler):
13907 Work on proper clock selection.
13909 2005-10-11 Edward Hervey <edward@fluendo.com>
13911 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
13912 * libs/gst/controller/gstcontroller.h:
13913 Added GList* version of _remove_properties() in order to be able to wrap
13916 2005-10-11 Wim Taymans <wim@fluendo.com>
13918 * docs/design/part-states.txt:
13921 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
13922 (gst_bin_change_state_func), (bin_bus_handler):
13923 Doc updates. Don't distribute the same clock over and over again.
13929 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
13930 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
13931 (gst_pad_send_event):
13933 Make probe emission threadsafe again.
13934 Register quarks and move _get_name() from utils.
13937 * gst/gstpipeline.c: (gst_pipeline_class_init),
13938 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
13939 Only redistribute the clock of it changed.
13941 * gst/gstsystemclock.h:
13946 Moved the _flow_get_name() to GstPad.
13948 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13950 * check/gst-libs/gdp.c: (GST_START_TEST):
13951 * check/gst/gstcaps.c: (GST_START_TEST):
13952 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
13953 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
13954 (gst_dp_packet_from_caps):
13955 fix more valgrind warnings before turning up the heat
13957 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13959 * gst/parse/grammar.y:
13960 some cleanup before the hacking
13962 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
13964 * gst/base/gstbasesrc.c: (gst_base_src_query):
13966 * gst/gstutils.c: (gst_guint64_to_gdouble),
13967 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
13969 externalize, basesrc uses it
13970 obviously the implementation needs testing
13972 2005-10-10 Wim Taymans <wim@fluendo.com>
13974 * tests/sched/Makefile.am:
13975 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
13976 (make_pipeline3), (make_pipeline4), (print_elem), (main):
13978 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
13980 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
13981 apparently converting from guint64 to double is not implemented
13984 2005-10-10 Wim Taymans <wim@fluendo.com>
13986 * check/Makefile.am:
13987 * check/generic/states.c: (GST_START_TEST):
13988 * check/gst/gstbin.c: (GST_START_TEST):
13989 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
13990 * check/states/sinks.c: (GST_START_TEST):
13991 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
13993 Check fixes, use API as stated in design docs, remove hacks.
13995 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13996 (gst_base_sink_change_state):
13997 Catch stopping our task while we're shutting down.
13999 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14000 (gst_bin_remove_func), (gst_bin_get_state_func),
14001 (gst_bin_recalc_state), (gst_bin_change_state_func),
14004 * gst/gstelement.c: (gst_element_init),
14005 (gst_element_get_state_func), (gst_element_abort_state),
14006 (gst_element_commit_state), (gst_element_lost_state),
14007 (gst_element_set_state), (gst_element_change_state),
14008 (gst_element_change_state_func):
14009 * gst/gstelement.h:
14010 New state change algorithm (see #318116)
14012 * gst/gstpipeline.c: (gst_pipeline_class_init),
14013 (gst_pipeline_init), (gst_pipeline_set_property),
14014 (gst_pipeline_get_property), (do_pipeline_seek),
14015 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14016 * gst/gstpipeline.h:
14017 Remove crude state change hacks.
14020 Remove crude hacks.
14022 * tools/gst-launch.c: (main):
14023 Fixes for state change. Needs some more work to fully use the
14026 2005-10-10 Andy Wingo <wingo@pobox.com>
14028 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14030 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14031 this flag, but it's not even in GLib 2.6. Odd. Hack around the
14034 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
14036 * gst/gstiterator.c: (gst_iterator_new):
14037 Fix my previous commit: GTypes passed to gst_iterator_new()
14038 can be fundamental types.
14040 2005-10-10 Wim Taymans <wim@fluendo.com>
14042 * gst/gstelement.c: (gst_element_iterate_pad_list),
14043 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14044 (gst_element_iterate_sink_pads):
14045 Use src/sink pads lists for the respective iterators instead
14048 2005-10-10 Andy Wingo <wingo@pobox.com>
14050 Merged in popt removal + GOption addition patch from Ronald, bug
14053 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14054 GstElement macros around, remove popt-related symbols, add goption
14057 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14059 * docs/gst/Makefile.am:
14060 * docs/libs/Makefile.am: No POPT_CFLAGS.
14062 * examples/manual/Makefile.am:
14063 * docs/manual/basics-init.xml: Doc updates with an example.
14065 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14066 (gst_init), (parse_one_option), (parse_goption_arg):
14067 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14068 bit of hand merging and debugging to get the GOption stuff working
14071 * tests/Makefile.am:
14072 * tools/Makefile.am:
14073 * tools/gst-inspect.c: (main):
14074 * tools/gst-launch.c: (main):
14075 * tools/gst-run.c: (main):
14076 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14078 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
14080 * gst/gstiterator.c: (gst_iterator_new):
14081 Add assertions to make sure passed GType is likely to really
14082 be a GType (as the compiler won't catch it if the size and
14083 GType arguments get mixed up, see #318447).
14085 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
14087 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
14089 * gst/gstbin.c: (gst_bin_iterate_sorted):
14090 Pass GType and size arguments to gst_iterator_new() in the right
14091 order (maybe we should make _new() take the GType as first argument
14092 just like _new_list()?) (#318447).
14095 2005-10-10 Wim Taymans <wim@fluendo.com>
14097 * gst/gstelement.c: (gst_element_finalize):
14098 And free the GStaticRecMutex too
14100 2005-10-10 Andy Wingo <wingo@pobox.com>
14102 * gst/gstelement.c (gst_element_init, gst_element_finalize):
14103 Allocate and free the mutex properly.
14105 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14107 (GstElement): The state_lock is now recursive. Rebuild your
14108 plugins, suckers. Old macros adapted.
14110 * docs/gst/gstreamer-sections.txt: Doc updates.
14113 * gst/gstutils.c (g_static_rec_cond_timed_wait)
14114 (g_static_rec_cond_wait): Ported from state changes patch, while
14115 we wait on bug #317802 to be solved in a well-distributed GLib.
14117 * gst/gstelement.c (gst_element_change_state_func): Renamed from
14118 gst_element_change_state, variable name changes.
14119 (gst_element_change_state): Split out of gst_element_set_state in
14120 preparation for the state change merge. Doesn't pay attention to
14121 the 'transition' argument.
14122 (gst_element_set_state): Updates, hopefully purely cosmetic.
14123 (gst_element_sync_state_with_parent): MT-safety. Ported from the
14124 state change patch.
14125 (gst_element_get_state_func): Renamed from get_state, cosmetic
14128 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
14130 * gst/elements/gstelements.c:
14131 * win32/GStreamer.vcproj:
14133 * win32/dirent.c: (_tseekdir):
14134 * win32/gst-inspect.vcproj:
14135 * win32/gst-launch.vcproj:
14136 * win32/gstconfig.h:
14137 * win32/gstelements.vcproj:
14138 * win32/gstenumtypes.c: (gst_object_flags_get_type):
14139 * win32/gstreamer.def:
14140 * win32/msvc71.sln:
14141 updates for the win32 build (patch from Sebastien Moutte)
14143 2005-10-10 Andy Wingo <wingo@pobox.com>
14145 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14146 gst_bin_get_state, cleaned up (but no logic changes).
14147 (bin_element_is_sink): Comment updates.
14148 (sink_iterator_filter): Remove needless cast.
14149 (gst_bin_iterate_sinks): Doc update.
14150 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14151 cleaned up (but no logic changes).
14153 * check/states/sinks.c (test_src_sink): Cleanups from the state
14155 (test_livesrc_sink): Sync on the state.
14157 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14158 the state change patch.
14160 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14163 * check/gst/gstbin.c: Merge in some style fixes and additional
14164 checks from Wim's state change patch.
14166 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
14168 * gst/base/gsttypefindhelper.c: (helper_find_peek),
14169 (gst_type_find_helper):
14170 Check whether we have the requested data already in our list of
14171 cached buffers before pulling a new buffer; also make the buffer
14172 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14174 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
14179 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14180 don't use long long, it's not portable. Replacing with
14181 gint64 seems to work; let's hope no skeletons fall out of the closet.
14183 2005-10-10 Andy Wingo <wingo@pobox.com>
14185 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14187 2005-10-09 Stefan Kost <ensonic@users.sf.net>
14189 * docs/gst/gstreamer-sections.txt:
14194 * gst/gstmessage.c: (gst_message_parse_state_changed):
14197 more docs, fix compilation
14199 2005-10-09 Philippe Khalaf <burger@speedy.org>
14200 * gst/gstmessage.c:
14201 Fixed a few forgotten variables on previous commit
14203 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
14205 * gst/base/gsttypefindhelper.c: (helper_find_peek):
14206 Fix evil typefind crasher: getrange() might return a short
14207 buffer at the end of a file, but gst_type_find_peek() must
14208 either return the full data as requested or NULL, but
14209 never a short buffer.
14211 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
14213 * gst/gstmessage.c: (gst_message_new_state_changed),
14214 (gst_message_parse_state_changed):
14215 * gst/gstmessage.h:
14216 don't use "new", it's a C++ keyword
14218 2005-10-08 Wim Taymans <wim@fluendo.com>
14220 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14221 * gst/gstelement.c: (gst_element_post_message):
14222 * gst/gstpipeline.c: (gst_pipeline_change_state):
14223 Small docs and debug updates.
14225 2005-10-08 Stefan Kost <ensonic@users.sf.net>
14227 * docs/gst/gstreamer-sections.txt:
14228 * gst/gstelementfactory.c:
14230 * gst/gsttaglist.c:
14233 2005-10-08 Wim Taymans <wim@fluendo.com>
14235 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14236 (gst_bin_dispose), (bin_bus_handler):
14237 Fix typos, add comments.
14238 Clear EOS list when going to PAUSED from any direction and do it
14239 in a threadsafe way.
14240 Get base time in a threadsafe way too.
14241 Fix confusing debug in the change_state function.
14242 Various other small cleanups.
14244 * gst/gstelement.c: (gst_element_post_message):
14245 Fix very verbose bus posting code.
14247 * gst/gstpipeline.c: (gst_pipeline_class_init),
14248 (gst_pipeline_set_property), (gst_pipeline_get_property),
14249 (gst_pipeline_change_state):
14250 Small ARG_ -> PROP_ cleanup
14252 2005-10-08 Wim Taymans <wim@fluendo.com>
14254 * gst/gstbin.c: (is_eos), (bin_bus_handler):
14255 Do a less CPU demanding EOS check because we can.
14257 2005-10-08 Wim Taymans <wim@fluendo.com>
14259 * libs/gst/dataprotocol/dataprotocol.c:
14260 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14261 (gst_dp_packet_from_event):
14262 * libs/gst/dataprotocol/dataprotocol.h:
14263 * libs/gst/dataprotocol/dp-private.h:
14264 It's about time we bump the version number.
14265 Since event types don't fit in the guint8 anymore describing
14266 the payload type, make payload type 16 bits wide.
14268 2005-10-08 Wim Taymans <wim@fluendo.com>
14270 * docs/design/part-TODO.txt:
14271 * docs/design/part-clocks.txt:
14272 * docs/design/part-events.txt:
14273 * docs/design/part-gstbin.txt:
14274 * docs/design/part-gstelement.txt:
14275 * docs/design/part-gstpipeline.txt:
14276 * docs/design/part-live-source.txt:
14277 * docs/design/part-messages.txt:
14278 * docs/design/part-overview.txt:
14279 * docs/design/part-states.txt:
14282 2005-10-08 Wim Taymans <wim@fluendo.com>
14286 Fix event quark registration.
14287 Add some space between events so we can insert them in the
14290 2005-10-08 Wim Taymans <wim@fluendo.com>
14292 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14293 (gst_base_sink_handle_buffer):
14294 Better log message.
14297 * gst/gstelement.h:
14300 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14301 (gst_queue_set_property), (gst_queue_get_property):
14303 Remove old unused properties.
14305 2005-10-08 Stefan Kost <ensonic@users.sf.net>
14306 * docs/gst/gstreamer-sections.txt:
14307 * gst/gstmessage.c:
14308 * gst/gstmessage.h:
14309 * gst/gstminiobject.c:
14310 * gst/gstminiobject.h:
14314 lots of new docs and doc fixes
14316 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14318 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14320 * gst/gstregistry.c: (gst_registry_lookup_locked),
14321 (gst_registry_scan_path_level):
14322 * gst/gstregistryxml.c: (load_plugin):
14323 Only ever load one plugin for a given plugin basename.
14324 This ensures correct overriding of GST_PLUGIN_PATH over
14325 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14326 system installed plugins.
14328 2005-10-08 Wim Taymans <wim@fluendo.com>
14330 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14331 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14332 Prepare for doing QOS.
14334 2005-10-08 Wim Taymans <wim@fluendo.com>
14336 * check/gst/gstbin.c: (GST_START_TEST):
14337 * check/pipelines/cleanup.c: (GST_START_TEST):
14338 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14339 Allow new clock message too.
14341 2005-10-08 Wim Taymans <wim@fluendo.com>
14343 * gst/gstmessage.c: (gst_message_new_error),
14344 (gst_message_new_warning), (gst_message_new_tag),
14345 (gst_message_new_state_changed), (gst_message_new_clock_provide),
14346 (gst_message_new_clock_lost), (gst_message_new_new_clock),
14347 (gst_message_new_segment_start), (gst_message_new_segment_done),
14348 (gst_message_parse_state_changed),
14349 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14350 (gst_message_parse_new_clock):
14351 * gst/gstmessage.h:
14352 Also carry the clock in question.
14354 2005-10-08 Wim Taymans <wim@fluendo.com>
14356 * gst/gstmessage.c: (gst_message_new_custom),
14357 (gst_message_new_eos), (gst_message_new_error),
14358 (gst_message_new_warning), (gst_message_new_tag),
14359 (gst_message_new_state_changed), (gst_message_new_clock_provide),
14360 (gst_message_new_new_clock), (gst_message_new_segment_start),
14361 (gst_message_new_segment_done), (gst_message_parse_state_changed),
14362 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14363 * gst/gstmessage.h:
14365 Added clock related messages.
14367 * gst/gstpipeline.c: (gst_pipeline_change_state):
14368 Post message when the clock changed.
14370 * tools/gst-launch.c: (event_loop):
14373 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
14375 * tools/gst-inspect.c: (print_element_properties_info):
14376 Can't pass NULL strings to g_print() on windows.
14378 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14380 * docs/Makefile.am:
14381 * docs/gst/Makefile.am:
14382 * docs/gst/gstreamer-docs.sgml:
14383 * docs/gst/running.xml:
14384 * docs/version.entities.in:
14385 add a chapter on running GStreamer.
14386 document GST_DEBUG and GST_PLUGIN* env vars
14388 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14393 remove PLUGINS_BUILDDIR stuff
14394 * gst/gst.c: (init_post):
14395 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14397 remove, it was condescending and not needed
14399 2005-10-08 Wim Taymans <wim@fluendo.com>
14401 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14402 (gst_base_sink_handle_object), (gst_base_sink_event),
14403 (gst_base_sink_wait), (gst_base_sink_handle_event),
14404 (gst_base_sink_change_state):
14405 * gst/base/gstbasesink.h:
14406 Repost EOS message while going to PLAYING if still EOS.
14407 Make sure that when receiving a FLUSH_START we don't attempt
14408 to sync on the clock anymore.
14410 2005-10-08 Wim Taymans <wim@fluendo.com>
14412 * tools/gst-launch.c: (event_loop):
14413 Better message printout.
14415 2005-10-08 Wim Taymans <wim@fluendo.com>
14417 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
14418 (gst_bin_child_proxy_get_children_count):
14419 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14420 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
14421 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
14422 (gst_child_proxy_set_valist):
14423 * gst/parse/grammar.y:
14424 Make ChildProxy threadsafe and fix mem leaks.
14426 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14428 * gst/gst.c: (init_post):
14429 debug the GST_PLUGIN_ env vars
14431 2005-10-08 Wim Taymans <wim@fluendo.com>
14433 * check/gst/gstbin.c: (GST_START_TEST):
14434 * check/gst/gstmessage.c: (GST_START_TEST):
14435 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14436 * gst/gstelement.c: (gst_element_commit_state),
14437 (gst_element_lost_state):
14438 * gst/gstmessage.c: (gst_message_new_state_changed),
14439 (gst_message_parse_state_changed):
14440 * gst/gstmessage.h:
14441 * tools/gst-launch.c: (event_loop):
14442 Added extra field to STATE_CHANGE message with the pending
14443 state, which will be different from the new state soon.
14445 2005-10-08 Wim Taymans <wim@fluendo.com>
14447 * gst/gstbus.c: (gst_bus_pop):
14449 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14450 Small cleanups and doc updates.
14452 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14454 * gst/gst.c: (init_pre):
14455 * gst/gstbin.c: (gst_bin_add_func):
14456 log distributing clocks and base time
14457 * gst/gstregistry.c: (gst_registry_add_plugin),
14458 (gst_registry_scan_path_level), (gst_registry_scan_path):
14459 clean up the debugging output a little
14460 * gst/gstutils.c: (gst_element_state_get_name):
14461 warn about a memleak (I've actually seen this be used, though
14462 it was probably a bug)
14464 2005-10-07 Wim Taymans <wim@fluendo.com>
14466 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14467 (gst_base_src_init), (gst_base_src_default_newsegment),
14468 (gst_base_src_newsegment), (gst_base_src_do_seek),
14469 (gst_base_src_loop), (gst_base_src_start):
14470 * gst/base/gstbasesrc.h:
14471 Make the newsegment event customizable by subclasses.
14473 2005-10-07 Wim Taymans <wim@fluendo.com>
14475 * gst/gstevent.c: (gst_event_new_buffersize),
14476 (gst_event_parse_buffersize):
14478 New event for future idea.
14480 2005-10-07 Andy Wingo <wingo@pobox.com>
14482 * gst/gstelement.c (gst_element_post_message): Doc update.
14484 * docs/gst/gstreamer-sections.txt: Update.
14486 * gst/gstmessage.c (gst_message_new_application): Made into a
14487 function like honest API calls.
14488 (gst_message_new_element): New message type.
14490 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
14492 * check/elements/fakesrc.c (test_no_preroll): New check, checks
14493 that setting a live fakesrc to PAUSED returns NO_PREROLL both
14496 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
14497 NO_PREROLL from gst_element_change_state to fall through.
14499 2005-10-07 Wim Taymans <wim@fluendo.com>
14501 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
14502 (gst_ghost_pad_do_activate_push):
14503 Activating a ghostpad with no internal pad in push mode
14506 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
14509 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
14510 Fixes compilation on Windows.
14512 2005-10-07 Michael Smith <msmith@fluendo.com>
14514 * tools/gst-inspect.c:
14515 Print out feature and plugin count at the end when printing out
14518 2005-10-04 Michael Smith <msmith@fluendo.com>
14520 * gst/gsterror.c: (_gst_stream_errors_init):
14521 Add another error string used in a few existing plugins.
14524 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14525 * tools/gst-inspect.c: (print_element_info):
14526 When a feature disappears from a plugin (and the feature exists in
14527 the cached registry file), things went horribly wrong. This isn't a
14528 complete fix, we should actually be removing the 'missing' features
14529 from the features list when we load the actual plugin. That's not
14532 2005-10-04 Johan Dahlin <johan@gnome.org>
14534 * check/gst/gstiterator.c: (GST_START_TEST):
14535 * gst/gstbin.c: (gst_bin_iterate_elements),
14536 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
14537 * gst/gstelement.c: (gst_element_iterate_pads):
14538 * gst/gstformat.c: (gst_format_iterate_definitions):
14539 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14540 (gst_iterator_new_list), (gst_iterator_filter):
14541 * gst/gstiterator.h:
14542 * gst/gstquery.c: (gst_query_type_iterate_definitions):
14543 Add a GType to GstIterator, update callsites and tests.
14545 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14547 * gst/gstpad.c: (gst_pad_event_default_dispatch):
14548 give events a chance to be handled by event probes when the pad
14551 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14553 * gst/gstevent.c: (gst_event_type_get_name),
14554 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
14556 add string representations for event types
14558 2005-10-06 Wim Taymans <wim@fluendo.com>
14560 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
14561 Don't use NULL pointers.
14563 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14565 * gst/gst_private.h:
14567 * gst/gstelement.c:
14569 * gst/gstpluginfeature.c:
14570 widen the debug category in output to fit the biggest one we have
14571 add a bus category and use it
14572 play with the colors
14573 fix up some categories
14575 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14577 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
14578 add push activation of sink ghost pads.
14579 Andye, please verify
14581 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
14583 * gst/gstutils.c: (gst_element_link_pads):
14584 fix a bug in the case where neither element has a pad
14585 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14586 add a test for that case
14588 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
14590 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
14591 emit have-data before checking for peers. This allows
14592 for probe handlers to connect elements. This helps autopluggers.
14593 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
14595 add six checks, linked/unlinked with no/true/false probe
14597 2005-10-04 Wim Taymans <wim@fluendo.com>
14599 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
14600 (gst_fake_sink_event), (gst_fake_sink_preroll),
14601 (gst_fake_sink_render), (gst_fake_sink_change_state):
14602 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
14603 (gst_fake_src_get_property), (gst_fake_src_create),
14604 (gst_fake_src_stop):
14605 * gst/elements/gstidentity.c: (gst_identity_stop):
14606 Protect last_message with lock.
14608 2005-10-04 Edward Hervey <edward@fluendo.com>
14611 Added precision in the comments for GST_FORMAT_DEFAULT
14613 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
14615 * tools/gst-launch.c: (main):
14616 Don't try to run erroneous pipelines.
14618 2005-10-04 Julien MOUTTE <julien@moutte.net>
14620 * gst/gstbus.c: We don't need this header.
14622 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
14625 back to development
14627 === release 0.9.3 ===
14629 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
14633 Releasing 0.9.3, "Unregistered"
14635 2005-10-03 Andy Wingo <wingo@pobox.com>
14637 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
14638 whereby calling a pad's activatepush() function can start a thread
14639 that starts to push or pull before the pad gets the FLUSHING flag
14640 unset. Hack around it by holding the stream lock until the flag is
14641 set. Need to replace this with a proper solution. Together with
14642 the ghost pad fixes, this fixes mp3 playing/tagreading.
14644 * docs/design/part-gstghostpad.txt: Add a note about activation of
14645 proxy pads outside of ghost pads.
14647 * gst/gstghostpad.c: Implement the ghost pad activation design.
14649 2005-10-02 Andy Wingo <wingo@pobox.com>
14651 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
14652 It is volatile, after all.
14654 * docs/design/part-gstghostpad.txt: Flesh out activation with
14657 * gst/base/gstbasesrc.c (gst_base_src_init): Use
14660 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
14663 Fix (unused) AM_CONDITIONAL tests.
14665 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
14667 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
14669 * gst/gstutils.c: (gst_pad_query_convert):
14670 Add assertion that makes sure src_val is >=0, just like
14671 gst_query_new_convert() has. (#315895)
14673 2005-09-30 Edward Hervey <edward@fluendo.com>
14675 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
14676 Let's not iterate pads we're not interested in, it avoids getting
14677 sky-high refcounts on sinkpad.
14679 2005-09-30 Wim Taymans <wim@fluendo.com>
14681 * gst/gstelement.c: (gst_element_set_state),
14682 (gst_element_change_state):
14683 Small tweak, element in ASYNC remains ASYNC.
14685 2005-09-30 Wim Taymans <wim@fluendo.com>
14687 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
14688 Only error is an error.
14690 * gst/gstbin.c: (gst_bin_change_state):
14693 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
14694 Also call pad_block in pad alloc.
14696 * gst/gstutils.c: (gst_flow_get_name):
14699 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
14701 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14702 (gst_base_src_get_range):
14703 Fix documentation typos. Add some more debug info.
14705 2005-09-29 David Schleef <ds@schleef.org>
14707 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
14708 more end-user friendly.
14709 * tools/gst-inspect.c: (main): Check if command-line argument is
14710 a file and attempt to load that file as a plugin.
14712 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
14714 * check/gst/gstbin.c:
14715 * check/states/sinks.c:
14716 fix tests for the new warning
14717 * check/gst/gstpipeline.c:
14718 add a test for pipeline and bus interaction
14719 * gst/gstelement.c:
14720 elements should be NULL if they get disposed; add a warning if not
14722 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
14725 for 2.6 refcounting, make debug log more correct by printing
14726 the actual refcounts at the time of swap (Wim)
14728 2005-09-29 Andy Wingo <wingo@pobox.com>
14730 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
14731 removes signal watches previously added via
14732 gst_bus_add_signal_watch.
14733 (gst_bus_add_signal_watch): Don't return the source id, just store
14734 it on the bus if there wasn't an id already.
14736 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
14737 add_signal_watch and remove_signal_watch.
14739 2005-09-29 Edward Hervey <edward@fluendo.com>
14741 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
14742 Better if we actually iterate the list :)
14744 2005-09-29 Wim Taymans <wim@fluendo.com>
14746 * check/gst/gstbin.c: (GST_START_TEST):
14747 Change for new bus API.
14749 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
14750 (send_messages), (GST_START_TEST), (gstbus_suite):
14751 Change for new bus signal API.
14753 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
14754 (gst_bus_source_prepare), (gst_bus_source_check),
14755 (gst_bus_create_watch), (gst_bus_add_watch_full),
14756 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
14757 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
14759 Remove support for multiple GSources operating on different
14760 message types as it is too complex and unneeded when using
14762 Added support for receiving signals from the bus.
14764 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
14766 * docs/libs/tmpl/gstdataprotocol.sgml:
14767 * docs/manual/advanced-dataaccess.xml:
14768 * gst/elements/gstcapsfilter.c:
14770 rename filter-caps to caps property
14772 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
14774 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14775 More robust fraction string parsing.
14777 * docs/pwg/appendix-porting.xml:
14778 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
14780 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
14782 * gst/gstcaps.c: (gst_caps_do_simplify):
14783 Thou shalt not free a structure and then continue using it
14784 in the next loop iteration.
14786 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
14788 Add test case for caps simplification.
14790 2005-09-29 Wim Taymans <wim@fluendo.com>
14792 * check/gst/gstbin.c: (GST_START_TEST):
14795 2005-09-29 Wim Taymans <wim@fluendo.com>
14797 * check/gst/gstbin.c: (GST_START_TEST):
14800 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
14801 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
14802 (find_element), (gst_bin_sort_iterator_next),
14803 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14804 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14805 (gst_bin_change_state), (gst_bin_dispose):
14806 A bin does not have a bus, it gets the bus from the parent.
14808 * gst/gstelement.c: (gst_element_requires_clock),
14809 (gst_element_provides_clock), (gst_element_is_indexable),
14810 (gst_element_is_locked_state), (gst_element_change_state),
14811 (gst_element_set_bus_func):
14814 * gst/gstpipeline.c: (gst_pipeline_class_init),
14815 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
14816 The pipeline provides a bus.
14818 2005-09-28 Johan Dahlin <johan@gnome.org>
14820 * gst/gstmessage.c (gst_message_parse_state_changed): Use
14821 gst_structure_get_enum instead of gst_structure_get_int
14823 * gst/gststructure.c (gst_structure_get_enum): Impl.
14825 * gst/gststructure.h (gst_structure_get_enum): Add
14827 * docs/gst/gstreamer-sections.txt: Ditto
14829 * gst/gstmessage.c (gst_message_new_state_changed): Use
14830 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
14831 which does introspection.
14832 Reviewed by Christian Schaller
14834 2005-09-28 Stefan Kost <ensonic@users.sf.net>
14836 * gst/gstinfo.c: (gst_debug_log_default):
14837 don't do dummy g_strdup()s
14838 * libs/gst/controller/gstcontroller.c:
14839 (on_object_controlled_property_changed),
14840 (gst_controlled_property_new), (gst_controller_new_valist),
14841 (gst_controller_new_list),
14842 (gst_controller_remove_properties_valist), (gst_controller_set),
14843 (gst_controller_get), (gst_controller_sync_values),
14844 (gst_controller_get_value_array), (_gst_controller_class_init),
14845 (gst_controller_get_type):
14846 * libs/gst/controller/gstcontroller.h:
14847 * libs/gst/controller/gstinterpolation.c:
14848 (gst_controlled_property_find_timed_value_node):
14849 convert // to /**/ comments
14851 2005-09-28 Wim Taymans <wim@fluendo.com>
14853 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
14854 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
14855 (gst_bus_sync_signal_handler):
14857 Added async-message and sync-message signals to the bus.
14858 Added helper BusFunc to emit signals for all posted messages.
14860 * gst/gstmessage.c: (gst_message_type_get_name),
14861 (gst_message_type_to_quark), (gst_message_get_type):
14862 * gst/gstmessage.h:
14863 Register quarks for message names.
14865 2005-09-28 Stefan Kost <ensonic@users.sf.net>
14867 * docs/libs/gstreamer-libs-sections.txt:
14868 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
14869 (gst_controller_new_list):
14870 * libs/gst/controller/gstcontroller.h:
14871 added another constructor for language bindings
14873 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
14875 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14879 * gst/gstinfo.c: (_gst_debug_init):
14880 slightly more readable color for refcount debugging
14882 2005-09-28 Wim Taymans <wim@fluendo.com>
14884 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
14885 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
14886 (find_element), (gst_bin_sort_iterator_next),
14887 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14888 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14889 (gst_bin_change_state), (gst_bin_dispose):
14890 Small doc fixes. get_clock -> provide_clock.
14892 * gst/gstelement.c: (gst_element_class_init),
14893 (gst_element_provides_clock), (gst_element_provide_clock),
14894 (gst_element_get_clock), (gst_element_commit_state),
14895 (gst_element_lost_state):
14896 * gst/gstelement.h:
14897 Make get/set_clock() symetric. Add provide_clock vmethod since
14898 that is actually what this function does.
14900 * gst/gstpipeline.c: (gst_pipeline_class_init),
14901 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
14902 (gst_pipeline_get_clock):
14903 get_clock -> provide_clock.
14905 2005-09-28 Andy Wingo <wingo@pobox.com>
14907 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
14908 lieu of real docs...
14910 * gst/elements/gstfdsrc.c: Cleaned up a bit.
14912 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
14914 * gst/elements/gstcapsfilter.c:
14915 * gst/elements/gstfakesink.c:
14916 * gst/elements/gstfakesrc.c:
14917 * gst/elements/gstfdsink.c:
14918 * gst/elements/gstfdsrc.c:
14919 * gst/elements/gstfilesink.c:
14920 * gst/elements/gstfilesrc.c:
14921 * gst/elements/gstidentity.c:
14922 * gst/elements/gsttee.c:
14923 * gst/elements/gsttypefindelement.c:
14924 Make element details static.
14926 2005-09-28 Wim Taymans <wim@fluendo.com>
14928 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
14929 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
14930 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14931 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14932 (gst_bin_change_state), (gst_bin_dispose):
14933 Some documentation updates.
14934 Clean up dispose handlers.
14936 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
14937 * gst/gstpad.c: (gst_pad_dispose):
14938 Clean up dispose handler.
14940 * gst/gstpipeline.c: (gst_pipeline_change_state):
14941 Removed spurious UNLOCK.
14943 2005-09-27 Stefan Kost <ensonic@users.sf.net>
14945 * docs/gst/gstreamer-sections.txt:
14946 * gst/base/gstbasesrc.h:
14947 * gst/gstelement.h:
14951 * gst/gstpipeline.c:
14952 * gst/gstpipeline.h:
14955 added two new functions to the docs
14956 documents all undocumented GstXXXFlags
14957 completed some incomplete docs
14959 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
14961 * gst/gstbin.c: (gst_bin_dispose):
14962 * gst/gstelement.c: (gst_element_dispose):
14963 remove now useless and leaky resurrection code in dispose
14964 * gst/base/gstbasesrc.c: (gst_base_src_init):
14965 * gst/gstelementfactory.c: (gst_element_factory_create):
14966 * gst/gstobject.c: (gst_object_set_parent):
14969 2005-09-27 Wim Taymans <wim@fluendo.com>
14971 * docs/design/part-TODO.txt:
14974 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
14975 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
14976 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14977 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14978 (gst_bin_change_state):
14979 * gst/gstelement.h:
14980 Remove element variable, we keep element info in the iterator now.
14982 2005-09-27 Andy Wingo <wingo@pobox.com>
14984 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
14987 2005-09-27 Wim Taymans <wim@fluendo.com>
14989 * check/gst/gstbin.c: (GST_START_TEST):
14990 Enable check that works now.
14992 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
14993 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
14994 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14995 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14996 (gst_bin_change_state):
14998 Redid the state change algorithm using a topological sort algo.
14999 Handles all cases correctly.
15000 Exposed iterator for state change order.
15002 * gst/gstelement.h:
15003 Temp storage for state changes. Need to get rid of this soon.
15005 2005-09-27 Wim Taymans <wim@fluendo.com>
15007 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15008 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15009 (link_fold_func), (gst_pad_proxy_setcaps):
15010 Leak fixes, the fold functions need to unref the passed object and
15011 _get_parent_*() returns ref to parent.
15013 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
15015 * check/gst/gstbuffer.c: (test_make_writable):
15016 Plug leak in test case and fix 'make check-valgrind'
15018 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
15020 * gst/gstbuffer.c: (gst_subbuffer_init):
15021 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15022 works correctly in all circumstances (we could have just copied
15023 the parent buffer's readonly flag, but conceptually it seems
15024 cleaner to mark all subbuffers as read-only). (based on patch
15025 by Alessandro Decina, #314710).
15027 * check/gst/gstbuffer.c: (create_read_only_buffer),
15028 (test_make_writable), (test_subbuffer_make_writable),
15030 Add some tests for gst_buffer_make_writable().
15032 2005-09-27 Wim Taymans <wim@fluendo.com>
15034 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15035 use gst_object_has_ancestor().
15037 * gst/gstobject.c: (gst_object_has_ancestor):
15039 gst_object_has_ancestor() copied from gstbin.c as it is a
15042 * tests/instantiate/create.c: (create_all_elements):
15043 * tests/lat.c: (handoff_src), (handoff_sink):
15044 * tests/sched/runxml.c: (main):
15045 * tests/seeking/seeking1.c: (main):
15046 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15048 Fix compilation of some tests.
15050 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
15053 Remove comment. GST_TYPE_G_ERROR is here to stay,
15054 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15055 (#316961, #300610).
15057 2005-09-26 Wim Taymans <wim@fluendo.com>
15059 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15060 Added check that shows error in state change order.
15062 2005-09-26 Wim Taymans <wim@fluendo.com>
15064 * gst/gstbin.c: (gst_bin_change_state):
15065 Make state change function use 3 queues again, we were
15066 adding elements in the wrong order.
15068 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15071 * gst/gstpad.c: (gst_pad_dispose):
15072 Added some debug info first.
15074 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
15076 * docs/design/draft-push-pull.txt:
15077 * docs/design/part-events.txt:
15078 * docs/design/part-overview.txt:
15079 * docs/design/part-scheduling.txt:
15080 Replace all _pull_region() with _pull_range()
15082 2005-09-26 Andy Wingo <wingo@pobox.com>
15084 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15086 * check/gst-libs/controller.c: Update for controller api change.
15089 * tests/Makefile.am:
15090 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15091 over by GLib bug 118439.
15093 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15094 routines to a function.
15096 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15098 * libs/gst/controller/gsthelper.c:
15099 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15100 (gst_object_sync_values): Renamed from sink_values. Ugh.
15102 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15104 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15105 Renamed from controller_key, as it is exported.
15107 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15109 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
15114 * gst/gstpadtemplate.h:
15117 * gst/gstqueryutils.c:
15118 * gst/gstqueryutils.h:
15119 remove queryutils headers after moving the two used functions
15120 to gstquery. also fixes build problem for gstsiddec
15122 2005-09-26 Michael Smith <msmith@fluendo.com>
15124 * tools/gst-launch.1.in:
15125 Correct documentation in manpage of debug syntax
15127 2005-09-26 Wim Taymans <wim@fluendo.com>
15129 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15130 (gst_base_src_is_seekable), (gst_base_src_change_state):
15131 Some more debugging info.
15133 2005-09-25 Stefan Kost <ensonic@users.sf.net>
15135 * docs/gst/gstreamer-sections.txt:
15136 * gst/base/gstbasetransform.h:
15140 2005-09-25 Stefan Kost <ensonic@users.sf.net>
15142 * docs/gst/.cvsignore:
15143 * docs/gst/tmpl/.cvsignore:
15144 * docs/gst/tmpl/gstpipeline.sgml:
15145 * docs/gst/tmpl/gstplugin.sgml:
15146 * gst/gstpipeline.c:
15149 inlined the last two docs files
15150 removed the tmpl directory from cvs (no more conflicts here!)
15152 2005-09-25 Stefan Kost <ensonic@users.sf.net>
15154 * docs/gst/gstreamer-sections.txt:
15155 * docs/gst/tmpl/.cvsignore:
15156 * docs/gst/tmpl/gstpad.sgml:
15157 * docs/gst/tmpl/gstpadtemplate.sgml:
15159 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15160 (gst_pad_finalize), (gst_pad_set_pad_template):
15162 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15163 (gst_pad_template_class_init), (gst_pad_template_init),
15164 (gst_pad_template_dispose), (name_is_valid),
15165 (gst_static_pad_template_get), (gst_pad_template_new),
15166 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15167 (gst_pad_template_pad_created):
15168 * gst/gstpadtemplate.h:
15169 inlined two more docs
15170 factored gstpadtemplate out of gstpad
15172 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
15174 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15175 (test_children_state_change_order_semi_sink):
15176 Fix test case: we can't rely on a fixed state change order when
15177 going from READY => PAUSED because the sink might commit its
15178 new state first when the first buffer created by the source
15179 reaches the sink before the source has finished its change state.
15180 (Test case still fails at times, see #316856, comment 5 onwards)
15182 2005-09-24 Wim Taymans <wim@fluendo.com>
15184 * docs/design/part-events.txt:
15185 * docs/design/part-gstbus.txt:
15186 * docs/design/part-gstpipeline.txt:
15187 * docs/design/part-messages.txt:
15188 * docs/design/part-overview.txt:
15189 * docs/design/part-segments.txt:
15193 * gst/gstelement.c:
15196 * gst/gstiterator.c:
15197 Various documentation updates.
15199 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
15202 Well, that's embarassing. Luckily we weren't using
15203 GST_CLOCK_DIFF anywhere.
15205 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15207 * common/gtk-doc.mak:
15208 don't fail on building XML, FC4 slave shows a bunch of doc
15209 missing bits that I don't get
15211 * gst/gstpipeline.c:
15212 * gst/gststructure.c:
15215 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
15217 * docs/design/part-gstbin.txt:
15218 * docs/design/part-gstbus.txt:
15220 Add blurb about how the bus goes into flushing mode and
15221 drops all messages when its bin goes from READY into NULL
15224 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15226 * docs/gst/gstreamer-sections.txt:
15227 * gst/gststructure.c: (gst_structure_get_clock_time):
15228 * gst/gststructure.h:
15229 add a method to get a GstClockTime out of a structure
15231 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
15233 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15234 (test_children_state_change_order_semi_sink), (gst_bin_suite):
15235 Added test to check state change order in bins (can still be made
15236 to fail here under heavy disk load; bails out with 'Push on pad
15237 fakesink:sink0, but it was not activated in push mode').
15239 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15240 Fix state change order when there is only a semi sink (#316856)
15242 * gst/gstbus.c: (gst_bus_class_init):
15243 Use _class_peek_parent(), not _class_ref(); fix docs to say
15244 'default main context' instead of 'mainloop' where that is
15247 * gst/gstelement.c: (gst_element_commit_state),
15248 (gst_element_set_state):
15249 Fix typos in debug messages
15251 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15254 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15255 * gst/gstpluginfeature.c:
15257 various doc updates
15258 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15259 change an assert into an error until it gets fixed properly
15261 2005-09-23 Stefan Kost <ensonic@users.sf.net>
15263 * docs/gst/gstreamer-sections.txt:
15264 * docs/gst/tmpl/.cvsignore:
15265 * docs/gst/tmpl/gstelement.sgml:
15266 * docs/gst/tmpl/gstinfo.sgml:
15267 * docs/gst/tmpl/gstobject.sgml:
15268 * gst/gstelement.c:
15269 * gst/gstelement.h:
15272 * gst/gstobject.c: (gst_object_class_init):
15274 inlined 3 more biiiig doc files and added some missing docs on the fly
15276 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15278 * check/gst/.cvsignore:
15279 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15280 * gst/gstregistryxml.c: (load_plugin),
15281 (gst_registry_xml_save_plugin):
15282 put back source in registry. add checks for find_plugin.
15283 * testsuite/states/bin.c: (assert_state), (empty_bin),
15284 (test_adding_one_element), (main):
15285 * testsuite/states/locked.c: (main):
15286 some compile/run fixes
15288 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
15290 * check/gst/gstvalue.c: (GST_START_TEST):
15291 fix leaks in the test itself
15293 2005-09-22 Wim Taymans <wim@fluendo.com>
15295 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15296 (gst_base_sink_send_event), (gst_base_sink_peer_query),
15297 (gst_base_sink_query):
15298 Prepare for more accurate position reporting and query
15301 * gst/gstelement.c: (gst_element_send_event),
15302 (gst_element_set_state):
15305 2005-09-22 Wim Taymans <wim@fluendo.com>
15307 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15308 (gst_query_parse_segment):
15310 More documentation.
15311 Add segment query for future use.
15313 2005-09-22 Wim Taymans <wim@fluendo.com>
15315 * gst/gstbin.c: (gst_bin_add_func):
15316 Some more debug info.
15318 * gst/gstelement.c: (gst_element_send_event):
15319 Simplify send_event
15321 * gst/gstelement.h:
15322 Don't know how flags got broken.
15327 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
15329 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15330 Add simplistic test suite for GST_TYPE_DATE serialisation and
15333 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
15335 * docs/gst/gstreamer-sections.txt:
15336 * gst/gststructure.c: (gst_structure_set_valist),
15337 (gst_structure_get_date):
15338 * gst/gststructure.h:
15339 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15340 (gst_date_copy), (gst_value_compare_date),
15341 (gst_value_serialize_date), (gst_value_deserialize_date),
15342 (gst_value_transform_date_string),
15343 (gst_value_transform_string_date), (_gst_value_initialize):
15345 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15346 bunch of utility functions along with a hack that checks that
15347 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15348 is required. Part of the grand scheme in #170777.
15350 2005-09-22 Andy Wingo <wingo@pobox.com>
15352 * gst/gstconfig.h.in: Psych out gtk-doc.
15354 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15356 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15358 * tools/gst-inspect.c (print_element_list): Plug some
15359 inconsequential leaks.
15361 * gst/gstregistry.c (gst_registry_get_default): Doc.
15363 * check/gst/gstplugin.c:
15364 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15365 * gst/gstelementfactory.c (gst_element_factory_create):
15366 * gst/gstindexfactory.c (gst_index_factory_create): Update for
15369 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15370 (gst_plugin_feature_load): Doc, don't eat refs.
15372 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15373 (gst_plugin_list_free): Doc.
15374 (gst_plugin_load_file): Doc updates.
15376 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15377 accessors returning refcounted objects, return a ref.
15379 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15380 accessor for caps. IDEMPOTENCE. Oh yes.
15382 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
15384 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
15386 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15387 (_gst_debug_register_funcptr):
15388 Add mutex to serialise access to the hash table with
15389 the function pointer => function name string mapping;
15390 make that hash table static scope (#316809).
15392 * gst/registries/.cvsignore:
15393 Remove left-over file.
15395 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
15397 * docs/pwg/appendix-porting.xml:
15398 And something about newsegment events and caps-on-buffers to
15399 the porting guide (feel free to improve).
15401 2005-09-21 Andy Wingo <wingo@pobox.com>
15403 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15404 data and event probes on the same pad.
15405 (test_buffer_probe_once): Test that removing probes from within
15406 the probe functions works.
15408 2005-09-21 Andy Wingo <wingo@pobox.com>
15410 * check/gst/gstutils.c: New file.
15411 (test_buffer_probe_n_times): A simple buffer probe test. More to
15414 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
15415 have-data::buffer, not have-data.
15416 (gst_pad_add_event_probe): Likewise for have-data::event.
15417 (gst_pad_add_data_probe): More docs. The part about 'resolving the
15418 peer' isn't quite right yet though.
15419 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
15420 (gst_pad_remove_data_probe): Change to take the guint handler_id
15421 as their arg, not the function+data, which is more glib-like.
15423 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
15424 the signal emission to indicate if the data is a buffer or an
15426 (gst_pad_get_type): Initialize buffer and event quarks.
15427 (gst_pad_class_init): have-data is now a detailed signal, yes it
15430 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
15432 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15433 * gst/gstutils.c: (gst_util_set_value_from_string),
15434 (gst_util_set_object_arg):
15435 Don't put functional code in g_return_if_fail() or
15436 g_return_val_if_fail() statements, otherwise things will
15437 break when G_DISABLE_CHECKS is defined during compilation.
15439 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15441 * docs/gst/tmpl/.cvsignore:
15442 * docs/gst/tmpl/gstvalue.sgml:
15445 inlied another one and added some obvious docs
15447 2005-09-21 Wim Taymans <wim@fluendo.com>
15449 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15450 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
15451 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
15452 (gst_fdsrc_get_property), (gst_fdsrc_create):
15453 * gst/elements/gstfdsrc.h:
15454 Properly implement fdsrc. Removed signal and timeout,
15455 better implemented somewhere else.
15457 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15459 * docs/gst/tmpl/.cvsignore:
15460 * docs/gst/tmpl/gstimplementsinterface.sgml:
15461 * gst/gstinterface.c:
15464 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15466 * docs/gst/gstreamer-sections.txt:
15467 * docs/gst/tmpl/.cvsignore:
15468 * docs/gst/tmpl/gstenumtypes.sgml:
15469 remove obsolete doc file
15471 2005-09-21 David Schleef <ds@schleef.org>
15473 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
15474 little beer, fix a little leak.
15476 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15478 * docs/gst/gstreamer-docs.sgml:
15479 * docs/gst/gstreamer-sections.txt:
15480 * docs/gst/tmpl/.cvsignore:
15484 * gst/gstelement.h:
15485 * gst/gstindex.c: (gst_index_class_init):
15487 * gst/gstindexfactory.c: (gst_index_factory_get_type),
15488 (gst_index_factory_class_init), (gst_index_factory_init),
15489 (gst_index_factory_finalize), (gst_index_factory_new),
15490 (gst_index_factory_destroy), (gst_index_factory_find),
15491 (gst_index_factory_create), (gst_index_factory_make):
15492 * gst/gstindexfactory.h:
15493 * gst/gstpluginfeature.c:
15494 * gst/gstpluginfeature.h:
15495 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15496 more docs inlined, splitted gstindex.{c,h}
15498 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15500 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15503 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
15505 * gst/elements/gstfilesink.c: (gst_file_sink_init):
15506 Set sync to FALSE by default.
15508 2005-09-20 Wim Taymans <wim@fluendo.com>
15510 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15511 (gst_base_sink_init):
15512 Make sync property settable from subclass.
15514 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
15515 (gst_fake_sink_change_state):
15516 Set sync to FALSE by default.
15518 2005-09-20 Wim Taymans <wim@fluendo.com>
15520 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
15521 * tools/gst-launch.c: (main):
15522 The timeout handler should have lower priority than the source
15523 so we don't timeout before popping a message with 0 timeout.
15524 Dump error messages after failed state change.
15526 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
15528 * tools/gst-inspect.c: (print_element_properties_info):
15531 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15533 * check/gst/gstevent.c:
15534 * gst/elements/gstfakesink.c:
15535 * gst/elements/gstfakesink.h:
15536 remove the sync property from fakesink.
15537 has the side effect of setting sync TRUE
15538 for fakesink, which is a change. Anyone who knows how
15539 to fix this nicely in a GObject-y way, feel free.
15541 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15543 * docs/gst/gstreamer-docs.sgml:
15544 remove probe refsection
15546 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15548 * check/Makefile.am:
15549 disable valgrinding the controller test again
15550 * docs/gst/gstreamer-sections.txt:
15551 update for api-changes
15553 2005-09-20 Wim Taymans <wim@fluendo.com>
15555 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15556 (gst_base_sink_set_property), (gst_base_sink_get_property),
15557 (gst_base_sink_do_sync):
15558 * gst/base/gstbasesink.h:
15559 Added sync property to basesink to disable clock sync.
15561 2005-09-20 Andy Wingo <wingo@pobox.com>
15563 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
15564 eating the caller's refcount.
15566 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
15567 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
15570 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
15571 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
15572 of GLib 2.8 public, so we can know which refcount to check in
15575 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
15576 (gst_object_init): Only set the gst refcount if we're going ahead
15577 with the refcount hack.
15579 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15581 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15582 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15583 more leaks plumbed, added more debug-logging
15587 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15589 * gst/gstmessage.c:
15590 remove include of gstmemchunk.h
15592 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15594 * gst/gstclock.c: (_gst_clock_id_free):
15595 Commit from the Political Party For More Atomic CVS Commits,
15596 so that people don't waste too much of their day fishing
15597 out obvious leaks out of massive commits.
15598 Oh, and fix a pretty damn obvious leak in the memchunk
15601 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15603 * check/Makefile.am:
15604 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15605 plug mem-leak, re-add to valgrindable tests
15607 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15610 unbreak the build for those who have chronic arthritis
15611 and typing "make check" is just too taxing on the hands
15613 2005-09-20 Andy Wingo <wingo@pobox.com>
15615 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
15616 really want it out, you should fix plugins at the same time.
15618 2005-09-19 Stefan Kost <ensonic@users.sf.net>
15621 * docs/gst/gstreamer-sections.txt:
15623 added missing symbols to api docs
15624 disable ref-count hack if we have glib >= 2.8
15626 2005-09-19 David Schleef <ds@schleef.org>
15628 * docs/gst/Makefile.am: Ignore a few more internal headers
15629 * docs/gst/gstreamer-docs.sgml: Remove old sections
15630 * docs/gst/gstreamer-sections.txt: Remove old sections
15631 * docs/gst/tmpl/gstobject.sgml: update
15632 * docs/gst/tmpl/gstplugin.sgml: update
15633 * docs/gst/tmpl/gstpluginfeature.sgml: update
15634 * docs/random/ds/0.9-suggested-changes: update.
15635 * gst/Makefile.am: remove memchunk and trashstack, since they're
15637 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
15638 * gst/gst.h: don't include some headers
15639 * gst/gstchildproxy.c: add gstmarshal.h
15640 * gst/gstclock.c: Don't use memchunks
15641 * gst/gstminiobject.c: Add some docs
15642 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
15643 * gst/gstobject.h: same
15644 * gst/gstplugin.c: include gstmacros.h
15645 * gst/gstplugin.h: don't include gstmacros.h, since it's private
15646 * gst/gstquery.c: don't use memchunks
15647 * gst/gstregistry.c: rename gst_registry_deinit()
15648 * gst/gstregistry.h: same
15650 2005-09-19 David Schleef <ds@schleef.org>
15652 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
15653 * docs/libs/gstreamer-libs-sections.txt:
15654 * docs/libs/tmpl/gstgetbits.sgml:
15655 * docs/libs/tmpl/gstputbits.sgml:
15657 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
15659 * win32/gstenumtypes.c:
15660 * win32/gstenumtypes.h:
15663 2005-09-19 Wim Taymans <wim@fluendo.com>
15665 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
15666 Automatically PAUSE and RESUME a pipeline when a flushing seek
15669 2005-09-19 Andy Wingo <wingo@pobox.com>
15671 * gst/gstregistry.h: Spacing fixen.
15673 2005-09-19 Wim Taymans <wim@fluendo.com>
15675 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
15676 Handle state change failure more correctly.
15678 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
15680 * check/Makefile.am:
15681 * check/pipelines/cleanup.c: (run_pipeline):
15682 * check/pipelines/simple_launch_lines.c: (run_pipeline),
15684 enable cleanup again after fixing the leak
15686 some more info on docs
15688 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
15690 * check/Makefile.am:
15691 re-enable tests now that leaks are plugged
15693 * check/gst/gstbin.c:
15694 * check/gst/gstpipeline.c:
15695 add some more tests while fixing leaks
15696 * common/check.mak:
15697 make sure binaries are uptodate when valgrinding/gdbing
15699 * gst/gstelementfactory.c:
15700 remove a ref too many, and add a FIXME for when we get
15701 round to disposing of classes
15703 fix the refcounting when loading a plugin from a file and
15704 the code pretends that the pointer is the same even though
15705 of course it can change
15706 * gst/gstpluginfeature.c:
15707 unref plugins marked cached (a bit confusing as a name)
15708 as the docs state should be done
15709 various doc additions to explain refcounting
15710 * gst/gstregistry.c:
15711 * gst/gstregistryxml.c:
15714 2005-09-19 Wim Taymans <wim@fluendo.com>
15716 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15717 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15718 (send_messages), (GST_START_TEST), (gstbus_suite):
15719 * check/gst/gstpipeline.c: (GST_START_TEST):
15720 * check/pipelines/cleanup.c: (run_pipeline):
15721 * check/pipelines/simple_launch_lines.c: (run_pipeline),
15723 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
15724 (gst_bus_source_check), (gst_bus_source_dispatch),
15725 (gst_bus_create_watch), (gst_bus_add_watch_full),
15726 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
15728 * tools/gst-launch.c: (event_loop):
15729 * tools/gst-md5sum.c: (event_loop):
15730 GstBusHandler -> GstBusFunc, return value has the same meaning as
15731 any other GSource (FALSE == remove source).
15732 _add_watch() and _add_watch_full() now take a MessageType mask to
15733 only handle specific types of messages.
15734 _poll() returns the GstMessage instead of the message type to avoid
15736 _have_pending() takes a MessageType mask now too.
15737 Added testsuite for multiple bus watches.
15738 Fix testsuites and applications for new bus API.
15740 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
15742 * check/Makefile.am:
15743 mark a bunch of the tests as to fix until we fix them
15745 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
15747 * common/check.mak:
15748 use GST_PLUGIN settings for valgrind tests as well, so we're
15749 valgrinding the correct thing
15750 * gst/gst.c: (init_post):
15753 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
15755 * gst/gst.c: (init_post), (gst_deinit):
15756 * gst/gstelementfactory.c: (gst_element_factory_class_init),
15757 (gst_element_factory_finalize), (gst_element_factory_cleanup):
15758 * gst/gstindex.c: (gst_index_factory_class_init),
15759 (gst_index_factory_finalize):
15760 * gst/gstobject.c: (gst_object_dispose):
15761 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15762 (gst_plugin_load_file), (gst_plugin_desc_free):
15763 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
15764 (gst_plugin_feature_finalize):
15765 * gst/gstregistry.c: (gst_registry_class_init),
15766 (gst_registry_init), (gst_registry_finalize),
15767 (gst_registry_get_default), (gst_registry_deinit):
15768 * gst/gstregistry.h:
15769 * gst/gstregistryxml.c: (load_feature), (load_plugin):
15770 various cleanups and memleak plugging. make valgrind is happy now.
15772 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
15774 * common/check.mak:
15775 add a check-valgrind target
15777 2005-09-18 David Schleef <ds@schleef.org>
15779 * tools/gst-inspect.c: Revert the GOption code.
15781 2005-09-17 David Schleef <ds@schleef.org>
15783 * check/Makefile.am: Fix environment variables.
15784 * check/gst/gstplugin.c: Fix for API changes.
15785 * tools/gst-inspect.c: Fix for API changes.
15786 * tools/gst-xmlinspect.c: Fix for API changes.
15787 * gst/gstelementfactory.c:
15790 * gst/gstpluginfeature.c:
15791 * gst/gstpluginfeature.h:
15792 * gst/gstregistry.c:
15793 * gst/gstregistry.h:
15794 * gst/gstregistryxml.c:
15795 * gst/gsttypefind.c:
15796 * gst/gsttypefindfactory.c:
15797 * gst/indexers/gstfileindex.c:
15798 * gst/indexers/gstmemindex.c:
15799 * gst/schedulers/Makefile.am:
15800 Change registry to keep track of both plugins and features,
15801 removing the feature tracking from plugins themselves.
15803 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
15805 * check/Makefile.am:
15806 * tools/gst-register.1.in:
15807 remove gst-register
15809 2005-09-15 David Schleef <ds@schleef.org>
15811 * check/gst/gstplugin.c:
15812 * gst/gstelementfactory.c:
15814 * gst/gstpluginfeature.c:
15815 * gst/gstregistry.c:
15816 Getting tired of debugging. Disabled all the unreffing of
15817 plugins and features, which fixes the segfaults, but of
15818 course leaks like crazy. At least playbin works.
15820 2005-09-15 David Schleef <ds@schleef.org>
15822 * check/gst/gstplugin.c: (register_check_elements),
15823 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
15825 * gst/elements/gsttypefindelement.c: Fix refcounting.
15826 * gst/gsttypefind.c:
15827 * gst/gsttypefindfactory.c:
15828 * gst/gsttypefindfactory.h:
15830 2005-09-15 David Schleef <ds@schleef.org>
15832 * gst/gstindex.c: get refcounting correct.
15833 * gst/gstregistry.c: Handle the case where a feature/plugin is
15836 2005-09-15 David Schleef <ds@schleef.org>
15838 * check/Makefile.am:
15839 * check/gst/gstplugin.c: Add test
15840 * gst/gstplugin.c: Fix problems noticed by testsuite
15842 * gst/gstregistry.c:
15843 * gst/gstregistry.h:
15845 2005-09-15 David Schleef <ds@schleef.org>
15847 * gst/gstplugin.c: Implement semi-decent recounting and locking
15848 in plugins and plugin features.
15850 * gst/gstpluginfeature.c:
15851 * gst/gstpluginfeature.h:
15852 * gst/gstregistry.c:
15854 2005-09-15 Michael Smith <msmith@fluendo.com>
15856 * gst/gstregistry.c: (gst_registry_get_feature_list):
15857 Implement this. Makes oggdemux work; decodebin still broken.
15859 2005-09-14 David Schleef <ds@schleef.org>
15861 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
15863 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
15864 * gst/check/Makefile.am:
15865 * libs/gst/controller/Makefile.am:
15866 * libs/gst/dataprotocol/Makefile.am:
15868 2005-09-14 David Schleef <ds@schleef.org>
15870 * configure.ac: Remove getbits library. Nothing uses it, and
15871 it should be in something like liboil if someone did want
15873 * libs/gst/Makefile.am:
15874 * libs/gst/getbits/Makefile.am:
15875 * libs/gst/getbits/gbtest.c:
15876 * libs/gst/getbits/getbits.c:
15877 * libs/gst/getbits/getbits.h:
15878 * libs/gst/getbits/gstgetbits_generic.c:
15879 * libs/gst/getbits/gstgetbits_i386.s:
15880 * libs/gst/getbits/gstgetbits_inl.h:
15882 2005-09-14 David Schleef <ds@schleef.org>
15884 * gst/Makefile.am: Dist glib-compat.h
15886 2005-09-14 David Schleef <ds@schleef.org>
15888 * configure.ac: Remove gst/registries, since it's no longer used.
15889 * gst/registries/Makefile.am:
15890 * gst/registries/gstlibxmlregistry.c:
15891 * gst/registries/gstlibxmlregistry.h:
15892 * gst/registries/gstxmlregistry.c:
15893 * gst/registries/gstxmlregistry.h:
15894 * gst/registries/registrytest.c:
15896 2005-09-14 David Schleef <ds@schleef.org>
15898 * gst/glib-compat.h:
15899 * gst/gstregistryxml.c:
15900 Convergence is near. Seriously.
15902 2005-09-14 David Schleef <ds@schleef.org>
15904 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15905 * gst/glib-compat.h:
15906 Attempt #4 to appease the buildbots.
15908 2005-09-14 David Schleef <ds@schleef.org>
15910 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15913 2005-09-14 David Schleef <ds@schleef.org>
15915 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15918 2005-09-14 David Schleef <ds@schleef.org>
15920 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
15923 2005-09-14 David Schleef <ds@schleef.org>
15925 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15926 * gst/glib-compat.h: Add some functions that are in newer versions
15927 of glib than we care to require.
15928 * gst/gstregistryxml.c: Use them.
15930 2005-09-14 David Schleef <ds@schleef.org>
15932 * po/POTFILES.in: remove gst-register.c
15934 2005-09-14 David Schleef <ds@schleef.org>
15936 * docs/gst/gstreamer-docs.sgml:
15937 * docs/gst/gstreamer-sections.txt:
15938 * docs/gst/gstreamer.types:
15939 * docs/gst/tmpl/gstelement.sgml:
15940 * docs/gst/tmpl/gstplugin.sgml:
15941 * docs/gst/tmpl/gstpluginfeature.sgml:
15942 Documentation updates for registry changes.
15944 2005-09-14 David Schleef <ds@schleef.org>
15946 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
15947 because we don't require glib-2.8.
15949 2005-09-14 David Schleef <ds@schleef.org>
15951 * gst/gstregistryxml.c: Added. Essentially moved out of the
15952 registries directory.
15954 2005-09-14 David Schleef <ds@schleef.org>
15956 * check/Makefile.am:
15957 * check/generic/states.c:
15961 * gst/gst_private.h:
15962 * gst/gstelementfactory.c:
15967 * gst/gstpluginfeature.c:
15968 * gst/gstpluginfeature.h:
15969 * gst/gstregistry.c:
15970 * gst/gstregistry.h:
15971 * gst/gstregistrypool.c: remove
15972 * gst/gstregistrypool.h: remove
15973 * gst/gsttypefind.c:
15974 * gst/gsttypefindfactory.c:
15976 * tools/Makefile.am:
15977 * tools/gst-compprep.c:
15978 * tools/gst-inspect.c:
15979 * tools/gst-register.c: remove
15980 * tools/gst-xmlinspect.c:
15981 Registry rewrite. Changes registry from being a file created
15982 by a tool into a simple cache file created automatically by
15983 libgstreamer. Removed gst-register (because it's no longer
15984 needed). Remove registry pools, because we only have one
15985 registry implementation (XML). Fix up other subsystems as
15988 2005-09-13 Michael Smith <msmith@fluendo.com>
15990 * gst/gstconfig.h.in:
15991 Don't Use windows linking attributes for MinGW. Fixes #316157
15993 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
15995 * gst/gstutils.c: (set_state_async_thread_func),
15996 (gst_element_set_state_async):
15997 Apparently people think it's better if this function doesn't
15998 try to set the state to whatever state was asked for on the first
15999 call to this function for any object. Seriously.
16001 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
16003 * check/gst/gstpipeline.c: (GST_START_TEST):
16004 * docs/gst/gstreamer-sections.txt:
16005 * gst/gstutils.c: (set_state_async_thread_func),
16006 (gst_element_set_state_async):
16008 add a "gst_element_set_state_async" method that
16009 sets the state and starts a thread to make sure the state
16010 change completes as best as it can
16012 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
16014 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16015 codify design+behaviour in testsuite after discussion
16017 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
16019 * docs/gst/tmpl/gstelement.sgml:
16020 * docs/manual/appendix-quotes.xml:
16022 * gst/gstelement.c: (gst_element_set_state):
16025 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
16027 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16028 (gst_base_transform_prepare_output_buf),
16029 (gst_base_transform_handle_buffer):
16030 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16031 (gst_capsfilter_prepare_buf):
16032 Remove the requirement for sub-classes to call the parent
16033 implementation of prepare_output_buffer with a wrapper function.
16035 * gst/gsttaglist.h:
16036 * gst/gsttagsetter.h:
16037 Fix #define wrapper
16039 2005-09-11 Stefan Kost <ensonic@users.sf.net>
16041 * docs/gst/gstreamer-sections.txt:
16044 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
16046 * docs/gst/gstreamer-sections.txt:
16047 * docs/gst/tmpl/gstelement.sgml:
16048 * docs/gst/tmpl/gstplugin.sgml:
16049 * gst/gstminiobject.c:
16051 docs now stop throwing warnings
16053 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
16055 * docs/gst/gstreamer-sections.txt:
16056 * docs/gst/gstreamer.types:
16057 * docs/gst/tmpl/gstpad.sgml:
16058 * docs/gst/tmpl/gsttypes.sgml:
16059 * gst/base/gstadapter.h:
16060 * gst/base/gstbasesink.h:
16061 * gst/base/gstbasesrc.h:
16067 * gst/gstelement.h:
16069 * gst/gstmessage.h:
16071 * gst/gststructure.c:
16072 * gst/registries/gstlibxmlregistry.h:
16073 various documentation fixes
16075 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
16077 * docs/gst/gstreamer-sections.txt:
16078 * docs/gst/tmpl/gstvalue.sgml:
16079 rearrange gstvalue section
16080 * gst/gstutils.c: (gst_element_state_get_name):
16082 * gst/gstvalue.c: (_gst_value_initialize):
16086 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
16088 * check/gst-libs/controller.c:
16089 Header include fix.
16090 * gst/base/gstbasetransform.c:
16091 (gst_base_transform_default_prepare_buf),
16092 (gst_base_transform_handle_buffer):
16093 * gst/base/gstbasetransform.h:
16094 Some more basetransform changes and fixes to enable sub-classes
16095 that modify buffer metadata only.
16096 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16097 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16098 (gst_capsfilter_prepare_buf):
16099 If the output pad has fixed allowed caps and input buffers
16100 don't have any, set the fixed caps on outgoing buffers.
16102 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
16103 * check/elements/identity.c: (GST_START_TEST):
16104 Make the error a little clearer when the test fails because
16105 identity made a copy of the buffer.
16106 * docs/gst/gstreamer-sections.txt:
16107 New symbols in gstbasetransform.h
16108 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16109 (gst_base_transform_init), (gst_base_transform_transform_size),
16110 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16111 (gst_base_transform_default_prepare_buf),
16112 (gst_base_transform_get_unit_size),
16113 (gst_base_transform_buffer_alloc),
16114 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16115 (gst_base_transform_change_state),
16116 (gst_base_transform_set_passthrough),
16117 (gst_base_transform_set_in_place),
16118 (gst_base_transform_is_in_place):
16119 * gst/base/gstbasetransform.h:
16120 Change BaseTransform to separate in_place operate from same_caps
16121 output. in_place implies that the element can perform the transform
16122 on incoming buffers in-place, even if the caps on the output are
16124 Sub-class elements can now implement special buffer allocation
16125 methods for outgoing buffers if they wish to.
16126 Big documentation addition.
16127 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16128 * gst/elements/gstelements.c:
16129 Changes for basetransform modifications.
16130 * gst/elements/Makefile.am:
16131 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16132 Compile fix. Extra debug output.
16134 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
16136 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16138 add tests for valid pad naming
16139 * gst/check/gstcheck.c: (gst_check_log_message_func),
16140 (gst_check_log_critical_func):
16142 remove printing of code, it is fragile when the code contains
16143 % and the line number is enough info
16144 * gst/check/gstcheck.h:
16145 * gst/gstpad.c: (gst_pad_template_new):
16148 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
16151 say what CHECK flags we use
16152 * docs/libs/gstreamer-libs.types:
16153 * libs/gst/controller/Makefile.am:
16154 * libs/gst/controller/gst-controller.c:
16155 * libs/gst/controller/gst-controller.h:
16156 * libs/gst/controller/gst-helper.c:
16157 * libs/gst/controller/gst-interpolation.c:
16158 * libs/gst/controller/gstcontroller.c:
16159 * libs/gst/controller/gsthelper.c:
16160 * libs/gst/controller/gstinterpolation.c:
16161 * tools/gst-inspect.c: (print_plugin_info):
16162 we don't use dashes in header names
16164 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
16166 * check/Makefile.am:
16167 * check/gst/.cvsignore:
16168 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16169 (gst_pipeline_suite), (main):
16170 adding a test for pipelines and state changes
16171 * gst/gstutils.c: (get_state_func):
16173 * gstreamer.spec.in:
16176 2005-09-08 Michael Smith <msmith@fluendo.com>
16178 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16179 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16180 (gst_file_src_is_seekable), (gst_file_src_get_size),
16181 (gst_file_src_start):
16182 * gst/elements/gstfilesrc.h:
16183 Various fixes for unseekable, unmmapable, and non-normal files, so
16184 that fallback to read() rather than mmap() works.
16185 * gst/gstevent.c: (gst_event_new_newsegment):
16186 Allow newsegment events with segment_start == segment_end, as will
16187 correctly happen if you use filesrc on a zero-size file, for
16190 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
16192 * gst/gstplugin.c: (gst_plugin_load_file):
16193 Call g_module_close when we don't load the module
16195 * gst/registries/gstlibxmlregistry.c:
16196 (gst_xml_registry_get_property):
16197 Port leak fix from 0.8
16199 2005-09-07 Stefan Kost <ensonic@users.sf.net>
16201 * docs/gst/gstreamer-docs.sgml:
16202 * docs/gst/tmpl/.cvsignore:
16203 * docs/gst/tmpl/gsttrace.sgml:
16204 * docs/gst/tmpl/gsttrashstack.sgml:
16207 * gst/gstelement.h:
16209 * gst/gstmessage.c:
16210 * gst/gstmessage.h:
16213 * gst/gsttaginterface.c:
16214 * gst/gsttaginterface.h:
16215 * gst/gsttaglist.c:
16216 * gst/gsttaglist.h:
16217 * gst/gsttagsetter.c:
16218 * gst/gsttagsetter.h:
16221 * gst/gsttrashstack.c:
16222 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16223 inlined docs for gsttrace, gsttrashstack
16225 2005-09-07 Stefan Kost <ensonic@users.sf.net>
16228 * gst/elements/gstbufferstore.h:
16229 * gst/elements/gsttypefindelement.c:
16230 * gst/elements/gsttypefindelement.h:
16232 * gst/gsttypefind.c:
16233 * gst/gsttypefind.h:
16234 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16235 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16236 (gst_type_find_factory_dispose),
16237 (gst_type_find_factory_unload_thyself),
16238 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16239 (gst_type_find_factory_get_caps),
16240 (gst_type_find_factory_get_extensions),
16241 (gst_type_find_factory_call_function):
16242 * gst/gsttypefindfactory.h:
16243 * gst/registries/gstlibxmlregistry.c:
16244 * gst/registries/gstxmlregistry.c:
16245 splitted gsttypefind into gsttypefind, gsttypefindfactory
16247 2005-09-07 Andy Wingo <wingo@pobox.com>
16249 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16250 condition whereby the pad's task function is entered before the
16251 pad_mode variable was set.
16253 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
16255 * gst/gstpad.c: (gst_pad_alloc_buffer):
16256 Catch misbehaving pad_alloc functions that don't
16257 set up caps and do it for them.
16259 2005-09-07 Stefan Kost <ensonic@users.sf.net>
16261 * check/pipelines/simple_launch_lines.c: (run_pipeline):
16262 test for pipe!=NULL
16263 * docs/gst/tmpl/.cvsignore:
16264 * docs/gst/tmpl/gstmemchunk.sgml:
16265 * docs/gst/tmpl/gstparse.sgml:
16266 * docs/gst/tmpl/gsttaglist.sgml:
16267 * docs/gst/tmpl/gsttagsetter.sgml:
16268 * docs/gst/tmpl/gsttypefind.sgml:
16269 * docs/gst/tmpl/gsttypefindfactory.sgml:
16270 * gst/gstmemchunk.c:
16273 * gst/gsttaginterface.c:
16274 * gst/gsttypefind.c:
16275 * gst/gsttypefind.h:
16278 === release 0.9.2 ===
16280 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
16285 releasing 0.9.2, "South"
16287 2005-09-05 Andy Wingo <wingo@pobox.com>
16289 * gst/registries/gstxmlregistry.h:
16290 * gst/registries/gstxmlregistry.c: Um... resurrect...
16292 * gst/registries/gstxmlregistry.h:
16293 * gst/registries/gstxmlregistry.c: and update to newer API.
16294 Incidentally they should be a bit faster now that they don't have
16297 2005-09-05 Andy Wingo <wingo@pobox.com>
16299 * gst/registries/gstxmlregistry.h:
16300 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16301 replaced by the libxml registry a while back
16303 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
16305 * docs/gst/tmpl/gstplugin.sgml:
16306 * gst/elements/gstelements.c:
16308 * gst/gstplugin.c: (gst_plugin_register_func),
16309 (gst_plugin_desc_copy), (gst_plugin_desc_free),
16310 (gst_plugin_get_source):
16312 * gst/registries/gstlibxmlregistry.c: (load_plugin),
16313 (gst_xml_registry_save_plugin):
16314 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16315 (gst_xml_registry_save_plugin):
16316 * tools/gst-inspect.c: (print_plugin_info):
16317 add a "source" plugin description field, to represent the source
16318 module this plugin is a part of. By default GST_PLUGIN_DEFINE
16319 will set it to PACKAGE, which is automake's idea of the name of
16320 the source project.
16322 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
16327 * docs/Makefile.am:
16328 * docs/faq/Makefile.am:
16329 * docs/gst/tmpl/gstelement.sgml:
16330 * docs/gst/tmpl/gsttypes.sgml:
16331 * docs/htmlinstall.mak:
16332 * docs/manual/Makefile.am:
16333 * docs/pwg/Makefile.am:
16334 reorganize doc build a little
16335 split out docbook and gtk-doc stuff
16336 have two separate --enable's and enable them through autogen
16337 but disable by default in configure (to be similar to other
16339 * gstreamer.spec.in:
16340 clean up docs install
16358 translation updates
16360 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
16362 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16365 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16366 (gst_fake_sink_change_state):
16367 Make state change function thread-safe.
16369 * gst/gstpad.c: (gst_pad_alloc_buffer):
16370 Set offset on generic buffer allocated by fallback.
16372 2005-09-03 Stefan Kost <ensonic@users.sf.net>
16374 * docs/gst/gstreamer-sections.txt:
16375 * docs/gst/tmpl/gstelement.sgml:
16377 * libs/gst/controller/gst-controller.c:
16378 (gst_controlled_property_set_interpolation_mode),
16379 (gst_controlled_property_new),
16380 (gst_controller_find_controlled_property):
16381 run the wingo-magic script against the docs
16383 2005-09-02 Stefan Kost <ensonic@users.sf.net>
16385 * docs/gst/gstreamer-docs.sgml:
16386 * docs/gst/gstreamer-sections.txt:
16387 * docs/gst/tmpl/.cvsignore:
16388 * docs/gst/tmpl/gstelementdetails.sgml:
16389 * docs/gst/tmpl/gstelementfactory.sgml:
16392 * gst/gstelementfactory.c:
16393 * gst/gstelementfactory.h:
16394 merged elementdetails docs into elementfactory docs
16397 2005-09-02 Andy Wingo <wingo@pobox.com>
16399 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16400 consider this enum an enum and not a flags.
16402 2005-09-02 Stefan Kost <ensonic@users.sf.net>
16404 * docs/gst/gstreamer-docs.sgml:
16405 * docs/gst/tmpl/.cvsignore:
16406 * docs/gst/tmpl/gstghostpad.sgml:
16407 * docs/gst/tmpl/gstiterator.sgml:
16408 * docs/gst/tmpl/gstmacros.sgml:
16409 * docs/gst/tmpl/gstrealpad.sgml:
16410 * docs/gst/tmpl/gstregistry.sgml:
16411 * docs/gst/tmpl/gstregistrypool.sgml:
16412 * docs/gst/tmpl/gststructure.sgml:
16413 * docs/gst/tmpl/gstsystemclock.sgml:
16414 * docs/gst/tmpl/gsttrace.sgml:
16415 * gst/gstghostpad.c:
16417 * gst/gstmemchunk.c:
16418 * gst/gstmemchunk.h:
16420 * gst/gstregistry.c:
16421 * gst/gstregistrypool.c:
16422 * gst/gststructure.c:
16423 * gst/gstsystemclock.c:
16426 2005-09-02 Andy Wingo <wingo@pobox.com>
16428 * gst/gstelement.h (GstState): Renamed from GstElementState,
16429 changed to be a normal enum instead of flags.
16430 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
16431 munged to be GST_STATE_CHANGE_*.
16432 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
16433 work with the new state representation.
16434 (GstStateChange): New enumeration of possible state transitions.
16435 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
16436 (GstElementClass::change_state): Pass the GstStateChange along as
16437 an argument. Helps language bindings, so they don't have to use
16438 tricky lock-needing macros like GST_STATE_CHANGE ().
16440 * scripts/update-states (file): New script. Run it on a file to
16441 update it for state naming and API changes. Updates files in
16444 * All files updated for the new API.
16446 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
16448 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
16449 * gst/gstutils.c: (gst_util_set_value_from_string),
16450 (gst_util_set_object_arg):
16451 fix a bunch of unchecked return values
16452 * tools/gst-complete.c: (main):
16453 * gstreamer.spec.in:
16456 2005-09-01 Wim Taymans <wim@fluendo.com>
16458 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16459 (gst_base_sink_event), (gst_base_sink_do_sync),
16460 (gst_base_sink_handle_event):
16461 * gst/base/gstbasesink.h:
16462 Handle newsegments more correctly.
16467 * gst/gstevent.c: (gst_event_new_newsegment):
16468 A newsegment cannot have a start_time of -1
16470 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
16472 * win32/gstenumtypes.c:
16473 * win32/gstenumtypes.h:
16476 2005-08-31 Stefan Kost <ensonic@users.sf.net>
16478 * libs/gst/controller/gst-controller.c:
16479 (gst_controlled_property_set_interpolation_mode),
16480 (gst_controlled_property_new):
16481 fixed boolean again
16483 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
16485 * docs/faq/gst-uninstalled:
16490 * gst/gstutils.c: (gst_element_link_filtered):
16492 add gst_element_link_filtered
16494 2005-08-31 Stefan Kost <ensonic@users.sf.net>
16496 * docs/gst/gstreamer-docs.sgml:
16497 * docs/gst/gstreamer-sections.txt:
16498 * docs/gst/tmpl/.cvsignore:
16499 * docs/gst/tmpl/gsterror.sgml:
16500 * docs/gst/tmpl/gstfilter.sgml:
16501 * docs/gst/tmpl/gsturihandler.sgml:
16502 * docs/gst/tmpl/gsturitype.sgml:
16503 * docs/gst/tmpl/gstutils.sgml:
16504 * docs/gst/tmpl/gstxml.sgml:
16509 * gst/gsturitype.c:
16512 inlined more docs, fixed double id-ref
16514 2005-08-31 Wim Taymans <wim@fluendo.com>
16516 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16517 (gst_base_transform_handle_buffer):
16518 Passthrough elements don't need the caps as they don't care.
16520 2005-08-31 Wim Taymans <wim@fluendo.com>
16522 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16523 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
16524 Don't leak refcounts on buffers.
16526 2005-08-31 Wim Taymans <wim@fluendo.com>
16528 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
16529 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16530 (gst_base_transform_chain), (gst_base_transform_change_state):
16531 * gst/base/gstbasetransform.h:
16532 Handle the case where we are not negotiated more gracefully.
16534 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
16536 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
16537 (gst_file_src_map_region):
16538 Set READONLY flag on mmap'ed buffers, otherwise
16539 gst_buffer_make_writable() won't work properly (#314708).
16541 2005-08-31 Wim Taymans <wim@fluendo.com>
16543 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
16544 passthrough elements can even do inplace on non writable
16545 buffers (as they don't touch them).
16547 2005-08-31 Stefan Kost <ensonic@users.sf.net>
16549 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
16550 (gst_test_mono_source_set_property),
16551 (gst_test_mono_source_class_init), (GST_START_TEST),
16552 (gst_controller_suite):
16553 more tests (hehe I have the most)
16555 describe popping messages whenusing mulltiple sources
16556 * libs/gst/controller/gst-controller.c:
16557 (gst_controlled_property_set_interpolation_mode),
16558 (gst_controlled_property_new):
16559 * libs/gst/controller/gst-controller.h:
16560 * libs/gst/controller/gst-interpolation.c:
16561 implement boolean properties
16563 2005-08-31 Wim Taymans <wim@fluendo.com>
16565 * gst/gstminiobject.c: (gst_mini_object_ref):
16566 Cannot assert that the refcount has to be positive
16567 since a disposed object can be resurrected.
16569 2005-08-31 Wim Taymans <wim@fluendo.com>
16571 * gst/gstpad.c: (gst_pad_init):
16572 Revert change, need to first fix badly behaving
16575 2005-08-30 Wim Taymans <wim@fluendo.com>
16577 * check/elements/fakesrc.c: (setup_fakesrc):
16578 * check/elements/identity.c: (setup_identity):
16579 Activate pads before using them.
16581 2005-08-30 Wim Taymans <wim@fluendo.com>
16583 * gst/base/gstadapter.c: (gst_adapter_flush):
16584 Flushing out 0 bytes is ok for this function.
16586 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16587 no newsegment gives a warning and sets the start/stop to
16590 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
16591 (gst_base_transform_set_passthrough):
16594 * gst/gstminiobject.c: (gst_mini_object_ref):
16595 Check refcount here too.
16597 * gst/gstpad.c: (gst_pad_init):
16598 Pads are initially flushing and refusing data.
16600 * gst/gstutils.c: (gst_element_link_pads_filtered):
16601 When adding a capsfilter element make sure it has the
16602 same state as the parent bin.
16604 2005-08-30 Stefan Kost <ensonic@users.sf.net>
16606 * docs/gst/tmpl/.cvsignore:
16607 * docs/gst/tmpl/gstformat.sgml:
16608 * docs/gst/tmpl/gstversion.sgml:
16612 * gst/gstversion.h.in:
16613 more docs and two more inlined
16615 2005-08-30 Wim Taymans <wim@fluendo.com>
16617 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
16618 Don't sync to clock.
16620 2005-08-30 Stefan Kost <ensonic@users.sf.net>
16622 * docs/gst/gstreamer-sections.txt:
16623 ultral33t func10ns deserve to appear in the docs actually
16624 * docs/gst/tmpl/.cvsignore:
16625 * docs/gst/tmpl/gstcompat.sgml:
16626 * docs/gst/tmpl/gstconfig.sgml:
16627 * gst/check/gstcheck.c:
16629 * gst/gstconfig.h.in:
16632 2005-08-30 Stefan Kost <ensonic@users.sf.net>
16634 * docs/gst/tmpl/.cvsignore:
16635 * docs/gst/tmpl/gstquery.sgml:
16636 * docs/gst/tmpl/gstutils.sgml:
16639 inlined and extended docs
16641 2005-08-30 Stefan Kost <ensonic@users.sf.net>
16643 * check/gst-libs/controller.c: (GST_START_TEST),
16644 (gst_controller_suite):
16646 * docs/gst/tmpl/gstutils.sgml:
16647 * docs/libs/gstreamer-libs-sections.txt:
16648 * docs/libs/tmpl/gstdataprotocol.sgml:
16650 * examples/controller/audio-example.c: (main):
16651 controller example works now
16654 * tools/gst-inspect.c: (print_element_properties_info):
16655 show param spec flags
16657 2005-08-29 Andy Wingo <wingo@pobox.com>
16659 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
16661 2005-08-28 Andy Wingo <wingo@pobox.com>
16663 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
16664 as having two arguments instead of just one. Allows superclasses
16665 to access information on subclasses -- see the terrible for() loop
16666 in gtype.c:g_type_create_instance for the reason why. All callers
16669 2005-08-27 Stefan Kost <ensonic@users.sf.net>
16671 * docs/design/part-messages.txt:
16673 * docs/gst/tmpl/.cvsignore:
16674 * docs/gst/tmpl/gstcaps.sgml:
16675 * docs/gst/tmpl/gstclock.sgml:
16681 * gst/gstmessage.c:
16682 added descriptions for bus and message
16683 inline caps and clock docs
16685 2005-08-27 Stefan Kost <ensonic@users.sf.net>
16687 * gst/gstmessage.c:
16688 * gst/gstmessage.h:
16691 2005-08-27 Stefan Kost <ensonic@users.sf.net>
16693 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16696 2005-08-26 Andy Wingo <wingo@pobox.com>
16698 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
16699 element_set_state's return val.
16700 (test_2_elements): Add test that's been disabled for months.
16702 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
16703 can-activate-pull properties.
16705 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
16706 can-activate-pull properties. Implement is_seekable so fakesrc can
16707 operate in pull mode.
16709 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
16711 (gst_base_sink_activate, gst_base_sink_activate_pull)
16712 (gst_base_sink_activate_push): Make activation mode choosing work.
16714 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
16715 is right. Make pull mode work. Post an eos before pausing in pull
16717 (gst_base_sink_change_state): Pay attention to the core's
16718 change_state() return val.
16720 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
16721 has-getrange properties. Cleanups.
16723 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
16724 has_getrange and replace with can_activate_pull and
16727 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
16728 locking comments. Remove has_loop, has_chain and replace with
16729 can_activate_pull and can_activate_push.
16731 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
16734 * examples/Makefile.am:
16735 * examples/metadata/Makefile.am:
16736 * examples/metadata/read-metadata.c: (message_loop),
16737 (have_pad_handler), (make_pipeline), (print_tag), (main):
16738 Add metadata reading example that loops over a list of filenames,
16739 dumping any tags found.
16741 * gst/gstbus.c: (gst_bus_dispose):
16742 * gst/gstelement.c: (gst_element_dispose):
16743 Release a few potentially-held references in dispose.
16745 2005-08-26 Stefan Kost <ensonic@users.sf.net>
16747 * docs/gst/tmpl/gstminiobject.sgml:
16748 do *not* add tmpl/*.sgml files to CVS!
16750 2005-08-26 Stefan Kost <ensonic@users.sf.net>
16752 * libs/gst/bytestream/.cvsignore:
16753 * libs/gst/bytestream/Makefile.am:
16754 * libs/gst/bytestream/adapter.c:
16755 * libs/gst/bytestream/adapter.h:
16756 * libs/gst/bytestream/bytestream.c:
16757 * libs/gst/bytestream/bytestream.h:
16758 * libs/gst/bytestream/filepad.c:
16759 * libs/gst/bytestream/filepad.h:
16760 removing obsolete files
16762 2005-08-26 Stefan Kost <ensonic@users.sf.net>
16764 * docs/gst/gstreamer-docs.sgml:
16765 * docs/libs/gstreamer-libs-docs.sgml:
16766 disabed additional index entries again, as this makes docs-gen just
16767 slow and they aren't useful yet
16768 * docs/libs/gstreamer-libs-sections.txt:
16769 little -section.txt cleanup for libs
16771 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
16773 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16774 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
16775 fix up some debugging
16776 (gst_base_transform_get_unit_size),
16777 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16778 (gst_base_transform_handle_buffer):
16779 * gst/base/gstbasetransform.h:
16780 handle and store timed NEWSEGMENT events so that subclasses that
16781 calculate time by counting samples have a segment_start time they
16782 need to add to their timestamps - see audioresample
16784 2005-08-26 Stefan Kost <ensonic@users.sf.net>
16787 removed ';' from the end of macro defs
16788 * docs/gst/gstreamer-docs.sgml:
16789 * docs/gst/gstreamer-sections.txt:
16790 * docs/gst/tmpl/.cvsignore:
16792 * gst/gstelement.c: (gst_element_class_init),
16793 (gst_element_set_state), (activate_pads),
16794 (gst_element_save_thyself):
16795 * gst/gstevent.c: (gst_event_new_newsegment):
16797 * gst/gstiterator.c:
16798 * gst/gstiterator.h:
16801 * gst/gstutils.c: (gst_pad_query_convert):
16803 fixed parameter name mismatches between source, header and docs
16804 added some more docs, resolved the last batch of unused elements in
16805 docs (now someone needs to doc them)
16807 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
16809 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
16810 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
16811 don't walk through the plugins backwards. Where is all this
16812 reversed logic coming from ?
16814 2005-08-25 Wim Taymans <wim@fluendo.com>
16816 * gst/base/gstbasetransform.c: (gst_base_transform_init),
16817 (gst_base_transform_transform_size),
16818 (gst_base_transform_configure_caps),
16819 (gst_base_transform_get_unit_size),
16820 (gst_base_transform_buffer_alloc),
16821 (gst_base_transform_change_state):
16822 * gst/base/gstbasetransform.h:
16823 Cache caps unit_size.
16824 Make sure we cannot negotiate up and downstream at the
16827 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
16829 * gst/gst.c: (init_pre), (init_post):
16830 register the installed plugin path after the env var
16831 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
16832 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
16833 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
16834 directories, so the tests can prefer uninstalled over installed
16836 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
16838 * gst/base/gstbasetransform.h:
16843 2005-08-25 Wim Taymans <wim@fluendo.com>
16845 * gst/gstbin.c: (bin_bus_handler):
16846 Be a bit more conservative about the posted message.
16848 * gst/gstbus.c: (gst_bus_post):
16849 Some cleanups, warn wrong return values.
16851 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
16853 * check/gst/gstbin.c: (GST_START_TEST):
16854 * gst/gstbin.c: (bin_bus_handler):
16855 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
16856 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
16857 (gst_message_new_warning), (gst_message_new_tag),
16858 (gst_message_new_state_changed), (gst_message_new_segment_start),
16859 (gst_message_new_segment_done), (gst_message_new_custom):
16860 * gst/gstmessage.h:
16861 * tools/gst-launch.c: (event_loop):
16862 * tools/gst-md5sum.c: (event_loop):
16863 Revert unpopular change for GST_MESSAGE_SRC to GObject.
16865 2005-08-25 Wim Taymans <wim@fluendo.com>
16867 * check/generic/states.c: (GST_START_TEST):
16868 Cleanup can be done at the end.
16870 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
16871 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
16872 (gst_task_get_state), (gst_task_start), (gst_task_pause):
16873 Oh boy.. Thanks for finding this, Thomas.
16875 2005-08-25 Stefan Kost <ensonic@users.sf.net>
16877 * docs/gst/gstreamer.types:
16878 added missing types
16880 2005-08-25 Stefan Kost <ensonic@users.sf.net>
16882 * docs/gst/gstreamer-docs.sgml:
16883 * docs/gst/gstreamer-sections.txt:
16884 * docs/gst/tmpl/.cvsignore:
16886 * gst/gstiterator.c:
16888 * gst/registries/gstxmlregistry.h:
16889 added missing classes and symbols (123 more to go)
16890 removed removed symbols from section file
16891 fixed many doc-comments
16893 2005-08-24 Wim Taymans <wim@fluendo.com>
16895 * check/generic/states.c: (GST_START_TEST):
16896 Make sure all tasks are stopped.
16898 * check/gst/gstbin.c: (GST_START_TEST):
16899 Unref after usage for proper valgrinding.
16901 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
16902 Really wait for the task to stop before destroying the
16905 * gst/gstqueue.c: (gst_queue_sink_activate_push),
16906 (gst_queue_src_activate_push):
16907 Small cleanups. Don't stop the task when we did not start
16910 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
16911 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
16912 (gst_task_get_state), (gst_task_start), (gst_task_pause),
16915 Protect the stream lock with the object lock.
16916 Disallow setting the stream lock when running.
16917 Add cleanup_all to wait for the threadpool to finish.
16918 Remove code to autoallocate a mutex if none was provided.
16919 Add _join() to wait for a task to stop.
16920 Protect the thread pool with a global lock.
16922 2005-08-24 Wim Taymans <wim@fluendo.com>
16924 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16925 (gst_base_sink_get_times), (gst_base_sink_do_sync),
16926 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
16927 * gst/base/gstbasesink.h:
16928 Handle newsegment events correctly.
16929 Drop buffers out of the segment range.
16931 2005-08-22 Andy Wingo <wingo@pobox.com>
16933 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
16934 macro, implements an interface and gstimplementsinterface for a
16937 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
16939 * check/Makefile.am:
16940 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
16941 add a test that does a bunch of state changes on elements
16942 needs some fixing for valgrind
16943 * check/states/sinks.c: (gst_object_suite):
16946 add prototype for gst_caps_is_equal_fixed
16948 * gst/gstregistrypool.c:
16951 2005-08-24 Andy Wingo <wingo@pobox.com>
16953 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
16954 convert a negative value. Doesn't make much sense. Mostly this is
16955 here to force callers to ensure -1 maps to -1.
16957 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
16959 * docs/pwg/advanced-types.xml:
16960 Well done to Michael for catching my deliberate introduction
16961 of this spelling mistake.
16962 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
16963 * gst/gstelement.h:
16964 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
16965 unlink pads before removing the element from the bin.
16967 2005-08-24 Andy Wingo <wingo@pobox.com>
16969 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
16970 the same thing as GST_DEBUG=*:4.
16971 (parse_debug_level, parse_debug_category): New helper parsers.
16973 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
16975 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
16976 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
16977 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
16978 (gst_base_transform_buffer_alloc),
16979 (gst_base_transform_handle_buffer):
16980 use gboolean return values and pointers to size so we can use the
16981 full GST_BUFFER_SIZE range (guint) for buffer sizes
16982 use GstPadDirection for transform_caps
16983 * gst/base/gstbasetransform.h:
16984 rename get_size to get_unit_size since that's what it is
16985 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
16986 use GstPadDirection for transform_caps
16987 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
16989 cleanup and debugging
16991 2005-08-24 Stefan Kost <ensonic@users.sf.net>
16993 * gst/gstelement.c: (gst_element_class_init),
16994 (gst_element_set_state), (activate_pads),
16995 (gst_element_save_thyself):
16996 * tools/gst-compprep.c: (main):
16997 * tools/gst-inspect.c: (print_element_properties_info):
16998 * tools/gst-xmlinspect.c: (print_element_properties):
16999 Fixed long standing mem-leak
17001 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
17003 * check/gst/gstbin.c: (GST_START_TEST):
17004 * gst/gstbin.c: (bin_bus_handler):
17005 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17006 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17007 (gst_message_new_warning), (gst_message_new_tag),
17008 (gst_message_new_state_changed), (gst_message_new_segment_start),
17009 (gst_message_new_segment_done), (gst_message_new_custom):
17010 * gst/gstmessage.h:
17011 * tools/gst-launch.c: (event_loop):
17012 * tools/gst-md5sum.c: (event_loop):
17013 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17014 that applications can sensibly post custom messages with references
17015 to their own objects.
17017 2005-08-24 Andy Wingo <wingo@pobox.com>
17019 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17022 2005-08-24 Wim Taymans <wim@fluendo.com>
17024 * gst/base/gstbasetransform.c: (gst_base_transform_init),
17025 (gst_base_transform_transform_caps),
17026 (gst_base_transform_transform_size),
17027 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17028 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17029 (gst_base_transform_handle_buffer):
17030 * gst/base/gstbasetransform.h:
17031 Many fixes and new features added by Thomas. Can now also do
17032 transforms with variable sizes and a custom fixate_caps function.
17034 2005-08-24 Wim Taymans <wim@fluendo.com>
17036 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17040 Cast to ClockTime before formatting to time.
17045 2005-08-24 Stefan Kost <ensonic@users.sf.net>
17047 * check/gst-libs/controller.c: (GST_START_TEST),
17048 (gst_controller_suite):
17049 * docs/gst/tmpl/gstcaps.sgml:
17050 * docs/gst/tmpl/gstghostpad.sgml:
17051 * docs/gst/tmpl/gstquery.sgml:
17052 * docs/gst/tmpl/gstutils.sgml:
17053 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17054 (gst_object_sink_values), (gst_object_get_value_arrays),
17055 (gst_object_get_value_array):
17056 gracefully handle helper method calls to objects that are not beeing
17057 controlled, added test case for that
17059 2005-08-23 Wim Taymans <wim@fluendo.com>
17061 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17062 (gst_event_new_newsegment), (gst_event_parse_newsegment),
17063 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17064 (gst_event_parse_qos), (gst_event_new_seek),
17065 (gst_event_parse_seek):
17067 Some more debugging output and doc cleanups.
17069 * gst/gstqueue.c: (gst_queue_handle_sink_event):
17070 Fix possible deadlock.
17072 2005-08-23 Stefan Kost <ensonic@users.sf.net>
17074 * docs/gst/gstreamer-docs.sgml:
17075 * docs/gst/gstreamer-sections.txt:
17076 * docs/gst/gstreamer.types:
17077 * docs/gst/tmpl/.cvsignore:
17080 * gst/gstelement.c:
17082 added 100 symbols from gstreamer-unused.txt to the right sections
17083 fixed more broken comments
17084 added GstBus to docs
17086 2005-08-23 Stefan Kost <ensonic@users.sf.net>
17088 * docs/gst/gstreamer-sections.txt:
17089 * docs/gst/tmpl/.cvsignore:
17090 * docs/gst/tmpl/gstbin.sgml:
17091 * docs/gst/tmpl/gstbuffer.sgml:
17092 * gst/base/gstbasesrc.c:
17093 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17096 * tools/gst-launch.1.in:
17097 inlined more doc comments, added missing comments and fixed comments
17100 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
17102 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17106 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17108 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17109 * gst/gststructure.h:
17110 add a fixate function for booleans; add a FIXME that these func
17111 names should probably be gst_structure_fixate_*
17113 2005-08-23 Stefan Kost <ensonic@users.sf.net>
17115 * docs/gst/gstreamer-docs.sgml:
17116 * docs/gst/gstreamer-sections.txt:
17118 * gst/gstbin.c: (gst_bin_get_type),
17119 (gst_bin_child_proxy_get_child_by_index),
17120 (gst_bin_child_proxy_get_children_count),
17121 (gst_bin_child_proxy_init):
17122 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17123 (gst_child_proxy_get_child_by_index),
17124 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17125 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17126 (gst_child_proxy_get), (gst_child_proxy_set_property),
17127 (gst_child_proxy_set_valist), (gst_child_proxy_set),
17128 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17129 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17130 * gst/gstchildproxy.h:
17131 * gst/parse/grammar.y:
17132 * tools/gst-inspect.c: (print_interfaces),
17133 (print_element_properties_info), (print_element_info):
17134 ported gstchildproxy over from 0.8
17135 ported gst-inspect fixes and enhancements over from 0.8
17137 2005-08-22 Wim Taymans <wim@fluendo.com>
17139 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17140 (gst_base_transform_handle_buffer):
17141 Also call the transform function if we have ANY caps.
17143 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17146 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
17148 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17149 Don't pretend to handle seek events if the source is not seekable
17151 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
17153 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17154 Remove extra parameter to debug output
17156 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17157 (gst_base_src_do_seek), (gst_base_src_activate_push):
17158 Fix seek event handling.
17160 * gst/gstpipeline.c: (gst_pipeline_change_state):
17161 * gst/gstqueue.c: (gst_queue_handle_sink_event),
17162 (gst_queue_src_activate_push):
17163 Don't start the src pad task on FLUSH_STOP if the pad
17167 2005-08-22 Wim Taymans <wim@fluendo.com>
17169 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17170 Added check for gst_static_caps_get() refcounting.
17172 2005-08-22 Wim Taymans <wim@fluendo.com>
17174 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17175 Make _static_caps_get() refcounting sane.
17177 * gst/gstelement.c: (gst_element_set_state):
17178 Add g_return_val_if_fail() to protect against segfaults.
17180 2005-08-22 Stefan Kost <ensonic@users.sf.net>
17182 * docs/gst/tmpl/gstevent.sgml:
17185 inlined remaining docs, added missing doc comments
17187 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
17189 * check/gst/gstbin.c: (GST_START_TEST):
17190 since we don't know when preroll is done, use refcount range
17192 * gst/check/gstcheck.h:
17193 add macro for checking refcount range
17195 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
17197 * check/Makefile.am:
17198 clean up environment for when registry gets built versus
17199 when actual tests are run; valgrind seems to not report
17200 leaks if GST_PLUGIN_PATH is set to some specific values
17201 * check/gst/gstbin.c: (GST_START_TEST):
17202 add more refcounting checks; maybe this exposes a
17204 * common/check.mak:
17205 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17206 * gst/check/gstcheck.h:
17207 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17208 (gst_bin_change_state):
17209 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17210 add/fix debugging/whitespace
17212 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
17214 * check/gst/gstevent.c: (event_probe), (test_event),
17216 Er, don't call gst_bin_watch_for_state_change you idiot.
17218 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
17220 * check/Makefile.am:
17221 Use CHECK_CFLAGS and CHECK_LIBS
17222 * check/gst/gstevent.c: (event_probe), (test_event),
17225 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17226 (gst_base_src_start), (gst_base_src_stop),
17227 (gst_base_src_activate_push), (gst_base_src_activate_pull),
17228 (gst_base_src_change_state):
17229 Sprinkle gst_base_src_stop liberally around error paths to fix
17230 problems reusing a source after failed state changes.
17231 * gst/base/gsttypefindhelper.c: (helper_find_peek),
17232 (helper_find_suggest), (gst_type_find_helper):
17233 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17235 * docs/gst/tmpl/gstevent.sgml:
17236 Migrate part of the docs from the SGML file. Wait for ensonic to
17237 tell me how I did it wrong ;)
17238 * tools/gst-typefind.c: (main):
17239 Extra robustness to state changes between files.
17241 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
17243 * check/Makefile.am:
17244 don't valgrind the controller test - it's leaking - Stefan, HELP
17245 * gst/check/gstcheck.c: (gst_check_message_error),
17246 (gst_check_chain_func), (gst_check_setup_element),
17247 (gst_check_teardown_element), (gst_check_setup_src_pad),
17248 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17249 (gst_check_teardown_sink_pad):
17250 * gst/check/gstcheck.h:
17251 add a bunch of methods to set up elements, and src and sink pads
17252 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17253 * check/elements/identity.c: (setup_identity), (cleanup_identity),
17256 * gst/gstmessage.c:
17258 whitespace/doc fixes
17260 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17262 * gst/gstelement.h:
17263 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17264 be handled by the application and not always printed as well
17266 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17268 * check/Makefile.am:
17270 * gst/check/gstcheck.c: (gst_check_message_error):
17271 * gst/check/gstcheck.h:
17272 add a fail_unless_equals_int
17273 add fail_unless for error messages
17275 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17277 * check/Makefile.am:
17279 * common/Makefile.am:
17280 * common/check.mak:
17282 factor out some of the common stuff so we can use it
17284 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17286 * check/Makefile.am:
17287 * check/gst/gstiterator.c: (GST_START_TEST):
17288 * check/gst/gstsystemclock.c: (GST_START_TEST),
17289 (gst_systemclock_suite):
17290 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17292 valgrind more tests
17294 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17296 * check/elements/.cvsignore:
17297 * check/elements/gstfakesrc.c:
17298 rename to name of element
17299 * check/elements/identity.c: (chain_func), (event_func),
17300 (setup_identity), (cleanup_identity), (GST_START_TEST),
17301 (identity_suite), (main):
17302 add a test for identity
17303 * check/Makefile.am:
17304 * pkgconfig/Makefile.am:
17305 * pkgconfig/gstreamer-check.pc.in:
17306 * pkgconfig/gstreamer-check-uninstalled.pc.in:
17310 move the check stuff to a library that gets installed
17311 * check/gst-libs/controller.c: (GST_START_TEST):
17312 * check/gst-libs/gdp.c:
17313 * check/gst/gst.c: (GST_START_TEST):
17314 * check/gst/gstbin.c:
17315 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17316 * check/gst/gstbus.c:
17317 * check/gst/gstcaps.c: (GST_START_TEST):
17318 * check/gst/gstelement.c:
17319 * check/gst/gstghostpad.c:
17320 * check/gst/gstiterator.c:
17321 * check/gst/gstmessage.c:
17322 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17323 * check/gst/gstobject.c:
17324 * check/gst/gstpad.c: (GST_START_TEST):
17325 * check/gst/gststructure.c: (GST_START_TEST):
17326 * check/gst/gstsystemclock.c: (GST_START_TEST),
17327 (gst_systemclock_suite):
17328 * check/gst/gsttag.c: (gst_tag_suite):
17329 * check/gst/gstvalue.c:
17330 * check/pipelines/cleanup.c:
17331 * check/pipelines/simple_launch_lines.c:
17332 * check/states/sinks.c:
17333 change include statement
17335 * docs/gst/gstreamer-sections.txt:
17336 * docs/gst/tmpl/gstpad.sgml:
17337 document more pad stuff
17338 * gst/gstminiobject.c: (gst_mini_object_ref),
17339 (gst_mini_object_unref):
17342 2005-08-19 Stefan Kost <ensonic@users.sf.net>
17344 * docs/gst/tmpl/gst.sgml:
17346 eliminate another tmpl file, fix spelling in the long-description
17348 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17350 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17351 (test_event), (timediff), (gstevents_suite):
17352 Should fix build on 64-bit arch's
17354 2005-08-18 Andy Wingo <wingo@pobox.com>
17356 Make sure that when a pipeline goes to PLAYING, that data has
17357 actually hit the sink.
17359 * check/states/sinks.c (test_sink): A sink that doesn't get any
17360 data shouldn't return SUCCESS for going to either PLAYING or
17361 PAUSED. Test also the return values on the way back down.
17363 * gst/gstelement.c (gst_element_set_state): When changing the
17364 state of an element currently changing state asynchronously, go to
17365 lost-state after commiting the pending state. Makes future calls
17366 to get_state continue to return ASYNC.
17368 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17369 ASYNC when going to PLAYING if we still don't have preroll, as can
17370 happen with live sources.
17372 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17374 * docs/pwg/advanced-types.xml:
17375 Hack long paragraph into 2 chunks as a workaround for buggy
17376 jadetex version in sid and breezy that loops infinitely and
17379 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17381 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17382 (test_event), (timediff), (gstevents_suite):
17383 Provide more error margin in clock measurements to allow for
17384 g_get_current_time inaccuracies.
17386 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17388 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17389 (test_event), (timediff), (gstevents_suite):
17390 Fix error message output so I might be able to tell why the
17391 test works here but fails on the build farm.
17393 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17395 * check/Makefile.am:
17396 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17397 (test_event), (timediff), (gstevents_suite), (main):
17400 * docs/design/part-seeking.txt:
17401 Spelling correction
17403 * docs/gst/tmpl/gstevent.sgml:
17404 * docs/gst/tmpl/gstfakesrc.sgml:
17407 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17408 Treat a buffer-without-newsegment the same as a receiving
17409 a newsegment not in time format, and disable syncing to the clock
17412 * gst/gstbus.c: (gst_bus_set_sync_handler):
17413 Assert if anyone tries to replace the existing sync_handler for bus,
17414 as only the owner should be setting it.
17417 Have a fixed set of custom event enums with events identified by
17418 their structure name (as in 0.8), rather than a free-for-all
17419 allowing collisions between enum values from different plugins.
17421 * gst/gstpad.c: (gst_pad_class_init):
17424 * gst/gstqueue.c: (gst_queue_handle_sink_event):
17425 Handle out-of-band downstream events from the sending thread.
17427 2005-08-17 Andy Wingo <wingo@pobox.com>
17429 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
17430 play-timeout==0 to mean no timeout at all. In that case, don't
17431 bother with a get_state or a warning, just return directly, even
17434 * gst/base/gstbasetransform.c: Debug changes.
17437 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
17438 ensure bins post state change messages. A bit of a hack but I can't
17439 think of a way to avoid it.
17441 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
17443 2005-08-16 Andy Wingo <wingo@pobox.com>
17445 * gst/base/gstadapter.h:
17446 * gst/base/gstadapter.c (gst_adapter_take): New function, like
17447 peek() but you own the data. Not terribly efficient atm.
17449 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17451 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
17452 (gst_element_found_tags):
17454 Add two utility functions for tag handling.
17456 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17458 * docs/manual/advanced-dataaccess.xml:
17459 * docs/manual/basics-helloworld.xml:
17460 Fix docs to use _bin_add() before _link(), which fixes the examples
17461 with recent core versions (reported by Madhan Raj M
17462 <raj_madan@rediffmail.com>, #313199).
17464 2005-08-16 Wim Taymans <wim@fluendo.com>
17466 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17467 Added subtract checks.
17469 * docs/design/part-events.txt:
17470 Some more docs about newsegment
17472 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17475 * gst/gstcaps.c: (gst_caps_to_string):
17476 Add comments, cleanups.
17478 * gst/gstelement.c: (gst_element_save_thyself):
17481 * gst/gstvalue.c: (gst_value_collect_int_range),
17482 (gst_string_unwrap), (gst_value_union_int_int_range),
17483 (gst_value_union_int_range_int_range),
17484 (gst_value_intersect_int_int_range),
17485 (gst_value_intersect_int_range_int_range),
17486 (gst_value_intersect_double_double_range),
17487 (gst_value_intersect_double_range_double_range),
17488 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
17489 (gst_value_subtract_int_range_int),
17490 (gst_value_subtract_double_range_double),
17491 (gst_value_subtract_double_range_double_range),
17492 (gst_value_subtract_from_list), (gst_value_subtract_list),
17493 (gst_value_can_compare), (gst_value_compare_fraction):
17494 Cleanups, add comments, remove unneeded asserts.
17496 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
17498 * tools/gst-launch.c: (event_loop):
17499 don't convert NULL structures to strings
17501 2005-08-15 Stefan Kost <ensonic@users.sf.net>
17503 * docs/gst/gstreamer-sections.txt:
17504 made some defines private
17505 * docs/gst/tmpl/gstconfig.sgml:
17506 * docs/gst/tmpl/gstqueue.sgml:
17507 * docs/gst/tmpl/gsttaglist.sgml:
17508 * docs/gst/tmpl/gsttypes.sgml:
17509 * docs/gst/tmpl/gstutils.sgml:
17510 * docs/pwg/appendix-porting.xml:
17511 * gst/base/gstbasesink.h:
17512 * gst/base/gstbasesrc.c:
17513 * gst/base/gstbasesrc.h:
17514 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
17515 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
17516 * gst/gstelement.c: (gst_element_class_init):
17517 * gst/gstpad.c: (gst_pad_class_init):
17518 * gst/gstqueue.c: (gst_queue_class_init):
17519 * gst/gstxml.c: (gst_xml_class_init):
17520 documented all undocumented signal inline
17521 * libs/gst/controller/gst-controller.h:
17524 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17526 * docs/pwg/appendix-porting.xml:
17527 Document _set_link_function -> _set_setcaps_function.
17529 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
17531 * check/Makefile.am:
17532 add a .check target for running the check
17533 * check/gst-libs/controller.c: (GST_START_TEST):
17535 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17536 complete checks for gstbuffer; would be nice if I could get the
17537 gcov stuff to work so I can see if I actually completed gstbuffer.c
17538 * check/gstcheck.h:
17539 add ASSERT_BUFFER_REFCOUNT
17541 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
17543 * docs/gst/gstreamer-sections.txt:
17544 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
17546 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
17547 spew out a warning if a tag that is already registered
17548 is re-registered, unless it is re-registered with a
17549 different type (#308438).
17551 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
17553 * docs/pwg/appendix-porting.xml:
17554 * docs/pwg/building-state.xml:
17555 Add some paragraphs about state changes in 0.9 to the PWG
17556 and the porting guide, in particular about the new meaning
17557 of GST_STATE_PAUSED and how to write state change functions
17558 with concurrent access by multiple threads in mind.
17560 2005-08-11 Stefan Kost <ensonic@users.sf.net>
17562 * docs/gst/gstreamer-docs.sgml:
17563 * docs/libs/gstreamer-libs-docs.sgml:
17564 added deprecation and since indexes
17565 * libs/gst/controller/gst-controller.c:
17566 * libs/gst/controller/gst-helper.c:
17570 2005-08-11 Wim Taymans <wim@fluendo.com>
17572 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
17573 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
17574 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
17575 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
17576 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
17577 (gst_ghost_pad_set_target):
17578 Actually implement (re)setting the target on a ghostpad
17579 as described in the docs.
17581 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
17583 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
17584 Check whether GST_DEBUG_NO_COLOR environment variable is
17585 set and disable coloured debug output if that is the case.
17587 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
17589 * gst/base/gsttypefindhelper.c: (helper_find_peek),
17590 (gst_type_find_helper):
17591 The memory returned by gst_type_find_peek() needs to
17592 stay valid until the end of a typefind function, and
17593 typefind functions may keep results from different
17594 offsets around, so we can't just unref the buffer from
17595 the previous _peek(), but have to save all buffers
17596 returned by _peek() until typefinding is done and only
17599 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
17601 * docs/gst/gstreamer-sections.txt:
17603 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
17605 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17607 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17608 Fix a pretty good memleak.
17610 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
17612 * gst/gstiterator.h:
17613 Fix wrong include and 'make distcheck'.
17615 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17617 * gst/gstbin.c: (bin_bus_handler):
17618 Use gst_element_post_message() instead.
17620 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
17622 * gst/base/gstadapter.h:
17623 * gst/base/gstbasesink.h:
17624 * gst/base/gstbasesrc.h:
17625 * gst/base/gstbasetransform.h:
17626 * gst/base/gstcollectpads.h:
17627 * gst/base/gstpushsrc.h:
17628 * gst/gstiterator.h:
17629 Add padding to our base elements' class and instance structs and
17630 to GstIterator (you will need to rebuild all plugins and apps!)
17632 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17634 * gst/gstbin.c: (bin_bus_handler):
17635 Make default message forwarding from child->bus to bin->bus
17636 threadsafe and make it not emit warnings if the parent has no bus.
17638 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17640 * gst/gstelement.c: (activate_pads):
17641 On paused->ready, set pad->caps to NULL, as is the documented
17642 behaviour in this state change. Fixes playback of series of
17643 media files when visualization is enabled in Totem.
17645 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17647 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17648 Allow NULL as filter-caps (which means "any").
17650 2005-08-05 Stefan Kost <ensonic@users.sf.net>
17652 * docs/libs/gstreamer-libs-sections.txt:
17653 * libs/gst/controller/gst-controller.c:
17654 * libs/gst/controller/gst-controller.h:
17655 * libs/gst/controller/gst-helper.c:
17656 adding more entries to the docs and fix small doc-bugs
17658 2005-08-05 Stefan Kost <ensonic@users.sf.net>
17660 * docs/gst/gstreamer-docs.sgml:
17661 * docs/gst/gstreamer-sections.txt:
17662 * docs/gst/gstreamer.types:
17663 * docs/gst/tmpl/gstbasesink.sgml:
17664 * docs/gst/tmpl/gstbasesrc.sgml:
17665 * docs/gst/tmpl/gstbasetransform.sgml:
17666 * docs/gst/tmpl/gstfakesrc.sgml:
17667 * gst/base/gstcollectpads.c:
17668 * gst/base/gstcollectpads.h:
17669 * libs/gst/controller/gst-controller.c:
17670 * libs/gst/controller/gst-controller.h:
17671 * libs/gst/controller/gst-helper.c:
17672 * libs/gst/controller/gst-interpolation.c:
17673 * libs/gst/controller/lib.c:
17674 added long/short desc for controller docs
17675 added collectpads base class docs
17676 added correct includes to base-class docs
17678 2005-08-05 Stefan Kost <ensonic@users.sf.net>
17680 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17681 (gst_test_mono_source_set_property),
17682 (gst_test_mono_source_class_init), (GST_START_TEST),
17683 (gst_controller_suite):
17684 * docs/gst/gstreamer-docs.sgml:
17685 * docs/gst/gstreamer-sections.txt:
17686 * docs/gst/gstreamer.types:
17687 * docs/libs/gstreamer-libs-docs.sgml:
17688 * docs/libs/gstreamer-libs-sections.txt:
17689 * gst/base/gstadapter.c:
17690 * libs/gst/controller/gst-controller.c:
17691 (gst_controlled_property_new), (gst_controlled_property_free),
17692 (gst_controller_new_valist),
17693 (gst_controller_remove_properties_valist),
17694 (gst_controller_sink_values), (_gst_controller_finalize):
17695 * libs/gst/controller/gst-controller.h:
17696 * libs/gst/controller/gst-helper.c:
17697 (gst_object_control_properties), (gst_object_uncontrol_properties),
17698 (gst_object_get_controller), (gst_object_set_controller),
17699 (gst_object_sink_values), (gst_object_get_value_arrays),
17700 (gst_object_get_value_array):
17701 more tests (and fixes) for the controller
17702 more docs for the controller
17703 integrated companies docs for the adapter
17705 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
17707 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
17708 (GST_START_TEST), (fakesrc_suite):
17709 add tests for sizetype
17711 2005-08-04 Andy Wingo <wingo@pobox.com>
17713 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
17714 fixes buffer_alloc proxying among other things.
17716 * gst/base/gstbasetransform.c:
17717 * gst/base/gstbasetransform.h:
17718 Revert patch to gstbasetransform from 7-28 removing
17721 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
17722 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
17723 Semantics changed, should return not the size of the output buffer
17724 but the byte size of a buffer with a given caps.
17726 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
17728 (gst_base_transform_configure_caps): Don't set out_size here: (in,
17729 out) are not the pad caps until setcaps finishes.
17730 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
17731 not-in-place case as well. Deal with changing from in-place to
17732 not-in-place within calling pad_alloc_buffer. Still a bit
17733 concerned about the overhead here...
17735 2005-08-03 Andy Wingo <wingo@pobox.com>
17737 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
17738 fixating is an error.
17740 2005-08-04 Edward Hervey <edward@fluendo.com>
17742 * gst/base/gstadapter.h:
17743 Added gst_adapter_get_type() to the header
17745 2005-08-03 Stefan Kost <ensonic@users.sf.net>
17747 * check/Makefile.am:
17748 * check/gst-libs/controller.c:
17749 * libs/gst/controller/gst-controller.c:
17750 (gst_controller_new_valist):
17751 added check test suite for the controller
17752 * gst/base/gstpushsrc.c:
17755 2005-08-03 Stefan Kost <ensonic@users.sf.net>
17757 * docs/gst/Makefile.am:
17758 * docs/gst/gstreamer-docs.sgml:
17759 * docs/gst/gstreamer-sections.txt:
17760 * docs/gst/gstreamer.types:
17761 * docs/gst/tmpl/gstfakesrc.sgml:
17763 * gst/base/gstbasesink.c:
17764 * gst/base/gstbasesink.h:
17765 * gst/base/gstbasesrc.c:
17766 * gst/base/gstbasesrc.h:
17767 * gst/base/gstbasetransform.c:
17768 * gst/base/gstpushsrc.c:
17769 * gst/base/gstpushsrc.h:
17770 add short/long description docs to base classes
17771 add pushsrc to the docs
17772 remove consolidated doc fragments
17774 2005-08-03 Stefan Kost <ensonic@users.sf.net>
17777 * docs/libs/Makefile.am:
17778 * docs/libs/gstreamer-libs-docs.sgml:
17779 * docs/libs/gstreamer-libs-sections.txt:
17780 * docs/libs/gstreamer-libs.types:
17781 * examples/Makefile.am:
17782 * examples/controller/.cvsignore:
17783 * examples/controller/Makefile.am:
17784 * examples/controller/audio-example.c: (main):
17785 * libs/gst/Makefile.am:
17786 * libs/gst/controller/.cvsignore:
17787 * libs/gst/controller/Makefile.am:
17788 * libs/gst/controller/gst-controller.c:
17789 (on_object_controlled_property_changed), (gst_timed_value_compare),
17790 (gst_timed_value_find),
17791 (gst_controlled_property_set_interpolation_mode),
17792 (gst_controlled_property_new), (gst_controlled_property_free),
17793 (gst_controller_find_controlled_property),
17794 (gst_controller_new_valist), (gst_controller_new),
17795 (gst_controller_remove_properties_valist),
17796 (gst_controller_remove_properties), (gst_controller_set),
17797 (gst_controller_set_from_list), (gst_controller_unset),
17798 (gst_controller_get), (gst_controller_get_all),
17799 (gst_controller_sink_values), (gst_controller_get_value_arrays),
17800 (gst_controller_get_value_array),
17801 (gst_controller_set_interpolation_mode),
17802 (_gst_controller_finalize), (_gst_controller_init),
17803 (_gst_controller_class_init), (gst_controller_get_type):
17804 * libs/gst/controller/gst-controller.h:
17805 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
17806 (g_object_uncontrol_properties), (g_object_get_controller),
17807 (g_object_set_controller), (g_object_sink_values),
17808 (g_object_get_value_arrays), (g_object_get_value_array):
17809 * libs/gst/controller/gst-interpolation.c:
17810 (gst_controlled_property_find_timed_value_node),
17811 (interpolate_none_get), (interpolate_trigger_get),
17812 (interpolate_trigger_get_value_array):
17813 * libs/gst/controller/lib.c: (gst_controller_init):
17814 * pkgconfig/Makefile.am:
17815 * pkgconfig/gstreamer-control-uninstalled.pc.in:
17816 * pkgconfig/gstreamer-control.pc.in:
17817 * testsuite/Makefile.am:
17818 * testsuite/controller/.cvsignore:
17819 * testsuite/controller/Makefile.am:
17820 * testsuite/controller/interpolator.c: (main):
17821 added controller code
17822 removed dparam pc files
17824 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
17825 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
17826 (gst_collectpads_stop):
17827 Broadcast the condition when shutting down, to make sure we wake all
17828 threads up. Shut down pads on finalize, for safety.
17830 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
17831 * gst/base/gstbasetransform.c: (gst_base_transform_init),
17832 (gst_base_transform_handle_buffer),
17833 (gst_base_transform_change_state):
17834 Handle PAUSED->READY->PAUSED transition after negotiation
17836 * gst/gstmessage.c: (gst_message_init):
17837 Extra piece of debug for new messages.
17839 2005-08-01 Stefan Kost <ensonic@users.sf.net>
17842 * docs/gst/tmpl/gstbasesrc.sgml:
17843 * docs/gst/tmpl/gstelement.sgml:
17844 * docs/gst/tmpl/gstevent.sgml:
17845 * docs/gst/tmpl/gstfakesrc.sgml:
17846 * docs/gst/tmpl/gstformat.sgml:
17847 * docs/gst/tmpl/gstghostpad.sgml:
17848 * docs/gst/tmpl/gstpad.sgml:
17849 * docs/gst/tmpl/gstquery.sgml:
17850 * docs/gst/tmpl/gststructure.sgml:
17851 * docs/gst/tmpl/gsttaglist.sgml:
17852 * docs/gst/tmpl/gstvalue.sgml:
17853 * docs/libs/gstreamer-libs-docs.sgml:
17854 * docs/libs/gstreamer-libs-sections.txt:
17855 * docs/libs/gstreamer-libs.types:
17856 * libs/gst/Makefile.am:
17857 * libs/gst/control/.cvsignore:
17858 * libs/gst/control/Makefile.am:
17859 * libs/gst/control/control.c:
17860 * libs/gst/control/control.h:
17861 * libs/gst/control/dparam.c:
17862 * libs/gst/control/dparam.h:
17863 * libs/gst/control/dparam_smooth.c:
17864 * libs/gst/control/dparam_smooth.h:
17865 * libs/gst/control/dparamcommon.h:
17866 * libs/gst/control/dparammanager.c:
17867 * libs/gst/control/dparammanager.h:
17868 * libs/gst/control/dplinearinterp.c:
17869 * libs/gst/control/dplinearinterp.h:
17870 * libs/gst/control/unitconvert.c:
17871 * libs/gst/control/unitconvert.h:
17872 * testsuite/Makefile.am:
17873 * testsuite/dynparams/.cvsignore:
17874 * testsuite/dynparams/Makefile.am:
17875 * testsuite/dynparams/dparamstest.c:
17876 * tools/Makefile.am:
17877 * tools/gst-inspect.c: (print_element_info), (main):
17878 * tools/gst-xmlinspect.c: (print_element_info), (main):
17879 deactivate and remove dparams (libgstcontrol)
17881 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
17883 * gst/elements/gsttypefindelement.c:
17884 (gst_type_find_element_have_type), (gst_type_find_element_init),
17885 (stop_typefinding), (gst_type_find_element_handle_event),
17886 (gst_type_find_element_chain), (gst_type_find_element_getrange):
17887 * gst/elements/gsttypefindelement.h:
17888 Set caps on all outgoing buffers, not just the first one.
17890 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
17892 * gst/elements/gsttypefindelement.c:
17893 (gst_type_find_element_have_type),
17894 (gst_type_find_element_check_set_buffer_caps),
17895 (gst_type_find_element_init), (stop_typefinding),
17896 (gst_type_find_element_handle_event),
17897 (gst_type_find_element_chain), (gst_type_find_element_getrange):
17898 * gst/elements/gsttypefindelement.h:
17899 Set caps on first outgoing buffer when we've found the type.
17901 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
17903 * docs/gst/gstreamer-docs.sgml:
17904 * docs/gst/gstreamer-sections.txt:
17905 * docs/gst/tmpl/gstscheduler.sgml:
17906 * docs/gst/tmpl/gstschedulerfactory.sgml:
17907 Remove some old cruft from docs.
17909 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
17912 Fix inline docs for GstPadLinkReturn.
17914 * gst/gststructure.c: (gst_structure_has_name):
17915 * gst/gststructure.h:
17916 * docs/gst/gstreamer-sections.txt:
17917 New API: gst_structure_has_name().
17919 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
17922 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
17923 and _LARGEFILE_SOURCE in config.h as required. Do not
17924 export those flags in our .pc files any longer (#142209).
17926 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
17928 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
17929 (gst_file_sink_do_seek), (gst_file_sink_event),
17930 (gst_file_sink_get_current_offset), (gst_file_sink_render):
17931 Redo seek/tell calls with large file support in mind; add some
17932 debugging messages; add log message that tells us when large
17933 file support is unavailable or not enabled for some reason.
17935 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
17936 Add log message that tells us when large file support
17937 is unavailable or not enabled for some reason.
17939 2005-07-29 Wim Taymans <wim@fluendo.com>
17941 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
17942 Added test for removing an element with ghostpad from a bin.
17943 Fixed test as current implementation does the right thing.
17945 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
17946 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
17947 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
17948 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
17949 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
17950 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
17951 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
17952 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
17953 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
17954 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
17955 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
17956 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
17957 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
17958 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
17959 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
17960 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
17961 * gst/gstghostpad.h:
17962 Clean up ghostpads, remove properties for internal stuff.
17965 Prepare for switching targets, not all use cases work yet.
17967 2005-07-29 Wim Taymans <wim@fluendo.com>
17969 * docs/design/part-gstghostpad.txt:
17972 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
17973 (gst_bin_remove_func):
17974 Unlinking pads while holding the bin LOCK is not a good
17977 * gst/gstpad.c: (gst_pad_class_init),
17978 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
17979 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
17980 No prob setting template after creating the pad.
17982 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
17984 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
17985 (gst_bus_peek), (gst_bus_source_dispatch),
17986 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
17987 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
17988 gst_bus_poll may be called from other threads. Handle
17989 this nicely by not making poll_data disappear off the
17990 stack once gst_bus_poll returns.
17991 gst_bus_peek now increments the refcount on the returned
17994 2005-07-29 Wim Taymans <wim@fluendo.com>
17996 * docs/design/part-gstghostpad.txt:
17997 Overview of current GhostPad datastructures and use
17998 cases for changing the target.
18000 2005-07-28 Wim Taymans <wim@fluendo.com>
18002 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18003 Added checks for hierarchy consistency whan adding linked
18006 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18007 Added check to test element scheduling without bin/pipeline.
18009 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18010 First add elements to bin, then link.
18012 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18013 (gst_bin_remove_func):
18014 Unlink pads from elements added/removed from bin to maintain
18015 hierarchy consistency.
18017 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18019 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18020 (gst_base_transform_handle_buffer):
18021 * gst/base/gstbasetransform.h:
18022 Remove broken delay_configure (fixes renegotiation of software
18023 scaling pipelines); remove some leftover printf()s.
18025 2005-07-28 Wim Taymans <wim@fluendo.com>
18027 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18028 Added some more tests for wrong hierarchy
18030 * docs/design/part-overview.txt:
18033 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18036 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18037 (gst_element_dispose):
18038 Some more cleanups.
18040 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18041 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18042 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18043 (gst_pad_set_caps), (gst_pad_send_event):
18044 Check for correct hierarchy when linking pads. Moving to
18045 strict requirement for ghostpads when linking elements in
18049 Clean ups. Added WRONG_HIERARCHY return value.
18051 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18053 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18054 Better debug if no transform is possible.
18056 2005-07-27 Wim Taymans <wim@fluendo.com>
18058 * docs/random/wtay/network-transp:
18059 Some old doc I had.
18061 2005-07-27 Wim Taymans <wim@fluendo.com>
18063 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18064 (gst_dp_event_from_packet):
18065 Fix serialization of seek events.
18067 2005-07-27 Wim Taymans <wim@fluendo.com>
18069 * check/gst-libs/gdp.c: (GST_START_TEST):
18070 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18071 Fix compilation and fix event serialization.
18073 2005-07-27 Wim Taymans <wim@fluendo.com>
18076 * docs/design/part-TODO.txt:
18077 * docs/design/part-events.txt:
18080 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18081 (gst_base_sink_event), (gst_base_sink_do_sync),
18082 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18083 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18084 (gst_base_src_do_seek), (gst_base_src_event_handler),
18085 (gst_base_src_loop):
18086 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18087 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18088 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18089 (gst_base_transform_event), (gst_base_transform_handle_buffer),
18090 (gst_base_transform_set_passthrough),
18091 (gst_base_transform_is_passthrough):
18092 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18093 * gst/elements/gstfilesink.c: (gst_file_sink_event):
18099 * gst/gstelement.c: (gst_element_seek):
18100 * gst/gstelement.h:
18101 Update gst_element_seek.
18103 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18104 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18105 (gst_event_new_flush_start), (gst_event_new_flush_stop),
18106 (gst_event_new_eos), (gst_event_new_newsegment),
18107 (gst_event_parse_newsegment), (gst_event_new_tag),
18108 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18109 (gst_event_parse_qos), (gst_event_new_seek),
18110 (gst_event_parse_seek), (gst_event_new_navigation):
18112 Make GstEvent use GstStructure. Add parsing code, make sure the
18113 API is sufficiently generic.
18114 Mark possible directions of events and serialization.
18116 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18117 (_gst_message_copy), (gst_message_new_segment_start),
18118 (gst_message_new_segment_done), (gst_message_new_custom),
18119 (gst_message_parse_segment_start),
18120 (gst_message_parse_segment_done):
18123 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18124 (gst_pad_set_caps), (gst_pad_send_event):
18125 Update for new events.
18126 Catch events sent in wrong directions.
18128 * gst/gstqueue.c: (gst_queue_link_src),
18129 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18130 (gst_queue_handle_src_query):
18135 Remove event code from this file.
18137 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18138 (gst_dp_event_from_packet):
18141 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18143 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18144 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18145 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18146 Make debugging actually useful.
18148 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18150 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18151 (gst_pad_fixate_caps):
18152 Implement default fixation once again, so that gst_pad_fixate()
18153 actually does anything at all. This probably needs to be some
18154 sort of a last resort, and use profile-based fixation first, but
18155 since that doesn't exist yet, this is the best we have. Fixes
18156 visualization in Totem.
18158 2005-07-22 Wim Taymans <wim@fluendo.com>
18160 * docs/design/part-events.txt:
18163 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18164 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18165 (gst_base_sink_activate_pull):
18166 Some more comments.
18168 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18169 (gst_fake_src_create):
18170 Fix handoff marshall.
18172 * gst/elements/gstidentity.c: (gst_identity_class_init),
18173 (gst_identity_transform_ip):
18174 We're a real inplace element.
18176 * gst/gstbus.c: (gst_bus_post):
18177 Added some comments.
18179 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18180 * tests/muxing/case1.c: (main):
18181 * tests/sched/dynamic-pipeline.c: (main):
18182 * tests/sched/interrupt1.c: (main):
18183 * tests/sched/interrupt2.c: (main):
18184 * tests/sched/interrupt3.c: (main):
18185 * tests/sched/runxml.c: (main):
18186 * tests/sched/sched-stress.c: (main):
18187 * tests/seeking/seeking1.c: (event_received), (main):
18188 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18190 * tests/threadstate/threadstate3.c: (main):
18191 * tests/threadstate/threadstate4.c: (main):
18192 * tests/threadstate/threadstate5.c: (main):
18195 2005-07-21 Wim Taymans <wim@fluendo.com>
18197 * docs/design/part-seeking.txt:
18198 Some small additions.
18200 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18201 (gst_base_sink_get_times), (gst_base_sink_do_sync),
18202 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18203 * gst/base/gstbasesink.h:
18204 discont values are gint64, handle the math correctly.
18206 * gst/base/gstbasesrc.c: (gst_base_src_loop):
18207 Make the basesrc report error if the source pad is not linked.
18209 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18210 (gst_queue_loop), (gst_queue_handle_src_query),
18211 (gst_queue_src_activate_push):
18212 Make queue collect data even if the srcpad is not linked.
18213 Start pushing out data as soon as it is linked.
18215 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18217 Added gst_flow_get_name() to ease error reporting.
18219 2005-07-20 Wim Taymans <wim@fluendo.com>
18221 * gst/gstmessage.c: (gst_message_new_segment_start),
18222 (gst_message_new_segment_done), (gst_message_parse_segment_start),
18223 (gst_message_parse_segment_done):
18224 * gst/gstmessage.h:
18225 Added a bunch of messages for advanced seeking.
18227 * gst/parse/grammar.y:
18228 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18229 (gst_dpman_state_changed):
18230 Fix some new-pad -> pad-added signals
18232 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18234 * docs/manual/appendix-porting.xml:
18235 * docs/pwg/appendix-porting.xml:
18236 Document new-pad/state-change signal renames and the FixedList
18239 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18241 * docs/manual/advanced-autoplugging.xml:
18242 * docs/manual/basics-helloworld.xml:
18243 * docs/manual/basics-pads.xml:
18244 * docs/random/ds/0.9-suggested-changes:
18245 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18246 * gst/gstelement.h:
18250 * gst/gststructure.c: (gst_structure_value_get_generic_type),
18251 (gst_structure_parse_array), (gst_structure_parse_value):
18252 * gst/gstvalue.c: (gst_type_is_fixed),
18253 (gst_value_list_prepend_value), (gst_value_list_append_value),
18254 (gst_value_list_get_size), (gst_value_list_get_value),
18255 (gst_value_transform_array_string), (gst_value_serialize_array),
18256 (gst_value_deserialize_array), (gst_value_intersect_array),
18257 (gst_value_is_fixed), (_gst_value_initialize):
18259 GstElement::new-pad -> pad-added, GstElement::state-change ->
18260 state-changed, GstValueFixedList -> GstValueArray, add format and
18261 flags as their own arguments in gst_element_seek() (should improve
18262 "bindeability"), remove function generators since they don't work
18263 under a whole bunch of compilers (they were deprecated already
18266 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18268 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18269 (_gst_debug_register_funcptr):
18271 Fix illegal cast on some platforms (#309253).
18273 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18275 * gst/gstmessage.c: (gst_message_new_custom):
18276 * gst/gstmessage.h:
18277 Add _new_custom, make _new_application a macro to _new_custom.
18279 2005-07-20 Wim Taymans <wim@fluendo.com>
18281 * gst/base/gstbasesrc.c: (gst_base_src_init),
18282 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18283 * gst/base/gstbasesrc.h:
18284 Add a gboolean to decide when to push out a discont.
18286 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18287 (gst_queue_loop), (gst_queue_handle_src_query),
18288 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18289 (gst_queue_set_property), (gst_queue_get_property):
18292 * tests/threadstate/threadstate1.c: (main):
18293 Make a thread test compile and run... very silly..
18296 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18298 * docs/manual/appendix-porting.xml:
18299 Mention removal of libgstgconf-0.9.la and existence of gconf
18302 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18304 * docs/pwg/advanced-clock.xml:
18305 * docs/pwg/appendix-porting.xml:
18306 * docs/pwg/intro-preface.xml:
18307 * docs/pwg/other-base.xml:
18308 * docs/pwg/other-manager.xml:
18309 * docs/pwg/other-nton.xml:
18310 * docs/pwg/other-ntoone.xml:
18311 * docs/pwg/other-oneton.xml:
18312 * docs/pwg/pwg.xml:
18313 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18314 demuxer), remove n-to-n (was never written), fix some code examples
18315 and links and update the porting section to include all this.
18317 2005-07-19 Wim Taymans <wim@fluendo.com>
18319 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18320 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18321 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18322 (gst_queue_src_activate_push), (gst_queue_change_state),
18323 (gst_queue_get_property):
18325 Propagate GstFlowReturn more intelligently upstream and output
18326 an ERROR/EOS when streaming stopped due to fatal error.
18328 2005-07-19 Wim Taymans <wim@fluendo.com>
18330 * tools/gst-launch.c: (check_intr), (event_loop), (main):
18331 Don't block forever for the state change to complete, the
18332 pipeline already did with a sensible timeout.
18334 2005-07-19 Wim Taymans <wim@fluendo.com>
18336 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18337 Make sure we never call the create function is we
18340 2005-07-19 Andy Wingo <wingo@pobox.com>
18342 * gst/parse/parse.l: Attempt to solve bug #172815.
18344 2005-07-19 Wim Taymans <wim@fluendo.com>
18346 * docs/design/part-clocks.txt:
18347 * docs/design/part-events.txt:
18348 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18349 Small docs updates.
18350 Only update the seeking values when we are not
18353 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
18355 * gst/base/gstbasesrc.c: (gst_base_src_loop):
18356 Oops, ignore the result of gst_pad_push_event here.
18358 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
18360 * gst/base/gstbasesrc.c: (gst_base_src_loop),
18361 (gst_base_src_activate_push):
18362 Send discont event from the loop function, as pads
18363 aren't activated yet in the activate_push handler.
18365 * gst/gstbin.c: (bin_bus_handler):
18366 Don't leak element name.
18368 2005-07-18 Andy Wingo <wingo@pobox.com>
18370 * configure.ac: Use AS_LIBTOOL_TAGS.
18372 2005-07-18 Wim Taymans <wim@fluendo.com>
18374 * docs/gst/gstreamer.types:
18375 Remove deleted types.
18377 2005-07-18 Wim Taymans <wim@fluendo.com>
18379 * check/elements/gstfakesrc.c: (GST_START_TEST):
18382 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18383 (init_popt_callback):
18385 * gst/gst_private.h:
18386 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18387 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18390 * gst/gstconfig.h.in:
18391 * gst/gstelement.c: (gst_element_class_init),
18392 (gst_element_set_base_time), (gst_element_get_base_time),
18393 (iterator_fold_with_resync), (gst_element_change_state),
18394 (gst_element_dispose), (gst_element_get_bus):
18395 * gst/gstelement.h:
18396 * gst/gstelementfactory.h:
18397 * gst/gsterror.c: (_gst_core_errors_init):
18400 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18402 * gst/gstinfo.c: (_gst_debug_init):
18403 * gst/gstmessage.c: (_gst_message_copy):
18404 * gst/gstmessage.h:
18405 * gst/gstminiobject.h:
18408 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18409 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
18412 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
18413 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18414 (gst_pipeline_get_last_stream_time):
18415 * gst/gstpipeline.h:
18416 * gst/gstpluginfeature.h:
18418 * gst/gstscheduler.c:
18419 * gst/gstscheduler.h:
18420 * gst/gststructure.h:
18421 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18422 (gst_task_finalize), (gst_task_func), (gst_task_create),
18423 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
18424 (gst_task_stop), (gst_task_pause):
18426 * gst/gsttypefind.h:
18428 * gst/registries/gstlibxmlregistry.c: (load_feature),
18429 (gst_xml_registry_load), (gst_xml_registry_save_feature):
18430 * gst/registries/gstxmlregistry.c:
18431 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
18432 * gst/schedulers/threadscheduler.c:
18433 * libs/gst/control/dparammanager.h:
18434 * tools/gst-inspect.c: (print_element_list),
18435 (print_plugin_features), (print_element_features):
18436 * tools/gst-xmlinspect.c: (print_element_list),
18437 (print_plugin_info), (main):
18438 Removed plugable schedulers.
18439 Removed Scheduler/Manager from elements.
18440 Removed gsttypes.h, rearranged includes.
18441 Removed dependency pad<->element, element<>pipeline, and
18442 various others, fix includes.
18443 implement gst_pad_get_parent() with gst_object_get_parent()
18444 Make GstTask sefcontained.
18445 Fix _get_state() on GstBin, it did not return ASYNC with a 0
18447 Fix endless loop in iterator_fold_with_resync.
18450 2005-07-18 Wim Taymans <wim@fluendo.com>
18456 2005-07-18 Wim Taymans <wim@fluendo.com>
18459 No more cothreads.h
18461 2005-07-18 Wim Taymans <wim@fluendo.com>
18465 Let's remove these.
18467 2005-07-18 Wim Taymans <wim@fluendo.com>
18469 * docs/design/part-dynamic.txt:
18470 * docs/design/part-events.txt:
18471 * docs/design/part-seeking.txt:
18472 Some more docs in the works.
18474 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18475 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
18476 (gst_base_transform_setcaps), (gst_base_transform_get_size),
18477 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18478 (gst_base_transform_handle_buffer),
18479 (gst_base_transform_sink_activate_push),
18480 (gst_base_transform_src_activate_pull),
18481 (gst_base_transform_set_passthrough),
18482 (gst_base_transform_is_passthrough):
18485 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
18488 * gst/gstevent.c: (gst_event_finalize):
18491 * gst/gstutils.c: (gst_element_unlink),
18492 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
18493 (gst_pad_proxy_setcaps):
18495 Add _get_parent_element() to get a pads parent as an element.
18497 2005-07-18 Wim Taymans <wim@fluendo.com>
18499 * check/gst/gstbin.c: (GST_START_TEST):
18502 2005-07-18 Wim Taymans <wim@fluendo.com>
18504 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18505 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18506 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
18507 (gst_base_sink_event), (gst_base_sink_do_sync),
18508 (gst_base_sink_chain), (gst_base_sink_loop),
18509 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
18510 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18512 Fix logic for returning ASYNC when not prerolled.
18514 2005-07-18 Wim Taymans <wim@fluendo.com>
18516 * gst/gstqueue.c: (gst_queue_handle_sink_event):
18517 Fix nasty refcount bug.
18519 2005-07-16 Philippe Khalaf <burger@speedy.org>
18521 * gst/elements/gstfdsrc.c:
18522 * gst/elements/gstfdsrc.h:
18523 * gst/elements/gstelements.c:
18524 * gst/elements/Makefile.am:
18525 Ported fdsrc to 0.9.
18527 2005-07-16 Wim Taymans <wim@fluendo.com>
18529 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18530 (gst_base_sink_do_sync):
18533 2005-07-16 Wim Taymans <wim@fluendo.com>
18535 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18536 (gst_base_sink_event), (gst_base_sink_get_times),
18537 (gst_base_sink_do_sync), (gst_base_sink_change_state):
18538 * gst/base/gstbasesink.h:
18539 Store and use discont values when syncing buffers as described
18542 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18543 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
18544 (gst_base_src_activate_push):
18545 Push discont event when starting.
18547 * gst/elements/gstidentity.c: (gst_identity_transform):
18550 * gst/gstbin.c: (gst_bin_change_state):
18551 Small cleanups in base_time distribution.
18553 * gst/gstelement.c: (gst_element_set_base_time),
18554 (gst_element_get_base_time), (gst_element_change_state):
18555 * gst/gstelement.h:
18556 Added methods for the base_time of the element.
18559 * gst/gstpipeline.c: (gst_pipeline_send_event),
18560 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18561 (gst_pipeline_get_last_stream_time):
18562 * gst/gstpipeline.h:
18564 Handle seeking as described in design doc, remove stream_time
18566 Cleanups clock and stream_time selection code. Added accessors
18567 for the stream_time.
18570 2005-07-16 Andy Wingo <wingo@pobox.com>
18572 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
18575 2005-07-16 Wim Taymans <wim@fluendo.com>
18577 * check/gst/gstbin.c: (GST_START_TEST):
18578 Make elements silent as the deep_notify refs the
18579 parent, which might make the test fail.
18581 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18582 Don't hold the lock for too long.
18584 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
18586 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18587 Don't unref the caps we passed to gst_caps_make_writable() after
18588 passing them. gst_caps_make_writable() will do that for us.
18590 2005-07-15 Andy Wingo <wingo@pobox.com>
18592 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
18595 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
18596 own marshalling function for the handoff signal. Properly type the
18597 buffer as a buffer. Fixes some warnings. Should do a more general
18599 (gst_identity_class_init): Plug into the right marshaller.
18601 2005-07-15 Wim Taymans <wim@fluendo.com>
18603 * docs/design/part-TODO.txt:
18604 * docs/design/part-clocks.txt:
18605 * docs/design/part-element-sink.txt:
18606 * docs/design/part-events.txt:
18607 * docs/design/part-gstpipeline.txt:
18608 Updated docs, mostly DISCONT related.
18610 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
18612 * docs/pwg/building-pads.xml:
18613 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
18615 2005-07-15 Andy Wingo <wingo@pobox.com>
18617 * tools/gst-typefind.c: Update, add copyright block.
18619 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
18620 Normalize and truncate caps before fixation.
18623 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
18624 discards all but the first structure from its argument.
18626 2005-07-15 Wim Taymans <wim@fluendo.com>
18628 * gst/base/gstbasetransform.c: (gst_base_transform_init),
18629 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
18630 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18631 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18632 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
18633 (gst_base_transform_chain), (gst_base_transform_change_state),
18634 (gst_base_transform_set_passthrough),
18635 (gst_base_transform_is_passthrough):
18636 * gst/base/gstbasetransform.h:
18637 Make passthrough work using the bufferpools.
18638 Changed API a bit, subclasses have to write into a buffer
18639 provided by the base class.
18640 More debug info in nego functions.
18642 * gst/elements/gstidentity.c: (gst_identity_init),
18643 (gst_identity_transform):
18644 Port to new base class.
18646 2005-07-15 Wim Taymans <wim@fluendo.com>
18648 * gst/gstmessage.c: (gst_message_new_state_changed):
18649 * tools/gst-launch.c: (event_loop), (main):
18650 Totally dump messages in -launch with the -m option.
18651 Fix message name for State messages,
18653 2005-07-14 Wim Taymans <wim@fluendo.com>
18655 * gst/base/gstbasesrc.c: (gst_base_src_loop):
18656 Post error messages on errors.
18658 2005-07-14 Wim Taymans <wim@fluendo.com>
18660 * gst/gstcaps.c: (gst_caps_do_simplify):
18664 Define error for stream stopped.
18666 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
18667 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
18668 Do proper return values.
18670 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18671 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
18672 (gst_pad_get_range):
18673 Better return values.
18676 Reorganise return values, add macro to check for fatal errors.
18678 * gst/gstqueue.c: (gst_queue_chain):
18679 Return proper GstFlowReturn values,
18681 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
18683 * docs/gst/gstreamer-sections.txt:
18684 * docs/gst/gstreamer.types:
18685 * docs/gst/tmpl/gst.sgml:
18686 * docs/gst/tmpl/gstbasesink.sgml:
18687 * docs/gst/tmpl/gstbasesrc.sgml:
18688 * docs/gst/tmpl/gstbasetransform.sgml:
18689 * docs/gst/tmpl/gstbin.sgml:
18690 * docs/gst/tmpl/gstbuffer.sgml:
18691 * docs/gst/tmpl/gstcaps.sgml:
18692 * docs/gst/tmpl/gstclock.sgml:
18693 * docs/gst/tmpl/gstcompat.sgml:
18694 * docs/gst/tmpl/gstconfig.sgml:
18695 * docs/gst/tmpl/gstelement.sgml:
18696 * docs/gst/tmpl/gstelementdetails.sgml:
18697 * docs/gst/tmpl/gstelementfactory.sgml:
18698 * docs/gst/tmpl/gstenumtypes.sgml:
18699 * docs/gst/tmpl/gsterror.sgml:
18700 * docs/gst/tmpl/gstevent.sgml:
18701 * docs/gst/tmpl/gstfakesink.sgml:
18702 * docs/gst/tmpl/gstfakesrc.sgml:
18703 * docs/gst/tmpl/gstfilesink.sgml:
18704 * docs/gst/tmpl/gstfilesrc.sgml:
18705 * docs/gst/tmpl/gstfilter.sgml:
18706 * docs/gst/tmpl/gstformat.sgml:
18707 * docs/gst/tmpl/gstghostpad.sgml:
18708 * docs/gst/tmpl/gstimplementsinterface.sgml:
18709 * docs/gst/tmpl/gstindex.sgml:
18710 * docs/gst/tmpl/gstindexfactory.sgml:
18711 * docs/gst/tmpl/gstinfo.sgml:
18712 * docs/gst/tmpl/gstiterator.sgml:
18713 * docs/gst/tmpl/gstmacros.sgml:
18714 * docs/gst/tmpl/gstmemchunk.sgml:
18715 * docs/gst/tmpl/gstminiobject.sgml:
18716 * docs/gst/tmpl/gstobject.sgml:
18717 * docs/gst/tmpl/gstpad.sgml:
18718 * docs/gst/tmpl/gstpadtemplate.sgml:
18719 * docs/gst/tmpl/gstparse.sgml:
18720 * docs/gst/tmpl/gstpipeline.sgml:
18721 * docs/gst/tmpl/gstplugin.sgml:
18722 * docs/gst/tmpl/gstpluginfeature.sgml:
18723 * docs/gst/tmpl/gstquery.sgml:
18724 * docs/gst/tmpl/gstqueue.sgml:
18725 * docs/gst/tmpl/gstregistry.sgml:
18726 * docs/gst/tmpl/gstregistrypool.sgml:
18727 * docs/gst/tmpl/gstscheduler.sgml:
18728 * docs/gst/tmpl/gstschedulerfactory.sgml:
18729 * docs/gst/tmpl/gststructure.sgml:
18730 * docs/gst/tmpl/gstsystemclock.sgml:
18731 * docs/gst/tmpl/gsttaglist.sgml:
18732 * docs/gst/tmpl/gsttagsetter.sgml:
18733 * docs/gst/tmpl/gsttrace.sgml:
18734 * docs/gst/tmpl/gsttrashstack.sgml:
18735 * docs/gst/tmpl/gsttypefind.sgml:
18736 * docs/gst/tmpl/gsttypefindfactory.sgml:
18737 * docs/gst/tmpl/gsttypes.sgml:
18738 * docs/gst/tmpl/gsturihandler.sgml:
18739 * docs/gst/tmpl/gsturitype.sgml:
18740 * docs/gst/tmpl/gstutils.sgml:
18741 * docs/gst/tmpl/gstvalue.sgml:
18742 * docs/gst/tmpl/gstversion.sgml:
18743 * docs/gst/tmpl/gstxml.sgml:
18744 * docs/libs/tmpl/gstcontrol.sgml:
18745 * docs/libs/tmpl/gstdataprotocol.sgml:
18746 * docs/libs/tmpl/gstdparam.sgml:
18747 * docs/libs/tmpl/gstdplinint.sgml:
18748 * docs/libs/tmpl/gstdpman.sgml:
18749 * docs/libs/tmpl/gstdpsmooth.sgml:
18750 * docs/libs/tmpl/gstgetbits.sgml:
18751 * docs/libs/tmpl/gstunitconvert.sgml:
18752 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
18753 (gst_push_src_base_init), (gst_push_src_class_init),
18754 (gst_push_src_init), (gst_push_src_create):
18755 * gst/base/gstpushsrc.h:
18756 * gst/elements/gstelements.c:
18757 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
18758 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
18759 (gst_fake_sink_init), (gst_fake_sink_set_property),
18760 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
18761 (gst_fake_sink_event), (gst_fake_sink_preroll),
18762 (gst_fake_sink_render), (gst_fake_sink_change_state):
18763 * gst/elements/gstfakesink.h:
18764 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
18765 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
18766 (gst_fake_src_base_init), (gst_fake_src_class_init),
18767 (gst_fake_src_init), (gst_fake_src_event_handler),
18768 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
18769 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
18770 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
18771 (gst_fake_src_create_buffer), (gst_fake_src_create),
18772 (gst_fake_src_start), (gst_fake_src_stop):
18773 * gst/elements/gstfakesrc.h:
18774 * gst/elements/gstfilesink.c: (_do_init),
18775 (gst_file_sink_base_init), (gst_file_sink_class_init),
18776 (gst_file_sink_init), (gst_file_sink_dispose),
18777 (gst_file_sink_set_location), (gst_file_sink_set_property),
18778 (gst_file_sink_get_property), (gst_file_sink_open_file),
18779 (gst_file_sink_close_file), (gst_file_sink_query),
18780 (gst_file_sink_event), (gst_file_sink_render),
18781 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
18782 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
18783 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
18784 * gst/elements/gstfilesink.h:
18785 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
18786 (gst_file_src_class_init), (gst_file_src_init),
18787 (gst_file_src_finalize), (gst_file_src_set_location),
18788 (gst_file_src_set_property), (gst_file_src_get_property),
18789 (gst_file_src_map_region), (gst_file_src_map_small_region),
18790 (gst_file_src_create_mmap), (gst_file_src_create_read),
18791 (gst_file_src_create), (gst_file_src_is_seekable),
18792 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
18793 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
18794 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
18795 (gst_file_src_uri_handler_init):
18796 * gst/elements/gstfilesrc.h:
18797 more autistic cleanliness in functions/names/defines
18799 2005-07-13 Andy Wingo <wingo@pobox.com>
18801 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
18802 source couldn't negotiate.
18804 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
18808 * gst/gstutils.c (gst_element_link_pads_filtered): New old
18809 function. I am channeling Hades. Put your boots on suckers!!!
18811 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
18813 * testsuite/caps/Makefile.am:
18814 * testsuite/caps/value_compare.c:
18815 * testsuite/caps/value_intersect.c:
18816 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18817 move two testsuite apps over to the check dir
18819 2005-07-12 Wim Taymans <wim@fluendo.com>
18821 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18822 Added more debug info in the negotiate process.
18824 * gst/gstmessage.h:
18825 Prepare for segment playback.
18827 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
18833 * tools/gst-launch.c: (main):
18834 NULL pipeline on errors.
18836 2005-07-12 Andy Wingo <wingo@pobox.com>
18838 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
18839 not it comes from a malloc region. Make sure our copy gets freed.
18841 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
18843 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18844 * check/gst/gstmessage.c: (GST_START_TEST):
18845 * check/gst/gststructure.c: (GST_START_TEST),
18846 (gst_structure_suite), (main):
18848 * gst/gstelement.c: (gst_element_message_full):
18849 clean up GError and debug string now that they get copied
18850 * gst/gstmessage.c: (gst_message_new_error),
18851 (gst_message_new_warning), (gst_message_parse_error),
18852 (gst_message_parse_warning):
18853 use GST_TYPE_G_ERROR for structure_new, and take copies of
18854 arguments, so that we don't mess up refcounting
18856 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
18858 * check/Makefile.am:
18859 add per-test valgrind targets
18860 * check/gst-libs/gdp.c: (GST_START_TEST),
18861 (gst_data_protocol_suite), (main):
18864 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
18866 * check/Makefile.am:
18867 instate more valgrindable tests
18868 * check/elements/gstfakesrc.c: (chain_func), (event_func),
18869 (GST_START_TEST), (fakesrc_suite):
18870 * check/gst/gstpad.c: (GST_START_TEST):
18871 * check/gst/gststructure.c: (GST_START_TEST):
18873 * docs/gst/tmpl/gstminiobject.sgml:
18874 * gst/gstpad.c: (gst_pad_finalize):
18875 fix the static mutex leak
18877 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
18879 * check/Makefile.am:
18880 add two more tests for valgrinding
18881 * check/gst/gstvalue.c: (GST_START_TEST):
18882 test refcount of deserialized buffer, found a leak
18883 * docs/gst/gstreamer-docs.sgml:
18884 * docs/gst/gstreamer-sections.txt:
18885 * docs/gst/gstreamer.types:
18886 * docs/gst/tmpl/gstminiobject.sgml:
18887 add miniobject to docs
18888 * gst/gstminiobject.c:
18890 * gst/gstvalue.c: (gst_value_deserialize_buffer),
18891 (gst_string_unwrap):
18892 fix a hard-to-find invalid write for one of the tests
18893 fix a leak for deserialized buffers
18895 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18897 * docs/pwg/advanced-events.xml:
18898 * docs/pwg/advanced-request.xml:
18899 * docs/pwg/advanced-scheduling.xml:
18900 * docs/pwg/appendix-porting.xml:
18901 * docs/pwg/building-boiler.xml:
18902 * docs/pwg/intro-preface.xml:
18903 * docs/pwg/other-ntoone.xml:
18904 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
18905 of example code and explanation for pad activation, loop() and
18906 getrange() functions and a bit more. Remove old comments pointing
18908 * examples/pwg/Makefile.am:
18909 Add loop/getrange examples.
18911 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
18914 check for valgrind binary + some fixes
18916 valgrind suppressions for the tests
18917 * check/Makefile.am:
18918 add a valgrind: target that valgrinds the unit tests
18919 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
18920 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
18921 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18922 * check/gst/gstghostpad.c:
18924 * check/gst/gstdata.c:
18926 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
18927 (thread_unref), (gst_mini_object_suite), (main):
18929 * gst/gst.c: (gst_deinit):
18931 add a method to clean up.
18932 * gst/gstsystemclock.c: (gst_system_clock_dispose),
18933 (gst_system_clock_obtain):
18934 allow for disposing the system clock.
18935 * tools/gst-launch.c: (main):
18938 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
18940 * docs/gst/tmpl/gstbasesrc.sgml:
18941 * docs/gst/tmpl/gstfakesrc.sgml:
18942 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18943 (gst_base_src_init), (gst_base_src_set_property),
18944 (gst_base_src_get_property), (gst_base_src_get_range),
18945 (gst_base_src_start):
18946 * gst/base/gstbasesrc.h:
18947 add num-buffers property
18948 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18949 (gst_fakesrc_init), (gst_fakesrc_set_property),
18950 (gst_fakesrc_get_property), (gst_fakesrc_create),
18951 (gst_fakesrc_start):
18952 remove num-buffers property
18954 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
18956 * docs/gst/gstreamer-sections.txt:
18957 * docs/gst/tmpl/gstbasesink.sgml:
18958 * docs/gst/tmpl/gstbasesrc.sgml:
18959 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18960 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18961 (gst_base_sink_finalize), (gst_base_sink_set_clock),
18962 (gst_base_sink_set_property), (gst_base_sink_get_property),
18963 (gst_base_sink_handle_object), (gst_base_sink_event),
18964 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
18965 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
18966 (gst_base_sink_loop), (gst_base_sink_deactivate),
18967 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
18968 (gst_base_sink_change_state):
18969 * gst/base/gstbasesink.h:
18970 * gst/base/gstbasesrc.h:
18971 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
18972 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18973 (gst_filesink_init):
18974 more macro splitting
18976 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
18978 * gst/gstelement.c: (gst_element_get_bus):
18980 * tools/gst-launch.c: (check_intr), (event_loop):
18983 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
18985 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
18988 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
18990 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18991 (gst_base_src_finalize):
18992 add finalize method and clean up properly
18993 * gst/gstpipeline.c: (gst_pipeline_dispose):
18996 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
18998 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19000 add more things to check
19001 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19002 * gst/gstelement.c:
19005 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
19007 * check/elements/gstfakesrc.c: (chain_func), (event_func),
19008 (GST_START_TEST), (fakesrc_suite):
19009 * check/gst-libs/gdp.c: (GST_START_TEST):
19010 * check/gst/gst.c: (GST_START_TEST):
19011 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19012 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19013 * check/gst/gstbus.c: (GST_START_TEST):
19014 * check/gst/gstcaps.c: (GST_START_TEST):
19015 * check/gst/gstdata.c: (GST_START_TEST):
19016 * check/gst/gstelement.c: (GST_START_TEST):
19017 * check/gst/gstghostpad.c: (GST_START_TEST):
19018 * check/gst/gstiterator.c: (GST_START_TEST):
19019 * check/gst/gstmessage.c: (GST_START_TEST):
19020 * check/gst/gstobject.c: (GST_START_TEST):
19021 * check/gst/gstpad.c: (GST_START_TEST):
19022 * check/gst/gststructure.c: (GST_START_TEST):
19023 * check/gst/gstsystemclock.c: (GST_START_TEST),
19024 (gst_systemclock_suite):
19025 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19026 * check/gst/gstvalue.c: (GST_START_TEST):
19027 * check/pipelines/cleanup.c: (GST_START_TEST):
19028 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19029 * check/states/sinks.c: (GST_START_TEST):
19030 * check/gstcheck.c: (gst_check_init):
19031 * check/gstcheck.h:
19032 add debugging category
19033 use GST_START_TEST now, so we add a debug line
19035 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
19037 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19038 add test for state change message on a bin
19039 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19041 * gst/gstbin.c: (gst_bin_init):
19042 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19043 * gst/gstelement.c: (gst_element_post_message),
19044 (gst_element_set_state):
19045 * gst/gstelementfactory.c: (gst_element_factory_create):
19046 * gst/gstmessage.c: (gst_message_new):
19047 * gst/gstscheduler.c:
19048 various debugging additions and cleanups
19050 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19052 * check/Makefile.am:
19053 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19055 adding tests for elements
19056 * gst/gstelement.c: (gst_element_dispose):
19058 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19060 * gst/registries/gstlibxmlregistry.c: (load_feature):
19061 plug more leaks. A simple gst_init() now is leakfree, yay.
19063 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19065 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19066 (gst_xml_registry_load):
19067 plug another memleak
19069 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19072 use GST_SET_ERROR_CFLAGS
19073 * docs/faq/cvs.xml:
19074 change to ERROR_CFLAGS
19076 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19079 make GST_ERROR_CFLAGS overridable and re-enable Werror
19080 * docs/faq/cvs.xml:
19081 add a note about error CFLAGS
19082 * docs/gst/tmpl/gstfakesrc.sgml:
19083 * gst/elements/gstfakesrc.c:
19084 comment out some unused code
19085 * gst/gst.c: (split_and_iterate):
19086 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19090 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
19092 * common/Makefile.am:
19093 * common/gtk-doc.mak:
19094 * docs/gst/Makefile.am:
19095 factor out gtk-doc.mak
19097 2005-07-07 Wim Taymans <wim@fluendo.com>
19099 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19100 (gst_thread_scheduler_dispose):
19101 Unlock the STREAM_LOCK completely.
19103 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
19105 * check/Makefile.am:
19106 * check/elements/.cvsignore:
19107 * check/elements/gstfakesrc.c: (chain_func), (event_func),
19108 (START_TEST), (fakesrc_suite), (main):
19109 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19110 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19111 (gst_fakesrc_create), (gst_fakesrc_start):
19112 * gst/elements/gstfakesrc.h:
19113 adding a first element test
19115 2005-07-07 Andy Wingo <wingo@pobox.com>
19117 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19120 2005-07-07 Wim Taymans <wim@fluendo.com>
19126 2005-07-07 Wim Taymans <wim@fluendo.com>
19128 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19129 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19130 Allow subclasses to implement their own negotiation.
19132 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
19134 * docs/design/part-gstbin.txt:
19135 * docs/design/part-gstpipeline.txt:
19136 Update design notes to reflect the movement of
19137 responsibility for bus handling from GstPipeline to
19140 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
19143 Remove unnecessary queue2/3/4 examples.
19145 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
19147 * examples/Makefile.am:
19148 * examples/helloworld/helloworld.c: (event_loop), (main):
19149 * examples/queue/queue.c: (event_loop), (main):
19150 * examples/queue2/queue2.c: (main):
19151 Update a couple of the examples to work again.
19153 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19154 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19155 Spelling corrections and extra debug.
19157 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19158 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19159 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19161 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19162 (gst_pipeline_change_state):
19163 * gst/gstpipeline.h:
19164 Move the bus handler for children to the GstBin, and create a
19165 separate bus for receiving messages from children to the one the
19166 bus sends 'upwards' on.
19168 2005-07-06 Wim Taymans <wim@fluendo.com>
19171 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19172 (gst_base_sink_handle_object), (gst_base_sink_loop),
19173 (gst_base_sink_change_state):
19174 * gst/base/gstbasesink.h:
19175 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19176 (gst_base_src_init), (gst_base_src_setcaps),
19177 (gst_base_src_getcaps), (gst_base_src_loop),
19178 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19179 (gst_base_src_start), (gst_base_src_change_state):
19180 * gst/base/gstbasesrc.h:
19181 Make basesrc negotiate.
19182 Handle the case where preroll fails in basesink.
19185 2005-07-06 Wim Taymans <wim@fluendo.com>
19187 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19188 Implement the fixate function.
19189 Clean up acceptcaps.
19191 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19193 * docs/pwg/building-filterfactory.xml:
19194 * docs/pwg/pwg.xml:
19195 Remove never-written filter-factory chapter; I'll add the various
19196 base classes to part 4 ("other element types") later on.
19198 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19200 * docs/pwg/advanced-negotiation.xml:
19201 * docs/pwg/building-boiler.xml:
19202 * docs/pwg/building-pads.xml:
19203 * docs/pwg/pwg.xml:
19204 * examples/pwg/Makefile.am:
19205 Add a chapter on caps negotiation, simplify the original code
19206 samples a bit w.r.t. caps negotiation, add link to the advanced
19207 section. Add a bunch of examples showing different use cases of
19208 different types of caps negotiation. Upstream renegotiation isn't
19209 fully documented yet since nobody knows how that works.
19211 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
19213 * check/gst/gstpad.c:
19214 * check/gstcheck.c:
19215 * gst/gstpad.c: (gst_pad_get_internal_links_default):
19216 if pad has no parent, return NULL as list of internal links
19218 2005-07-05 Andy Wingo <wingo@pobox.com>
19220 * gst/elements/gstfilesrc.c:
19221 * gst/elements/gstfakesrc.c:
19222 * gst/base/gstpushsrc.c:
19223 * gst/base/gstbasesrc.h:
19224 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19226 2005-07-05 Stefan Kost <ensonic@users.sf.net>
19229 better report generation target (lcov needs a patch)
19231 2005-07-05 Andy Wingo <wingo@pobox.com>
19233 * gst/elements, testsuite: Null if we got it...
19235 2005-07-05 Wim Taymans <wim@fluendo.com>
19238 * libs/gst/dataprotocol/Makefile.am:
19239 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19240 * libs/gst/dataprotocol/dataprotocol.h:
19241 * pkgconfig/Makefile.am:
19242 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19243 * pkgconfig/gstreamer-dataprotocol.pc.in:
19244 Ported dataprotol to 0.9.
19245 Added pkgconfig files.
19247 2005-07-05 Andy Wingo <wingo@pobox.com>
19249 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19250 Default to returning TRUE for the case when tranform_caps returns
19251 a fixed caps, like for identity or volume.
19253 * check/gst/gstbus.c (pound_bus_with_messages):
19254 * check/gst/gstmessage.c (START_TEST):
19255 * check/pipelines/simple_launch_lines.c (got_handoff): Application
19256 message API change.
19258 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19259 logic weaks here: always run transform_caps, trying passthrough
19260 operation only if the original caps intersects with the transform.
19262 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19263 source and sink caps.
19265 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19266 Intersect the peer caps with the pad template before going into
19268 (gst_base_transform_transform_caps): More debugging.
19270 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19273 2005-07-04 Edward Hervey <edward@fluendo.com>
19277 (gst_pad_add_*_probe): now returns the signal id for better wrapping
19280 2005-07-04 Andy Wingo <wingo@pobox.com>
19282 * check/gst/gstpad.c: Only set explicit caps on pads.
19284 2005-07-01 Andy Wingo <wingo@pobox.com>
19286 * tests/network-clock.scm: Commentary update.
19288 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19289 Didn't really make sense, not implementable with basetransform,
19291 (gst_identity_transform): Unref inbuf via make_writable. Feeble
19292 attempt at implementing the sync property, needs an unlock method.
19294 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19295 New func, by default returns the same caps (the identity
19297 (gst_base_transform_getcaps): Uses transform_caps to return
19298 something sensible.
19299 (gst_base_transform_setcaps): Complicated logic to get caps on
19300 both pads, even if they are different, and to call set_caps once
19301 for every time both pads get their caps set.
19302 (gst_base_transform_handle_buffer): Give the ref to the transform
19303 function. Allows in-place modification of the buffer.
19305 * gst/base/gstbasetransform.h (transform_caps): New class method.
19306 Given caps on one side, what can I do on the other.
19307 (set_caps): Take two caps, one for each side of the element.
19310 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19311 caps in place. This is safe because we can check the mutability of
19312 the caps, and a good idea because fixate functions are just called
19313 as a matter of last resort. (Not actually implemented.)
19314 (gst_pad_set_caps): If the caps we're setting is actually the same
19315 as the existing pad caps, just update the pointer without calling
19316 setcaps. Assert that caps is either NULL or fixed, as per the
19319 * gst/gstghostpad.c: Update for fixate changes.
19321 2005-07-02 Andy Wingo <wingo@pobox.com>
19324 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19325 two refcounts makes it immutable, which is enough. Doc more.
19327 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
19329 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19330 Put the mini_object into GValue as a mini_object,
19331 not a gpointer, since that's how we declared
19334 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19336 * examples/pwg/Makefile.am:
19337 Fix buildbot again.
19339 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19341 * docs/pwg/building-testapp.xml:
19343 * examples/pwg/Makefile.am:
19346 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19349 * examples/Makefile.am:
19350 * examples/pwg/Makefile.am:
19351 * examples/pwg/extract.pl:
19352 Enable building the PWG examples.
19353 * docs/pwg/advanced-interfaces.xml:
19354 Add URI interface stub.
19355 * docs/pwg/advanced-types.xml:
19356 * docs/pwg/other-autoplugger.xml:
19357 * docs/pwg/appendix-porting.xml:
19358 * docs/pwg/pwg.xml:
19359 Add porting guide (mostly stubs), remove autoplugging (see ADM).
19360 * docs/pwg/building-boiler.xml:
19361 * docs/pwg/building-chainfn.xml:
19362 * docs/pwg/building-pads.xml:
19363 * docs/pwg/building-props.xml:
19364 * docs/pwg/building-state.xml:
19365 * docs/pwg/building-testapp.xml:
19366 Update the building-*.xml parts for 0.9 changes. All examples
19367 code blocks compile in examples/pwg/*.
19369 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19371 * docs/manual/advanced-autoplugging.xml:
19372 * docs/manual/appendix-checklist.xml:
19373 * docs/manual/appendix-integration.xml:
19374 * docs/manual/highlevel-components.xml:
19375 Fix playbin/decodebin examples, update docs a bit, mention bus
19376 instead of signals in various places, mention kmplayer and
19377 kaffeine since they have a working GStreamer backend in the KDE
19380 2005-06-30 Wim Taymans <wim@fluendo.com>
19383 * docs/design/draft-ghostpads.txt:
19384 * docs/design/draft-push-pull.txt:
19385 * docs/design/draft-query.txt:
19386 * docs/design/part-TODO.txt:
19387 * docs/design/part-query.txt:
19388 Added CHANGES-0.9 doc, updated status of other docs.
19393 2005-06-30 Wim Taymans <wim@fluendo.com>
19395 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19396 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19397 (gst_base_sink_change_state):
19398 * gst/base/gstbasesink.h:
19399 Some tweaks, only EOS and a buffer complete a preroll.
19401 2005-06-30 Andy Wingo <wingo@pobox.com>
19403 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19404 activate_push down to the internal pad as well.
19406 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
19408 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19410 * gst/gsttaginterface.c:
19411 Some documentation fixes (#307394 and #307397).
19413 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
19415 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19417 * gst/gstvalue.c: (gst_value_intersect_list):
19418 Fix memleak (#309125).
19420 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19422 * docs/manual/advanced-dataaccess.xml:
19423 Fix fakesrc example to compile; doesn't work, bug somewhere...?
19424 * docs/manual/basics-pads.xml:
19425 Add reference for filtered caps to above chapter.
19427 2005-06-30 Wim Taymans <wim@fluendo.com>
19429 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
19430 (gst_bin_change_state):
19432 Lame attempt at making the state change function a bit
19435 2005-06-30 Wim Taymans <wim@fluendo.com>
19437 * docs/design/part-clocks.txt:
19438 * docs/design/part-element-sink.txt:
19439 * docs/design/part-events.txt:
19440 * docs/design/part-preroll.txt:
19441 * docs/design/part-states.txt:
19442 Some more tweeks and additions to the docs.
19444 2005-06-30 Wim Taymans <wim@fluendo.com>
19446 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19447 (default_have_data), (gst_pad_class_init), (gst_pad_init),
19448 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19449 (gst_pad_check_pull_range), (gst_pad_get_range),
19450 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
19452 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
19453 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19454 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19455 (gst_pad_remove_buffer_probe):
19456 Removed atomic operations, use existing LOCK.
19457 Move exception handling out of main code path.
19459 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19461 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19462 (silly_return_true_function), (gst_pad_class_init),
19463 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19464 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
19465 (gst_pad_send_event):
19466 Fix accumulator, add default value by using _emitv() instead
19467 of _emit() for signal emission.
19469 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19471 * docs/manual/advanced-dataaccess.xml:
19472 * examples/manual/Makefile.am:
19474 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
19477 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
19479 * gst/elements/gstfilesink.c: (gst_filesink_render):
19480 Simplify code so that we don't have to handle short
19481 writes and return GST_FLOW_ERROR if an error occured.
19483 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19485 * docs/gst/gstreamer-docs.sgml:
19486 Remove probes more.
19488 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19490 * docs/gst/gstreamer-sections.txt:
19491 * docs/gst/tmpl/gstpad.sgml:
19492 * docs/gst/tmpl/gstprobe.sgml:
19494 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19495 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
19496 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19497 (gst_pad_push_event), (gst_pad_send_event):
19499 * gst/gstutils.c: (gst_pad_add_data_probe),
19500 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19501 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19502 (gst_pad_remove_buffer_probe):
19504 Remove old probes, add new g-signal-based probes and some utility
19507 2005-06-29 Edward Hervey <edward@fluendo.com>
19509 * gst/gstelementfactory.c:
19512 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
19513 the definition to the header file.
19515 2005-06-29 Andy Wingo <wingo@pobox.com>
19517 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
19518 plugins from the source directory.
19520 2005-06-29 Wim Taymans <wim@fluendo.com>
19522 * docs/gst/tmpl/gstbuffer.sgml:
19523 * docs/gst/tmpl/gstclock.sgml:
19524 Some fixings for blantently wrong text.
19526 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
19528 * check/Makefile.am:
19529 * gst/gst.c: (add_path_func), (init_pre):
19530 * gst/gstregistry.c: (gst_registry_add_path):
19531 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
19532 only scan the GST_PLUGIN_PATH locations, and not add
19535 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
19537 * docs/gst/gstreamer-sections.txt:
19538 * docs/gst/tmpl/gstbasesrc.sgml:
19539 * gst/gstelement.c:
19540 * gst/gstelement.h:
19545 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19547 * docs/manual/advanced-autoplugging.xml:
19548 Fix autoplugging example.
19550 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19552 * docs/manual/advanced-autoplugging.xml:
19553 * docs/manual/mime-world.fig:
19554 Try to get autoplugging working, fix type detection. Fix text
19555 in hello-world image.
19557 2005-06-29 Wim Taymans <wim@fluendo.com>
19559 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19560 (gst_base_sink_change_state):
19564 map SIGNAL and BROADCAST to the right function.
19567 Remove redundant braces.
19569 * gst/gstpad.c: (gst_pad_set_caps):
19570 Don't call setcaps function when reseting caps to NULL.
19572 * gst/gstsystemclock.c: (gst_system_clock_dispose),
19573 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
19574 (gst_system_clock_id_unschedule):
19575 Use BROADCAST as this is what we do.
19577 2005-06-29 Wim Taymans <wim@fluendo.com>
19579 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19580 We are actually prerolling before commiting the state
19583 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19585 * docs/manual/advanced-clocks.xml:
19586 * docs/manual/advanced-interfaces.xml:
19587 * docs/manual/advanced-metadata.xml:
19588 * docs/manual/advanced-position.xml:
19589 * docs/manual/advanced-schedulers.xml:
19590 * docs/manual/advanced-threads.xml:
19591 * docs/manual/appendix-porting.xml:
19592 * docs/manual/basics-bins.xml:
19593 * docs/manual/basics-bus.xml:
19594 * docs/manual/basics-elements.xml:
19595 * docs/manual/basics-helloworld.xml:
19596 * docs/manual/basics-pads.xml:
19597 * docs/manual/highlevel-components.xml:
19598 * docs/manual/manual.xml:
19599 * docs/manual/thread.fig:
19600 Update (until threads/scheduling) Application Development Manual;
19601 remove GstThread, add GstBus, add simple porting checklist, add
19602 documentation for tag writing, clocks, make all examples until this
19603 part compile and run.
19604 * examples/manual/Makefile.am:
19605 Update from changes to Application Development Manual; add bus
19606 example, remove thread example.
19608 2005-06-28 Wim Taymans <wim@fluendo.com>
19610 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
19611 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
19612 (gst_bus_source_dispatch):
19613 Add debugging messages.
19614 Make internal methods static.
19615 Handle the case where the bus is flushed in the handler.
19617 * gst/gstelement.c: (gst_element_get_bus):
19618 Fix refcount in _get_bus();
19620 * gst/gstpipeline.c: (gst_pipeline_change_state),
19621 (gst_pipeline_get_clock_func):
19622 Clock refcounting fixes.
19623 Handle the case where preroll timed out more gracefully.
19625 * gst/gstsystemclock.c: (gst_system_clock_dispose):
19626 Clean up the internal thread in dispose. This is needed
19627 for subclasses that actually get disposed.
19629 * gst/schedulers/threadscheduler.c:
19630 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19631 (gst_thread_scheduler_dispose):
19632 Free thread pool in dispose.
19634 2005-06-28 Andy Wingo <wingo@pobox.com>
19636 * tests/network-clock-utils.scm (debug, print-event): New utils.
19638 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
19639 (*packet-loss*): Unified loss probability.
19640 (network-time): Report out-of-band events.
19642 * tests/plot-data: Add support for out-of-band events. Hack it
19643 into this script instead of passing it down the pipe; should fix
19646 2005-06-28 Wim Taymans <wim@fluendo.com>
19648 * docs/gst/gstreamer.types:
19649 * docs/gst/tmpl/gstbasesrc.sgml:
19650 * docs/gst/tmpl/gstpad.sgml:
19653 2005-06-28 Wim Taymans <wim@fluendo.com>
19655 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19656 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
19657 (gst_proxy_pad_do_fixatecaps):
19658 Correctly proxy the check_pull_range function.
19660 2005-06-28 Andy Wingo <wingo@pobox.com>
19662 * tests/network-clock.scm: Removed need for slib.
19664 2005-06-28 Wim Taymans <wim@fluendo.com>
19666 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
19667 (gst_basesink_preroll_queue_flush):
19668 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
19669 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
19670 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19671 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19672 (gst_proxy_pad_set_property):
19675 * gst/gstqueue.c: (gst_queue_init):
19676 The deprecated pad loop function is removed now.
19678 2005-06-28 Andy Wingo <wingo@pobox.com>
19680 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
19681 New parameters, simulate network packet loss.
19683 * tests/network-clock-utils.scm: Initialize the RNG.
19685 2005-06-28 Wim Taymans <wim@fluendo.com>
19687 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
19688 (gst_basesink_event), (gst_basesink_deactivate):
19689 Flushing the preroll queue always needs to unlock the waiters.
19691 2005-06-28 Edward Hervey <edward@fluendo.com>
19693 * gst/gstpipeline.c: (gst_pipeline_send_event):
19694 Wheen a seek was successful on a pipeline, set the stream_time to the
19695 seek offset in order to have a synchronized stream_time.
19697 2005-06-28 Wim Taymans <wim@fluendo.com>
19699 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19700 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
19701 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
19702 (gst_proxy_pad_do_fixatecaps):
19703 Call wrapper function instead of just calling the function
19704 pointers. This takes care of any locking and whatmore.
19706 2005-06-28 Wim Taymans <wim@fluendo.com>
19708 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
19709 (gst_pad_pull_range):
19711 CONNECTED -> LINKED.
19713 2005-06-28 Andy Wingo <wingo@pobox.com>
19715 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
19716 source-munging commit!!!
19718 * gst/gstobject.c (gst_object_unref, gst_object_ref)
19719 (gst_object_sink): Take gpointer arguments, not GstObject --
19720 avoids casts. Like GLib.
19722 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
19725 2005-06-27 Andy Wingo <wingo@pobox.com>
19727 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
19730 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
19731 returns a sorted copy of the trace list.
19732 (gst_alloc_trace_print_live): New API, only prints traces with
19733 live objects. Sort the list.
19734 (gst_alloc_trace_print_all): Sort the list.
19735 (gst_alloc_trace_print): Align columns.
19737 * gst/elements/gstttypefindelement.c:
19738 * gst/elements/gsttee.c:
19739 * gst/base/gstbasesrc.c:
19740 * gst/base/gstbasesink.c:
19741 * gst/base/gstbasetransform.c:
19742 * gst/gstqueue.c: Adapt for pad activation changes.
19744 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
19746 (gst_pipeline_dispose): Drop ref on sched.
19748 * gst/gstpad.c (gst_pad_init): Set the default activate func.
19749 (gst_pad_activate_default): Push mode by default.
19750 (pre_activate_switch, post_activate_switch): New stubs, things to
19751 do before and after switching activation modes on pads.
19752 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
19753 the pad's activate function to choose which mode to activate.
19754 Shortcut on deactivation and call the right function directly.
19755 (gst_pad_activate_pull): New API, (de)activates a pad in pull
19757 (gst_pad_activate_push): New API, same for push mode.
19758 (gst_pad_set_activate_function)
19759 (gst_pad_set_activatepull_function)
19760 (gst_pad_set_activatepush_function): Setters for new API.
19762 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
19763 Trace all miniobjects.
19764 (gst_mini_object_make_writable): Unref the arg if we copy, like
19765 gst_caps_make_writable.
19767 * gst/gstmessage.c (_gst_message_initialize): No trace init.
19769 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
19770 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
19771 Adapt for new pad API.
19773 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
19775 * gst/gstelement.h:
19776 * gst/gstelement.c (gst_element_iterate_src_pads)
19777 (gst_element_iterate_sink_pads): New API functions.
19779 * gst/gstelement.c (iterator_fold_with_resync): New utility,
19780 should fold into gstiterator.c in some form.
19781 (gst_element_pads_activate): Simplified via use of fold and
19782 delegation of decisions to gstpad->activate.
19784 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
19787 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
19788 class once in init, like gstmessage. Didn't run into this issue
19789 but it seems correct. Don't initialize a trace, gstminiobject does
19792 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
19793 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
19795 (assert_live_count): New util function, uses alloc traces to check
19798 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
19799 To be modified when unlink drops the internal pad.
19801 2005-06-27 Wim Taymans <wim@fluendo.com>
19803 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
19804 (gst_bin_change_state):
19805 Cleanup the get_state() function a little, make sure it
19806 iterates the same set of elements.
19807 Added stub iterate_state_order().
19809 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
19811 * docs/gst/gstreamer-docs.sgml:
19812 * docs/gst/gstreamer-sections.txt:
19813 * docs/gst/gstreamer.types:
19814 * docs/gst/tmpl/gstbasesink.sgml:
19815 * docs/gst/tmpl/gstbasesrc.sgml:
19816 * docs/gst/tmpl/gstbasetransform.sgml:
19817 * docs/gst/tmpl/gstelement.sgml:
19818 * docs/gst/tmpl/gstiterator.sgml:
19819 * gst/base/gstbasesrc.c:
19820 * gst/base/gstbasesrc.h:
19821 * gst/base/gstbasetransform.h:
19822 * gst/gstelement.c:
19823 * gst/gstiterator.h:
19824 adding basetransform and iterator docs
19826 2005-06-27 Andy Wingo <wingo@pobox.com>
19828 * docs/design/part-activation.txt: Notes on how activation should
19829 work -- not quite implemented yet.
19831 2005-06-25 Wim Taymans <wim@fluendo.com>
19833 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
19834 At least get the chain function correct, needs more
19837 2005-06-25 Wim Taymans <wim@fluendo.com>
19839 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19840 (gst_basesink_handle_object), (gst_basesink_event),
19841 (gst_basesink_do_sync), (gst_basesink_handle_event),
19842 (gst_basesink_change_state):
19844 Right, two problems here: ghostpads don't take locks and
19845 glib _rec_mutex_lock_full() with depth==0 still locks.
19846 Catch illegal locking and g_warn them.
19848 2005-06-25 Wim Taymans <wim@fluendo.com>
19850 * check/states/sinks.c: (START_TEST), (gst_object_suite):
19851 Have to check for completion now...
19853 2005-06-25 Wim Taymans <wim@fluendo.com>
19855 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19856 (gst_basesink_handle_object), (gst_basesink_event),
19857 (gst_basesink_do_sync), (gst_basesink_handle_event),
19858 (gst_basesink_change_state):
19860 Unlock STREAM_LOCK whatever the recursion was.
19862 2005-06-25 Wim Taymans <wim@fluendo.com>
19864 * gst/base/gstbasesink.c: (gst_basesink_set_property),
19865 (gst_basesink_preroll_queue_empty),
19866 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
19867 (gst_basesink_event), (gst_basesink_do_sync),
19868 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
19869 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
19870 (gst_basesink_change_state):
19871 Reworked the base sink, handle event and buffer serialisation
19872 correctly and removed possible deadlock.
19873 Handle EOS correctly.
19875 2005-06-25 Wim Taymans <wim@fluendo.com>
19877 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
19878 (gst_pipeline_change_state):
19879 * tools/gst-launch.c: (check_intr), (event_loop), (main):
19880 Allow elements to post EOS in the state change function.
19881 Fix up -launch, make it exit the poll loop when the
19882 pipeline actually changed state.
19883 Fix up warning parsing in -launch.
19885 2005-06-25 Wim Taymans <wim@fluendo.com>
19887 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
19888 (gst_tee_sink_activate):
19889 Core takes STREAM_LOCK for us now.
19891 2005-06-25 Wim Taymans <wim@fluendo.com>
19893 * gst/gstelement.c: (gst_element_get_state_func),
19894 (gst_element_set_state):
19895 * gst/gstelement.h:
19896 * gst/gstmessage.c: (gst_message_parse_error),
19897 (gst_message_parse_warning):
19898 Keep track of current target state while performing a state
19899 change so that subclasses can do something interesting.
19900 Fix parsing of warning/error messages when GError is NULL.
19902 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
19904 * docs/gst/Makefile.am:
19905 * docs/gst/gstreamer-docs.sgml:
19906 * docs/gst/gstreamer-sections.txt:
19907 * docs/gst/gstreamer.types:
19908 * docs/gst/tmpl/gstbasesink.sgml:
19909 * docs/gst/tmpl/gstbasesrc.sgml:
19910 * docs/gst/tmpl/gstbin.sgml:
19911 * docs/gst/tmpl/gstcompat.sgml:
19912 * docs/gst/tmpl/gstfakesink.sgml:
19913 * docs/gst/tmpl/gstfakesrc.sgml:
19914 * docs/gst/tmpl/gstfilesink.sgml:
19915 * docs/gst/tmpl/gstfilesrc.sgml:
19916 * docs/gst/tmpl/gstindex.sgml:
19917 * docs/manual/appendix-quotes.xml:
19918 * gst/base/gstbasesrc.h:
19919 * gst/elements/gstfakesrc.h:
19920 * gst/gstmessage.h:
19921 start pulling in base classes and elements in our docs
19923 2005-06-24 Stefan Kost <ensonic@users.sf.net>
19925 * docs/gst/Makefile.am:
19926 * docs/libs/Makefile.am:
19927 fixed make distcheck with gtk-doc 1.3
19929 2005-06-23 Wim Taymans <wim@fluendo.com>
19931 * gst/gstelement.c: (gst_element_get_state_func),
19932 (gst_element_set_state), (gst_element_change_state):
19933 When the state did not change, also report NO_PREROLL
19936 2005-06-23 Wim Taymans <wim@fluendo.com>
19938 * gst/gstpad.c: (gst_pad_event_default):
19939 * gst/gstqueue.c: (gst_queue_loop):
19940 No unsafe task pausing please.
19942 2005-06-23 Wim Taymans <wim@fluendo.com>
19944 * gst/schedulers/threadscheduler.c:
19945 (gst_thread_scheduler_task_start),
19946 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
19947 Ref the task before pushing it on the threadpool. This
19948 makes sure that we have a ref when the threadfunction is
19951 2005-06-23 Andy Wingo <wingo@pobox.com>
19953 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
19954 offset is greater than the file's size.
19956 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
19957 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
19958 * gst/gstobject.c (gst_object_class_init): Make the class lock
19959 recursive. Wim won't let me drop deep_notify. Decodebin works
19960 again, whoopdy doo.
19962 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
19963 internal pad, and hacks accordingly. Doesn't do it on the target
19964 pad because we change its caps. Probably catches all cases of
19966 (gst_ghost_pad_set_property): Connect to notify::caps as
19969 * tests/network-clock.scm (plot-simulation): Pipe data to the
19970 elite python skript.
19972 * tests/network-clock-utils.scm (define-parameter): New macro,
19973 defines a parameter that can be set via the command line.
19974 (set-parameter!, parse-parameter-arguments): Command line args
19977 * tests/plot-data: Simple matplotlib-based plotter, takes input on
19980 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
19982 * gst/elements/gsttypefindelement.c:
19983 (gst_type_find_element_handle_event):
19984 Don't restart typefinding on a discont.
19985 * gst/gstelement.c: (gst_element_set_state):
19986 Debug spelling fix.
19987 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
19988 Allow changing mode of an active pad.
19989 Debug output fixes.
19990 * gst/registries/gstlibxmlregistry.c: (load_feature):
19991 Don't cast a static pad template to a normal pad template.
19993 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
19995 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
19996 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
19997 remove gst_strtoll completely, since it didn't actually do
19998 anything more than what g_ascii_strtoull already does.
19999 check for range errors when deserializing
20000 do a cast for the unsigned cases; but further fixing needs
20001 a decision on what the interpretation of "(int)" and
20002 deserialization should be for values that fall outside the
20003 type's boundaries (ie, refuse, or interpret as casting)
20005 2005-06-23 Wim Taymans <wim@fluendo.com>
20007 * check/Makefile.am:
20008 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20009 * docs/design/part-live-source.txt:
20010 * docs/design/part-states.txt:
20011 * gst/base/gstbasesrc.c: (gst_basesrc_init),
20012 (gst_basesrc_set_live), (gst_basesrc_is_live),
20013 (gst_basesrc_get_range), (gst_basesrc_activate),
20014 (gst_basesrc_change_state):
20015 * gst/base/gstbasesrc.h:
20016 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20017 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20018 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20019 * gst/gstelement.c: (gst_element_get_state_func),
20020 (gst_element_set_state):
20021 * gst/gstelement.h:
20023 * tools/gst-launch.c: (event_loop), (main):
20024 Added support for live sources and other elements that
20026 Updated design docs, added live-source design doc.
20027 Implemented live source functionality in basesrc
20028 Fix error condition in _bin_get_state()
20029 Implement live source handling in -launch.
20030 Added check for live sources.
20031 Fixed case in GstBin where elements were changed state
20035 2005-06-23 Andy Wingo <wingo@pobox.com>
20037 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20038 borken refcounting.
20040 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20041 gst_caps_replace takes care of this for us.
20043 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20044 gst_pad_set_caps on the target, not just its setcaps() function.
20046 * tests/network-clock.scm:
20047 * tests/network-clock-utils.scm: A network clock simulator.
20048 Something of an algorithmic testbed before doing something in C.
20050 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
20052 * check/Makefile.am:
20053 * check/gst/capslist.h:
20054 copy over from 0.8, and add two with bitmasks specified with
20056 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20057 add test to parse everything from capslist.h
20058 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20060 add test for structure deserialization
20061 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20062 add tests for deserialization of strings to int types
20063 * gst/gststructure.c: (gst_structure_nth_field_name):
20064 * gst/gststructure.h:
20065 add a way to get the name of a field referenced by index
20066 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20067 instead of checking if the resulting long long lies between
20068 min and max, we check if the long long would fit into
20069 a number of bytes for the final type.
20070 This fixes cases where a string represents 2^32 - 1, which
20071 when cast to int would be the (valid) -1, but is bigger than
20074 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
20076 * gst/parse/grammar.y:
20077 add a log line for type deserialization
20079 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
20081 * check/gst/gstvalue.c: (START_TEST):
20082 * gst/gstvalue.c: (gst_value_deserialize):
20083 return long long, not int, so gint64 deserialization actually
20084 works. Is there any flag that makes the compiler check this ?
20087 2005-06-22 Wim Taymans <wim@fluendo.com>
20090 Added convenience macros for setting buffers in GValue.
20092 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
20094 * check/gst/.cvsignore:
20095 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20096 add a test deserializing int64, and comment part out because
20099 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
20101 * check/Makefile.am:
20102 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20103 * testsuite/Makefile.am:
20104 * testsuite/caps/Makefile.am:
20105 * testsuite/caps/value_serialize.c:
20106 * testsuite/test_gst_init.c:
20107 move a value_serialize test over
20109 2005-06-20 Wim Taymans <wim@fluendo.com>
20114 * gst/gstvalue.c: (gst_value_compare_buffer),
20115 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20116 (gst_value_compare_flags), (gst_value_serialize_flags),
20117 (gst_value_deserialize_flags), (_gst_value_initialize):
20118 Fix serialisation of buffers, they are not boxed types anymore
20120 2005-06-20 Wim Taymans <wim@fluendo.com>
20122 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20123 Testcase to show error in buffer-on-caps serialisation.
20125 2005-06-20 Andy Wingo <wingo@pobox.com>
20127 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20128 will be adding to later.
20130 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20131 if its socks fill with rocks.
20132 (gst_system_clock_obtain): Set the name on object construction.
20133 Avoid double-checked locking.
20135 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
20137 * gst/gsturi.c: (gst_element_make_from_uri):
20138 Fix potential endless loop.
20140 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20142 * check/Makefile.am:
20144 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20146 move over from testsuite dir and clean up
20149 * testsuite/Makefile.am:
20150 * testsuite/tags/.cvsignore:
20151 * testsuite/tags/Makefile.am:
20152 * testsuite/tags/merge.c:
20153 remove testsuite/tags
20155 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20157 * docs/gst/gstreamer-sections.txt:
20158 * docs/gst/tmpl/gstenumtypes.sgml:
20159 * win32/gstenumtypes.c:
20160 clean up documentation build a little
20162 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20164 * check/gstcheck.h:
20165 add macros for checking refcounts on objects and caps
20166 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20167 add some more unit tests
20168 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20169 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20170 fix leaked refcounts (I hope :)) so unittest works
20174 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20176 * configure.ac: back to HEAD
20178 === release 0.9.1 ===
20180 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
20186 2005-06-17 Andy Wingo <wingo@pobox.com>
20188 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20189 assert; it's always possible that the pad gets deactivated in
20190 between the checks in gstpad.c and the implementation. Rely on
20191 finish_preroll() to return a FLUSHING or similar instead of on the
20194 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20195 clock and post an EOS message if we come out of finish_preroll in
20198 2005-06-16 David Schleef <ds@schleef.org>
20200 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20201 (gst_capsfilter_set_property): Allow NULL as possible value
20202 for filter_caps property, indicating GST_CAPS_ANY.
20204 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
20206 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20208 * gst/schedulers/Makefile.am:
20210 * gstreamer.spec.in:
20213 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
20215 * gstreamer.spec.in:
20218 2005-06-08 Andy Wingo <wingo@pobox.com>
20220 * gst/gstutils.c: RPAD fixes all around.
20221 (gst_element_link_pads): Refcounting fixes.
20223 * tools/gst-inspect.c:
20224 * tools/gst-xmlinspect.c:
20226 * gst/base/gsttypefindhelper.c:
20227 * gst/base/gstbasesink.c:
20228 * gst/gstqueue.c: RPAD fixes.
20230 * gst/gstghostpad.h:
20231 * gst/gstghostpad.c: New ghost pad implementation as full proxy
20232 pads. The tricky thing is they provide both source and sink
20233 interfaces, since they proxy the internal pad for the external
20234 pad, and vice versa. Implement with lower-level ProxyPad objects,
20235 with the interior proxy pad as a child of the exterior ghost pad.
20236 Should write a doc on this.
20238 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20239 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20242 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20243 pads are real pads. No ghost pads in this file. Not documenting
20244 the myriad s/RPAD/PAD/ and REALIZE fixes.
20245 (gst_pad_class_init): Add properties for "direction" and
20246 "template". Both are construct-only, so they can't change during
20247 the life of the pad. Fixes properly deriving from GstPad.
20248 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20249 derived objects, just set properties when creating the objects via
20251 (gst_pad_get_parent): Implement as a function, return NULL if the
20252 parent is not an element.
20253 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20254 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20256 * gst/gstobject.c (gst_object_class_init): Make name a construct
20257 property. Don't set it in the object init.
20259 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20260 with UNKNOWN direction.
20261 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20262 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20263 (gst_element_remove_pad): Remove ghost-pad special cases.
20264 (gst_element_pads_activate): Remove rpad cruft.
20266 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20267 catch the pad's-parent-not-an-element case.
20269 * gst/gst.h: Include gstghostpad.h.
20271 * gst/gst.c (init_post): No more real, ghost pads.
20273 * gst/Makefile.am: Add gstghostpad.[ch].
20275 * check/Makefile.am:
20276 * check/gst/gstbin.c:
20277 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20278 into a bin creates ghost pads, and that the refcounts are right.
20279 Partly moved from gstbin.c.
20281 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
20283 * check/gst-libs/.cvsignore:
20284 * check/gst/.cvsignore:
20285 * check/pipelines/.cvsignore:
20287 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20288 (START_TEST), (cleanup_suite), (main):
20289 add some tests related to cleanup after running pipelines
20291 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
20293 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20294 add a testsuite for GstBuffer
20296 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
20298 * gst/gstminiobject.h:
20299 add defines for accessing the refcount
20301 2005-06-03 Stefan Kost <ensonic@users.sf.net>
20303 * Makefile.am: added support for html unit test coverage reports
20305 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
20307 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20308 Free existing caps if the capsfilter changes. Add a FIXME about
20309 setting those caps on the pads.
20311 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20312 Before adding a ghost pad to a parent bin, check that there isn't
20313 already one for the element on the bin. Prevents infinite recursion
20314 when using decodebin in parse pipelines. Andy says he'll rewrite the
20315 way this works anyway, so ignore the hack.
20317 2005-06-02 Andy Wingo <wingo@pobox.com>
20319 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20320 file size, pass it on to the type find helper.
20322 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20323 segment_start and segment_end properly according to the seek
20324 method. Segment_end is still a bit flaky because offset can be
20325 negative for CUR and END cases, but it takes -1 as an "unset"
20328 2005-06-02 Wim Taymans <wim@fluendo.com>
20330 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20331 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20332 (gst_basesink_activate):
20333 * gst/base/gstbasesink.h:
20334 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20335 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20336 (gst_pad_query), (gst_pad_start_task):
20338 * gst/gstqueue.c: (gst_queue_bufferalloc),
20339 (gst_queue_handle_sink_event), (gst_queue_chain):
20340 Bufferalloc: return GstFlowReturn to more accuratly report
20341 why allocation failed.
20343 2005-06-02 Wim Taymans <wim@fluendo.com>
20345 * gst/gstpipeline.c: (gst_pipeline_send_event):
20346 Take snapshot of state without blocking.
20348 2005-06-02 Wim Taymans <wim@fluendo.com>
20350 * docs/design/part-TODO.txt:
20351 * docs/design/part-caps.txt:
20352 * docs/design/part-clocks.txt:
20353 * docs/design/part-negotiation.txt:
20354 * docs/design/part-preroll.txt:
20357 2005-05-30 Wim Taymans <wim@fluendo.com>
20359 * gst/elements/gstidentity.c: (gst_identity_event),
20360 (gst_identity_transform), (gst_identity_get_property):
20361 Protect last_message property as it is accessed from
20364 2005-05-30 Wim Taymans <wim@fluendo.com>
20366 * gst/gstelement.c: (gst_element_init),
20367 (gst_element_pads_activate), (gst_element_change_state):
20368 Slicker pad activation code.
20370 2005-05-30 Wim Taymans <wim@fluendo.com>
20373 * gst/gstelement.h:
20374 * gst/gstelementfactory.h:
20376 Move elementfactory methods to separate .h file.
20378 2005-05-30 Wim Taymans <wim@fluendo.com>
20380 * docs/design/part-overview.txt:
20381 * gst/gstsystemclock.h:
20382 Small typo fixes, doc updates.
20384 2005-05-30 Wim Taymans <wim@fluendo.com>
20386 * gst/gst.c: (gst_init_get_popt_table), (init_post),
20387 (init_popt_callback):
20388 Remove cpu-opt flag.
20390 2005-05-30 Wim Taymans <wim@fluendo.com>
20392 * gst/gstbuffer.c: (gst_subbuffer_finalize),
20393 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20395 Avoid typechecking in places where not needed.
20396 Added accessor for malloc_data.
20398 2005-05-30 Wim Taymans <wim@fluendo.com>
20400 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20401 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20402 (gst_pad_configure_sink), (gst_pad_configure_src),
20403 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20404 (gst_pad_start_task):
20405 Propagate errors from _set_caps() in configure_src/sink
20406 functions instead of returning TRUE.
20407 FLUSH events can travel up and downstream
20410 2005-05-30 Wim Taymans <wim@fluendo.com>
20412 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20413 (gst_basesink_activate):
20414 Handle EOS in preroll.
20416 2005-05-30 Wim Taymans <wim@fluendo.com>
20418 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20419 (gst_queue_loop), (gst_queue_handle_src_event):
20420 Remove old pieces of code
20421 Flushing the queue in an upstream event is a very bad idea.
20423 2005-05-26 Andy Wingo <wingo@pobox.com>
20425 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
20426 gst_value_set_mini_object so as to add a ref on the object (which
20427 will be removed when the value is unset).
20429 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
20430 arg type in ::handoff.
20432 * gst/gstelement.c (gst_element_change_state): Also deactivate
20433 pads in READY->NULL, just in case the element didn't make it to
20434 PAUSED. Wingo tested, Wim approved.
20436 2005-05-26 Wim Taymans <wim@fluendo.com>
20438 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20439 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20440 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
20441 A flushing pad cannot be used to alloc_buffer from.
20443 2005-05-26 Wim Taymans <wim@fluendo.com>
20445 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
20446 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
20447 (gst_bus_source_dispatch), (gst_bus_source_finalize),
20448 (gst_bus_create_watch), (gst_bus_add_watch_full):
20450 Implement a real GSource and use g_main_context_wakeup() to
20451 signal new messages instead of the socketpair.
20453 2005-05-25 Wim Taymans <wim@fluendo.com>
20455 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
20456 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
20457 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20458 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20459 (gst_pad_send_event), (gst_pad_start_task):
20460 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
20461 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20462 (gst_queue_sink_activate), (gst_queue_src_activate),
20463 (gst_queue_change_state):
20465 Fix state changes for non sinks. We now change sinks, then elements
20466 with unconnected srcpads, then the rest.
20467 More efficient queue unlocking in flush and state changes.
20468 Set the pad activate mode even if it does not have an activate
20471 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20473 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
20474 Don't go in pull mode for non-seekable sources.
20475 * gst/elements/gsttypefindelement.h:
20476 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20477 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
20478 (free_entry), (stop_typefinding),
20479 (gst_type_find_element_handle_event), (find_peek),
20480 (gst_type_find_element_chain), (do_pull_typefind),
20481 (gst_type_find_element_change_state):
20482 Allow typefinding (w/o seeking) in push-mode, simplified version
20483 of what was in 0.8.
20484 * gst/gstutils.c: (gst_buffer_join):
20486 gst_buffer_join() from 0.8.
20488 2005-05-25 Wim Taymans <wim@fluendo.com>
20490 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20491 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20492 (gst_pad_send_event), (gst_pad_start_task):
20493 Disable attempt at mode switching until it is figured out.
20495 2005-05-25 Wim Taymans <wim@fluendo.com>
20497 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
20498 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20499 (gst_basesink_finish_preroll), (gst_basesink_chain),
20500 (gst_basesink_loop), (gst_basesink_activate),
20501 (gst_basesink_change_state):
20502 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
20503 (gst_basesrc_get_range), (gst_basesrc_loop),
20504 (gst_basesrc_activate):
20505 * gst/elements/gsttee.c: (gst_tee_sink_activate):
20506 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20507 (gst_real_pad_init), (gst_real_pad_set_property),
20508 (gst_real_pad_get_property), (gst_pad_set_active),
20509 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
20510 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
20511 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
20512 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
20513 (gst_pad_event_default_dispatch), (gst_pad_event_default),
20514 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
20515 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
20516 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20517 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
20518 (gst_pad_stop_task):
20520 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20521 (gst_queue_loop), (gst_queue_src_activate):
20522 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
20523 (gst_task_get_state):
20525 * gst/schedulers/threadscheduler.c:
20526 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
20527 Implement gst_pad_pause/start/stop_task(), take STREAM lock
20529 Remove ACTIVE pad flag, use FLUSHING everywhere
20530 Added _pad_chain(), _pad_get_range() to call chain/getrange
20532 Add locks around IS_FLUSHING when reading.
20533 Take STREAM lock in chain(), get_range() functions so plugins
20534 don't need to take it anymore.
20538 2005-05-25 Wim Taymans <wim@fluendo.com>
20540 * tools/gst-launch.c: (event_loop):
20541 Unref message after using its contents instead of
20544 2005-05-24 Wim Taymans <wim@fluendo.com>
20546 * docs/design/draft-ghostpads.txt:
20547 * docs/design/draft-push-pull.txt:
20548 * docs/design/draft-query.txt:
20549 * docs/design/part-overview.txt:
20550 Docs updates, added general overview doc.
20552 2005-05-21 David Schleef <ds@schleef.org>
20554 * docs/gst/tmpl/old/GstBin.sgml:
20555 * docs/gst/tmpl/old/GstBuffer.sgml:
20556 * docs/gst/tmpl/old/GstCaps.sgml:
20557 * docs/gst/tmpl/old/GstClock.sgml:
20558 * docs/gst/tmpl/old/GstCompat.sgml:
20559 * docs/gst/tmpl/old/GstData.sgml:
20560 * docs/gst/tmpl/old/GstElement.sgml:
20561 * docs/gst/tmpl/old/GstEvent.sgml:
20562 * docs/gst/tmpl/old/GstIndex.sgml:
20563 * docs/gst/tmpl/old/GstStructure.sgml:
20564 * docs/gst/tmpl/old/GstTag.sgml:
20565 * docs/gst/tmpl/old/cothreads.sgml:
20566 * docs/gst/tmpl/old/cothreads_compat.sgml:
20567 * docs/gst/tmpl/old/gettext.sgml:
20568 * docs/gst/tmpl/old/gobject2gtk.sgml:
20569 * docs/gst/tmpl/old/grammar.tab.sgml:
20570 * docs/gst/tmpl/old/gst-i18n-app.sgml:
20571 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
20572 * docs/gst/tmpl/old/gst_private.sgml:
20573 * docs/gst/tmpl/old/gstaggregator.sgml:
20574 * docs/gst/tmpl/old/gstarch.sgml:
20575 * docs/gst/tmpl/old/gstatomic_impl.sgml:
20576 * docs/gst/tmpl/old/gstbufferstore.sgml:
20577 * docs/gst/tmpl/old/gstdata_private.sgml:
20578 * docs/gst/tmpl/old/gstdisksink.sgml:
20579 * docs/gst/tmpl/old/gstdisksrc.sgml:
20580 * docs/gst/tmpl/old/gstelementfactory.sgml:
20581 * docs/gst/tmpl/old/gstextratypes.sgml:
20582 * docs/gst/tmpl/old/gstfakesink.sgml:
20583 * docs/gst/tmpl/old/gstfakesrc.sgml:
20584 * docs/gst/tmpl/old/gstfdsink.sgml:
20585 * docs/gst/tmpl/old/gstfdsrc.sgml:
20586 * docs/gst/tmpl/old/gstfilesink.sgml:
20587 * docs/gst/tmpl/old/gstfilesrc.sgml:
20588 * docs/gst/tmpl/old/gsthttpsrc.sgml:
20589 * docs/gst/tmpl/old/gstidentity.sgml:
20590 * docs/gst/tmpl/old/gstindexfactory.sgml:
20591 * docs/gst/tmpl/old/gstmarshal.sgml:
20592 * docs/gst/tmpl/old/gstmd5sink.sgml:
20593 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
20594 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
20595 * docs/gst/tmpl/old/gstpadtemplate.sgml:
20596 * docs/gst/tmpl/old/gstpipefilter.sgml:
20597 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
20598 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
20599 * docs/gst/tmpl/old/gstshaper.sgml:
20600 * docs/gst/tmpl/old/gstspider.sgml:
20601 * docs/gst/tmpl/old/gstspideridentity.sgml:
20602 * docs/gst/tmpl/old/gststatistics.sgml:
20603 * docs/gst/tmpl/old/gsttee.sgml:
20604 * docs/gst/tmpl/old/gsttimecache.sgml:
20605 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
20606 * docs/gst/tmpl/old/gstxmlregistry.sgml:
20607 * docs/gst/tmpl/old/gthread-cothreads.sgml:
20608 * docs/gst/tmpl/old/types.sgml:
20609 I didn't intend to add these or check them in.
20611 2005-05-19 David Schleef <ds@schleef.org>
20613 * configure.ac: Use -no-common everywhere. In a sane world, it
20614 would be the default in libtool, because without it, you can't
20615 build DLLs on Windows.
20616 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
20617 * docs/gst/gstreamer-sections.txt:
20618 * docs/gst/tmpl/gstcpu.sgml:
20619 * docs/gst/tmpl/gstdata.sgml:
20620 * docs/gst/tmpl/gstthread.sgml:
20622 2005-05-19 David Schleef <ds@schleef.org>
20624 * gst/gstminiobject.c: (gst_value_set_mini_object),
20625 (gst_value_take_mini_object), (gst_value_get_mini_object):
20626 * gst/gstminiobject.h: Add GValue set/get functions.
20628 2005-05-19 Wim Taymans <wim@fluendo.com>
20630 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
20631 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
20632 (gst_subbuffer_init), (gst_buffer_is_span_fast):
20634 * gst/gstbus.c: (gst_bus_post):
20635 * gst/gstelement.c: (gst_element_get_random_pad):
20636 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
20637 Make subbufer unref the parent in finalize.
20638 some more debugging info.
20641 2005-05-19 Wim Taymans <wim@fluendo.com>
20643 * gst/base/gstbasesink.c: (gst_basesink_class_init),
20644 (gst_basesink_init), (gst_basesink_finalize),
20645 (gst_basesink_activate), (gst_basesink_change_state):
20646 Don't free preroll queue too early.
20648 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20652 Hi, I'm outdated. Please shoot me.
20654 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20656 * gst/gstpipeline.c: (gst_pipeline_send_event):
20657 Do not access variables after they have been deleted.
20659 2005-05-19 Wim Taymans <wim@fluendo.com>
20661 * tools/gst-inspect.c: (print_plugin_features):
20662 A plugin feature does unfortunatly not use the
20665 2005-05-18 Wim Taymans <wim@fluendo.com>
20667 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
20668 Port _span() functions to new subbuffers.
20670 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20672 * gst/gstbin.c: (gst_bin_add_func):
20673 Fix clock settery in bins when adding kids after the clock has
20676 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20678 * gst/elements/gstidentity.c: (gst_identity_class_init):
20679 Workaround until signals support GstMiniObject.
20681 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
20684 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
20686 2005-05-18 Wim Taymans <wim@fluendo.com>
20688 * gst/base/Makefile.am:
20689 * gst/base/gstadapter.c: (gst_adapter_base_init),
20690 (gst_adapter_class_init), (gst_adapter_init),
20691 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
20692 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
20693 (gst_adapter_flush), (gst_adapter_available),
20694 (gst_adapter_available_fast):
20695 * gst/base/gstadapter.h:
20696 Ported and added adapter to the base classes.
20698 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
20701 * gst/gstmessage.c:
20702 Make sure the class is reffed/unreffed once before threads can be
20703 used. Fixes #304551.
20705 2005-05-17 Wim Taymans <wim@fluendo.com>
20707 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
20708 (gst_basesink_chain_unlocked), (gst_basesink_activate):
20709 * gst/gstminiobject.c: (gst_mini_object_get_type),
20710 (gst_mini_object_free):
20711 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
20712 (gst_pad_push), (gst_pad_push_event):
20713 * gst/gstqueue.c: (gst_queue_change_state):
20714 Don't queue buffers in basesink when we are flushing.
20715 Unref buffer when flushing in basesink.
20716 Flush queue when going to READY
20717 Unref buffer when _push() returns an error.
20718 Don't free MiniObject instance when refcount is incremented
20719 in _finalize() so that we can recover objects.
20721 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
20723 * docs/manual/advanced-schedulers.xml:
20724 * docs/manual/appendix-checklist.xml:
20725 * docs/pwg/advanced-clock.xml:
20726 * docs/pwg/advanced-interfaces.xml:
20727 * docs/pwg/advanced-request.xml:
20728 * docs/pwg/advanced-types.xml:
20729 * docs/pwg/intro-preface.xml:
20730 * examples/plugins/example.c: (gst_example_get_type),
20731 (gst_example_class_init), (gst_example_chain),
20732 (gst_example_set_property), (gst_example_get_property),
20733 (gst_example_change_state), (plugin_init):
20734 * examples/plugins/example.h:
20737 2005-05-17 Wim Taymans <wim@fluendo.com>
20739 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
20740 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
20741 * gst/gstqueue.c: (gst_queue_change_state):
20742 Clear queue when going to READY.
20743 Remove IN_SETCAPS flag too.
20745 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
20747 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
20748 Remove implicit cast from gboolean to GstElementStateReturn;
20749 make sure we still return failure in paused => ready case if
20750 the parent class fails to change state and our own stop
20753 2005-05-17 Wim Taymans <wim@fluendo.com>
20755 * tools/gst-launch.c: (event_loop):
20756 Message was unreffed too soon.
20758 2005-05-16 Andy Wingo <wingo@pobox.com>
20760 * gst/gstbin.c (sink_iterator_filter): Err... um...
20762 * check/gst/gstbin.c (test_ghost_pads): New test for the
20763 ghosting-if-elements-not-in-same-bin behavior.
20765 2005-05-16 David Schleef <ds@schleef.org>
20767 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
20768 accessing refcount directly.
20770 2005-05-15 David Schleef <ds@schleef.org>
20772 * check/Makefile.am: remove GstData checks
20773 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
20774 * gst/Makefile.am: add miniobject, remove data
20775 * gst/gst.h: add miniobject, remove data
20776 * gst/gstdata.c: remove
20777 * gst/gstdata.h: remove
20778 * gst/gstdata_private.h: remove
20779 * gst/gsttypes.h: remove GstEvent and GstMessage
20780 * gst/gstelement.c: (gst_element_post_message): fix for API changes
20781 * gst/gstmarshal.list: change BOXED -> OBJECT
20783 Implement GstMiniObject.
20784 * gst/gstminiobject.c:
20785 * gst/gstminiobject.h:
20787 Modify to be subclasses of GstMiniObject.
20788 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
20789 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
20790 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
20791 (gst_subbuffer_get_type), (gst_subbuffer_init),
20792 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
20795 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
20796 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
20797 (_gst_event_copy), (gst_event_new):
20799 * gst/gstmessage.c: (_gst_message_initialize),
20800 (gst_message_get_type), (gst_message_class_init),
20801 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
20802 (gst_message_new), (gst_message_new_error),
20803 (gst_message_new_warning), (gst_message_new_tag),
20804 (gst_message_new_state_changed), (gst_message_new_application):
20805 * gst/gstmessage.h:
20806 * gst/gstprobe.c: (gst_probe_perform),
20807 (gst_probe_dispatcher_dispatch):
20809 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
20810 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
20811 (_gst_query_copy), (gst_query_new):
20813 Update elements for GstData -> GstMiniObject changes
20815 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
20816 (gst_queue_chain), (gst_queue_loop):
20817 * gst/elements/gstbufferstore.c:
20818 (gst_buffer_store_add_buffer_func),
20819 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
20820 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
20821 (gst_fakesink_render):
20822 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
20823 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
20824 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
20825 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
20826 (gst_filesrc_create_read):
20827 * gst/elements/gstidentity.c: (gst_identity_class_init):
20828 * gst/elements/gsttypefindelement.c:
20829 (gst_type_find_element_src_event), (free_entry_buffers),
20830 (gst_type_find_element_handle_event):
20831 * libs/gst/dataprotocol/dataprotocol.c:
20832 (gst_dp_header_from_buffer):
20833 * libs/gst/dataprotocol/dataprotocol.h:
20834 * libs/gst/dataprotocol/dp-private.h:
20836 2005-05-15 David Schleef <ds@schleef.org>
20838 * gst/elements/gstelements.c: Don't include headers that were
20841 2005-05-15 David Schleef <ds@schleef.org>
20843 * gst/elements/Makefile.am: Remove some elements that don't
20844 need to be in the core (or even exist at all).
20845 * gst/elements/gstaggregator.c:
20846 * gst/elements/gstaggregator.h:
20847 * gst/elements/gstmd5sink.c:
20848 * gst/elements/gstmd5sink.h:
20849 * gst/elements/gstmultifilesrc.c:
20850 * gst/elements/gstmultifilesrc.h:
20851 * gst/elements/gstpipefilter.c:
20852 * gst/elements/gstpipefilter.h:
20853 * gst/elements/gstshaper.c:
20854 * gst/elements/gstshaper.h:
20855 * gst/elements/gststatistics.c:
20856 * gst/elements/gststatistics.h:
20857 * po/POTFILES.in: Remove above files.
20859 2005-05-14 Andy Wingo <wingo@pobox.com>
20861 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
20862 so as to get the refs right.
20863 (sink_iterator_filter): New function, wraps bin_element_is_sink,
20864 unreffing objects that don't pass the filter.
20866 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
20867 gst_element_set_bus.
20868 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
20869 normal cases, this will destroy the bus.
20871 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
20874 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
20877 2005-05-13 Andy Wingo <wingo@pobox.com>
20879 * gst/gstutils.c (gst_element_link_pads): Instead of calling
20880 gst_pad_link, call pad_link_maybe_ghosting,
20881 (pad_link_maybe_ghosting): Links pads, making sure that the
20882 elements being linked are in the same bin.
20883 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
20884 Helpers for pad_link_maybe_ghosting.
20886 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
20889 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
20891 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
20893 * docs/design/part-element-source.txt:
20896 2005-05-12 Wim Taymans <wim@fluendo.com>
20898 * gst/base/gstbasesink.c: (gst_basesink_init),
20899 (gst_basesink_activate):
20900 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
20901 (gst_basesrc_is_seekable):
20902 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
20903 (bin_element_is_sink), (gst_bin_change_state):
20904 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
20905 * gst/gstelement.h:
20906 Identify sinks by their flag to avoid overly complicated
20908 Do state changes even for elements not reachable from the
20910 BaseSink is a sink now :)
20911 Some more debugging info in the basesrc.
20914 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20916 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
20917 Implement _query on a bin, similar to _send_event.
20919 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
20921 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
20922 Discont event offset format should be GST_FORMAT_BYTES,
20923 not GST_FORMAT_TIME.
20925 2005-05-12 Wim Taymans <wim@fluendo.com>
20927 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
20928 Same fix as Ronald's but without the signal.
20930 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20932 * gst/gstutils.c: (gst_element_query_position):
20933 No, an element is not a pad.
20935 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20937 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
20938 (gst_bin_get_state):
20939 If a child is removed from a bin while we remove the child from
20940 the bin and while we're retrieving its state, signal this to the
20941 get_state function so we abort the wait (instead of waiting for
20942 a timeout) and can immediately re-iterate over all other elements.
20944 2005-05-12 Wim Taymans <wim@fluendo.com>
20946 * gst/base/Makefile.am:
20947 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
20948 (gst_basesrc_start):
20949 * gst/base/gstbasesrc.h:
20950 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
20951 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
20952 (gst_pushsrc_init), (gst_pushsrc_create):
20953 * gst/base/gstpushsrc.h:
20954 Added is_seekable to BaseSrc
20955 Added simple PushSrc.
20957 2005-05-11 Wim Taymans <wim@fluendo.com>
20959 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
20960 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
20961 (gst_element_link_pads), (gst_element_query_position),
20962 (gst_element_query_convert), (intersect_caps_func),
20963 (gst_pad_query_position), (gst_pad_query_convert):
20964 Fix refcounting in utils function.
20965 No point in trying to activate a pad when it's added, it could
20966 be added from the state change function and then we deadlock, the
20967 element has to decide what to do.
20969 2005-05-10 Andy Wingo <wingo@pobox.com>
20971 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
20972 *all* the arguments.
20974 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
20975 stream lock if it's a FLUSH_DONE; normal flushes don't get the
20976 lock (according to the docs -- if this is wrong change the docs).
20978 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
20979 flush messages in the NULL state.
20981 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
20982 message immediately and return.
20983 (gst_bus_set_flushing): New function. If a bus is flushing, it
20984 flushes out any queued messages and immediately unrefs new
20985 messages. This is so when an element goes to NULL, all of the
20986 unhandled messages coming from it can be freed, and their
20987 references to the element dropped. In other words: message source
20988 ref considered harmful :P
20990 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
20991 we're finished with it.
20993 * gst/gstmessage.c (gst_message_new_state_changed):
20995 2005-05-10 Wim Taymans <wim@fluendo.com>
20997 * gst/gstvalue.c: (gst_value_compare_flags),
20998 (gst_value_serialize_flags), (gst_value_deserialize_flags),
20999 (_gst_value_initialize):
21000 Added flags serialize/deserialize/compare code.
21002 2005-05-09 Andy Wingo <wingo@pobox.com>
21004 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21005 Intersect the peer's caps with our caps.
21007 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21009 * gst/base/gsttypefindhelper.c: (helper_find_peek):
21010 * gst/elements/gsttypefindelement.c: (find_peek):
21011 Handle negative offsets better. Fixes decodebin.
21013 2005-05-09 Wim Taymans <wim@fluendo.com>
21015 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21016 (gst_base_transform_event):
21017 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21018 Implement accept_caps.
21019 Fix silly lock/unlock mismatch in base class.
21021 2005-05-09 Wim Taymans <wim@fluendo.com>
21023 * docs/design/draft-push-pull.txt:
21024 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21025 * gst/elements/gstfilesink.c: (gst_filesink_init),
21026 (gst_filesink_query):
21027 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21028 (gst_type_find_handle_src_query), (find_element_get_length):
21029 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21030 * gst/gstelement.h:
21031 * gst/gstmessage.c:
21032 * gst/gstmessage.h:
21033 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21034 (gst_real_pad_get_caps_unlocked),
21035 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21036 (gst_pad_event_default_dispatch), (gst_pad_event_default),
21037 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21038 (gst_real_pad_dispose), (gst_real_pad_finalize),
21039 (gst_pad_load_and_link), (gst_pad_save_thyself),
21040 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21041 (gst_pad_check_pull_range), (gst_pad_pull_range),
21042 (gst_pad_template_get_type), (gst_pad_template_class_init),
21043 (gst_pad_template_init), (gst_pad_template_dispose),
21044 (name_is_valid), (gst_static_pad_template_get),
21045 (gst_pad_template_new), (gst_static_pad_template_get_caps),
21046 (gst_pad_template_get_caps), (gst_pad_set_element_private),
21047 (gst_pad_get_element_private), (gst_pad_start_task),
21048 (gst_pad_pause_task), (gst_pad_stop_task),
21049 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21050 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21051 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21052 (gst_ghost_pad_new):
21054 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21055 (gst_query_new_position), (gst_query_set_position),
21056 (gst_query_parse_position), (gst_query_new_convert),
21057 (gst_query_set_convert), (gst_query_parse_convert):
21059 * gst/gstqueryutils.c:
21060 * gst/gstqueryutils.h:
21061 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21062 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21063 (gst_queue_handle_src_query):
21064 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21065 (gst_element_query_position), (gst_element_query_convert),
21066 (intersect_caps_func), (gst_pad_query_position),
21067 (gst_pad_query_convert):
21069 * tools/gst-inspect.c: (print_pad_info):
21070 * tools/gst-xmlinspect.c: (print_element_info):
21071 Remove old query functions. Ported old code.
21072 Added position/convert helper functions to gstutils.
21073 Reordered gstpad.c code, grouping relevant things.
21074 Remove gst_message_new(), always need to speficy a specific
21078 2005-05-09 Andy Wingo <wingo@pobox.com>
21080 * gst/gstiterator.h: Add some includes.
21082 * gst/gstqueryutils.h: Include more headers.
21085 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21086 some uses of gst_pad_query.
21088 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21089 NULL out parameters.
21090 (gst_query_new_position): New proc, allocates a new position
21093 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21094 gstqueryutils.c to the build.
21096 * gst/gststructure.c (gst_structure_set_valist): Implement with
21097 the generic G_VALUE_COLLECT.
21099 2005-05-08 Edward Hervey <bilboed@bilboed.com>
21101 * gst/Makefile.am: (gst_headers):
21102 Added gstqueryutils.h to the list of headers to install, that was
21103 a 'nachty' move wingo :)
21105 2005-05-06 Andy Wingo <wingo@pobox.com>
21108 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21109 GstData, init a memchunk.
21110 (standard_definitions): Add a few query types, deprecate a few.
21111 (gst_query_get_type): New proc.
21112 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21114 (gst_query_new_application, gst_query_get_structure): New public
21117 * docs/design/draft-query.txt: Removed LINKS from the query types,
21118 because all the rest can be dispatched to other pads -- seemed
21119 ugly to have a query that couldn't be dispatched. internal_links
21120 is fine as a pad method.
21122 * gst/gstpad.h: Add query2 as a pad method, add the new functions
21123 in gstpad.c, but maintain binary compatibility for the moment.
21124 Will fix before 0.9 is out.
21126 * gst/gstqueryutils.c:
21127 * gst/gstqueryutils.h: New files, implement 3 methods for each
21128 query type: parse_query, parse_response, and set. Probably need an
21131 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21133 * gst/elements/gstfilesink.c (gst_filesink_query2):
21134 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21135 query_types, and formats methods.
21137 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21138 (gst_pad_set_query2_function): New functions.
21139 (gst_real_pad_init): Set query2_default as the default query2
21140 function. Basically just dispatches to internally linked pads.
21144 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21145 without using the atomic operations. Only one thread can possibly
21146 be accessing the data at this point. Changed so as to avoid
21147 gst_atomic operations.
21149 2005-05-06 Wim Taymans <wim@fluendo.com>
21151 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21152 Also set caps if we use the fallback buffer alloc.
21154 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
21156 * docs/gst/Makefile.am:
21157 * docs/gst/gstreamer-docs.sgml:
21158 * docs/gst/gstreamer-sections.txt:
21159 * docs/gst/tmpl/gstatomic.sgml:
21160 * docs/gst/tmpl/gstmemchunk.sgml:
21161 * testsuite/elements/struct_i386.h:
21162 * win32/GStreamer.vcproj:
21164 Purge GstAtomic stuff from docs and win32 makefiles as well
21166 2005-05-06 Wim Taymans <wim@fluendo.com>
21168 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21169 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21170 * gst/gstpad.c: (gst_pad_peer_get_caps):
21171 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21172 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21173 (gst_queue_src_activate), (gst_queue_change_state):
21175 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21176 (intersect_caps_func):
21177 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21178 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21179 Some fixes for the peer_get_caps() change.
21181 2005-05-06 Wim Taymans <wim@fluendo.com>
21183 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21184 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21185 (gst_basesink_activate):
21186 Actually do something with error codes returned from the push
21189 2005-05-06 Wim Taymans <wim@fluendo.com>
21191 * docs/design/part-element-sink.txt:
21192 * docs/design/part-element-source.txt:
21193 * gst/base/gstbasesink.c: (gst_basesink_class_init),
21194 (gst_basesink_event), (gst_basesink_activate):
21195 * gst/base/gstbasesink.h:
21196 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21197 (gst_basesrc_activate):
21198 * gst/base/gstbasesrc.h:
21199 * gst/gstelement.c: (gst_element_pads_activate):
21200 Some more documentation.
21201 Fixed scheduling decision in _pads_activate().
21203 2005-05-05 Andy Wingo <wingo@pobox.com>
21205 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21208 2005-05-05 Wim Taymans <wim@fluendo.com>
21210 * gst/base/Makefile.am:
21211 * gst/base/gstbasesink.h:
21212 * gst/base/gstbasesrc.c: (gst_basesrc_init),
21213 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21214 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21215 (gst_collectpads_class_init), (gst_collectpads_init),
21216 (gst_collectpads_finalize), (gst_collectpads_new),
21217 (gst_collectpads_set_function), (gst_collectpads_add_pad),
21218 (find_pad), (gst_collectpads_remove_pad),
21219 (gst_collectpads_is_active), (gst_collectpads_collect),
21220 (gst_collectpads_collect_range), (gst_collectpads_start),
21221 (gst_collectpads_stop), (gst_collectpads_peek),
21222 (gst_collectpads_pop), (gst_collectpads_available),
21223 (gst_collectpads_read), (gst_collectpads_flush),
21224 (gst_collectpads_chain):
21225 * gst/base/gstcollectpads.h:
21226 * gst/elements/Makefile.am:
21227 * gst/elements/gstelements.c:
21228 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21229 (gst_fakesink_get_times), (gst_fakesink_event),
21230 (gst_fakesink_preroll), (gst_fakesink_render):
21231 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21232 (gst_filesink_init), (gst_filesink_set_location),
21233 (gst_filesink_open_file), (gst_filesink_close_file),
21234 (gst_filesink_pad_query), (gst_filesink_event),
21235 (gst_filesink_render), (gst_filesink_change_state):
21236 * gst/elements/gstfilesink.h:
21237 Added object to help in making collect pad based elements.
21239 Make event function in sink baseclass return gboolean.
21241 2005-05-05 Wim Taymans <wim@fluendo.com>
21243 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21244 (gst_bin_get_by_name):
21246 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21247 (gst_clock_finalize):
21248 * gst/gstdata.c: (gst_data_replace):
21250 * gst/gstelement.c: (gst_element_request_pad),
21251 (gst_element_pads_activate):
21252 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21253 (gst_object_unref):
21254 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21255 (gst_pad_set_checkgetrange_function),
21256 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21257 (gst_pad_check_pull_range), (gst_pad_pull_range),
21258 (gst_static_pad_template_get_caps), (gst_pad_start_task),
21259 (gst_pad_pause_task), (gst_pad_stop_task):
21260 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21261 (gst_element_request_pad), (gst_pad_proxy_getcaps):
21262 Fix name lookup in GstBin.
21263 Added _data_replace() function and _buffer_replace()
21264 Use finalize method to clean up clock.
21265 Fix refcounting on request pads.
21266 Fix pad schedule mode error.
21267 Some more object refcounting debug info,
21270 2005-05-04 Andy Wingo <wingo@pobox.com>
21272 * check/Makefile.am:
21273 * docs/gst/tmpl/gstatomic.sgml:
21274 * docs/gst/tmpl/gstplugin.sgml:
21275 * gst/base/gstbasesink.c: (gst_basesink_activate):
21276 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21277 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21278 (gst_basesrc_query), (gst_basesrc_set_property),
21279 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21280 (gst_basesrc_activate):
21281 * gst/base/gstbasesrc.h:
21282 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21283 (gst_base_transform_src_activate):
21284 * gst/elements/gstelements.c:
21285 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21286 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21287 * gst/elements/gsttee.c: (gst_tee_sink_activate):
21288 * gst/elements/gsttypefindelement.c: (find_element_get_length),
21289 (gst_type_find_element_checkgetrange),
21290 (gst_type_find_element_activate):
21291 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21292 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21293 (gst_caps_load_thyself):
21294 * gst/gstelement.c: (gst_element_pads_activate),
21295 (gst_element_save_thyself), (gst_element_restore_thyself):
21296 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21297 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21299 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21300 (gst_xml_parse_file), (gst_xml_parse_memory),
21301 (gst_xml_get_element), (gst_xml_make_element):
21302 * gst/indexers/gstfileindex.c: (gst_file_index_load),
21303 (_file_index_id_save_xml), (gst_file_index_commit):
21304 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21305 (read_enum), (load_pad_template), (load_feature), (load_plugin),
21307 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21308 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21309 * tools/gst-complete.c: (main):
21310 * tools/gst-compprep.c: (main):
21311 * tools/gst-inspect.c: (print_element_properties_info):
21312 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21313 * tools/gst-xmlinspect.c: (print_element_properties):
21316 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
21318 * gst/gstplugin.c: (gst_plugin_check_module),
21319 (gst_plugin_check_file), (gst_plugin_load_file):
21320 apply patch from #172526 to make register work on MacOSX
21322 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
21324 * docs/gst/tmpl/gstconfig.sgml:
21325 * gst/gstconfig.h.in:
21326 move documentation for some symbols. Add doc for GST_PTR_FORMAT
21327 * testsuite/debug/printf_extension.c: (main):
21328 Do not use GST_PTR_FORMAT on pointers to types with
21329 sizeof < sizeof(gpointer). Fixes test on 64-bit
21330 * testsuite/elements/property.h:
21331 use correct printf format
21333 2005-05-02 Wim Taymans <wim@fluendo.com>
21335 * docs/design/draft-push-pull.txt:
21336 * docs/design/draft-query.txt:
21337 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21338 (gst_basesrc_start):
21339 Added draft for new query API.
21340 Added draft for better selecting scheduling methods.
21341 Make basesrc ignore length if the subclass does not support
21344 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
21347 possible fixes for automake-1.5 - _LIBADD is reserved
21349 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
21351 * docs/faq/Makefile.am:
21352 * docs/manual/Makefile.am:
21353 * docs/manuals.mak:
21354 * docs/pwg/Makefile.am:
21356 possible fixes for automake-1.5
21358 2005-04-28 Wim Taymans <wim@fluendo.com>
21360 * gst/base/gstbasesink.c: (gst_basesink_base_init),
21361 (gst_basesink_pad_getcaps), (gst_basesink_init),
21362 (gst_basesink_do_sync):
21363 * gst/gstclock.c: (gst_clock_entry_new):
21364 * gst/gstevent.c: (gst_event_discont_get_value):
21365 * gst/gstpipeline.c: (pipeline_bus_handler),
21366 (gst_pipeline_change_state):
21367 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21368 Better debugging of clocking info.
21369 Allow NULL values when getting discont values.
21371 2005-04-27 Wim Taymans <wim@fluendo.com>
21373 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21374 * check/gst/gstpad.c: (gst_pad_suite):
21375 Increase timeout for checks.
21377 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
21379 * check/Makefile.am:
21380 fix the broken rule for cleanup. Apparently this rule is
21381 only needed on FC2, so maybe this warrants further autotool
21384 2005-04-26 Wim Taymans <wim@fluendo.com>
21386 * gst/gsttrashstack.h:
21387 Ooohh. a nasty one! After having a failed pop() from the stack,
21388 it's possible that the stack is empty. In that case, don't
21389 follow the NULL pointer.
21391 2005-04-25 Wim Taymans <wim@fluendo.com>
21393 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21394 (gst_pad_set_checkgetrange_function),
21395 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21396 (gst_pad_check_pull_range), (gst_pad_pull_range),
21397 (gst_static_pad_template_get_caps), (gst_pad_start_task),
21398 (gst_pad_pause_task), (gst_pad_stop_task):
21399 * gst/gstplugin.c: (gst_plugin_load):
21401 Remove gst_library_load as it does more harm than good with
21402 the new g_module flags.
21403 Revert bogus caps template check in pad linking, pad caps
21404 are important when linking not the template, which is more
21405 general than the current caps.
21407 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21409 * gst/autoplug/.cvsignore:
21410 * gst/autoplug/Makefile.am:
21411 * gst/autoplug/gstsearchfuncs.c:
21412 * gst/autoplug/gstsearchfuncs.h:
21413 * gst/autoplug/gstspider.c:
21414 * gst/autoplug/gstspider.h:
21415 * gst/autoplug/gstspideridentity.c:
21416 * gst/autoplug/gstspideridentity.h:
21417 * gst/autoplug/spidertest.c:
21420 2005-04-25 Wim Taymans <wim@fluendo.com>
21422 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21423 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21424 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
21425 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
21427 Added stubs for unimplemented functions.
21429 2005-04-24 David Schleef <ds@schleef.org>
21431 * gst/gstpad.h: Disable some unimplemented functions. Wim,
21434 2005-04-24 David Schleef <ds@schleef.org>
21436 Convert everything from GstAtomicInt to g_atomic_int_*, and
21441 * gst/gstatomic_impl.h:
21449 * gst/gstdata_private.h:
21453 * gst/gstmessage.c:
21456 * gst/gststructure.c:
21457 * gst/gststructure.h:
21458 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
21461 2005-04-24 David Schleef <ds@schleef.org>
21463 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
21464 make the regressions tests work. Remove some code that is no
21466 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
21467 Disable warning for pads without templates.
21469 2005-04-24 David Schleef <ds@schleef.org>
21471 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
21472 functions that handle filtered links.
21473 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
21475 * gst/gstutils.c: Fix/remove utility functions that handle
21478 * gst/gstvalue.c: Add serialization/deserialization of caps
21479 * gst/parse/grammar.y: Ignore filtered caps when linking. This
21480 requires fixing so that the filter caps notation creates
21481 a capsfilter element and sets the filter_caps property. I
21482 think everyone probably wants to keep the shorthand notation.
21483 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
21484 * docs/gst/tmpl/gstpad.sgml:
21486 * gst/elements/gstelements.c: Register capsfilter element.
21487 * gst/Makefile.am: fix spacing
21488 * docs/random/ds/0.9-suggested-changes: random
21490 2005-04-23 David Schleef <ds@schleef.org>
21492 * gst/elements/Makefile.am:
21493 * gst/elements/gstcapsfilter.c: New element that acts like an
21494 identity, but filters caps. Will eventually replace filtered
21495 caps in pad linking.
21496 * gst/gstutils.c: (gst_element_create_all_pads): New function
21497 to create all the ALWAYS pads that are registered with an
21498 element class. This functionality should eventually be
21499 merged in with GstElement initialization.
21501 * testsuite/trigger/README: part of trigger test code that should
21502 have been checked in a long time ago.
21504 2005-04-23 David Schleef <ds@schleef.org>
21506 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
21507 needed with new versions of libtool (nobody will confirm this),
21508 and hard to carry around.
21509 * gst/autoplug/Makefile.am:
21510 * gst/base/Makefile.am:
21511 * gst/elements/Makefile.am:
21512 * gst/indexers/Makefile.am:
21513 * gst/schedulers/Makefile.am:
21514 * libs/gst/bytestream/Makefile.am:
21515 * libs/gst/control/Makefile.am:
21516 * libs/gst/dataprotocol/Makefile.am:
21517 * libs/gst/getbits/Makefile.am:
21519 2005-04-21 Wim Taymans <wim@fluendo.com>
21521 * docs/design/draft-push-pull.txt:
21522 * docs/design/part-MT-refcounting.txt:
21523 * docs/design/part-TODO.txt:
21524 * docs/design/part-caps.txt:
21525 * docs/design/part-events.txt:
21526 * docs/design/part-gstbus.txt:
21527 * docs/design/part-gstpipeline.txt:
21528 * docs/design/part-messages.txt:
21529 * docs/design/part-push-pull.txt:
21530 * docs/design/part-query.txt:
21533 2005-04-21 Wim Taymans <wim@fluendo.com>
21535 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
21536 (gst_message_new), (gst_message_new_error),
21537 (gst_message_new_warning), (gst_message_new_tag),
21538 (gst_message_new_state_changed), (gst_message_new_application),
21539 (gst_message_get_structure):
21540 * gst/gstmessage.h:
21541 * gst/gststructure.c: (gst_structure_set_parent_refcount),
21542 (gst_structure_copy_conditional):
21543 Use parent refcount in GstMessage to ensure GstStructure
21545 Cleaned up headers a bit.
21548 2005-04-20 Wim Taymans <wim@fluendo.com>
21550 * gst/base/gstbasesink.c: (gst_basesink_base_init),
21551 (gst_basesink_pad_getcaps), (gst_basesink_init),
21552 (gst_basesink_chain_unlocked):
21553 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
21554 (gst_type_find_helper):
21555 * gst/elements/gsttypefindelement.c:
21556 (gst_type_find_element_have_type), (gst_type_find_element_init),
21557 (stop_typefinding), (gst_type_find_element_handle_event),
21558 (find_suggest), (gst_type_find_element_chain),
21559 (gst_type_find_element_checkgetrange),
21560 (gst_type_find_element_getrange), (do_typefind),
21561 (gst_type_find_element_activate):
21562 * gst/gstbuffer.c: (_gst_buffer_sub_free),
21563 (gst_buffer_default_free), (gst_buffer_default_copy),
21564 (gst_buffer_set_caps):
21565 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
21566 (gst_caps_replace):
21567 * gst/gstmessage.c: (gst_message_new),
21568 (gst_message_new_state_changed):
21569 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21570 (gst_pad_set_checkgetrange_function),
21571 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
21572 (gst_pad_set_caps), (gst_pad_check_pull_range),
21573 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
21575 * gst/gsttypefind.c: (gst_type_find_register):
21576 Make gst_caps_replace() work like other _replace() functions.
21577 Use _caps_replace() where possible.
21578 Make sure _message_new() initialises its field.
21579 Add gst_static_pad_template_get_caps()
21582 2005-04-18 Andy Wingo <wingo@pobox.com>
21584 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
21585 on the peer, not the pad. I think that was a typo. Pass an extra
21586 arg to see if random access is possible. Activate the pads as
21587 PULL_RANGE if possible.
21589 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
21591 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
21592 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
21595 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21597 * docs/faq/using.xml:
21598 Add note on gstreamer-properties (#154996).
21600 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21602 * docs/random/bbb/optional-properties:
21603 Some analysis on optional properties.
21605 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21607 * docs/gst/tmpl/gstelementfactory.sgml:
21608 * gst/gstelement.h:
21609 * gst/gstelementfactory.c: (gst_element_factory_init),
21610 (gst_element_factory_cleanup), (gst_element_register),
21611 (__gst_element_factory_add_static_pad_template),
21612 (gst_element_factory_get_static_pad_templates),
21613 (gst_element_factory_can_src_caps),
21614 (gst_element_factory_can_sink_caps):
21615 * gst/registries/Makefile.am:
21616 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
21617 (gst_xml_registry_class_init), (gst_xml_registry_init),
21618 (gst_xml_registry_new), (gst_xml_registry_set_property),
21619 (gst_xml_registry_get_property), (get_time), (make_dir),
21620 (gst_xml_registry_get_perms_func),
21621 (plugin_times_older_than_recurse), (plugin_times_older_than),
21622 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
21623 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
21624 (add_to_char_array), (read_string), (read_uint), (read_enum),
21625 (load_pad_template), (load_feature), (load_plugin), (load_paths),
21626 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
21627 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
21628 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
21629 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
21630 (gst_xml_registry_rebuild):
21631 * gst/registries/gstlibxmlregistry.h:
21632 * tools/gst-compprep.c: (main):
21633 * tools/gst-inspect.c: (print_pad_templates_info):
21634 * tools/gst-xmlinspect.c: (print_element_info):
21635 Use libxml2 for registry parsing, use staticpadtemplates in
21636 elementfactories. Makes gst_init() +/- 10x faster.
21638 2005-04-12 Wim Taymans <wim@fluendo.com>
21640 * gst/base/Makefile.am:
21641 * gst/base/gstbasesink.c: (gst_basesink_base_init),
21642 (gst_basesink_pad_getcaps), (gst_basesink_init),
21643 (gst_basesink_event), (gst_basesink_change_state):
21644 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21645 (gst_basesrc_init), (gst_basesrc_query),
21646 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21647 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21648 (gst_basesrc_check_get_range), (gst_basesrc_loop),
21649 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21650 (gst_basesrc_stop), (gst_basesrc_activate),
21651 (gst_basesrc_change_state):
21652 * gst/base/gsttypefindhelper.c: (helper_find_peek),
21653 (helper_find_suggest), (gst_type_find_helper):
21654 * gst/base/gsttypefindhelper.h:
21655 * gst/elements/Makefile.am:
21656 * gst/elements/gstelements.c:
21657 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21658 (gst_fakesink_get_times), (gst_fakesink_event),
21659 (gst_fakesink_preroll), (gst_fakesink_render):
21660 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21661 (gst_fakesrc_init), (gst_fakesrc_event_handler),
21662 (gst_fakesrc_get_property), (gst_fakesrc_create),
21663 (gst_fakesrc_start), (gst_fakesrc_stop):
21664 * gst/elements/gstfakesrc.h:
21665 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
21666 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21667 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21668 (gst_filesrc_create_read), (gst_filesrc_create),
21669 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
21670 (gst_filesrc_start):
21671 * gst/elements/gsttypefindelement.c:
21672 (gst_type_find_element_have_type), (gst_type_find_element_init),
21673 (start_typefinding), (stop_typefinding), (push_buffer_store),
21674 (gst_type_find_element_handle_event),
21675 (gst_type_find_element_chain),
21676 (gst_type_find_element_checkgetrange),
21677 (gst_type_find_element_getrange), (do_typefind),
21678 (gst_type_find_element_activate),
21679 (gst_type_find_element_change_state):
21680 * gst/elements/gsttypefindelement.h:
21681 * gst/gstpipeline.c: (pipeline_bus_handler):
21682 Added typefind helper.
21683 Small preroll fix in the base sink.
21684 Disable typefind code in basesrc.
21685 Crude port of typefindelement.
21689 2005-04-11 Wim Taymans <wim@fluendo.com>
21691 * check/gst/gstbus.c: (gstbus_suite):
21692 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
21693 * check/gstcheck.h:
21694 Fix up the timeout so that the test does not fail.
21696 2005-04-06 Wim Taymans <wim@fluendo.com>
21699 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21700 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
21701 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21702 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21703 (gst_basesrc_check_get_range), (gst_basesrc_loop),
21704 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21705 (gst_basesrc_stop), (gst_basesrc_activate),
21706 (gst_basesrc_change_state), (basesrc_find_peek),
21707 (basesrc_find_suggest), (gst_basesrc_type_find):
21708 * gst/base/gstbasesrc.h:
21709 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
21710 (gst_filesrc_class_init), (gst_filesrc_init),
21711 (gst_filesrc_finalize), (gst_filesrc_set_location),
21712 (gst_filesrc_set_property), (gst_filesrc_get_property),
21713 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21714 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21715 (gst_filesrc_create_read), (gst_filesrc_create),
21716 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
21717 * gst/elements/gstfilesrc.h:
21718 * gst/gstelement.c: (gst_element_get_state_func),
21719 (gst_element_lost_state), (gst_element_pads_activate):
21720 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21721 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21722 (gst_pad_pull_range):
21724 More work on the generic source base class, implement seeking,
21726 Make filesrc extend the base source class.
21727 Added gst_pad_set_checkgetrange_function to GstPad.
21729 2005-04-06 Andy Wingo <wingo@pobox.com>
21731 * pkgconfig/gstreamer-base.pc.in:
21732 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
21734 * pkgconfig/Makefile.am:
21735 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
21737 2005-04-04 Wim Taymans <wim@fluendo.com>
21739 * gst/base/Makefile.am:
21741 * gst/base/gstbasesink.c: (gst_basesink_base_init),
21742 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
21743 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
21744 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
21745 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21746 (gst_basesrc_base_init), (gst_basesrc_class_init),
21747 (gst_basesrc_init), (gst_basesrc_get_formats),
21748 (gst_basesrc_get_query_types), (gst_basesrc_query),
21749 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
21750 (gst_basesrc_set_property), (gst_basesrc_get_property),
21751 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
21752 (gst_basesrc_loop), (gst_basesrc_activate),
21753 (gst_basesrc_change_state):
21754 * gst/base/gstbasesrc.h:
21755 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
21756 (gst_fakesrc_class_init), (gst_fakesrc_init),
21757 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
21758 (gst_fakesrc_get_property), (gst_fakesrc_create):
21759 * gst/elements/gstfakesrc.h:
21760 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
21761 (gst_filesrc_open_file), (gst_filesrc_loop),
21762 (gst_filesrc_activate), (filesrc_find_peek),
21763 (gst_filesrc_type_find):
21764 Made base source class, make fakesrc extend it.
21765 Add comments to basesink class.
21766 Some filesrc cleanup.
21768 2005-03-31 David Schleef <ds@schleef.org>
21770 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
21771 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
21772 expected to link against libgstreamer.
21773 * gst/base/Makefile.am: link against libgstreamer
21774 * gst/elements/Makefile.am: same
21776 2005-03-31 Andy Wingo <wingo@pobox.com>
21778 * tests/instantiate/Makefile.am:
21779 * tests/instantiate/caps.c: Add test to test speed of caps copy
21782 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
21783 GMemChunk to be fair.
21785 * gst/gsttrashstack.h: Remove warning about using the fallback
21786 trash stack implementation, it's still faster than malloc.
21788 2005-03-30 Andy Wingo <wingo@pobox.com>
21790 * tests/complexity.c: Add a copyright.
21792 2005-03-31 Wim Taymans <wim@fluendo.com>
21794 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
21795 (gst_base_transform_class_init), (gst_base_transform_init),
21796 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
21797 (gst_base_transform_get_property),
21798 (gst_base_transform_sink_activate),
21799 (gst_base_transform_src_activate),
21800 (gst_base_transform_change_state):
21801 * gst/base/gstbasetransform.h:
21802 * gst/elements/gstidentity.c: (gst_identity_class_init),
21803 (gst_identity_event), (gst_identity_check_perfect),
21804 (gst_identity_transform), (gst_identity_start),
21805 (gst_identity_stop):
21806 Added start/stop methods to transform base class so subclasses
21807 don't need to deal with state changes even.
21809 2005-03-31 Wim Taymans <wim@fluendo.com>
21811 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
21812 (gst_event_new_discontinuous), (gst_event_discont_get_value):
21814 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21815 (gst_pad_pull_range):
21816 Added rate to the discont event to prepare for variable speed
21817 and reverse playback.
21819 2005-03-29 David Schleef <ds@schleef.org>
21822 * testsuite/trigger/Makefile.am:
21823 * testsuite/trigger/trigger.c: A little example program to show
21824 how trigger-based elements can work.
21826 2005-03-29 Wim Taymans <wim@fluendo.com>
21828 * gst/base/Makefile.am:
21830 * gst/base/gstbasesink.c: (gst_basesink_get_type),
21831 (gst_basesink_base_init), (gst_basesink_class_init),
21832 (gst_basesink_pad_getcaps), (gst_basesink_init),
21833 (gst_basesink_activate), (gst_basesink_change_state):
21834 * gst/base/gstbasesink.h:
21835 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
21836 (gst_base_transform_base_init), (gst_base_transform_finalize),
21837 (gst_base_transform_class_init), (gst_base_transform_init),
21838 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
21839 (gst_base_transform_event), (gst_base_transform_getrange),
21840 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
21841 (gst_base_transform_set_property),
21842 (gst_base_transform_get_property),
21843 (gst_base_transform_sink_activate),
21844 (gst_base_transform_src_activate),
21845 (gst_base_transform_change_state):
21846 * gst/base/gstbasetransform.h:
21847 * gst/elements/gstidentity.c: (gst_identity_finalize),
21848 (gst_identity_class_init), (gst_identity_init),
21849 (gst_identity_event), (gst_identity_check_perfect),
21850 (gst_identity_transform), (gst_identity_set_property),
21851 (gst_identity_get_property), (gst_identity_change_state):
21852 * gst/elements/gstidentity.h:
21853 * gst/gstelement.c: (gst_element_get_state_func),
21854 (gst_element_lost_state), (gst_element_pads_activate):
21855 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21856 (gst_pad_check_pull_range), (gst_pad_pull_range):
21858 Simplify pad activation.
21859 Added function to check if pull_range can be performed.
21860 Error out when pulling inactive or flushing pads.
21861 Removed const from refcounted types as it does not make sense.
21862 Simplify pad templates in basesink
21863 Added base class for simple 1-to-1 transforms.
21864 Make identity subclass the base transform.
21866 2005-03-29 Andy Wingo <wingo@pobox.com>
21868 * docs/libs/gstreamer-libs-overrides.txt:
21869 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
21870 really don't understand what's going on, but like whatever. I want
21873 * docs/gst/Makefile.am:
21874 * docs/libs/Makefile.am: Dist the overrides files.
21876 * check/Makefile.am (clean-local): Remove .libs directories.
21878 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
21879 elements to EXTRA_DIST, so po/ files are happy.
21881 * po/POTFILES.in: Er, remove it here.
21883 * po/POTFILES: Remove gstspider.c.
21885 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
21887 * docs/libs/gstreamer-libs-docs.sgml:
21888 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
21891 * tests/complexity.c (main): Set the length of the preroll queue
21892 on the sinks to prevent a lockup.
21894 * libs/gst/dataprotocol/Makefile.am:
21895 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
21896 the same as the one in check/gst-libs/gdp.c.
21898 * po/, docs/gst/: Commit automatic changes to docs and po files.
21900 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
21901 the versioned libgstbase.
21903 * check/Makefile.am: Depend on an unversioned gst-register, seems
21904 to make autoconf happier.
21906 * gst/base/Makefile.am: Make libgstbase a versioned lib.
21908 2005-03-28 Wim Taymans <wim@fluendo.com>
21911 * docs/design/part-gstelement.txt:
21912 * docs/design/part-negotiation.txt:
21913 * docs/design/part-preroll.txt:
21914 * docs/design/part-scheduling.txt:
21915 * docs/design/part-states.txt:
21917 * gst/base/Makefile.am:
21919 * gst/base/gstbasesink.c: (gst_basesink_get_template),
21920 (gst_basesink_base_init), (gst_basesink_class_init),
21921 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
21922 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
21923 (gst_basesink_set_pad_functions),
21924 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
21925 (gst_basesink_set_property), (gst_basesink_get_property),
21926 (gst_base_sink_get_template), (gst_base_sink_get_caps),
21927 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
21928 (gst_basesink_preroll_queue_push),
21929 (gst_basesink_preroll_queue_empty),
21930 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
21931 (gst_basesink_event), (gst_basesink_get_times),
21932 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
21933 (gst_basesink_chain_unlocked), (gst_basesink_chain),
21934 (gst_basesink_loop), (gst_basesink_activate),
21935 (gst_basesink_change_state):
21936 * gst/base/gstbasesink.h:
21937 * gst/elements/Makefile.am:
21938 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
21939 (gst_fakesink_class_init), (gst_fakesink_init),
21940 (gst_fakesink_set_property), (gst_fakesink_get_property),
21941 (gst_fakesink_get_times), (gst_fakesink_event),
21942 (gst_fakesink_preroll), (gst_fakesink_render),
21943 (gst_fakesink_change_state):
21944 * gst/elements/gstfakesink.h:
21945 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
21946 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
21947 * gst/gstelement.c: (gst_element_add_pad),
21948 (gst_element_get_state_func), (gst_element_abort_state),
21949 (gst_element_commit_state), (gst_element_lost_state),
21950 (gst_element_set_state), (gst_element_pads_activate):
21951 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
21952 * gst/gstpipeline.c: (gst_pipeline_send_event),
21953 (gst_pipeline_change_state):
21954 Added state change code.
21955 Added/updated docs.
21956 Added sink base class, make fakesink extend the base class.
21957 Small cleanups in GstPipeline.
21959 2005-03-26 David Schleef <ds@schleef.org>
21961 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
21962 is broken and should be implemented in a different library.
21963 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
21964 * gst/gst.h: remove gstcpu.h
21965 * gst/gstcpu.c: remove
21966 * gst/gstcpu.h: remove
21967 * gst/Makefile.am.future: Remove this file. It's ancient.
21969 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21971 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
21972 (gst_bin_send_event):
21973 Add default event/set_manager handlers. The set_manager handler
21974 takes care that the manager is distributed over kids that were
21975 already in the bin before the manager was set. The event handler
21976 is a utility virtual function that sends the event over all sinks,
21977 so that gst_element_send_event (bin, event); has the expected
21979 * gst/gstpad.c: (gst_pad_event_default):
21980 Re-install default event handling for discontinuities, so that
21981 seeking works without requiring hacks in applications or extra
21983 * gst/gstpipeline.c: (gst_pipeline_class_init),
21984 (gst_pipeline_send_event):
21985 Half hack, half utility: set a pipeline to PAUSED for seek events,
21986 since that is the only way we can guarantee a/v sync. Means that
21987 you can do gst_element_seek (pipeline, method, pos); on a pipeline
21988 and it "just works".
21990 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21992 * gst/gstpipeline.c: (gst_pipeline_use_clock):
21993 Lock/unlock mismatch.
21995 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
21997 * docs/faq/gst-uninstalled:
21998 add gst-plugins-base
21999 * docs/gst/Makefile.am:
22000 don't error out until docs are fixed
22001 * docs/gst/gstreamer.types:
22004 2005-03-22 Wim Taymans <wim@fluendo.com>
22006 * check/Makefile.am:
22007 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22008 * gst/gststructure.c: (gst_structure_set_valist),
22009 (gst_structure_copy_conditional):
22010 Activated more tests.
22011 Added message test.
22012 Added G_TYPE_POINTER to GstStructure.
22015 2005-03-22 Wim Taymans <wim@fluendo.com>
22017 * docs/design/part-TODO.txt:
22018 * docs/design/part-events.txt:
22019 * docs/design/part-gstbin.txt:
22020 * docs/design/part-gstbus.txt:
22021 * docs/design/part-gstpipeline.txt:
22022 * docs/design/part-messages.txt:
22024 * gst/gstmessage.c:
22027 2005-03-21 Wim Taymans <wim@fluendo.com>
22029 * gst/gstbus.c: (gst_bus_post):
22030 Fix copy-and-paste error.
22032 2005-03-21 Wim Taymans <wim@fluendo.com>
22034 * check/Makefile.am:
22036 * gst/elements/Makefile.am:
22037 * gst/elements/gstelements.c:
22038 * gst/elements/gstfakesink.c: (gst_fakesink_init),
22039 (gst_fakesink_event), (gst_fakesink_chain):
22040 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22041 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22042 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22043 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22044 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22045 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22046 (gst_fakesrc_loop), (gst_fakesrc_activate),
22047 (gst_fakesrc_change_state):
22048 * gst/elements/gstfakesrc.h:
22049 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22050 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22051 (gst_filesrc_open_file), (gst_filesrc_loop),
22052 (gst_filesrc_activate), (gst_filesrc_change_state),
22053 (filesrc_find_peek), (filesrc_find_suggest),
22054 (gst_filesrc_type_find):
22055 * gst/elements/gstidentity.c: (gst_identity_finalize),
22056 (gst_identity_class_init), (gst_identity_init),
22057 (gst_identity_proxy_getcaps), (identity_queue_push),
22058 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22059 (gst_identity_getrange), (gst_identity_chain),
22060 (gst_identity_sink_loop), (gst_identity_src_loop),
22061 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22062 (gst_identity_set_property), (gst_identity_get_property),
22063 (gst_identity_change_state):
22064 * gst/elements/gstidentity.h:
22065 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22066 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22067 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22068 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22069 (gst_tee_sink_activate):
22070 * gst/elements/gsttee.h:
22071 * gst/gst.c: (gst_register_core_elements), (init_post):
22073 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22074 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22075 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22076 (gst_bin_change_state):
22078 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22079 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22080 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22081 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22082 (gst_bus_set_sync_handler), (gst_bus_create_watch),
22083 (bus_watch_callback), (bus_watch_destroy),
22084 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22085 (poll_timeout), (gst_bus_poll):
22089 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22090 (gst_element_post_message), (gst_element_message_full),
22091 (gst_element_get_state_func), (gst_element_get_state),
22092 (gst_element_abort_state), (gst_element_commit_state),
22093 (gst_element_lost_state), (gst_element_set_state),
22094 (gst_element_pads_activate), (gst_element_change_state),
22095 (gst_element_dispose), (gst_element_set_manager_func),
22096 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22097 (gst_element_set_manager), (gst_element_get_manager),
22098 (gst_element_set_bus), (gst_element_get_bus),
22099 (gst_element_set_scheduler), (gst_element_get_scheduler):
22100 * gst/gstelement.h:
22101 * gst/gstevent.c: (gst_event_new_segment_seek),
22102 (gst_event_new_flush):
22104 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22105 (_gst_message_free), (gst_message_get_type), (gst_message_new),
22106 (gst_message_new_eos), (gst_message_new_error),
22107 (gst_message_new_warning), (gst_message_new_tag),
22108 (gst_message_new_state_changed), (gst_message_new_application),
22109 (gst_message_get_structure), (gst_message_parse_tag),
22110 (gst_message_parse_state_changed), (gst_message_parse_error),
22111 (gst_message_parse_warning):
22112 * gst/gstmessage.h:
22113 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22114 (gst_real_pad_set_property), (gst_pad_set_active),
22115 (gst_pad_is_active), (gst_pad_set_blocked_async),
22116 (gst_pad_set_blocked), (gst_pad_is_blocked),
22117 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22118 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22119 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22120 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22121 (gst_pad_link_filtered), (gst_pad_relink_filtered),
22122 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22123 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22124 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22125 (gst_pad_set_caps), (gst_pad_configure_sink),
22126 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22127 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22128 (gst_real_pad_dispose), (gst_real_pad_finalize),
22129 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22130 (gst_pad_event_default_dispatch), (gst_pad_event_default),
22131 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22133 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22134 (pipeline_bus_handler), (gst_pipeline_change_state),
22135 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22136 * gst/gstpipeline.h:
22138 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22139 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22140 (gst_queue_link_src), (gst_queue_bufferalloc),
22141 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22142 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22143 (gst_queue_loop), (gst_queue_handle_src_event),
22144 (gst_queue_handle_src_query), (gst_queue_src_activate),
22145 (gst_queue_change_state):
22147 * gst/gstscheduler.c: (gst_scheduler_init),
22148 (gst_scheduler_dispose), (gst_scheduler_create_task),
22149 (gst_scheduler_factory_create):
22150 * gst/gstscheduler.h:
22151 * gst/gststructure.c: (gst_structure_get_type),
22152 (gst_structure_copy_conditional):
22153 * gst/gststructure.h:
22154 * gst/gsttaginterface.h:
22155 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22156 (gst_task_init), (gst_task_dispose), (gst_task_create),
22157 (gst_task_get_state), (gst_task_start), (gst_task_stop),
22163 * gst/schedulers/Makefile.am:
22164 * gst/schedulers/cothreads_compat.h:
22165 * gst/schedulers/entryscheduler.c:
22166 * gst/schedulers/faircothreads.c:
22167 * gst/schedulers/faircothreads.h:
22168 * gst/schedulers/fairscheduler.c:
22169 * gst/schedulers/gstbasicscheduler.c:
22170 * gst/schedulers/gstoptimalscheduler.c:
22171 * gst/schedulers/gthread-cothreads.h:
22172 * gst/schedulers/threadscheduler.c:
22173 (gst_thread_scheduler_task_get_type),
22174 (gst_thread_scheduler_task_class_init),
22175 (gst_thread_scheduler_task_init),
22176 (gst_thread_scheduler_task_start),
22177 (gst_thread_scheduler_task_stop),
22178 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22179 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22180 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22181 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22183 * libs/gst/Makefile.am:
22184 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22185 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22186 (gst_file_pad_parent_set):
22187 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22188 (gst_dp_event_from_packet):
22189 * tests/complexity.c: (main):
22190 * tests/mass_elements.c: (main):
22191 * testsuite/states/locked.c: (message_received), (main):
22192 * testsuite/states/parent.c: (main):
22193 * tools/gst-inspect.c: (print_element_flag_info),
22194 (print_implementation_info), (print_pad_info):
22195 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22197 * tools/gst-md5sum.c: (event_loop), (main):
22198 * tools/gst-typefind.c: (main):
22199 * tools/gst-xmlinspect.c: (print_element_info):
22201 Added GstBus for mainloop integration.
22202 Added GstMessage for sending notifications on the bus.
22203 Added GstTask as an abstraction for pipeline entry points.
22205 Removed Schedulers.
22206 Simplified GstQueue for multithreaded core.
22207 Made _link threadsafe, removed old capsnego.
22208 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22209 Added pad blocking functions.
22210 Reworked scheduling functions in GstPad to prepare for
22211 scheduling updates soon.
22212 Moved events out of data stream.
22213 Simplified GstEvent types.
22214 Added return values to push/pull.
22215 Removed clocking from GstElement.
22216 Added prototypes for state change function for next merge.
22217 Removed iterate from bins and state change management.
22218 Fixed some elements, disabled others for now.
22219 Fixed -inspect and -launch.
22220 Added check for GstBus.
22222 2005-03-10 Wim Taymans <wim@fluendo.com>
22224 * docs/design/part-MT-refcounting.txt:
22225 * docs/design/part-clocks.txt:
22226 * docs/design/part-gstelement.txt:
22227 * docs/design/part-gstobject.txt:
22228 * docs/design/part-standards.txt:
22229 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22230 (gst_bin_remove_func), (gst_bin_remove):
22234 * testsuite/clock/clock1.c: (main):
22235 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22237 * testsuite/dlopen/loadgst.c: (do_test):
22238 * testsuite/refcounting/bin.c: (add_remove_test1),
22239 (add_remove_test2), (main):
22240 * testsuite/refcounting/element.c: (main):
22241 * testsuite/refcounting/element_pad.c: (main):
22242 * testsuite/refcounting/pad.c: (main):
22243 * tools/gst-launch.c: (sigint_handler_sighandler):
22244 * tools/gst-typefind.c: (main):
22246 Added doc about clock.
22247 removed gst_bin_iterate_recurse_up(), marked methods
22249 Fix more testsuites.
22251 2005-03-09 Wim Taymans <wim@fluendo.com>
22253 * gst/gstpad.c: (gst_pad_get_direction),
22254 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22255 (gst_pad_collect_valist):
22256 * testsuite/bins/interface.c: (main):
22257 * testsuite/caps/audioscale.c: (test_caps):
22258 * testsuite/caps/caps.c: (test1), (test2), (test3):
22259 * testsuite/caps/deserialize.c: (main):
22260 * testsuite/caps/enumcaps.c: (main):
22261 * testsuite/caps/filtercaps.c: (main):
22262 * testsuite/caps/intersect2.c: (main):
22263 * testsuite/caps/random.c: (main):
22264 * testsuite/caps/renegotiate.c: (my_fixate), (main):
22265 * testsuite/caps/sets.c: (check_caps):
22266 * testsuite/caps/simplify.c: (check_caps), (main):
22267 * testsuite/caps/subtract.c: (check_caps):
22268 Fix _pad_get_direction wrt ghostpads.
22269 Fix caps testsuite.
22271 2005-03-09 Wim Taymans <wim@fluendo.com>
22273 * check/Makefile.am:
22274 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22275 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22276 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22277 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22278 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22279 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22280 (gst_bin_remove), (gst_bin_iterate_recurse_up),
22281 (bin_element_is_sink), (gst_bin_iterate_sinks),
22282 (gst_bin_iterate_all_by_interface):
22284 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22285 (gst_element_change_state), (gst_element_dispose),
22286 (gst_element_finalize), (gst_element_set_loop_function):
22287 * gst/gstelement.h:
22288 * gst/gstiterator.c: (find_custom_fold_func):
22289 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22290 (gst_pad_collectv), (gst_pad_collect_valist),
22291 (gst_pad_template_new):
22292 * gst/gstpipeline.c: (gst_pipeline_class_init),
22293 (gst_pipeline_dispose), (gst_pipeline_set_property),
22294 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22295 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22296 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22298 * gst/schedulers/entryscheduler.c:
22299 * gst/schedulers/gstbasicscheduler.c:
22300 (gst_basic_scheduler_cothreaded_chain),
22301 (gst_basic_scheduler_chain_add_element):
22302 * testsuite/bins/interface.c: (main):
22304 Added GstSystemClock test.
22305 Implemented clock distribution code in GstBin.
22306 Implemented iterate sinks method for future use.
22307 Rearranged gstelement.h
22308 Fix GstIterator comparison bug.
22309 Moved some code to GstPipeline, mostly clocking related.
22311 2005-03-09 Wim Taymans <wim@fluendo.com>
22314 * gst/gst_private.h:
22315 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22316 (gst_bin_remove_func), (gst_bin_remove),
22317 (gst_bin_get_by_name_recurse_up):
22318 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22319 (gst_clock_id_compare_func), (gst_clock_id_wait),
22320 (gst_clock_id_wait_async), (gst_clock_init),
22321 (gst_clock_adjust_unlocked), (gst_clock_get_time):
22322 * gst/gstelement.h:
22323 * gst/gstinfo.c: (_gst_debug_init):
22325 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22326 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22328 Bump version number, we're now 0.9.0
22329 Add future debugging category.
22330 Fix NULL _unref() in _get_by_name_recurse_up
22331 Rearrange gstpad.h.
22334 2005-03-08 Wim Taymans <wim@fluendo.com>
22336 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22337 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22338 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22339 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22340 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22341 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22342 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22343 * gst/elements/gstidentity.c: (gst_identity_class_init):
22344 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22345 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22346 * gst/elements/gstshaper.c: (gst_shaper_class_init):
22347 * gst/elements/gststatistics.c: (gst_statistics_class_init):
22348 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22350 * gst/gstelement.c: (gst_element_class_init),
22351 (gst_element_base_class_init), (gst_element_init),
22352 (gst_element_get_random_pad), (gst_element_wait_state_change),
22353 (gst_element_change_state), (gst_element_dispose),
22354 (gst_element_finalize), (gst_element_set_loop_function):
22355 * gst/gstelement.h:
22356 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22357 * gst/gstthread.c: (gst_thread_class_init),
22358 (gst_thread_release_children_locks), (gst_thread_change_state):
22359 * gst/schedulers/gstbasicscheduler.c:
22360 (gst_basic_scheduler_loopfunc_wrapper),
22361 (gst_basic_scheduler_chain_wrapper),
22362 (gst_basic_scheduler_src_wrapper),
22363 (gst_basic_scheduler_remove_element):
22364 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22365 Remove threadsafe properties. Fix elements because GObject
22366 complains when installing a property before declaring a
22367 set/get_property handler.
22368 Rearrange gstelement.h file, use STATE macros for state locks.
22369 Free mutexes in the finalize method instead of dispose.
22371 2005-03-08 Wim Taymans <wim@fluendo.com>
22373 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22374 * gst/gstthread.c: (gst_thread_release_children_locks):
22375 Added parentage check.
22376 Fix build og GstThread again.
22378 2005-03-08 Wim Taymans <wim@fluendo.com>
22380 * docs/design/part-MT-refcounting.txt:
22381 * docs/design/part-conventions.txt:
22382 * docs/design/part-gstobject.txt:
22383 * docs/design/part-relations.txt:
22384 * docs/design/part-standards.txt:
22385 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22386 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22387 (gst_bin_get_by_name), (gst_bin_get_by_interface),
22388 (gst_bin_iterate_all_by_interface):
22391 * gst/gstelement.c: (gst_element_class_init),
22392 (gst_element_change_state), (gst_element_set_loop_function):
22393 * gst/gstelement.h:
22394 * gst/gstiterator.c:
22395 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22396 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22397 (gst_object_dispatch_properties_changed), (gst_object_set_name),
22398 (gst_object_set_parent), (gst_object_unparent),
22399 (gst_object_check_uniqueness):
22401 Docs updates, clean up some headers.
22403 2005-03-07 Wim Taymans <wim@fluendo.com>
22405 * check/.cvsignore:
22406 * check/Makefile.am:
22407 * check/gst-libs/.cvsignore:
22408 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
22409 * check/gst/.cvsignore:
22410 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
22411 (START_TEST), (gstbus_suite), (main):
22412 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
22413 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
22414 (gst_data_suite), (main):
22415 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
22416 (add_fold_func), (gstiterator_suite), (main):
22417 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
22418 (thread_name_object), (thread_name_object_default),
22419 (gst_object_name_compare), (gst_object_suite), (main):
22420 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
22421 (gst_pad_suite), (main):
22422 * check/gstcheck.c: (gst_check_log_message_func),
22423 (gst_check_log_critical_func), (gst_check_init):
22424 * check/gstcheck.h:
22425 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
22426 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
22429 2005-03-07 Wim Taymans <wim@fluendo.com>
22431 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22432 (gst_list_iterator_next), (gst_list_iterator_resync),
22433 (gst_list_iterator_free), (gst_iterator_new_list),
22434 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
22435 (gst_iterator_free), (gst_iterator_push), (filter_next),
22436 (filter_resync), (filter_uninit), (filter_free),
22437 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
22438 (gst_iterator_foreach), (find_custom_fold_func),
22439 (gst_iterator_find_custom):
22440 * gst/gstiterator.h:
22441 Added missing files.
22443 2005-03-07 Wim Taymans <wim@fluendo.com>
22447 * docs/design/part-MT-refcounting.txt:
22448 * docs/design/part-conventions.txt:
22449 * docs/design/part-gstobject.txt:
22450 * docs/design/part-relations.txt:
22451 * examples/mixer/mixer.c: (main):
22452 * examples/thread/thread.c: (eos), (main):
22454 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
22455 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
22456 (gst_spider_plug_from_srcpad):
22457 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
22458 (gst_spider_identity_change_state),
22459 (gst_spider_identity_sink_loop_type_finding):
22460 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
22461 * gst/elements/gstidentity.c: (gst_identity_init):
22462 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
22463 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
22464 * gst/elements/gsttypefindelement.c: (free_entry):
22467 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
22468 (gst_bin_set_clock_func), (gst_bin_auto_clock),
22469 (gst_bin_set_index), (gst_bin_set_element_sched),
22470 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
22471 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
22472 (gst_bin_iterate_elements), (iterate_child_recurse),
22473 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
22474 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
22475 (compare_interface), (gst_bin_get_by_interface),
22476 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
22478 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
22479 (gst_buffer_default_free), (gst_buffer_default_copy),
22480 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
22481 (gst_buffer_create_sub):
22483 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
22484 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
22485 (gst_caps_unref), (gst_static_caps_get),
22486 (gst_caps_remove_and_get_structure), (gst_caps_append),
22487 (gst_caps_append_structure), (gst_caps_remove_structure),
22488 (gst_caps_copy_nth), (gst_caps_set_simple),
22489 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
22490 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
22491 (gst_caps_structure_intersect_field), (gst_caps_intersect),
22492 (gst_caps_structure_subtract_field), (gst_caps_subtract),
22493 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
22494 (gst_caps_structure_figure_out_union),
22495 (gst_caps_switch_structures), (gst_caps_do_simplify),
22496 (gst_caps_replace), (gst_caps_from_string),
22497 (gst_caps_copy_conditional):
22499 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
22500 (_gst_clock_id_free), (gst_clock_id_unref),
22501 (gst_clock_id_compare_func), (gst_clock_id_wait),
22502 (gst_clock_id_wait_async), (gst_clock_class_init),
22503 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
22504 (gst_clock_get_time), (gst_clock_set_time_adjust),
22505 (gst_clock_set_property), (gst_clock_get_property):
22508 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
22509 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
22511 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22512 (gst_element_requires_clock), (gst_element_provides_clock),
22513 (gst_element_set_clock), (gst_element_clock_wait),
22514 (gst_element_wait), (gst_element_set_time_delay),
22515 (gst_element_is_indexable), (gst_element_add_pad),
22516 (gst_element_add_ghost_pad), (gst_element_remove_pad),
22517 (pad_compare_name), (gst_element_get_static_pad),
22518 (gst_element_request_pad), (gst_element_get_request_pad),
22519 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
22520 (gst_element_class_get_pad_template_list),
22521 (gst_element_class_get_pad_template), (gst_element_error_func),
22522 (gst_element_get_random_pad), (gst_element_get_event_masks),
22523 (gst_element_send_event), (gst_element_seek),
22524 (gst_element_get_query_types), (gst_element_query),
22525 (gst_element_get_formats), (gst_element_convert),
22526 (gst_element_is_locked_state), (gst_element_set_locked_state),
22527 (gst_element_sync_state_with_parent), (gst_element_change_state),
22528 (gst_element_finalize), (gst_element_yield),
22529 (gst_element_interrupt), (gst_element_set_scheduler),
22530 (gst_element_get_scheduler), (gst_element_set_loop_function):
22531 * gst/gstelement.h:
22533 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
22534 (gst_format_get_by_nick), (gst_format_get_details),
22535 (gst_format_iterate_definitions):
22537 * gst/gstindex.c: (gst_index_gtype_resolver):
22540 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
22541 (gst_mem_chunk_free):
22542 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22543 (gst_object_ref), (gst_object_unref), (gst_object_sink),
22544 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
22545 (gst_object_dispatch_properties_changed),
22546 (gst_object_set_name_default), (gst_object_set_name),
22547 (gst_object_get_name), (gst_object_set_name_prefix),
22548 (gst_object_get_name_prefix), (gst_object_set_parent),
22549 (gst_object_get_parent), (gst_object_unparent),
22550 (gst_object_check_uniqueness), (gst_object_save_thyself),
22551 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
22552 (gst_object_set_property), (gst_object_get_property),
22553 (gst_object_get_path_string):
22555 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22556 (gst_real_pad_init), (gst_real_pad_get_property),
22557 (gst_pad_custom_new), (gst_pad_get_direction),
22558 (gst_pad_set_active), (gst_pad_is_active),
22559 (gst_pad_set_event_function), (gst_pad_is_linked),
22560 (gst_pad_link_free), (gst_pad_link_intersect),
22561 (gst_pad_link_fixate), (gst_pad_set_caps),
22562 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
22563 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
22564 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
22565 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
22566 (gst_pad_get_caps), (gst_pad_peer_get_caps),
22567 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
22568 (gst_pad_realize), (gst_pad_get_allowed_caps),
22569 (gst_real_pad_dispose), (gst_real_pad_finalize),
22570 (gst_pad_collectv), (gst_pad_collect_valist),
22571 (gst_pad_template_dispose), (gst_pad_template_new),
22572 (gst_pad_get_internal_links):
22574 * gst/gstpipeline.c: (gst_pipeline_dispose),
22575 (gst_pipeline_change_state):
22576 * gst/gstpipeline.h:
22578 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
22579 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
22580 * gst/gstpluginfeature.h:
22581 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
22582 * gst/gstquery.c: (_gst_query_type_initialize),
22583 (gst_query_type_register), (gst_query_type_get_by_nick),
22584 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
22586 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
22587 * gst/gstscheduler.c: (gst_scheduler_add_element),
22588 (gst_scheduler_factory_create):
22589 * gst/gststructure.c: (gst_structure_set_parent_refcount),
22590 (gst_structure_free), (gst_structure_set_name),
22591 (gst_structure_id_set_value), (gst_structure_set_value),
22592 (gst_structure_set_valist), (gst_structure_remove_field),
22593 (gst_structure_remove_fields),
22594 (gst_structure_remove_fields_valist),
22595 (gst_structure_remove_all_fields), (gst_structure_foreach),
22596 (gst_structure_map_in_place),
22597 (gst_caps_structure_fixate_field_nearest_int),
22598 (gst_caps_structure_fixate_field_nearest_double):
22599 * gst/gststructure.h:
22600 * gst/gstsystemclock.c: (gst_system_clock_class_init),
22601 (gst_system_clock_init), (gst_system_clock_dispose),
22602 (gst_system_clock_async_thread),
22603 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
22604 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
22605 * gst/gstsystemclock.h:
22606 * gst/gsttag.c: (gst_tag_list_add_value_internal),
22607 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
22608 * gst/gsttaginterface.c:
22609 * gst/gstthread.c: (gst_thread_dispose),
22610 (gst_thread_release_children_locks), (gst_thread_change_state),
22611 (gst_thread_main_loop):
22612 * gst/gsttrashstack.h:
22613 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
22615 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22616 (gst_element_request_pad), (gst_element_get_pad_from_template),
22617 (gst_element_request_compatible_pad),
22618 (gst_element_get_compatible_pad_filtered),
22619 (gst_element_get_compatible_pad), (gst_element_state_get_name),
22620 (gst_element_link_pads_filtered), (gst_element_link_filtered),
22621 (gst_element_link_many), (gst_element_link),
22622 (gst_element_link_pads), (gst_element_unlink_pads),
22623 (gst_element_unlink_many), (gst_element_unlink),
22624 (gst_pad_can_link_filtered), (gst_pad_can_link),
22625 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
22626 (gst_object_default_error), (gst_bin_add_many),
22627 (gst_bin_remove_many), (gst_element_populate_std_props),
22628 (gst_element_class_install_std_props), (gst_buffer_merge),
22629 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
22630 (link_fold_func), (gst_pad_proxy_setcaps):
22632 * gst/gstvalue.c: (gst_value_deserialize_string):
22633 * gst/parse/grammar.y:
22634 * gst/schedulers/gstbasicscheduler.c:
22635 (gst_basic_scheduler_cothreaded_chain),
22636 (gst_basic_scheduler_chain_recursive_add),
22637 (gst_basic_scheduler_pad_link):
22638 * gst/schedulers/gstoptimalscheduler.c:
22639 (get_group_schedule_function),
22640 (gst_opt_scheduler_state_transition),
22641 (gst_opt_scheduler_add_element), (element_get_reachables_func):
22642 * libs/gst/bytestream/bytestream.c:
22643 * libs/gst/dataprotocol/dataprotocol.c:
22644 (gst_dp_header_from_buffer):
22647 * tests/threadstate/threadstate2.c: (eos):
22648 * tools/gst-compprep.c: (main):
22649 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
22650 (print_pad_info), (print_children_info):
22651 * tools/gst-launch.c: (idle_func), (main):
22652 * tools/gst-md5sum.c: (idle_func), (main):
22653 * tools/gst-xmlinspect.c: (print_element_info):
22654 First THREADED backport attempt, focusing on adding locks and
22655 making sure the API is threadsafe. Needs more work. More docs
22658 2005-02-24 Andy Wingo <wingo@pobox.com>
22660 * tests/bench-complexity.scm:
22661 * tests/complexity.gnuplot: New files, good for running complexity
22664 * tests/Makefile.am:
22665 * tests/complexity.c: New test, sets up N elements, at each level
22666 teeing into M streams per element. Eeeenteresting.
22668 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
22669 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
22670 running bench-mass_elements.scm.
22672 * tests/bench-mass_elements.scm: New script, runs mass_elements
22673 for various numbers of identities, outputting the results to a
22674 file. Requires guile 1.6. Just for testing.
22676 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
22678 * gst/schedulers/fairscheduler.c:
22679 compile with debug disabled
22681 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
22684 hunting season on 0.9 is now OPEN