1 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
3 * gst/gstelement.c: (gst_element_get_request_pad),
4 (gst_element_class_get_request_pad_template):
5 Make gst_element_get_request_pad() create request pads only for
6 request pad templates and not for, say, sometimes pad templates.
8 2007-03-28 Stefan Kost <ensonic@users.sf.net>
10 * docs/design/draft-klass.txt:
11 Add example that needs more thinking.
13 * docs/design/draft-missing-plugins.txt:
14 More thoughts about wrapper plugins.
16 * docs/random/ensonic/embedded.txt:
17 * docs/random/ensonic/profiling.txt:
20 2007-03-25 Wim Taymans <wim@fluendo.com>
22 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
24 Only push the segment events in the PLAYING state for live sources.
26 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
28 * gst/gstpipeline.c: (gst_pipeline_change_state):
29 Modify the clock distribution path in PAUSED->PLAYING so that we
30 never attempt to choose a new clock unless we're actually leaving
31 the PAUSED state for the first time. This prevents choosing a
32 different clock when the state_change gets called for a 2nd time due
33 to some element doing an async state change.
35 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
37 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
38 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
39 (gst_pad_chain_unchecked), (gst_pad_push):
40 Revert last commit. This needs some more thoughts.
42 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
44 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
45 (gst_pad_chain_unchecked), (gst_pad_push):
46 Check in set_caps if the caps are compatible with the pad and remove
47 two functions that are redundant now. Fixes #421543.
49 2007-03-22 Wim Taymans <wim@fluendo.com>
51 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
52 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
53 Unref some more to make valgrind happy.
55 2007-03-22 Wim Taymans <wim@fluendo.com>
57 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
58 (gst_system_clock_id_wait_jitter),
59 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
60 Fix anoying regression that survived a few releases. When adding an
61 async entry while blocking on a sync entry, the sync entry will unblock
62 but still be busy, so it should continue to wait instead of returning
64 Add some comments here and there.
66 * tests/check/gst/gstsystemclock.c: (mixed_thread),
67 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
68 Add testcase for this.
70 2007-03-22 Wim Taymans <wim@fluendo.com>
72 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
73 Handle errors from the clock sync better, only UNSCHEDULED indicates a
74 WRONG_STATE and can silently pause the task. All other cases should
77 2007-03-22 Wim Taymans <wim@fluendo.com>
79 Patch by: <syrjala at sci dot fi>
81 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
82 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
85 2007-03-21 Michael Smith <msmith@fluendo.com>
87 * docs/pwg/advanced-types.xml:
88 Fix some errors in the typefinding docs pointed out on irc.
90 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
92 * libs/gst/base/gstbasesrc.c:
93 Clarify FIXME comment in the face of having added unlock_stop()
95 2007-03-21 Wim Taymans <wim@fluendo.com>
97 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
98 Prepare for release where we warn against possible app breakage in the
99 case of live pipelines along with an env var to enable/disable live
100 preroll mode (GST_COMPAT=[no-]live-preroll).
102 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
104 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
105 So we should use correct constants for checking for None offset.
107 2007-03-20 Wim Taymans <wim@fluendo.com>
109 * docs/design/part-block.txt:
110 Mention the fact that the newly switched element should be set to at
113 2007-03-20 Wim Taymans <wim@fluendo.com>
116 Fix compilation with registry disabled as spotted by Saur.
118 2007-03-20 Wim Taymans <wim@fluendo.com>
120 Patch by: Olivier Crete <tester at tester dot ca>
122 * gst/gstelement.c: (gst_element_sync_state_with_parent):
123 Look at the pending state too when syncing the element state to the
124 parent. Fixes #420133.
126 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
128 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
129 (gst_base_sink_change_state):
130 * libs/gst/base/gstbasesink.h:
131 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
132 (gst_base_src_default_event), (gst_base_src_unlock_stop),
133 (gst_base_src_deactivate):
134 * libs/gst/base/gstbasesrc.h:
135 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
136 for sub-classes to correctly clear any state they set trying to
137 unlock, such as clearing out unlock commands from a command fd.
139 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
140 (gst_fd_sink_render), (gst_fd_sink_unlock),
141 (gst_fd_sink_unlock_stop):
142 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
143 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
144 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
146 Implement unlock_stop in fdsrc and fdsink.
147 Implement seeking in fdsrc when a seekable fd is passed, as in
148 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
150 2007-03-19 Wim Taymans <wim@fluendo.com>
152 Patch by: Evan Nemerson <evan at coeus dash group dot com>
154 * gst/gstelement.c: (gst_element_class_init):
155 Fix pad-added and pad-removed signal signatures so that the pad type is
156 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
158 2007-03-19 Wim Taymans <wim@fluendo.com>
160 * docs/gst/gstreamer-sections.txt:
161 Add new element field and method.
163 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
164 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
165 (gst_bin_recalc_state), (gst_bin_get_state_func),
166 (gst_bin_element_set_state), (gst_bin_change_state_func),
167 (gst_bin_continue_func), (bin_bus_handler),
168 (bin_push_state_continue), (bin_handle_async_start),
169 (bin_handle_async_done), (gst_bin_handle_message_func):
170 Make async state changes a bit smarter by using new ASYNC_START and
171 ASYNC_DONE messages. This reduces the number of times we run the state
172 recalculation thread.
173 Don't change state of element with a pending ASYNC_START message.
174 Deprecate STATE_DIRTY messages.
176 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
177 (gst_element_get_state_func), (gst_element_continue_state),
178 (gst_element_lost_state), (gst_element_set_state_func),
179 (gst_element_change_state):
181 Keep the state that was last set by the app in a new element field.
182 Don't allow state changes when handling an element event.
183 Post ASYNC_START and ASYNC_DONE messages.
184 Change lost_state so that we go to PAUSED and wait for the parent to set
185 us to PLAYING again (so latency calculation can be performed)
186 Export gst_element_change_state() method so that subclasses can use it.
187 API: gst_element_change_state()
188 API: GST_STATE_TARGET
190 * gst/gstpipeline.c: (gst_pipeline_class_init),
191 (reset_stream_time), (gst_pipeline_change_state),
192 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
193 Using the new ASYNC_START message we can reset the base_time when
194 needed. This can then be used to implement base_time redistribution in
195 flushing seeks so that we can remove the explicit seek handling.
196 Perform latency query and configuration when going to PLAYING.
198 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
199 (gst_base_sink_query), (gst_base_sink_change_state):
200 Post new ASYNC_START/ASYNC_DONE messages.
202 * tests/check/generic/sinks.c: (GST_START_TEST):
203 Fix test because the bin will not set the async element to PLAYING right
206 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
207 Make the message check a little stronger.
208 Handle ASYNC messages.
210 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
211 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
212 Expect ASYNC_DONE messages.
214 2007-03-19 Wim Taymans <wim@fluendo.com>
216 * docs/gst/gstreamer-sections.txt:
217 * gst/gstmessage.c: (gst_message_new_async_start),
218 (gst_message_new_async_done), (gst_message_parse_info),
219 (gst_message_parse_async_start):
221 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
224 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
226 * tools/gst-inspect.c:
227 (print_plugin_automatic_install_info_codecs):
228 Now that we don't check for the 'Codec' keyword any longer in the
229 klass, we shouldn't spew a warning if the klass isn't a decoder or
230 encoder (since it might be a Source/Network, for example).
232 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
234 * tools/gst-inspect.c:
235 (print_plugin_automatic_install_info_codecs):
236 Don't require decoder/demuxer/depayloader elements or
237 encoder/muxer/paylader elements to have 'Codec' as part of their
238 factory class string when introspecting a plugin's capabilities.
239 draft-klass.txt mentions that it might be removed in future, and
240 flump3dec doesn't have it as part of its class string, so chances
241 are others might also not have it.
243 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
265 Update translations from translation project
267 2007-03-14 Stefan Kost <ensonic@users.sf.net>
269 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
270 (gst_child_proxy_set_property):
271 Invert precondition check to be alike the ones in the mimiced gobject
274 2007-03-13 Stefan Kost <ensonic@users.sf.net>
276 * docs/design/draft-tagreading.txt:
277 * docs/random/ensonic/audiobaseclasses.txt:
278 Do some Architect work.
280 * gst/gstobject.c: (gst_object_set_name):
284 Add docs that point from gst_pad_get_range to gst_pad_pull_range
286 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
288 * gst/gstsystemclock.c: (gst_system_clock_init),
289 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
290 Defer starting the async system clock thread until the first async
291 wait is scheduled. Fixes #414986.
293 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
295 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
296 (gst_single_queue_free):
297 Fix small leak (free GstSingleQueue structure too, not only contents).
299 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
301 * gst/gstbin.c:(gst_bin_add):
302 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
303 * win32/common/libgstbase.def:
304 * win32/common/libgstreamer.def:
305 Add new exported functions.
307 2007-03-09 Wim Taymans <wim@fluendo.com>
309 * docs/plugins/gstreamer-plugins-sections.txt:
312 2007-03-09 Wim Taymans <wim@fluendo.com>
314 * docs/gst/gstreamer-sections.txt:
315 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
317 Add metadata copy functions. Fixes #393099.
319 * gst/gstutils.c: (gst_buffer_stamp):
320 * libs/gst/base/gstbasetransform.c:
321 (gst_base_transform_prepare_output_buffer):
322 Use new metadata copy functions.
324 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
326 * plugins/elements/gstidentity.c: (gst_identity_class_init),
327 (gst_identity_init), (gst_identity_check_perfect),
328 (gst_identity_check_imperfect_timestamp),
329 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
330 (gst_identity_set_property), (gst_identity_get_property):
331 * plugins/elements/gstidentity.h:
332 Separate out check-imperfect-timestamp and check-imperfect-offset.
333 Put back check-perfect as it was to keep compatibility.
335 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
337 * gst/gstelement.c: (gst_element_dispose):
338 There's no need to warn if VOID_PENDING is not NONE here, as
339 long as the state is NULL it's ok, and that's checked immediately
342 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
344 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
345 Fix check for perfect stream to ignore buffers with -1
346 offsets/offset ends when checking data contiguity.
348 2007-03-08 Wim Taymans <wim@fluendo.com>
350 * tools/gst-launch.c: (event_loop):
353 2007-03-08 Wim Taymans <wim@fluendo.com>
355 * libs/gst/base/gstbasetransform.c:
356 (gst_base_transform_sink_eventfunc),
357 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
358 (gst_base_transform_activate):
359 * libs/gst/base/gstbasetransform.h:
360 Add support for dropping buffers with custom GstFlowReturn.
361 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
362 buffers or dropped buffers.
364 * docs/libs/gstreamer-libs-sections.txt:
365 docs for new custom return code.
367 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
368 Use drop support in base class to implement drop-probability.
370 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
372 * gst/gst.c: (load_plugin_func):
373 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
374 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
375 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
376 Remove newlines at end of debug log strings.
378 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
380 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
381 Only post bus message at max, once per buffer received.
383 2007-03-07 Wim Taymans <wim@fluendo.com>
385 * docs/design/Makefile.am:
386 * docs/design/part-synchronisation.txt:
387 Add doc about synchronisation
389 * docs/design/draft-latency.txt:
390 * docs/design/part-TODO.txt:
391 * docs/design/part-clocks.txt:
392 * docs/design/part-events.txt:
393 * docs/design/part-gstbus.txt:
394 * docs/design/part-gstpipeline.txt:
395 * docs/design/part-live-source.txt:
396 * docs/design/part-messages.txt:
397 * docs/design/part-overview.txt:
398 * docs/design/part-streams.txt:
399 * docs/design/part-trickmodes.txt:
400 Documentation updates.
402 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
405 Update the doap file.
407 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
409 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
410 Rename non-perfect to imperfect for Mike and for the sanctity of the
412 Also make sure bus message gets emitted for data-incontiguities.
414 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
416 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
417 (gst_identity_start):
418 * plugins/elements/gstidentity.h:
419 Emit bus message if check-perfect is true and we encounter a
420 non-perfect stream between 2 consecutive buffers.
423 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
428 === release 0.10.12 ===
430 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
433 releasing 0.10.12, "Inevitable Demise"
435 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
438 Version 0.10.11.2 (0.10.12 pre-release)
439 Bump libtool versioning.
441 2007-03-01 Stefan Kost <ensonic@users.sf.net>
443 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
444 Log flow-names and not numbers.
446 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
449 Convert to new AG_GST style.
451 2007-02-28 Wim Taymans <wim@fluendo.com>
453 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
454 Don't unref query twice.
456 2007-02-28 Wim Taymans <wim@fluendo.com>
458 * gst/gstvalue.c: (gst_value_transform_object_string),
459 (_gst_value_initialize):
460 Implement GstObject -> string transform so we print object names
461 when serializing GValues containing GstObjects.
463 2007-02-28 Wim Taymans <wim@fluendo.com>
465 * docs/gst/gstreamer-sections.txt:
466 Add new stuff to docs.
468 2007-02-28 Wim Taymans <wim@fluendo.com>
470 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
471 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
472 (gst_base_sink_change_state):
473 Improve latency query code.
474 Don't leak latency events.
476 * tests/check/gst/gstbin.c: (GST_START_TEST):
479 2007-02-28 Wim Taymans <wim@fluendo.com>
481 * gst/gstelement.c: (gst_element_message_full),
482 (gst_element_get_state_func):
484 Improve docs a little. Added Since: for new macro.
486 * gst/gstobject.c: (gst_object_sink):
487 * gst/gstpipeline.c: (gst_pipeline_change_state),
488 (gst_pipeline_set_new_stream_time):
490 Improve debugging and docs.
492 * gst/gstutils.c: (gst_element_state_change_return_get_name):
495 2007-02-28 Wim Taymans <wim@fluendo.com>
497 * gst/gstelement.c: (gst_element_message_full),
498 (gst_element_set_locked_state), (gst_element_get_state_func),
499 (gst_element_change_state):
500 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
501 Documentation updates.
504 * gst/gstmessage.c: (gst_message_new_info),
505 (gst_message_parse_info):
507 API: gst_message_new_info()
508 API: gst_message_parse_info()
509 Add INFO message create and parse code.
511 2007-02-28 Wim Taymans <wim@fluendo.com>
513 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
514 (bin_query_latency_done):
515 Also report the live parameter of a latency query.
517 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
519 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
520 Copy the current generic/states example from -base and adapt so
521 we can use the exact same code everywhere.
522 Check a STATES_IGNORE_ELEMENTS env var which can be used
523 to ignore certain element factories for this test, which is
524 what is being done in -base
525 * tests/check/Makefile.am:
526 Mention this environment variable.
528 2007-02-27 Wim Taymans <wim@fluendo.com>
530 * docs/gst/gstreamer-sections.txt:
531 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
532 (gst_bus_timed_pop), (gst_bus_pop):
534 API: gst_bus_timed_pop()
535 Implement gst_bus_timed_pop() to do a blocking timed wait for a
536 message to arrive on the bus.
538 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
540 Two unit tests for new _timed_pop() function.
542 2007-02-23 Wim Taymans <wim@fluendo.com>
544 * gst/gstpipeline.c: (gst_pipeline_change_state),
545 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
546 Don't ref a NULL clock in _provide_clock_func().
547 Don't allow an INVALID delay.
548 Don't try to calculate base_time with an invalid start_time.
549 Also distribute and notify a NULL clock when it was selected.
551 * tools/gst-launch.c: (event_loop):
552 Don't crash when a NULL clock was selected in the pipeline.
554 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
556 * docs/design/Makefile.am:
557 * docs/design/draft-missing-plugins.txt:
558 * docs/random/draft-missing-plugins.txt:
559 Some small updates: update plugin system identifier prefix
560 ('gstreamer.net' to 'gstreamer'), mention our new install
561 API in libgstbaseutils rather than libgimme-codec, add
562 reference to the online docs.
564 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
566 * win32/common/config.h:
567 Pretty sure Bill never made a powerpc version. Powerpc hackers,
568 use moap cl ci to only check in what is mentioned in the ChangeLog.
570 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
572 * docs/gst/gstreamer-sections.txt:
574 Fix up documentation to link to the correct GstGError section.
575 Add GST_ELEMENT_INFO macro since someone else added a Info message.
577 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
579 * tools/gst-launch.c: (event_loop):
580 Make sure that we actually show the important message part of a
582 No need to check if the gerror is not NULL to free; first of all
583 g_free accepts NULL; and second the default error handler would
584 segfault if gerror was NULL.
586 2007-02-21 Wim Taymans <wim@fluendo.com>
588 * docs/gst/gstreamer-sections.txt:
589 Removed docs as well.
591 2007-02-21 Wim Taymans <wim@fluendo.com>
593 * gst/gstmessage.c: (gst_message_parse_duration):
595 Remove new messages for release.
597 2007-02-20 Wim Taymans <wim@fluendo.com>
599 * docs/design/part-gstghostpad.txt:
600 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
601 (gst_ghost_pad_new_full):
602 Make the ghostpad a parent of the internal pad again for better backward
603 compatibility. Don't write code that relies on this however.
605 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
606 (gst_pad_link_check_hierarchy):
607 Require that parents should be GstElements in the hierarchy check.
609 2007-02-20 Wim Taymans <wim@fluendo.com>
611 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
612 (gst_bin_change_state_func), (bin_query_min_max_init),
613 (bin_query_latency_fold), (bin_query_latency_done),
616 Implement latency query.
618 2007-02-20 Wim Taymans <wim@fluendo.com>
620 * docs/design/part-gstghostpad.txt:
621 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
622 (gst_ghost_pad_internal_do_activate_push),
623 (gst_ghost_pad_internal_do_activate_pull),
624 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
625 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
626 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
627 Do not set the internal pad as a parent anymore so we can avoid
628 hierarchy linking errors when the ghostpad has no parent yet. This also
629 fixes failed activation because of unlinked internal pads, which in
630 turn fixes the impossible case where you have to activate a pad before
631 you can add it to a running element.
634 * gst/gstpad.c: (pre_activate), (post_activate),
635 (gst_pad_set_active), (gst_pad_activate_pull),
636 (gst_pad_activate_push), (gst_pad_check_pull_range):
637 Add some more debug info.
638 Mark activation mode in pre_activate so that we don't try to activate in
639 endless loops. Fixes #385084.
641 2007-02-19 Wim Taymans <wim@fluendo.com>
643 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
644 (gst_base_transform_check_get_range):
645 Implement a checkgetrange function instead of relying on the default
646 core behaviour that assumes we can operate in pull mode if we have a
647 getrange function. First step at fixing #385084.
649 2007-02-15 Stefan Kost <ensonic@users.sf.net>
651 * gst/gstchildproxy.h:
652 * libs/gst/base/gstbasesink.h:
653 * libs/gst/base/gstbasesrc.h:
654 * libs/gst/base/gstbasetransform.h:
655 More docs coverage and some ChangeLog surgery (add missing names)
657 2007-02-15 Wim Taymans <wim@fluendo.com>
659 * docs/design/part-TODO.txt:
660 * docs/design/part-activation.txt:
661 * docs/design/part-block.txt:
662 * docs/design/part-buffering.txt:
663 * docs/design/part-clocks.txt:
664 * docs/design/part-element-source.txt:
665 * docs/design/part-events.txt:
666 * docs/design/part-gstbin.txt:
667 * docs/design/part-gstbus.txt:
668 * docs/design/part-gstpipeline.txt:
669 * docs/design/part-live-source.txt:
670 * docs/design/part-messages.txt:
671 * docs/design/part-overview.txt:
672 * docs/design/part-qos.txt:
673 * docs/design/part-query.txt:
674 * docs/design/part-states.txt:
675 * docs/design/part-trickmodes.txt:
676 Some doc updates. Start renaming from stream_time to running_time where
679 2007-02-15 Wim Taymans <wim@fluendo.com>
681 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
682 Answer LATENCY query.
684 2007-02-15 Wim Taymans <wim@fluendo.com>
686 * tests/check/gst/gstevent.c: (event_probe), (test_event),
690 2007-02-15 Wim Taymans <wim@fluendo.com>
692 * gst/gstpad.c: (gst_pad_get_internal_links_default),
693 (gst_pad_dispatcher):
694 Improve debugging of default pad dispatcher and query functions.
696 2007-02-15 Wim Taymans <wim@fluendo.com>
698 * docs/gst/gstreamer-sections.txt:
699 Remove old unused method.
701 2007-02-13 Wim Taymans <wim@fluendo.com>
703 * tests/check/gst/gstsegment.c: (GST_START_TEST):
706 2007-02-13 Wim Taymans <wim@fluendo.com>
708 * docs/design/part-seeking.txt:
711 * gst/gstsegment.c: (gst_segment_set_seek):
712 Revert old bogus change that should make seeking work again.
714 2007-02-13 Stefan Kost <ensonic@users.sf.net>
716 * docs/random/ensonic/dynlink.txt:
717 * docs/random/ensonic/interfaces.txt:
718 * docs/random/ensonic/receipies.txt:
719 Possible dynamic reconnection api, plus some type fixes the other two
722 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
724 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
725 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
726 Also check for an absolute path following file:// in the filesrc
727 element. Remove redundant check and call g_path_is_absolute() on the
730 2007-02-13 Stefan Kost <ensonic@users.sf.net>
732 * docs/design/draft-klass.txt:
733 Add existing category analysis.
736 Fix doc example, framerate is a fraction.
738 2007-02-12 Stefan Kost <ensonic@users.sf.net>
741 * docs/gst/Makefile.am:
742 * docs/libs/Makefile.am:
743 * docs/plugins/Makefile.am:
744 Add crossreferences to glib/gobject docs.
746 2007-02-12 Wim Taymans <wim@fluendo.com>
748 * docs/design/draft-latency.txt:
751 * docs/libs/gstreamer-libs-sections.txt:
752 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
753 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
754 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
755 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
756 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
757 (gst_base_sink_get_position), (gst_base_sink_query),
758 (gst_base_sink_change_state):
759 * libs/gst/base/gstbasesink.h:
760 API: gst_base_sink_query_latency() to let subclasses query the upstream
762 API: gst_base_sink_get_latency() to let subclasses query the configured
764 Implement query and set latency.
766 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
767 don't continue preroll when we are flushing. Fixes #405284.
769 * tests/check/pipelines/stress.c: (change_state_timeout),
770 (quit_timeout), (GST_START_TEST), (stress_suite):
773 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
775 Patch by: René Stadler <mail at renestadler de>
777 * docs/gst/gstreamer-sections.txt:
778 * gst/gsttaglist.c: (_gst_tag_initialize):
780 API: add GST_TAG_REFERENCE_LEVEL (#403597).
782 2007-02-11 Stefan Kost <ensonic@users.sf.net>
784 * docs/libs/Makefile.am:
785 Fix path to core docs.
787 * gst/gstbin.c: (gst_bin_get_by_interface),
788 (gst_bin_iterate_all_by_interface):
789 Refix docs by also renaming 'interface' to 'iface' in implementation.
791 * docs/gst/gstreamer-sections.txt:
793 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
794 * gst/gstchildproxy.h:
795 * gst/gstelementfactory.c:
796 * gst/gstpadtemplate.h:
797 * libs/gst/controller/gstcontroller.c:
798 (gst_controlled_property_new):
801 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
803 * gst/gstbin.h:(gst_bin_get_by_interface),
804 (gst_bin_iterate_all_by_interface):
805 Replace interface parameter name by iface as interface is
806 a reserved keyword in Visual Studio for C++ projects so it removes
807 a build error for application developpers using VS.
808 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
809 Fix a bug on Windows in uri format check. Now the prefix checked
810 is file:// and next we check if the path after file:// is absolute.
811 * win32/common/libgstbase.def:
812 * win32/common/libgstdataprotocol.def:
813 * win32/common/libgstgstreamer.def:
814 Add new exported functions.
816 2007-02-09 Andy Wingo <wingo@pobox.com>
818 * tests/check/pipelines/simple-launch-lines.c
819 (simple_launch_lines_suite, test_tee): Disable tee test until I
820 have time to fix it :-(
822 * tests/check/Makefile.am (noinst_HEADERS):
823 * tests/check/libs/libsabi.c:
824 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
825 * tests/check/gst/gstabi.c:
826 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
828 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
829 tests for push and pull tee behavior.
831 * plugins/elements/gsttee.h:
832 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
833 mark as deprecated as well as unimplemented. It was a crack idea.
834 Add support for tee operating in pull mode, off by default.
836 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
837 normal-case logs down to LOG, raise errors to WARNING.
838 (gst_registry_xml_read_cache): Don't log before calling a function
841 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
842 exit (registry finalize).
843 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
844 DEBUG log when we emit signals that people don't even have the
845 chance to connect to.
846 (gst_registry_scan_path_level): Less logging in the normal case.
848 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
850 Patch by: Michal Benes <michal dot benes at itonis dot tv>
852 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
853 Correctly generate EOS for non-seekable files. We don't have a total
854 length for them and would get an unexpected end of file if we only
855 special-cased for regular files. (Fixes: #404569)
857 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
859 * tests/check/elements/filesrc.c: (GST_START_TEST),
861 Add unit test for the GstURIHandler interface in filesrc. This also
862 tests the newly added file://localhost/foo/bar support.
864 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
866 * gst/gstelementfactory.h:
867 The klass string is not a hierarchy. Add reference to the design doc
868 for more information and common types.
870 2007-02-02 Wim Taymans <wim@fluendo.com>
872 * gst/gstquery.c: (gst_query_new_latency):
873 Remove old structure field.
875 2007-02-02 Stefan Kost <ensonic@users.sf.net>
877 * tools/gst-launch.1.in:
878 Give example for network streaming (#351998)
880 2007-02-02 Wim Taymans <wim@fluendo.com>
882 * docs/gst/gstreamer-sections.txt:
883 Add docs for new methods.
885 * gst/gstevent.c: (gst_event_new_latency),
886 (gst_event_parse_latency):
888 Add new LATENCY event to configure latency in a pipeline.
889 API: gst_event_new_latency
890 API: gst_event_parse_latency
892 * gst/gstmessage.c: (gst_message_new_buffering),
893 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
894 (gst_message_new_latency), (gst_message_parse_buffering),
895 (gst_message_parse_lost_preroll):
897 Added messages used in draft-latency.
898 API: gst_message_new_lost_preroll
899 API: gst_message_parse_lost_preroll
900 API: gst_message_new_prerolled
901 API: gst_message_new_latency
903 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
904 (gst_query_parse_latency):
906 Implemented new latency query as in design doc.
907 API: gst_query_new_latency
908 API: gst_query_set_latency
909 API: gst_query_parse_latency
911 2007-02-02 Wim Taymans <wim@fluendo.com>
913 * docs/design/draft-latency.txt:
914 Slight redesign to allow for dynamic latency adjustments.
916 * docs/design/part-negotiation.txt:
919 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
921 reviewed by: Wim Taymans <wim@fluendo.com>
923 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
924 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
925 Allow file://localhost/foo/bar URLs and correctly fail for every other
926 hostname that one sets. This was gnomevfssrc is linked for those if
927 installed as it can handle it (#403172)
929 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
931 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
933 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
934 (unref_data), (gst_collect_pads_add_pad_full):
935 * libs/gst/base/gstcollectpads.h:
936 Don't put the previously added destroy notify in the GstCollectData
937 struct as all it's padding is already used and we don't want to break
938 ABI. Instead put in the pad's GObject data for now. This should be
939 cleaned up for 0.11 (#402393).
941 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
943 reviewed by: Wim Taymans <wim@fluendo.com>
945 * docs/libs/gstreamer-libs-sections.txt:
946 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
947 (unref_data), (gst_collect_pads_add_pad),
948 (gst_collect_pads_add_pad_full):
949 * libs/gst/base/gstcollectpads.h:
950 API: Add function to specify a destroy notification for custom
951 GstCollectData when adding new pads in GstCollectPads (#402393).
953 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
956 Update Swedish translation (#378255).
958 2007-01-31 Stefan Kost <ensonic@users.sf.net>
960 * docs/design/draft-klass.txt:
961 Fix the previous change, this is a list of categories and not a hierarchy.
963 2007-01-31 Stefan Kost <ensonic@users.sf.net>
965 * docs/design/draft-klass.txt:
966 Add info about how to get a list of used classes.
968 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
970 * plugins/elements/gsttypefindelement.c:
971 (gst_type_find_element_chain_do_typefinding),
972 (gst_type_find_element_change_state):
973 Don't leak found caps in chain function (no idea why that never
974 showed up as a leak anywhere).
976 2007-01-30 Stefan Kost <ensonic@users.sf.net>
979 Fix and expand GstPluginDesc API docs.
981 2007-01-29 Stefan Kost <ensonic@users.sf.net>
984 * gst/gstelementfactory.c:
985 * gst/gstpadtemplate.h:
988 * libs/gst/controller/gstcontroller.c:
989 (gst_controlled_property_new):
990 * tests/examples/controller/audio-example.c:
993 2007-01-29 Stefan Kost <ensonic@users.sf.net>
996 comment about refining the xml deps
999 comments about moving away from jade for docs
1002 recommit the ifdefs to use the binary registry
1004 * gst/gstbin.c: (gst_bin_change_state_func):
1005 this break is obsolete
1007 * gst/gstelementfactory.h:
1008 better GST_ELEMENT_DETAILS docs, add comment about translation
1013 * gst/gstobject.c: (gst_signal_object_get_type):
1014 add G_UNLIKELY as usual
1016 * gst/gstpad.c: (gst_pad_event_default):
1017 add fall trhu comment
1019 * gst/gstregistrybinary.c: (gst_registry_binary_write),
1020 (gst_registry_binary_initialize_magic),
1021 (gst_registry_binary_save_string),
1022 (gst_registry_binary_save_pad_template),
1023 (gst_registry_binary_save_feature),
1024 (gst_registry_binary_save_plugin),
1025 (gst_registry_binary_write_cache),
1026 (gst_registry_binary_check_magic),
1027 (gst_registry_binary_load_pad_template),
1028 (gst_registry_binary_load_feature),
1029 (gst_registry_binary_load_plugin),
1030 (gst_registry_binary_read_cache):
1031 comment typo and formatting
1033 * gst/gstutils.c: (gst_element_state_get_name),
1034 (gst_element_state_change_return_get_name):
1035 remove obsolete breaks
1037 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1038 add FIXME 0.11 and remove cpp comment
1040 2007-01-29 Edward Hervey <edward@fluendo.com>
1042 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1043 Fix print statement in an even more portable way.
1045 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
1047 * docs/gst/gstreamer-sections.txt:
1049 API: add GST_ROUND_DOWN_* macros (#401781).
1051 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
1053 * docs/gst/gstreamer.types.in:
1054 * gst/gstregistry.c: (gst_registry_class_init):
1055 Document registry signals and make gtk-doc pick them up (#401381).
1057 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
1059 * docs/pwg/building-testapp.xml:
1060 Add some audioconverts and audioresample to the pipeline, and some
1061 more comments and error handling.
1063 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
1065 * docs/manual/manual.xml:
1069 2007-01-26 Wim Taymans <wim@fluendo.com>
1071 * gst/gstcaps.c: (gst_static_caps_get):
1072 Init caps flags too.
1074 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
1076 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1078 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1079 If not using mmap'ed files try to seek to the end instead of the
1080 start to determine whether we can seek at all. This fixes the case
1081 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1082 seeks for everything afterwards fail. Fixes #400656
1084 2007-01-25 Wim Taymans <wim@fluendo.com>
1086 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1087 Add some refcount debugging.
1088 Make gst_static_caps_get threadsafe, which is needed when autoplugging
1089 in multiple streaming threads.
1091 2007-01-25 Wim Taymans <wim@fluendo.com>
1093 Patch by: David Schleef <ds at schleef dot org>
1095 * docs/libs/gstreamer-libs-sections.txt:
1096 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1097 * libs/gst/base/gstadapter.h:
1098 API: gst_adapter_copy() that can reduce the amount of memcpy when
1099 getting data from the adapter. Fixes #388201.
1101 2007-01-25 Edward Hervey <edward@fluendo.com>
1103 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1104 In print statements, "%x" is for guint. Fixes build on macosx.
1106 2007-01-24 Edward Hervey <edward@fluendo.com>
1108 * plugins/elements/gstmultiqueue.c:
1109 (gst_multi_queue_loop):
1111 (single_queue_overrun_cb), (single_queue_underrun_cb),
1112 (single_queue_check_full), (gst_single_queue_new):
1113 Implement single queue growth system.
1114 This uses the extra-size properties, and will grow single queues by
1115 that much if one goes full whereas there are others empty. This is
1116 called extra-mode in the code.
1117 When a single queue's levels go back below the initial max-size
1118 limits, it is no longer in extra-mode. This is to ensure we don't
1119 consume too much memory.
1122 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
1124 * gst/gst.c: (gst_init_get_option_group):
1125 Make warning about late g_thread_init() calls a bit more explicit,
1126 so that it's more obvious to application developers what they need
1127 to do if a user files a bug against their application.
1129 2007-01-22 Edward Hervey <edward@fluendo.com>
1131 * plugins/elements/gstmultiqueue.c:
1132 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1133 Remove previous hack of unsetting the flushing flag for the source pad
1134 instead of activating it. Instead, fix the source pad activate function
1135 so that it no longer depends on having a parent set or not.
1137 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
1139 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1141 * docs/manual/basics-bus.xml:
1142 Fix example code, gst_element_unref() doesn't exist any longer.
1144 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
1146 Patch by: Mark Nauwelaerts <manauw at skynet be>
1149 Fix two docs typoes (#399094).
1151 2007-01-19 Edward Hervey <edward@fluendo.com>
1153 * docs/faq/gst-uninstalled:
1154 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1155 depending on libgstbaseutils can work in uninstalled environment.
1157 2007-01-18 Stefan Kost <ensonic@users.sf.net>
1160 * gst/gsttagsetter.c:
1161 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1162 statement for new tag.
1164 2007-01-17 Edward Hervey <edward@fluendo.com>
1166 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1167 When dynamically creating single queues, activate sinkpad before adding
1169 We should be doing the same thing for the source pad, but we can't
1170 since it would call a method which needs the parent to be set in order
1171 to work propertly. Instead of activating the source pad, we just unset
1172 the flushing flag, which is the minimal requirement for adding a pad
1173 to an element in a state greater than READY.
1175 2007-01-17 Edward Hervey <edward@fluendo.com>
1177 * docs/faq/gst-uninstalled:
1178 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1181 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
1183 * tests/check/gst/gstabi.c:
1184 * tests/check/gst/struct_hppa.h:
1185 * tests/check/libs/libsabi.c:
1186 * tests/check/libs/struct_hppa.h:
1187 Add ABI structs for HPPA (see #393796).
1189 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
1191 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1192 Actually write ABI structs to the file specified in the GST_ABI
1193 environment variable, as the message we print claims we would.
1195 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1197 * tests/check/gst/gsttask.c:
1200 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1202 * gst/gsttaglist.c: (_gst_tag_initialize):
1203 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1204 previous two entries.
1206 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1208 * docs/gst/gstreamer-sections.txt:
1209 * gst/gsttaglist.c: (_gst_tag_initialize):
1211 Add tag support for beat-per-minute.
1213 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1215 * gst/gstregistrybinary.c: (gst_registry_binary_write),
1216 (gst_registry_binary_initialize_magic),
1217 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1218 (gst_registry_binary_save_pad_template),
1219 (gst_registry_binary_save_feature),
1220 (gst_registry_binary_save_plugin),
1221 (gst_registry_binary_write_cache),
1222 (gst_registry_binary_check_magic),
1223 (gst_registry_binary_load_pad_template),
1224 (gst_registry_binary_load_feature),
1225 (gst_registry_binary_load_plugin),
1226 (gst_registry_binary_read_cache):
1227 * gst/gstregistrybinary.h:
1228 Use glib types, cleanup comments, impement interfaces and uri-types.
1230 2007-01-13 Andy Wingo <wingo@pobox.com>
1232 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1233 getrange() to return buffers with other caps, while we fix
1234 demuxers and typefind, or otherwise change part-negotiation.txt.
1236 2007-01-12 Andy Wingo <wingo@pobox.com>
1238 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1239 Factor start/stop into this private function instead of partially
1240 in activate functions and partially in the change_state function.
1241 Fixes setup before the element has changed from READY->PAUSED, as
1242 is the case in pull-mode pipelines.
1243 (gst_base_transform_sink_activate_push)
1244 (gst_base_transform_src_activate_pull): Refactor to use
1245 gst_base_transform_activate().
1246 (gst_base_transform_change_state): Removed, not needed any more.
1248 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1249 Truncate before fixating.
1251 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1252 Don't set_caps() if the result of fixating is ANY, as it's not
1253 supported, and not necessary in the case of a link with no
1254 template caps on either side. Fixes tests/check/libs/basesrc in
1255 some pull-mode tests.
1257 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1258 (gst_base_transform_init, gst_base_transform_sink_activate_push)
1259 (gst_base_transform_src_activate_pull):
1260 Track the activation mode.
1261 (gst_base_transform_setcaps): In pull mode, when activating the
1262 src pad, after activating the sink pad, activate the sink pad's
1263 peer, as discussed in part-negotiation.txt.
1265 * libs/gst/base/gstbasesrc.h:
1266 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1267 vmethod, as in basesink.
1269 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1271 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1272 mode, first proxy the setcaps to the peer pad.
1273 (gst_base_sink_pad_fixate): Add a fixate function that calls the
1275 (gst_base_sink_default_activate_pull): Rename from
1276 gst_base_sink_activate_pull.
1277 (gst_base_sink_negotiate_pull): New function, performs negotiation
1278 in pull mode before calling ::activate_pull().
1279 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1280 vmethod instead of the default implementation. I have no idea how
1281 this worked before. Negotiate before calling activate_pull.
1283 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1284 sink pads in pull mode. In addition to being correct, fixes
1285 filesrc ! decodebin ! identity ! fakesink.
1286 (gst_pad_get_range, gst_pad_pull_range): Don't call
1287 gst_pad_set_caps() if the caps changes; instead error out with
1288 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1290 2007-01-12 Andy Wingo <wingo@pobox.com>
1292 * docs/design/part-negotiation.txt: Update with more policy.
1294 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
1296 * libs/gst/check/gstbufferstraw.h:
1297 * libs/gst/check/gstcheck.h:
1298 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1301 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
1303 * tests/check/Makefile.am:
1304 * tests/check/gst/.cvsignore:
1305 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1306 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1307 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1308 (GST_START_TEST), (gst_tag_setter_suite):
1309 Add minimal unit test for beforementioned GstTagSetter bug.
1311 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
1313 Patch by: René Stadler <mail at renestadler dot de>
1315 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1316 gst_tag_list_merge() returns a new list, so it's not the best idea
1317 to ingore its return value. Effectively meant that tags could only
1318 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1319 Also add function guard to require a non-NULL taglist as input (has
1320 always been so due to gst_tag_list_copy(), just making it explicit).
1322 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
1324 * docs/random/draft-missing-plugins.txt:
1325 Some additions: mention new API that is supposed to be used at the
1326 various stages; short blob about new gst-inspect introspection
1327 option; mention potential future problem with plugins that have
1328 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1330 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
1332 * tools/gst-inspect.c:
1333 (print_plugin_automatic_install_info_codecs),
1334 (print_plugin_automatic_install_info_protocols),
1335 (print_plugin_automatic_install_info), (main):
1336 Add --print-plugin-auto-install-info option to gst-inspect, so we can
1337 introspect plugin files and get machine-parsable output that corresponds
1338 to the last bit of the missing-plugin installer string (small gotcha:
1339 doesn't take into account ranks).
1341 2007-01-11 Stefan Kost <ensonic@users.sf.net>
1344 * docs/gst/gstreamer-sections.txt:
1346 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1347 (gst_registry_lookup_locked):
1348 * gst/gstregistry.h:
1349 * gst/gstregistrybinary.c: (gst_registry_binary_write),
1350 (gst_registry_binary_initialize_magic),
1351 (gst_registry_binary_save_string),
1352 (gst_registry_binary_save_pad_template),
1353 (gst_registry_binary_save_feature),
1354 (gst_registry_binary_save_plugin),
1355 (gst_registry_binary_write_cache),
1356 (gst_registry_binary_check_magic),
1357 (gst_registry_binary_load_pad_template),
1358 (gst_registry_binary_load_feature),
1359 (gst_registry_binary_load_plugin),
1360 (gst_registry_binary_read_cache):
1361 * gst/gstregistrybinary.h:
1362 * gst/gstregistryxml.c: (load_feature),
1363 (gst_registry_xml_read_cache):
1364 commit binary registry (disabled by default, see #359653)
1366 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
1368 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1369 Fix 'make check' too.
1371 2007-01-10 Andy Wingo <wingo@pobox.com>
1373 * docs/design/part-negotiation.txt: Fix a typo, add a couple
1376 * docs/design/part-negotiation.txt: Update with, um, one way that
1377 pull-mode negotiation might work?
1380 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1381 that the pad must be a src pad; makes sense to call it the other
1382 way in pull mode, and the logic is symmetric anyway.
1384 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
1386 * plugins/elements/gstfilesink.c:
1387 Include <stdio.h> for fseeko().
1389 2007-01-10 Wim Taymans <wim@fluendo.com>
1393 Reserve LATENCY event.
1395 2007-01-09 Wim Taymans <wim@fluendo.com>
1397 * docs/design/draft-latency.txt:
1400 2007-01-09 Wim Taymans <wim@fluendo.com>
1402 * docs/design/draft-latency.txt:
1406 * gst/gststructure.c:
1410 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
1412 * tests/check/.cvsignore:
1413 Ignore test-registry.xml as well.
1415 2007-01-09 Wim Taymans <wim@fluendo.com>
1417 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1418 unref data at the end when we are done with the pad.
1420 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
1422 * docs/gst/gstreamer-sections.txt:
1423 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1424 (init_post), (gst_deinit), (gst_update_registry):
1426 API: add gst_update_registry() (#391296).
1428 * tests/check/Makefile.am:
1429 * tests/check/gst/gstregistry.c:
1430 * tests/check/gst/.cvsignore:
1431 Simple unit test for the above.
1433 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
1435 * gst/gstregistry.c: (gst_registry_scan_path_level):
1436 Plugin extension on HP-UX is .sl, add that to the list of approved
1437 plugin extensions (see #393796).
1439 * tests/check/gst/gstpad.c: (GST_START_TEST):
1440 ulong => gulong. Fixes compilation with HP-UX compiler.
1442 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1443 Fix compilation if valgrind headers are not available.
1445 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
1447 * win32/common/libgstreamer.def:
1448 Add new exported function.
1449 * win32/vs6/libgstbase.dsp:
1450 Add gstdataqueue.c to the build.
1451 * win32/vs6/libgstcoreelements.dsp:
1452 Add gstmultiqueue.c to the build.
1454 2007-01-06 Andy Wingo <wingo@pobox.com>
1456 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
1457 activate_pull(), providing for a way to specialize the process of
1458 spawning a thread to pull on the sink pad. There is a default
1461 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
1462 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
1463 (gst_base_sink_init): Renamed pad activation functions (inserting
1464 "_pad" in their names). Refactor to use the new activate_pull
1465 vmethod, as appropriate.
1466 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
1467 default activate_pull function to start a task pulling from the
1468 sink pad, as before.
1470 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
1471 on the pads if necessary, as in push()/chain(). Update docs.
1472 Shouldn't affect existing pull() usage as it is currently only
1473 being used on buffers without caps.
1475 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1477 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1479 Call g_thread_init() first thing in gst_init() / gst_check_init().
1480 When initialisation is done via gst_init_get_option_group() and
1481 GOption parsing, issue a warning if the GLib thread system has not
1482 been initialised yet by the time gst_init_get_option_group() is
1483 called, as it's quite likely other GLib functions such as
1484 g_option_context_new() have been called already then, and
1485 g_thread_init() must be called before any other GLib function. The
1486 application in question must be fixed in that case, since memory
1487 corruption might happen otherwise.
1488 We issue the warning because even if the GLib folks decide to work
1489 around the problem on their end in future, this is still an issue
1490 with all GLib versions >= 2.10.0, so we should warn until we depend
1491 on a GLib version we know to be safe.
1492 Update documentation as well.
1495 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1497 * tools/gst-inspect.c: (main):
1498 * tools/gst-launch.c: (main):
1499 * tools/gst-typefind.c: (main):
1500 * tools/gst-xmlinspect.c: (main):
1501 Call g_thread_init() really really early, before any other GLib
1502 function (see #342564 and recent discussion on gtk-devel-list).
1504 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1506 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
1508 * gst/gst_private.h:
1509 * gst/gstconfig.h.in:
1511 On win32, all the __declspec stuff for symbol exporting is
1512 apparently only needed with MSVC, but doesn't work with MingW.
1513 Fixes compilation with MingW and #391909.
1515 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1517 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
1518 Change some GST_ERROR_OBJECT that aren't really errors to
1519 GST_WARNING_OBJECT in order to reduce terminal spam.
1521 2007-01-04 Stefan Kost <ensonic@users.sf.net>
1523 * tests/check/Makefile.am:
1524 disable test again, as there seem to be still race problems
1526 2007-01-04 Stefan Kost <ensonic@users.sf.net>
1528 * tests/check/Makefile.am:
1529 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1530 (GST_START_TEST), (queue_suite):
1531 enable queue test again, add tests for the leaky behaviour
1533 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
1536 * tests/examples/Makefile.am:
1537 Compile adapter test/example only if the required headers are
1538 available (fixes #391915).
1540 2007-01-01 David Schleef <ds@schleef.org>
1543 Restore the previous signal handler for SIGSEGV instead of
1544 setting to default, since we may have stolen it away from
1545 someone. (i.e., Mono)
1547 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
1549 * docs/random/draft-missing-plugins.txt:
1550 Some small additions and clarifications.
1552 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
1554 * gst/gstregistryxml.c: (gst_registry_save_escaped):
1555 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
1556 since that can lead to random memory corruptions and crashes
1557 (may or may not be related to #383244, #386711, and #386711).
1559 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1561 * tests/check/.cvsignore:
1562 * tests/check/Makefile.am:
1563 sync .cvsignome and CLEANFILES
1565 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1567 * tests/check/Makefile.am:
1570 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1572 * docs/design/part-states.txt:
1573 two tiny additional comments
1575 * gst/gststructure.c:
1578 * tests/check/Makefile.am:
1579 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1581 disable test for now, unless it gets fixed
1583 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1585 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1587 fix race in underrun test
1589 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1591 * tests/check/elements/.cvsignore:
1594 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1596 try to narrow test failure
1598 2006-12-21 David Schleef <ds@schleef.org>
1600 * plugins/elements/gstfakesrc.c:
1601 Use g_random_int_range(), since it produces better random
1602 numbers in a range than almost-correct floating point code.
1604 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1606 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1607 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1608 (gst_check_teardown_sink_pad):
1609 do not automatically (de)activate pads
1611 * tests/check/Makefile.am:
1612 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1613 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
1614 add new, yet simple tests for queue
1616 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
1617 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
1618 * tests/check/elements/filesrc.c: (cleanup_filesrc),
1620 * tests/check/elements/identity.c: (cleanup_identity):
1621 consistent pad (de)activation
1623 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
1625 Patch by: Sebastian Dröge <slomo ubuntu com>
1627 * libs/gst/base/gstcollectpads.c:
1628 Fix two doc typos (#387866).
1630 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
1632 * docs/manual/advanced-dparams.xml:
1633 Fix typo (g_object_control_properties() doesn't exist).
1635 2006-12-19 Edward Hervey <edward@fluendo.com>
1637 * gst/gstsegment.c: (gst_segment_set_seek):
1638 Fine tune the cases where the segment start/stop values are really
1640 * tests/check/gst/gstsegment.c: (GST_START_TEST):
1641 Add tests for the return values of gst_segment_set_seek().
1643 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
1648 * plugins/elements/gstqueue.c: (gst_queue_class_init),
1650 Fix incorrect documentation and flesh it out a bit more.
1651 Set default values for the max properties on the GParamSpec as well,
1652 so it shows up correctly in gst-inspect.
1654 2006-12-18 Stefan Kost <ensonic@users.sf.net>
1656 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1657 Correct docs of queue, add more detail and crosslink it more.
1659 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
1661 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1662 Print additional debug info when the stream isn't perfectly
1663 timestamped; don't try to use invalid durations.
1665 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
1667 * docs/design/Makefile.am:
1668 Dist new design docs.
1670 2006-12-16 Wim Taymans <wim@fluendo.com>
1672 Patch by: Sjoerd Simons <sjoerd at luon dot net>
1674 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
1675 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1676 (gst_collect_pads_stop), (gst_collect_pads_event),
1677 (gst_collect_pads_chain):
1678 * libs/gst/base/gstcollectpads.h:
1679 Add refcounting to the collectpads data so we can track when it's safe
1680 to free the data. Fixes #383382.
1682 2006-12-15 Wim Taymans <wim@fluendo.com>
1684 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1685 (gst_collect_pads_remove_pad):
1686 Automatically activate/deactivate pads when they are added to a
1687 started/stoped collectpads.
1689 2006-12-15 Wim Taymans <wim@fluendo.com>
1691 * gst/gstelement.c: (gst_element_add_pad):
1692 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
1693 * gst/gstpad.c: (gst_pad_init):
1694 Set pads to FLUSHING when they are created. Check, warn and fix when a
1695 demuxer adds an inactive pad to itself when running. Fixes #339326.
1697 2006-12-15 Wim Taymans <wim@fluendo.com>
1699 * gst/gstelement.c: (gst_element_class_init),
1700 (gst_element_default_send_event), (gst_element_send_event),
1701 (gst_element_default_query), (gst_element_query):
1702 Expose default element send_event and query handling as vmethods that
1703 subclasses can chain up to.
1705 2006-12-15 Wim Taymans <wim@fluendo.com>
1707 * gst/gstelement.c: (gst_element_set_state_func):
1708 Small documentation fixes.
1710 2006-12-15 Wim Taymans <wim@fluendo.com>
1712 * docs/design/draft-latency.txt:
1713 Checked in draft for handling latency in pipelines.
1715 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
1719 * gstreamer.spec.in:
1722 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
1724 * gst/gst.c: (init_pre), (init_post):
1725 init_pre() and init_post() might be called via our GOptionGroup or
1726 from gst_init(), and we should skip both of them if we've already
1727 been initialised, otherwise we will init some things twice or add
1728 two default log functions.
1730 2006-12-13 Edward Hervey <edward@fluendo.com>
1732 * docs/manual/basics-bus.xml:
1733 No, gst_main_loop does not exist. Its g_main_loop.
1734 Discovered by somebody who abused the copy-paste technique of coding :)
1736 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
1738 * gst/gstghostpad.c:
1739 Log ghostpad debug stuff to the GST_PADS category as well rather
1740 than just to the default category.
1742 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
1745 * gst/gst.c: (init_pre):
1746 Add some basic system details such as OS and architecture
1747 to the debug output if possible, courtesy of uname().
1749 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
1751 * docs/gst/running.xml:
1752 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
1753 environment variables.
1755 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
1757 * tests/check/gst/gstbin.c: (GST_START_TEST):
1758 It is acceptable to have a refcount of 2 or 3 at this point in the
1759 test, because the pipeline might be just posting its state_change
1760 message. The next line then waits for that message to appear using
1761 bus_poll, so that should be fine too.
1763 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
1765 * gst/gst.c: (ensure_current_registry_forking):
1766 Ignore EINTR when reading from the child registry pipe.
1767 Explicitly ignore the return value from close, since it makes no
1770 * gst/gstminiobject.c: (gst_mini_object_ref),
1771 (gst_mini_object_unref):
1772 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
1774 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
1775 When removing cached plugins, remove their features too, so they're
1776 not visible after they've disappeared.
1778 * gst/gstutils.c: (prepare_link_maybe_ghosting):
1779 In the unlikely case that we are linking pads with no parents, don't
1780 crash trying to get the non-existent parent bin.
1782 * gst/parse/grammar.y:
1783 Output debug in the PIPELINE category
1785 2005-03-08 Wim Taymans <wim@fluendo.com>
1787 Patch by: René Stadler <mail at renestadler dot de>
1789 * gst/gstclock.c: (gst_clock_new_periodic_id):
1790 Reject invalid clock times for interval of periodic ids.
1793 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
1795 * gst/gstelementfactory.c: (gst_element_factory_create):
1796 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1797 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1798 * tools/gst-inspect.c: (print_element_info):
1799 Fix refcounting of gst_plugin_feature_load to match the docs.
1802 2006-12-07 Wim Taymans <wim@fluendo.com>
1804 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
1805 (gst_base_sink_get_position):
1806 Improve debugging of events.
1808 2006-12-07 Wim Taymans <wim@fluendo.com>
1810 Patch by: René Stadler <mail at renestadler dot de>
1812 * gst/gstclock.c: (gst_clock_id_wait):
1813 Make period ids add the interval to the origial requested time instead
1814 of the possibly updated time which can be wrong when there are multiple
1815 waiters for the same id. Fixes #382592.
1817 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
1818 (gst_system_clock_id_wait_jitter_unlocked),
1819 (gst_system_clock_id_wait_jitter):
1820 Fix restart in the async notify thread when an async entry is added to
1821 the front of the list. Fixes #381492.
1823 * tests/check/gst/gstsystemclock.c: (store_callback),
1824 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
1825 Added test for multiple async waits.
1826 Added test for async wait order.
1828 2006-12-07 Wim Taymans <wim@fluendo.com>
1830 * gst/gstbin.c: (gst_bin_query):
1831 Add some more docs about the POSITION query.
1833 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
1836 Bump version nano - back to CVS.
1838 === release 0.10.11 ===
1840 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
1843 releasing 0.10.11, "Love never runs on time"
1845 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
1847 * win32/common/libgstbase.def:
1848 * win32/common/libgstreamer.def:
1849 * win32/vs8/libgstbase.vcproj:
1850 * win32/vs8/libgstcoreelements.vcproj:
1851 * win32/vs8/libgstreamer.vcproj:
1852 Fix compilation on win32 under VS8
1853 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
1854 Partially fixes #381175
1856 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
1858 * gst/gstvalue.c: (gst_value_compare_fraction):
1859 If someone is foolish enough to compare 2 fractions with denominator =
1860 0, return UNORDERED rather than aborting.
1862 2006-11-28 Edward Hervey <edward@fluendo.com>
1864 * libs/gst/base/Makefile.am:
1865 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
1866 (gst_data_queue_base_init), (gst_data_queue_class_init),
1867 (gst_data_queue_init), (gst_data_queue_new),
1868 (gst_data_queue_cleanup), (gst_data_queue_finalize),
1869 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
1870 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
1871 (gst_data_queue_is_empty), (gst_data_queue_is_full),
1872 (gst_data_queue_set_flushing), (gst_data_queue_push),
1873 (gst_data_queue_pop), (gst_data_queue_drop_head),
1874 (gst_data_queue_set_property), (gst_data_queue_get_property):
1875 * libs/gst/base/gstdataqueue.h:
1876 New GstDataQueue object for threadsafe queueing. Most useful for
1877 elements that need some queueing functionnality.
1878 * docs/libs/gstreamer-libs-docs.sgml:
1879 * docs/libs/gstreamer-libs-sections.txt:
1880 Insert documentation for GstDataQueue
1881 * plugins/elements/Makefile.am:
1882 * plugins/elements/gstelements.c:
1883 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1884 (gst_multi_queue_class_init), (gst_multi_queue_init),
1885 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
1886 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
1887 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
1888 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
1889 (gst_multi_queue_loop), (gst_multi_queue_chain),
1890 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1891 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
1892 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
1893 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
1894 (wake_up_next_non_linked), (compute_next_non_linked),
1895 (single_queue_overrun_cb), (single_queue_underrun_cb),
1896 (single_queue_check_full), (gst_single_queue_new):
1897 * plugins/elements/gstmultiqueue.h:
1898 New multiqueue element, using GstDataQueue. Used for queuing multiple
1900 Closes #344639 and #347785
1902 2006-11-22 Stefan Kost <ensonic@users.sf.net>
1904 * docs/pwg/advanced-types.xml:
1905 add more missing type details
1907 * tools/gst-run.c: (main):
1908 remove unused variable
1910 2006-11-21 Stefan Kost <ensonic@users.sf.net>
1912 * docs/libs/Makefile.am:
1913 * docs/libs/gstreamer-libs.types:
1914 add types of base classes to enable gobject specific stuff in the docs
1916 * docs/random/ensonic/embedded.txt:
1917 more ideas about isolating platform specific things
1919 2006-11-20 Wim Taymans <wim@fluendo.com>
1921 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
1923 * libs/gst/check/gstcheck.h:
1924 Fix compilation and running against 0.9.4. Fixes #377332.
1926 2006-11-20 Wim Taymans <wim@fluendo.com>
1928 * gst/gstsegment.c: (gst_segment_set_seek),
1929 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1930 (gst_segment_to_running_time):
1931 Fix boundary checking in to_running_time() and to_stream_time().
1934 * tests/check/gst/gstsegment.c: (GST_START_TEST):
1935 stream and running time can now be calculated for the complete
1938 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
1940 * gst/gstpad.c: (gst_pad_push_event):
1941 Can't access event structure after giving away ownership of
1944 2006-11-15 Stefan Kost <ensonic@users.sf.net>
1946 * docs/random/ensonic/embedded.txt:
1947 * docs/random/ensonic/profiling.txt:
1948 * docs/random/ensonic/receipies.txt:
1951 2006-11-13 Wim Taymans <wim@fluendo.com>
1953 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1956 Fix documentation for gst_pad_dispatcher. Fixes #374475.
1958 2006-11-13 Wim Taymans <wim@fluendo.com>
1960 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
1962 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1963 Store new length in segment duration so we don't keep on calling the
1964 potentially expensize get_size() call. Fixes #370865.
1966 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
1968 Patch by: Sergey Scobich <sergey.scobich at gmail com>
1970 * win32/common/libgstreamer.def:
1971 Add two missing symbols (#366492).
1973 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
1975 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
1976 (gst_adapter_take_buffer):
1977 Fix format string to use all its arguments.
1978 Remove useless >= check on a guint
1980 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
1982 * tests/examples/adapter/.cvsignore:
1983 Ignore build file as commanded by the build-bot
1985 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
1987 * tests/examples/adapter/Makefile.am:
1988 * tests/examples/adapter/adapter_test.c: (run_test_take),
1989 (run_test_take_buffer), (run_tests), (main):
1991 Add new files from the previous commit
1993 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
1997 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
1998 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
1999 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2000 * libs/gst/base/gstadapter.h:
2001 * tests/check/libs/adapter.c: (create_and_fill_adapter),
2002 (GST_START_TEST), (gst_adapter_suite):
2003 * tests/examples/Makefile.am:
2004 Do some optimisation work in GstAdapter to avoid copies in more cases.
2005 It could still do slightly better by merging buffers when
2006 gst_buffer_is_span_fast is true, but is already faster.
2008 Also, avoid traversing a single-linked list to append each incoming
2009 buffer inside the adapter.
2011 Add simple test app that times the adapter behaviour in different
2012 situations, and extend the unit test to check that bytes enter and
2013 exit the adapter in their original order.
2015 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
2017 * docs/random/draft-missing-plugins.txt:
2018 Update: use element message instead of adding a new message
2019 type to the core; don't provide GStreamer API to initiate the
2020 plugin download, just provide API to compose the strings needed
2021 and let an external libgimmestuff handle the rest.
2023 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
2025 * tools/gst-inspect.c: (print_element_properties_info):
2026 Print a string instead of 'unknown type' for GValueArray properties
2028 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
2030 * docs/random/draft-missing-plugins.txt:
2033 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
2035 * tests/examples/typefind/typefind.c: (type_found), (main):
2036 Make typefind element example work again (#371894); add a
2039 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
2041 * docs/random/draft-missing-plugins.txt:
2042 Commit initial draft about how to deal with missing plugins,
2043 needs work (API too).
2045 2006-11-07 Stefan Kost <ensonic@users.sf.net>
2047 * docs/pwg/advanced-types.xml:
2048 documents the new caps elements (see #363118)
2050 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
2052 * gst/gstplugin.c: (gst_plugin_load_file):
2053 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2054 (gst_file_src_map_region), (gst_file_src_start):
2055 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2056 (gst_file_index_commit):
2057 Use g_strerror() instead of strerror() - we want UTF-8.
2059 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
2061 Patch by: Peter Kjellerstedt <pkj at axis com>
2063 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2064 Another printf fix (#371493).
2066 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2068 * tests/check/gst/gsttag.c:
2069 relicence (okay with author=company)
2071 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2073 * gst/gstpad.c: (gst_pad_event_default_dispatch),
2074 (gst_pad_push_event):
2075 Enhance debug and improve docs
2080 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2082 * docs/random/ensonic/distributed.txt:
2083 * docs/random/ensonic/profiling.txt:
2086 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2088 * docs/gst/gstreamer-sections.txt:
2089 add new API and fix the build
2091 * gst/gstbin.c: (gst_bin_recalc_state):
2092 * gst/gstelement.c: (gst_element_message_full),
2093 (gst_element_get_state_func), (gst_element_set_state_func):
2094 use new API and improve logging
2096 * gst/gstutils.c: (gst_element_state_change_return_get_name):
2098 API: add function to get StateChangereturn names to improve logs
2100 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
2102 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2103 I'm considering shooting the next person to put strerror stuff
2104 in the translateable part of the message.
2106 2006-11-03 Wim Taymans <wim@fluendo.com>
2108 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2109 Get the type and printf conversion specifiers right.
2111 2006-11-03 Wim Taymans <wim@fluendo.com>
2113 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2115 * gst/gstpad.c: (gst_pad_init), (pre_activate),
2116 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2117 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2118 Some small cleanups. Improve debugging.
2120 Signal all waiting threads with a broadcast instead of just one.
2123 2006-11-03 Wim Taymans <wim@fluendo.com>
2125 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2126 (gst_fd_src_create):
2128 Only update fd when it's different from the old.
2130 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
2132 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2133 Printf fixes for PPC/OSX, take two (#369366).
2135 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
2137 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
2139 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2140 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2141 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2142 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2143 don't cast to long long for portability reasons, but use
2144 GLib's types instead.
2146 2006-10-30 Michael Smith <msmith@fluendo.com>
2148 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2149 Get the arguments to lseek() the right way around.
2152 2006-10-30 Wim Taymans <wim@fluendo.com>
2154 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2157 _declspec should be __declspec (two underscores, not one). Fixes 366572.
2159 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
2161 Patch by: Kjartan Maraas <kmaraas at gnome org>
2163 * docs/design/part-MT-refcounting.txt:
2164 * docs/random/wtay/capsnego2-docs:
2167 Typo fixes (#366212).
2169 2006-10-28 Wim Taymans <wim@fluendo.com>
2171 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2174 * win32/common/libgstbase.def:
2175 * win32/common/libgstreamer.def:
2176 * win32/vs8/libgstbase.vcproj:
2177 * win32/vs8/libgstcontroller.vcproj:
2178 Add needed entries in .def files.
2180 Rearrange def files in vs8 solutions. Fixes #366286.
2182 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
2184 * win32/common/gstconfig.h:
2185 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2186 hand-made win32 gstconfig.h. Fixes #366321.
2188 2006-10-27 Wim Taymans <wim@fluendo.com>
2190 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2191 (gst_ghost_pad_new_full):
2192 Make acceptcaps return TRUE when we don't have a target, just like
2195 2006-10-27 Wim Taymans <wim@fluendo.com>
2197 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2198 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2200 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
2202 * gst/gststructure.c: (gst_structure_id_set_value):
2203 If someone tries to set a non-UTF8 string field on a structure,
2204 don't just print a warning, but also ignore the request and do
2205 not change/add that field to the structure.
2207 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2210 2006-10-25 David Schleef <ds@schleef.org>
2213 g_hash_table_insert() needs a cast to a non-const pointer duh.
2215 2006-10-25 David Schleef <ds@schleef.org>
2219 Change name parameter of _gst_debug_register_funcptr to const
2220 to reflect the constness of its use in the function as well
2221 as to quiet a gcc warning.
2223 2006-10-25 Edward Hervey <edward@fluendo.com>
2225 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2226 Don't push the buffer if it's empty.
2229 2006-10-24 Wim Taymans <wim@fluendo.com>
2234 * libs/gst/base/gstbasetransform.c:
2235 (gst_base_transform_sink_eventfunc):
2236 Debug segment values *after* updating them as this is more
2239 2006-10-23 Wim Taymans <wim@fluendo.com>
2241 * docs/design/part-events.txt:
2244 * docs/design/part-block.txt:
2245 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2246 (gst_pad_push_event):
2247 Revert BLOCKING patch, it tries to be smart without really having a
2248 clear idea what or how. So, now we discard all FLUSHING events again on
2249 a blocking pad. Should fix gnonlin again.
2251 2006-10-23 Wim Taymans <wim@fluendo.com>
2253 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2255 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2256 (gst_base_src_start), (gst_base_src_activate_push):
2257 Make sure size is always initialized. Fixes #364388.
2259 2006-10-20 Stefan Kost <ensonic@users.sf.net>
2261 * docs/random/ensonic/distributed.txt:
2262 add some ideas about doing distributed processing
2264 * docs/random/ensonic/profiling.txt:
2265 get_rusage look promising
2267 2006-10-18 Stefan Kost <ensonic@users.sf.net>
2269 * docs/manual/basics-helloworld.xml:
2270 Add a cast in example to fix compile warning
2272 2006-10-18 Wim Taymans <wim@fluendo.com>
2274 * gst/gstsegment.c: (gst_segment_set_last_stop),
2275 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2276 Relax arg checking again, -1 is allowed.
2278 2006-10-18 Wim Taymans <wim@fluendo.com>
2280 * gst/gstsegment.c: (gst_segment_set_last_stop),
2281 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2282 _set_last_stop() must be with a value != -1
2283 A _TYPE_SET to -1 means seek to 0.
2284 Calc last_stop correctly for negative rates.
2285 Make sure we work with positive durations when updating a segment.
2287 2006-10-18 Wim Taymans <wim@fluendo.com>
2289 * docs/design/part-live-source.txt:
2293 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
2296 Add an explicit cast to GstBuffer** to keep old code that added an
2297 explicit cast to GstMiniObject** for gst_mini_object_replace()
2298 compiling without warning.
2300 2006-10-18 Stefan Kost <ensonic@users.sf.net>
2302 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2303 check for validity of dates
2305 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
2307 * docs/gst/gstreamer-sections.txt:
2308 Forgot this one, makes gtk-doc shut up.
2310 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
2312 Patch by: Peter Kjellerstedt <pkj at axis com>
2315 Don't define xmlNodePtr to gpointer if the core was built with
2316 --disable-loadsave and --disable-registry, this will break
2317 applications that want to use libxml2 but are buildling against a
2318 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2319 instead so we don't have to mess with the libxml2 namespace
2322 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
2325 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2326 type-punned pointer warnings.
2328 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
2331 Add casts to the correct return type to state <=> state transition
2334 2006-10-16 Stefan Kost <ensonic@users.sf.net>
2336 * docs/design/part-live-source.txt:
2337 describe howto handle latency
2339 * docs/random/ensonic/profiling.txt:
2342 * tools/gst-plot-timeline.py:
2343 fix log parsing for solaris, remove unused function
2345 2006-10-16 Wim Taymans <wim@fluendo.com>
2347 * docs/design/part-trickmodes.txt:
2349 Update some docs regarding reverse playback.
2351 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
2353 Patch by: Marcus Granado <mrc dot gran at gmail com>
2355 * win32/vs8/grammar.vcproj:
2356 Error out with a warning if glib-genmarshal.exe is not in path,
2357 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2359 2006-10-13 Wim Taymans <wim@fluendo.com>
2361 * gst/gstsegment.c: (gst_segment_set_seek):
2362 When seeking to stop -1, set last_stop (current position) to the
2363 duration of the segment.
2365 2006-10-13 Wim Taymans <wim@fluendo.com>
2368 Clarify _NO_PREROLL a bit more.
2373 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2374 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2375 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2376 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2377 due to wrong locking order. Fixes #361769.
2378 Remove some redundant/misplaced checks in pad_block.
2380 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2381 For negative rates, count backwards from the duration.
2383 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
2385 * gst/gsterror.c: (_gst_library_errors_init):
2386 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2387 up with something better).
2389 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
2391 * win32/vs6/libgstreamer.dsp:
2392 * win32/vs7/libgstreamer.vcproj:
2393 * win32/vs8/libgstreamer.vcproj:
2394 Don't reference glib-compat.c which is currently not used and not
2395 disted; add gstquark.c which was recently added. Fixes #361730.
2397 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
2399 * win32/common/libgstbase.def:
2400 * win32/common/libgstcontroller.def:
2401 * win32/common/libgstreamer.def:
2402 Add gst_caps_merge() and a bunch of other recently-added functions.
2405 2006-10-11 Wim Taymans <wim@fluendo.com>
2407 * docs/plugins/gstreamer-plugins.args:
2408 * docs/plugins/inspect/plugin-coreelements.xml:
2409 * docs/plugins/inspect/plugin-coreindexers.xml:
2410 Update element args.
2412 * gst/gstsystemclock.c:
2413 Small comment update.
2415 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2416 (gst_tee_request_new_pad), (gst_tee_release_pad),
2417 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2418 (gst_tee_sink_activate_pull):
2419 * plugins/elements/gsttee.h:
2421 Add default property defines.
2422 Implement release pad function.
2423 Give properties better blubs etc.
2424 Activate pads before adding them to a running tee.
2425 Do simple buffer_alloc on the first requested pad.
2426 Post error when activation fails.
2428 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
2430 * gst/gst.c: (ensure_current_registry_forking):
2431 Check return value of write() to make compiler happy.
2433 2006-10-11 Wim Taymans <wim@fluendo.com>
2435 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2437 * plugins/elements/gstqueue.c: (gst_queue_chain):
2438 Recheck queue filledness after signalling the overrun when we're about
2439 to leak downstream because we released the lock when emitting the signal
2440 and the queue could be empty again. Fixes #352345.
2442 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
2444 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
2445 Fix refcounting here too, just like we did for _new_valist() a few
2446 days ago (#357180) (thanks to René Stadler). Also remove all those
2447 'Since: 0.9' from the gtk-doc blobs.
2449 * tests/check/libs/controller.c: (controller_refcount_new_list),
2450 (gst_controller_suite):
2451 Unit test for the above.
2453 2006-10-10 Wim Taymans <wim@fluendo.com>
2455 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
2457 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2458 (gst_pad_save_thyself):
2460 Write pad direction in XML output. Fixes #345496.
2462 2006-10-10 Wim Taymans <wim@fluendo.com>
2464 Patch by: René Stadler <mail at renestadler dot de>
2466 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2467 (gst_controller_new_list), (_gst_controller_dispose),
2468 (_gst_controller_finalize), (_gst_controller_class_init):
2469 Take ref to controlled object so that it cannot disappear.
2472 2006-10-10 Wim Taymans <wim@fluendo.com>
2474 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2475 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2476 (gst_check_teardown_sink_pad):
2477 Activate/deactivate pads in setup/teardown respectively.
2479 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2481 Patch by: Josep Torre Valles <josep@fluendo.com>
2484 Cast values when making gstenumtypes.h. This pacifies Forte
2485 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
2488 2006-10-09 Wim Taymans <wim@fluendo.com>
2490 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
2491 Rename some more @cur to @start to fix docs.
2493 * gst/gstsegment.c: (gst_segment_set_seek):
2495 time and start must always stay in sync as defined in design doc.
2497 * gst/gsttaglist.c: (gst_tag_list_is_empty):
2498 Rename param to fix docs.
2500 * tests/check/gst/gstsegment.c: (GST_START_TEST):
2501 Check that start and time are in sync.
2503 * tests/check/pipelines/parse-launch.c:
2504 (gst_parse_test_element_change_state):
2505 Activate pad before adding to the element.
2507 2006-10-09 Wim Taymans <wim@fluendo.com>
2509 * docs/design/part-qos.txt:
2514 Update seek event docs regarding negative rates.
2515 Rename @cur to @start.
2517 * gst/gstsegment.c: (gst_segment_set_seek):
2519 Update set_seek docs regarding negative rates.
2520 Correctly update last_stop to @stop when dealing with negative
2522 Rename @cur to @start.
2524 * tests/check/gst/gstpad.c: (GST_START_TEST):
2525 Activate pads before trying to use them.
2527 * tests/check/gst/gstsegment.c: (GST_START_TEST),
2528 (gst_segment_suite):
2529 Add simple check for segments and negative rates.
2531 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
2533 * gst/gsttaglist.c: (gst_tag_list_is_empty):
2535 * docs/gst/gstreamer-sections.txt:
2536 API: add gst_tag_list_is_empty() (#360467).
2538 * tests/check/gst/gsttag.c: (GST_START_TEST):
2541 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2544 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
2545 a value that doesn't fit on enumeration.
2547 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2549 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2550 Remove local debugging system and use Gstreamer's instead.
2552 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2554 Patch by: Josep Torre Valles <josep@fluendo.com>
2556 * common/m4/gst-error.m4:
2557 Disable warning of statement not reached on Forte.
2559 Fix warning on Forte (value doesn't fit on enumeration).
2560 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
2561 Fix warning on Forte (value doesn't fit on enumeration).
2562 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2563 DEBUG macro says it takes minimum of 2 args and so Forte
2564 complains about the use with just 1 arg.
2565 * plugins/elements/gstfdsink.c:
2566 * plugins/elements/gstfdsrc.c:
2567 * plugins/elements/gstfilesink.c:
2568 * plugins/elements/gstfilesrc.c:
2569 Use correct return type for the uri handler implementations.
2571 All these fix warnings in Forte. Fixes bug #360860.
2573 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
2576 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
2577 format string, so don't use G_GNUC_PRINTF for those versions.
2579 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
2581 * gst/gsttaglist.c: (gst_is_tag_list):
2583 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
2585 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2586 Small test for the above.
2588 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
2591 Less tabs, more spaces.
2593 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
2596 Those two function declarations do actually belong there, revert
2597 commit from yesterday that turned them intro macros.
2599 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2601 Patch by: Josep Torre Valles <josep@fluendo.com>
2603 * gst/gst.c: (gst_init_get_option_group):
2604 Fix empty declaration and type mismatch.
2605 * gst/gstbin.c: (gst_bin_change_state_func):
2607 * gst/gstelement.c: (gst_element_continue_state),
2608 (gst_element_set_state_func), (gst_element_change_state),
2609 (gst_element_change_state_func):
2610 Fix type mismatches.
2611 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
2612 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
2613 Cast as appropriate.
2614 * gst/gstobject.c: (gst_class_signal_connect):
2615 Cast as appropriate. The function pointer parameter really
2616 has the wrong type but would break API if we change it.
2618 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
2619 order of including string.h.
2620 * gst/gstutils.c: (gst_element_state_get_name):
2621 Remove unreachable line.
2622 * gst/gstxml.c: (gst_xml_parse_doc):
2624 All these caught by Forte.
2626 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2628 Patch by: Josep Torre Valles <josep@fluendo.com>
2630 * common/m4/gst-error.m4:
2632 We need to disable warnings on Forte for empty declarations
2633 due to gst-indent adding ;s to lines that just use macros
2634 where the macro actually doesn't need a ; at end to end
2637 2006-10-06 Wim Taymans <wim@fluendo.com>
2639 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2640 (gst_file_sink_close_file), (gst_file_sink_event),
2641 (gst_file_sink_render):
2642 Add some FIXME for the NEWSEGMENT handling.
2644 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2646 * gst/parse/grammar.y:
2647 Remove static function gst_parse_element_lock as all it does
2648 is return. Looks like cruft from 0.8.
2650 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2652 Patch by: Josep Torre Valles <josep@fluendo.com>
2654 * common/m4/gst-error.m4:
2656 * libs/gst/net/Makefile.am:
2657 Fix a compilation issue with Forte on Solaris. inet_aton is in
2660 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
2662 * gst/gstpad.c: (pre_activate):
2663 * gst/gstregistry.c: (gst_registry_scan_path_level):
2664 * gst/gstregistryxml.c: (load_plugin):
2665 * libs/gst/controller/gstcontroller.c:
2666 (gst_controlled_property_set_interpolation_mode):
2667 * libs/gst/dataprotocol/dataprotocol.c:
2668 (gst_dp_packet_from_event_1_0):
2669 * libs/gst/net/gstnetclientclock.c:
2670 (gst_net_client_clock_observe_times):
2671 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2674 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
2677 * docs/gst/gstreamer-sections.txt:
2678 * gst/gstconfig.h.in:
2681 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
2682 whether we can use G_GNUC_PRINTF in other header files and at
2683 least check the printf format/arguments of debug messages and
2684 GST_ELEMENT_ERROR messages when the printf extension is not
2686 Replace more tabs with spaces in gstinfo.h and remove two spurious
2687 function declarations in GST_DISABLE_DEBUG part with macros.
2689 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
2691 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
2692 More docs for the sync-message signal (mention that it is not
2693 emitted by default); log message structures of messages posted on
2696 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
2698 * gst/gst.c: (ensure_current_registry_forking):
2699 Use a pipe pair to receive status results from the forked child, and
2700 ignore the result from waitpid. Fixes #355499
2702 2006-10-02 Wim Taymans <wim@fluendo.com>
2704 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
2705 (gst_ghost_pad_suite):
2708 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
2711 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
2713 2006-10-02 Edward Hervey <edward@fluendo.com>
2715 * docs/design/part-block.txt:
2716 Further explain the use of flushing on blocked pads.
2717 * docs/gst/gstreamer-sections.txt:
2718 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2719 (gst_pad_push_event):
2721 Added new GstPadFlag : GST_PAD_BLOCKING.
2722 Adds the notion of pads really blocking, which enables to properly
2723 handle FLUSH_START/FLUSH_STOP events on blocked pads.
2725 API: gst_pad_is_blocking()
2726 API: GST_PAD_IS_BLOCKING() macro
2727 API: GST_PAD_BLOCKING GstPadFlag
2729 2006-10-02 Wim Taymans <wim@fluendo.com>
2731 Patch by: mrcgran <mrc.gran at gmail dot com>
2733 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
2734 Filter the proxied caps against the padtemplate if we have one.
2736 * gst/gstquery.c: (gst_query_new_segment):
2737 Add include for gstinfo.h so that compilation with
2738 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
2740 2006-10-02 Wim Taymans <wim@fluendo.com>
2742 Patch by: Alessandro Decina <alessandro at nnva org>
2744 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
2745 (gst_file_sink_set_location), (gst_file_sink_open_file),
2746 (gst_file_sink_close_file), (gst_file_sink_event),
2747 (gst_file_sink_render):
2748 Set file to NULL when closing filesink so that we can set a new filename
2749 in READY. Fixes #358613.
2751 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
2753 Patch by: Alessandro Decina <alessandro at nnva org>
2755 * gst/gstevent.c: (_gst_event_copy):
2756 Fix gst_mini_object_make_writable() and gst_event_copy() for events
2757 with event structures by setting the parent refcount address of the
2758 copied structure to the address of the refcount member of the newly
2759 copied event rather than the address of the refcount member of the
2760 original event. Fixes #358737.
2762 * tests/check/gst/gstevent.c: (GST_START_TEST):
2763 Unit test for the above.
2765 2006-09-29 Stefan Kost <ensonic@users.sf.net>
2767 * docs/design/Makefile.am:
2768 Dist some more files.
2770 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
2772 * tests/check/libs/controller.c: (GST_START_TEST),
2773 (gst_controller_suite):
2774 Add test for the previous fix; add some more tests
2775 for correct refcounting behaviour; fix a few leaks
2776 in test cases; call gst_controller_init() at start
2779 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
2781 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2782 (gst_controller_set_from_list):
2783 Don't g_return_val_if_fail() on timed values with invalid timestamps
2784 inside a critical section without unlocking the mutex. Spotted by
2785 René Stadler. (#357617)
2786 Also, fix up refcounting properly: when returning an existing
2787 controller, we should increase the reference only once and not
2788 once per property and when trying to control a property again
2789 we should also increase the refcount.
2791 2006-09-29 Wim Taymans <wim@fluendo.com>
2793 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2794 * libs/gst/net/gstnettimeprovider.c:
2795 (gst_net_time_provider_thread):
2796 Stop reading commands when EOF as well.
2798 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2799 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2800 * plugins/elements/gstidentity.c: (gst_identity_class_init):
2801 Unify description of the dump property.
2803 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
2805 * tests/examples/manual/.cvsignore:
2806 OK, so it's actually cvsignore that needs changing. Stop laughing.
2808 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
2810 * tests/examples/manual/Makefile.am:
2811 Gah, declare vars *before* using them
2813 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
2815 * gst/gst.c: (init_pre), (scan_and_update_registry),
2816 (ensure_current_registry_nonforking),
2817 (ensure_current_registry_forking), (ensure_current_registry),
2818 (init_post), (gst_debug_help), (gst_deinit):
2819 * gst/gst_private.h:
2820 * gst/gstregistry.c: (gst_registry_finalize),
2821 (gst_registry_remove_features_for_plugin_unlocked),
2822 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2823 (gst_registry_scan_path),
2824 (_priv_gst_registry_remove_cache_plugins),
2825 (_priv_gst_registry_cleanup):
2826 * gst/gstregistry.h:
2827 Re-commit the registry changes, along with an extra fix:
2828 When a cached plugin is encountered at a different file path,
2829 update the stored path in the registry cache so that the parent
2830 process knows where it actually is now when it re-reads the registry
2831 cache. Fixes the thing that broke distcheck with the previous commit.
2833 * tests/check/Makefile.am:
2834 Clean up files named 'core' too when running make clean.
2836 * tests/examples/manual/Makefile.am:
2837 Set up a registry path for running these tests, and clean it properly
2840 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
2843 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
2844 want gmodule-no-export-2.0.pc instead so that we don't drag in
2845 --export-dynamic on every project that links to GStreamer.
2847 Also, make our export regex only match the start of symbols, rather
2848 than any symbol that contains '_gst' somewhere.
2850 * libs/gst/check/Makefile.am:
2851 The libgstcheck we build does however need export-dynamic, as it
2852 produces some symbols that don't match our _gst... style regex.
2855 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
2857 * gst/gst.c: (init_pre), (scan_and_update_registry),
2858 (ensure_current_registry_nonforking),
2859 (ensure_current_registry_forking), (ensure_current_registry),
2860 (init_post), (gst_debug_help), (gst_deinit):
2861 * gst/gst_private.h:
2862 * gst/gstregistry.c: (gst_registry_finalize),
2863 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2864 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
2865 (_gst_registry_cleanup):
2866 * gst/gstregistry.h:
2867 Revert previous change until I figure out why it breaks distcheck.
2869 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
2871 * gst/gst.c: (init_pre), (scan_and_update_registry),
2872 (ensure_current_registry_nonforking),
2873 (ensure_current_registry_forking), (ensure_current_registry),
2874 (init_post), (gst_debug_help), (gst_deinit):
2876 Make init_pre and init_post take the full complement of GOptionFunc
2877 args so they can return useful GErrors. Make the registry updating
2880 Call _priv_gst_registry_remove_cache_plugins after scanning files to
2881 ensure that the registry we're about to write out doesn't contain
2882 stale information about old-deleted plugin files.
2884 Make _priv_gst_registry_remove_cache_plugins return a boolean so
2885 that deletion of plugin files is considered a registry change.
2887 * gst/gst_private.h:
2888 * gst/gstregistry.c: (gst_registry_finalize),
2889 (gst_registry_remove_features_for_plugin_unlocked),
2890 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2891 (gst_registry_scan_path),
2892 (_priv_gst_registry_remove_cache_plugins),
2893 (_priv_gst_registry_cleanup):
2894 * gst/gstregistry.h:
2895 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
2896 by adding _priv prefix, so that they won't appear in the global
2897 symbol table. They still do atm though because of #318031. Move the
2898 prototypes to gst_private.h
2900 When removing a plugin, remove all features for that plugin too.
2903 2006-09-27 Wim Taymans <wim@fluendo.com>
2905 * docs/random/moving-plugins:
2906 Make it clear that the "compiled-in descriptions" really mean
2907 the element details.
2909 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2910 (gst_base_sink_wait_preroll):
2913 * docs/libs/gstreamer-libs-sections.txt:
2914 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2915 (gst_base_src_get_range), (gst_base_src_activate_push):
2916 * libs/gst/base/gstbasesrc.h:
2917 Added function to block while waiting for PLAYING, this function
2918 is used by live sources that block on the clock.
2919 API: gst_base_src_wait_playing()
2921 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
2923 Patch by: Peter Kjellerstedt <pkj at axis com>
2926 gst-element-check.m4 is generated and should therefore be
2927 copied from the build dir rather than the source dir (#357593).
2928 'make distcheck' hasn't noticed this because we were disting
2929 the file as well, so stop doing that.
2931 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
2933 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
2934 Add some tests for gst_caps_intersect().
2936 * tools/gst-launch.c: (event_loop):
2937 Print all buffering percentages we get, even the 100% one.
2939 2006-09-26 Wim Taymans <wim@fluendo.com>
2941 * tools/gst-inspect.c: (print_element_properties_info),
2942 (print_signal_info):
2943 Fix printing of flags to match the look of enums.
2945 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
2947 * gst/gstelementfactory.c:
2948 Fix typo in docs blurb.
2950 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
2952 * gst/gsturi.c: (search_by_entry):
2953 Don't assert/crash here if a uri handler doesn't return any
2954 supported protocols. The list of protocols could be generated
2955 dynamically at runtime or at plugin registration, and an error
2956 in the underlying library shouldn't be fatal (#353301).
2958 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
2961 Fix warning if HAVE_PRINTF_EXTENSION is undefined
2962 (spotted by Peter Kjellerstedt).
2964 2006-09-23 Wim Taymans <wim@fluendo.com>
2966 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
2968 * libs/gst/base/gstbasesrc.c:
2969 (gst_base_src_default_check_get_range), (gst_base_src_start),
2970 (gst_base_src_activate_push), (gst_base_src_activate_pull),
2971 (gst_base_src_change_state):
2972 Match _start/_stop calls in the activate functions. Remove redundant
2973 _stop call from the state change function. Fixes #356910.
2974 Turn failure DEBUG into ERROR.
2976 2006-09-22 Wim Taymans <wim@fluendo.com>
2978 * docs/design/part-buffering.txt:
2979 * gst/gstmessage.c: (gst_message_new_buffering),
2980 (gst_message_parse_buffering):
2981 Update docs about buffering.
2983 * docs/design/part-trickmodes.txt:
2986 2006-09-22 Stefan Kost <ensonic@users.sf.net>
2988 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2989 (gst_controller_new_list):
2990 Ref instances when returning them again (fixes #357180)
2992 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
2994 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
2995 Don't forget to release proxy lock when there's an error.
2997 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
3000 Add extra initialisers for Caps things, to fix some plugin warnings
3003 2006-09-18 Wim Taymans <wim@fluendo.com>
3005 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3006 Also set template on the internal pad so that a getcaps from the
3007 target pad returns the template caps.
3009 2006-09-18 Wim Taymans <wim@fluendo.com>
3011 * gst/gstelement.c: (gst_element_post_message),
3012 (gst_element_dispose):
3013 Use _DEBUG_OBJECT some more.
3015 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3018 * tools/gst-launch.c: (main):
3019 If the toplevel element is not a GstPipeline, it must be put in a
3020 pipeline so that a bus and clock is selected.
3022 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
3024 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3025 JITTER, RATE, and LATENCY query should be handled by the
3026 default case and not by the CONVERT query code.
3028 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
3030 * gst/gstformat.c: (gst_format_register):
3031 Fix locking order (must take lock before using n_values).
3033 * gst/gstvalue.c: (gst_value_serialize_enum),
3034 (gst_value_deserialize_enum_iter_cmp),
3035 (gst_value_deserialize_enum):
3036 Fix serialisation/deserialisation of custom registered GstFormats.
3038 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3039 Unit test for custom format serialisation/deserialisation.
3041 2006-09-17 Stefan Kost <ensonic@users.sf.net>
3043 * docs/pwg/building-boiler.xml:
3044 * plugins/elements/gstcapsfilter.c:
3045 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3048 2006-09-16 Edward Hervey <edward@fluendo.com>
3050 * libs/gst/base/gstbasetransform.c:
3051 (gst_base_transform_buffer_alloc):
3052 Check if requested caps are the same as the sinks caps IF
3053 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3055 This fixes the renegotiation issues stated in #352827.
3057 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
3060 * docs/manual/advanced-autoplugging.xml:
3061 * tests/examples/Makefile.am:
3062 * tests/examples/manual/.cvsignore:
3063 * tests/examples/manual/Makefile.am:
3064 * tests/examples/manual/extract.pl:
3065 Extract the manual examples again like we used to do.
3068 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
3070 * win32/common/config.h:
3073 2006-09-16 Stefan Kost <ensonic@users.sf.net>
3076 Documents how to receive errors.
3078 2006-09-15 Wim Taymans <wim@fluendo.com>
3080 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3081 (event_loop), (main):
3082 Added some comments here and there.
3083 Post an application message when an interrupt is caught instead of doing
3084 an uncontrolled state change.
3085 Clean up the event loop.
3086 Handle buffering messages, pause/resume the pipeline.
3087 Make shutdown because of an interrupt more reliable.
3089 2006-09-15 Wim Taymans <wim@fluendo.com>
3091 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3092 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3093 (gst_base_sink_preroll_object):
3094 Make sure that our internal state is correct when we commit our state
3095 asynchronously. This solves a race where a state change to PLAYING
3096 could cause the sink to remain blocked in preroll in some situations.
3098 2006-09-15 Wim Taymans <wim@fluendo.com>
3100 * tools/gst-inspect.c: (print_element_properties_info),
3101 (print_signal_info):
3102 List flags as hex so it's easier to deal with.
3104 2006-09-15 Wim Taymans <wim@fluendo.com>
3106 * docs/libs/gstreamer-libs-sections.txt:
3107 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3108 (gst_base_sink_do_sync):
3109 * libs/gst/base/gstbasesink.h:
3110 Expose logic to wait for preroll so that subclasses such as audiosink
3111 can also use this method.
3112 API: gst_base_sink_wait_preroll()
3114 2006-09-15 Wim Taymans <wim@fluendo.com>
3116 * gst/gstobject.c: (gst_object_set_parent):
3117 * gst/gstpipeline.c: (do_pipeline_seek):
3118 Small cleanups in docs and code.
3120 * gst/gstsegment.c: (gst_segment_clip):
3121 * tests/check/gst/gstsegment.c: (GST_START_TEST):
3122 if stop == start and start is in the segment, no clipping should be
3123 done. Also add a test for this.
3125 2006-09-15 Wim Taymans <wim@fluendo.com>
3127 * docs/design/part-buffering.txt:
3128 * docs/gst/gstreamer-sections.txt:
3129 * gst/gstmessage.c: (gst_message_new_buffering),
3130 (gst_message_parse_buffering):
3132 Added methods to create and parse BUFFERING messages.
3133 Added preliminary docs about buffering.
3134 API: gst_message_new_buffering
3135 API: gst_message_parse_buffering
3137 2006-09-06 Wim Taymans <wim@fluendo.com>
3140 Update documentation.
3142 * gst/gstelement.c: (gst_element_class_init),
3143 (gst_element_release_request_pad), (gst_element_set_clock),
3144 (gst_element_get_index), (gst_element_add_pad),
3145 (gst_element_remove_pad), (gst_element_get_random_pad),
3146 (gst_element_send_event), (gst_element_get_query_types),
3147 (gst_element_query), (gst_element_post_message),
3148 (gst_element_message_full), (gst_element_continue_state),
3149 (gst_element_lost_state), (gst_element_save_thyself),
3150 (gst_element_restore_thyself):
3151 Documentation updates.
3152 Rename last bit of the new-pad -> pad-added signal rename.
3153 Fix the case where an element query would only work if the source
3155 Avoid some useless type checking in message handling.
3160 Documentation updates.
3162 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
3164 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3165 add an INFO line for when we actually update the fd
3167 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
3172 === release 0.10.10 ===
3174 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
3177 releasing 0.10.10, "Pais"
3179 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
3181 * docs/manual/advanced-position.xml:
3182 Fix typo in sample code.
3184 2006-09-05 Wim Taymans <wim@fluendo.com>
3186 * libs/gst/net/gstnetclientclock.c: (inet_aton),
3187 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3188 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3189 * libs/gst/net/gstnetclientclock.h:
3190 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3191 * libs/gst/net/gstnettimepacket.h:
3192 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3193 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3194 (gst_net_time_provider_thread), (gst_net_time_provider_new):
3195 * libs/gst/net/gstnettimeprovider.h:
3196 Make stuff compile on windows. Fixes #345295.
3198 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
3200 * gst/gst.c: (ensure_current_registry_forking):
3201 Print better details when child was terminated by signal.
3203 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
3205 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3206 Print a warning rather than g_assert() if a plugin feature
3207 is a URI handler but returns no protocols (#353976).
3209 2006-09-02 Stefan Kost <ensonic@users.sf.net>
3211 * docs/random/moving-plugins:
3214 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
3216 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3217 Fix locking order, handle NULL function values properly.
3222 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3223 Initialise variable before using it and fix debug statement to
3224 print the address of the function rather than the address of the
3225 variable on the stack holding the address of the function.
3227 2006-09-01 Wim Taymans <wim@fluendo.com>
3229 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3230 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3231 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3232 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3233 (gst_ghost_pad_parent_unset),
3234 (gst_ghost_pad_internal_do_activate_push),
3235 (gst_ghost_pad_internal_do_activate_pull),
3236 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3237 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3238 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3239 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3240 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3241 (gst_ghost_pad_new_no_target_from_template),
3242 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3244 Avoid needless typechecking in macros.
3245 Since the internal pad is always present and never changes, there is
3246 no need to locking or ref when retrieving it.
3247 Improve debugging a bit.
3248 Handle link errors when setting the target. Fixes #341029.
3250 2006-09-01 Wim Taymans <wim@fluendo.com>
3252 * docs/libs/gstreamer-libs-sections.txt:
3253 * docs/plugins/gstreamer-plugins-sections.txt:
3256 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3257 (gst_collect_pads_event):
3258 * libs/gst/base/gstcollectpads.h:
3259 Documentation updates.
3260 Free queued buffer when removing a pad.
3262 2006-08-31 Michael Smith <msmith@fluendo.com>
3264 * gst/gstutils.c: (gst_element_link_pads),
3265 (gst_element_link_pads_filtered):
3266 Ensure that we set a capsfilter to NULL if we failed to link it
3267 when doing filtered linking, to avoid criticals.
3269 No need to check for unreffing srcpad, which is explicly NULLed
3270 above (a trivial code cleanup).
3272 2006-08-31 Wim Taymans <wim@fluendo.com>
3274 * docs/design/part-gstghostpad.txt:
3275 Update ascii art in documentation.
3277 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3278 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3279 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3280 (gst_ghost_pad_internal_do_activate_push),
3281 (gst_ghost_pad_internal_do_activate_pull),
3282 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3283 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3284 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3285 (gst_ghost_pad_set_target):
3286 Small cleanups and leak fixes.
3287 Remove some checks now that the internal pad is never NULL.
3288 Fix the case where linking pads without a target would create nasty
3289 criticals. Fixes #341029.
3290 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3291 value of _set_target().
3293 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3294 (gst_ghost_pad_suite):
3295 Some more tests for creating and linking untargeted ghostpads.
3297 2006-08-31 Edward Hervey <edward@fluendo.com>
3299 * docs/gst/gstreamer-sections.txt:
3300 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3301 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3302 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3303 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3304 (gst_ghost_pad_new_from_template),
3305 (gst_ghost_pad_new_no_target_from_template):
3306 * gst/gstghostpad.h:
3307 Refactored *_new() functions.
3308 Templates are now used as a g_object_new() parameter.
3309 Use template in _do_getcaps() if we don't have a target.
3310 Small documentation cleanups.
3311 Added two new constructors:
3312 gst_ghost_pad_new_from_template()
3313 gst_ghost_pad_new_no_target_from_template()
3314 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3315 (gst_ghost_pad_suite):
3316 Added tests for new ghostpad instanciation functions.
3318 API additions: gst_ghost_pad_new_from_template,
3319 gst_ghost_pad_new_no_target_from_template
3321 2006-08-30 Stefan Kost <ensonic@users.sf.net>
3323 * docs/random/ensonic/profiling.txt:
3324 Ideas about qos profiling.
3326 2006-08-29 Wim Taymans <wim@fluendo.com>
3328 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3332 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
3335 Improve and detypofy docs.
3337 * tests/check/Makefile.am:
3338 * tests/check/gst/.cvsignore:
3339 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3340 Add a basic test suite for GstXML.
3342 2006-08-29 Wim Taymans <wim@fluendo.com>
3344 * gst/gstelement.c: (activate_pads), (clear_caps),
3345 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3346 Clear the pad caps when the element shut down all of the pads and
3347 is not streaming data that could modify the caps.
3350 2006-08-28 Michael Smith <msmith@fluendo.com>
3352 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3353 Revert previous change; I misunderstood single-segment mode.
3355 2006-08-28 Michael Smith <msmith@fluendo.com>
3357 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3358 Unset DISCONT on buffers when using single-segment mode.
3360 2006-08-28 Wim Taymans <wim@fluendo.com>
3362 * gst/gstcaps.c: (gst_caps_merge_structure):
3364 Fix docs and indentation again.
3366 * tests/check/gst/gstquery.c: (GST_START_TEST):
3367 Fix leak in tests and add some more tests.
3369 2006-08-28 Edward Hervey <edward@fluendo.com>
3371 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3372 Inform GstSegment of the last stop position in order for the current
3373 segment to have a proper duration if it doesn't have a specific stop
3374 position from which a duration could be calculated.
3375 This bug was noticeable when a non-flushing, non-update new segment was
3376 followed by another segment (all buffers from the new segment were being
3379 2006-08-28 Wim Taymans <wim@fluendo.com>
3381 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3382 Small comment update.
3384 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3385 (gst_identity_transform_ip):
3386 Drop-probability is broken, mention this in the code with a
3387 FIXME and also in the property description.
3388 Make silent also be silent about the drop messages.
3390 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
3392 * docs/manual/appendix-win32.xml:
3393 Remove mention of popt, we don't depend on that any
3394 longer (#353136). Add some comments pointing out that
3395 this section is slightly outdated.
3397 2006-08-28 Wim Taymans <wim@fluendo.com>
3399 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3401 * gst/gstquery.c: (gst_query_new_segment):
3402 * tests/check/gst/gstquery.c: (GST_START_TEST):
3403 Initialize variables when creating a new segment query.
3406 2006-08-28 Wim Taymans <wim@fluendo.com>
3408 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3410 * gst/gstelement.c: (gst_element_get_bus):
3411 * tests/check/gst/gstelement.c: (GST_START_TEST):
3412 Check for NULL before _reffing the bus. Fixes #353122.
3414 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
3416 * docs/manual/basics-bus.xml:
3417 Docs update: fix wrong callback return value explanation; add
3418 some lines about the implicit relationship between main loop
3419 and main context; remove duplicate main loop variable declaration.
3421 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
3423 * tests/check/gst/gstcaps.c: (GST_START_TEST):
3424 Don't leak caps in unit test; add a few more simple
3427 2006-08-24 Stefan Kost <ensonic@users.sf.net>
3429 * docs/gst/gstreamer-sections.txt:
3430 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3431 (gst_caps_structure_is_subset), (gst_caps_merge),
3432 (gst_caps_merge_structure):
3434 * libs/gst/base/gstbasetransform.c:
3435 (gst_base_transform_transform_caps):
3436 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3437 implement caps merging (fixes #352580)
3439 2006-08-23 Stefan Kost <ensonic@users.sf.net>
3441 * tools/Makefile.am:
3442 * tools/gst-plot-timeline.py:
3443 add debug-log plotting developer tool (#340674)
3445 2006-08-23 Wim Taymans <wim@fluendo.com>
3447 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
3448 (gst_pad_stop_task):
3449 Improve debugging for task functions.
3451 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
3452 (gst_task_start), (gst_task_pause), (gst_task_join):
3453 Make sure that the task function started and finished after a
3455 Don't try to push the task function on the threadpool multiple
3457 Improve the g_warning message with some useful suggestions
3458 about how to fix the problem.
3460 2006-08-23 Wim Taymans <wim@fluendo.com>
3462 * gst/gstutils.c: (gst_pad_proxy_getcaps):
3463 Handle RESYNC correctly in _proxy_getcaps.
3465 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
3467 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
3468 (gst_xml_parse_memory), (gst_xml_get_element):
3469 Chain up to parent class in dispose function and also
3470 unref the elements in the toplevel_elements GList.
3471 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
3472 Always return a reference in gst_xml_get_element() rather
3473 than only sometimes.
3475 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3476 Don't leak GstXml object.
3478 2006-08-21 Stefan Kost <ensonic@users.sf.net>
3480 * docs/gst/gstreamer-sections.txt:
3481 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
3484 * libs/gst/base/gstbasetransform.c:
3485 (gst_base_transform_transform_caps):
3486 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
3489 2006-08-21 Edward Hervey <edward@fluendo.com>
3491 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
3492 Implement GObject::dispose virtual method in GstXML so we can free the
3495 2006-08-21 Wim Taymans <wim@fluendo.com>
3497 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
3498 (gst_buffer_create_sub):
3499 Copy duration/offset_end/caps when creating a subbuffer of the
3501 Make the subbuffer read-only when we make the metadata writable for
3504 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3505 Added check for metadata copy when creating subbuffers.
3507 2006-08-21 Edward Hervey <edward@fluendo.com>
3509 * libs/gst/base/gstbasetransform.c:
3510 (gst_base_transform_buffer_alloc):
3511 Only call downstream buffer_alloc if transform element is passthrough
3512 or always_in_place. Closes #350449.
3514 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3517 ChangeLog surgery to add comments to previous changes
3519 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3524 * gst/gstpad.c: (gst_pad_set_active):
3525 Be more verbose in the log
3527 * libs/gst/base/gstbasetransform.c:
3528 (gst_base_transform_transform_caps):
3529 Simplify caps to get rid of duplicates, fixes #345444
3531 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3535 Use these optimizations only internally.
3537 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3539 * gst/gstvalue.c: (gst_value_compare_list),
3540 (gst_value_compare_fraction_range),
3541 (gst_value_intersect_fraction_fraction_range),
3542 (gst_value_intersect_fraction_range_fraction_range),
3543 (gst_value_subtract_fraction_fraction_range),
3544 (gst_value_subtract_fraction_range_fraction_range),
3545 (gst_value_get_compare_func), (gst_value_compare),
3546 (gst_value_compare_with_func):
3548 Saves the expensive lookup of the compare function in many cases
3551 2006-08-18 Edward Hervey <edward@fluendo.com>
3553 * tests/check/gst/gstinfo.c: (gst_info_suite):
3554 Disable test that require gstdebug if it wasn't built in core.
3556 2006-08-18 Stefan Kost <ensonic@users.sf.net>
3558 * docs/random/ensonic/logging.txt:
3561 * gst/gstinfo.c: (gst_debug_log_default):
3562 reorder fields, save some columns, add optional color codes for log
3565 2006-08-18 Stefan Kost <ensonic@users.sf.net>
3567 * docs/random/ensonic/logging.txt:
3568 add ideas about making the logs a bit more useful
3570 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
3572 * docs/pwg/advanced-events.xml:
3573 * docs/pwg/titlepage.xml:
3574 Update for 0.10 API (#340627). Add myself
3577 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
3579 * docs/libs/gstreamer-libs-docs.sgml:
3580 * docs/libs/gstreamer-libs-sections.txt:
3581 * libs/gst/check/gstbufferstraw.c:
3582 Make gstcheck stuff show up in docs (still needs to
3583 be documented properly though).
3585 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
3587 * docs/gst/gstreamer-sections.txt:
3589 * gst/gst.c: (init_post):
3590 * gst/gst_private.h:
3591 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3593 * gst/gstquery.c: (gst_query_new_position),
3594 (gst_query_set_position), (gst_query_parse_position),
3595 (gst_query_new_duration), (gst_query_set_duration),
3596 (gst_query_parse_duration), (gst_query_new_convert),
3597 (gst_query_set_convert), (gst_query_parse_convert),
3598 (gst_query_new_segment), (gst_query_set_segment),
3599 (gst_query_parse_segment), (gst_query_new_seeking),
3600 (gst_query_set_seeking), (gst_query_parse_seeking):
3601 Add internal helpers for pre-registering quarks from static strings
3602 and using the quark values directly instead of looking them up when
3603 creating and parsing queries. Can be used for event construction too.
3606 2006-08-16 Wim Taymans <wim@fluendo.com>
3611 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3613 * gst/gstutils.c: (gst_util_set_value_from_string):
3614 Fix memleak (#351502).
3616 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3617 Add unit test for most of gst_util_set_value_from_string()
3618 (not that one would want to encourage use of this function).
3620 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3622 * libs/gst/check/gstcheck.h:
3623 Use const gchar * variables in fail_unless_equals_string
3624 macro to avoid compiler warnings (and don't use tabs for
3627 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3629 * tools/gst-launch.c: (print_tag):
3630 More space on the left for the tag names, to cater
3631 for the 'extended comment' tag (not touching the
3632 string for the first line since it's translated).
3634 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3636 * libs/gst/check/gstcheck.h:
3637 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
3638 print something when they fail.
3640 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
3642 * docs/gst/gstreamer-sections.txt:
3643 * gst/gsttaglist.c: (_gst_tag_initialize):
3645 API: add GST_TAG_EXTENDED_COMMENT (#350935).
3646 Also change merge function for GST_TAG_COMMENT to
3649 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
3651 * gst/gstinfo.c: (gst_debug_print_object):
3652 Make GST_PTR_FORMAT print messages as well.
3654 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
3655 (GST_START_TEST), (gst_info_suite):
3658 2006-08-14 Edward Hervey <edward@fluendo.com>
3660 * gst/gstelementfactory.c: (gst_element_register):
3661 If the GstElementClass doesn't have a GstElementDetails with all fields
3662 filled up correctly (longname, description AND author), then error out
3663 nicely instead of crashing.
3665 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
3667 * gst/gststructure.c:
3668 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
3671 Expand on the difference between arrays and lists as we use them.
3673 2006-08-14 Wim Taymans <wim@fluendo.com>
3675 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3676 If the parent state change function failed, don't assume we can safely
3677 stop the source, this will be done when the pads are deactivated.
3679 2006-08-14 Wim Taymans <wim@fluendo.com>
3682 * gst/gsttask.c: (gst_task_join):
3685 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3686 (gst_pad_stop_task):
3687 When pad (de)activation failed for some reason, restore the old
3688 activation mode and set the pad to flushing instead of assuming the
3690 If the _task_join() failed, reinstall the task on the pad so that it can
3691 be stopped later and return an error.
3693 2006-08-11 Andy Wingo <wingo@pobox.com>
3696 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3697 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
3698 is only for users of API that don't want to see deprecated
3699 functions in the headers; people that want to compile out
3700 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
3701 CFLAGS. Fixes the build of multifdsink, or will soon..
3703 2006-08-11 Wim Taymans <wim@fluendo.com>
3705 * docs/gst/gstreamer-sections.txt:
3706 Add GstClockClass vmethod docs.
3709 Mark #endif with comment for associated #if
3711 * gst/gstclock.c: (gst_clock_id_wait):
3713 Add vmethod wait_jitter to avoid an unneeded _get_time() for
3714 most clock implementations.
3716 Flesh out docs about resolution methods.
3717 API: GstClockClass::wait_jitter
3719 * gst/gstsystemclock.c: (gst_system_clock_class_init),
3720 (gst_system_clock_async_thread),
3721 (gst_system_clock_id_wait_jitter_unlocked),
3722 (gst_system_clock_id_wait_jitter):
3723 Use base class wait_jitter variant for improved performance
3724 due to less clock polling.
3726 2006-08-11 Edward Hervey <edward@fluendo.com>
3728 * gst/gst.c: (gst_init_check), (init_post):
3729 Set gst as being initialized before scanning/updating the registry,
3730 since there might be my python plugin loader that calls gst_init() and
3731 we don't want to loop back in.
3734 2006-08-11 Wim Taymans <wim@fluendo.com>
3736 * docs/design/part-qos.txt:
3737 Bring docs in line with the code. Mostly the sign of the jitter was
3738 wrong in the docs. Fixes #349943.
3741 Fix the docs for the jitter.
3743 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
3744 (gst_event_parse_tag), (gst_event_new_buffer_size),
3745 (gst_event_parse_buffer_size), (gst_event_parse_qos),
3746 (gst_event_new_seek), (gst_event_parse_seek),
3747 (gst_event_new_navigation):
3748 Make sure the GstStructure has no parent when creating custom
3750 Add some more argument checking so that we avoid 0.0 rates.
3751 Flesh out the docs for the QoS event some more.
3753 2006-08-11 Wim Taymans <wim@fluendo.com>
3755 * docs/gst/gstreamer-sections.txt:
3756 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3757 (ensure_current_registry_forking), (ensure_current_registry),
3758 (parse_one_option), (parse_goption_arg), (gst_deinit),
3759 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
3762 Added API and command line option to disable registry forking in
3763 addition to the environment variable.
3764 Constify some static arrays.
3765 Added some more debug.
3767 API: gst_registry_fork_is_enabled()
3768 API: gst_registry_fork_set_enabled()
3769 API: --gst-disable-registry-fork command line option
3772 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
3774 * gst/gst.c: (gst_init):
3775 Fix typo in error message.
3777 2006-08-10 Stefan Kost <ensonic@users.sf.net>
3779 * libs/gst/controller/gstcontroller.h:
3780 fix ABI size-correction
3782 * tests/check/libs/gdp.c: (gst_dp_suite):
3783 make tests that use deprecated API conditional
3785 2006-08-10 Stefan Kost <ensonic@users.sf.net>
3787 * docs/libs/gstreamer-libs-sections.txt:
3788 * libs/gst/controller/gstcontroller.c:
3789 (_gst_controller_get_property), (_gst_controller_set_property),
3790 (_gst_controller_init), (_gst_controller_class_init):
3791 * libs/gst/controller/gstcontroller.h:
3792 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
3793 (gst_object_set_control_rate):
3794 API: add gst_object_{s,g}et_control_rate(), add private data section,
3797 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3798 * libs/gst/dataprotocol/dataprotocol.h:
3799 add deprecation guards to make gtk-doc happy and allow disabling cruft
3801 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
3803 * tests/check/Makefile.am:
3804 * tests/check/gst/.cvsignore:
3805 Let's enable the new unit test as well.
3807 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
3810 * docs/gst/gstreamer-sections.txt:
3811 * gst/gstconfig.h.in:
3812 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
3813 (_gst_info_printf_extension_ptr),
3814 (_gst_info_printf_extension_segment):
3815 API: add GST_SEGMENT_FORMAT, which is a printf extension we
3816 register that lets us easily dump GstSegments into debug
3819 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
3820 (info_segment_format_printf_extension), (gst_info_suite):
3821 Add simple unit test that logs a bunch of different segments (not
3822 valgrinded at the moment because of leaks in
3823 gst_debug_add_log_function).
3825 2006-08-09 Edward Hervey <edward@fluendo.com>
3827 * libs/gst/base/gstbasetransform.c:
3828 (gst_base_transform_buffer_alloc):
3829 Even if we can't figure out the proper format to request downstream,
3830 call buffer_alloc() downstream with the input parameters without setting
3831 the caps on the srcpad. This will force negotiation in the chain
3835 2006-08-08 Edward Hervey <edward@fluendo.com>
3837 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
3838 Unlinking from a pad without a target is now a perfectly valid case
3839 which should NOT raise an assertion.
3840 This case would happen if a linked ghostpad its target set to NULL after
3841 it was previously linked.
3843 2006-08-08 Edward Hervey <edward@fluendo.com>
3845 * tests/check/libs/gdp.c:
3846 Also comment out the test (see below).
3848 2006-08-08 Edward Hervey <edward@fluendo.com>
3850 * tests/check/libs/gdp.c: (gst_dp_suite):
3851 Use the architecture information from config.h and not gcc macros
3852 in order to properly disable a test that fails on PPC64.
3854 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
3856 * gst/gstelement.c: (gst_element_remove_pad):
3857 Don't crash printing the warning if the pad has no parent.
3859 2006-08-02 Wim Taymans <wim@fluendo.com>
3861 * libs/gst/dataprotocol/dataprotocol.c:
3862 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
3863 (gst_dp_crc), (gst_dp_header_payload_length),
3864 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
3865 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
3866 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
3867 (gst_dp_event_from_packet), (gst_dp_validate_header),
3868 (gst_dp_validate_payload):
3869 Make debug category static
3870 Constify the crc table.
3871 Do some more arg checking in public functions.
3872 Fix some docs and do some small cleanups.
3874 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
3875 Add some more checks to see if GDP deals with bogus input.
3877 2006-07-31 Wim Taymans <wim@fluendo.com>
3879 * gst/gstvalue.c: (gst_value_compare_list):
3880 Fix GstValueList comparison code. Fixes #347293.
3882 * tests/check/gst/gstvalue.c: (GST_START_TEST):
3883 Check to test GstValueList comparison.
3885 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
3887 * gst/gstelementfactory.c: (gst_element_factory_create):
3888 Remove unnecessary ref/unref pair
3890 * gst/parse/grammar.y:
3891 Make sure to free the parse buffer on all code paths.
3892 Move a g_free up to the error handler where it's easier to see.
3894 * tests/check/gst/gstevent.c: (test_event):
3895 Extending timeout for downstream travelling events to 10 seconds to
3896 hopefully avoid intermittent failure on the buildbots.
3898 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
3899 Don't manually set the state of the src element - it will happen as a
3900 natural consequence of the pipeline changing state, and that way it
3901 will do it in the right order too.
3903 2006-07-31 Wim Taymans <wim@fluendo.com>
3905 * libs/gst/base/gstbasetransform.c:
3906 (gst_base_transform_buffer_alloc):
3907 Use OBJECT_LOCK and refcounting to get the pad caps in the
3908 buffer_alloc function because the caps could change while we are
3909 busy with them. Fixes #349105
3911 2006-07-31 Wim Taymans <wim@fluendo.com>
3913 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
3914 Protect _PAD_CAPS with OBJECT_LOCK.
3916 2006-07-31 Wim Taymans <wim@fluendo.com>
3918 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
3919 (gst_pad_get_property), (gst_pad_activate_pull),
3920 (gst_pad_activate_push), (gst_pad_set_blocked_async),
3921 (gst_pad_set_activate_function),
3922 (gst_pad_set_activatepull_function),
3923 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
3924 (gst_pad_set_getrange_function),
3925 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
3926 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3927 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
3928 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
3929 (gst_pad_set_acceptcaps_function),
3930 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
3931 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
3932 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
3933 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
3934 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
3935 (gst_pad_configure_sink), (gst_pad_configure_src),
3936 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
3937 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
3938 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
3939 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
3940 (gst_pad_send_event):
3941 Use _DEBUG_OBJECT when it makes sense.
3942 Protect GST_PAD_CAPS with the OBJECT_LOCK.
3943 Small cleanups and code reflows.
3944 Avoid caps refcounting in _accept_caps.
3945 Refactor alloc_buffer so that the code performed on the peer is in a
3946 separate function. Also if the pad does not implement a buffer alloc
3947 function, we should still check if the pad is flushing before falling
3948 back to the default allocator.
3950 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
3952 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3953 Make all uses of identity and fakesink have silent=true to avoid
3954 serialising every passing data structure, which is breaking tests
3955 on FC4 for some unknown reason.
3957 2006-07-30 Stefan Kost <ensonic@users.sf.net>
3959 * gst/parse/Makefile.am:
3960 * gst/parse/grammar.y:
3961 * gst/parse/parse.l:
3962 Reverted previous patch as it required to bump the flex dependency to
3963 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
3965 2006-07-30 Stefan Kost <ensonic@users.sf.net>
3967 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
3969 * gst/parse/Makefile.am:
3970 * gst/parse/grammar.y:
3971 * gst/parse/parse.l:
3972 push & pop the state of the lexer for reentrant use case
3975 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
3977 * libs/gst/base/gstbasesrc.h:
3978 Note in the docs that the ::newsegment vfunc is not actually used by
3981 2006-07-28 Wim Taymans <wim@fluendo.com>
3983 * libs/gst/base/gstcollectpads.c:
3984 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
3985 (gst_collect_pads_clear), (gst_collect_pads_flush),
3986 (gst_collect_pads_event), (gst_collect_pads_chain):
3987 When flushing a pad, also clear the queued buffer so that we don't
3988 accidentally use it when we shouldn't.
3989 Fix leaks by inreffing incomming buffer.
3990 Flush out queued buffers in case of errors.
3993 2006-07-28 Wim Taymans <wim@fluendo.com>
3995 * docs/random/phonon-gst:
3996 Random notes about a Phonon backend.
3998 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
4000 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4002 * tests/check/libs/gdp.c: (gst_dp_suite):
4003 Take a whack at fixing the ppc compile using a different define to
4004 disable the broken test.
4006 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4007 Remove excess g_print()
4009 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
4011 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4012 Oops, meant to uncomment this line too to dampen the noise a bit.
4014 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
4016 * gst/parse/grammar.y:
4017 * gst/parse/parse.l:
4018 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4019 (GST_START_TEST), (parse_suite):
4020 Fix some of the leaks exposed by extending the parse-launch testsuite,
4021 and move the 3 I can't figure out into a separate test that won't run
4022 the pipelines unless the appropriate line is uncommented.
4024 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
4026 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4027 Requesting 0 bytes before the end of the file should result in
4028 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4031 2006-07-27 Wim Taymans <wim@fluendo.com>
4033 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4034 Fix useless assert, a uint is always positive.
4036 * gst/gststructure.c: (gst_structure_nth_field_name),
4037 (gst_structure_foreach), (gst_structure_map_in_place):
4038 Check input arguments for public functions to avoid obvious crashes.
4040 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4041 * plugins/elements/gstfakesink.h:
4042 Do less useless typechecking.
4044 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
4046 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4047 Do not use mmap() by default since there are a number of error
4048 conditions that we would like to handle in a non-fatal way that
4049 will result in a SIGBUS if we use mmap(). Examples: external
4050 devices (USB harddrive, portable music player) being unplugged
4051 while in use; file on mounted CD/DVD that can't be read because
4052 the medium is partly damaged. Fixes #348455 and #348475.
4054 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
4057 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4060 2006-07-26 Stefan Kost <ensonic@users.sf.net>
4062 * gst/gstregistry.c:
4063 Move big documentation comment into class section header, so that it
4064 appears in the API docs.
4066 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
4068 * docs/gst/gstreamer-sections.txt:
4069 Oops. Commit the docs additions too for new API.
4070 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4072 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
4074 * gst/gststructure.c: (gst_structure_id_set),
4075 (gst_structure_id_set_valist):
4076 * gst/gststructure.h:
4077 Add API for setting values into structures without performing
4078 a quark lookup, if the appropriate quark is already known.
4080 API: gst_structure_id_set
4081 API: gst_structure_id_set_valist
4083 * gst/parse/grammar.y:
4084 * gst/parse/parse.l:
4085 Remove some dead code shown by the coverage information.
4086 Don't throw a critical g_warning when encountering a syntax error,
4087 just warn and let the normal error path handle it.
4089 * plugins/elements/gstelements.c:
4090 Bump the rank of filesink up to PRIMARY so that it is preferred over
4091 gnomevfssink for file:// sink uri's
4093 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4094 (GST_START_TEST), (run_delayed_test),
4095 (gst_parse_test_element_base_init),
4096 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4097 (gst_parse_test_element_change_state),
4098 (gst_register_parse_element), (parse_suite):
4099 Beef up the tests for parse syntax to check that more error cases
4100 fail as they are supposed to. Increases the test coverage a bit.
4102 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
4104 * docs/manual/basics-elements.xml:
4105 Fix gst_element_link() example.
4108 Mention in API docs that one should usually gst_bin_add()
4109 elements to a bin or pipeline before doing the linking.
4111 2006-07-26 Wim Taymans <wim@fluendo.com>
4113 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4114 (gst_subbuffer_get_type), (gst_buffer_create_sub):
4115 Avoid function call for known types by keeping the buffer and
4116 subbuffer GType global.
4118 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4119 Random silly optimisations in read() path.
4121 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
4123 * tools/gst-launch.c: (main):
4124 If the top-level of the parse is a normal bin, it doesn't do the
4125 right logic to run as a top-level element, so place it inside a
4128 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
4130 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4131 Remove superfluous g_object_notify() calls, GObject does
4132 that for us automatically.
4134 2006-07-25 Stefan Kost <ensonic@users.sf.net>
4137 on Win32, use dllspec to export the debug category symbols
4139 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
4141 * gst/gsttaglist.c: (_gst_tag_initialize):
4142 Allow more than one GST_TAG_IMAGE per taglist.
4144 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
4146 * gst/gstminiobject.c:
4148 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4149 (gst_fd_src_create):
4150 log recurring events at LOG level
4151 add more debug for when the fd gets set
4153 2006-07-21 Stefan Kost <ensonic@users.sf.net>
4155 * gst/gstparse.c: (gst_parse_launch):
4156 Also remove reentrance checks if flex is MT safe (#348179)
4157 Fix my empty ChangeLog entry below
4159 2006-07-21 Andy Wingo <wingo@pobox.com>
4161 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4163 * libs/gst/check/Makefile.am
4164 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4165 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
4166 * libs/gst/check/gstbufferstraw.h:
4167 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4168 functions, thus proving I am still a GStreamer haxor. OK I wrote
4169 them a long time ago, but anyways.
4171 2006-07-21 Stefan Kost <ensonic@users.sf.net>
4174 * gst/gstparse.c: (gst_parse_launch):
4175 Check for flex version and omit mutex if we have a MT save flex
4178 2006-07-21 Wim Taymans <wim@fluendo.com>
4180 * gst/gstparse.c: (gst_parse_launch):
4181 Protect recursive calls to _parse with a recursive mutex
4184 2006-07-21 Wim Taymans <wim@fluendo.com>
4186 * tests/check/gst/gstpad.c: (GST_START_TEST):
4189 2006-07-20 Stefan Kost <ensonic@users.sf.net>
4191 * gst/gstparse.c: (gst_parse_launch):
4192 Do not hang on recursive usage of gst_parse_launch()
4194 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
4197 Add some more docs, comments and FIXME 0.11s here and there
4198 and also fix some typos.
4200 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
4203 Convert tabs to spaces for better readability.
4205 2006-07-20 Edward Hervey <edward@fluendo.com>
4207 * tests/check/libs/gdp.c: (gst_dp_suite):
4208 the test_buffer test fails at line 140 on ppc64 at the following
4210 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4211 GST_BUFFER_FLAG_IN_CAPS),
4212 "GST_BUFFER_IN_CAPS flag should have been copied !");
4213 See bug #348114 for more details.
4215 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
4217 * docs/pwg/advanced-scheduling.xml:
4219 Fix typos (#348000).
4221 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
4223 * docs/pwg/intro-basics.xml:
4224 Fix wrong links (#347927).
4226 2006-07-18 Stefan Kost <ensonic@users.sf.net>
4228 * gst/gstregistry.h:
4229 * gst/gstregistryxml.c: (load_feature),
4230 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4231 * win32/common/config.h:
4232 make --disable-index work (#342564)
4234 2006-07-18 Wim Taymans <wim@fluendo.com>
4236 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4240 The attached patch adds two missing defines to gsttrace.h when tracing
4241 is disabled. It also corrects one existing define.
4244 2006-07-17 Wim Taymans <wim@fluendo.com>
4246 * docs/gst/gstreamer-sections.txt:
4247 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4249 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4250 Add two functions to check and change the SIGSEGV behaviour
4251 when loading plugins.
4252 Don't mess with the SIGSEGV handler when we were told not to.
4254 API: gst_segtrap_is_enabled
4255 API: gst_segtrap_set_enabled
4257 2006-07-14 Wim Taymans <wim@fluendo.com>
4259 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4260 * tests/check/elements/filesrc.c: (GST_START_TEST):
4261 Revert fix for regression in #347408 after release.
4263 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
4265 Patch by: Antoine Tremblay <hexa00 at gmail com>
4267 * gst/gstutils.c: (gst_element_unlink):
4268 Free iterator when done (#347311).
4270 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4271 And add a test case for this.
4273 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
4276 Bump nano back to CVS
4278 === release 0.10.9 ===
4280 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
4283 releasing 0.10.9, "On the road again"
4285 2006-07-13 Wim Taymans <wim@fluendo.com>
4287 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4288 * tests/check/elements/filesrc.c: (GST_START_TEST):
4289 Revert pull-0 fix for release. Disable check. Fixes #347408.
4291 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
4293 * libs/gst/dataprotocol/dataprotocol.c:
4294 (gst_dp_event_from_packet_1_0):
4295 Fixes #347337: failure to deserialize event packets with
4296 empty payload (only event type)
4298 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
4301 do not install a .c file in the header directory
4303 2006-07-13 Edward Hervey <edward@fluendo.com>
4305 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4306 GhostPad no longer implicitely use the padtemplates of the targets.
4309 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
4311 * gst/gstvalue.c: (gst_value_compare_list),
4312 (gst_value_compare_array), (_gst_value_initialize):
4313 * tests/check/gst/gstvalue.c: (GST_START_TEST):
4314 Make GstValueArray comparison be order dependent as designed.
4315 Add checks for value lists and value array comparisons.
4318 2006-07-11 Edward Hervey <edward@fluendo.com>
4320 * gst/gstbin.c: (activate_pads),
4321 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4322 (gst_bin_change_state_func):
4323 (de)activate src pads before calling state_change on the childs.
4324 This is to avoid the case where a src ghostpad is blocked (holding the
4325 stream lock), which would block the deactivation of the ghostpad's
4327 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4328 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4329 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4330 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4331 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4332 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4333 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4334 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4335 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4336 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4337 (gst_ghost_pad_class_init),
4338 (gst_ghost_pad_internal_do_activate_push),
4339 (gst_ghost_pad_internal_do_activate_pull),
4340 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4341 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4342 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4343 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4344 GhostPads now create their internal GstProxyPad at creation (and not
4345 when they're linked, as it was being done previously).
4346 The internal and target pads are linked straight away.
4347 The data will also travel through the other pad in order to make
4348 pad blocking and probes non-hackish (the probe/block now really happens
4349 on the GhostPad and not on the target).
4350 * gst/gstpad.c: (gst_pad_set_blocked_async),
4351 (gst_pad_link_prepare), (gst_pad_push_event):
4352 Remove previous ghostpad cruft.
4353 * gst/gstutils.c: (gst_pad_add_data_probe),
4354 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4355 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4356 (gst_pad_remove_buffer_probe):
4357 Remove previous ghost pad cruft.
4358 Added more detailed debug statements.
4359 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4360 Fix the testsuite for refcounting changes.
4361 The comments about who has references were correct, but the refcount
4362 being checked wasn't the same (!?!).
4366 2006-07-10 Stefan Kost <ensonic@users.sf.net>
4368 * docs/gst/gstreamer-sections.txt:
4369 * gst/gstconfig.h.in:
4370 More docs for configuration options, add docs to gtk-doc.
4372 2006-07-10 Stefan Kost <ensonic@users.sf.net>
4375 * gst/gstconfig.h.in:
4376 * win32/common/config.h:
4377 Fix build when disabling tracing (fixes #344016). Also start to document
4378 the defines that disable the sub-systems.
4380 2006-07-10 Edward Hervey <edward@fluendo.com>
4382 * gst/gst.c: (ensure_current_registry_forking):
4383 let's make valgrind happy...
4385 2006-07-09 Wim Taymans <wim@fluendo.com>
4387 * gst/gstelement.c: (activate_pads),
4388 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4389 Better pad activation code: Reset the collect value too on resync.
4392 2006-07-09 Wim Taymans <wim@fluendo.com>
4394 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4395 (gst_pad_activate_push):
4396 Use some more macros where it makes sense.
4397 Allow pad mode switching instead of asserting. When a pad
4398 is activated in one mode and we activate it in another,
4399 deactivate it first before activating it in a different mode.
4402 2006-07-08 Andy Wingo <wingo@pobox.com>
4404 * tools/gst-launch.c (main): Handle err == NULL.
4406 * gst/gst.c (init_post, ensure_current_registry)
4407 (ensure_current_registry_forking)
4408 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4409 factoring out the registry scanning into separate functions. Don't
4410 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4411 Better environment var name/interface suggestions accepted.
4413 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4415 * gst/gstobject.c: (gst_object_set_name_default),
4416 (gst_object_set_name):
4417 Random micro-optimisation: don't use a hash table
4418 with strings as keys and the usual strdup/strcmp
4419 involved, but rather just use the GQuark of the
4420 type name as key, since it needs to be looked up
4421 anyway to get the type name string.
4423 * tests/check/gst/gstobject.c: (GST_START_TEST):
4426 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4428 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4429 (gst_bin_iterate_all_by_interface):
4430 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4431 GTypes are gulongs and thus the top 4 bytes might be cut
4432 off on some platforms when doing GPOINTER_TO_INT, leading
4433 to invalid GTypes and bad things happening (see RH bug #179654).
4434 Also add a check to make sure the type passed in is really
4437 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4442 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4446 * gst-element-check.m4:
4447 * gst-element-check.m4.in:
4448 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
4449 instead of the unversioned gst-inspect (#324176, #168659).
4451 2006-07-06 Wim Taymans <wim@fluendo.com>
4454 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
4457 2006-07-06 Wim Taymans <wim@fluendo.com>
4459 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4460 (gst_base_src_wait), (gst_base_src_update_length),
4461 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
4462 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
4463 (gst_base_src_loop), (gst_base_src_start),
4464 (gst_base_src_activate_pull):
4466 blocksize == 0 now means the default blocksize when working in push
4468 Remove some pointless asserts in _wait function.
4469 Fix offset/length calculations and EOS handling. We can now pull 0
4470 bytes as well, which is allowed.
4471 use _check_get_range() to decide if we can operate in _pull based
4473 Fix refcounting leak when check_get_range function was not
4475 API GstBaseSrc::blocksize range can be 0 too now (default)
4477 * tests/check/elements/filesrc.c: (GST_START_TEST),
4479 Added check to test _get_range() behaviour.
4481 2006-07-06 Wim Taymans <wim@fluendo.com>
4483 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4484 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
4485 (gst_pad_pull_range):
4487 Lots of comments and docs added to the pad functions.
4488 Flesh out the expected behaviour of the get_range() functions.
4490 2006-07-06 Wim Taymans <wim@fluendo.com>
4495 * gst/gstiterator.h:
4499 Remove comma at end of enumerator list.
4501 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
4503 * win32/common/libgstbase.def:
4504 * win32/common/libgstdataprotocol.def:
4505 * win32/common/libsgtreamer.def:
4506 Add new exported functions.
4508 2006-07-05 Wim Taymans <wim@fluendo.com>
4510 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
4511 Add some more docs here and there.
4513 2006-07-05 Wim Taymans <wim@fluendo.com>
4515 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
4516 (gst_base_sink_loop), (gst_base_sink_get_position):
4517 When operating in pull mode update the offset so that we
4520 2006-07-05 Wim Taymans <wim@fluendo.com>
4522 * gst/gstregistryxml.c: (read_string):
4523 Avoid strdup. (will happen in libxml, but hey!)
4528 2006-07-05 Wim Taymans <wim@fluendo.com>
4530 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4531 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4533 No point in checking if the size of the subbuffer > 0, the
4534 code handles it correclty as demonstrated by unit test.
4535 Also add a unit test for the zero sized _new_and_alloc and
4536 _copy. Fixes #346663.
4538 2006-07-05 Wim Taymans <wim@fluendo.com>
4540 * libs/gst/base/gstbasetransform.c:
4541 (gst_base_transform_prepare_output_buffer),
4542 (gst_base_transform_buffer_alloc),
4543 (gst_base_transform_handle_buffer):
4544 Make sure the buffer we pass to transform_ip has a refcount of
4545 1 and thus is writable. Fixes #343196
4547 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
4549 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
4550 (gst_file_src_init), (gst_file_src_set_property),
4551 (gst_file_src_get_property), (gst_file_src_map_region):
4552 * plugins/elements/gstfilesrc.h:
4553 Add "sequential" property, off by default, to use madvise and hint
4554 to the kernel that sequential access is desired.
4555 Touch all retrieved pages by default to ensure they are pulled
4556 into memory. (Closes #345720)
4558 2006-07-03 Wim Taymans <wim@fluendo.com>
4560 * docs/design/part-block.txt:
4561 * docs/design/part-dynamic.txt:
4564 2006-07-03 Wim Taymans <wim@fluendo.com>
4566 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
4567 (gst_caps_unref), (gst_static_caps_get),
4568 (gst_caps_append_structure):
4569 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4570 Use GSlice when the glib we build against is >= 2.10
4572 2006-07-03 Wim Taymans <wim@fluendo.com>
4574 * gst/gstelement.c: (gst_element_pads_activate):
4575 Small cleanup in pad activation code.
4577 2006-07-03 Wim Taymans <wim@fluendo.com>
4579 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4581 * gst/gst-i18n-app.h:
4582 * gst/gst-i18n-lib.h:
4583 * tools/gst-inspect.c: (print_signal_info):
4584 The attached patch will make the inclusion of gettext.h unconditional in
4585 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
4586 libintl.h in tools/gst-inspect.c.
4587 This allows use of --disable-nls again and fixes #344642.
4589 2006-07-03 Edward Hervey <edward@fluendo.com>
4591 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
4592 Implement pad blocking on events according to part-block.txt.
4593 More comments on behaviour.
4594 * tests/check/gst/gstevent.c: (test_event):
4595 Send event to peer pad of blocked pad (else it will block).
4597 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
4599 * libs/gst/check/gstcheck.c: (gst_check_message_error),
4600 (gst_check_run_suite):
4601 if we get the wrong message, give us the types as string
4602 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4604 * tests/check/elements/filesrc.c: (GST_START_TEST):
4605 add a test for trying to open a non-existing file
4607 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
4609 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4610 add a test for adding self
4612 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
4614 * libs/gst/check/gstcheck.h:
4615 add some assert_ as alias for fail_unless_*
4616 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
4617 increase test coverage
4619 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4622 include lcov.mak for lcov coverage generation
4623 * tools/Makefile.am:
4626 2006-07-02 Edward Hervey <edward@fluendo.com>
4628 * tests/check/elements/.cvsignore:
4631 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4634 don't set CFLAGS and friends for gcov, done from GST_GCOV now
4635 * tests/check/Makefile.am:
4638 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4640 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
4641 remove gst_caps_simplify; it was not declared and not used
4642 and deprecated in 0.8
4644 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4646 * docs/faq/gst-uninstalled:
4647 don't put empty paths on PYTHONPATH
4648 * docs/gst/gstreamer-sections.txt:
4649 remove some symbols that are not there
4651 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4653 * gst/gstcaps.c: (gst_caps_compare_structures):
4655 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4656 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4659 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4661 * libs/gst/dataprotocol/Makefile.am:
4662 build dataprotocol test by linking to the lib, instead of
4663 compiling the source, so we get coverage
4664 * tests/check/Makefile.am:
4665 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
4666 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
4667 add a test for filesrc
4669 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4671 * tests/check/gst/gststructure.c: (GST_START_TEST),
4672 (gst_structure_suite):
4673 Push coverage from 59.04% to 70.00%
4675 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4677 * tests/check/Makefile.am:
4678 gst-inspect every element; this makes sure that we also get
4679 coverage on element's get/set functions
4681 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4684 set CFLAGS and friends to -O0 if gcov is being used
4687 * libs/gst/base/Makefile.am:
4688 * libs/gst/check/Makefile.am:
4689 * libs/gst/controller/Makefile.am:
4690 * libs/gst/dataprotocol/Makefile.am:
4691 * libs/gst/net/Makefile.am:
4692 * plugins/elements/Makefile.am:
4693 * plugins/indexers/Makefile.am:
4694 add makefile rules to generate gcov data and clean up
4695 * tests/check/Makefile.am:
4696 add a coverage target that generates an html overview
4699 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
4701 * tests/check/elements/fakesink.c:
4702 * tests/check/elements/fakesrc.c:
4703 * tests/check/elements/fdsrc.c:
4704 * tests/check/elements/identity.c:
4705 * tests/check/generic/sinks.c: (gst_sinks_suite):
4706 * tests/check/generic/states.c:
4707 * tests/check/gst/gst.c:
4708 * tests/check/gst/gstabi.c:
4709 * tests/check/gst/gstbin.c:
4710 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
4711 * tests/check/gst/gstbus.c: (gst_bus_suite):
4712 * tests/check/gst/gstcaps.c: (GST_START_TEST):
4713 * tests/check/gst/gstelement.c:
4714 * tests/check/gst/gstevent.c: (gst_event_suite):
4715 * tests/check/gst/gstghostpad.c:
4716 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
4717 * tests/check/gst/gstmessage.c: (gst_message_suite):
4718 * tests/check/gst/gstminiobject.c:
4719 * tests/check/gst/gstobject.c:
4720 * tests/check/gst/gstpad.c:
4721 * tests/check/gst/gstpipeline.c:
4722 * tests/check/gst/gstplugin.c:
4723 * tests/check/gst/gstquery.c: (gst_query_suite):
4724 * tests/check/gst/gstsegment.c: (gst_segment_suite):
4725 * tests/check/gst/gststructure.c:
4726 * tests/check/gst/gstsystemclock.c:
4727 * tests/check/gst/gsttag.c:
4728 * tests/check/gst/gsttask.c: (gst_task_suite):
4729 * tests/check/gst/gstutils.c:
4730 * tests/check/gst/gstvalue.c:
4731 * tests/check/libs/adapter.c:
4732 * tests/check/libs/basesrc.c:
4733 * tests/check/libs/collectpads.c:
4734 * tests/check/libs/controller.c:
4735 * tests/check/libs/gdp.c: (gst_dp_suite):
4736 * tests/check/libs/gstnetclientclock.c:
4737 * tests/check/libs/gstnettimeprovider.c:
4738 * tests/check/libs/libsabi.c: (libsabi_suite):
4739 * tests/check/libs/typefindhelper.c:
4740 * tests/check/pipelines/cleanup.c:
4741 * tests/check/pipelines/parse-launch.c:
4742 * tests/check/pipelines/simple-launch-lines.c:
4743 * tests/check/pipelines/stress.c: (stress_suite):
4746 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
4748 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
4749 * libs/gst/check/gstcheck.h:
4750 create a macro and function so that the simple unit test
4751 case can be just one macro to create main()
4753 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
4755 * gst/gstbin.c: (gst_bin_restore_thyself):
4756 * gst/gstxml.c: (gst_xml_make_element):
4757 Fix deserialisation from XML. Set parent manually
4758 instead of using gst_bin_add(), since gst_bin_add()
4759 will unlink all pads of the element being added.
4762 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
4764 Patch by: Peter Kjellerstedt <pkj at axis com>
4766 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
4767 Fix missing g_strdup() and double free when using the
4768 --gst-plugin-load command line option (#346097).
4770 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
4773 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
4775 * libs/gst/net/gstnetclientclock.c:
4776 * libs/gst/net/gstnettimeprovider.c:
4777 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
4779 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
4781 * docs/manual/advanced-dataaccess.xml:
4782 Fix buffer probe example compilation in
4785 2006-06-22 Edward Hervey <edward@fluendo.com>
4787 * gst/gstelement.c: (gst_element_pads_activate):
4788 We need to deactivate src pads first and then sink pads.
4789 The reason is the src pads might be blocking while holding the streaming
4790 lock, so we need to deactivate them first so that deactivating the sink
4791 pads doesn't block (since it will require the streaming lock).
4793 2006-06-22 Wim Taymans <wim@fluendo.com>
4795 * libs/gst/base/gstbasetransform.c:
4796 (gst_base_transform_buffer_alloc):
4797 Forgot to remove two unneeded unrefs.
4798 Simplify a check _is_equal allready checks the obvious case.
4800 2006-06-22 Wim Taymans <wim@fluendo.com>
4802 * docs/design/part-block.txt:
4803 Some docs about what pad_block should do.
4805 2006-06-22 Wim Taymans <wim@fluendo.com>
4807 * gst/gstcaps.c: (gst_caps_replace):
4808 Fix crasher when passed NULL. Doc clarification.
4809 Optimize for the trivial case.
4811 * gst/gstpipeline.c: (gst_pipeline_change_state):
4814 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4815 Small documentation cleanup.
4817 * libs/gst/base/gstbasetransform.c:
4818 (gst_base_transform_buffer_alloc):
4819 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
4820 is what we need and it avoids a whole lot of redundant
4821 refcount operations.
4823 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
4825 Patch by: Philip Jägenstedt <philip at lysator liu se>
4827 * docs/manual/advanced-dataaccess.xml:
4828 Fix 'Embedding static elements' section to use
4829 GST_PLUGIN_DEFINE_STATIC (#345607).
4831 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
4833 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
4834 Attempt to 'fix' spuriously failing test case: it seems like the
4835 timeout of half a second is simply too small when the system is under
4836 load otherwise, and the timeout doesn't really seem to serve any
4837 particular purpose here. Give the pipeline a few seconds to preroll
4838 first, and then give it another half a second to go from PAUSED to
4839 PLAYING and marshal the message into the main thread.
4841 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
4843 * tools/gst-feedback-m.m:
4844 Don't only use unversioned tools, try versioned tools as well
4847 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
4849 * gst/gstbus.c: (gst_bus_class_init):
4850 Fix some typos, make docs more explicit.
4852 2006-06-20 Wim Taymans <wim@fluendo.com>
4854 * tests/check/gst/gstghostpad.c: (block_callback),
4855 (GST_START_TEST), (gst_ghost_pad_suite):
4856 Added some more ghostpad tests, mainly blocking
4859 2006-06-16 Wim Taymans <wim@fluendo.com>
4861 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4862 (gst_file_sink_close_file), (gst_file_sink_do_seek),
4863 (gst_file_sink_event), (gst_file_sink_render):
4864 * plugins/elements/gstfilesink.h:
4865 Check if we can seek in the file instead of assuming
4866 we always can. Post an error when we are asked to seek in a
4867 non-seekable file (like a fifo). Fixes #343312.
4870 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
4872 * tools/gst-launch.1.in:
4873 Un-garble (fourcc) bit in filtered caps section.
4875 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
4877 * docs/manual/advanced-autoplugging.xml:
4878 * docs/manual/basics-helloworld.xml:
4879 * docs/manual/highlevel-components.xml:
4880 Don't leak bus reference in sample code.
4882 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
4885 Add default for new --enable-plugin-docs switch.
4888 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
4892 Use new ENABLE_PLUGIN_DOCS conditional.
4894 2006-06-14 Wim Taymans <wim@fluendo.com>
4896 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
4897 Make it clear with a FIXME and a real define what the #if 0
4898 previously disabled.
4900 2006-06-14 Wim Taymans <wim@fluendo.com>
4902 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4903 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
4904 * libs/gst/base/gstbasetransform.c:
4905 (gst_base_transform_sink_eventfunc):
4906 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
4907 Don't randomly and silently reset a segment when the format
4908 changes as this is a bug somewhere upstream. Fixes #330379.
4910 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
4912 Patch by: Wouter Paesen <wouter at kangaroot net>
4914 * libs/gst/controller/gstcontroller.c:
4915 (gst_controlled_property_new):
4916 Fix controlling of float properties (#344849).
4918 * tests/check/libs/controller.c:
4919 (gst_test_mono_source_get_property),
4920 (gst_test_mono_source_set_property),
4921 (gst_test_mono_source_class_init), (GST_START_TEST):
4922 While we're at it, add some float stuff to unit test.
4924 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
4927 * docs/images/gdp-header.svg:
4929 * docs/libs/Makefile.am:
4930 * docs/libs/gdp-header.png:
4931 * libs/gst/dataprotocol/dataprotocol.c:
4932 add it to the API docs
4933 * docs/manual/intro-motivation.xml:
4936 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
4938 * gst/gst.c: (scan_and_update_registry), (init_post):
4939 If the fork()'ed child process can't write the updated registry cache
4940 file to disk for some reason, make it exit with a failure exit code,
4941 so that the parent can then re-scan the plugins itself and update the
4942 registry structures in memory and work with that (rather than failing
4943 when creating elements because seemingly no plugins are available).
4944 Refactor registry scanning code into separate function for this and
4945 also separate fork() and non-fork() code paths. Fixes #344748.
4947 2006-06-13 Wim Taymans <wim@fluendo.com>
4949 * docs/manual/advanced-dataaccess.xml:
4950 Fix wrong PluginDesc. Fixes #344755.
4952 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
4954 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
4955 Fix silly bug that prevented us from creating
4956 ~/.gstreamer-0.10 and writing the registry in one
4957 go (the first call to g_mkstemp() would overwrite the
4958 placeholder in the template string, so the second call
4959 to g_mkstemp() after creating the missing directory
4960 would then error out with 'invalid argument').
4962 2006-06-13 Edward Hervey <edward@fluendo.com>
4964 * gst/gst.c: (init_post):
4967 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
4969 * gst/glib-compat-private.h:
4970 * gst/glib-compat.c:
4971 * gst/glib-compat.h:
4972 * gst/gstvalue.c: (gst_value_serialize_flags):
4973 remove GLib 2.6 compatibility code
4975 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
4977 * gst/parse/Makefile.am:
4978 Fix build with 'make -j N' even more (#340016).
4980 2006-06-12 Wim Taymans <wim@fluendo.com>
4982 * docs/gst/gstreamer-sections.txt:
4985 2006-06-12 Wim Taymans <wim@fluendo.com>
4987 * gst/gstsegment.c: (gst_segment_set_duration),
4988 (gst_segment_set_last_stop), (gst_segment_set_seek),
4989 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
4990 (gst_segment_to_running_time), (gst_segment_clip):
4991 Use G_UNLIKELY to help the compiler a bit.
4993 2006-06-12 Wim Taymans <wim@fluendo.com>
4995 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
4997 * gst/gstevent.c: (gst_event_get_type):
4999 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5001 constify quark registration strings. Fixes #344115
5002 Avoid unneeded type checking is _pad_push() by internally
5003 calling gst_pad_chain_unchecked().
5005 2006-06-12 Wim Taymans <wim@fluendo.com>
5007 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5008 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5009 (gst_subbuffer_finalize), (gst_buffer_create_sub),
5010 (gst_buffer_is_span_fast), (gst_buffer_span):
5011 Init _type for consistency.
5012 Use _FLAGS macro to avoid type check.
5013 Avoid unneeded type checks in subbufer code.
5015 2006-06-12 Wim Taymans <wim@fluendo.com>
5017 * gst/gst.c: (gst_debug_help):
5018 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5019 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5020 (gst_plugin_feature_list_free):
5021 * gst/gstregistry.c: (gst_registry_add_plugin),
5022 (gst_registry_add_feature), (gst_registry_plugin_filter),
5023 (gst_registry_feature_filter), (gst_registry_find_plugin),
5024 (gst_registry_find_feature), (gst_registry_get_plugin_list),
5025 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5026 * gst/gstregistryxml.c: (load_feature),
5027 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5028 * gst/gstminiobject.c: (gst_mini_object_unref),
5029 (gst_mini_object_replace), (gst_value_mini_object_free),
5030 (gst_value_mini_object_copy):
5031 Use _CAST macros to avoid unneeded type checking.
5032 Added some more G_UNLIKELY.
5034 2006-06-12 Wim Taymans <wim@fluendo.com>
5037 Avoid unneeded type checking.
5038 API: GST_BUFFER_IS_DISCONT
5040 * gst/gstminiobject.h:
5041 Avoid type check in flag accessor.
5043 * gst/gstelementfactory.h:
5045 * gst/gstpluginfeature.h:
5047 API: GST_ELEMENT_FACTORY_CAST
5048 API: GST_PLUGIN_CAST
5049 API: GST_PLUGIN_FEATURE_CAST
5051 2006-06-12 Wim Taymans <wim@fluendo.com>
5053 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5055 Add G_UNLIKELY in type registration.
5056 Avoid type check in _ref/_unref since that is also
5059 2006-06-12 Wim Taymans <wim@fluendo.com>
5061 * gst/gsterror.c: (gst_g_error_get_type):
5062 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5063 (gst_static_pad_template_get_type):
5064 * gst/gsttaglist.c: (gst_tag_list_get_type):
5065 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5066 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5067 * gst/gsturi.c: (gst_uri_handler_get_type):
5068 * gst/gstvalue.c: (gst_date_get_type):
5069 * gst/gstxml.c: (gst_xml_get_type):
5070 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5071 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5072 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5073 Add G_UNLIKELY in type registration.
5075 2006-06-12 Wim Taymans <wim@fluendo.com>
5077 * tools/gst-inspect.c: (print_signal_info):
5078 Properly print enum values.
5080 2006-06-12 Wim Taymans <wim@fluendo.com>
5082 * gst/gstinfo.c: (gst_debug_set_active),
5083 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5085 Add some G_[UN]LIKELY.
5086 Maintain __gst_debug_min to avoid formatting the arguments of
5087 debug messages that will be dropped anyway to avoid a lot of
5088 overhead from the debugging system.
5090 2006-06-11 Stefan Kost <ensonic@users.sf.net>
5094 add missing files containing translatable strings, tell intltool about
5097 2006-06-11 Stefan Kost <ensonic@users.sf.net>
5099 * tests/check/libs/.cvsignore:
5100 add test-binary to ignore list
5102 2006-06-11 Stefan Kost <ensonic@users.sf.net>
5104 * docs/libs/gstreamer-libs-docs.sgml:
5105 reorder (put dp into a chapter) and indent
5107 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5112 === release 0.10.8 ===
5114 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5117 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5119 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5121 * gst/gst.c: (init_post):
5122 move pid declaration to declaration block
5124 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5126 * gst/gst.c: (init_post):
5127 use _exit() instead of exit() in our forked child; this ensures
5128 that none of the registered exit handlers from whatever is using
5129 GStreamer get executed. This fixes gnome-mixer-applet failing
5130 to load, because ORBit would shut down.
5131 Spotted by: Edward Hervey <edward@fluendo.com>
5132 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
5135 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
5140 === release 0.10.7 ===
5142 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
5145 releasing 0.10.7, "Soepeke, ik zie ou"
5147 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
5170 * win32/common/config.h:
5173 2006-06-07 Wim Taymans <wim@fluendo.com>
5175 * gst/gstindex.c: (gst_index_gtype_resolver):
5176 * tools/gst-xmlinspect.c: (print_plugin_info):
5177 Fix leak spotted by coverity checker. Fixes #343827
5178 Fix another other leak found by paolo borelli.
5180 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5182 * libs/gst/dataprotocol/dataprotocol.c:
5183 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5184 (gst_dp_version_get_type), (gst_dp_init),
5185 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5186 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5187 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5188 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5189 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5190 (gst_dp_packetizer_free):
5191 * libs/gst/dataprotocol/dataprotocol.h:
5192 API: add a GstDPPacketizer object, and create/free functions
5193 API: add GstDPVersion enum
5194 Add 1.0 event function that uses the string serialization
5195 Serialize more useful buffer flags
5198 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5200 * tests/check/Makefile.am:
5201 * tests/check/gst/gstabi.c:
5202 * tests/check/gst/struct_ppc64.h:
5203 * tests/check/libs/libsabi.c:
5204 * tests/check/libs/struct_ppc64.h:
5205 add ppc64 structure sizes
5207 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5209 * tests/check/Makefile.am:
5210 * tests/check/gst/gstabi.c:
5211 * tests/check/gst/struct_x86_64.h:
5212 * tests/check/libs/libsabi.c:
5213 * tests/check/libs/struct_x86_64.h:
5214 generate and add structure size lists for x86_64
5216 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5218 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5219 * libs/gst/check/gstcheck.h:
5220 factor out the method from tests that checks size of structures,
5221 and add code to generate the header containing these sizes
5222 * tests/check/gst/gstabi.c: (GST_START_TEST):
5223 * tests/check/gst/struct_i386.h:
5224 * tests/check/libs/libsabi.c: (GST_START_TEST):
5225 * tests/check/libs/struct_i386.h:
5228 2006-06-06 Michael Smith <msmith@fluendo.com>
5231 Don't use c++-style comments, fixes #343929
5233 2006-06-05 Edward Hervey <edward@fluendo.com>
5236 plugin_paths is not used if we build without registry support.
5238 * gst/gstsegment.c: (gst_segment_copy):
5239 _copy() was always returning NULL...
5241 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5243 * libs/gst/dataprotocol/dataprotocol.c:
5244 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5245 (gst_dp_packet_from_event):
5248 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5250 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5251 make sure we unset caps
5253 2006-06-02 Michael Smith <msmith@fluendo.com>
5255 * libs/gst/check/gstcheck.c: (gst_check_init),
5256 (gst_check_chain_func):
5257 * libs/gst/check/gstcheck.h:
5258 Add a cond/mutex to the check support lib, signal this whenever we
5259 add to the buffers list. This will allow tests to not busy-wait on
5262 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5264 * libs/gst/dataprotocol/dataprotocol.c:
5265 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5266 (gst_dp_packet_from_event):
5267 factor out some common header init code
5269 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5271 * docs/libs/gstreamer-libs-sections.txt:
5272 * docs/libs/tmpl/gstdataprotocol.sgml:
5273 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5274 * libs/gst/dataprotocol/dataprotocol.h:
5275 API: make gst_dp_crc() public
5277 2006-06-01 Stefan Kost <ensonic@users.sf.net>
5279 * plugins/indexers/gstindexers.c: (plugin_init):
5280 conditionally register fileindexer (fixes #343598)
5282 2006-06-01 Stefan Kost <ensonic@users.sf.net>
5284 * gst/gsttagsetter.h:
5285 Can't cast ifaces to a class
5287 * libs/gst/net/gstnetclientclock.h:
5288 * libs/gst/net/gstnettimeprovider.h:
5289 * plugins/elements/gstfakesink.h:
5290 * plugins/elements/gstfakesrc.h:
5291 * plugins/elements/gstfdsink.h:
5292 * plugins/elements/gstfdsrc.h:
5293 * plugins/elements/gstfilesink.h:
5294 * plugins/elements/gstfilesrc.h:
5295 * plugins/elements/gstidentity.h:
5296 * plugins/elements/gstqueue.h:
5297 * plugins/elements/gsttee.h:
5298 * plugins/indexers/gstfileindex.c:
5299 * plugins/indexers/gstmemindex.c:
5300 * tests/old/examples/plugins/example.h:
5301 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5303 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
5305 * libs/gst/dataprotocol/dataprotocol.c:
5306 (gst_dp_header_from_buffer):
5307 make sure we zero the whole ABI-compatible area
5309 2006-06-01 Wim Taymans <wim@fluendo.com>
5311 Patch by: Alessandro Decina <alessandro at nnva dot org>
5313 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5314 Make sure the EOS flag is cleared from pads after a flush
5315 or stop. Fixes #343538.
5317 * tests/check/libs/collectpads.c: (GST_START_TEST),
5318 (gst_collect_pads_suite):
5319 Added test for collectpads reusage after EOS.
5321 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
5324 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5325 * win32/common/libgstbase.def:
5326 export gst_collect_pads_set_flushing
5327 * win32/common/libgstreamer.def:
5328 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5329 gst_value_fraction_multiply
5330 * win32/vs6/gst_inspect.dsp:
5331 add a link to intl.lib
5333 2006-05-30 Wim Taymans <wim@fluendo.com>
5335 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5336 (gst_collect_pads_chain):
5337 Handle the case where a pad is removed from the collection
5338 that could cause the other pads to become collectable.
5340 2006-05-30 Wim Taymans <wim@fluendo.com>
5343 Clarify the use of _release_request_pad() and
5344 _get_request_pad() a bit better.
5346 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5347 (gst_adapter_take_buffer):
5348 Fix some doc and comment typos.
5350 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5352 * docs/gst/gstreamer-sections.txt:
5353 * docs/libs/gstreamer-libs-sections.txt:
5354 add declared symbols
5356 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
5358 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5359 Add debug that can be enabled using a #define at the top of the file,
5360 for dumping stats about how late/early we were when waking up from
5361 waiting on the clock.
5363 2006-05-30 Wim Taymans <wim@fluendo.com>
5365 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5366 When rebuilding the pad list, don't leak the previous list.
5368 2006-05-30 Wim Taymans <wim@fluendo.com>
5370 Patch by: Lutz Mueller <lutz at topfrose dot de>
5372 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5373 (gst_base_src_get_query_types), (gst_base_src_update_length):
5374 Publish supported query types.
5375 Update last_stop field in get_range mode so the position
5376 query works. Fixes #342321.
5378 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
5380 * docs/gst/gstreamer-sections.txt:
5381 * gst/gsttaglist.c: (_gst_tag_initialize):
5383 API: add GST_TAG_PREVIEW_IMAGE (#343341).
5385 2006-05-30 Wim Taymans <wim@fluendo.com>
5387 Patch by: Alessandro Decina <alessandro at nnva dot org>
5389 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5390 Unlock mutex when removing an unknown pad.
5393 * tests/check/Makefile.am:
5394 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5395 (push_event), (setup), (teardown), (GST_START_TEST),
5396 (gst_collect_pads_suite), (main):
5397 Added collecpads check, disabled for now as check crashes for
5400 2006-05-29 Wim Taymans <wim@fluendo.com>
5402 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5403 Don't leak pads lists.
5405 2006-05-29 Wim Taymans <wim@fluendo.com>
5407 * docs/libs/gstreamer-libs-sections.txt:
5408 * libs/gst/base/gstcollectpads.c:
5409 (gst_collect_pads_set_flushing_unlocked),
5410 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5411 (gst_collect_pads_stop):
5412 * libs/gst/base/gstcollectpads.h:
5413 API: gst_collect_pads_set_flushing()
5414 Added api to set the pads to flushing, useful for seeking
5415 code in elements using collectpads.
5416 Clear segment when receiving a flush.
5418 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
5420 * gst/gst.c: (add_path_func), (init_post):
5421 Don't scan registry paths passed via --gst-plugin-path immediately
5422 (will crash, because absolutely nothing is set up and no types are
5423 registered etc.); do this later in init_post(). Fixes #343057.
5425 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
5427 * gst/gst.c: (init_post):
5428 if we have fork, fork while reading/rebuilding the registry
5429 so the parent doesn't take the hit of having all plugins loaded
5430 in memory. Fixes #342777.
5432 Check if we have fork()
5433 * win32/common/config.h.in:
5436 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
5438 * plugins/elements/gstelements.c:
5439 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5440 (gst_file_src_init), (gst_file_src_set_property),
5441 (gst_file_src_get_property), (gst_file_src_start):
5442 * plugins/elements/gstfilesrc.h:
5443 API: GstFileSrc::use-mmap
5445 Add a use-mmap property to enable easier testing of all code paths.
5446 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
5447 in the absence of gnomevfssrc. (Closes #340501)
5449 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5451 * tools/gst-inspect.c:
5452 Add missing include, removes warning of ngettext not being defined on
5455 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
5457 * gst/gstvalue.c: (gst_value_deserialize_fraction):
5458 Handle NULL input and output pointers silently as a failed conversion,
5459 rather than g_warnings.
5461 2006-05-25 Wim Taymans <wim@fluendo.com>
5463 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
5464 Initialize variable before using. Fixes #342820.
5466 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
5468 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
5469 Fix off-by-one bug that would only allow peeks of N-1 bytes
5470 from the start even if the buffer to typefind on contains
5471 in fact N bytes of data (makes vorbis typefinding from a
5472 vorbis identification header buffer work).
5474 * tests/check/Makefile.am:
5475 * tests/check/libs/.cvsignore:
5476 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
5477 (gst_typefindhelper_suite), (main), (foobar_typefind),
5479 Add very basic unit test for gst_type_find_helper_for_buffer()
5480 that checks for the problem fixed above.
5482 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
5484 * tools/gst-inspect.c: (print_interfaces),
5485 (print_element_properties_info), (print_element_list), (main):
5486 add more translatable strings
5488 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
5490 Patch by: Julien Moutte <julien at moutte net>
5492 * docs/gst/gstreamer-sections.txt:
5493 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
5495 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5496 (gst_fake_sink_preroll):
5497 * plugins/elements/gstfakesink.h:
5498 API: Add new GstFakeSink::preroll-handoff signal (#337100).
5500 2006-05-23 Wim Taymans <wim@fluendo.com>
5502 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
5504 Added _CUSTOM error and success GstFlowReturn that can be
5505 used be elements internally.
5506 Added macro to check for SUCCESS flowreturns.
5507 API: GST_FLOW_CUSTOM_SUCCESS
5508 API: GST_FLOW_CUSTOM_ERROR
5509 API: GST_FLOW_IS_SUCCESS
5511 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5512 Added check for GstFlowReturn sanity.
5514 2006-05-23 Wim Taymans <wim@fluendo.com>
5516 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5518 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5519 (gst_collect_pads_event):
5520 clear/reset segment info in FLUSH_STOP.
5523 2006-05-22 Stefan Kost <ensonic@users.sf.net>
5525 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
5526 (gst_collect_pads_check_collected):
5527 Flush queued buffer on _stop(), fixes playing again (#342454)
5529 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
5531 * tests/check/gst/gststructure.c: (GST_START_TEST),
5532 (gst_structure_suite):
5533 add a test for a complete structure
5535 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
5537 * docs/faq/developing.xml:
5539 * docs/faq/troubleshooting.xml:
5540 * docs/faq/using.xml:
5541 Some minor FAQ updates that won't change the fact that
5542 our FAQ is badly structured, full of information hardly
5543 anyone new to GStreamer needs to know and lacking lots
5544 of information people constantly ask for.
5546 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
5548 * gst/gstpad.c: (gst_pad_set_caps):
5549 Short-circuit gst_pad_set_caps if setting the existing
5550 caps pointer again, and avoid printing debug and
5551 reffing/unreffing the caps.
5553 * plugins/elements/gstqueue.c: (gst_queue_push_one):
5554 There's actually no need to set the caps before pushing -
5555 the acceptcaps method will handle it anyway.
5557 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
5559 * docs/gst/gstreamer-sections.txt:
5560 * win32/common/libgstreamer.def:
5561 * gst/gstutils.c: (gst_element_seek_simple):
5563 API: add gst_element_seek_simple() (#342238).
5565 2006-05-18 Edward Hervey <edward@fluendo.com>
5567 * gst/gsttypefind.c: (gst_type_find_get_type):
5568 * gst/gsttypefind.h:
5569 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
5570 registered for GstTypeFind pointers. This allows wrapping the structure
5571 in bindings (i.e. gst-python).
5573 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
5575 * gst/gsttagsetter.c:
5576 Docs additions and fixes (see #339918).
5578 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
5580 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5581 The caps intersection algorithm can produce multiple copies of the
5582 caps. Until that is fixed, we need to simplify the result to be
5583 sure whether the allowed caps are fixed or not.
5585 * plugins/elements/gstqueue.c: (gst_queue_init),
5586 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
5587 (gst_queue_push_one):
5588 Proxied buffer alloc should not set the caps on the source pad.
5589 When pushing buffers, we always accept the caps change that triggers.
5590 This prevents negotiation errors caused by caps changing mid-stream
5591 and then being refused on our source pad (because upstream is now
5592 refusing those caps).
5594 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
5596 * tests/examples/helloworld/helloworld.c: (main):
5597 Must plug audioconvert and audioresample between decoder
5600 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
5602 * gst/gstregistryxml.c: (read_string), (load_pad_template),
5603 (load_feature), (load_plugin):
5604 Allow empty strings for some of the plugin fields so we don't
5605 drop valid plugin entries that were written out correctly
5608 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
5610 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5611 Use g_remove and g_rename instead of remove and rename that don't
5612 handle utf8 characters. rename was failing for users who had specific
5613 characters in their name then the registry was built at each
5615 * win32/vs6/gst_inspect.dsp:
5616 * win32/vs6/gst_launch.dsp:
5617 * win32/vs6/libgstbase.dsp:
5618 * win32/vs6/libgstcoreelements.dsp:
5619 * win32/vs6/libgstreamer.dsp:
5620 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
5621 build of libgstreamer and clean unused libraries in projects link
5624 2006-05-17 Edward Hervey <edward@fluendo.com>
5626 * plugins/elements/gstqueue.c: (gst_queue_push_one):
5627 The queue is not responsible for pushing an EOS when receiving a fatal
5628 flow error. It's up to the real element driving the pipeline to do that.
5630 2006-05-16 Edward Hervey <edward@fluendo.com>
5632 * plugins/elements/gstqueue.c: (gst_queue_push_one):
5633 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
5634 buffer returned a fatal error. It should just send an EOS and stop
5636 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
5637 when pushing buffers on the queue and will be able to handle the event.
5639 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
5641 * docs/manual/basics-bins.xml:
5642 * docs/manual/basics-init.xml:
5643 Fix typos and minor errors in sample code (#341856).
5645 2006-05-16 Wim Taymans <wim@fluendo.com>
5647 * docs/design/part-qos.txt:
5648 Fix indexes in formulas to make more sense.
5650 2006-05-15 Wim Taymans <wim@fluendo.com>
5652 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5653 Don't report POSITION based on clock time if sync is
5656 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
5659 Add cast to make compiler happy - refcount variable was a gint
5660 in GstObject but is a guint in GObject and g_atomic_int_get()
5663 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
5665 * gst/parse/Makefile.am:
5666 chain commands using &&, which also makes parallel make work
5668 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
5670 * docs/gst/gstreamer-sections.txt:
5676 === release 0.10.6 ===
5678 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
5681 releasing 0.10.6, "Take the cannoli"
5683 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
5685 * tools/gst-launch.c: (print_tag):
5686 Fix use of uninitialized variable in the hypothetical
5687 case that some broken plugin creates a GST_TAG_IMAGE
5688 tag containing a NULL buffer (#341667).
5690 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
5692 * tools/gst-launch.c: (print_tag):
5693 Print something more intelligible for image tags when
5694 using the -t switch (#341556).
5696 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
5701 define GST_MAJORMINOR so we have it available in win32/common/config.h
5702 Possibly remove it from our Makefile.am files later
5703 * win32/common/config.h:
5704 * win32/common/config.h.in:
5705 added GST_MAJORMINOR
5706 * win32/common/gstenumtypes.c: (register_gst_resource_error):
5707 * win32/common/gstversion.h:
5710 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
5713 Update win32 files listing.
5714 * win32/common/gstversion.h:
5715 Add GST_MAJORMINOR definition.
5716 * win32/common/libgstreamer.def:
5717 Add new exported functions.
5719 2006-05-12 Michael Smith <msmith@fluendo.com>
5721 * gst/gstplugin.c: (gst_plugin_load_file):
5722 If an so file has no plugin entry point, unload the module.
5724 2006-05-11 Wim Taymans <wim@fluendo.com>
5726 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
5727 (gst_queue_set_property):
5728 Don't forget to signal the _chain or _loop function
5729 when the queue size or thresholds change since that might
5730 cause them to make progres again.
5732 2006-05-11 Stefan Kost <ensonic@users.sf.net>
5734 * gst/gstclock.c: (gst_clock_class_init):
5735 * gst/gstindex.c: (gst_index_class_init):
5736 * gst/gstobject.c: (gst_object_class_init):
5737 * gst/gstpad.c: (gst_pad_class_init):
5738 * gst/gstpipeline.c: (gst_pipeline_class_init):
5739 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5740 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
5741 * libs/gst/base/gstbasetransform.c:
5742 (gst_base_transform_class_init):
5743 * libs/gst/net/gstnetclientclock.c:
5744 (gst_net_client_clock_class_init):
5745 * libs/gst/net/gstnettimeprovider.c:
5746 (gst_net_time_provider_class_init):
5747 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
5748 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
5749 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
5750 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
5751 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
5752 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5753 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
5754 * plugins/elements/gstidentity.c: (gst_identity_class_init):
5755 * plugins/elements/gsttee.c: (gst_tee_class_init):
5756 * tests/old/examples/plugins/example.c: (gst_example_class_init):
5757 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
5758 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
5760 2006-05-11 Wim Taymans <wim@fluendo.com>
5762 * gst/gstbuffer.c: (_gst_buffer_initialize):
5763 Register subbufer along with the buffer type so that
5764 it does not accidentally gets registered from N
5765 different streaming threads in a non threadsafe way.
5767 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
5772 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
5773 gst_event_ref() and gst_message_ref() functions again
5774 (ugly hack, please do fix if there's a better way besides
5775 overrides.txt, which doesn't seem to work).
5777 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
5779 * libs/gst/check/gstcheck.h:
5780 add an assert for setting state to avoid lots of repetitive code
5783 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
5785 * gst/gstvalue.c: (gst_value_serialize_flags):
5786 fix a leak if no flags are set
5787 * tests/check/gst/gstvalue.c: (GST_START_TEST):
5790 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
5792 * docs/manual/basics-pads.xml:
5793 Expand a bit on caps and filtered links and update
5794 examples that were still using the no longer existing
5795 gst_pad_link_filtered() (#338206).
5797 2006-05-10 Wim Taymans <wim@fluendo.com>
5799 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5800 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5801 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5802 (gst_collect_pads_stop):
5803 * libs/gst/base/gstcollectpads.h:
5804 No need to call _stop in _finalize.
5805 Iterate the main pad list in _finalize.
5806 Added some more debug.
5807 Free lists and data in the right order.
5808 Also free data whem doing _remove_pad when stopped for
5809 backward compatibility protect ::started with PAD_LOCK as
5812 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
5814 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
5815 (gst_structure_parse_value):
5817 rename a method so that it actually says what it does better
5819 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
5821 * gst/gstevent.c: (_gst_event_initialize):
5822 * gst/gstformat.c: (_gst_format_initialize):
5823 make sure some essential types used by events are registered
5824 as part of gst_init()
5825 * gst/gstvalue.c: (gst_value_serialize_flags):
5826 if no flags are set, serialize them to a value that represents NONE
5827 so that deserializing them works
5828 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5829 add tests for serialization and deserialization of flags
5831 2006-05-10 Wim Taymans <wim@fluendo.com>
5833 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
5834 (gst_collect_pads_collect_range), (gst_collect_pads_available),
5835 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
5836 (gst_collect_pads_event), (gst_collect_pads_chain):
5839 Catch and return errors from the collect function
5840 Refuse data on eos pads.
5842 2006-05-10 Edward Hervey <edward@fluendo.com>
5844 * gst/gstinterface.h:
5845 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
5846 GInterface type checking.
5847 They were previously using non-defined macros.
5849 2006-05-09 Wim Taymans <wim@fluendo.com>
5851 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
5852 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
5853 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
5854 (gst_collect_pads_start), (gst_collect_pads_stop),
5855 (gst_collect_pads_peek), (gst_collect_pads_pop),
5856 (gst_collect_pads_available), (gst_collect_pads_read),
5857 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
5858 (gst_collect_pads_is_collected), (gst_collect_pads_event),
5859 (gst_collect_pads_chain):
5860 * libs/gst/base/gstcollectpads.h:
5861 Clean up the mess that is collectpads, add comments and
5862 FIXMEs where needed.
5863 Maintain a separate pad list so we can add pads while
5864 collecting the other ones. For this we need a new separate
5866 Fix memory leak in finalize.
5867 Refactor some weird code to set/unset pad flushing flags, mark
5869 Don't crash in _available, _read, _flush when we're EOS.
5871 * tests/check/libs/.cvsignore:
5872 Ignore adapter check binary.
5874 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
5876 * gst/gstindex.c: (gst_index_resolver_get_type):
5877 * plugins/elements/gstfakesink.c:
5878 (gst_fake_sink_state_error_get_type):
5879 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5880 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
5881 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
5882 Const-ify GEnumValue arrays.
5884 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
5886 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5887 Add test case for flags + gst_buffer_make_metadata_writable().
5889 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
5891 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
5892 gst_buffer_make_metadata_writable() should maintain the
5893 buffer flags (those that make sense at least) (see #340859).
5895 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
5897 * tools/gst-inspect.c:
5898 * tools/gst-launch.c:
5899 * tools/gst-typefind.c:
5900 * tools/gst-xmlinspect.c:
5902 Fix up includes: need to include stdlib.h in tools.h for exit().
5904 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
5906 * gst/gsttaglist.c: (_gst_tag_initialize):
5908 API: add GST_TAG_IMAGE tag (#340721).
5910 2006-05-08 Wim Taymans <wim@fluendo.com>
5913 Added some docs for the segment query.
5915 2006-05-08 Wim Taymans <wim@fluendo.com>
5917 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5918 (gst_base_src_loop), (gst_base_src_change_state):
5919 Always push non-flushing serialized events in the streaming
5922 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
5924 * gst/gsterror.c: (_gst_stream_errors_init):
5925 Add a missing error string.
5927 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
5929 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
5930 Add applied_rate to the debug
5932 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
5933 Copy applied_rate into the outgoing NEWSEGMENT event
5935 2006-05-08 Wim Taymans <wim@fluendo.com>
5937 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
5939 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
5940 (gst_base_sink_change_state):
5941 call ::unlock before taking the PREROLL_LOCK so we can safely
5942 handle elements that lock in ::render.
5945 2006-05-08 Edward Hervey <edward@fluendo.com>
5947 * autogen.sh: (CONFIGURE_DEF_OPT):
5948 Darwin's libtoolize is in fact called glibtoolize.
5949 Adding glibtoolize to the list of accepted names for libtoolize.
5951 2006-05-08 Wim Taymans <wim@fluendo.com>
5953 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5954 Unify error handling, don't post an error message
5955 when a push() returns EOS but perform our normal EOS
5956 handling code. Fixes #340772.
5958 2006-05-08 Wim Taymans <wim@fluendo.com>
5960 * docs/design/part-overview.txt:
5961 Make upsteam/downstream concepts more clear.
5962 Give an example of serialized/non-serialized events.
5964 * docs/design/part-events.txt:
5965 * docs/design/part-streams.txt:
5966 Mention applied_rate.
5968 * docs/design/part-trickmodes.txt:
5969 Mention applied rate, flesh out some more use cases.
5971 * gst/gstevent.c: (gst_event_new_new_segment),
5972 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
5973 (gst_event_parse_new_segment_full), (gst_event_new_tag),
5974 (gst_event_parse_tag), (gst_event_new_buffer_size),
5975 (gst_event_parse_buffer_size), (gst_event_new_qos),
5976 (gst_event_parse_qos), (gst_event_parse_seek),
5977 (gst_event_new_navigation):
5979 Add applied_rate field to NEWSEGMENT event.
5980 API: gst_event_new_new_segment_full()
5981 API: gst_event_parse_new_segment_full()
5983 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
5984 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
5985 (gst_segment_to_stream_time), (gst_segment_to_running_time):
5987 Add applied_rate to GstSegment structure.
5988 Make calculation of stream_time and running_time more correct
5989 wrt rate/applied_rate.
5991 API: GstSegment::applied_rate field
5992 API: gst_segment_set_newsegment_full();
5994 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5995 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
5996 * libs/gst/base/gstbasetransform.c:
5997 (gst_base_transform_sink_eventfunc),
5998 (gst_base_transform_handle_buffer):
5999 Parse and use applied_rate in the GstSegment field.
6001 * tests/check/gst/gstevent.c: (GST_START_TEST):
6002 Add check for applied_rate field.
6004 * tests/check/gst/gstsegment.c: (GST_START_TEST),
6005 (gstsegments_suite):
6006 Add more checks for various GstSegment operations.
6008 2006-05-08 Wim Taymans <wim@fluendo.com>
6010 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6011 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6012 (gst_base_sink_get_position), (gst_base_sink_change_state):
6013 Store the sync time of the buffer end position separatly in a
6014 new variable eos_rtime so we can properly sync the EOS event.
6016 Fix the docs for gst_base_sink_set_qos_enabled().
6017 Don't set segment start to invalid value when we receive a
6018 non TIME newsegment.
6019 get closer to handling position reporting for negative rates
6022 2006-05-07 Stefan Kost <ensonic@users.sf.net>
6025 Docs about how to print caps for debug purposes.
6027 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6028 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6030 2006-05-07 Stefan Kost <ensonic@users.sf.net>
6033 use full enum names and preprend a '%' in docs strings to make recent
6034 gtk-doc turn that into a link
6036 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6038 * docs/manual/basics-bins.xml:
6039 * docs/manual/basics-bus.xml:
6040 * docs/manual/basics-pads.xml:
6041 Some typo fixes, some additions, some clarifications.
6043 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6045 * tools/gst-inspect.c: (main):
6046 * tools/gst-launch.c: (main):
6047 * tools/gst-run.c: (main):
6048 * tools/gst-typefind.c: (main):
6049 * tools/gst-xmlinspect.c: (main):
6050 Use the string passed to g_option_context_new() for
6051 what it's intended for - the program name is already
6054 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6056 * tools/Makefile.am:
6057 * tools/gst-inspect.c: (main):
6058 * tools/gst-launch.c: (main):
6059 * tools/gst-xmlinspect.c: (main):
6061 Add back --version command line option (#340460).
6063 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6064 Add --version option and use GOption for argument parsing; refactor a
6065 bit; accept directories as arguments and recurse into them; lastly,
6066 print a decent error message when things go wrong.
6068 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6070 * docs/manual/basics-bins.xml:
6071 Don't mention GstThread (#340611)
6072 * docs/manual/basics-elements.xml:
6073 Update link to GObject tutorial (#340607)
6075 2006-05-05 Wim Taymans <wim@fluendo.com>
6078 * gst/gstminiobject.c:
6079 Add note about refcounting and miniobject/buffer writeability
6080 to docs. Fixes #340604
6082 * gst/gstelementfactory.h:
6083 Added some explanation about @klass.
6085 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6087 * docs/manual/intro-motivation.xml:
6088 * docs/manual/manual.xml:
6089 Avoid CORBA & Bonobo references (#340598)
6091 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6093 * docs/manual/basics-bus.xml:
6094 * docs/manual/basics-pads.xml:
6095 Fix up some inaccuracies and omissions (#340609)
6097 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6099 * gst/gstghostpad.c:
6100 Small typo in docs (#340625)
6102 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6104 * gst/parse/Makefile.am:
6105 Make 'make -j' proof (see #340698).
6107 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6110 Require GLib-2.8 here as well.
6112 2006-05-05 Wim Taymans <wim@fluendo.com>
6114 * gst/glib-compat.c:
6115 * gst/gst.c: (init_pre):
6116 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6117 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6118 (gst_object_dispatch_properties_changed):
6120 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6121 * gst/gststructure.c: (gst_structure_set_valist):
6122 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6123 Remove pre glib2.8 compatibility, fixes #340508
6125 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
6128 Mention type of tags in doc blurbs.
6130 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
6132 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6133 (gst_pad_configure_src), (gst_pad_push):
6134 Restore acceptcaps checking behaviour now that good plugins have
6137 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
6139 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6150 * gst/parse/Makefile.am:
6151 * libs/gst/base/gstadapter.c:
6152 * libs/gst/base/gstbasesrc.c:
6153 * libs/gst/base/gstpushsrc.c:
6154 * libs/gst/base/gsttypefindhelper.c:
6155 * plugins/elements/gstfakesrc.c:
6156 * plugins/elements/gstidentity.c:
6157 Make sure gstprivate.h and/or config.h are
6158 always included first, otherwise some of our
6159 defines (like _FILE_OFFSET_BITS) might be
6160 redefined in the system headers. Fixes build
6161 on opensolaris (#340016).
6163 2006-05-04 Wim Taymans <wim@fluendo.com>
6165 * docs/libs/gstreamer-libs-sections.txt:
6166 API: addition: gst_adapter_take_buffer()
6168 * libs/gst/base/gstadapter.c: (gst_adapter_push),
6169 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6170 (gst_adapter_available_fast):
6171 * libs/gst/base/gstadapter.h:
6172 Prepare for optimizing the hell out of this hugely inefficient
6174 Added gst_adapter_take_buffer() so we can at least start thinking
6175 about subbuffering and merging.
6176 Added some comments.
6178 * tests/check/Makefile.am:
6179 * tests/check/libs/adapter.c: (GST_START_TEST),
6180 (gst_adapter_suite), (main):
6181 Added GstAdapter check.
6183 2006-05-04 Wim Taymans <wim@fluendo.com>
6185 * docs/design/part-overview.txt:
6186 Fix some typos, add blurb about buffer flags.
6188 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
6190 * docs/libs/gstreamer-libs-sections.txt:
6191 make sure GstBaseTransformClass shows up in the docs
6192 * libs/gst/base/gstbasetransform.c:
6193 * libs/gst/base/gstbasetransform.h:
6194 move docs so gtk-doc picks it up now
6196 2006-05-02 Stefan Kost <ensonic@users.sf.net>
6198 * docs/libs/gstreamer-libs-sections.txt:
6199 add missing symbols to docs
6201 2006-05-02 Stefan Kost <ensonic@users.sf.net>
6203 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6204 back out the newsegment handling change, see #340060 for ongoing
6207 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
6209 * tools/gst-run.c: (get_candidates), (main):
6210 Fix wrong g_file_test() usage (see glib docs for why it doesn't
6211 work); fix typo in error message. Fixes #340079.
6213 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
6215 * common/Makefile.am:
6217 * docs/faq/Makefile.am:
6218 * docs/gst/Makefile.am:
6219 * docs/libs/Makefile.am:
6220 * docs/manual/Makefile.am:
6221 * docs/plugins/Makefile.am:
6222 * docs/pwg/Makefile.am:
6223 * docs/slides/Makefile.am:
6225 * common/upload.mak:
6226 move upload.mak to common
6228 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
6230 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6231 add more asserts on refcounts
6232 do more cleanup at end of tests
6233 fix test leaks showing in FC5
6235 2006-04-29 Stefan Kost <ensonic@users.sf.net>
6237 * plugins/elements/gsttypefindelement.c:
6238 (gst_type_find_element_handle_event):
6239 reverted wrong change and reflowed code to avoid others falling into
6242 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6244 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6245 fix changelog entry about last collectpads change,
6246 add notes about proper fix
6248 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6251 * gst/gstregistry.c: (gst_registry_scan_path_level),
6252 (gst_registry_scan_path):
6253 * gst/gstregistry.h:
6254 only write out registry if it has changed, fixes #338339
6256 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6259 * gst/gstpipeline.c:
6260 * plugins/elements/gstcapsfilter.c:
6261 * plugins/elements/gstfakesink.c:
6262 * plugins/elements/gstfakesrc.c:
6263 * plugins/elements/gstfdsink.c:
6264 * plugins/elements/gstfdsrc.c:
6265 * plugins/elements/gstfilesink.c:
6266 * plugins/elements/gstfilesrc.c:
6267 * plugins/elements/gstidentity.c:
6268 * plugins/elements/gstqueue.c:
6269 * plugins/elements/gsttee.c:
6270 * plugins/elements/gsttypefindelement.c:
6271 (gst_type_find_element_handle_event):
6272 make GstElementDetails const
6274 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6276 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6277 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6278 (gst_collect_pads_is_collected), (gst_collect_pads_event):
6279 more detailed debug and formatting cleanup,
6280 forward newsegments to src-pad (so that e.g. adder not eats them)
6282 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6284 * gst/gstutils.c: (gst_element_link_pads):
6287 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6289 * libs/gst/controller/gstcontroller.c:
6290 (gst_controller_sync_values):
6292 * tests/check/libs/controller.c: (GST_START_TEST),
6293 (gst_controller_suite):
6294 a new test for live value handling
6296 2006-04-28 Wim Taymans <wim@fluendo.com>
6298 * gst/gstutils.c: (push_and_ref):
6299 Added some more docs.
6300 Fix refcount issue whith gst_element_found_tags() helper
6301 function. Fixes #338335
6303 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6304 Added testsuite for gst_element_found_tags().
6306 2006-04-28 Michael Smith <msmith@fluendo.com>
6308 * gst/gstvalue.c: (gst_value_serialize_flags):
6309 Avoid NULL dereference when trying to serialize flags containing
6312 2006-04-28 Michael Smith <msmith@fluendo.com>
6314 * plugins/elements/gsttypefindelement.c:
6315 (gst_type_find_element_handle_event):
6316 If we get EOS before any data is accumulated, don't use
6317 uninitialised local variables.
6319 2006-04-28 Michael Smith <msmith@fluendo.com>
6321 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6322 (gst_dp_event_from_packet):
6323 Fixes in reading/writing events over GDP (not currently used?) -
6324 dereferencing NULL events for unknown/invalid event types, memory
6325 leak, and change g_warning to GST_WARNING.
6327 2006-04-28 Wim Taymans <wim@fluendo.com>
6329 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6330 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6331 (gst_base_sink_get_position), (gst_base_sink_change_state):
6332 When frame dropping is enabled, we should not ignore frames
6334 Update some documentation.
6336 2006-04-28 Wim Taymans <wim@fluendo.com>
6338 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6339 (gst_base_src_send_event), (gst_base_src_change_state):
6340 Documentation updates.
6342 2006-04-28 Wim Taymans <wim@fluendo.com>
6344 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6345 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6346 handle EAGAIN, EINTR and short writes correctly. Also clean
6347 up some error cases, avoid a deadlock on bad file descriptors and
6348 use GST_DEBUG_OBJECT.
6351 2006-04-28 Wim Taymans <wim@fluendo.com>
6353 * gst/gstvalue.c: (gst_value_serialize_buffer),
6354 (gst_value_deserialize_buffer):
6355 Don't try to serialize a GValue with a NULL buffer.
6358 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6359 Added check for serialisation of NULL buffers.
6361 2006-04-28 Wim Taymans <wim@fluendo.com>
6363 * gst/gstminiobject.c: (gst_value_take_mini_object):
6364 Taking a NULL miniobject is valid, fix the case where
6365 we try to unref the NULL miniobject.
6367 2006-04-28 Wim Taymans <wim@fluendo.com>
6369 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6371 * gst/gstbin.c: (gst_bin_handle_message_func):
6373 Don't leak bin refcount when a state recalc is
6374 in progress and we delay another one #339808.
6376 2006-04-28 Wim Taymans <wim@fluendo.com>
6378 * docs/design/part-TODO.txt:
6379 Mention QoS as an ongoing work item.
6381 * docs/design/part-buffering.txt:
6382 New doc about buffering that needs to be fleshed out
6385 * docs/design/part-qos.txt:
6386 More QoS policy for decoders/demuxers/transforms
6388 * docs/design/part-trickmodes.txt:
6391 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
6396 === release 0.10.5 ===
6398 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
6401 releasing 0.10.5, "Fogo"
6403 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
6405 patch by: Wim Taymans
6407 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6408 (gst_pad_configure_src), (gst_pad_push):
6409 * gst/gstpipeline.c: (gst_pipeline_init):
6410 Fix internal data flow errors. Fixes #338711.
6412 2006-04-12 Wim Taymans <wim@fluendo.com>
6414 * tests/check/gst/gstelement.c: (GST_START_TEST):
6415 Don't leak the factory.
6417 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
6420 * win32/common/config.h:
6423 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
6425 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6426 (gst_controller_unset_all):
6427 Free allocated GstTimedValues when freeing list nodes.
6428 Should fix leaks 'make check-valgrind' complains about.
6430 * win32/common/libgstcontroller.def:
6431 Add gst_controller_unset_all.
6433 2006-04-11 Stefan Kost <ensonic@users.sf.net>
6435 * docs/libs/gstreamer-libs-sections.txt:
6436 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6437 (gst_controller_unset_all):
6438 * libs/gst/controller/gstcontroller.h:
6439 API: Added new method gst_controller_unset_all()
6440 fixed gst_controller_unset()
6441 * tests/check/libs/controller.c: (GST_START_TEST),
6442 (gst_controller_suite):
6443 Added two testcases for new and fixed method
6445 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
6447 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6448 MSG_DONTWAIT is not defined on Cygwin, so work
6449 around that (fixes #317048).
6451 2006-04-11 Wim Taymans <wim@fluendo.com>
6453 * gst/gstelementfactory.c: (gst_element_register),
6454 (gst_element_factory_create), (gst_element_factory_make):
6457 Updated docs (Fixes #131079)
6459 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6462 * tests/check/gst/gstelement.c: (GST_START_TEST),
6463 (gst_element_suite):
6464 Added testcase for elementfactory class field.
6466 2006-04-10 Wim Taymans <wim@fluendo.com>
6469 Added some more docs.
6471 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
6472 (gst_base_sink_reset_qos):
6473 Calculate more accurate rate values.
6475 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
6477 * gst/gst_private.h:
6478 add a new #ifdef to use __declspec(dllimport) only for
6479 other modules and not for gstreamer core
6480 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
6481 use gst_guint64_to_gdouble for conversion
6482 * win32/common/libgstreamer.def:
6483 add new exported functions
6484 * win32/vs6/gst_inspect.dsp:
6485 * win32/vs6/gst_launch.dsp:
6486 * win32/vs6/libgstbase.dsp:
6487 * win32/vs6/libgstcontroller.dsp:
6488 * win32/vs6/libgstcoreelements.dsp:
6489 * win32/vs6/libgstdataprotocol.dsp:
6490 * win32/vs6/libgstnet.dsp:
6491 update project files
6493 2006-04-08 Stefan Kost <ensonic@users.sf.net>
6495 * gst/gstbuffer.c: (gst_subbuffer_class_init):
6496 * gst/gstclock.c: (gst_clock_class_init):
6497 * gst/gstelement.c: (gst_element_class_init):
6498 * gst/gstindex.c: (gst_index_class_init):
6499 * gst/gstindexfactory.c: (gst_index_factory_class_init):
6500 * gst/gstobject.c: (gst_object_class_init),
6501 (gst_signal_object_class_init):
6502 * gst/gstpad.c: (gst_pad_class_init):
6503 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
6504 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
6505 * gst/gstregistry.c: (gst_registry_class_init):
6506 * gst/gstsystemclock.c: (gst_system_clock_class_init):
6507 * gst/gsttask.c: (gst_task_class_init):
6508 * gst/gstxml.c: (gst_xml_class_init):
6509 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6510 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6511 (gst_base_src_loop):
6512 * libs/gst/controller/gstcontroller.c:/
6513 (_gst_controller_class_init):
6514 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6515 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
6516 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
6517 * tests/old/examples/plugins/example.c: (gst_example_class_init):
6518 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6519 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
6521 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
6523 * gst/gstpad.c: (gst_pad_link):
6524 Must set peer pads before calling the link function, otherwise
6525 a task started from a link function might get a flow-not-linked
6526 result when trying to push because the other thread where the
6527 linking happens hasn't had a chance to set the peers yet. This
6528 might happen for example when a queue gets linked to a downstream
6529 element, as queue starts a streaming task when its source pad
6530 gets linked. Happens in real life when playing back flac/musepack
6531 files in playbin (#332390).
6533 2006-04-08 Stefan Kost <ensonic@users.sf.net>
6537 * libs/gst/base/gstadapter.h:
6538 * libs/gst/base/gstbasesink.h:
6539 * libs/gst/base/gstbasesrc.h:
6540 * libs/gst/base/gstbasetransform.h:
6541 * libs/gst/base/gstcollectpads.h:
6542 * libs/gst/base/gstpushsrc.h:
6543 Fix broken GObject macros
6545 2006-04-07 Wim Taymans <wim@fluendo.com>
6547 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6548 Initialize start and stop times, thanks valgrind.
6550 2006-04-07 Wim Taymans <wim@fluendo.com>
6552 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6553 Be a bit nicer to badly behaving upstream elements that expect
6554 us to deal with non TIME segments and timestamps (such as fakesrc
6557 2006-04-07 Wim Taymans <wim@fluendo.com>
6560 Small documentation clarification about the signal watch.
6562 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6563 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6564 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6565 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6566 (gst_base_sink_get_position_last),
6567 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
6568 Convert and store timestamps in stream time and running time, the
6569 raw timestamps are not useful, also document this better.
6570 Use different window sizes for good and bad QoS observations so
6571 we react to badness a little quicker.
6572 Keep track of the amount of rendered and dropped buffers.
6573 Send QoS timestamps in running time.
6575 * libs/gst/base/gstbasetransform.c:
6576 (gst_base_transform_sink_eventfunc),
6577 (gst_base_transform_handle_buffer):
6578 Compare QoS timestamps against running time.
6580 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
6585 2006-04-06 Michael Smith <msmith@fluendo.com>
6587 * gst/gstpad.c: (gst_pad_set_property):
6588 Use g_value_get_object() instead of g_value_dup_gst_object(),
6589 to avoid double-reffing the pad template (which we then sink,
6590 so this worked previously if (and only if) the pad template
6593 * gst/gstpadtemplate.c: (gst_pad_template_init),
6594 (gst_pad_template_pad_created):
6595 Never return floating references to pad templates, create
6596 them as initially-sunken.
6598 Document an extra function (and make this stop sinking our
6599 pad template, since that is now guaranteed to do nothing,
6600 since we created it sunken).
6602 * gst/gstghostpad.c:
6605 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
6607 * gst/gstinfo.c: (__gst_in_valgrind):
6610 * plugins/elements/gsttypefindelement.c:
6611 (gst_type_find_element_chain):
6612 Don't leak buffer caps.
6614 2006-04-06 Michael Smith <msmith@fluendo.com>
6616 * gst/parse/grammar.y:
6617 Fix a leak in parse-launch for any source-or-sink named element
6620 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
6621 Unref the pipeline if it exists after we've failed parsing.
6623 2006-04-05 Michael Smith <msmith@fluendo.com>
6625 * gst/gstpipeline.c: (gst_pipeline_init):
6626 When we create a pipeline bus, initially create it in flushing mode.
6627 Fixes leaks in at least one test, and makes a new pipeline work the
6628 same as one that has gone to READY and then back to NULL.
6633 2006-04-05 Michael Smith <msmith@fluendo.com>
6635 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6636 Unref a pad we reffed.
6637 * tests/check/gst/gstutils.c: (GST_START_TEST):
6640 2006-04-05 Michael Smith <msmith@fluendo.com>
6642 * gst/gstquery.c: (gst_query_set_formats),
6643 (gst_query_set_formatsv):
6644 Fix leaking GValues in queries, as shown by valgrind/testsuite.
6646 2006-04-05 Michael Smith <msmith@fluendo.com>
6648 * tests/check/generic/sinks.c: (GST_START_TEST):
6649 Fix a variety of memleaks in sinks check, which are only sometimes
6650 shown by running the tests under valgrind (weird?).
6652 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
6654 * docs/version.entities.in:
6655 Fix the substituted entity name after thomas' changes on the
6658 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
6660 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
6663 2006-04-05 Andy Wingo <wingo@pobox.com>
6665 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
6667 * libs/gst/base/gstbasetransform.c
6668 (gst_base_transform_sink_eventfunc): When resetting our segment on
6669 FLUSH_STOP, also update the flag saying we haven't seen a
6672 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
6674 Patch by: Paolo Borelli <pborelli at katamail dot com>
6676 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6677 (gst_plugin_check_license):
6678 minor clean-ups: G_DEFINE_TYPE already takes care of the
6679 parent_class stuff, no need to do it twice. Mark array of
6680 license strings as constant. (#337103)
6682 2006-04-04 Michael Smith <msmith@fluendo.com>
6684 * tools/gst-inspect.c: (print_element_list):
6685 Free the right plugin list; fixes a memory leak.
6687 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
6689 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
6691 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
6692 Don't error out on empty buffers (#336945).
6694 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
6696 * docs/libs/gstreamer-libs-sections.txt:
6698 * libs/gst/base/gstbasesink.c:
6699 * libs/gst/base/gstbasesink.h:
6700 * libs/gst/base/gstbasesrc.c:
6701 * libs/gst/base/gstbasesrc.h:
6702 Documentation updates. Make BaseSink and BaseSrc docs contain the
6703 class structure so that people can actually see the prototypes for
6704 virtual functions they're supposed to be overriding.
6706 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
6708 * plugins/elements/gsttypefindelement.c:
6709 (gst_type_find_element_chain):
6710 More debug info; when skipping typefinding, send cached
6711 events in all cases.
6713 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
6716 use new AS_VERSION and AS_NANO macros
6717 * gst/gst-i18n-lib.h:
6720 * gst/gstversion.h.in:
6721 * win32/common/config.h:
6722 * win32/common/config.h.in:
6725 2006-03-31 Michael Smith <msmith@fluendo.com>
6727 * plugins/elements/gsttypefindelement.c:
6728 (gst_type_find_element_chain):
6729 Do not typefind content if the buffers already have caps.
6730 Neccesary for icydemux (#333657), and the right thing to do anyway.
6732 2006-03-30 Wim Taymans <wim@fluendo.com>
6734 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6735 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
6736 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
6737 (gst_base_sink_record_qos_observation),
6738 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6739 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6740 (gst_base_sink_change_state):
6741 More QoS measurements as described in the design doc.
6742 Get rid of ringbuffer with observations, running average is
6743 more simple and equally good.
6744 Calculates valid proportion now.
6745 Added beginning of flood measurement.
6747 2006-03-29 Wim Taymans <wim@fluendo.com>
6749 * docs/design/part-qos.txt:
6751 Small documentation updates and additions.
6753 2006-03-29 Wim Taymans <wim@fluendo.com>
6755 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6756 (gst_base_src_send_event), (gst_base_src_loop),
6757 (gst_base_src_change_state):
6758 Perform the EOS logic when we reach the segment stop position.
6759 Fix compilation on gcc4.1
6761 2006-03-29 Wim Taymans <wim@fluendo.com>
6763 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
6765 * plugins/elements/gstqueue.c: (gst_queue_init),
6766 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
6767 (gst_queue_set_property):
6768 * plugins/elements/gstqueue.h:
6769 In queue, when EOS is received, if minimum threshold > max_size -
6770 current_level, there is chance that queue blocks forever in conditional
6771 item del wait. This is because the queue is not emptied completely due
6772 to minimum threshold. Here is another approach. Instead of setting
6773 cur_levels to max in EOS, just zero all minimum threshold levels. This
6774 should make sure that queue gives out all data. When going to READY
6775 (stop) state, just reset the original minimum threshold levels.
6778 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
6780 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
6781 (gst_type_find_element_handle_event),
6782 (gst_type_find_element_send_cached_events),
6783 (gst_type_find_element_change_state):
6784 * plugins/elements/gsttypefindelement.h:
6785 When typefinding is done in push mode, we should cache
6786 events we receive during typefinding instead of just
6787 dropping them (e.g. newsegment, custom events from
6788 dvdreadsrc etc.) and then send them out once we've
6789 determined the type of the stream (and decodebin
6790 has had a chance to plug in a decoder/demuxer).
6792 2006-03-27 Wim Taymans <wim@fluendo.com>
6794 * docs/design/part-qos.txt:
6797 2006-03-27 Wim Taymans <wim@fluendo.com>
6799 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
6801 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6802 (gst_base_src_send_event), (gst_base_src_change_state):
6803 Handle element seek correctly when we are streaming.
6806 2006-03-24 Michael Smith <msmith@fluendo.com>
6808 * docs/faq/gst-uninstalled:
6809 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
6810 allow you to correctly run intalled applications built against old
6811 core, using plugins that require updated core (e.g. running
6812 installed totem against a full uninstalled gstreamer stack)
6814 2006-03-24 Stefan Kost <ensonic@users.sf.net>
6816 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6819 2006-03-24 Wim Taymans <wim@fluendo.com>
6821 * docs/gst/gstreamer-sections.txt:
6822 Rearrange the order of the methods so that related methods
6823 are grouped together in sections.
6825 2006-03-24 Stefan Kost <ensonic@users.sf.net>
6828 Little clarification in the docs
6830 2006-03-24 Stefan Kost <ensonic@users.sf.net>
6834 * plugins/elements/gstidentity.c:
6835 * plugins/elements/gstqueue.c:
6836 * plugins/elements/gsttee.c:
6837 * plugins/elements/gsttypefindelement.c:
6838 GST_ELEMENT_DETAILS formatting
6840 2006-03-24 Wim Taymans <wim@fluendo.com>
6842 * libs/gst/base/gstbasesink.h:
6843 Only add fields, not insert or we break ABI.
6845 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
6847 * win32/common/libgstbase.def:
6848 * win32/common/libgstreamer.def:
6849 Update, add recently added functions.
6851 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
6853 * docs/gst/gstreamer-sections.txt:
6854 * gst/gstutils.c: (gst_pad_query_peer_position),
6855 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
6857 API: add some new utility functions:
6858 - gst_pad_query_peer_position()
6859 - gst_pad_query_peer_duration()
6860 - gst_pad_query_peer_convert()
6862 2006-03-23 Wim Taymans <wim@fluendo.com>
6864 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6865 (gst_base_sink_init), (gst_base_sink_finalize),
6866 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
6867 (gst_base_sink_set_property), (gst_base_sink_get_property),
6868 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
6869 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6870 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
6871 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6872 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6873 (gst_base_sink_preroll_object), (gst_base_sink_event),
6874 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
6875 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6876 (gst_base_sink_query), (gst_base_sink_change_state):
6877 Decouple max-lateness and the fact that QoS messages are generated
6878 with a new property (qos).
6879 added API: GstBaseSink::async_play()
6880 Add vmethod so subclasses can be notified of ASYNC playing
6882 Collect timestamp start and stop to report better current
6883 position in EOS/PLAYING/PAUSED/READY/NULL.
6884 Refactor QoS/frame dropping and other measurements.
6885 API: GstBaseSrc::qos
6888 * libs/gst/base/gstbasesink.h:
6889 Added Private struct.
6890 API: gst_base_sink_set_qos_enabled()
6891 API: gst_base_sink_is_qos_enabled()
6893 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
6895 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6896 If compiling against GLib-2.8 or newer, try to read the
6897 registry file using GMappedFile first before falling back
6898 to fopen() + fread() (#332151).
6900 2006-03-22 Wim Taymans <wim@fluendo.com>
6902 * gst/gstinfo.c: (gst_debug_set_active),
6903 (gst_debug_category_set_threshold):
6904 Disable debugging unless explicitly activated.
6907 2006-03-22 Wim Taymans <wim@fluendo.com>
6909 * gst/gstelement.c: (gst_element_set_locked_state),
6910 (gst_element_dispose):
6911 Cleanup the error case.
6913 * gst/gstobject.c: (gst_object_dispose):
6914 print a critical when some object was disposed with
6915 a parent, also revive the object since it might
6918 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
6920 * tools/gst-launch.1.in:
6923 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
6926 * tests/check/Makefile.am:
6927 disable some tests when we don't have a registry
6928 * tests/check/gst/gstutils.c: (gst_utils_suite):
6929 don't build the part that needs parsing
6931 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
6934 * tests/examples/Makefile.am:
6935 fix --disable-parse build
6937 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
6939 * tools/gst-feedback.1.in:
6940 Fix typo: s/feeback/feedback/ (#133494).
6942 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
6944 * tools/Makefile.am:
6945 * tools/gst-launch.1.in:
6946 Add FILES section and correct entry about GST_REGISTRY_PATH
6947 environment variable (#133495; #133494).
6949 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
6951 * tools/Makefile.am:
6952 * tools/gst-md5sum.1.in:
6953 * tools/gst-md5sum.c:
6954 Remove gst-md5sum and man page (the md5sink element
6955 required was removed ages ago)
6957 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
6959 * gst/gststructure.c: (gst_structure_id_set_value):
6960 Make sure that string fields in structures/taglists
6961 contain valid UTF-8 - we don't want to pass rubbish to
6962 applications because of a buggy plugin (cp. #334167).
6964 2006-03-21 Edward Hervey <edward@fluendo.com>
6966 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6967 (gst_bin_handle_message_func):
6968 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
6969 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
6970 (gst_element_set_bus_func):
6971 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
6972 * gst/gstminiobject.c: (gst_value_set_mini_object),
6973 (gst_value_take_mini_object):
6974 * gst/gstpad.c: (gst_pad_set_pad_template):
6975 * gst/gstpipeline.c: (gst_pipeline_dispose),
6976 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
6977 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
6978 (gst_collect_pads_chain):
6979 * libs/gst/net/gstnettimeprovider.c:
6980 (gst_net_time_provider_set_property):
6981 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
6982 It's in fact all issues with gst_*object_replace().
6984 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
6986 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
6988 * pkgconfig/gstreamer-check-uninstalled.pc.in:
6989 * pkgconfig/gstreamer-check.pc.in:
6990 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
6992 2006-03-21 Edward Hervey <edward@fluendo.com>
6997 gst_[buffer|event|message]_ref() macros are replaced by a static
6998 inline functions because gcc-4.1 will about if the return value
7000 * tests/check/gst/gstevent.c: (event_probe):
7001 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7003 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
7006 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7007 the type' case. (Closes: #335195 for now). In the future, when we
7008 depend on GLib 2.10, we could also intern the type name using
7009 g_intern_static_string()
7011 2006-03-20 Wim Taymans <wim@fluendo.com>
7013 * gst/gstbin.c: (gst_bin_handle_message_func),
7014 (bin_query_max_init), (bin_query_position_fold),
7015 (bin_query_position_done), (gst_bin_query):
7016 Position query should also take max of all streams.
7018 2006-03-20 Wim Taymans <wim@fluendo.com>
7020 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7021 (gst_fake_src_finalize):
7022 Fix leaks in fakesrc.
7024 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7025 Fix leaks in the testcase.
7027 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
7029 * gst/gst_private.h:
7030 add win32 specific import decoration(__declspec(dllimport))
7031 for all extern GstDebugCategory * variables
7032 * win32/common/libgstbase.def:
7033 * win32/common/libgstcontroller.def:
7034 * win32/common/libgstreamer.def:
7035 Add some exports, remove empty lines
7036 * win32/common/libgstdataprotocol.def:
7037 * win32/common/libgstdataprotocol.dsp:
7038 * win32/common/libgstnet.def:
7039 * win32/common/libgstnet.dsp:
7040 new project files and exportation files added
7042 2006-03-19 Wim Taymans <wim@fluendo.com>
7044 * tests/check/libs/basesrc.c: (eos_event_counter):
7045 Use proper return value for probe.
7047 2006-03-17 Wim Taymans <wim@fluendo.com>
7049 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7051 Don't leak buffers, caps and pads on negotiation errors.
7053 2006-03-16 Stefan Kost <ensonic@users.sf.net>
7056 * docs/faq/dependencies.xml:
7057 * docs/faq/developing.xml:
7059 * docs/faq/general.xml:
7060 * docs/faq/getting.xml:
7061 * docs/faq/legal.xml:
7062 * docs/faq/troubleshooting.xml:
7063 * docs/faq/using.xml:
7064 Faq review and update.
7066 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
7068 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7070 Don't pound the cpu to pieces by checking get_caps when accept_caps
7071 is called with the same caps as the pad already has.
7072 Use GST_DEBUG_OBJECT when outputting caps change information.
7074 2006-03-15 Wim Taymans <wim@fluendo.com>
7076 * gst/gstclock.c: (gst_clock_class_init):
7079 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
7084 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7085 (gst_pad_accept_caps), (gst_pad_configure_sink),
7086 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7087 Make the default acceptcaps behaviour be to check the requested
7088 caps against the gst_pad_get_caps output.
7090 Ensure that gst_pad_accept_caps is used to check caps when a pad
7091 doesn't have a setcaps function, so that pads automatically refuse
7092 caps that they don't allow in their pad template. (Fixes #332986)
7094 When a buffer with attached caps is pushed, ensure that the source
7095 pad receives those caps even if the element didn't call
7096 gst_pad_set_caps first.
7098 2006-03-15 Wim Taymans <wim@fluendo.com>
7100 * libs/gst/base/gstadapter.c:
7103 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
7105 * win32/common/libgstbase.def:
7106 * win32/common/libgstcontroller.def:
7107 * win32/common/libgstreamer.def:
7108 Add a whole bunch of missing functions (#334434).
7110 2006-03-14 Wim Taymans <wim@fluendo.com>
7112 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7113 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7114 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7115 Better debug info when we receive a segment event.
7116 Reorganize a bit so we can pass the get_times() results around.
7117 Use the segment format when calculating the running time.
7118 Don't do QoS is sync is disabled or we have no clock or the
7119 element does not want us to sync to the clock.
7120 Don't drop buffers if QoS is disabled for now.
7122 2006-03-14 Wim Taymans <wim@fluendo.com>
7124 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7125 Marked the stats property as unimplemented so people don't get
7127 Add debug message when regression goes wrong.
7128 Added some more docs.
7130 2006-03-14 Wim Taymans <wim@fluendo.com>
7132 * gst/gstsegment.c: (gst_segment_to_stream_time):
7133 Return correct return type in case of errors.
7135 2006-03-14 Wim Taymans <wim@fluendo.com>
7137 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7138 Don't segfault on invalid formats.
7140 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
7142 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7143 Can't use gst_segment_to_running_time() when the segment
7144 is not in GST_TIME_FORMAT (like with filesink, for example).
7145 Stops flac encoding pipelines from spewing critical warnings
7148 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
7150 * gst/gstpipeline.c: (gst_pipeline_class_init):
7151 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7153 * plugins/elements/gsttypefindelement.c:
7154 (gst_type_find_element_handle_event):
7155 Don't try to typefind empty streams.
7157 2006-03-14 Wim Taymans <wim@fluendo.com>
7159 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7160 (gst_base_sink_do_qos):
7161 Separate QoS calculation.
7162 Only drop buffers when lateness is bigger than the
7163 duration of the buffer.
7165 2006-03-13 Wim Taymans <wim@fluendo.com>
7167 * gst/gstpipeline.c: (gst_pipeline_set_property),
7168 (gst_pipeline_get_property), (do_pipeline_seek),
7169 (gst_pipeline_change_state), (gst_pipeline_set_delay),
7170 (gst_pipeline_get_delay):
7171 Don't deadlock when reading properties.
7173 2006-03-13 Wim Taymans <wim@fluendo.com>
7175 * libs/gst/base/gstbasetransform.c:
7176 (gst_base_transform_class_init), (gst_base_transform_init),
7177 (gst_base_transform_sink_event),
7178 (gst_base_transform_sink_eventfunc),
7179 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7180 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7181 (gst_base_transform_set_property),
7182 (gst_base_transform_get_property),
7183 (gst_base_transform_change_state), (gst_base_transform_update_qos),
7184 (gst_base_transform_set_qos_enabled),
7185 (gst_base_transform_is_qos_enabled):
7186 * libs/gst/base/gstbasetransform.h:
7187 Make basetransform virtual method for src events too.
7188 Handle QOS in basetransform.
7189 API: gst_base_transform_update_qos()
7190 API: gst_base_transform_set_qos_enabled()
7191 API: gst_base_transform_is_qos_enabled()
7193 2006-03-13 Wim Taymans <wim@fluendo.com>
7195 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7196 (gst_base_sink_do_sync):
7198 Use QOS debug category.
7200 2006-03-13 Wim Taymans <wim@fluendo.com>
7202 * plugins/elements/gstqueue.c:
7203 Very small doc update.
7205 2006-03-13 Wim Taymans <wim@fluendo.com>
7207 * gst/gst_private.h:
7208 * gst/gstinfo.c: (_gst_debug_init):
7209 Added QOS debug category
7211 2006-03-13 Wim Taymans <wim@fluendo.com>
7213 * docs/gst/gstreamer-sections.txt:
7214 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7216 * gst/gstbus.c: (gst_bus_class_init):
7219 * gst/gstelement.c: (gst_element_set_locked_state):
7221 Documentation updates.
7223 * gst/gstpipeline.c: (gst_pipeline_get_type),
7224 (gst_pipeline_class_init), (gst_pipeline_init),
7225 (gst_pipeline_dispose), (gst_pipeline_set_property),
7226 (gst_pipeline_get_property), (do_pipeline_seek),
7227 (gst_pipeline_send_event), (gst_pipeline_change_state),
7228 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7229 (gst_pipeline_get_delay):
7230 * gst/gstpipeline.h:
7231 Added methods for setting the delay.
7232 API: gst_pipeline_set_delay()
7233 API: gst_pipeline_get_delay()
7234 Add pipeline debug category
7237 Don't reset stream time when seek failed.
7239 2006-03-13 Wim Taymans <wim@fluendo.com>
7241 * docs/design/draft-klass.txt:
7242 * docs/design/part-clocks.txt:
7243 * docs/design/part-events.txt:
7244 * docs/design/part-gstbin.txt:
7245 * docs/design/part-gstpipeline.txt:
7246 * docs/design/part-messages.txt:
7247 * docs/design/part-negotiation.txt:
7248 * docs/design/part-overview.txt:
7249 * docs/design/part-preroll.txt:
7250 * docs/design/part-seeking.txt:
7251 * docs/design/part-states.txt:
7252 * docs/design/part-streams.txt:
7253 Documentation updates.
7255 2006-03-12 Julien MOUTTE <julien@moutte.net>
7257 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7258 us to leak strings...
7260 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
7262 * libs/gst/net/gstnettimeprovider.c:
7264 * win32/common/config.h:
7267 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
7269 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7272 Don't check for libgnomeui (leftover from old examples
7273 that aren't built or disted any longer) (#334303).
7275 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
7277 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7278 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7279 Emit RESOURCE_NO_SPACE_LEFT error here as well when
7280 there's no space left on the device.
7282 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
7285 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7286 to cast the input to GstClockTime before comparing with
7287 another GstClockTime value.
7289 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
7294 === release 0.10.4 ===
7296 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
7299 releasing 0.10.4, "Light"
7301 2006-03-10 Michael Smith <msmith@fluendo.com>
7303 * libs/gst/dataprotocol/dataprotocol.c:
7304 Fix docs for dataprocotol to not get the return types completely
7305 wrong for a few functions.
7307 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
7309 * docs/gst/gstreamer-sections.txt:
7310 * gst/gstpipeline.c: (gst_pipeline_class_init),
7311 (gst_pipeline_init), (gst_pipeline_set_property),
7312 (gst_pipeline_get_property), (gst_pipeline_change_state),
7313 (gst_pipeline_set_auto_flush_bus),
7314 (gst_pipeline_get_auto_flush_bus):
7315 * gst/gstpipeline.h:
7316 Add new API: gst_pipeline_set_auto_flush_bus() and
7317 gst_pipeline_get_auto_flush_bus() to disable automatic
7318 flushing of the pipeline's GstBus when going from READY
7319 to NULL state (#332045).
7321 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
7323 * docs/gst/gstreamer-sections.txt:
7324 * gst/gsturi.c: (gst_uri_has_protocol):
7326 Add new API: gst_uri_has_protocol() (#333779).
7328 2006-03-09 Wim Taymans <wim@fluendo.com>
7330 * gst/gstclock.c: (gst_clock_entry_new),
7331 (gst_clock_id_compare_func), (gst_clock_id_wait),
7332 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7333 (gst_clock_init), (gst_clock_get_internal_time),
7334 (gst_clock_set_master), (do_linear_regression),
7335 (gst_clock_add_observation), (gst_clock_set_property):
7339 Fix a possible segfault when the window-size is made smaller.
7340 Calculate jitter before performing the clock wait. Ideally
7341 the clock implementation should calculate jitter but we need
7342 API breakage for that.
7344 * gst/gstsystemclock.c: (gst_system_clock_init):
7347 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7348 Remove leftover else
7350 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7351 (gst_systemclock_suite):
7352 Added check to test GST_CLOCK_DIFF.
7354 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
7356 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7357 (gst_type_find_helper_get_range):
7358 If we are provided with the size, we should implement
7359 GstTypeFind::get_length, so that typefind functions who
7360 want to can actually peek at the middle of a file.
7362 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
7364 * docs/manual/advanced-dataaccess.xml:
7365 Add some very very basic error checking.
7367 * docs/pwg/appendix-checklist.xml:
7368 Some updates to the list of things to check when writing an element.
7370 2006-03-08 Wim Taymans <wim@fluendo.com>
7372 * docs/design/part-element-transform.txt:
7373 Added some docs about the design of tranform elements.
7375 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7376 (gst_base_src_loop), (gst_base_src_change_state):
7377 Mark buffers with the DISCONT flag.
7379 2006-03-08 Michael Smith <msmith@fluendo.com>
7381 * gst/gstregistry.h:
7382 * gst/gstregistryxml.c: (gst_registry_save),
7383 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7384 (gst_registry_xml_save_pad_template),
7385 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7386 (gst_registry_xml_write_cache):
7387 Rewrite registry-saving to avoid race conditions and check for
7390 2006-03-08 Wim Taymans <wim@fluendo.com>
7392 * libs/gst/base/gstbasetransform.c:
7393 (gst_base_transform_transform_caps),
7394 (gst_base_transform_transform_size),
7395 (gst_base_transform_prepare_output_buffer),
7396 (gst_base_transform_get_unit_size),
7397 (gst_base_transform_buffer_alloc),
7398 (gst_base_transform_handle_buffer),
7399 (gst_base_transform_change_state):
7400 Cleanups, separate normal flow from errors, add sensible
7402 Don't try to renegotiate when allocating an output buffer.
7403 Also copy DISCONT buffer flag when copying a buffer.
7404 Reset the transform after we finish streaming, not during.
7406 2006-03-08 Wim Taymans <wim@fluendo.com>
7408 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7409 Use last buffer timestamp in qos message.
7411 2006-03-07 Wim Taymans <wim@fluendo.com>
7413 Patch by: Christophe Fergeau
7415 * docs/pwg/advanced-tagging.xml:
7416 * docs/pwg/building-pads.xml:
7419 2006-03-07 Wim Taymans <wim@fluendo.com>
7421 * docs/libs/gstreamer-libs-sections.txt:
7422 Added basesink new methods.
7426 Docs updates. Flesh out the QoS docs.
7428 * libs/gst/base/gstadapter.c:
7429 Small doc clarification about ownership and flushing.
7431 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7432 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7433 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
7434 (gst_base_sink_get_property), (gst_base_sink_do_sync):
7435 * libs/gst/base/gstbasesink.h:
7437 Added new methods to allow subclass to control max-lateness
7439 Generate very basic QoS events based on last sync observation.
7440 Updated docs, fix typo, added some QoS blurb.
7442 * libs/gst/base/gstbasesrc.c:
7443 Remove obsolete _get_state() calls from docs.
7445 2006-03-07 Wim Taymans <wim@fluendo.com>
7447 * docs/libs/gstreamer-libs-sections.txt:
7448 * libs/gst/base/gstbasetransform.h:
7449 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
7450 Fix docs for GstBaseSrc.
7452 2006-03-07 Wim Taymans <wim@fluendo.com>
7454 * docs/gst/gstreamer-sections.txt:
7457 * libs/gst/base/gstbasetransform.h:
7458 Small documentation fixes.
7460 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
7463 Document thread-unsafety of gst_value_register_foo_func()
7464 when used at the same time as gst_value_foo() (#322628).
7466 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
7468 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
7469 (gst_push_src_check_get_range):
7470 Push sources don't support pull mode by default.
7472 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
7474 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7475 (gst_base_src_init), (gst_base_src_pad_check_get_range),
7476 (gst_base_src_default_check_get_range):
7477 * libs/gst/base/gstbasesrc.h:
7478 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
7479 provide default implementation, and rename
7480 gst_base_src_check_get_range() to
7481 gst_base_src_pad_check_get_range() for clarity.
7483 2006-03-06 Wim Taymans <wim@fluendo.com>
7485 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7486 Make property overridable.
7488 2006-03-06 Wim Taymans <wim@fluendo.com>
7490 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7491 (gst_base_sink_init), (gst_base_sink_set_property),
7492 (gst_base_sink_get_property), (gst_base_sink_do_sync):
7493 * libs/gst/base/gstbasesink.h:
7494 API addition: Make max-lateness a property.
7496 2006-03-06 Wim Taymans <wim@fluendo.com>
7498 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
7499 (gst_base_sink_do_sync), (gst_base_sink_render_object):
7500 Don't ever draw a frame that is >10ms late.
7502 2006-03-06 Michael Smith <msmith@fluendo.com>
7504 * gst/gstmessage.c: (_gst_message_copy):
7505 When copying a message, set the parent_refcount of the enclosed
7506 structure to point at the copy, not the original message.
7508 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
7510 Patch by: Christophe Fergeau
7513 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
7514 usable in c++ code (#333417)
7516 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
7519 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
7521 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
7523 * libs/gst/base/gstbasetransform.c:
7524 (gst_base_transform_transform_caps):
7525 Make sure caps are writable before passing them to
7528 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
7531 Fix some minor docs errors.
7533 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
7535 Patch by: Ross Burton <ross at burtonini dot com>
7537 * gst/gsterror.c: (_gst_resource_errors_init):
7539 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
7541 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
7544 Add a check and output a g_warning when GStreamer is built
7545 against GLib 2.6 but running against 2.8 or higher, and vice
7546 versa. (Closes: #323542)
7548 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
7550 * gst/parse/parse.l:
7551 Commit patch for parse_launch syntax from #331255. Removes
7552 support for quoted strings and mimetypes when writing filtered
7553 caps. See the bug report for more details - I'm pretty sure this
7554 obscure feature is not in use by _anyone_ anywhere.
7556 With this simple change, the size of the gstreamer.so here
7557 drops from 2193KB to 1565KB.
7559 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
7561 * plugins/elements/gsttypefindelement.h:
7562 * plugins/elements/gsttypefindelement.c:
7563 (gst_type_find_element_src_event), (start_typefinding),
7564 (stop_typefinding), (gst_type_find_element_handle_event),
7565 (gst_type_find_element_chain),
7566 (gst_type_find_element_chain_do_typefinding):
7567 Use gst_type_find_helper_for_buffer() for chain-based
7570 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
7572 * plugins/elements/gsttypefindelement.c:
7573 (gst_type_find_element_class_init),
7574 (gst_type_find_element_set_property),
7575 (gst_type_find_element_get_property):
7576 Deprecate "maximum" property (not only was it only taken into
7577 account for typefinding in push-mode anyway, it also was never
7578 actually possible to set it in the first place because the
7579 property was registered with the numeric property ID for the
7580 "minimum" property). Register "maximum" property correctly,
7581 for the sake of future copy'n'pasters. Remove some cruft
7582 from property get/set functions.
7584 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
7586 * plugins/elements/gsttypefindelement.c:
7587 (gst_type_find_element_activate):
7588 Use gst_type_find_helper_get_range() here, so we
7589 can honour the "minimum" property and also emit
7590 the signal with the correct probability of the found caps.
7592 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
7594 * docs/libs/gstreamer-libs-sections.txt:
7595 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7596 (helper_find_suggest), (gst_type_find_helper_get_range),
7597 (gst_type_find_helper):
7598 * libs/gst/base/gsttypefindhelper.h:
7599 New API: gst_type_find_helper_get_range() (#333042).
7601 2006-03-02 Michael Smith <msmith@fluendo.com>
7603 * gst/gstregistryxml.c: (load_feature):
7604 Asserting on a failure to read part of the registry is Not Cool.
7605 Just log a warning and return NULL (which is already handled)
7607 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
7609 * win32/common/libgstbase.def:
7610 added export of gst_type_find_helper_for_buffer
7611 * win32/common/libgstbase.def:
7612 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
7613 gst_ghost_pad_get_target
7615 2006-02-28 Wim Taymans <wim@fluendo.com>
7617 * docs/design/draft-klass.txt:
7619 Added Connector to mark elements that are only used to
7620 allow pipeline connections.
7621 Moved Debug to extra feature since most of them are
7622 functionally something else.
7624 2006-02-28 Wim Taymans <wim@fluendo.com>
7626 * docs/design/draft-klass.txt:
7627 Some updates and clarifications.
7629 2006-02-28 Wim Taymans <wim@fluendo.com>
7631 * docs/design/draft-klass.txt:
7632 Proposal for klass field values.
7634 * docs/design/part-streams.txt:
7635 Start of a doc describing stream anatomy.
7637 2006-02-28 Wim Taymans <wim@fluendo.com>
7639 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
7640 Help the compiler a bit with type registration.
7641 Use existing forward cod path instead of duplicating it when
7644 * gst/gstbus.c: (gst_bus_get_type):
7645 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
7646 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
7647 * gst/gstclock.c: (gst_clock_get_type):
7648 * gst/gstelement.c: (gst_element_get_type),
7649 * gst/gstelementfactory.c: (gst_element_factory_get_type):
7650 * gst/gstindexfactory.c: (gst_index_factory_get_type):
7651 * gst/gstminiobject.c: (gst_mini_object_get_type):
7652 * gst/gstpad.c: (gst_pad_get_type):
7653 * gst/gstsegment.c: (gst_segment_get_type):
7654 * gst/gststructure.c: (gst_structure_get_type):
7655 * gst/gstsystemclock.c: (gst_system_clock_get_type):
7656 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
7658 Help compiler with type registration.
7660 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7663 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7665 * plugins/elements/gsttypefindelement.c:
7666 (gst_type_find_element_handle_event):
7667 When we get an EOS event and have not found a type yet
7668 (most likely because we had not yet accumulated
7669 TYPE_FIND_MIN_SIZE of data yet), try to determine the
7670 type given the data we have so far. Fixes typefinding
7671 for very short streams again, most notably quicktime
7672 redirections as used on Apple's trailer site (#331701).
7674 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7676 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
7677 (gst_type_find_helper):
7678 Try typefinding factories with the highest rank first.
7680 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7682 * docs/libs/gstreamer-libs-docs.sgml:
7683 * docs/libs/gstreamer-libs-sections.txt:
7684 * libs/gst/base/gsttypefindhelper.c:
7685 Add section for typefind helper and add documentation
7686 for the old and the new function.
7688 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7690 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
7691 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
7692 (gst_type_find_helper_for_buffer):
7693 * libs/gst/base/gsttypefindhelper.h:
7694 New API: gst_type_find_helper_for_buffer() (#332723).
7696 2006-02-27 Michael Smith <msmith@fluendo.com>
7698 Patch by: Loïc Minier
7702 * docs/slides/Makefile.am:
7703 prevent CVS directories getting disted.
7705 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7707 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
7708 Use the REFCOUNTING category for caps refcounting.
7710 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
7712 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
7713 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
7715 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
7717 * plugins/elements/gsttypefindelement.c:
7718 (gst_type_find_element_activate):
7719 Use gst_pad_check_pull_range() before _activate_pull()
7720 to avoid unnecessary open/close (see #331690).
7722 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
7725 Docs enhancement: make it crystal clear what the
7726 gst_pad_add_*_probe() callbacks should look like.
7728 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
7730 * libs/gst/base/gstbasesrc.c:
7731 Document how applications can stop recording from
7732 live sources (see #330996).
7734 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
7736 * tests/check/Makefile.am:
7737 * tests/check/libs/basesrc.c: (eos_event_counter),
7738 (basesrc_eos_events_pull), (basesrc_eos_events_push),
7739 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
7740 (gst_basesrc_suite), (main):
7741 ... and add some tests for the base source EOS stuff.
7743 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
7745 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
7746 Test case originally showed the problem fixed below,
7747 but was then amended. Add checks back at the place
7748 where they used to be.
7750 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
7752 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7753 (gst_base_src_init), (gst_base_src_loop),
7754 (gst_base_src_activate_push), (gst_base_src_activate_pull),
7755 (gst_base_src_change_state):
7756 * libs/gst/base/gstbasesrc.h:
7757 Don't unconditionally send EOS when going from PAUSED to
7758 READY state, esp. make sure we don't send two EOS events
7759 in some cases (e.g. one when reaching EOS and one when
7760 going from PAUSED to READY). Also, we don't want to send
7761 EOS events when operating in pull mode. However, we do
7762 want to send an EOS event when shutting down a live
7763 source explicitly, for example (fixes #330996).
7765 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
7767 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7768 Update src->read_position after a seek when not using mmap.
7769 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
7771 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
7777 Make things work with --disable-parse as they do with
7778 --disable-load-save - the symbols involved disappear, but the
7779 header is still installed and GST_DISABLE_PARSE is included via
7782 2006-02-20 Julien MOUTTE <julien@moutte.net>
7784 * libs/gst/base/gstbasetransform.c:
7785 (gst_base_transform_change_state): Fix a stupid bug. I was
7786 sure I compiled that.
7788 2006-02-20 Julien MOUTTE <julien@moutte.net>
7790 * gst/gstpad.c: (gst_pad_set_blocked_async):
7791 * gst/gstutils.c: (gst_pad_add_data_probe),
7792 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7793 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7794 (gst_pad_remove_buffer_probe): Make those function act on the
7795 ghostpad target when it's a ghostpad. (Closes #331727)
7797 2006-02-20 Julien MOUTTE <julien@moutte.net>
7799 * libs/gst/base/gstbasetransform.c:
7800 (gst_base_transform_change_state): Make basetransform reusable.
7803 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
7805 * docs/random/release:
7806 Move the current documentation of how to do a release to the top
7809 * gst/gstbin.c: (gst_bin_class_init),
7810 (gst_bin_handle_message_func):
7811 Allow multiple state-recalculation threads. (Closes #328873)
7813 2006-02-19 Julien MOUTTE <julien@moutte.net>
7815 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
7816 * gst/gstpad.c: (gst_pad_set_event_function),
7817 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7818 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
7819 2 strings. You can't use the STR_NULL macro on that.
7821 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
7823 * gst/gstpad.c: (gst_pad_set_event_function),
7824 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7825 (gst_pad_set_getcaps_function)
7826 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
7827 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
7828 So now, we can use --gst-debug-level=5 on Windows
7829 * win32/common/libgstcontroller.def:
7830 Added export of gst_controller_init
7831 * win32/vs6/libgstcontroller.dsp:
7832 Fixed Release post build configuration
7834 2006-02-17 Wim Taymans <wim@fluendo.com>
7836 * tests/check/gst/gstquery.c: (GST_START_TEST):
7837 Added another check.
7839 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
7841 * plugins/elements/gsttypefindelement.c: (find_peek):
7842 We can do peeks at non-zero offsets, as long as they
7843 fall within the buffer we have.
7845 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
7847 * tests/check/Makefile.am:
7848 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
7849 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
7850 (parse_suite), (main):
7851 Add testsuite for parse launch syntax
7853 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
7855 * plugins/elements/gsttypefindelement.c:
7856 (gst_type_find_element_chain):
7857 When typefinding is unsuccessful in the chain function, don't
7858 error out immediately. Only error out with NO_CAPS_FOUND if
7859 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
7860 otherwise simply wait for more data so we can try typefinding
7861 again with more data later. Also, don't attempt to typefind
7862 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
7863 this should improve typefinding from network sources where the
7864 size of the first buffer can be somewhat random.
7866 2006-02-14 Wim Taymans <wim@fluendo.com>
7868 * docs/gst/gstreamer-sections.txt:
7869 * gst/gstpadtemplate.c:
7870 * gst/gstpadtemplate.h:
7871 Fix padtemplate docs, fixes #328805.
7873 2006-02-14 Wim Taymans <wim@fluendo.com>
7875 * tools/gst-launch.c: (main):
7876 NO_PREROLL is not an ERROR so don't send confusing messages
7879 2006-02-14 Wim Taymans <wim@fluendo.com>
7881 Patch by: Torsten Schoenfeld
7883 * gst/gstregistry.c: (gst_registry_get_default),
7884 (_gst_registry_cleanup):
7885 Protect default registry with lock and ref/sink it.
7888 2006-02-14 Wim Taymans <wim@fluendo.com>
7891 * gst/gstquery.c: (gst_query_list_add_format),
7892 (gst_query_set_formatsv), (gst_query_parse_formats_length),
7893 (gst_query_parse_formats_nth):
7894 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7897 2006-02-14 Wim Taymans <wim@fluendo.com>
7899 * docs/gst/gstreamer-sections.txt:
7900 Reworked query docs.
7902 * gst/gstquery.c: (gst_query_new_formats),
7903 (gst_query_list_add_format), (gst_query_set_formats),
7904 (gst_query_set_formatsv), (gst_query_parse_formats_length),
7905 (gst_query_parse_formats_nth):
7907 Flesh out formats query, added some new methods.
7908 Fix part of #324398.
7910 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
7911 Added query creation tests.
7913 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
7915 * gst/gstpad.c: (fixate_value):
7916 Add a default fixation for fraction lists.
7918 2006-02-13 Wim Taymans <wim@fluendo.com>
7920 * gst/gsttask.c: (gst_task_init), (gst_task_func),
7921 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
7924 Detect and warn for obvious deadlocks. fixes #320340
7925 Fix error case where lock was not released.
7927 * tests/check/Makefile.am:
7928 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
7929 (task_func), (gst_element_suite), (main):
7932 2006-02-13 Wim Taymans <wim@fluendo.com>
7934 * docs/gst/gstreamer-sections.txt:
7936 Add new functions to docs.
7938 2006-02-13 Wim Taymans <wim@fluendo.com>
7940 * docs/design/part-TODO.txt:
7941 Updated TODO list, basesrc supports seeking to non-bytes
7944 * docs/design/part-element-sink.txt:
7947 * gst/gstbin.c: (bin_replace_message),
7948 (gst_bin_handle_message_func):
7949 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
7950 * gst/gstevent.c: (gst_event_finalize):
7951 * gst/gstpad.c: (gst_pad_event_default_dispatch),
7952 (gst_pad_send_event):
7953 Use shiny new _TYPE_NAME macros.
7955 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
7956 Move debug statement up.
7958 * gst/gstelement.c: (gst_element_set_locked_state):
7961 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
7963 * docs/gst/gstreamer-sections.txt:
7966 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
7967 macros (#330906). Also, document the already existing
7968 GST_QUERY_TYPE macro.
7970 2006-02-13 Wim Taymans <wim@fluendo.com>
7972 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
7973 (event_probe), (GST_START_TEST):
7974 Only events up to the pipeline EOS are counted, there are
7975 some more when going to NULL currently which we don't care
7978 2006-02-13 Wim Taymans <wim@fluendo.com>
7980 * gst/gstpad.c: (gst_pad_send_event):
7981 Correctly check flushing and emit probes. fixes #330125
7983 2006-02-10 Andy Wingo <wingo@pobox.com>
7985 * gst/gstbus.c (gst_bus_class_init): Declare our private data
7987 (gst_bus_init): Cache the location of the private data in the
7989 (gst_bus_enable_sync_message_emission)
7990 (gst_bus_disable_sync_message_emission): Implement new public
7992 (gst_bus_post): Emit the sync-message signal if the user asked for
7995 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
7996 location of the bus-private structure.
7997 (gst_bus_enable_sync_message_emission)
7998 (gst_bus_disable_sync_message_emission): API addition
8000 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
8002 Patch by: Vincent Torri
8004 * docs/pwg/building-boiler.xml:
8005 PWG patch from #326800
8007 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
8011 * docs/design/Makefile.am:
8014 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
8019 === release 0.10.3 ===
8021 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
8024 releasing 0.10.3, "Like a virgin"
8026 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
8029 2nd prerelease of 0.10.3
8030 Bump libtool versioning.
8032 2006-02-07 Andy Wingo <wingo@pobox.com>
8034 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8035 update last_stop if we're in TIME format and the timestamp is
8038 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
8039 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
8040 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8041 If we get a new newsegment with a different format, adapt
8044 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8045 of 0. Not a problem, really.
8047 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8050 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
8055 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
8058 project files updated to the default vs7 configuration
8059 * win32/common/libgstbase.def:
8060 * win32/common/libgstreamer.def:
8062 removed empty lines,
8063 sorted all exported symbols alphabetically
8064 * win32/common/dirent.c:
8065 * win32/common/dirent.h:
8066 * win32/common/gchar.h:
8067 use windows line end.
8069 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
8071 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8072 Send EOS event when stopping.
8074 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
8077 Tell folks what to do if the plugin-foobar.xml file
8078 hasn't been generated for a newly-added plugin.
8080 2006-02-05 Julien MOUTTE <julien@moutte.net>
8082 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8083 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8084 (gst_collect_pads_start), (gst_collect_pads_stop),
8085 (gst_collect_pads_event): Collectpads now holds a reference
8086 to the GstPad that was added. Indeed we don't want to look
8087 at pads that might just go away with no warning...
8089 2006-02-05 Julien MOUTTE <julien@moutte.net>
8091 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8092 (gst_collect_pads_start), (gst_collect_pads_stop),
8093 (gst_collect_pads_event), (gst_collect_pads_chain):
8094 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8095 Mark Nauwelaerts's patch on bug #328491.
8097 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
8099 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8101 Add some simple tests for gst_parse_bin_from_description() and
8102 gst_bin_find_unconnected_pad() (#329069).
8104 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
8106 * tools/gst-launch.c: (event_loop), (main):
8107 Catch errors during preroll (#320084).
8109 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
8111 * plugins/elements/gsttypefindelement.c:
8112 (gst_type_find_element_activate):
8113 Post TYPE_NOT_FOUND error message when typefinding
8114 is unsuccessful in the activate function as well.
8116 2006-02-02 Wim Taymans <wim@fluendo.com>
8118 * docs/design/part-element-sink.txt:
8121 2006-02-02 Wim Taymans <wim@fluendo.com>
8123 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8124 (gst_base_sink_render_object),
8125 (gst_base_sink_queue_object_unlocked):
8126 Only keep track of prerollable items when we are
8128 Before rendering after preroll, always check if we
8130 Added some more debugging.
8132 2006-02-02 Wim Taymans <wim@fluendo.com>
8134 * gst/gstelement.c: (gst_element_continue_state),
8135 (gst_element_set_state_func), (gst_element_change_state):
8136 Fixed #326576, been running this for quite some time with
8137 no regressions at all.
8139 2006-02-02 Wim Taymans <wim@fluendo.com>
8142 Added more suppressions
8144 2006-02-02 Wim Taymans <wim@fluendo.com>
8146 * docs/design/part-element-sink.txt:
8149 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8150 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8151 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8152 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8153 (gst_base_sink_do_sync), (gst_base_sink_render_object),
8154 (gst_base_sink_preroll_object),
8155 (gst_base_sink_queue_object_unlocked),
8156 (gst_base_sink_queue_object), (gst_base_sink_event),
8157 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8158 (gst_base_sink_loop), (gst_base_sink_activate_pull),
8159 (gst_base_sink_get_position), (gst_base_sink_change_state):
8160 * libs/gst/base/gstbasesink.h:
8161 Totally refactored matching the design doc.
8162 Use two segments, one to clip incomming buffers and another to
8164 Handle queueing correctly, bypass the queue when playing.
8165 Make EOS cancelable.
8166 Handle errors correctly when operating in pull based mode.
8168 * tests/check/elements/fakesink.c: (GST_START_TEST),
8170 Added new check for sinks.
8172 2006-02-02 Wim Taymans <wim@fluendo.com>
8174 * gst/gstsegment.c: (gst_segment_clip):
8175 No reason to refuse to clip when start == -1
8177 2006-02-02 Stefan Kost <ensonic@users.sf.net>
8180 * docs/manual/intro-basics.xml:
8181 * docs/manual/intro-preface.xml:
8182 * docs/manual/manual.xml:
8183 * docs/pwg/advanced-dparams.xml:
8184 * docs/pwg/intro-basics.xml:
8185 * docs/pwg/intro-preface.xml:
8187 describe dparams (controller) for plugins
8188 unify docs a little more
8190 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
8192 * docs/gst/gstreamer-sections.txt:
8193 * gst/gstutils.c: (element_find_unconnected_pad),
8194 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8196 Add new API: gst_parse_bin_from_description() and
8197 gst_bin_find_unconnected_pad() (#329069).
8199 2006-02-01 Stefan Kost <ensonic@users.sf.net>
8201 * docs/manual/README:
8202 uncover a nasty detail of the docs build
8204 2006-01-31 Wim Taymans <wim@fluendo.com>
8206 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8207 Don't cache duration messages if we're not going to use or
8210 2006-01-31 Stefan Kost <ensonic@users.sf.net>
8212 * docs/manual/advanced-dparams.xml:
8213 * docs/pwg/advanced-dparams.xml:
8217 * libs/gst/controller/lib.c: (gst_controller_init):
8220 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
8222 * gst/gstelement.c: (gst_element_message_full):
8223 also show file/line/func if no additional debug was given
8225 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
8227 * win32/vs7/grammar.vcproj:
8228 activate copy of autogenerated files for Release mode
8230 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
8232 * win32/common/libgstreamer.def:
8233 export gst_value_compare
8235 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
8237 * plugins/elements/Makefile.am:
8238 * plugins/elements/gstelements.c:
8239 * plugins/elements/gstfdsink.c: (_do_init),
8240 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8241 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8242 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8243 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8244 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8245 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8246 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8247 * plugins/elements/gstfdsink.h:
8248 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8250 2006-01-30 Stefan Kost <ensonic@users.sf.net>
8252 * docs/manual/advanced-dparams.xml:
8254 * docs/manual/advanced-position.xml:
8255 * docs/manual/basics-init.xml:
8256 * docs/manual/manual.xml:
8257 * docs/manual/titlepage.xml:
8259 * docs/pwg/titlepage.xml:
8260 cleanup xml (more to come)
8261 * libs/gst/controller/gstcontroller.c:
8264 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
8266 * win32/vs6/grammar.dsp:
8267 add autogen of gstmarshal.c,h for Release mode
8269 2006-01-30 Wim Taymans <wim@fluendo.com>
8271 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8272 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8273 (gst_base_sink_handle_object), (gst_base_sink_event),
8274 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8275 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8276 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8277 (gst_base_sink_deactivate), (gst_base_sink_activate),
8278 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8279 (gst_base_sink_query), (gst_base_sink_change_state):
8280 Basesink cleanups, remove some old code.
8281 Handle the case where a subclass can preroll in the render
8282 method (mostly audiosinks).
8284 Remove some locks around variables that are now protected
8285 with the PREROLL_LOCK (clock_id, flushing, ..).
8286 Optimize position query some more, do correct locking.
8287 Remove old code to push queue in state change, this is not
8288 needed anymore since preroll blocks on all prerollable items
8290 Almost implemented as described in design doc.
8292 2006-01-30 Wim Taymans <wim@fluendo.com>
8294 * tests/check/gst/gstbin.c: (GST_START_TEST):
8295 Wait for refcount to settle down before checking.
8297 2006-01-30 Wim Taymans <wim@fluendo.com>
8299 * docs/design/part-element-sink.txt:
8300 Pseudo code overview of desired sink behaviour regarding
8303 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
8304 * win32/vs6/grammar.dsp:
8305 fix some bugs in Release mode for autogenerated files
8307 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
8308 * win32/common/libgstbase.def:
8309 * win32/common/libgstreamer.def:
8310 export some new symbols: gst_base_src_set_format,
8311 gst_iterator_next, gst_structure_set_valist
8313 2006-01-29 Julien MOUTTE <julien@moutte.net>
8315 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8316 Set pad functions unconditionally. Fixes #329105.
8318 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
8320 add vs8 project files created by Sergey Scobich
8322 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
8324 * gst/gstutils.c: (gst_element_unlink_pads):
8325 Don't leak pad references.
8327 * tests/check/elements/fakesink.c: (GST_START_TEST):
8328 * tests/check/generic/sinks.c: (GST_START_TEST):
8329 * tests/check/generic/states.c: (GST_START_TEST):
8330 * tests/check/gst/gstbin.c: (GST_START_TEST):
8331 * tests/check/gst/gstcaps.c: (GST_START_TEST):
8332 * tests/check/gst/gstelement.c: (GST_START_TEST):
8333 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8334 * tests/check/gst/gstiterator.c: (GST_START_TEST):
8335 * tests/check/gst/gstvalue.c: (GST_START_TEST):
8336 Fix a bunch of leaks. Make generic/sinks.c
8337 use a bit less cpu by slowing the buffer rate
8338 between fakesrc and fakesink.
8340 2006-01-27 Stefan Kost <ensonic@users.sf.net>
8342 * gst/gstelement.c: (gst_element_send_event):
8345 * gst/gstiterator.c:
8346 * gst/gstiterator.h:
8347 * gst/gstpad.c: (gst_pad_send_event):
8348 * gst/gststructure.c:
8352 * libs/gst/base/gstadapter.c:
8353 doc fixes, to link to function, just write gst_cool_function(), don't
8356 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
8358 * plugins/elements/gsttee.c: (gst_tee_do_push),
8359 (gst_tee_handle_buffer):
8360 Always prefer an actual return value from a src
8361 pad in place of NOT_LINKED. This means we return
8362 WRONG_STATE when all src pads are WRONG_STATE
8363 instead of NOT_LINKED.
8365 Lock when replacing the last message to prevent
8366 racing with the get_property method.
8370 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
8372 * tests/check/Makefile.am:
8373 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8375 Add a very simple check that should have caught the memleak I fixed
8376 last night (if not for the slice allocator hiding it)
8378 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
8380 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8381 (gst_bin_remove_func), (gst_bin_handle_message_func),
8382 (bin_query_duration_fold), (bin_query_generic_fold):
8383 Clean up references to the clock provider when disposed or when
8384 handling a clock-lost message from it.
8386 Unref sinks when performing a query via gst_iterator_fold, as the
8387 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8389 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8390 (gst_clock_set_master):
8391 Drop our reference to the master clock, if any, when we are disposed.
8393 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8394 Chain up in dispose.
8396 2006-01-26 Wim Taymans <wim@fluendo.com>
8398 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8401 2006-01-26 Julien MOUTTE <julien@moutte.net>
8403 * plugins/elements/gsttee.c: (gst_tee_do_push),
8404 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8405 handles pad being NOT_LINKED or in WRONG_STATE.
8407 2006-01-26 Stefan Kost <ensonic@users.sf.net>
8412 2006-01-26 Stefan Kost <ensonic@users.sf.net>
8415 remove obsolete entry
8417 2006-01-26 Stefan Kost <ensonic@users.sf.net>
8419 * docs/gst/gstreamer-sections.txt:
8420 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8421 (gst_bin_iterate_sources), (gst_bin_send_event):
8423 * gst/gstelement.c: (gst_element_send_event):
8425 * gst/gstpad.c: (gst_pad_send_event):
8426 added code for downstream events, reviewed docs in gstevent.c
8428 2006-01-25 Julien MOUTTE <julien@moutte.net>
8430 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8431 We only query position using the clock in the playing state.
8432 Query peer in the other cases.
8433 * win32/common/config.h: Updates.
8435 2006-01-24 Wim Taymans <wim@fluendo.com>
8437 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8438 A clock entry that is scheduled for the exact time of the
8439 clock is still in time.
8441 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8442 (gst_base_sink_do_sync):
8443 Add some more debug info.
8445 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
8448 Add new vs7 project files and solution.
8450 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
8453 all files removed as they were out-dated.
8455 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
8457 * docs/random/release:
8459 * gst/gstbin.c: (gst_bin_init):
8460 * gst/gstbus.c: (gst_bus_new):
8462 * gst/gstpipeline.c: (gst_pipeline_init):
8463 use gst_bus_new(), improve logging, fix docs
8464 * win32/common/config.h:
8465 update for cvs build
8467 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
8470 up required version of automake to 1.7
8472 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
8474 * win32/common/libgstreamer.def:
8475 export gst_buffer_is_metadata_writable
8477 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
8479 * docs/gst/gstreamer-sections.txt:
8481 Add gst_event_replace() (#327001)
8483 2006-01-20 Wim Taymans <wim@fluendo.com>
8485 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8486 Make it actually compile too..
8488 2006-01-20 Wim Taymans <wim@fluendo.com>
8491 Clarify behaviour of _is_equal() when passing NULL parameters.
8493 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8495 Cleanups. Don't unref NULL caps.
8496 When setting the same caps, protect caps of the pad with
8498 Use full functionality of _is_equal() when comparing caps.
8500 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
8502 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8503 Don't loop infinitely if there are no buffers to present. Partially
8504 fixes #327197, but collectpads is just broken for reusing elements
8505 to do multiple encodes atm.
8507 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
8509 * tools/gst-inspect.c: (print_element_features):
8510 * tools/gst-xmlinspect.c: (main):
8511 URL_HANDLER is not a plugin feature we can search for in
8514 2006-01-19 Edward Hervey <edward@fluendo.com>
8516 * gst/gstelement.c: (gst_element_pads_activate):
8517 When activating, do src pads first, then sink pads.
8518 When de-activating, do sink pads first, then src pads.
8520 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8522 * docs/gst/gstreamer-sections.txt:
8523 Add gst_index_add_associationv to the docs
8525 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8530 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
8531 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
8532 Do some refactoring. Doesn't actually change functionality,
8533 but makes landing the DRAIN event easier later.
8535 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
8537 * docs/pwg/advanced-scheduling.xml:
8538 Update from 0.9.x to 0.10 API and make example a bit
8541 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8543 * docs/gst/gstreamer-sections.txt:
8544 Add gst_buffer_(is|make)_metadata_writable methods.
8546 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8548 * docs/design/part-sparsestreams.txt:
8549 Update sparse streams doc, hopefully for greater clarity
8551 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
8553 * docs/design/part-events.txt:
8554 Remove mention of FILLER events.
8557 * docs/design/part-sparsestreams.txt:
8558 Write some things about using NEWSEGMENT to keep sparse streams
8561 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
8563 * gst/gstbin.c: (gst_bin_dispose):
8564 Guard gst_object_unref call against a NULL object (dispose
8565 can theoretically be called multiple times).
8567 2006-01-18 Wim Taymans <wim@fluendo.com>
8569 * gst/gstbin.c: (gst_bin_element_set_state):
8570 * gst/gstclock.c: (gst_clock_id_wait):
8571 Added some more debug info.
8573 * libs/gst/base/gstadapter.c:
8576 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8577 (gst_base_sink_do_sync), (gst_base_sink_chain):
8578 Added some comments.
8580 2006-01-18 Wim Taymans <wim@fluendo.com>
8582 * tests/check/Makefile.am:
8583 * tests/check/elements/fakesink.c: (chain_async_buffer),
8584 (chain_async), (chain_async_return), (GST_START_TEST),
8585 (fakesink_suite), (main):
8586 Added fakesink test that checks prerolling and clipping
8589 * tests/check/gst/gstutils.c: (GST_START_TEST):
8590 Make check run faster so that buildbots don't timeout.
8592 2006-01-18 Wim Taymans <wim@fluendo.com>
8594 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8595 (gst_base_sink_do_sync):
8597 When the sink finishes blocking on the preroll buffer, it can
8598 immediatly render it instead of rendering when the next buffer
8601 2006-01-18 Wim Taymans <wim@fluendo.com>
8603 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
8604 (gst_base_sink_get_property), (gst_base_sink_do_sync),
8605 (gst_base_sink_chain):
8607 GST_ELEMENT_CLOCK and sync are protected with LOCK.
8608 Don't store _last_stop if the buffer is dropped.
8610 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
8612 * plugins/elements/gsttypefindelement.c:
8613 (gst_type_find_element_class_init):
8614 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
8615 object method handler that sets the caps on the pad and we want
8616 that to happen before we emit the signal (fixes e.g. feeding a
8617 plain text file to decodebin).
8619 2006-01-18 Christian Schaller <Christian@fluendo.com>
8621 * gst/gstplugin.c: Add MPL and Proprietary as license options
8623 2006-01-18 Andy Wingo <wingo@pobox.com>
8625 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
8626 symbol was exported before, it appears this was just an oversight.
8628 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
8630 * gst/gstindex.c (gst_index_add_associationv): Changed int in
8631 prototype to gint. OK since this prototype was not in the header.
8633 2006-01-17 Andy Wingo <wingo@pobox.com>
8635 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
8636 registry while we remove plugins.
8638 * tools/gst-inspect.c (print_element_info): Don't unref the
8639 factory arg, that should be the responsibility of whatever code
8640 received the ref. Fixes a double-free when called from
8641 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
8642 (main): Unref the factory if we have one.
8643 (print_element_list): No change -- relies on the
8644 plugin_feature_list_free to free the list of features.
8646 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
8648 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8649 (gst_buffer_make_metadata_writable):
8651 * libs/gst/base/gstbasetransform.c:
8652 (gst_base_transform_prepare_output_buf):
8653 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8654 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8655 Replace gst_buffer_(make|is)_metadata_writable patch now
8656 that the release is out.
8658 2006-01-17 Andy Wingo <wingo@pobox.com>
8660 * gst/gstregistry.c: Reflow design comment. Update so as to speak
8661 in the present tense without reference to versions.
8663 * gst/gstregistry.c (gst_registry_add_plugin)
8664 (gst_registry_remove_plugin, gst_registry_remove_feature)
8665 (gst_registry_find_feature, gst_registry_get_feature_list)
8666 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
8667 (gst_registry_lookup, gst_registry_scan_path)
8668 (_gst_registry_remove_cache_plugins)
8669 (gst_registry_get_feature_list_by_plugin): Add argument
8672 === release 0.10.2 ===
8674 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
8677 releasing 0.10.2, "If man is five"
8679 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
8683 * libs/gst/base/gstbasetransform.c:
8684 (gst_base_transform_prepare_output_buf):
8685 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8686 * tests/check/gst/gstbuffer.c: (gst_test_suite):
8687 Back out patch until after the release.
8689 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
8691 * gst/gstminiobject.c:
8692 Spelling fix in docs.
8693 * ChangeLog - remove conflict indicator
8695 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
8697 Reviewed By: Andy Wingo
8699 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8700 (gst_buffer_make_metadata_writable):
8702 Add gst_buffer_(is|make)_metadata_writable as analogues of
8703 gst_buffer_(is|make)_writable.
8705 * libs/gst/base/gstbasetransform.c:
8706 (gst_base_transform_prepare_output_buf):
8707 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8708 Use name gst_buffer_(is|make)_metadata_writable functions.
8710 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8711 Test gst_buffer_(is|make)_metadata_writable
8715 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
8717 * docs/manual/Makefile.am:
8718 don't do parallel make
8721 * win32/common/config.h.in:
8722 add generations for HOST_CPU and GST_MAJORMINOR
8723 * win32/common/config.h:
8724 commit generated result
8726 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
8728 * docs/manual/appendix-integration.xml:
8729 Update GNOME integration section to use gst_init_get_option_group()
8730 instead of the old popt stuff (#322911). Also, GNOME applications
8731 should now use gconf*sink and gconf*src instead of the old gconf
8734 2006-01-13 Stefan Kost <ensonic@users.sf.net>
8737 * docs/gst/gstreamer-docs.sgml:
8738 * docs/gst/gstreamer-sections.txt:
8739 * docs/libs/gstreamer-libs-sections.txt:
8740 add new API entries to the docs
8741 * libs/gst/controller/Makefile.am:
8742 * libs/gst/controller/gstcontroller.c:
8743 * libs/gst/controller/gstcontroller.h:
8744 * libs/gst/controller/gstcontrollerprivate.h:
8745 * libs/gst/controller/gsthelper.c:
8746 * libs/gst/controller/gstinterpolation.c:
8747 move private structs to private header
8749 gstreamer-0.7 -> gstreamer-0.10
8750 * tests/check/libs/struct_i386.h:
8751 remove private structs
8753 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
8755 * plugins/indexers/Makefile.am:
8756 Fixes as part of #317048
8758 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
8760 * plugins/indexers/Makefile.am:
8761 fix #316086 - compilation when mmap is missing
8763 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
8765 * libs/gst/base/gstbasesink.c:
8766 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
8767 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
8768 * win32/common/config.h:
8769 added some defines GST_MAJORMINOR and HOST_CPU
8770 * win32/common/libgstbase.def:
8771 * win32/common/libgstreamer.def:
8772 added some exported functions.
8774 2006-01-12 Stefan Kost <ensonic@users.sf.net>
8776 * libs/gst/controller/gstcontroller.c:
8777 (gst_controlled_property_set_interpolation_mode),
8778 (gst_controlled_property_new):
8779 * libs/gst/controller/gstcontroller.h:
8780 * libs/gst/controller/gstinterpolation.c:
8781 (interpolate_none_get_string_value_array):
8782 make G_TYPE_STRING controlable
8784 2006-01-12 Stefan Kost <ensonic@users.sf.net>
8787 * tools/gst-feedback.1.in:
8788 * tools/gst-inspect.1.in:
8789 * tools/gst-launch.1.in:
8790 * tools/gst-md5sum.1.in:
8791 * tools/gst-typefind.1.in:
8792 * tools/gst-xmlinspect.1.in:
8793 * tools/gst-xmllaunch.1.in:
8794 cleanup man-pages, remove reference to gst-register, document env-vars
8796 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
8798 * gst/gstbuffer.c: (gst_buffer_span):
8799 gst_buffer_span should copy the timestamp of the first buffer
8800 if they were both originally overlapping subbuffers of the
8801 same parent, using the same logic as the 'slow copy' case.
8803 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
8805 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
8806 Need to awaken ALL the pads when we pop a buffer, otherwise
8807 collectpads only works when there is 2 input streams.
8809 2006-01-11 Stefan Kost <ensonic@users.sf.net>
8811 * docs/random/ensonic/media-device-daemon.txt:
8814 fix doc example, add clarification
8815 * tools/gst-launch.1.in:
8816 add initial info about GST_PLUGIN_PATH, needs more work
8818 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
8820 * docs/manual/basics-bins.xml:
8821 * docs/manual/basics-elements.xml:
8822 * docs/manual/intro-basics.xml:
8823 Some more minor docs additions and updates.
8825 2006-01-11 Wim Taymans <wim@fluendo.com>
8827 * docs/manual/basics-bins.xml:
8828 * docs/manual/basics-elements.xml:
8829 Some small fixes as pointed out by Ser-ver on IRC.
8831 2006-01-10 Edward Hervey <edward@fluendo.com>
8833 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8834 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
8835 the single-segment mode.
8837 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
8839 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
8841 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
8842 (gst_base_src_perform_seek), (gst_base_src_send_event),
8843 (gst_base_src_set_property), (gst_base_src_get_property),
8844 (gst_base_src_loop), (gst_base_src_start),
8845 (gst_base_src_activate_push):
8846 * libs/gst/base/gstbasesrc.h:
8847 Name (private) union; makes Sun's Forte compiler happy (#324900).
8849 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
8852 gst-register is gone.
8854 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
8856 * gst/gstvalue.c: (_gst_value_initialize):
8857 make the G_TYPE_DATE instantiation work if debug is disabled
8859 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
8861 * gst/gstmessage.c: (gst_message_parse_tag),
8862 (gst_message_parse_error), (gst_message_parse_warning):
8863 Don't crash when return location for error/warning debug
8864 string is NULL; add fact that return locations can be
8865 NULL to docs where appropriate.
8867 2006-01-05 Wim Taymans <wim@fluendo.com>
8869 * gst/gstplugin.c: (gst_plugin_load_file):
8870 Replace strdup by g_strdup.
8872 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
8874 * docs/pwg/advanced-types.xml:
8877 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
8879 submitted by: Abel Cheung
8883 Added Chinese (traditional) translation
8885 2006-01-04 Wim Taymans <wim@fluendo.com>
8887 * docs/manual/basics-pads.xml:
8888 * docs/plugins/Makefile.am:
8889 * docs/plugins/gstreamer-plugins-docs.sgml:
8890 * docs/plugins/gstreamer-plugins-sections.txt:
8891 * docs/pwg/advanced-clock.xml:
8892 * docs/pwg/advanced-scheduling.xml:
8893 * docs/pwg/advanced-types.xml:
8894 * plugins/elements/gstfdsink.c:
8895 * plugins/elements/gstfdsrc.c:
8896 * plugins/elements/gstfdsrc.h:
8897 * plugins/elements/gstidentity.c: (gst_identity_class_init):
8898 * plugins/elements/gstidentity.h:
8899 * plugins/elements/gstqueue.h:
8900 * plugins/elements/gsttee.c:
8901 * plugins/elements/gsttee.h:
8902 * plugins/elements/gsttypefindelement.c:
8903 (gst_type_find_element_class_init):
8904 * plugins/elements/gsttypefindelement.h:
8905 Small updates to various docs.
8906 Added core plugins to docs.
8908 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
8911 add a suppression for liboil's uninitialized variable
8913 2006-01-02 James Livingston <jrl at ids dot org dot au>
8915 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
8918 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
8919 macro, so that gcc doesn't complain if the -Wmissing-prototypes
8920 compiler switch is being used (#325429).
8922 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
8924 * gst/gstbin.c: (gst_bin_query):
8925 Disable duration query caching in bins until it gets
8926 fixed (see #324807).
8928 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
8930 * tools/gst-inspect.c: (print_element_properties_info):
8931 Handle properties of POINTER and BOXED type.
8933 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
8935 * gst/gst.c: (init_post):
8936 Init tags stuff and some other things before loading
8937 any static plugins (there may be other static plugins
8938 than just the GStreamer ones, and they may want to
8939 register their own tags or formats or whatever, and
8940 preferably without segfaulting).
8942 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
8943 Print at least a warning in the debug logs if we drop a
8944 query just because we don't know how to adjust the value
8945 in the particular format.
8947 2005-12-24 David Schleef <ds@schleef.org>
8949 * tools/gstreamer-completion:
8950 Replacement for gst-complete written in sh and sed. Only
8951 completes names of features, but that's 90% of what I want
8952 it for. Properties are not available in registry.xml. (Maybe
8955 === release 0.10.1 ===
8957 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
8960 releasing 0.10.1, "Nollaig chridheil"
8962 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
8965 Add missing quote, should be make ERROR_CFLAGS="".
8967 2005-12-20 Wim Taymans <wim@fluendo.com>
8969 * docs/design/part-trickmodes.txt:
8970 More documentation on trickmodes.
8972 2005-12-20 Edward Hervey <edward@fluendo.com>
8974 * gst/gstcaps.c: (gst_static_caps_get_type):
8976 API addition: GST_TYPE_STATIC_CAPS
8977 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
8978 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
8979 * gst/gstpadtemplate.h:
8980 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
8981 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
8984 2005-12-18 Wim Taymans <wim@fluendo.com>
8986 * libs/gst/base/gstadapter.c:
8987 * libs/gst/base/gstadapter.h:
8988 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8989 (gst_base_sink_get_position):
8990 * libs/gst/base/gstbasesink.h:
8991 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8992 (gst_base_src_default_query), (gst_base_src_default_do_seek),
8993 (gst_base_src_do_seek), (gst_base_src_perform_seek),
8994 (gst_base_src_send_event), (gst_base_src_update_length),
8995 (gst_base_src_get_range), (gst_base_src_loop),
8996 (gst_base_src_start):
8997 * libs/gst/base/gstbasesrc.h:
8998 * libs/gst/base/gstbasetransform.h:
8999 * libs/gst/base/gstcollectpads.h:
9000 * libs/gst/base/gstpushsrc.c:
9001 * libs/gst/base/gstpushsrc.h:
9002 * libs/gst/dataprotocol/dataprotocol.c:
9003 * libs/gst/dataprotocol/dataprotocol.h:
9004 * libs/gst/net/gstnetclientclock.h:
9005 * libs/gst/net/gstnettimeprovider.h:
9006 Documentation updates.
9008 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
9010 * docs/manual/basics-helloworld.xml:
9011 Remove superfluous closing bracket in helloworld example.
9013 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
9015 * tools/gst-launch.1.in:
9016 Update gst-launch man page; add a section with useful
9017 environment variables. Fixes #323882.
9019 2005-12-16 Stefan Kost <ensonic@users.sf.net>
9022 * gst/gst_private.h:
9023 change some char* into char[]
9025 2005-12-16 Wim Taymans <wim@fluendo.com>
9027 * gst/gstregistryxml.c: (load_feature):
9029 Don't use g_object_unref on GstObjects so that we avoid
9030 leaks on unsafe glibs.
9032 2005-12-16 Wim Taymans <wim@fluendo.com>
9034 * gst/gstbin.c: (gst_bin_recalc_state):
9037 2005-12-16 Wim Taymans <wim@fluendo.com>
9040 Added make forever target for check.
9042 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
9044 * gst/gst.c: (init_post):
9045 make the registry cache file HOST_CPU-dependent
9047 2005-12-16 Andy Wingo <wingo@pobox.com>
9049 * plugins/elements/gstbufferstore.c
9050 (gst_buffer_store_cleared_func): Pay attention to g_list_append
9053 * tests/check/gst/gstobject.c
9054 (test_fake_object_name_threaded_unique): Pay attention to
9055 g_list_sort return value.
9057 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
9059 * tools/gst-feedback-m.m:
9060 Update for 0.9/0.10 (fixes #323870).
9062 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
9064 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9065 Fix lcopy for mini objects, the mini object needs to be ref'ed.
9067 * tests/check/gst/gstminiobject.c: (my_foo_init),
9068 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9069 (test_value_collection), (gst_mini_object_suite):
9070 Add test to ensure refcounts end up as expected when passing
9071 GstMiniObjects through g_object_get() and g_object_set().
9073 2005-12-14 Julien MOUTTE <julien@moutte.net>
9075 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9076 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9077 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9078 of collectpads. This version removes a lot of races without
9079 touching API/ABI. Yay !
9081 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
9083 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9084 Don't allow activation of a srcpad in pull_range if it has no
9086 Change some debug statements to be a little clearer
9088 * plugins/elements/gsttypefindelement.c:
9089 (gst_type_find_handle_src_query):
9090 Check that we have a peer before executing queries thereupon.
9092 * tests/examples/metadata/read-metadata.c: (message_loop):
9093 Use gst_bus_pop instead of gst_bus_poll when we just want it to
9094 immediately return us any available message with 0 timeout.
9096 2005-12-12 Michael Smith <msmith@fluendo.com>
9098 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9099 Don't unref factories after calling them.
9100 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9101 * plugins/elements/gsttypefindelement.c:
9102 (gst_type_find_element_chain):
9103 Free lists of factories after using them. Fixing typefinding memory
9106 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9108 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9109 (gst_plugin_feature_load):
9110 more meaningful debug output
9112 * tests/Makefile.am:
9113 * tests/old/examples/Makefile.am:
9114 make make distcheck happy again
9116 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
9118 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9119 Catch the special case where we are operating chain-based,
9120 but the downstream peer pad has no chain function. Emit a
9121 custom error message in this case instead of letting the
9122 core generate one implying that this is some sort of core
9123 bug. It's not, it just means that whatever got plugged
9124 into the pipeline downstream when we announced the type
9125 can only operate pull-based, while our source can only
9126 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9127 Error string has not been marked for translation yet, as
9128 it probably needs some more work first.
9130 (gst_type_find_element_get_best_possibility):
9131 Add helper function to find the best of all available
9132 found possibilities that qualify given the min. threshold.
9134 (gst_type_find_element_handle_event):
9135 Fix the case where we get an EOS while still in TYPEFIND
9136 mode (we want to chose the best of all possible types,
9137 not just the first type that happens to be in our unsorted
9138 list of possible types).
9140 (gst_type_find_element_chain):
9141 Make sure we return GST_FLOW_ERROR when we errored out
9142 in stop_typefinding(); also, don't just find the best of
9143 all found type entries and then use the last examined
9144 type entry, but actually use the best entry.
9146 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
9148 * tests/examples/typefind/typefind.c: (type_found):
9149 * tests/examples/xml/runxml.c: (xml_loaded):
9150 More gcc4 fixes and a mem leak fix.
9152 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9154 * tests/examples/xml/createxml.c: (object_saved):
9157 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9159 * tests/Makefile.am:
9160 enable the examples even more
9162 2005-12-12 Andy Wingo <wingo@pobox.com>
9164 * libs/gst/net/gstnettimeprovider.c
9165 (gst_net_time_provider_class_init, gst_net_time_provider_init)
9166 (gst_net_time_provider_set_property)
9167 (gst_net_time_provider_get_property):
9168 API addition: Export "active" as a GObject property.
9169 (gst_net_time_provider_thread): Only respond to time queries if
9170 the time provider is active.
9172 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9173 NetTimeProvider, preserving binary compat.
9175 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9177 * tests/examples/controller/audio-example.c: (main):
9178 * tests/examples/launch/Makefile.am:
9179 convert comments again
9181 2005-12-12 Wim Taymans <wim@fluendo.com>
9183 * libs/gst/base/gstpushsrc.c:
9186 2005-12-12 Wim Taymans <wim@fluendo.com>
9188 * docs/libs/gstreamer-libs-sections.txt:
9189 Added new symbol to docs.
9191 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9192 (gst_base_src_init), (gst_base_src_set_format),
9193 (gst_base_src_default_query), (gst_base_src_query),
9194 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9195 (gst_base_src_perform_seek), (gst_base_src_send_event),
9196 (gst_base_src_default_event), (gst_base_src_event_handler),
9197 (gst_base_src_set_property), (gst_base_src_get_property),
9198 (gst_base_src_wait), (gst_base_src_do_sync),
9199 (gst_base_src_update_length), (gst_base_src_get_range),
9200 (gst_base_src_check_get_range), (gst_base_src_loop),
9201 (gst_base_src_default_negotiate), (gst_base_src_start),
9202 (gst_base_src_activate_push), (gst_base_src_activate_pull),
9203 (gst_base_src_change_state):
9204 * libs/gst/base/gstbasesrc.h:
9205 Implement seeking to other formats than _BYTES.
9206 Implement more seeking methods correctly.
9208 Added query vmethod.
9209 Added do_seek vmethod to make life easier for subclasses
9211 API addition: gst_base_src_set_format()
9213 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9215 * tests/examples/Makefile.am:
9218 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9221 * docs/random/ensonic/media-device-daemon.txt:
9222 * tests/examples/controller/.cvsignore:
9223 * tests/examples/controller/Makefile.am:
9224 * tests/examples/controller/audio-example.c: (main):
9225 * tests/examples/helloworld/.cvsignore:
9226 * tests/examples/helloworld/Makefile.am:
9227 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9228 * tests/examples/launch/.cvsignore:
9229 * tests/examples/launch/Makefile.am:
9230 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9231 * tests/examples/metadata/.cvsignore:
9232 * tests/examples/metadata/Makefile.am:
9233 * tests/examples/metadata/read-metadata.c: (message_loop),
9234 (make_pipeline), (print_tag), (main):
9235 * tests/examples/queue/.cvsignore:
9236 * tests/examples/queue/Makefile.am:
9237 * tests/examples/queue/queue.c: (event_loop), (main):
9238 * tests/examples/typefind/.cvsignore:
9239 * tests/examples/typefind/Makefile.am:
9240 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9242 * tests/examples/xml/.cvsignore:
9243 * tests/examples/xml/Makefile.am:
9244 * tests/examples/xml/createxml.c: (object_saved), (main):
9245 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9246 * tests/old/examples/Makefile.am:
9247 * tests/old/examples/TODO:
9248 * tests/old/examples/controller/.cvsignore:
9249 * tests/old/examples/controller/Makefile.am:
9250 * tests/old/examples/controller/audio-example.c:
9251 * tests/old/examples/helloworld/.cvsignore:
9252 * tests/old/examples/helloworld/Makefile.am:
9253 * tests/old/examples/helloworld/helloworld.c:
9254 * tests/old/examples/launch/.cvsignore:
9255 * tests/old/examples/launch/Makefile.am:
9256 * tests/old/examples/launch/mp3parselaunch.c:
9257 * tests/old/examples/launch/mp3play:
9258 * tests/old/examples/manual/Makefile.am:
9259 * tests/old/examples/metadata/Makefile.am:
9260 * tests/old/examples/metadata/read-metadata.c:
9261 * tests/old/examples/queue/.cvsignore:
9262 * tests/old/examples/queue/Makefile.am:
9263 * tests/old/examples/queue/queue.c:
9264 * tests/old/examples/typefind/.cvsignore:
9265 * tests/old/examples/typefind/Makefile.am:
9266 * tests/old/examples/typefind/typefind.c:
9267 * tests/old/examples/xml/.cvsignore:
9268 * tests/old/examples/xml/Makefile.am:
9269 * tests/old/examples/xml/createxml.c:
9270 * tests/old/examples/xml/runxml.c:
9271 applied some simple fixing to some examples
9272 re-enabled the working examples
9274 2005-12-12 Wim Taymans <wim@fluendo.com>
9276 * gst/gstsegment.c: (gst_segment_init),
9277 (gst_segment_set_last_stop), (gst_segment_set_seek),
9278 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9279 (gst_segment_to_running_time):
9280 Added more documentation.
9281 Make sure the last_pos value is updated properly.
9282 Make sure to_stream_time and to_running_time don't
9283 operate on wrong values.
9285 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9288 2005-12-12 Michael Smith <msmith@fluendo.com>
9290 * plugins/elements/gsttypefindelement.c: (free_entry),
9291 (gst_type_find_element_chain):
9292 Now that we're not leaking factories, make sure we keep references
9293 to them while we need them.
9295 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
9297 * tests/check/gst/struct_i386.h:
9298 ifdef out the XML structs
9300 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
9302 * gst/gstvalue.c: (gst_value_transform_double_fraction):
9303 floor is not needed, F is always positive; this obviates the
9304 need for adding -lm when building without libxml
9306 2005-12-12 Wim Taymans <wim@fluendo.com>
9308 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9309 Take current playback rate into account when reporting
9312 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9314 * docs/manual/mime-world.fig:
9315 Let's try this again, this time with a file that is
9316 actually in XFig format.
9318 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9320 * docs/manual/mime-world.fig:
9321 Add audioconvert element to diagram so that it
9322 matches the text and the code (fixes #319526).
9324 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9326 * docs/pwg/building-chainfn.xml:
9327 * docs/pwg/building-pads.xml:
9328 * docs/pwg/building-state.xml:
9329 * docs/pwg/other-source.xml:
9330 Update state change stuff for 0.10 (fixes #322969).
9332 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9334 * docs/manual/advanced-dataaccess.xml:
9335 * docs/manual/appendix-checklist.xml:
9336 * docs/manual/appendix-programs.xml:
9337 * docs/manual/basics-pads.xml:
9338 * docs/manual/highlevel-components.xml:
9339 * docs/manual/manual.xml:
9340 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9341 add converters in front of pipelines; remove curly
9342 brackets for threads stuff, they no longer exist; use
9343 GST_TYPE_FRACTION for framerates; update some pieces of
9344 code to 0.10, but there's plenty more to do.
9346 * docs/manual/appendix-porting.xml:
9347 Expand on asynchroneous state changes; s/0.9/0.10/;
9348 mention disappearance of gst_init_get_popt_table()
9351 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9353 * docs/faq/using.xml:
9354 Spider no longer exists, and neither does gst-launch-ext.
9355 Update examples to use decodebin and playbin and put
9356 converters in front of sinks (fixes #323726).
9358 2005-12-09 Michael Smith <msmith@fluendo.com>
9360 * plugins/elements/gsttypefindelement.c: (find_peek),
9361 (gst_type_find_element_chain):
9362 Fix leaking element factories in typefinding.
9363 Fix problem where we forgot about a probable type on non-seekable
9364 files, and thus later mis-typefound it.
9366 2005-12-09 Michael Smith <msmith@fluendo.com>
9368 * common/m4/gst-makecontext.m4:
9369 * common/m4/gst-mcsc.m4:
9371 * win32/common/config.h:
9372 * win32/common/config.h.in:
9373 Remove makecontext stuff; not used in 0.10 and causes problems on
9374 HPUX according to bug #322441
9376 2005-12-07 Wim Taymans <wim@fluendo.com>
9378 * tests/check/Makefile.am:
9379 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9381 * tests/check/libs/struct_i386.h:
9382 Added ABI check for libs
9384 2005-12-07 Wim Taymans <wim@fluendo.com>
9386 * tests/check/Makefile.am:
9387 And add the struct_i386.h to dist.
9389 2005-12-07 Wim Taymans <wim@fluendo.com>
9391 * tests/check/Makefile.am:
9392 * tests/check/gst/.cvsignore:
9393 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9395 * tests/check/gst/struct_i386.h:
9396 Added check for ABI compatibility.
9398 2005-12-07 Wim Taymans <wim@fluendo.com>
9400 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9401 (gst_fake_src_get_times), (gst_fake_src_create):
9402 Fix broken sync option, fixes #323259
9404 2005-12-07 Wim Taymans <wim@fluendo.com>
9409 * gst/gstcaps.c: (gst_caps_is_equal):
9410 Don't assert on NULL <--> X. Fixes #323260
9412 * gst/gstminiobject.c: (gst_mini_object_replace):
9413 If we're doing atomic operations, we might just as well use
9414 the proper way to get an atomic pointer.
9416 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9419 2005-12-07 Michael Smith <msmith@fluendo.com>
9421 * gst/parse/grammar.y:
9422 Remove handling of { } for threads.
9424 2005-12-06 David Schleef <ds@schleef.org>
9426 * libs/gst/base/gstbasetransform.c: speling fix.
9428 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
9430 * docs/libs/tmpl/gstdataprotocol.sgml:
9431 * docs/random/omega/testing/gstobject.c:
9435 * gst/gstelementfactory.c:
9438 * gst/gstghostpad.c:
9440 * gst/gstpadtemplate.c:
9441 * gst/gstregistryxml.c:
9443 * gst/gsttagsetter.c:
9444 * gst/gsttypefind.c:
9446 * libs/gst/base/gstbasesrc.c:
9447 * libs/gst/net/gstnetclientclock.c:
9448 * libs/gst/net/gstnettimeprovider.c:
9449 * plugins/elements/gstfakesrc.c:
9450 * plugins/elements/gstfdsrc.c:
9451 * plugins/elements/gstfilesrc.c:
9452 * plugins/elements/gstidentity.c:
9453 * plugins/elements/gstqueue.c:
9454 * plugins/elements/gsttypefindelement.c:
9455 * plugins/indexers/gstfileindex.c:
9456 * plugins/indexers/gstmemindex.c:
9457 * tests/check/gst/gsttag.c:
9458 * tests/old/examples/cutter/cutter.c:
9459 * tests/old/examples/mixer/mixer.c:
9460 * tests/old/examples/xml/runxml.c: (main):
9461 * tests/old/testsuite/caps/normalisation.c:
9462 * tests/old/testsuite/debug/global.c:
9463 * tests/old/testsuite/parse/parse1.c:
9464 * tools/gst-xmlinspect.c:
9465 * win32/common/dirent.c:
9468 === release 0.10.0 ===
9470 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9473 releasing 0.10.0, "Maroilles"
9475 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
9477 submitted by: Funda Wang <fundawang@linux.net.cn>
9481 added Chinese (Traditional) translation
9483 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
9485 * docs/gst/gstreamer-sections.txt:
9486 * docs/libs/tmpl/gstdataprotocol.sgml:
9487 * docs/random/thomasvs/TODO:
9492 2005-12-05 Andy Wingo <wingo@pobox.com>
9494 patch by: Wim Taymans <wim@fluendo.com>
9496 * libs/gst/base/gstbasetransform.c
9497 (gst_base_transform_prepare_output_buf)
9498 (gst_base_transform_buffer_alloc):
9499 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
9500 alloc_buffer_and_set_caps.
9502 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
9503 set_caps on the source pad.
9504 (gst_pad_alloc_buffer_and_set_caps): New function, does what
9505 alloc_buffer used to do. Fixes #322874.
9507 * docs/gst/gstreamer-sections.txt:
9508 * docs/design/part-negotiation.txt:
9509 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
9512 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
9514 patch by: Sebastien Moutte
9517 * win32/common/config.h.in:
9518 * win32/vs6/libgstcontroller.dsp:
9521 2005-12-05 Wim Taymans <wim@fluendo.com>
9523 * gst/gstcaps.c: (gst_caps_is_equal):
9524 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9525 (gst_fake_src_create):
9526 Back out previous code changes, leave doc updates, file bugs
9529 2005-12-05 Wim Taymans <wim@fluendo.com>
9531 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9532 (gst_fake_src_get_times), (gst_fake_src_create):
9533 * plugins/elements/gstfakesrc.h:
9534 Fix broken sync code.
9536 2005-12-05 Wim Taymans <wim@fluendo.com>
9538 * gst/gstcaps.c: (gst_caps_is_equal):
9539 Comparing NULL against !NULL yields different caps, not a
9542 2005-12-05 Wim Taymans <wim@fluendo.com>
9544 * gst/gstpipeline.c:
9545 Fix small typo in docs.
9547 2005-12-05 Andy Wingo <wingo@pobox.com>
9549 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
9551 * gst/gst.c (init_post): remove hard-coded 0.9 location for
9552 registries/plugins with a MAJORMINOR one.
9553 (plugin_desc): Rename library from gstcoreleements to
9554 staticelements. Fixes #323222.
9556 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
9558 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
9559 Change debug category to 'collectpads' from 'collect_pads'
9562 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
9564 patch by: Sebastien Moutte
9566 * libs/gst/controller/gstinterpolation.c:
9567 use convert function for uint64/double
9568 * win32/vs6/libgstcontroller.dsp:
9571 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
9573 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
9574 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
9576 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9577 add tests that seem to show that the guint64/gdouble conversions
9580 2005-12-02 Wim Taymans <wim@fluendo.com>
9582 * gst/gstregistry.c: (gst_registry_add_path):
9583 * gst/gstregistry.h:
9584 * gst/gstregistryxml.c:
9587 2005-12-02 Wim Taymans <wim@fluendo.com>
9589 * gst/gstutils.c: (gst_util_uint64_scale_int64),
9590 (gst_util_uint64_scale_int):
9593 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9596 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
9599 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
9602 * win32/common/config.h:
9603 * win32/vs6/gstreamer.dsw:
9604 * win32/vs6/libgstcoreelements.dsp:
9605 * win32/vs6/libgstelements.dsp:
9606 renamed core elements plugin
9608 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
9610 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
9612 do piece-wise major/minor comparison so 0.9 < 0.10
9613 also allow .exe extensions for tools
9615 2005-12-02 Michael Smith <msmith@fluendo.com>
9618 Escape a % to make gtkdoc happier; bug 322958.
9620 === release 0.9.7 ===
9622 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9625 releasing 0.9.7, "My Dog Has No Nose"
9627 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9629 * common/gst-xmlinspect.py:
9631 * docs/libs/tmpl/gstdataprotocol.sgml:
9632 * docs/random/release:
9651 * win32/common/config.h:
9652 * win32/common/config.h.in:
9653 * win32/vs6/gst_inspect.dsp:
9654 * win32/vs6/gst_launch.dsp:
9655 * win32/vs6/libgstbase.dsp:
9656 * win32/vs6/libgstelements.dsp:
9657 * win32/vs6/libgstreamer.dsp:
9658 * win32/vs7/GStreamer.vcproj:
9659 * win32/vs7/gst-inspect.vcproj:
9660 * win32/vs7/gst-launch.vcproj:
9661 * win32/vs7/libgstbase.vcproj:
9662 bump GST_MAJORMINOR to 0.10
9663 reset libtool version
9665 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9669 Added Bulgarian translation by (Alexander Shopov)
9671 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9673 * tests/check/gst/gstplugin.c:
9676 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9678 * common/gst-xmlinspect.py:
9679 * common/gtk-doc-plugins.mak:
9682 * docs/gst/Makefile.am:
9683 * docs/gst/gstreamer-docs.sgml:
9684 * docs/gst/gstreamer-sections.txt:
9685 * docs/gst/gstreamer.types:
9686 * docs/gst/gstreamer.types.in:
9687 * docs/plugins/Makefile.am:
9688 * docs/plugins/gstreamer-plugins-docs.sgml:
9689 * docs/plugins/gstreamer-plugins-sections.txt:
9690 * docs/plugins/gstreamer-plugins.types:
9691 * docs/plugins/inspect.stamp:
9692 * docs/plugins/inspect/plugin-coreelements.xml:
9693 * docs/plugins/inspect/plugin-coreindexers.xml:
9694 * docs/plugins/scanobj-build.stamp:
9695 * gstreamer.spec.in:
9696 * plugins/elements/Makefile.am:
9697 * plugins/elements/gstelements.c:
9698 * plugins/elements/gstfakesink.c:
9699 * plugins/elements/gstfakesrc.c:
9700 * plugins/elements/gstfilesink.c:
9701 * plugins/elements/gstfilesrc.c:
9702 * plugins/elements/gstqueue.c:
9703 * plugins/indexers/Makefile.am:
9704 * plugins/indexers/gstindexers.c:
9705 document core plugins in a separate document just like all the
9707 rename these plugins to something starting with core
9709 2005-12-01 Andy Wingo <wingo@pobox.com>
9711 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
9712 padding here before, but it missed the commit.
9714 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
9716 * libs/gst/controller/gstinterpolation.c:
9717 whitespace prices have crashed, we should feel free to use some now
9718 use gst_guint64_to_gdouble
9720 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
9722 * libs/gst/controller/gstcontroller.c:
9723 * libs/gst/controller/gsthelper.c:
9724 * libs/gst/controller/gstinterpolation.c:
9725 * libs/gst/controller/lib.c:
9726 wrap config.h include
9728 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
9730 * docs/gst/gstreamer-sections.txt:
9733 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
9735 * plugins/elements/gstelements.c:
9736 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
9737 (gst_fd_sink__class_init), (gst_fd_sink__init),
9738 (gst_fd_sink__chain), (gst_fd_sink__set_property),
9739 (gst_fd_sink__get_property):
9740 * plugins/elements/gstfdsink.h:
9741 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
9742 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
9743 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
9744 (gst_fd_src_unlock), (gst_fd_src_set_property),
9745 (gst_fd_src_get_property), (gst_fd_src_create),
9746 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
9747 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
9748 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
9749 (gst_fd_src_uri_handler_init):
9750 * plugins/elements/gstfdsrc.h:
9751 * plugins/elements/gstqueue.c: (gst_queue_get_type):
9754 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9756 * docs/gst/Makefile.am:
9757 * docs/gst/gstreamer.types.in:
9761 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9767 * gst/gstregistry.h:
9768 * tests/benchmarks/complexity.c:
9769 * tests/benchmarks/mass-elements.c:
9770 * tests/check/Makefile.am:
9771 * tools/Makefile.am:
9772 * tools/gst-inspect.c:
9773 * tools/gst-xmlinspect.c:
9774 various fixes to make
9775 --disable-nls --disable-registry --disable-loadsave
9776 --disable-parse --disable-gst-debug
9777 work and get the core .so down to 360444 bytes after stripping
9779 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9784 * docs/random/thomasvs/TODO:
9785 * tests/Makefile.am:
9789 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9791 * win32/GStreamer.vcproj:
9794 * win32/Makefile.inspect:
9795 * win32/Makefile.launch:
9796 * win32/Makefile.register:
9798 * win32/gst-inspect.vcproj:
9799 * win32/gst-launch.vcproj:
9800 * win32/gst-register.vcproj:
9801 * win32/gstelements.vcproj:
9802 * win32/gstgetbits.def:
9803 * win32/gstgetbits.vcproj:
9804 * win32/gstreamer-dbg.def:
9805 * win32/gstreamer.def:
9806 * win32/libgstbase.def:
9807 * win32/libgstbase.vcproj:
9808 * win32/link_oldruntime.c:
9813 move even more stuff, win32/ is nice and clean now
9815 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9817 * libs/gst/control/.cvsignore:
9822 * win32/gstbytestream.def:
9823 * win32/gstbytestream.vcproj:
9824 * win32/gstconfig.h:
9825 * win32/gstenumtypes.c:
9826 * win32/gstenumtypes.h:
9827 * win32/gstoptimalscheduler.vcproj:
9828 * win32/gstversion.h:
9830 * win32/testsuite/bins.vcproj:
9831 * win32/testsuite/bytestream.vcproj:
9832 * win32/testsuite/caps.vcproj:
9833 * win32/testsuite/cleanup.vcproj:
9834 * win32/testsuite/clock.vcproj:
9835 * win32/testsuite/debug.vcproj:
9836 * win32/testsuite/dlopen.vcproj:
9837 * win32/testsuite/dynparams.vcproj:
9838 * win32/testsuite/elements.vcproj:
9839 * win32/testsuite/ghostpads.vcproj:
9840 * win32/testsuite/indexers.vcproj:
9841 * win32/testsuite/negotiation.vcproj:
9842 * win32/testsuite/parse.vcproj:
9843 * win32/testsuite/plugin.vcproj:
9844 * win32/testsuite/refcounting.vcproj:
9845 * win32/testsuite/schedulers.vcproj:
9846 * win32/testsuite/states.vcproj:
9847 * win32/testsuite/tags.vcproj:
9848 * win32/testsuite/threads.vcproj:
9849 remove old win32 stuff that isn't maintained and should be
9852 2005-11-30 Andy Wingo <wingo@pobox.com>
9854 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
9855 loading the gst.interfaces python module bork.
9857 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
9858 available since GLib 2.2. Fixes #318031.
9860 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9864 * check/Makefile.am:
9865 * check/elements/.cvsignore:
9866 * check/elements/fakesrc.c:
9867 * check/elements/fdsrc.c:
9868 * check/elements/identity.c:
9869 * check/generic/.cvsignore:
9870 * check/generic/states.c:
9871 * check/gst-libs/.cvsignore:
9872 * check/gst-libs/controller.c:
9873 * check/gst-libs/gdp.c:
9874 * check/gst/.cvsignore:
9875 * check/gst/capslist.h:
9877 * check/gst/gstbin.c:
9878 * check/gst/gstbuffer.c:
9879 * check/gst/gstbus.c:
9880 * check/gst/gstcaps.c:
9881 * check/gst/gstelement.c:
9882 * check/gst/gstevent.c:
9883 * check/gst/gstghostpad.c:
9884 * check/gst/gstiterator.c:
9885 * check/gst/gstmessage.c:
9886 * check/gst/gstminiobject.c:
9887 * check/gst/gstobject.c:
9888 * check/gst/gstpad.c:
9889 * check/gst/gstpipeline.c:
9890 * check/gst/gstplugin.c:
9891 * check/gst/gstsegment.c:
9892 * check/gst/gststructure.c:
9893 * check/gst/gstsystemclock.c:
9894 * check/gst/gsttag.c:
9895 * check/gst/gstutils.c:
9896 * check/gst/gstvalue.c:
9897 * check/net/.cvsignore:
9898 * check/net/gstnetclientclock.c:
9899 * check/net/gstnettimeprovider.c:
9900 * check/pipelines/.cvsignore:
9901 * check/pipelines/cleanup.c:
9902 * check/pipelines/simple_launch_lines.c:
9903 * check/pipelines/stress.c:
9904 * check/states/.cvsignore:
9905 * check/states/sinks.c:
9907 * examples/Makefile.am:
9908 * examples/appreader/.cvsignore:
9909 * examples/appreader/Makefile.am:
9910 * examples/appreader/appreader.c:
9911 * examples/controller/.cvsignore:
9912 * examples/controller/Makefile.am:
9913 * examples/controller/audio-example.c:
9914 * examples/cutter/.cvsignore:
9915 * examples/cutter/Makefile.am:
9916 * examples/cutter/cutter.c:
9917 * examples/cutter/cutter.h:
9918 * examples/events/Makefile.am:
9919 * examples/events/seek.c:
9920 * examples/helloworld/.cvsignore:
9921 * examples/helloworld/Makefile.am:
9922 * examples/helloworld/helloworld.c:
9923 * examples/helloworld2/.cvsignore:
9924 * examples/helloworld2/Makefile.am:
9925 * examples/helloworld2/helloworld2.c:
9926 * examples/launch/.cvsignore:
9927 * examples/launch/Makefile.am:
9928 * examples/launch/mp3parselaunch.c:
9929 * examples/launch/mp3play:
9930 * examples/manual/.cvsignore:
9931 * examples/manual/Makefile.am:
9932 * examples/manual/extract.pl:
9933 * examples/metadata/Makefile.am:
9934 * examples/metadata/read-metadata.c:
9935 * examples/mixer/.cvsignore:
9936 * examples/mixer/Makefile.am:
9937 * examples/mixer/mixer.c:
9938 * examples/mixer/mixer.h:
9939 * examples/pingpong/.cvsignore:
9940 * examples/pingpong/Makefile.am:
9941 * examples/pingpong/pingpong.c:
9942 * examples/plugins/.cvsignore:
9943 * examples/plugins/Makefile.am:
9944 * examples/plugins/example.c:
9945 * examples/plugins/example.h:
9946 * examples/pwg/.cvsignore:
9947 * examples/pwg/Makefile.am:
9948 * examples/pwg/extract.pl:
9949 * examples/queue/.cvsignore:
9950 * examples/queue/Makefile.am:
9951 * examples/queue/queue.c:
9952 * examples/queue2/.cvsignore:
9953 * examples/queue2/Makefile.am:
9954 * examples/queue2/queue2.c:
9955 * examples/queue3/.cvsignore:
9956 * examples/queue3/Makefile.am:
9957 * examples/queue3/queue3.c:
9958 * examples/queue4/.cvsignore:
9959 * examples/queue4/Makefile.am:
9960 * examples/queue4/queue4.c:
9961 * examples/retag/.cvsignore:
9962 * examples/retag/Makefile.am:
9963 * examples/retag/retag.c:
9964 * examples/retag/transcode.c:
9965 * examples/thread/.cvsignore:
9966 * examples/thread/Makefile.am:
9967 * examples/thread/thread.c:
9968 * examples/typefind/.cvsignore:
9969 * examples/typefind/Makefile.am:
9970 * examples/typefind/typefind.c:
9971 * examples/xml/.cvsignore:
9972 * examples/xml/Makefile.am:
9973 * examples/xml/createxml.c:
9974 * examples/xml/runxml.c:
9975 * tests/Makefile.am:
9976 * tests/check/Makefile.am:
9977 * testsuite/.cvsignore:
9978 * testsuite/Makefile.am:
9980 * testsuite/caps/.cvsignore:
9981 * testsuite/caps/Makefile.am:
9982 * testsuite/caps/app_fixate.c:
9983 * testsuite/caps/audioscale.c:
9984 * testsuite/caps/caps.c:
9985 * testsuite/caps/caps.h:
9986 * testsuite/caps/caps_strings:
9987 * testsuite/caps/compatibility.c:
9988 * testsuite/caps/deserialize.c:
9989 * testsuite/caps/enumcaps.c:
9990 * testsuite/caps/eratosthenes.c:
9991 * testsuite/caps/filtercaps.c:
9992 * testsuite/caps/fixed.c:
9993 * testsuite/caps/fraction-convert.c:
9994 * testsuite/caps/fraction-multiply-and-zero.c:
9995 * testsuite/caps/intersect2.c:
9996 * testsuite/caps/intersection.c:
9997 * testsuite/caps/normalisation.c:
9998 * testsuite/caps/random.c:
9999 * testsuite/caps/renegotiate.c:
10000 * testsuite/caps/sets.c:
10001 * testsuite/caps/simplify.c:
10002 * testsuite/caps/string-conversions.c:
10003 * testsuite/caps/structure.c:
10004 * testsuite/caps/subtract.c:
10005 * testsuite/caps/union.c:
10006 * testsuite/debug/.cvsignore:
10007 * testsuite/debug/Makefile.am:
10008 * testsuite/debug/category.c:
10009 * testsuite/debug/commandline.c:
10010 * testsuite/debug/global.c:
10011 * testsuite/debug/output.c:
10012 * testsuite/debug/printf_extension.c:
10013 * testsuite/dlopen/.cvsignore:
10014 * testsuite/dlopen/Makefile.am:
10015 * testsuite/dlopen/dlopen_gst.c:
10016 * testsuite/dlopen/loadgst.c:
10017 * testsuite/elements/.cvsignore:
10018 * testsuite/elements/Makefile.am:
10019 * testsuite/elements/gst-inspect-check.in:
10020 * testsuite/elements/struct_i386.h:
10021 * testsuite/elements/struct_size.c:
10022 * testsuite/indexers/.cvsignore:
10023 * testsuite/indexers/Makefile.am:
10024 * testsuite/indexers/cache1.c:
10025 * testsuite/indexers/indexdump.c:
10026 * testsuite/parse/.cvsignore:
10027 * testsuite/parse/Makefile.am:
10028 * testsuite/parse/parse1.c:
10029 * testsuite/parse/parse2.c:
10030 * testsuite/plugin/.cvsignore:
10031 * testsuite/plugin/Makefile.am:
10032 * testsuite/plugin/README:
10033 * testsuite/plugin/dynamic.c:
10034 * testsuite/plugin/linked.c:
10035 * testsuite/plugin/loading.c:
10036 * testsuite/plugin/registry.c:
10037 * testsuite/plugin/static.c:
10038 * testsuite/plugin/static2.c:
10039 * testsuite/plugin/testplugin.c:
10040 * testsuite/plugin/testplugin2.c:
10041 * testsuite/plugin/testplugin2_s.c:
10042 * testsuite/plugin/testplugin_s.c:
10043 * testsuite/refcounting/.cvsignore:
10044 * testsuite/refcounting/Makefile.am:
10045 * testsuite/refcounting/bin.c:
10046 * testsuite/refcounting/element.c:
10047 * testsuite/refcounting/element_pad.c:
10048 * testsuite/refcounting/mainloop.c:
10049 * testsuite/refcounting/mem.c:
10050 * testsuite/refcounting/mem.h:
10051 * testsuite/refcounting/object.c:
10052 * testsuite/refcounting/pad.c:
10053 * testsuite/refcounting/sched.c:
10054 * testsuite/refcounting/thread.c:
10055 * testsuite/states/.cvsignore:
10056 * testsuite/states/Makefile.am:
10057 * testsuite/states/bin.c:
10058 * testsuite/states/locked.c:
10059 * testsuite/states/parent.c:
10060 * testsuite/threads/.cvsignore:
10061 * testsuite/threads/159566.c:
10062 * testsuite/threads/159852.c:
10063 * testsuite/threads/Makefile.am:
10064 * testsuite/threads/queue.c:
10065 * testsuite/threads/signals.c:
10066 * testsuite/threads/staticrec.c:
10067 * testsuite/threads/thread.c:
10068 * testsuite/threads/threadb.c:
10069 * testsuite/threads/threadc.c:
10070 * testsuite/threads/threadd.c:
10071 * testsuite/threads/threade.c:
10072 * testsuite/threads/threadf.c:
10073 * testsuite/threads/threadg.c:
10074 * testsuite/threads/threadh.c:
10075 * testsuite/threads/threadi.c:
10076 move all of these under tests
10078 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10081 * tests/Makefile.am:
10084 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10086 * docs/gst/gstreamer-sections.txt:
10087 * tests/sched/.cvsignore:
10088 * tests/sched/Makefile.am:
10089 * tests/sched/cases/(fs-fs).xml:
10090 * tests/sched/cases/(fs-i-fs).xml:
10091 * tests/sched/cases/(fs-i-i-fs).xml:
10092 * tests/sched/cases/(fs-i-q[i-fs]).xml:
10093 * tests/sched/dynamic-pipeline.c:
10094 * tests/sched/interrupt1.c:
10095 * tests/sched/interrupt2.c:
10096 * tests/sched/interrupt3.c:
10097 * tests/sched/runtestcases:
10098 * tests/sched/runxml.c:
10099 * tests/sched/sched-stress.c:
10100 * tests/sched/sort.c:
10101 * tests/sched/testcases:
10102 * tests/sched/testcases1.tc:
10103 * tests/seeking/.cvsignore:
10104 * tests/seeking/Makefile.am:
10105 * tests/seeking/seeking1.c:
10106 * tests/threadstate/.cvsignore:
10107 * tests/threadstate/Makefile.am:
10108 * tests/threadstate/test1.c:
10109 * tests/threadstate/test2.c:
10110 * tests/threadstate/threadstate1.c:
10111 * tests/threadstate/threadstate2.c:
10112 * tests/threadstate/threadstate3.c:
10113 * tests/threadstate/threadstate4.c:
10114 * tests/threadstate/threadstate5.c:
10115 remove obsolete tests
10117 * tests/bench-complexity.scm:
10118 * tests/bench-mass_elements.scm:
10119 * tests/complexity.c:
10120 * tests/complexity.gnuplot:
10121 * tests/instantiate/.cvsignore:
10122 * tests/instantiate/Makefile.am:
10123 * tests/instantiate/caps.c:
10124 * tests/mass_elements.c:
10125 * tests/network-clock-utils.scm:
10126 * tests/network-clock.scm:
10128 First pass at cleaning up tests/ dir before moving the rest
10129 Combined with CVS surgery
10131 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10134 queue has moved, update
10136 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10138 * docs/gst/gstreamer-sections.txt:
10139 remove double entries from the docs
10140 * gst/gst_private.h:
10141 * gst/gstinfo.c: (_gst_debug_init):
10142 remove the THREAD debug category
10146 * docs/gst/gstreamer.types:
10147 * plugins/elements/gstqueue.c: (gst_queue_get_type),
10148 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10149 completely move queue and fix up debugging categories
10151 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10153 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10154 make initialization portable, using LL is not
10156 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10158 * win32/common/gstconfig.h:
10161 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10163 * win32/common/libgstreamer.def:
10164 rename symbols; sort base section
10166 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10168 * gst/gstclock.c: (do_linear_regression):
10169 remove crack non-portable handrolled DEBUG macro
10171 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10173 * docs/random/release:
10175 * win32/common/gstenumtypes.c: (register_gst_object_flags),
10176 (gst_object_flags_get_type), (register_gst_bin_flags),
10177 (gst_bin_flags_get_type), (register_gst_buffer_flag),
10178 (gst_buffer_flag_get_type), (register_gst_bus_flags),
10179 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10180 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10181 (gst_caps_flags_get_type), (register_gst_clock_return),
10182 (gst_clock_return_get_type), (register_gst_clock_entry_type),
10183 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10184 (gst_clock_flags_get_type), (register_gst_state),
10185 (gst_state_get_type), (register_gst_state_change_return),
10186 (gst_state_change_return_get_type), (register_gst_state_change),
10187 (gst_state_change_get_type), (register_gst_element_flags),
10188 (gst_element_flags_get_type), (register_gst_core_error),
10189 (gst_core_error_get_type), (register_gst_library_error),
10190 (gst_library_error_get_type), (register_gst_resource_error),
10191 (gst_resource_error_get_type), (register_gst_stream_error),
10192 (gst_stream_error_get_type), (register_gst_event_type_flags),
10193 (gst_event_type_flags_get_type), (register_gst_event_type),
10194 (gst_event_type_get_type), (register_gst_seek_type),
10195 (gst_seek_type_get_type), (register_gst_seek_flags),
10196 (gst_seek_flags_get_type), (register_gst_format),
10197 (gst_format_get_type), (register_gst_index_certainty),
10198 (gst_index_certainty_get_type), (register_gst_index_entry_type),
10199 (gst_index_entry_type_get_type),
10200 (register_gst_index_lookup_method),
10201 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10202 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10203 (gst_index_resolver_method_get_type), (register_gst_index_flags),
10204 (gst_index_flags_get_type), (register_gst_debug_level),
10205 (gst_debug_level_get_type), (register_gst_debug_color_flags),
10206 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10207 (gst_iterator_result_get_type), (register_gst_iterator_item),
10208 (gst_iterator_item_get_type), (register_gst_message_type),
10209 (gst_message_type_get_type), (register_gst_mini_object_flags),
10210 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10211 (gst_pad_link_return_get_type), (register_gst_flow_return),
10212 (gst_flow_return_get_type), (register_gst_activate_mode),
10213 (gst_activate_mode_get_type), (register_gst_pad_direction),
10214 (gst_pad_direction_get_type), (register_gst_pad_flags),
10215 (gst_pad_flags_get_type), (register_gst_pad_presence),
10216 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10217 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10218 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10219 (gst_plugin_error_get_type), (register_gst_plugin_flags),
10220 (gst_plugin_flags_get_type), (register_gst_rank),
10221 (gst_rank_get_type), (register_gst_query_type),
10222 (gst_query_type_get_type), (register_gst_tag_merge_mode),
10223 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10224 (gst_tag_flag_get_type), (register_gst_task_state),
10225 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10226 (gst_alloc_trace_flags_get_type),
10227 (register_gst_type_find_probability),
10228 (gst_type_find_probability_get_type), (register_gst_uri_type),
10229 (gst_uri_type_get_type), (register_gst_parse_error),
10230 (gst_parse_error_get_type):
10231 * win32/common/gstenumtypes.h:
10232 * win32/common/gstversion.h:
10233 update visual studio generated files
10235 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10237 * win32/vs6/libgstbase.dsp:
10238 * win32/vs6/libgstelements.dsp:
10239 update project files for new locations
10241 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10246 reinstate and update
10251 * docs/random/LICENSE:
10254 2005-11-30 Edward Hervey <edward@fluendo.com>
10256 * gst/gsttypefind.c: (gst_type_find_register):
10257 * gst/gsttypefind.h:
10258 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10259 (gst_type_find_factory_dispose):
10260 * gst/gsttypefindfactory.h:
10261 Fix memory leak in GstTypeFindFactory.
10263 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10266 * plugins/elements/Makefile.am:
10267 * plugins/elements/gstelements.c:
10268 * plugins/elements/gstqueue.c:
10269 move queue from core to the elements plugin
10271 2005-11-29 Andy Wingo <wingo@pobox.com>
10273 * libs/gst/base/gstbasetransform.h:
10274 * libs/gst/base/gstbasesrc.h:
10275 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10277 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10278 of pointers by which to pad very extensible base classes (like the
10279 ones in libs/gst/base).
10281 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10283 * docs/gst/gstreamer-docs.sgml:
10284 * docs/gst/gstreamer-sections.txt:
10285 * docs/libs/gstreamer-libs-docs.sgml:
10286 * docs/libs/gstreamer-libs-sections.txt:
10287 moving documentation from core to lib
10289 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10291 * check/Makefile.am:
10293 * docs/gst/Makefile.am:
10295 * gst/base/.cvsignore:
10296 * gst/base/Makefile.am:
10298 * gst/base/gstadapter.c:
10299 * gst/base/gstadapter.h:
10300 * gst/base/gstbasesink.c:
10301 * gst/base/gstbasesink.h:
10302 * gst/base/gstbasesrc.c:
10303 * gst/base/gstbasesrc.h:
10304 * gst/base/gstbasetransform.c:
10305 * gst/base/gstbasetransform.h:
10306 * gst/base/gstcollectpads.c:
10307 * gst/base/gstcollectpads.h:
10308 * gst/base/gstpushsrc.c:
10309 * gst/base/gstpushsrc.h:
10310 * gst/base/gsttypefindhelper.c:
10311 * gst/base/gsttypefindhelper.h:
10312 * gst/check/Makefile.am:
10313 * gst/check/gstcheck.c:
10314 * gst/check/gstcheck.h:
10315 * gst/net/Makefile.am:
10316 * gst/net/gstnet.h:
10317 * gst/net/gstnetclientclock.c:
10318 * gst/net/gstnetclientclock.h:
10319 * gst/net/gstnettimepacket.c:
10320 * gst/net/gstnettimepacket.h:
10321 * gst/net/gstnettimeprovider.c:
10322 * gst/net/gstnettimeprovider.h:
10323 * libs/gst/Makefile.am:
10324 * libs/gst/base/Makefile.am:
10325 * libs/gst/base/gstbasetransform.c:
10326 * libs/gst/check/Makefile.am:
10327 * plugins/elements/Makefile.am:
10329 CVS surgery + support to move base, check, and net out of gst
10332 2005-11-29 Andy Wingo <wingo@pobox.com>
10334 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10336 * gst/gststructure.h (struct _GstStructure): Only one pointer of
10339 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10341 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10343 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10345 * gst/gstobject.h: (struct _GstObject): Only one pointer of
10346 padding; reduces object size by about 30%. We don't expect
10347 anything else to go into gstobject.
10349 * gst/gstminiobject.h (struct _GstMiniObject)
10350 (struct _GstMiniObjectClass): Only one pointer of padding; the
10351 payload is only a pointer and two ints anyway. For the class there
10352 are only two methods as well.
10354 * gst/gstelement.h (struct _GstElementClass): Removed
10355 the state_changed signal callback, it is not used.
10357 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
10359 * docs/gst/gstreamer.types:
10360 fix includes, though they are a little dinky
10362 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10364 * check/Makefile.am:
10365 look in the right place for elements, a lot more chance of
10368 remove indexers and elements subdirs
10369 * plugins/Makefile.am:
10370 make indexers conditional
10372 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10376 * plugins/elements/Makefile.am:
10377 * plugins/elements/gstcapsfilter.c:
10378 * plugins/elements/gstfilesink.c:
10379 * plugins/elements/gstfilesrc.c:
10380 * plugins/elements/gstidentity.c:
10381 * plugins/indexers/Makefile.am:
10382 do CVS surgery and related build fixery to move elements
10383 and indexers in a new gstreamer/plugins directory, out of the
10386 2005-11-29 Andy Wingo <wingo@pobox.com>
10388 * check/Makefile.am:
10389 * pkgconfig/gstreamer-net-uninstalled.pc.in:
10390 * pkgconfig/gstreamer-net.pc.in:
10391 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10394 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
10396 * tools/Makefile.am:
10397 * tools/gst-complete.1.in:
10398 * tools/gst-complete.c:
10399 * tools/gst-compprep.1.in:
10400 * tools/gst-compprep.c:
10401 removing -compprep and -complete
10403 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
10405 * gst/gstevent.c: (gst_event_new_new_segment),
10406 (gst_event_parse_new_segment):
10408 fix #320529 - clean up new_segment API and structure.
10409 Let's hope everyone was using the methods, and not the structure.
10411 2005-11-29 Edward Hervey <edward@fluendo.com>
10413 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10414 (gst_base_sink_event), (gst_base_sink_do_sync),
10415 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10416 Properly handle non GST_FORMAT_TIME segment
10417 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10418 Properly handle non GST_FORMAT_TIME segment
10419 * gst/gstsegment.c:
10420 This function is valid if the accumulator is 0 and the format
10421 is different from the requested format.
10423 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
10425 * docs/gst/gstreamer-sections.txt:
10426 Add gst_query_new_seeking and gst_query_parse_seeking to the
10429 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
10431 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10432 Treat a pad alloc with new caps the same as if we were not
10433 negotiated, in order to allow a changing upstream output
10434 to produce a new format of data.
10436 2005-11-29 Edward Hervey <edward@fluendo.com>
10438 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10439 (gst_base_transform_event), (gst_base_transform_eventfunc):
10440 The event virtual method is now properly implemented, with a default
10442 Sub classes should call the parent_class event method. They should
10443 return FALSE if they had a problem handling the given event, or don't
10444 want GstBaseTransform to send that even downstream
10445 * gst/elements/gstidentity.c: (gst_identity_class_init),
10446 (gst_identity_init), (gst_identity_event),
10447 (gst_identity_transform_ip), (gst_identity_set_property),
10448 (gst_identity_get_property):
10449 * gst/elements/gstidentity.h:
10450 Added the single-segment boolean property.
10451 If set to TRUE, it will output a single segment of data, starting from
10452 0, will eat up all incoming newsegment, and modify the timestamp of the
10453 buffers accordingly
10455 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
10457 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
10458 Don't ref NULL target pad (#322751). Improve docs.
10460 2005-11-29 Michael Smith <msmith@fluendo.com>
10462 * gst/gstregistryxml.c: (load_plugin):
10463 Don't crash if we failed to load a feature from a plugin.
10465 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10467 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10469 use more check API and less GLib API
10471 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10474 don't run checks if we don't have check
10475 * common/check.mak:
10476 remove the registry when running make torture
10477 * docs/gst/gstreamer-sections.txt:
10478 remove second multiply
10479 * gst/gstqueue.c: (gst_queue_loop):
10480 fix a compile warning when disabling debug
10482 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
10485 Hey! Let's print the pad name if the pointer != NULL instead
10486 of when it == NULL :-)
10488 2005-11-28 Wim Taymans <wim@fluendo.com>
10490 * check/gst/gstutils.c: (GST_START_TEST):
10491 Updated check, add some scaling accuracy checking code.
10493 * gst/gstutils.c: (gst_util_div128_64),
10494 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
10495 (gst_util_uint64_scale_int):
10496 Fix 6 times faster division code. Optimize for common
10497 1/1 and less common X/1 cases.
10499 2005-11-28 Wim Taymans <wim@fluendo.com>
10501 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10504 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
10505 (do_linear_regression), (gst_clock_add_observation):
10507 Release lock when the clock cannot be slaved.
10508 Catch the case where the regression returned an invalid denominator.
10510 * gst/gstutils.c: (gst_util_div128_64_iterate),
10511 (gst_util_div128_64), (gst_util_uint64_scale_int64),
10512 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10513 Add protentially more performant non-iterative 128/64 divide function
10514 that unfortunatly does not work yet.
10515 Shortcut the trivial 0/X = 0 case.
10516 Remove the warnings on overflow.
10518 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10520 * gst/gstplugin.c: (gst_plugin_register_func):
10521 everything causing a plugin not to load should be at least a WARNING
10523 2005-11-28 Stefan Kost <ensonic@users.sf.net>
10525 * docs/random/ensonic/dparams.txt:
10526 some TODOs for the next dev cycle
10527 * libs/gst/controller/gstcontroller.c:
10528 (gst_controlled_property_set_interpolation_mode),
10529 (gst_controlled_property_new):
10530 * libs/gst/controller/gstcontroller.h:
10531 use base type to assign acccessor functions
10533 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
10535 * check/Makefile.am:
10536 Oops, that should have been top_srcdir
10538 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
10540 * check/Makefile.am:
10541 * check/elements/fdsrc.c: (GST_START_TEST):
10542 Use a cmdline define to specify the location of a file to use for
10543 testing, to avoid breaking distcheck.
10545 2005-11-28 Andy Wingo <wingo@pobox.com>
10547 * gst/gstpad.c (fixate_value): Use array functions for arrays.
10549 2005-11-28 Edward Hervey <edward@fluendo.com>
10551 * tools/gst-launch.c: (main):
10552 Clarify the output strings, makes it easier to translate.
10555 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10558 don't try and build net if we don't even have <sys/socket.h>
10560 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
10562 * check/Makefile.am:
10563 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
10564 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
10565 Add tests for fdsrc seekability
10567 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10568 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
10569 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
10570 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
10571 * gst/elements/gstfdsrc.h:
10572 fdsrc should not be a 'live' source.
10573 Implement seeking on seekable fd's.
10575 * gst/gstquery.c: (gst_query_new_seeking),
10576 (gst_query_parse_seeking):
10578 Implement SEEKING query functions:
10579 *_new_seeking and *_parse_seeking
10581 2005-11-27 Stefan Kost <ensonic@users.sf.net>
10583 * gst/gstelement.c: (gst_element_dispose):
10586 * gst/gstiterator.c:
10587 * gst/gststructure.c:
10590 * libs/gst/controller/gstcontroller.c:
10591 (gst_controlled_property_set_interpolation_mode):
10592 * libs/gst/controller/gstcontroller.h:
10593 * libs/gst/controller/gstinterpolation.c:
10594 (interpolate_none_get_enum_value_array):
10595 support controlling enums
10597 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
10600 Improve documentation for gst_value_union().
10603 Change return value for union, intersect and subtract functions
10604 from gint to gboolean.
10606 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
10608 * gst/gstvalue.c: (gst_value_serialize_any_list),
10609 (gst_value_transform_any_list_string),
10610 (gst_value_deserialize_list), (gst_value_deserialize_array),
10611 (gst_value_set_int_range), (gst_value_deserialize_int_range),
10612 (gst_value_set_double_range), (gst_value_deserialize_double_range),
10613 (gst_value_set_fraction_range_full),
10614 (gst_value_deserialize_fraction_range),
10615 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
10616 (gst_value_deserialize_boolean),
10617 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
10618 (gst_value_serialize_float), (gst_value_deserialize_float),
10619 (gst_string_wrap), (gst_value_deserialize_string),
10620 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
10621 (gst_value_union_int_range_int_range),
10622 (gst_value_intersect_int_range_int_range),
10623 (gst_value_intersect_double_range_double_range),
10624 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10625 (gst_value_subtract_int_range_int_range),
10626 (gst_value_subtract_double_double_range),
10627 (gst_value_subtract_double_range_double_range),
10628 (gst_value_deserialize_fraction):
10630 Use gint, gdouble and gchar in our API instead of int, double and
10631 char (and make usage in gstvalue.c more consistent).
10633 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
10635 * check/Makefile.am:
10636 * libs/gst/controller/Makefile.am:
10637 * libs/gst/dataprotocol/Makefile.am:
10638 fix up Makefile.am and remove GST_ENABLE_NEW
10640 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
10644 * gst/base/Makefile.am:
10645 * gst/check/Makefile.am:
10646 * gst/elements/Makefile.am:
10647 * gst/net/Makefile.am:
10648 update LDFLAGS use some more
10650 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
10652 * common/m4/gst-doc.m4:
10655 2005-11-26 Edward Hervey <edward@fluendo.com>
10657 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10658 This shouldn't issue a g_warning since it returns NULL if it
10659 couldn't find the plugin, and all functions using this behave
10660 properly on a NULL return. Switching to a GST_WARNING.
10662 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
10664 * gst/gstbin.c: (gst_bin_handle_message_func):
10665 Don't leak clock messages.
10667 2005-11-25 Wim Taymans <wim@fluendo.com>
10669 * gst/gstutils.c: (gst_util_uint64_scale_int64),
10670 (gst_util_uint64_scale_int):
10671 Optimisations, remove unneeded vars.
10673 2005-11-25 Wim Taymans <wim@fluendo.com>
10675 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10676 Added more checks for the high precision uint64 cases.
10678 * gst/gstutils.c: (gst_util_uint64_scale_int64),
10679 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10680 Implement high precision (guint64 * guint64) / guint64.
10682 2005-11-24 Wim Taymans <wim@fluendo.com>
10684 * gst/base/gstbasesrc.c: (gst_base_src_query):
10685 Fix wrong percentage query.
10687 * gst/gstutils.c: (gst_util_uint64_scale),
10688 (gst_util_uint64_scale_int):
10689 Add some more common cases that can be handled
10690 efficiently to _scale.
10692 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
10694 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
10695 (gst_mini_object_suite):
10696 don't use check calls from threads; check probably isn't
10697 threadsafe and using a lock to make it threadsafe would
10698 defeat the purpose of this check
10699 * gst/check/gstcheck.c:
10700 * gst/check/gstcheck.h:
10701 use GST_DEBUG some more
10703 2005-11-24 Wim Taymans <wim@fluendo.com>
10705 * gst/gstutils.c: (gst_util_uint64_scale),
10706 (gst_util_uint64_scale_int):
10707 Chain trivial case to _scale_int.
10709 2005-11-24 Wim Taymans <wim@fluendo.com>
10711 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10712 Added test for scaling.
10717 * gst/gstutils.c: (gst_util_uint64_scale_int):
10718 Implemented high precision scaling code.
10720 2005-11-24 Stefan Kost <ensonic@users.sf.net>
10723 do not crash on pad==NULL
10725 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
10727 Patch by: Stefan Kost
10729 * common/gtk-doc.mak:
10730 * docs/gst/Makefile.am:
10731 * docs/libs/Makefile.am:
10732 Fix distcheck issues for the libraries docs build
10735 2005-11-24 Michael Smith <msmith@fluendo.com>
10737 * docs/manual/basics-helloworld.xml:
10738 Fix bug #315027: memory leak in example code in docs.
10740 2005-11-24 Michael Smith <msmith@fluendo.com>
10742 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10743 Unlock the PREROLL_LOCK in a failure case.
10745 2005-11-24 Wim Taymans <wim@fluendo.com>
10747 * docs/gst/gstreamer-sections.txt:
10748 * gst/base/gstadapter.h:
10749 * gst/base/gstbasesink.h:
10750 * gst/base/gstbasesrc.h:
10751 * gst/base/gstbasetransform.h:
10752 * gst/base/gstpushsrc.h:
10753 * gst/elements/gstfakesink.h:
10754 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
10755 * gst/elements/gstfakesrc.h:
10756 * gst/elements/gstfilesink.h:
10757 * gst/elements/gstfilesrc.h:
10760 * gst/gstbuffer.c: (_gst_buffer_copy):
10763 * gst/gstchildproxy.c:
10765 * gst/gstelement.c:
10766 * gst/gstelementfactory.c:
10767 * gst/gstelementfactory.h:
10769 * gst/gstghostpad.h:
10771 * gst/gstinterface.h:
10772 * gst/gstminiobject.c:
10773 * gst/gstminiobject.h:
10776 * gst/gstpadtemplate.h:
10777 * gst/gstpipeline.h:
10778 * gst/gstpluginfeature.h:
10781 * gst/gsttaglist.c:
10782 * gst/gsttaglist.h:
10783 * gst/gsttagsetter.c:
10784 * gst/gsttagsetter.h:
10787 * gst/gsttypefind.h:
10790 * gst/net/gstnetclientclock.c:
10791 * gst/net/gstnetclientclock.h:
10792 * gst/net/gstnettimepacket.c:
10793 * gst/net/gstnettimeprovider.c:
10794 * gst/net/gstnettimeprovider.h:
10797 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
10799 * configure.ac: back to HEAD
10801 === release 0.9.6 ===
10803 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
10806 releasing 0.9.6, "Always On Time"
10808 2005-11-23 Wim Taymans <wim@fluendo.com>
10810 * docs/gst/gstreamer-sections.txt:
10811 * gst/glib-compat.c:
10812 * gst/gsttagsetter.c:
10814 * gst/net/gstnetclientclock.c:
10815 * gst/net/gstnettimepacket.h:
10818 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
10820 * docs/faq/using.xml:
10821 * docs/libs/tmpl/gstcontrol.sgml:
10822 * docs/manual/advanced-dparams.xml:
10823 * docs/manual/appendix-checklist.xml:
10824 * docs/manual/basics-elements.xml:
10825 * docs/pwg/other-source.xml:
10826 * docs/random/moving-plugins:
10828 * tools/gst-launch.1.in:
10829 remove mentions of sinesrc
10831 2005-11-23 Michael Smith <msmith@fluendo.com>
10833 * docs/gst/gstreamer-sections.txt:
10834 Update for new API and API changes.
10836 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
10838 Documentation typo fix.
10839 * gst/net/gstnettimepacket.c:
10840 Documentation fixes for arguments.
10842 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
10844 * gst/gststructure.c: (gst_structure_get_fraction),
10845 (gst_structure_parse_value),
10846 (gst_structure_fixate_field_nearest_fraction):
10847 * gst/gststructure.h:
10848 * gst/gstutils.c: (gst_util_uint64_scale_int):
10850 * scripts/update-funcnames:
10852 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
10853 Make gst_structure_fixate_field_nearest_fraction take a numerator
10854 and denominator argument instead of a GValue
10855 add gst_structure_get_fraction helper function.
10857 2005-11-23 Wim Taymans <wim@fluendo.com>
10859 * docs/design/part-TODO.txt:
10862 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10863 * gst/net/gstnetclientclock.h:
10864 Use parent fields for timeout and window_size.
10866 2005-11-23 Andy Wingo <wingo@pobox.com>
10868 * check/net/gstnetclientclock.c (test_functioning): Adjust to
10869 rate_num/rate_denom change.
10871 * gst/net/gstnetclientclock.c
10872 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
10873 OBJECT_LOCK. Don't call add_observation with the lock.
10875 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
10877 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
10879 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
10880 deal with rate as a fraction whose numerator and denominator are
10881 GstClockTime values.
10882 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
10883 master; the other fields are protected by the SLAVE_LOCK.
10884 (do_linear_regression): Note that this must be called with the
10886 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
10887 OBJECT_LOCK. Call set_calibration instead of touching the
10888 variables directly.
10889 (gst_clock_set_property, gst_clock_get_property): Protect
10890 master/slave parameters with the SLAVE_LOCK.
10892 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
10893 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
10894 note that all of the instance variables that add_observation and
10895 the set_master functions use are protected by that lock and not
10897 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
10899 * gst/gstclock.c (gst_clock_add_observation): No longer requires
10900 the caller to take the object lock.
10902 2005-11-23 Wim Taymans <wim@fluendo.com>
10904 * gst/gsterror.c: (_gst_core_errors_init):
10906 Add error for clock stuff.
10908 * gst/gstpipeline.c: (gst_pipeline_change_state),
10909 (gst_pipeline_set_clock):
10910 Post clock error when clock cannot be used in a pipeline.
10912 2005-11-23 Stefan Kost <ensonic@users.sf.net>
10914 * docs/gst/gstreamer-sections.txt:
10915 make two symbols from gstinfo private for the docs
10916 * gst/base/gstcollectpads.h:
10918 fix doc typos, update docs
10920 2005-11-22 Wim Taymans <wim@fluendo.com>
10922 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10923 (gst_base_sink_wait), (gst_base_sink_do_sync),
10924 (gst_base_sink_handle_event):
10925 * gst/base/gstbasesink.h:
10926 No need to store the clock, the parent element class already
10929 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
10930 Updates for clock_set returning a gboolean
10932 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
10933 (gst_clock_id_wait_async), (gst_clock_class_init),
10934 (gst_clock_init), (gst_clock_finalize),
10935 (gst_clock_get_internal_time), (gst_clock_get_time),
10936 (gst_clock_slave_callback), (gst_clock_set_master),
10937 (gst_clock_get_master), (do_linear_regression),
10938 (gst_clock_add_observation), (gst_clock_set_property),
10939 (gst_clock_get_property):
10941 Implement master/slave. When setting a clock as a slave, a
10942 periodic timeout is scheduled to sample master and slave times.
10943 Then the slave clock is recalibrated to match offset and rate
10944 of the master clock.
10945 Update logging a bit.
10946 Add flag so that a clock can state that is cannot be slaved to
10949 * gst/gstelement.c: (gst_element_set_clock):
10950 * gst/gstelement.h:
10951 The set clock returns a gboolean for when an element cannot
10952 deal with the selected clock in the pipeline.
10954 * gst/gstpipeline.c: (gst_pipeline_change_state),
10955 (gst_pipeline_set_clock):
10956 * gst/gstpipeline.h:
10957 Handle the case where the selected clock cannot be set on
10960 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
10961 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
10962 (gst_net_client_clock_set_property),
10963 (gst_net_client_clock_get_property),
10964 (gst_net_client_clock_observe_times):
10965 * gst/net/gstnetclientclock.h:
10966 Use regression code in GstClock parent, remove duplicated
10969 2005-11-22 Michael Smith <msmith@fluendo.com>
10971 * gst/gstutils.c: (gst_util_clock_time_scale):
10973 * docs/gst/gstreamer-sections.txt:
10974 Rename method to have extra underscore.
10976 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
10978 * gst/elements/Makefile.am:
10979 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
10980 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10981 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10982 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
10983 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
10984 * gst/elements/gstfakesrc.h:
10985 * gst/gstqueue.c: (queue_leaky_get_type):
10986 correctly fix GEnumValues so that nick is the short lowercase
10988 * tools/gst-inspect.c: (print_element_properties_info):
10989 also show the nick, since it's useful to use from parse_launch
10993 2005-11-22 Michael Smith <msmith@fluendo.com>
10995 * gst/gstutils.c: (gst_util_clocktime_scale):
10997 * docs/gst/gstreamer-sections.txt:
10998 Add util method for scaling a clocktime by a fraction. Useful
10999 implementation is left as an exercise for the reader.
11001 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11003 * gst/gstvalue.c: (gst_value_collect_fraction_range):
11004 If needed, allocate storage in the destination value during
11007 2005-11-22 Edward Hervey <edward@fluendo.com>
11009 * docs/gst/gstreamer-sections.txt:
11012 * gst/gsturitype.c:
11013 * gst/gsturitype.h:
11014 * gst/gstutils.c: (gst_util_set_object_arg):
11015 * tools/gst-compprep.c: (main):
11016 * tools/gst-inspect.c: (print_element_properties_info):
11017 Removed GstURI, closes bug #321061
11019 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11021 * check/gst/gststructure.c: (GST_START_TEST):
11022 * gst/gststructure.c: (gst_structure_parse_value):
11023 Oops, broke automatic string type parsing.
11024 Add a test to catch it in future.
11026 2005-11-22 Andy Wingo <wingo@pobox.com>
11028 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
11029 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11030 Actually rename the function implementations. Grr.
11032 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11034 * check/gst/capslist.h:
11036 * check/gst/gststructure.c: (GST_START_TEST),
11037 (gst_structure_suite):
11038 Test automatic value type detection in gst_structure_from_string.
11039 * gst/gststructure.c: (gst_structure_parse_value):
11040 Add fraction as a type we try and guess automatically in
11041 caps/structure strings.
11043 2005-11-22 Andy Wingo <wingo@pobox.com>
11045 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11047 * gst/gsttagsetter.h:
11048 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11049 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11050 (gst_tag_setter_add_tag_valist)
11051 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11052 _add_values, _add_valist, and _add_valist_values. Since this is an
11053 interface the function suffixes should be more explicit so
11054 language binding don't end up with element.add_valist ->
11055 gst_tag_setter_add_valist, for example. Fixes #322069.
11057 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11059 * check/gst/gstcaps.c: (GST_START_TEST):
11060 Extend caps string tests to check that a caps to string
11061 conversion is reversible and produces the same caps.
11063 * gst/gststructure.c: (gst_structure_value_get_generic_type):
11064 Output "fraction" as the generic type fraction range, so caps
11065 serialisation and deserialisation works.
11066 * check/gst/capslist.h:
11067 * gst/gstvalue.c: (gst_value_deserialize_fraction):
11068 Support 'MIN' and 'MAX' for deserialising fractions.
11070 2005-11-22 Andy Wingo <wingo@pobox.com>
11072 * gst/gstevent.h (gst_event_new_new_segment)
11073 (gst_event_parse_new_segment, gst_event_new_buffer_size)
11074 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11075 Renamed from *_newsegment, *_buffersize, *_notarget.
11077 * scripts/update-funcnames: New script, performs the changes
11080 2005-11-22 Wim Taymans <wim@fluendo.com>
11082 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11083 Make sure the GstFlowReturn is returned.
11085 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11086 (gst_bus_add_signal_watch):
11088 add gst_bus_add_signal_watch_full.
11090 * gst/gstplugin.c: (gst_plugin_load_file):
11091 Small style cleanup.
11093 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11095 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11096 Block the fakesrc srcpad when we send an event, to avoid
11097 contention on the stream_lock causing random test failures.
11099 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11101 * check/gst/gstvalue.c: (GST_START_TEST):
11102 * gst/gstvalue.c: (gst_value_fraction_subtract):
11105 2005-11-22 Stefan Kost <ensonic@users.sf.net>
11108 include "gstchildproxy.h"
11109 * gst/gstchildproxy.h:
11110 * libs/gst/controller/gstcontroller.h:
11111 use G_GNUC_NULL_TERMINATED
11113 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11115 * check/gst/capslist.h:
11116 * check/gst/gstcaps.c: (GST_START_TEST):
11117 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11118 * gst/gststructure.c: (gst_structure_parse_range),
11119 (gst_structure_fixate_field_nearest_fraction):
11120 * gst/gststructure.h:
11121 * gst/gstvalue.c: (gst_value_init_fraction_range),
11122 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11123 (gst_value_collect_fraction_range),
11124 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11125 (gst_value_set_fraction_range_full),
11126 (gst_value_get_fraction_range_min),
11127 (gst_value_get_fraction_range_max),
11128 (gst_value_serialize_fraction_range),
11129 (gst_value_transform_fraction_range_string),
11130 (gst_value_compare_fraction_range),
11131 (gst_value_deserialize_fraction_range),
11132 (gst_value_intersect_fraction_fraction_range),
11133 (gst_value_intersect_fraction_range_fraction_range),
11134 (gst_value_subtract_fraction_fraction_range),
11135 (gst_value_subtract_fraction_range_fraction),
11136 (gst_value_subtract_fraction_range_fraction_range),
11137 (gst_value_collect_fraction), (gst_value_fraction_multiply),
11138 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11139 (gst_value_transform_string_fraction), (_gst_value_initialize):
11141 Implement fraction ranges and extend GstFraction to support
11142 arithmetic subtraction, as well as deserialization from integer
11143 strings such as "100"
11144 Add a testsuite as for int and double range set operations
11146 2005-11-21 Andy Wingo <wingo@pobox.com>
11148 * gst/gsttaglist.h:
11150 * gst/gststructure.h: Add glib-compat.h.
11152 2005-11-21 Wim Taymans <wim@fluendo.com>
11154 * gst/gstbin.c: (gst_bin_change_state_func):
11157 2005-11-21 Wim Taymans <wim@fluendo.com>
11159 * gst/gstsegment.h:
11160 And add a nice define too.
11162 2005-11-21 Wim Taymans <wim@fluendo.com>
11164 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11165 (gst_segment_new), (gst_segment_free), (gst_segment_init),
11166 (gst_segment_set_duration), (gst_segment_set_last_stop),
11167 (gst_segment_set_seek), (gst_segment_set_newsegment),
11168 (gst_segment_to_stream_time), (gst_segment_to_running_time),
11169 (gst_segment_clip):
11170 * gst/gstsegment.h:
11171 Make binding friendly.
11173 2005-11-21 Andy Wingo <wingo@pobox.com>
11175 * gst/gsttagsetter.h:
11176 * gst/gsttaglist.h:
11177 * gst/gststructure.h:
11179 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11182 * gst/gsterror.c (_gst_core_errors_init):
11183 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11186 * gst/Makefile.am (gst_headers): Add glib-compat.h.
11187 (noinst_HEADERS): noinst the -private.
11189 2005-11-21 Michael Smith <msmith@fluendo.com>
11192 * gst/gstregistry.h:
11193 Remove unimplemented declarations for which we can see no sensible
11196 2005-11-21 Andy Wingo <wingo@pobox.com>
11198 * gst/gst.h: Include glib-compat.h.
11200 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11202 * gst/glib-compat.c: Include the public and the private header.
11204 * gst/glib-compat-private.h: Copied here from glib-compat.h.
11208 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11210 * check/gst/gstevent.c (create_custom_events): Check that
11211 FLUSH_STOP is serialized.
11213 * check/elements/identity.c (event_func):
11214 * check/elements/fakesrc.c (event_func): No stream lock, the core
11217 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11218 stream lock taking, yay.
11220 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11221 ensure that core takes the stream lock.
11223 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11226 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11227 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11228 it already. For the flush start we do take it though so we get the
11229 right preroll state change messages.
11231 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11232 the stream lock here, the core does it for us.
11234 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11235 GST_STREAM_GET_LOCK.
11236 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
11237 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
11238 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11239 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11240 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
11241 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11243 * gst/gstpad.c: Update for stream lock name change.
11245 * gst/base/gstbasesink.c: Update for preroll lock name change.
11247 2005-11-21 Wim Taymans <wim@fluendo.com>
11249 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11250 (gst_clock_get_master):
11252 * gst/gstsystemclock.c: (gst_system_clock_init):
11253 Convert Clock flags to object flags.
11254 Added methods to manage master/slave clocks.
11256 2005-11-21 Wim Taymans <wim@fluendo.com>
11258 * check/gst/gstsegment.c: (GST_START_TEST):
11259 * docs/design/part-TODO.txt:
11260 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11261 (gst_base_sink_event), (gst_base_sink_do_sync),
11262 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11263 (gst_base_sink_query), (gst_base_sink_change_state):
11264 * gst/base/gstbasesink.h:
11265 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11266 (gst_base_src_default_newsegment),
11267 (gst_base_src_configure_segment), (gst_base_src_do_seek),
11268 (gst_base_src_get_range), (gst_base_src_loop),
11269 (gst_base_src_change_state):
11270 * gst/base/gstbasesrc.h:
11271 * gst/base/gstbasetransform.c:
11272 (gst_base_transform_prepare_output_buf),
11273 (gst_base_transform_event), (gst_base_transform_change_state):
11274 * gst/base/gstbasetransform.h:
11275 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11276 (gst_collect_pads_event):
11277 * gst/base/gstcollectpads.h:
11278 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11279 (gst_fake_src_create):
11280 * gst/elements/gstfakesrc.h:
11281 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11282 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11283 (gst_segment_set_last_stop), (gst_segment_set_seek),
11284 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11285 (gst_segment_to_running_time), (gst_segment_clip):
11286 * gst/gstsegment.h:
11287 More segment updates, replace code in plugins with segment
11290 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
11292 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11293 Don't ignore sscanf results
11295 2005-11-21 Andy Wingo <wingo@pobox.com>
11297 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11300 * *.c: Ran scripts/update-macros. Oh yes.
11302 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11303 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11306 * scripts/update-macros: New script. Run it on your files to
11307 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11310 2005-11-21 Stefan Kost <ensonic@users.sf.net>
11312 * docs/gst/Makefile.am:
11313 * docs/gst/gstreamer-docs.sgml:
11314 * docs/gst/gstreamer-sections.txt:
11315 * docs/gst/gstreamer.types:
11317 more docs fixes, add new api to the docs
11319 2005-11-21 Andy Wingo <wingo@pobox.com>
11321 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11322 state_broadcast call.
11324 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11326 2005-11-21 Julien MOUTTE <julien@moutte.net>
11328 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11329 function calls for arrays.
11331 2005-11-21 Stefan Kost <ensonic@users.sf.net>
11333 * docs/random/ensonic/media-device-daemon.txt:
11334 wild idea, can this be done?
11335 * docs/gst/gstreamer-sections.txt:
11340 * gst/gstpluginfeature.c:
11344 doc fixes and additions
11346 2005-11-21 Andy Wingo <wingo@pobox.com>
11348 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
11349 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
11350 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
11351 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11352 private to the basesrc implementation.
11354 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11355 behalf of event function if necessary. It should no longer be
11356 necessary to take the stream lock in pad's event functions. Fixes
11359 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
11360 * docs/gst/gstreamer-sections.txt:
11361 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11362 (gst_structure_fixate_field_nearest_double),
11363 (gst_structure_fixate_field_boolean):
11364 * gst/gststructure.h:
11365 * win32/common/libgstreamer.def:
11366 * win32/gstreamer.def:
11368 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11371 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
11373 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11374 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11375 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11376 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11377 (gst_fdsrc_uri_handler_init):
11378 * gst/elements/gstfdsrc.h:
11379 Port fd:// URI handler from 0.8 to fdsrc
11381 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11383 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11384 (gst_value_serialize_fourcc):
11386 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11387 consistent with our other format defines (#320324).
11389 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11391 * gst/gstvalue.c: (gst_value_is_fixed):
11392 Revert previous commit. Value lists are by definition
11393 not fixed, as they are a list of possible values.
11395 2005-11-21 Andy Wingo <wingo@pobox.com>
11397 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11398 during the stable series if we need it. Fixes #319178.
11400 * gst/gstevent.c (gst_event_new_filler): Removed.
11402 * check/gst/gstevent.c: Update comment about filler events.
11404 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11406 * gst/gstvalue.c: (gst_value_is_fixed):
11407 Should handle both value arrays and value lists.
11409 2005-11-21 Andy Wingo <wingo@pobox.com>
11411 patch by: Alessandro Dessina <alessandro nnva org>
11413 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11414 functions to access arrays. Fixes #321962.
11416 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11418 * docs/gst/gstreamer.types:
11419 gst_collectpads_get_type => gst_collect_pads_get_type.
11421 * gst/base/gstbasetransform.c:
11422 Remove unused SIGNAL_HANDOFF enum.
11424 2005-11-21 Andy Wingo <wingo@pobox.com>
11426 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11427 the event type (upstream, downstream, serialized). Renamed
11428 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11429 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11430 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11432 * gst/gstevent.c: Update for new CUSTOM event names.
11434 * check/gst/gstevent.c: Update check for new CUSTOM event names.
11437 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
11440 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11442 * docs/gst/gstreamer-sections.txt:
11443 * win32/common/libgstbase.def:
11444 * win32/libgstbase.def:
11445 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11446 (gst_collect_pads_class_init), (gst_collect_pads_init),
11447 (gst_collect_pads_finalize), (gst_collect_pads_new),
11448 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
11449 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
11450 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
11451 (gst_collect_pads_start), (gst_collect_pads_stop),
11452 (gst_collect_pads_peek), (gst_collect_pads_pop),
11453 (gst_collect_pads_available), (gst_collect_pads_read),
11454 (gst_collect_pads_flush), (gst_collect_pads_event),
11455 (gst_collect_pads_chain):
11456 * gst/base/gstcollectpads.h:
11457 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
11458 unimplemented functions as unimplemented. Add padding to
11459 GstCollectData. (#320766, #320423)
11461 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11463 * gst/gstmessage.c:
11464 Improve docs for DURATION message (usage of duration parameter)
11467 2005-11-20 Wim Taymans <wim@fluendo.com>
11469 * check/Makefile.am:
11470 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
11474 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11475 (gst_segment_set_seek), (gst_segment_set_newsegment),
11476 (gst_segment_to_stream_time), (gst_segment_to_running_time),
11477 (gst_segment_clip):
11478 * gst/gstsegment.h:
11479 Added segment helper structure and methods. Not fully implemented
11481 Added segment check.
11483 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
11485 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11486 Add a deserialisation test for fractions
11487 * examples/metadata/read-metadata.c: (message_loop),
11488 (make_pipeline), (main):
11489 Fix up metadata reading sample.
11490 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11492 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11493 Don't try and fixate empty caps
11494 * gst/gst_private.h:
11495 Wrap in G_BEGIN_DECLS/G_END_DECLS
11496 * gst/gstvalue.c: (gst_value_collect_fraction),
11497 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
11498 (gst_value_transform_string_fraction),
11499 (gst_value_compare_fraction):
11500 Add some extra guards to ensure that we don't end up
11501 with an invalid denominator of 0 in a gstfraction and
11502 that fractions always get reduced.
11504 2005-11-20 Wim Taymans <wim@fluendo.com>
11506 * docs/gst/gstreamer-sections.txt:
11508 * gst/gstelement.c:
11517 2005-11-20 Wim Taymans <wim@fluendo.com>
11519 * docs/design/part-TODO.txt:
11521 Make a proper enum of the flag.
11523 2005-11-19 Wim Taymans <wim@fluendo.com>
11525 * docs/design/part-TODO.txt:
11526 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
11527 (gst_format_to_quark), (gst_format_register):
11529 * gst/gstquery.c: (_gst_query_initialize),
11530 (gst_query_type_get_name), (gst_query_type_to_quark),
11531 (gst_query_type_register):
11533 Add type to quark and type to string conversions.
11535 2005-11-19 Andy Wingo <wingo@pobox.com>
11537 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
11540 2005-11-19 Wim Taymans <wim@fluendo.com>
11542 * docs/design/part-TODO.txt:
11543 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11544 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
11545 (gst_bin_handle_message_func):
11547 Make message handling overridable.
11549 2005-11-19 Andy Wingo <wingo@pobox.com>
11551 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
11554 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
11556 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
11557 is a GstClockTime. Fixes #321710.
11559 * gst/gstclock.h (GstClock): Remove offset property. Add
11560 internal_calibration and external_calibration. Fix padding. Pad
11561 also by GstClockTime so we don't run into problems.
11563 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
11564 (gst_clock_get_rate_offset): Remove.
11565 (gst_clock_set_time_adjust): Remove. Fixes #321712.
11568 * gst/gstutils.c (g_static_rec_cond_wait)
11569 (g_static_rec_cond_timed_wait): Removed, no longer needed.
11571 * gst/gstbin.c: Remove terrible continue_state prototype.
11573 * gst/gstelement.h (gst_element_continue_state): Make public.
11575 * gst/gstelement.h:
11576 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
11577 by continue_state. Fixes #319389.
11579 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
11580 Really fixes #168438. However I don't see anywhere where the
11581 filter function is called... stupid GStreamer...
11583 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
11584 don't have a dispose function, so it won't get called when the
11585 object is unreffed, but oh well!
11587 * gst/gstindex.c (gst_index_set_filter_full): New API function,
11588 allows a destroy function to be set so user_data can be freed.
11590 (gst_index_set_filter): Call gst_index_set_filter_full.
11592 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
11594 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
11595 string should produce an error, given the lack of a way to
11596 represent NULL strings. Fixes #165650.
11599 * gst/gstvalue.c (gst_value_array_append_value)
11600 (gst_value_array_prepend_value, gst_value_array_get_size)
11601 (gst_value_array_get_value): New API, copied from
11602 gst_value_list_*, only operates on arrays.
11603 (gst_value_list_append_value, gst_value_list_prepend_value)
11604 (gst_value_list_concat, gst_value_list_get_size)
11605 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
11607 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
11608 init_list, because it works on both.
11609 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
11610 (gst_value_copy_list_or_array): Renamed from copy_list.
11611 (gst_value_free_list_or_array): Renamed from free_list.
11612 (gst_value_collect_list_or_array): Renamed from collect_list.
11613 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
11614 (gst_value_list_or_array_peek_pointer): Renamed from
11616 (_gst_value_array_value_table, _gst_value_list_value_table):
11617 Update value table functions.
11618 (gst_value_compare_list_or_array): Renamed from compare_list.
11620 * gsttaglist.h: Whoops, foreach function returns void. Also fix
11623 * gst/gsttaglist.c:
11624 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
11625 GstTagList*. Fixes #143472.
11627 * gst/gststructure.h: Clarify what the foreach/map functions can
11628 or can't do to their arguments.
11630 2005-11-18 Wim Taymans <wim@fluendo.com>
11632 * gst/gstclock.c: (gst_clock_set_calibration),
11633 (gst_clock_get_calibration):
11635 Calibration can be set with internal time equal to current
11638 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
11644 2005-11-18 Andy Wingo <wingo@pobox.com>
11647 * pkgconfig/gstreamer-net.pc.in:
11648 * pkgconfig/gstreamer-net-uninstalled.pc.in:
11649 * pkgconfig/Makefile.am: Add net pkgconfig files.
11651 2005-11-18 Stefan Kost <ensonic@users.sf.net>
11654 * gst/gstghostpad.c:
11660 2005-11-18 Andy Wingo <wingo@pobox.com>
11662 * gst/net/gstnetclientclock.c: Turn off debugging.
11664 * check/net/gstnetclientclock.c (test_functioning): Assert that the
11665 times connverge somewhat. Can't make a real test.
11667 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
11668 integer arithmetic. Return the minimum of the domain, which can be
11669 set as "internal" for gst_clock_set_calibration.
11670 (gst_net_client_clock_observe_times): Call _set_calibration.
11671 (gst_net_client_clock_new): Call _set_calibration instead of
11674 * check/net/gstnetclientclock.c (test_functioning): Use the right
11678 * gst/gstclock.c (gst_clock_get_calibration)
11679 (gst_clock_set_calibration): New functions, obsolete the ones I
11680 added yesterday. Doh. Precision issues mean we have to extrapolate
11681 from a point in the more recent past than 1970.
11682 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
11684 (gst_clock_adjust_unlocked): Use the right calibration data.
11686 2005-11-18 Edward Hervey <edward@fluendo.com>
11688 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
11689 Also reset the ->current_* values in READY->PAUSED
11691 2005-11-18 Andy Wingo <wingo@pobox.com>
11693 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
11694 Whoops, check the right fd. Also add some debugging.
11695 (gst_net_client_clock_observe_times): Adjust for int64 offset.
11696 (do_linear_regression): Add a crapload of debugging. Subtract off
11697 the minimum values from the input series to discard unneeded bits.
11698 Use only int arithmetic. There is still double arithmetic when
11699 calculating the intercept that needs fixing. Return boolean to
11700 indicate success; FALSE would mean the domain or range is too
11701 great. Still needs fixes.
11703 2005-11-18 Wim Taymans <wim@fluendo.com>
11705 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
11706 For the current position in stream time, we need to subtract
11709 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11710 Release lock before calling the callback function of async
11713 2005-11-18 Andy Wingo <wingo@pobox.com>
11715 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
11716 Port goes all the way to MAXUINT16.
11718 * gst/net/gstnettimeprovider.c: Make the port range the same as
11719 for the kernel: 0 assigns, otherwise ports are less than
11722 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
11725 * check/net/gstnetclientclock.c (test_functioning): Add the start
11728 2005-11-18 Wim Taymans <wim@fluendo.com>
11730 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11731 (gst_bin_remove_func), (bin_bus_handler):
11733 Removing a clock provider from a bin, triggers a clock lost message
11734 so that a new clock will be selected.
11735 Adding a clock to a bin triggers a clock provider message.
11736 Make sure we reselect a clock when we received a clock lost message.
11737 Keep a reference to the element that provided the clock.
11739 2005-11-18 Andy Wingo <wingo@pobox.com>
11741 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
11742 the clock initially so it produces values around the base time.
11743 (gst_net_client_clock_class_init): Typo fix.
11744 (gst_net_client_clock_thread): Add note on when the socket gets
11747 2005-11-17 Wim Taymans <wim@fluendo.com>
11749 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
11750 Free remote and local time arrays.
11752 2005-11-17 Wim Taymans <wim@fluendo.com>
11754 * gst/net/gstnetclientclock.c: (do_linear_regression),
11755 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
11756 Fix compilation, uninitialized vars and a forgotten continue.
11758 2005-11-17 Andy Wingo <wingo@pobox.com>
11760 * check/Makefile.am (check_PROGRAMS):
11761 * check/net/gstnetclientclock.c: Add a most minimal test for the
11762 net client clock. More to come later.
11764 * gst/net/gstnet.h:
11765 * gst/net/Makefile.am: Add netclientclock.
11767 * gst/net/gstnetclientclock.h:
11768 * gst/net/gstnetclientclock.c: New files, implement an untested
11769 GstClock that takes its time from a network time provider.
11770 Implements the algorithm in network-clock.scm.
11772 * tests/network-clock.scm (*window-size*): Rename from
11774 * tests/network-clock.scm (network-time):
11775 * tests/network-clock-utils.scm (q-push): Update callers.
11777 2005-11-17 Wim Taymans <wim@fluendo.com>
11779 * gst/gstbin.c: (gst_bin_provide_clock_func),
11780 (gst_bin_sort_iterator_new):
11781 And unref the child too..
11783 2005-11-17 Wim Taymans <wim@fluendo.com>
11785 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11786 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
11787 Refactor the sort iterator so it can be used while holding the
11789 Make clock selection select a clock closest to the source.
11791 2005-11-17 Michael Smith <msmith@fluendo.com>
11793 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
11794 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
11796 Anonymous structs are a gcc (and some other compilers) extension, so
11797 don't use them. Since this is only for ABI-compatibility, and our
11798 API/ABI freeze is over in a few days, this whole thing will only
11799 last a few days, so don't bother trying to think up a meaningful
11800 name for the struct.
11802 2005-11-17 Andy Wingo <wingo@pobox.com>
11804 * gst/gstclock.h (GstClock): Add rate and offset properties,
11805 preserving ABI stability. Add rate/offset accessors. Will file bug
11806 for the freeze break.
11808 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
11809 and offset, trying to keep precision and avoiding
11810 underflow/overflow.
11811 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
11812 functions. Make gst_clock_set_time_adjust obsolete.
11813 (gst_clock_set_time_adjust): Note that this function is obsolete.
11814 Will file bug soon.
11816 * gst/base/gstbasetransform.h: Make the ABI-stability hack
11817 greppable by using GST_PADDING-1+1.
11819 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
11821 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
11823 * gst/gstmessage.c: (gst_message_parse_clock_lost):
11824 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
11826 * gst/gstpadtemplate.h:
11827 * gst/gstpluginfeature.h:
11828 Don't use c++ style comments in headers (#321638).
11830 2005-11-16 Andy Wingo <wingo@pobox.com>
11832 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
11835 * check/net/gstnettimeprovider.c: Check to see that the time
11836 provider actually provides times. Works, yo!
11838 2005-11-16 Wim Taymans <wim@fluendo.com>
11840 * check/Makefile.am:
11843 * check/elements/fakesrc.c: (GST_START_TEST):
11844 Set element to NULL before disposing it.
11846 2005-11-16 Andy Wingo <wingo@pobox.com>
11848 * gst/net/Makefile.am:
11849 * gst/net/gstnet.h:
11850 * gst/net/gstnettimeprovider.c:
11851 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
11852 provider, include it from gstnet.h, and add it to the build.
11854 * gst/net/gstnettimepacket.h:
11855 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
11856 sending and receiving.
11858 2005-11-16 Wim Taymans <wim@fluendo.com>
11860 * check/Makefile.am:
11861 Enable valgrind check.
11863 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
11864 (gst_fake_src_alloc_buffer):
11867 2005-11-16 Wim Taymans <wim@fluendo.com>
11869 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
11870 Call parent finalize too.
11872 2005-11-16 Wim Taymans <wim@fluendo.com>
11874 * check/Makefile.am:
11875 Enable valgrind check that should work fine now.
11877 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
11878 * gst/gstqueue.c: (gst_queue_init):
11879 Fix memleaks in pad allocation.
11881 2005-11-16 Andy Wingo <wingo@pobox.com>
11883 * gst/net/Makefile.am:
11884 * gst/net/gstnet.h: New part of core to hold network elements and
11885 objects. Put in core because it exposes API that applications want
11886 to use. The library is named libgstnet-tempname right now because
11887 of the existing libgstnet in gst-plugins-base. Solution is
11888 probably to rename the one in plugins-base; will file a bug for
11891 * gst/net/gstnettimeprovider.c:
11892 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
11893 get_time call over the network.
11896 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
11898 * check/Makefile.am:
11899 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
11900 get additions shortly.
11902 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
11904 * gst/gstpad.c: (gst_pad_new_from_static_template):
11906 add gst_pad_new_from_static_template functions
11907 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
11908 (gst_check_setup_sink_pad):
11909 * gst/elements/gsttee.c: (gst_tee_init):
11912 2005-11-16 Wim Taymans <wim@fluendo.com>
11914 * gst/gstpad.c: (gst_pad_pause_task):
11915 Removed warning, it's not really an error either.
11917 2005-11-16 Wim Taymans <wim@fluendo.com>
11919 * gst/base/gstbasetransform.c:
11920 (gst_base_transform_prepare_output_buf),
11921 (gst_base_transform_event):
11922 Check if the caps are NULL, this can happen if the element
11923 is shutting down and the pad caps are set to NULL.
11925 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
11927 * gst/elements/gsttee.c: (gst_tee_init):
11928 fix pad template leak in tee
11930 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
11932 * gst/glib-compat.c: (g_value_dup_gst_object):
11933 * gst/glib-compat.h:
11934 * gst/gstpad.c: (gst_pad_set_property):
11935 use gst_object_ref when setting the pad template; this will
11936 trigger the pad template leaks on GLib 2.6 and the slaves
11938 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
11940 * gst/glib-compat.c: (gst_flags_get_first_value):
11941 * gst/glib-compat.h:
11942 * gst/gstregistryxml.c:
11943 remove functions copied from GLib 2.6
11945 2005-11-16 Michael Smith <msmith@fluendo.com>
11948 Don't link against VALGRIND_LIBS. That was always the wrong thing to
11949 do, but only breaks with newer valgrind versions. We're not a
11950 valgrind tool, we have no link-time dependencies on libcoregrind.
11952 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
11954 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11956 * gst/gstmessage.h:
11959 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
11961 * gst/base/gstbasesrc.c: (gst_base_src_init):
11962 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
11963 * gst/gstqueue.c: (gst_queue_init):
11964 * gst/gstregistryxml.c: (load_feature):
11965 Revert all these unrefs, they don't even pass make check !
11967 2005-11-15 Johan Dahlin <johan@gnome.org>
11969 * gst/base/gstbasesrc.c: (gst_base_src_init):
11970 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
11971 * gst/gstqueue.c: (gst_queue_init):
11972 Free pad templates, fixes a couple of leaks.
11974 2005-11-15 Daniel Fischer <dan at f3c dot com>
11976 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
11978 * gst/gstpad.c: (gst_pad_get_property):
11979 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
11980 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
11983 2005-11-15 Wim Taymans <wim@fluendo.com>
11988 2005-11-15 Andy Wingo <wingo@pobox.com>
11990 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
11992 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
11993 using GST_CLOCK_TIME_NONE to disable base time management.
11994 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
11995 time if it was NONE before.
11996 (gst_pipeline_change_state): Only munge the base time if
11997 stream_time != GST_CLOCK_TIME_NONE.
11999 * check/gst/gstpipeline.c (test_base_time): Punt around the
12000 problem of the probe not being called, because that's not the
12001 issue I'm looking at. Add a check that setting stream_time to NONE
12002 disables base time management.
12004 2005-11-15 Wim Taymans <wim@fluendo.com>
12006 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12007 segment_stop == -1 at startup.
12009 * gst/base/gstbasetransform.c: (gst_base_transform_event),
12010 (gst_base_transform_change_state):
12011 Init segment values at start.
12013 2005-11-15 Wim Taymans <wim@fluendo.com>
12015 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12016 0 segment values are 0 in any format.
12018 * gst/base/gstbasetransform.c: (gst_base_transform_event):
12019 * gst/base/gstbasetransform.h:
12020 Parse newsegment correctly in basetransform
12022 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12023 Sync to clock using updated segment values.
12025 2005-11-15 Andy Wingo <wingo@pobox.com>
12027 * check/gst/gstpipeline.c (test_base_time): Add check that the
12028 base time and stream time are reset correctly.
12030 2005-11-15 Wim Taymans <wim@fluendo.com>
12032 * docs/design/part-TODO.txt:
12033 Some more TODO items.
12035 2005-11-15 Andy Wingo <wingo@pobox.com>
12037 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12038 error if the user selected "no clock" as the clocking method.
12040 * check/gst/gstpipeline.c (test_base_time): New test for buffer
12041 timestamps with live capture.
12043 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12044 is 0 but we are a live source, timestamp the buffers using the
12047 2005-11-14 Stefan Kost <ensonic@users.sf.net>
12049 * docs/gst/gstreamer-sections.txt:
12051 * gst/gstghostpad.c:
12056 2005-11-14 Wim Taymans <wim@fluendo.com>
12059 add suppressions from Wim's Debian machine
12061 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
12064 add suppressions from Andy's AMD64 Ubuntu machine
12066 2005-11-14 Andy Wingo <wingo@pobox.com>
12068 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12069 STATE_LOCK not necessary. Fixes #311489.
12071 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12074 * gst/gstindex.c (gst_index_add_object): Note in the docs that
12075 this function is not implemented.
12077 2005-11-14 Julien MOUTTE <julien@moutte.net>
12079 * gst/base/gstbasetransform.c:
12080 (gst_base_transform_prepare_output_buf):
12081 Ref the source pad caps while we need them.
12084 2005-11-11 Wim Taymans <wim@fluendo.com>
12086 * docs/gst/gstreamer-sections.txt:
12087 Added some docs for GstCollectData.
12089 * gst/base/gstadapter.c:
12090 Some small code example fix.
12092 * gst/base/gstcollectpads.c:
12093 * gst/base/gstcollectpads.h:
12094 Document some more.
12096 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
12098 * configure.ac: back to HEAD
12100 === release 0.9.5 ===
12102 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
12105 releasing 0.9.5, "Bike Lunch Day"
12107 2005-11-11 Wim Taymans <wim@fluendo.com>
12109 * gst/gstbuffer.c: (_gst_buffer_copy):
12112 * gst/gstcaps.c: (gst_caps_is_equal):
12114 Make _is_equal fast in the trivial cases.
12116 * gst/gstminiobject.c:
12117 * gst/gstminiobject.h:
12118 More docs. Spifify .h file.
12123 2005-11-11 Wim Taymans <wim@fluendo.com>
12125 * gst/base/gstbasetransform.c:
12126 (gst_base_transform_prepare_output_buf),
12127 (gst_base_transform_handle_buffer):
12129 If we're processing a buffer and need to allocate an output
12130 buffer, we cannot accept a format change. If we did get a
12131 format change, we have to alloc a buffer ourselves of the
12134 2005-11-11 Wim Taymans <wim@fluendo.com>
12136 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12137 While checking the flag for reentrancy in the gstcaps function
12138 is nice to detect recursive invocations, it also makes it
12139 impossible to call getcaps from multiple threads, which must be
12140 possible. So, checking for recursive calls has to go.
12142 2005-11-11 Michael Smith <msmith@fluendo.com>
12144 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12145 Don't sync on buffers that fall partially outside our current
12146 segment. Prevents an assertion failure/abort playing some files.
12148 2005-11-10 Andy Wingo <wingo@pobox.com>
12150 * check/gst/gstbin.c (test_message_state_changed_children): Style
12153 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12154 gst_bus_poll with the signal watch. Ensures that poll and a signal
12155 watch see the same messages.
12157 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12158 a poll and a watch at the same time get the same messages.
12160 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
12162 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12163 * gst/gstcaps.c: (gst_caps_intersect):
12164 Don't call gst_caps_do_simplify - it doesn't respect order of caps
12165 and it's not needed.
12167 2005-11-10 Wim Taymans <wim@fluendo.com>
12169 * docs/design/part-TODO.txt:
12172 2005-11-10 Wim Taymans <wim@fluendo.com>
12174 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12175 * gst/base/gstbasesrc.c: (gst_base_src_wait),
12176 (gst_base_src_do_sync), (gst_base_src_get_range):
12177 Implement clock sync in base class.
12179 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
12181 patch by: Tim-Philipp Müller <tim at centricular dot net>
12183 * gst/gststructure.c: (gst_structure_parse_field),
12184 (gst_structure_from_string):
12185 Forward-port a 0.8 patch to handle escaped spaces in structure string,
12186 so that gst_parse_launch() can deal with spaces in filtered link
12187 caps (fixes #164479)
12188 * check/gst/capslist.h:
12189 * check/gst/gststructure.c: (GST_START_TEST):
12190 add unit tests for this change
12192 2005-11-10 Wim Taymans <wim@fluendo.com>
12194 * docs/gst/gstreamer-sections.txt:
12195 * gst/gstelement.c:
12196 * gst/gstelement.h:
12197 Fix docs, move some STATE macros to private.
12199 2005-11-10 Wim Taymans <wim@fluendo.com>
12201 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12202 Added check for bug #317341
12206 Some more spiffifying.
12208 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12209 Call peer linkfunction if we are a source pad. Totally fixes
12213 Update docs, source pads should call the peer linkfunction
12214 so they can atomically perform the pad link.
12216 2005-11-09 Wim Taymans <wim@fluendo.com>
12220 Uber-spiffy-spiffify some more.
12222 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
12224 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12225 * gst/elements/gstfilesink.c: (gst_file_sink_init):
12226 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12227 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12228 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12229 * gst/gstpad.c: (gst_pad_init):
12230 Use GST_DEBUG_FUNCPTR() more extensively.
12232 2005-11-09 Wim Taymans <wim@fluendo.com>
12234 * gst/gstobject.c: (gst_object_class_init):
12236 Documentation fixes.
12238 2005-11-09 Edward Hervey <edward@fluendo.com>
12240 * gst/gsttypefindfactory.c:
12243 2005-11-09 Edward Hervey <edward@fluendo.com>
12245 * gst/base/gsttypefindhelper.c:
12246 * gst/gsttypefind.c:
12247 * gst/gsttypefind.h:
12250 2005-11-09 Wim Taymans <wim@fluendo.com>
12252 * gst/gstiterator.c:
12259 2005-11-09 Wim Taymans <wim@fluendo.com>
12265 2005-11-09 Wim Taymans <wim@fluendo.com>
12267 * docs/gst/gstreamer-sections.txt:
12268 Moved the message async delivery private lock and cond
12269 to the private section.
12271 * gst/gstmessage.c:
12272 * gst/gstmessage.h:
12275 2005-11-09 Edward Hervey <edward@fluendo.com>
12277 * docs/gst/gstreamer-sections.txt:
12280 Document GstURIHandler
12282 2005-11-09 Wim Taymans <wim@fluendo.com>
12284 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12285 (gst_iterator_find_custom):
12286 * gst/gstiterator.h:
12289 2005-11-09 Wim Taymans <wim@fluendo.com>
12292 Document another field.
12294 * gst/gststructure.c:
12295 * gst/gststructure.h:
12298 2005-11-09 Wim Taymans <wim@fluendo.com>
12301 Documented structs.
12303 2005-11-09 Wim Taymans <wim@fluendo.com>
12305 * docs/gst/gstreamer-sections.txt:
12306 Added some new macros.
12313 2005-11-09 Wim Taymans <wim@fluendo.com>
12315 * docs/design/part-TODO.txt:
12316 Some more items for the TODO
12322 2005-11-09 Andy Wingo <wingo@pobox.com>
12324 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12325 to work on something else now tho...
12327 * gst/base/gstadapter.c: More adapter docs.
12329 * gst/elements/gstfilesink.c (gst_file_sink_start)
12330 (gst_file_sink_stop): New functions, replace the state change
12332 (gst_file_sink_class_init): Hook up the start and stop functions.
12333 (gst_file_sink_base_init): Don't set the state change handler any
12334 more. It was a bit ugly too, being set from here...
12335 (gst_file_sink_get_property, gst_file_sink_set_property):
12337 (gst_file_sink_set_location): More robust check that doesn't call
12338 GST_STATE. Ugggggg.
12340 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
12342 * gst/base/gstbasetransform.c: (gst_base_transform_event):
12343 Hold STREAM_LOCK while pushing newsegment or tag events as well.
12345 2005-11-08 Wim Taymans <wim@fluendo.com>
12347 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12348 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12349 (gst_base_sink_chain), (gst_base_sink_change_state):
12350 * gst/base/gstbasesink.h:
12351 * gst/base/gstbasesrc.h:
12352 * gst/gstelement.h:
12354 Avoid excessive typechecking in macros.
12356 * gst/gstminiobject.c: (gst_mini_object_get_type),
12357 (gst_mini_object_init), (gst_mini_object_new),
12358 (gst_mini_object_free):
12359 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12360 (gst_object_finalize):
12361 Remove cruft code, optimize alloc_trace.
12363 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
12365 * docs/faq/gst-uninstalled:
12366 fix up PS1 for systems that try to reset it
12368 2005-11-07 Wim Taymans <wim@fluendo.com>
12370 * gst/base/gstbasesrc.c: (gst_base_src_init),
12371 (gst_base_src_get_range):
12372 Set the segment_end to -1 initially. Fixed typefind.
12374 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
12376 * gst/base/gstadapter.c:
12377 Debug category should be 'adapter', not 'GstAdapter'.
12379 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12380 (gst_collectpads_class_init), (gst_collectpads_init),
12381 (gst_collectpads_peek), (gst_collectpads_pop),
12382 (gst_collectpads_event), (gst_collectpads_chain):
12383 Add debug category and some debugging output. Use boilerplate
12384 macros. Remove some extraneous words from docs.
12386 2005-11-05 Andy Wingo <wingo@pobox.com>
12388 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12391 2005-11-04 Stefan Kost <ensonic@users.sf.net>
12393 * docs/gst/gstreamer-sections.txt:
12396 * gst/gstminiobject.h:
12401 2005-11-04 Wim Taymans <wim@fluendo.com>
12403 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12404 Small update to stop at the configured segment_end
12407 2005-11-04 Stefan Kost <ensonic@users.sf.net>
12409 * gst/gstregistry.c:
12410 * gst/gstregistry.h:
12413 2005-11-04 Edward Hervey <edward@fluendo.com>
12415 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12416 Check if we are doing a segment seek and have arrived at the
12417 end of that segment.
12419 2005-11-04 Wim Taymans <wim@fluendo.com>
12421 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12422 Don't leak a mutex unlock in case of an error.
12427 2005-11-04 Wim Taymans <wim@fluendo.com>
12429 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12431 Get the context to wake up only once.
12433 2005-11-03 Wim Taymans <wim@fluendo.com>
12435 * check/states/sinks.c: (GST_START_TEST):
12436 Uncomment fixed check.
12438 * docs/design/part-TODO.txt:
12441 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12442 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12443 (gst_base_sink_get_position):
12444 If we are going to PLAYING, post the right pending state
12445 when we post the intermediate paused message.
12447 * gst/gstelement.c: (gst_element_continue_state),
12448 (gst_element_set_state_func), (gst_element_change_state):
12449 Don't post state changes that were between the same state
12450 and were not ASYNC.
12452 2005-11-03 Stefan Kost <ensonic@users.sf.net>
12454 * docs/gst/gstreamer-sections.txt:
12457 * gst/gstminiobject.h:
12460 more docs and doc style fixes
12462 2005-11-03 Stefan Kost <ensonic@users.sf.net>
12464 * docs/gst/gstreamer-sections.txt:
12465 * gst/gstelement.c:
12466 * gst/gstminiobject.c:
12469 2005-11-03 Andy Wingo <wingo@pobox.com>
12471 * check/states/sinks.c (test_livesrc_sink): Add checks that the
12472 state-changed messages actually have the right order and the right
12475 2005-11-03 Wim Taymans <wim@fluendo.com>
12477 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12478 Added some more checks. Specifically the case where NO_PREROLL
12479 elements are in the pipeline.
12481 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12482 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12483 (gst_base_sink_get_position):
12484 Post READY->PAUSED state change messages too.
12485 Fix bug where VOID was posted as pending state...
12487 * gst/gstbin.c: (gst_bin_recalc_state):
12488 use _element_continue_state() to continue the state change.
12490 * gst/gstelement.c: (gst_element_continue_state),
12491 (gst_element_commit_state), (gst_element_set_state_func),
12492 (gst_element_change_state), (gst_element_change_state_func):
12493 Lots of state change cleanups, assign the STATE_RETURN in
12494 a new continue_state() function that also propagates the
12495 last return value from a state change to the app.
12496 Update some debug statements with proper category.
12498 2005-11-03 Wim Taymans <wim@fluendo.com>
12500 * docs/design/part-events.txt:
12501 * docs/design/part-gstpipeline.txt:
12502 * docs/design/part-messages.txt:
12503 * docs/design/part-overview.txt:
12504 * docs/design/part-seeking.txt:
12505 * docs/design/part-states.txt:
12506 * docs/design/part-trickmodes.txt:
12507 * docs/manual/advanced-position.xml:
12508 Small docs updates.
12511 People think !! is ugly, this looks better.
12513 * gst/gstpad.c: (gst_pad_set_blocked_async):
12514 Remove !! since it's fixed elsewhere now.
12516 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
12518 * gst/gstminiobject.h:
12520 Add !! to _FLAG_IS_SET macros to make the result boolean.
12522 2005-11-03 Edward Hervey <edward@fluendo.com>
12524 * gst/gstpad.c: (gst_pad_set_blocked_async):
12525 comparing a flag and a gboolean rarely returns coherent results...
12526 Added two characters (!!) to make that work correctly.
12528 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
12530 * gst/gstbus.c: (gst_bus_class_init):
12533 * gst/gstqueue.c: (gst_queue_loop):
12534 Don't assume a miniobject that isn't a buffer is an
12535 event (it could be that there is a refcounting
12536 problem somewhere and the pointer is stale and
12537 refers to an already destroyed miniobject).
12539 2005-11-03 Julien MOUTTE <julien@moutte.net>
12541 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
12543 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
12545 * docs/manual/advanced-position.xml:
12546 Update seek example and explanations to current 0.9 API.
12548 * gst/elements/gsttypefindelement.c:
12549 (gst_type_find_element_activate):
12550 Remove FIXME comment now that the found caps
12553 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
12555 * gst/gstregistryxml.c: (load_feature):
12556 Add another GST_STR_NULL instance
12558 2005-11-02 Edward Hervey <edward@fluendo.com>
12560 * gst/gstpad.c: (handle_pad_block):
12561 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
12563 2005-11-02 Wim Taymans <wim@fluendo.com>
12568 * gst/gstelement.c: (gst_element_commit_state):
12569 Remove unused value.
12571 * gst/gstiterator.c:
12572 Mention that the returned element is reffed in the docs.
12574 2005-11-02 Wim Taymans <wim@fluendo.com>
12576 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
12577 (gst_pad_push), (gst_pad_push_event):
12578 Unlock blocked pads when they are flushed.
12580 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
12583 * docs/gst/gstreamer-sections.txt:
12586 * gst/gstregistry.c: (gst_registry_scan_path_level):
12587 fix for a nasty little missed situation where an installed plug-in
12588 which was in the cache did not get overridden by an uninstalled one
12589 which was earlier in the plugin path because the newly created plugin
12590 for the uninstalled one (not in the registry) didn't get its
12591 ->registered set to TRUE
12593 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
12595 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
12596 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
12597 (gst_collectpads_is_active), (gst_collectpads_collect),
12598 (gst_collectpads_collect_range), (gst_collectpads_start),
12599 (gst_collectpads_stop), (gst_collectpads_peek),
12600 (gst_collectpads_pop), (gst_collectpads_available),
12601 (gst_collectpads_read), (gst_collectpads_flush):
12602 Guard public API with assertions.
12605 Fix docs for gst_pad_set_link_function().
12607 2005-11-02 Johan Dahlin <johan@gnome.org>
12609 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
12610 Unref found_caps after we used it.
12612 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
12614 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
12615 Don't try to ref NULL.
12617 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
12619 * win32/common/config.h.in:
12620 provide a GST_FUNCTION that just gives a string for now
12622 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
12624 * win32/common/gstenumtypes.c: (register_gst_object_flags),
12625 (gst_object_flags_get_type), (register_gst_bin_flags),
12626 (gst_bin_flags_get_type), (register_gst_buffer_flag),
12627 (gst_buffer_flag_get_type), (register_gst_bus_flags),
12628 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
12629 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
12630 (gst_clock_return_get_type), (register_gst_clock_entry_type),
12631 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12632 (gst_clock_flags_get_type), (register_gst_state),
12633 (gst_state_get_type), (register_gst_state_change_return),
12634 (gst_state_change_return_get_type), (register_gst_state_change),
12635 (gst_state_change_get_type), (register_gst_element_flags),
12636 (gst_element_flags_get_type), (register_gst_core_error),
12637 (gst_core_error_get_type), (register_gst_library_error),
12638 (gst_library_error_get_type), (register_gst_resource_error),
12639 (gst_resource_error_get_type), (register_gst_stream_error),
12640 (gst_stream_error_get_type), (register_gst_event_type),
12641 (gst_event_type_get_type), (register_gst_seek_type),
12642 (gst_seek_type_get_type), (register_gst_seek_flags),
12643 (gst_seek_flags_get_type), (register_gst_format),
12644 (gst_format_get_type), (register_gst_index_certainty),
12645 (gst_index_certainty_get_type), (register_gst_index_entry_type),
12646 (gst_index_entry_type_get_type),
12647 (register_gst_index_lookup_method),
12648 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12649 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12650 (gst_index_resolver_method_get_type), (register_gst_index_flags),
12651 (gst_index_flags_get_type), (register_gst_debug_level),
12652 (gst_debug_level_get_type), (register_gst_debug_color_flags),
12653 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
12654 (gst_iterator_result_get_type), (register_gst_iterator_item),
12655 (gst_iterator_item_get_type), (register_gst_message_type),
12656 (gst_message_type_get_type), (register_gst_mini_object_flags),
12657 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
12658 (gst_pad_link_return_get_type), (register_gst_flow_return),
12659 (gst_flow_return_get_type), (register_gst_activate_mode),
12660 (gst_activate_mode_get_type), (register_gst_pad_direction),
12661 (gst_pad_direction_get_type), (register_gst_pad_flags),
12662 (gst_pad_flags_get_type), (register_gst_pad_presence),
12663 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
12664 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
12665 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
12666 (gst_plugin_error_get_type), (register_gst_plugin_flags),
12667 (gst_plugin_flags_get_type), (register_gst_rank),
12668 (gst_rank_get_type), (register_gst_query_type),
12669 (gst_query_type_get_type), (register_gst_tag_merge_mode),
12670 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
12671 (gst_tag_flag_get_type), (register_gst_task_state),
12672 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
12673 (gst_alloc_trace_flags_get_type),
12674 (register_gst_type_find_probability),
12675 (gst_type_find_probability_get_type), (register_gst_uri_type),
12676 (gst_uri_type_get_type), (register_gst_parse_error),
12677 (gst_parse_error_get_type):
12678 * win32/common/gstversion.h:
12679 update win32 copies
12681 2005-11-01 Luca Ognibene <luogni@tin.it>
12684 fix docs. popt is dead, long live GOption.
12686 2005-10-31 Wim Taymans <wim@fluendo.com>
12691 2005-10-31 Andy Wingo <wingo@pobox.com>
12695 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
12697 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
12698 need to serialize property notifications on GLib 2.8. GLib 2.6 has
12699 the possibility of deadlocks here if code calling notify() or
12700 set() has a lock that can be taken in another notify handler (ABBA
12701 with class lock and e.g. python GIL state lock).
12703 2005-10-28 Julien MOUTTE <julien@moutte.net>
12705 * gst/gstbus.c: Doc updates.
12707 2005-10-28 Wim Taymans <wim@fluendo.com>
12709 * docs/design/part-TODO.txt:
12710 * gst/gstiterator.c:
12711 * gst/gstsystemclock.c:
12712 * gst/gstsystemclock.h:
12715 2005-10-28 Edward Hervey <edward@fluendo.com>
12717 * docs/gst/gstreamer-docs.sgml:
12718 * docs/gst/gstreamer-sections.txt:
12719 the GstURIType documentation page is private, it only defines GstURIType
12720 which should be defined in the GstURIHandler page
12722 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
12724 * gst/gstbin.c: (gst_bin_class_init):
12727 Documentation updates.
12729 2005-10-28 Wim Taymans <wim@fluendo.com>
12731 * docs/gst/gstreamer-sections.txt:
12734 Documented the clocks.
12736 2005-10-28 Stefan Kost <ensonic@users.sf.net>
12738 * docs/gst/gstreamer-sections.txt:
12739 move some macros to private sections
12740 * gst/gstminiobject.c:
12741 * gst/gstminiobject.h:
12742 add descriptions provided by ds and some more
12744 mark macro as to be removed
12746 2005-10-28 Wim Taymans <wim@fluendo.com>
12748 * docs/design/part-TODO.txt:
12749 Add an item to TODO.
12751 * gst/gstiterator.c: (gst_iterator_fold),
12752 (gst_iterator_find_custom):
12753 * gst/gstiterator.h:
12756 2005-10-28 Wim Taymans <wim@fluendo.com>
12758 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12759 (gst_base_transform_init):
12762 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
12763 An EOS event marks the queue as completely filled.
12765 2005-10-27 Wim Taymans <wim@fluendo.com>
12767 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12768 (gst_base_sink_do_sync), (gst_base_sink_get_position):
12769 Some more debugging.
12771 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
12772 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
12773 (gst_base_transform_event), (gst_base_transform_getrange),
12774 (gst_base_transform_chain):
12775 * gst/base/gstbasetransform.h:
12777 Protect transform and concurrent buffer alloc with a new lock.
12778 Try not to break ABI/API.
12780 2005-10-27 Wim Taymans <wim@fluendo.com>
12782 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12783 (gst_base_src_init), (gst_base_src_query),
12784 (gst_base_src_default_newsegment),
12785 (gst_base_src_configure_segment), (gst_base_src_do_seek),
12786 (gst_base_src_send_event), (gst_base_src_event_handler),
12787 (gst_base_src_pad_get_range), (gst_base_src_loop),
12788 (gst_base_src_unlock), (gst_base_src_default_negotiate),
12789 (gst_base_src_start), (gst_base_src_deactivate),
12790 (gst_base_src_activate_push), (gst_base_src_change_state):
12791 Move some stuff around and cleanup things.
12793 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
12795 * gst/base/gstbasesrc.c: (gst_base_src_query):
12796 Add missing break statements.
12798 2005-10-27 Wim Taymans <wim@fluendo.com>
12800 * check/gst/gstbin.c: (GST_START_TEST):
12801 An extra refcount is taken in basesrc.
12803 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
12804 (gst_base_src_get_range), (gst_base_src_pad_get_range),
12805 (gst_base_src_loop):
12806 Small cleanups, check for flushing after being unlocked from the
12807 LIVE_LOCK. take refcounts correctly (not yet everywhere).
12808 Don't send out EOS when going to READY.
12810 2005-10-27 Wim Taymans <wim@fluendo.com>
12812 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12813 (gst_base_sink_get_position):
12816 * gst/gstbin.c: (message_check), (bin_replace_message),
12817 (bin_remove_messages), (is_eos), (gst_bin_add_func),
12818 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12819 (bin_query_duration_init), (bin_query_duration_fold),
12820 (bin_query_duration_done), (bin_query_generic_fold),
12822 * tools/gst-launch.c: (main):
12825 2005-10-26 Stefan Kost <ensonic@users.sf.net>
12827 * examples/controller/audio-example.c: (main):
12828 * examples/queue/queue.c: (event_loop):
12829 * gst/base/gstbasetransform.h:
12830 * gst/gstelement.c: (gst_element_send_event):
12832 * gst/gstpad.c: (gst_pad_send_event):
12835 changing log priority in error situations
12837 2005-10-25 Wim Taymans <wim@fluendo.com>
12839 * gst/gstbin.c: (message_check), (bin_replace_message),
12840 (bin_remove_messages), (is_eos), (gst_bin_add_func),
12841 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12842 (bin_query_duration_init), (bin_query_duration_fold),
12843 (bin_query_duration_done), (bin_query_generic_fold),
12845 Some doc and debug updates.
12846 Cache previously requested query DURATION for speed. invalidate
12847 cached duration if element posts a DURATION message.
12849 2005-10-25 Wim Taymans <wim@fluendo.com>
12851 * docs/design/part-TODO.txt:
12854 * gst/gstbin.c: (message_check), (bin_replace_message),
12855 (bin_remove_messages), (is_eos), (gst_bin_add_func),
12856 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12857 (bin_query_duration_init), (bin_query_duration_fold),
12858 (bin_query_duration_done), (bin_query_generic_fold),
12860 Handle SEGMENT_START/DONE messages correctly.
12861 More evolved query algorithm that handles duration queries
12864 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
12865 (gst_element_get_state_func), (gst_element_abort_state),
12866 (gst_element_commit_state), (gst_element_lost_state):
12867 Some more debugging.
12869 * gst/gstmessage.h:
12872 2005-10-25 Wim Taymans <wim@fluendo.com>
12874 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12875 Don't use invalid stream_time.
12877 * gst/gstevent.c: (gst_event_new_newsegment):
12878 stream_time in newsegment cannot be undefined.
12880 2005-10-24 Wim Taymans <wim@fluendo.com>
12885 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12887 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
12889 2005-10-24 Stefan Kost <ensonic@users.sf.net>
12891 * docs/libs/tmpl/gstdparam.sgml:
12892 * docs/libs/tmpl/gstdplinint.sgml:
12893 * docs/libs/tmpl/gstdpman.sgml:
12894 * docs/libs/tmpl/gstdpsmooth.sgml:
12895 * docs/libs/tmpl/gstunitconvert.sgml:
12898 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
12903 === release 0.9.4 ===
12905 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
12908 releasing 0.9.4, "Tyrannosaurus Rex"
12910 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
12912 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
12913 (gst_file_sink_get_current_offset):
12914 Use fseeko() and ftello() if available. When falling back on
12915 lseek() to get the current offset, fflush() first to make sure
12916 everything is up-to-date and we get the right offset.
12918 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
12920 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12921 * gst/base/gstbasesrc.c: (gst_base_src_loop):
12922 * gst/gsterror.c: (_gst_stream_errors_init):
12924 * gst/gstqueue.c: (gst_queue_loop):
12926 remove prematurely added error category and clean up the instances
12928 2005-10-21 Wim Taymans <wim@fluendo.com>
12930 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12931 (gst_base_sink_get_position), (gst_base_sink_query),
12932 (gst_base_sink_change_state):
12933 Simply set the right flag when going to playing, that's all
12934 we need to do instead of calling a function inside the object
12935 lock (that could take the lock as well and deadlock)
12937 2005-10-21 Wim Taymans <wim@fluendo.com>
12939 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
12940 (gst_base_src_loop):
12941 Don't warn, the peer element knows what to do best when
12942 the seek failed, it might try something else.
12944 2005-10-21 Wim Taymans <wim@fluendo.com>
12946 * gst/base/gstbasesrc.c: (gst_base_src_init),
12947 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
12950 2005-10-21 Wim Taymans <wim@fluendo.com>
12952 * docs/design/part-segments.txt:
12955 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12956 Correctly set caps, even on the subbufer.
12958 2005-10-21 Wim Taymans <wim@fluendo.com>
12960 * docs/gst/gstreamer-docs.sgml:
12961 * docs/gst/gstreamer-sections.txt:
12962 * gst/gstelement.h:
12965 * gst/gstmessage.h:
12968 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
12972 And 2% more doc coverage.
12974 2005-10-21 Andy Wingo <wingo@pobox.com>
12976 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
12977 position reporting.
12979 2005-10-20 Wim Taymans <wim@fluendo.com>
12981 * gst/gsterror.c: (gst_error_get_message):
12984 * gst/gststructure.c:
12989 2005-10-20 Wim Taymans <wim@fluendo.com>
12994 Another 1% more coverage.
12996 2005-10-20 Wim Taymans <wim@fluendo.com>
12998 * docs/gst/gstreamer-sections.txt:
12999 * gst/gstelement.c: (gst_element_get_state_func),
13000 (gst_element_abort_state), (gst_element_commit_state),
13001 (gst_element_lost_state):
13003 * gst/gstquery.c: (gst_query_set_position),
13004 (gst_query_parse_position), (gst_query_set_duration),
13005 (gst_query_parse_duration), (gst_query_new_convert):
13007 Yay! 1% more docs coverage.
13009 2005-10-20 Wim Taymans <wim@fluendo.com>
13012 * gst/gstquery.c: (gst_query_set_position),
13013 (gst_query_parse_position), (gst_query_set_duration),
13014 (gst_query_parse_duration), (gst_query_new_convert):
13016 * gst/gstutils.c: (gst_element_query_convert):
13018 Docs and consistency fixes.
13020 2005-10-20 Wim Taymans <wim@fluendo.com>
13026 2005-10-20 Wim Taymans <wim@fluendo.com>
13028 * gst/gstbin.c: (message_check), (bin_replace_message),
13029 (bin_remove_messages), (is_eos), (gst_bin_add_func),
13030 (update_degree), (gst_bin_sort_iterator_next),
13031 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13032 Reworked the message handling a bit, cache the messages instead of
13033 only the senders. alows us to do more in the future.
13035 2005-10-20 Wim Taymans <wim@fluendo.com>
13037 * docs/design/part-TODO.txt:
13040 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13041 (gst_base_sink_query):
13042 Don't use clock time to report position when in EOS.
13044 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
13046 * tools/gst-inspect.c: (print_interfaces),
13047 (print_element_properties_info), (print_element_info):
13048 Fix interface output with gst-inspect -a; don't print
13049 newlines after double/float properties.
13051 2005-10-20 Wim Taymans <wim@fluendo.com>
13053 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13054 (gst_base_sink_query):
13055 Speed up current position calculation.
13057 * gst/base/gstbasesrc.c: (gst_base_src_query),
13058 (gst_base_src_default_newsegment):
13059 Correctly set stream position in newsegment.
13061 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13062 (update_degree), (gst_bin_sort_iterator_next),
13063 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13064 * gst/gstmessage.c: (gst_message_new_custom):
13065 Clean up debugging info
13067 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13068 (gst_queue_loop), (gst_queue_handle_src_query):
13071 2005-10-19 Wim Taymans <wim@fluendo.com>
13073 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13074 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13075 Fix query handling again.
13077 2005-10-19 Wim Taymans <wim@fluendo.com>
13079 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13080 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13081 * gst/base/gstbasesrc.c: (gst_base_src_query):
13082 * gst/elements/gstfilesink.c: (gst_file_sink_query):
13083 * gst/elements/gsttypefindelement.c:
13084 (gst_type_find_handle_src_query), (find_element_get_length),
13085 (gst_type_find_element_activate):
13088 * gst/gstquery.c: (gst_query_new_position),
13089 (gst_query_set_position), (gst_query_parse_position),
13090 (gst_query_new_duration), (gst_query_set_duration),
13091 (gst_query_parse_duration), (gst_query_set_segment),
13092 (gst_query_parse_segment):
13094 Bundling query position/duration is not a good idea since duration
13095 does not change much and we don't want to recalculate it for every
13096 position query, so they are separated again..
13097 Base value in segment query is not needed.
13099 * gst/gstqueue.c: (gst_queue_handle_src_query):
13100 * gst/gstutils.c: (gst_element_query_position),
13101 (gst_element_query_duration), (gst_pad_query_position),
13102 (gst_pad_query_duration):
13104 Updates for query API change.
13105 Added some docs here and there.
13107 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
13109 * check/gst/gstbin.c: (GST_START_TEST):
13110 * check/gst/gstghostpad.c: (GST_START_TEST):
13111 * check/pipelines/cleanup.c: (GST_START_TEST):
13112 wait on thread to die so we can check refcount correctly
13114 2005-10-18 Wim Taymans <wim@fluendo.com>
13116 * check/pipelines/stress.c: (GST_START_TEST):
13117 Make check a little more time consuming.
13119 2005-10-18 Wim Taymans <wim@fluendo.com>
13121 * check/Makefile.am:
13122 * check/pipelines/stress.c: (GST_START_TEST),
13123 (simple_launch_lines_suite), (main):
13124 Small state change torture test.
13126 * docs/design/part-states.txt:
13127 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13128 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13129 (gst_base_sink_change_state):
13130 Never take state lock from streaming thread, clean up ugly
13131 hacks. Unfortunatly core does not yet support nice ways to
13132 async commit state.
13134 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13136 Start state recalc if a STATE_DIRTY message is posted, but only
13137 on the toplevel bin.
13139 * gst/gstelement.c: (gst_element_sync_state_with_parent),
13140 (gst_element_get_state_func), (gst_element_abort_state),
13141 (gst_element_commit_state), (gst_element_lost_state),
13142 (gst_element_set_state_func), (gst_element_change_state):
13143 * gst/gstelement.h:
13144 State variables are now protected with the LOCK, the state
13145 lock is only used to serialize _set_state().
13147 2005-10-18 Wim Taymans <wim@fluendo.com>
13149 * check/gst/gstbin.c: (GST_START_TEST):
13150 * check/gst/gstmessage.c: (GST_START_TEST):
13151 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13152 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13154 * gst/gstelement.c: (gst_element_abort_state),
13155 (gst_element_commit_state), (gst_element_lost_state):
13156 * gst/gstmessage.c: (gst_message_new_state_changed),
13157 (gst_message_new_state_dirty), (gst_message_new_segment_start),
13158 (gst_message_new_segment_done), (gst_message_new_duration),
13159 (gst_message_parse_state_changed),
13160 (gst_message_parse_segment_start),
13161 (gst_message_parse_segment_done), (gst_message_parse_duration):
13162 * gst/gstmessage.h:
13163 * tools/gst-launch.c: (event_loop):
13164 Seriously, this is better than a previous commit as we only need
13165 to notify the fact that an element changed state in a streaming
13166 thread, marking the state of the parents dirty, hence the
13167 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13170 2005-10-18 Wim Taymans <wim@fluendo.com>
13172 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13173 (gst_bin_recalc_func):
13174 * gst/gstelement.c: (gst_element_set_clock),
13175 (gst_element_abort_state), (gst_element_lost_state):
13176 Cleanups, prepare for state change fixes.
13178 2005-10-18 Wim Taymans <wim@fluendo.com>
13181 * gst/gstelement.c: (gst_element_class_init),
13182 (gst_element_set_state), (gst_element_set_state_func):
13183 * gst/gstelement.h:
13184 Pending ABI changes.
13185 GThreadPool in GstBinClass to monitor async state changes.
13186 state_cookie in GstElement to detect concurrent gst/set state.
13187 set_state is now virtual too in case a very complicated element
13188 has to be constructed.
13190 2005-10-18 Wim Taymans <wim@fluendo.com>
13192 * check/gst/gstbin.c: (GST_START_TEST):
13193 * check/gst/gstmessage.c: (GST_START_TEST):
13194 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13195 * gst/gstbin.c: (bin_bus_handler):
13196 * gst/gstelement.c: (gst_element_commit_state),
13197 (gst_element_lost_state):
13198 * gst/gstmessage.c: (gst_message_new_state_changed),
13199 (gst_message_new_segment_start), (gst_message_new_segment_done),
13200 (gst_message_new_duration), (gst_message_parse_state_changed),
13201 (gst_message_parse_segment_start),
13202 (gst_message_parse_segment_done), (gst_message_parse_duration):
13203 * gst/gstmessage.h:
13204 * tools/gst-launch.c: (event_loop):
13205 Make messages future proof.
13206 state-change gets a flag if it was a message comming from the
13208 segment-start/stop can also be specified in other formats.
13209 A message to notify an app that a pipeline changed playback
13211 Also fix a GstMessage leak in -launch
13213 2005-10-18 Andy Wingo <wingo@pobox.com>
13215 * gst/gstelement.c (gst_element_dispose): More helpful message.
13217 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
13219 reviewed by: <delete if not using a buddy>
13221 * common/gtk-doc.mak:
13223 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
13225 * gst/gstregistry.c: (gst_registry_scan_path_level):
13226 unref a plug-in we get that was already initialized
13228 2005-10-18 Stefan Kost <ensonic@users.sf.net>
13230 * docs/gst/gstreamer-sections.txt:
13231 * docs/libs/gstreamer-libs-sections.txt:
13232 * gst/gstelement.h:
13233 add new api entries
13234 hide internal macro
13236 2005-10-17 Andy Wingo <wingo@pobox.com>
13238 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13241 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13243 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13245 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13246 (gst_element_get_state_func): Better debug message.
13247 (gst_element_commit_state): s/INFO/DEBUG/.
13248 (gst_element_lost_state, gst_element_change_state):
13250 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13251 (gst_message_new_custom): s/INFO/LOG/.
13253 2005-10-17 Michael Smith <msmith@fluendo.com>
13255 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13256 Check if end time is valid using end time, not start time.
13258 2005-10-17 Stefan Kost <ensonic@users.sf.net>
13260 * check/gst-libs/controller.c: (GST_START_TEST),
13261 (gst_controller_suite):
13262 * libs/gst/controller/gstcontroller.c:
13263 (gst_controlled_property_set_interpolation_mode):
13264 * libs/gst/controller/gstcontroller.h:
13265 * libs/gst/controller/gstinterpolation.c:
13266 * testsuite/controller/.cvsignore:
13267 * testsuite/controller/Makefile.am:
13268 * testsuite/controller/interpolator.c:
13269 merge controller testsuites
13271 remove mem-chunk from docs
13273 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
13275 * gst/gstmemchunk.c:
13276 * gst/gstmemchunk.h:
13277 * gst/gsttrashstack.c:
13278 * gst/gsttrashstack.h:
13279 out. get out. you're fired. to the Attic !
13281 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
13283 * gst/gstcaps.c: (gst_caps_intersect):
13284 fix signedness issues in a (hopefully) correct way
13285 * gst/gstelement.c: (gst_element_pads_activate):
13287 * gst/gstobject.c: (gst_object_set_parent):
13290 2005-10-17 Julien MOUTTE <julien@moutte.net>
13292 * gst/gstvalue.h: Fix prototypes.
13294 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13296 * docs/gst/gstreamer-sections.txt:
13297 * gst/gst.c: (gst_version_string):
13299 * gst/gstversion.h.in:
13300 * win32/common/libgstreamer.def:
13301 add gst_version_string ()
13303 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13307 * gst/gst.c: (init_post):
13308 * win32/common/config.h.in:
13310 * gst/gstcaps.c: (gst_caps_intersect):
13311 use gint64, the range could be bigger than a guint
13313 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13316 document potential problem in 2038
13318 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13320 * gst/gstcaps.c: (gst_caps_intersect):
13321 Fix guint j diving under 0
13323 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13326 * win32/common/config.h:
13327 * win32/common/config.h.in:
13328 check for process.h, declares getpid() on Windows
13330 include process.h if we have it
13331 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13332 * gst/gstmemchunk.h:
13333 fix signedness issues
13334 * win32/common/libgstreamer.def:
13337 2005-10-16 Julien MOUTTE <julien@moutte.net>
13339 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13340 fix. Because of unsigned ints, caps intersection was going nuts and
13341 trying to access structures with G_MAXUINT index. That fixes
13342 videotestsrc ! ffmpegcolorspace ! fakesink
13343 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13346 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13349 use the gettext macro
13350 * gst/elements/gstelements.c:
13352 * gst/indexers/gstindexers.c:
13353 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13354 * win32/common/config.h:
13356 * win32/common/config.h.in:
13357 add the template to generate config.h
13358 * win32/common/gstenumtypes.c:
13359 * win32/common/gstversion.h:
13362 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13364 * gst/gst.c: (gst_version):
13365 * gst/gstversion.h.in:
13368 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
13371 Oops, add missing closing bracket.
13373 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13376 use common m4's for argument checking
13378 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
13380 * docs/gst/gstreamer-sections.txt:
13382 Add GST_EVENT_TYPE_NAME() macro.
13384 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13387 * gst/gstpluginfeature.c:
13389 privatize more symbols
13391 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13394 add srcdir, builddir includes to GST_ALL_CFLAGS, since
13395 everything that uses GStreamer API should have the includes
13397 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13399 * docs/gst/gstreamer-sections.txt:
13400 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13402 give each value a _get_type, removes the DATA exports
13404 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13408 remove _gst_registry_auto_load, not used anymore
13409 * gst/gstbin.c: (gst_bin_get_type):
13411 * gst/gstelement.c: (gst_element_get_type):
13412 * gst/gstelement.h:
13413 * gst/gstobject.c: (gst_object_get_type):
13415 * gst/gstpad.c: (gst_pad_get_type):
13417 make _get_type functions similar, fixes data export from library
13419 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13422 correctly make conditionals
13423 * gst/elements/Makefile.am:
13424 * gst/elements/gstelements.c:
13425 fix typo causing fdsrc not to build
13427 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13429 * testsuite/Makefile.am:
13430 * testsuite/bytestream/.cvsignore:
13431 * testsuite/bytestream/Makefile.am:
13432 * testsuite/bytestream/filepadsink.c:
13433 * testsuite/bytestream/gstbstest.c:
13434 * testsuite/bytestream/test1.c:
13435 * testsuite/bytestream/testfile1:
13436 * testsuite/caps/normalisation.c:
13437 * testsuite/caps/random.c: (main):
13438 * testsuite/cleanup/.cvsignore:
13439 * testsuite/cleanup/Makefile.am:
13440 * testsuite/cleanup/cleanup1.c:
13441 * testsuite/cleanup/cleanup2.c:
13442 * testsuite/cleanup/cleanup3.c:
13443 * testsuite/cleanup/cleanup4.c:
13444 * testsuite/cleanup/cleanup5.c:
13445 * testsuite/controller/interpolator.c:
13446 * testsuite/debug/printf_extension.c: (main):
13447 * testsuite/elements/tee.c:
13448 * testsuite/negotiation/.cvsignore:
13449 * testsuite/negotiation/Makefile.am:
13450 * testsuite/negotiation/pad_link.c:
13451 * testsuite/pad/Makefile.am:
13452 * testsuite/pad/chainnopull.c:
13453 * testsuite/pad/getnopush.c:
13454 * testsuite/pad/link.c:
13455 * testsuite/refcounting/sched.c: (create_pipeline):
13456 * testsuite/registry/Makefile.am:
13457 * testsuite/registry/gst-print-formats.c:
13458 * testsuite/schedulers/.cvsignore:
13459 * testsuite/schedulers/142183-2.c:
13460 * testsuite/schedulers/142183.c:
13461 * testsuite/schedulers/143777-2.c:
13462 * testsuite/schedulers/143777.c:
13463 * testsuite/schedulers/147713.c:
13464 * testsuite/schedulers/147819.c:
13465 * testsuite/schedulers/147894-2.c:
13466 * testsuite/schedulers/147894.c:
13467 * testsuite/schedulers/Makefile.am:
13468 * testsuite/schedulers/group_link.c:
13469 * testsuite/schedulers/queue_link.c:
13470 * testsuite/schedulers/relink.c:
13471 * testsuite/schedulers/unlink.c:
13472 * testsuite/schedulers/unref.c:
13473 * testsuite/schedulers/useless_iteration.c:
13474 * testsuite/states/bin.c:
13475 clean out/remove some stuff from the testsuite directories
13477 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13480 check for some headers
13481 * gst/elements/Makefile.am:
13482 * gst/elements/gstelements.c:
13483 don't compile fdsrc without sys/socket.h
13484 * gst/indexers/Makefile.am:
13485 * gst/indexers/gstindexers.c: (plugin_init):
13486 don't compile fileindex without mmap
13488 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13495 * check/Makefile.am:
13496 * docs/gst/Makefile.am:
13497 * examples/helloworld/Makefile.am:
13499 * gst/base/Makefile.am:
13500 * gst/check/Makefile.am:
13501 * gst/elements/Makefile.am:
13502 * gst/indexers/Makefile.am:
13503 * gst/parse/Makefile.am:
13504 * libs/gst/controller/Makefile.am:
13505 * libs/gst/dataprotocol/Makefile.am:
13506 * examples/helloworld/helloworld.c: (event_loop):
13507 compile fixes, though it's not being compiled currently
13509 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
13511 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
13512 Add some simple tests for the new taglist date API.
13514 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
13516 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
13517 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
13518 Beautify 'last-message' output: print 'none' for buffer timestamps
13519 and durations if none is set; improve alignment with next messages.
13521 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
13523 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
13524 * gst/gstpluginfeature.h:
13525 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
13526 * gst/gstregistry.h:
13527 * docs/gst/gstreamer-sections.txt:
13528 Add new API to check plugin feature version requirements.
13530 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
13531 Some basic tests for the above.
13533 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13535 * gst/gststructure.c: (gst_structure_to_string):
13536 guard against NULL printf - happens when for example
13537 a message structure with GstClock gets serialized
13539 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
13541 * gst/base/gstcollectpads.c: (gst_collectpads_event):
13542 Fix presumable copy'n'pasto.
13544 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13546 * gst/elements/gstfakesrc.h:
13547 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
13548 * gst/elements/gsttypefindelement.c:
13549 fix some signedness
13550 * gst/elements/gstfilesink.c: (gst_file_sink_render):
13551 I wonder if this could actually write +2GB files before
13553 2005-10-13 Andy Wingo <wingo@pobox.com>
13555 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
13556 Fix Timmeke Waymans bug.
13557 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
13558 string of the proper length to gst_caps_from_string. There's a
13559 potential for, before this fix, that this could cause someone
13560 connecting over the network to cause a segfault if the payload is
13561 not NUL-terminated.
13563 2005-10-13 Stefan Kost <ensonic@users.sf.net>
13565 * docs/design/draft-push-pull.txt:
13566 * docs/design/part-overview.txt:
13567 * docs/random/TODO-pre-0.9:
13568 * docs/random/old/ChangeLog.gstreamer:
13569 * gst/base/gstpushsrc.c:
13573 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13575 * gst/glib-compat.c: (gst_flags_get_first_value):
13576 * gst/glib-compat.h:
13577 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
13578 (gst_value_compare_double), (gst_value_serialize_flags):
13579 GLib 2.6 g_flags_get_first_value has a bug that triggers an
13582 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13584 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13585 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13587 * tools/gst-launch.c: (event_loop):
13588 print out clock nicely
13590 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
13592 * docs/gst/gstreamer-sections.txt:
13593 * gst/gsttaglist.h:
13594 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
13595 (gst_tag_list_get_date_index):
13596 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
13597 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
13599 2005-10-13 Julien MOUTTE <julien@moutte.net>
13601 * gst/base/gstcollectpads.c: (gst_collectpads_event),
13602 (gst_collectpads_chain):
13603 * gst/base/gstcollectpads.h: Handle newsegment and store informations
13606 2005-10-13 Stefan Kost <ensonic@users.sf.net>
13608 * docs/gst/gstreamer-sections.txt:
13611 * tools/gst-inspect.c: (main):
13612 * tools/gst-launch.c: (main):
13613 * tools/gst-run.c: (main):
13614 * tools/gst-xmlinspect.c: (main):
13615 fix GOption context leaks
13618 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13622 * win32/common/config.h:
13624 * win32/vs6/grammar.dsp:
13625 * win32/vs6/libgstelements.dsp:
13626 * win32/vs6/libgstreamer.dsp:
13629 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
13631 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13632 * gst/base/gstbasesrc.c: (gst_base_src_query):
13633 fix more guint64<->gdouble conversions
13635 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
13638 add win32-update target
13639 * win32/common/gstconfig.h:
13640 * win32/common/gstenumtypes.c:
13641 * win32/common/gstenumtypes.h:
13642 * win32/common/gstversion.h:
13643 add files that visual studio can't generate
13645 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
13648 add a win32-update target
13651 2005-10-12 Wim Taymans <wim@fluendo.com>
13653 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13654 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
13655 * gst/gstelement.c: (gst_element_commit_state),
13656 (gst_element_set_state):
13657 Protect flags with proper lock.
13658 unref provided cached clock in dispose.
13660 2005-10-12 Stefan Kost <ensonic@users.sf.net>
13663 * gst/gstminiobject.h:
13665 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
13666 removed unused flags from miniobject
13669 2005-10-12 Wim Taymans <wim@fluendo.com>
13671 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13672 (gst_file_sink_event), (gst_file_sink_render):
13673 Flush before seeking.
13675 2005-10-12 Andy Wingo <wingo@pobox.com>
13677 * gst/gst.c (gst_init_check): Ignore unknown options, as has
13678 always been the case.
13680 2005-10-12 Stefan Kost <ensonic@users.sf.net>
13682 * check/gst/gstbin.c: (GST_START_TEST):
13683 * docs/gst/gstreamer-sections.txt:
13684 * gst/base/gstbasesink.c: (gst_base_sink_init):
13685 * gst/base/gstbasesrc.c: (gst_base_src_init),
13686 (gst_base_src_get_range), (gst_base_src_check_get_range),
13687 (gst_base_src_start), (gst_base_src_stop):
13688 * gst/base/gstbasesrc.h:
13689 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
13690 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13691 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
13695 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
13697 * gst/gstelement.c: (gst_element_is_locked_state),
13698 (gst_element_set_locked_state), (gst_element_commit_state),
13699 (gst_element_set_state):
13700 * gst/gstelement.h:
13701 * gst/gstindex.c: (gst_index_init):
13703 * gst/gstminiobject.h:
13704 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
13705 (gst_object_set_parent):
13707 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
13708 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
13710 * gst/gstpadtemplate.h:
13711 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
13712 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
13713 * gst/gstpipeline.h:
13714 * gst/indexers/gstfileindex.c: (gst_file_index_load),
13715 (gst_file_index_commit):
13716 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
13717 * testsuite/pad/link.c: (gst_test_src_init),
13718 (gst_test_filter_init), (gst_test_sink_init):
13719 * testsuite/states/locked.c: (main):
13720 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
13721 moved bitshift from macro to enum definition
13723 2005-10-12 Wim Taymans <wim@fluendo.com>
13725 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
13726 * gst/elements/gstfilesink.c: (gst_file_sink_event),
13727 (gst_file_sink_render):
13728 Some more debugging info.
13730 2005-10-12 Wim Taymans <wim@fluendo.com>
13732 * docs/design/part-states.txt:
13733 * tools/gst-launch.c: (main):
13735 Revert non-intentional change.
13737 2005-10-12 Wim Taymans <wim@fluendo.com>
13739 * check/gst/gstbin.c: (GST_START_TEST):
13740 * check/gst/gstelement.c: (GST_START_TEST):
13741 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
13742 * check/gst/gstghostpad.c: (GST_START_TEST):
13743 * check/gst/gstpipeline.c: (GST_START_TEST):
13744 * check/pipelines/simple_launch_lines.c: (run_pipeline):
13745 * check/states/sinks.c: (GST_START_TEST):
13746 * gst/elements/gsttypefindelement.c: (stop_typefinding):
13747 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13748 (gst_bin_remove_func), (gst_bin_get_state_func),
13749 (gst_bin_recalc_state), (gst_bin_change_state_func),
13751 * gst/gstelement.c: (gst_element_get_state_func),
13752 (gst_element_get_state), (gst_element_abort_state),
13753 (gst_element_commit_state), (gst_element_set_state),
13754 (gst_element_change_state), (gst_element_change_state_func):
13755 * gst/gstelement.h:
13756 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
13757 (gst_pipeline_provide_clock_func):
13758 * gst/gstutils.c: (gst_element_link_pads_filtered):
13759 * tools/gst-launch.c: (main):
13760 * tools/gst-typefind.c: (main):
13761 Use GstClockTime in _get_state() instead of GTimeVal.
13762 Remove old code in gstutils.c
13764 2005-10-12 Andy Wingo <wingo@pobox.com>
13766 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
13769 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
13770 there is no task. Shouldn't affect any code, as nothing in our
13771 plugins checks this return value.
13772 (gst_pad_stop_task): Also take the stream lock if the pad has no
13773 task. Docs updated.
13775 2005-10-12 Wim Taymans <wim@fluendo.com>
13777 * gst/gstpad.c: (pre_activate), (post_activate),
13778 (gst_pad_activate_pull), (gst_pad_activate_push):
13779 Cleanup activation code. Reset old state if
13782 2005-10-12 Wim Taymans <wim@fluendo.com>
13784 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13785 (gst_base_sink_change_state):
13786 No need to prerol after receiving EOS.
13788 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13789 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
13790 * gst/elements/gstidentity.c: (gst_identity_event):
13791 Print events more verbosely.
13793 2005-10-12 Wim Taymans <wim@fluendo.com>
13795 * check/Makefile.am:
13796 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13797 * check/states/sinks2.c:
13798 Moved sinks2 testcode in sinks check.
13800 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13801 (gst_bin_remove_func), (gst_bin_recalc_state),
13802 (gst_bin_change_state_func), (bin_bus_handler):
13803 Fix potential race condition when _get_state() iterated over an
13804 ASYNC element right before it posted a state completion.
13807 Do proper cast here.
13809 * gst/gstevent.c: (gst_event_new_newsegment),
13810 (gst_event_parse_newsegment):
13811 A playback rate of 0.0 is not allowed.
13813 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13815 * win32/common/config.h:
13816 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
13817 (_trewinddir), (_ttelldir), (_tseekdir):
13818 * win32/common/dirent.h:
13819 * win32/common/gtchar.h:
13820 * win32/common/libgstbase.def:
13821 * win32/common/libgstreamer.def:
13822 * win32/vs6/grammar.dsp:
13823 * win32/vs6/gst_inspect.dsp:
13824 * win32/vs6/gst_launch.dsp:
13825 * win32/vs6/gstreamer.dsw:
13826 * win32/vs6/libgstbase.dsp:
13827 * win32/vs6/libgstelements.dsp:
13828 * win32/vs6/libgstreamer.dsp:
13829 Visual Studio 6 project files, and a new common directory.
13832 2005-10-11 Wim Taymans <wim@fluendo.com>
13834 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13835 (gst_base_sink_do_sync), (gst_base_sink_query),
13836 (gst_base_sink_change_state):
13837 * gst/base/gstbasesink.h:
13838 Correctly parse newsegment info.
13840 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13842 * gst/gst.c: (init_post):
13843 split plugin paths correctly
13845 2005-10-11 Wim Taymans <wim@fluendo.com>
13847 * check/gst/gstevent.c: (GST_START_TEST):
13848 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13849 (gst_base_sink_change_state):
13850 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
13851 * gst/base/gstbasetransform.c: (gst_base_transform_event):
13852 * gst/elements/gstfilesink.c: (gst_file_sink_event):
13853 * gst/gstevent.c: (gst_event_new_newsegment),
13854 (gst_event_parse_newsegment):
13856 Added extra flag to newsegment for future API freeze.
13857 Updated check and base elements.
13859 2005-10-11 Julien MOUTTE <julien@moutte.net>
13861 * gst/base/gstcollectpads.c: (gst_collectpads_init),
13862 (gst_collectpads_add_pad), (gst_collectpads_pop),
13863 (gst_collectpads_event), (gst_collectpads_chain):
13864 * gst/base/gstcollectpads.h: Handle EOS correctly.
13866 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13868 * tools/gst-launch.c: (main):
13869 more null protecting
13871 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13873 * gst/gst-i18n-lib.h:
13874 check for ENABLE_NLS, not GETTEXT_PACKAGE
13875 * gst/gstregistry.c: (gst_registry_add_plugin),
13876 (gst_registry_scan_path_level),
13877 (_gst_registry_remove_cache_plugins):
13878 protect possibly NULL strings
13879 * gst/parse/types.h:
13880 config.h already included before
13881 * tools/gst-inspect.c: (main):
13882 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
13883 check for ENABLE_NLS, not GETTEXT_PACKAGE
13884 * tools/gst-launch.c: (main):
13885 check for ENABLE_NLS, not GETTEXT_PACKAGE
13887 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13890 if we don't have glib, fail before testing 2.8
13891 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
13892 fix a leak, should fix plugins-base testsuite
13894 2005-10-11 Andy Wingo <wingo@pobox.com>
13896 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
13897 take the mode we're going to as an arg. Go head and set the mode
13898 and flushing flags now, so that if the activate function starts a
13899 thread all the flags will be in the right state.
13900 (post_activate): Renamed also. Just handle making sure streaming
13901 finishes for the deactivation case, and setting the deactivated
13903 (gst_pad_set_active): Complain loudly if deactivation fails.
13904 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
13905 (gst_pad_activate_push): Adapt to pre/post_activate changes,
13906 remove the terrible hack.
13908 2005-10-11 Wim Taymans <wim@fluendo.com>
13910 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
13911 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
13912 (gst_bin_recalc_state), (gst_bin_change_state_func),
13913 (gst_bin_dispose), (bin_bus_handler):
13915 Prepare to make current EOS message queue more generic.
13918 * gst/gstevent.c: (gst_event_new_newsegment),
13919 (gst_event_parse_newsegment):
13921 Rename base to stream_time.
13923 * gst/gstmessage.h:
13926 2005-10-11 Wim Taymans <wim@fluendo.com>
13928 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
13929 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
13930 (gst_bin_change_state_func), (bin_bus_handler):
13932 Work on proper clock selection.
13934 2005-10-11 Edward Hervey <edward@fluendo.com>
13936 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
13937 * libs/gst/controller/gstcontroller.h:
13938 Added GList* version of _remove_properties() in order to be able to wrap
13941 2005-10-11 Wim Taymans <wim@fluendo.com>
13943 * docs/design/part-states.txt:
13946 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
13947 (gst_bin_change_state_func), (bin_bus_handler):
13948 Doc updates. Don't distribute the same clock over and over again.
13954 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
13955 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
13956 (gst_pad_send_event):
13958 Make probe emission threadsafe again.
13959 Register quarks and move _get_name() from utils.
13962 * gst/gstpipeline.c: (gst_pipeline_class_init),
13963 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
13964 Only redistribute the clock of it changed.
13966 * gst/gstsystemclock.h:
13971 Moved the _flow_get_name() to GstPad.
13973 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13975 * check/gst-libs/gdp.c: (GST_START_TEST):
13976 * check/gst/gstcaps.c: (GST_START_TEST):
13977 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
13978 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
13979 (gst_dp_packet_from_caps):
13980 fix more valgrind warnings before turning up the heat
13982 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13984 * gst/parse/grammar.y:
13985 some cleanup before the hacking
13987 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
13989 * gst/base/gstbasesrc.c: (gst_base_src_query):
13991 * gst/gstutils.c: (gst_guint64_to_gdouble),
13992 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
13994 externalize, basesrc uses it
13995 obviously the implementation needs testing
13997 2005-10-10 Wim Taymans <wim@fluendo.com>
13999 * tests/sched/Makefile.am:
14000 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14001 (make_pipeline3), (make_pipeline4), (print_elem), (main):
14003 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
14005 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14006 apparently converting from guint64 to double is not implemented
14009 2005-10-10 Wim Taymans <wim@fluendo.com>
14011 * check/Makefile.am:
14012 * check/generic/states.c: (GST_START_TEST):
14013 * check/gst/gstbin.c: (GST_START_TEST):
14014 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14015 * check/states/sinks.c: (GST_START_TEST):
14016 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14018 Check fixes, use API as stated in design docs, remove hacks.
14020 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14021 (gst_base_sink_change_state):
14022 Catch stopping our task while we're shutting down.
14024 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14025 (gst_bin_remove_func), (gst_bin_get_state_func),
14026 (gst_bin_recalc_state), (gst_bin_change_state_func),
14029 * gst/gstelement.c: (gst_element_init),
14030 (gst_element_get_state_func), (gst_element_abort_state),
14031 (gst_element_commit_state), (gst_element_lost_state),
14032 (gst_element_set_state), (gst_element_change_state),
14033 (gst_element_change_state_func):
14034 * gst/gstelement.h:
14035 New state change algorithm (see #318116)
14037 * gst/gstpipeline.c: (gst_pipeline_class_init),
14038 (gst_pipeline_init), (gst_pipeline_set_property),
14039 (gst_pipeline_get_property), (do_pipeline_seek),
14040 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14041 * gst/gstpipeline.h:
14042 Remove crude state change hacks.
14045 Remove crude hacks.
14047 * tools/gst-launch.c: (main):
14048 Fixes for state change. Needs some more work to fully use the
14051 2005-10-10 Andy Wingo <wingo@pobox.com>
14053 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14055 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14056 this flag, but it's not even in GLib 2.6. Odd. Hack around the
14059 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
14061 * gst/gstiterator.c: (gst_iterator_new):
14062 Fix my previous commit: GTypes passed to gst_iterator_new()
14063 can be fundamental types.
14065 2005-10-10 Wim Taymans <wim@fluendo.com>
14067 * gst/gstelement.c: (gst_element_iterate_pad_list),
14068 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14069 (gst_element_iterate_sink_pads):
14070 Use src/sink pads lists for the respective iterators instead
14073 2005-10-10 Andy Wingo <wingo@pobox.com>
14075 Merged in popt removal + GOption addition patch from Ronald, bug
14078 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14079 GstElement macros around, remove popt-related symbols, add goption
14082 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14084 * docs/gst/Makefile.am:
14085 * docs/libs/Makefile.am: No POPT_CFLAGS.
14087 * examples/manual/Makefile.am:
14088 * docs/manual/basics-init.xml: Doc updates with an example.
14090 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14091 (gst_init), (parse_one_option), (parse_goption_arg):
14092 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14093 bit of hand merging and debugging to get the GOption stuff working
14096 * tests/Makefile.am:
14097 * tools/Makefile.am:
14098 * tools/gst-inspect.c: (main):
14099 * tools/gst-launch.c: (main):
14100 * tools/gst-run.c: (main):
14101 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14103 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
14105 * gst/gstiterator.c: (gst_iterator_new):
14106 Add assertions to make sure passed GType is likely to really
14107 be a GType (as the compiler won't catch it if the size and
14108 GType arguments get mixed up, see #318447).
14110 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
14112 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
14114 * gst/gstbin.c: (gst_bin_iterate_sorted):
14115 Pass GType and size arguments to gst_iterator_new() in the right
14116 order (maybe we should make _new() take the GType as first argument
14117 just like _new_list()?) (#318447).
14120 2005-10-10 Wim Taymans <wim@fluendo.com>
14122 * gst/gstelement.c: (gst_element_finalize):
14123 And free the GStaticRecMutex too
14125 2005-10-10 Andy Wingo <wingo@pobox.com>
14127 * gst/gstelement.c (gst_element_init, gst_element_finalize):
14128 Allocate and free the mutex properly.
14130 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14132 (GstElement): The state_lock is now recursive. Rebuild your
14133 plugins, suckers. Old macros adapted.
14135 * docs/gst/gstreamer-sections.txt: Doc updates.
14138 * gst/gstutils.c (g_static_rec_cond_timed_wait)
14139 (g_static_rec_cond_wait): Ported from state changes patch, while
14140 we wait on bug #317802 to be solved in a well-distributed GLib.
14142 * gst/gstelement.c (gst_element_change_state_func): Renamed from
14143 gst_element_change_state, variable name changes.
14144 (gst_element_change_state): Split out of gst_element_set_state in
14145 preparation for the state change merge. Doesn't pay attention to
14146 the 'transition' argument.
14147 (gst_element_set_state): Updates, hopefully purely cosmetic.
14148 (gst_element_sync_state_with_parent): MT-safety. Ported from the
14149 state change patch.
14150 (gst_element_get_state_func): Renamed from get_state, cosmetic
14153 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
14155 * gst/elements/gstelements.c:
14156 * win32/GStreamer.vcproj:
14158 * win32/dirent.c: (_tseekdir):
14159 * win32/gst-inspect.vcproj:
14160 * win32/gst-launch.vcproj:
14161 * win32/gstconfig.h:
14162 * win32/gstelements.vcproj:
14163 * win32/gstenumtypes.c: (gst_object_flags_get_type):
14164 * win32/gstreamer.def:
14165 * win32/msvc71.sln:
14166 updates for the win32 build (patch from Sebastien Moutte)
14168 2005-10-10 Andy Wingo <wingo@pobox.com>
14170 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14171 gst_bin_get_state, cleaned up (but no logic changes).
14172 (bin_element_is_sink): Comment updates.
14173 (sink_iterator_filter): Remove needless cast.
14174 (gst_bin_iterate_sinks): Doc update.
14175 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14176 cleaned up (but no logic changes).
14178 * check/states/sinks.c (test_src_sink): Cleanups from the state
14180 (test_livesrc_sink): Sync on the state.
14182 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14183 the state change patch.
14185 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14188 * check/gst/gstbin.c: Merge in some style fixes and additional
14189 checks from Wim's state change patch.
14191 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
14193 * gst/base/gsttypefindhelper.c: (helper_find_peek),
14194 (gst_type_find_helper):
14195 Check whether we have the requested data already in our list of
14196 cached buffers before pulling a new buffer; also make the buffer
14197 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14199 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
14204 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14205 don't use long long, it's not portable. Replacing with
14206 gint64 seems to work; let's hope no skeletons fall out of the closet.
14208 2005-10-10 Andy Wingo <wingo@pobox.com>
14210 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14212 2005-10-09 Stefan Kost <ensonic@users.sf.net>
14214 * docs/gst/gstreamer-sections.txt:
14219 * gst/gstmessage.c: (gst_message_parse_state_changed):
14222 more docs, fix compilation
14224 2005-10-09 Philippe Khalaf <burger@speedy.org>
14225 * gst/gstmessage.c:
14226 Fixed a few forgotten variables on previous commit
14228 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
14230 * gst/base/gsttypefindhelper.c: (helper_find_peek):
14231 Fix evil typefind crasher: getrange() might return a short
14232 buffer at the end of a file, but gst_type_find_peek() must
14233 either return the full data as requested or NULL, but
14234 never a short buffer.
14236 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
14238 * gst/gstmessage.c: (gst_message_new_state_changed),
14239 (gst_message_parse_state_changed):
14240 * gst/gstmessage.h:
14241 don't use "new", it's a C++ keyword
14243 2005-10-08 Wim Taymans <wim@fluendo.com>
14245 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14246 * gst/gstelement.c: (gst_element_post_message):
14247 * gst/gstpipeline.c: (gst_pipeline_change_state):
14248 Small docs and debug updates.
14250 2005-10-08 Stefan Kost <ensonic@users.sf.net>
14252 * docs/gst/gstreamer-sections.txt:
14253 * gst/gstelementfactory.c:
14255 * gst/gsttaglist.c:
14258 2005-10-08 Wim Taymans <wim@fluendo.com>
14260 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14261 (gst_bin_dispose), (bin_bus_handler):
14262 Fix typos, add comments.
14263 Clear EOS list when going to PAUSED from any direction and do it
14264 in a threadsafe way.
14265 Get base time in a threadsafe way too.
14266 Fix confusing debug in the change_state function.
14267 Various other small cleanups.
14269 * gst/gstelement.c: (gst_element_post_message):
14270 Fix very verbose bus posting code.
14272 * gst/gstpipeline.c: (gst_pipeline_class_init),
14273 (gst_pipeline_set_property), (gst_pipeline_get_property),
14274 (gst_pipeline_change_state):
14275 Small ARG_ -> PROP_ cleanup
14277 2005-10-08 Wim Taymans <wim@fluendo.com>
14279 * gst/gstbin.c: (is_eos), (bin_bus_handler):
14280 Do a less CPU demanding EOS check because we can.
14282 2005-10-08 Wim Taymans <wim@fluendo.com>
14284 * libs/gst/dataprotocol/dataprotocol.c:
14285 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14286 (gst_dp_packet_from_event):
14287 * libs/gst/dataprotocol/dataprotocol.h:
14288 * libs/gst/dataprotocol/dp-private.h:
14289 It's about time we bump the version number.
14290 Since event types don't fit in the guint8 anymore describing
14291 the payload type, make payload type 16 bits wide.
14293 2005-10-08 Wim Taymans <wim@fluendo.com>
14295 * docs/design/part-TODO.txt:
14296 * docs/design/part-clocks.txt:
14297 * docs/design/part-events.txt:
14298 * docs/design/part-gstbin.txt:
14299 * docs/design/part-gstelement.txt:
14300 * docs/design/part-gstpipeline.txt:
14301 * docs/design/part-live-source.txt:
14302 * docs/design/part-messages.txt:
14303 * docs/design/part-overview.txt:
14304 * docs/design/part-states.txt:
14307 2005-10-08 Wim Taymans <wim@fluendo.com>
14311 Fix event quark registration.
14312 Add some space between events so we can insert them in the
14315 2005-10-08 Wim Taymans <wim@fluendo.com>
14317 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14318 (gst_base_sink_handle_buffer):
14319 Better log message.
14322 * gst/gstelement.h:
14325 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14326 (gst_queue_set_property), (gst_queue_get_property):
14328 Remove old unused properties.
14330 2005-10-08 Stefan Kost <ensonic@users.sf.net>
14331 * docs/gst/gstreamer-sections.txt:
14332 * gst/gstmessage.c:
14333 * gst/gstmessage.h:
14334 * gst/gstminiobject.c:
14335 * gst/gstminiobject.h:
14339 lots of new docs and doc fixes
14341 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14343 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14345 * gst/gstregistry.c: (gst_registry_lookup_locked),
14346 (gst_registry_scan_path_level):
14347 * gst/gstregistryxml.c: (load_plugin):
14348 Only ever load one plugin for a given plugin basename.
14349 This ensures correct overriding of GST_PLUGIN_PATH over
14350 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14351 system installed plugins.
14353 2005-10-08 Wim Taymans <wim@fluendo.com>
14355 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14356 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14357 Prepare for doing QOS.
14359 2005-10-08 Wim Taymans <wim@fluendo.com>
14361 * check/gst/gstbin.c: (GST_START_TEST):
14362 * check/pipelines/cleanup.c: (GST_START_TEST):
14363 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14364 Allow new clock message too.
14366 2005-10-08 Wim Taymans <wim@fluendo.com>
14368 * gst/gstmessage.c: (gst_message_new_error),
14369 (gst_message_new_warning), (gst_message_new_tag),
14370 (gst_message_new_state_changed), (gst_message_new_clock_provide),
14371 (gst_message_new_clock_lost), (gst_message_new_new_clock),
14372 (gst_message_new_segment_start), (gst_message_new_segment_done),
14373 (gst_message_parse_state_changed),
14374 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14375 (gst_message_parse_new_clock):
14376 * gst/gstmessage.h:
14377 Also carry the clock in question.
14379 2005-10-08 Wim Taymans <wim@fluendo.com>
14381 * gst/gstmessage.c: (gst_message_new_custom),
14382 (gst_message_new_eos), (gst_message_new_error),
14383 (gst_message_new_warning), (gst_message_new_tag),
14384 (gst_message_new_state_changed), (gst_message_new_clock_provide),
14385 (gst_message_new_new_clock), (gst_message_new_segment_start),
14386 (gst_message_new_segment_done), (gst_message_parse_state_changed),
14387 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14388 * gst/gstmessage.h:
14390 Added clock related messages.
14392 * gst/gstpipeline.c: (gst_pipeline_change_state):
14393 Post message when the clock changed.
14395 * tools/gst-launch.c: (event_loop):
14398 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
14400 * tools/gst-inspect.c: (print_element_properties_info):
14401 Can't pass NULL strings to g_print() on windows.
14403 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14405 * docs/Makefile.am:
14406 * docs/gst/Makefile.am:
14407 * docs/gst/gstreamer-docs.sgml:
14408 * docs/gst/running.xml:
14409 * docs/version.entities.in:
14410 add a chapter on running GStreamer.
14411 document GST_DEBUG and GST_PLUGIN* env vars
14413 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14418 remove PLUGINS_BUILDDIR stuff
14419 * gst/gst.c: (init_post):
14420 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14422 remove, it was condescending and not needed
14424 2005-10-08 Wim Taymans <wim@fluendo.com>
14426 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14427 (gst_base_sink_handle_object), (gst_base_sink_event),
14428 (gst_base_sink_wait), (gst_base_sink_handle_event),
14429 (gst_base_sink_change_state):
14430 * gst/base/gstbasesink.h:
14431 Repost EOS message while going to PLAYING if still EOS.
14432 Make sure that when receiving a FLUSH_START we don't attempt
14433 to sync on the clock anymore.
14435 2005-10-08 Wim Taymans <wim@fluendo.com>
14437 * tools/gst-launch.c: (event_loop):
14438 Better message printout.
14440 2005-10-08 Wim Taymans <wim@fluendo.com>
14442 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
14443 (gst_bin_child_proxy_get_children_count):
14444 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14445 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
14446 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
14447 (gst_child_proxy_set_valist):
14448 * gst/parse/grammar.y:
14449 Make ChildProxy threadsafe and fix mem leaks.
14451 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14453 * gst/gst.c: (init_post):
14454 debug the GST_PLUGIN_ env vars
14456 2005-10-08 Wim Taymans <wim@fluendo.com>
14458 * check/gst/gstbin.c: (GST_START_TEST):
14459 * check/gst/gstmessage.c: (GST_START_TEST):
14460 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14461 * gst/gstelement.c: (gst_element_commit_state),
14462 (gst_element_lost_state):
14463 * gst/gstmessage.c: (gst_message_new_state_changed),
14464 (gst_message_parse_state_changed):
14465 * gst/gstmessage.h:
14466 * tools/gst-launch.c: (event_loop):
14467 Added extra field to STATE_CHANGE message with the pending
14468 state, which will be different from the new state soon.
14470 2005-10-08 Wim Taymans <wim@fluendo.com>
14472 * gst/gstbus.c: (gst_bus_pop):
14474 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14475 Small cleanups and doc updates.
14477 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14479 * gst/gst.c: (init_pre):
14480 * gst/gstbin.c: (gst_bin_add_func):
14481 log distributing clocks and base time
14482 * gst/gstregistry.c: (gst_registry_add_plugin),
14483 (gst_registry_scan_path_level), (gst_registry_scan_path):
14484 clean up the debugging output a little
14485 * gst/gstutils.c: (gst_element_state_get_name):
14486 warn about a memleak (I've actually seen this be used, though
14487 it was probably a bug)
14489 2005-10-07 Wim Taymans <wim@fluendo.com>
14491 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14492 (gst_base_src_init), (gst_base_src_default_newsegment),
14493 (gst_base_src_newsegment), (gst_base_src_do_seek),
14494 (gst_base_src_loop), (gst_base_src_start):
14495 * gst/base/gstbasesrc.h:
14496 Make the newsegment event customizable by subclasses.
14498 2005-10-07 Wim Taymans <wim@fluendo.com>
14500 * gst/gstevent.c: (gst_event_new_buffersize),
14501 (gst_event_parse_buffersize):
14503 New event for future idea.
14505 2005-10-07 Andy Wingo <wingo@pobox.com>
14507 * gst/gstelement.c (gst_element_post_message): Doc update.
14509 * docs/gst/gstreamer-sections.txt: Update.
14511 * gst/gstmessage.c (gst_message_new_application): Made into a
14512 function like honest API calls.
14513 (gst_message_new_element): New message type.
14515 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
14517 * check/elements/fakesrc.c (test_no_preroll): New check, checks
14518 that setting a live fakesrc to PAUSED returns NO_PREROLL both
14521 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
14522 NO_PREROLL from gst_element_change_state to fall through.
14524 2005-10-07 Wim Taymans <wim@fluendo.com>
14526 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
14527 (gst_ghost_pad_do_activate_push):
14528 Activating a ghostpad with no internal pad in push mode
14531 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
14534 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
14535 Fixes compilation on Windows.
14537 2005-10-07 Michael Smith <msmith@fluendo.com>
14539 * tools/gst-inspect.c:
14540 Print out feature and plugin count at the end when printing out
14543 2005-10-04 Michael Smith <msmith@fluendo.com>
14545 * gst/gsterror.c: (_gst_stream_errors_init):
14546 Add another error string used in a few existing plugins.
14549 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14550 * tools/gst-inspect.c: (print_element_info):
14551 When a feature disappears from a plugin (and the feature exists in
14552 the cached registry file), things went horribly wrong. This isn't a
14553 complete fix, we should actually be removing the 'missing' features
14554 from the features list when we load the actual plugin. That's not
14557 2005-10-04 Johan Dahlin <johan@gnome.org>
14559 * check/gst/gstiterator.c: (GST_START_TEST):
14560 * gst/gstbin.c: (gst_bin_iterate_elements),
14561 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
14562 * gst/gstelement.c: (gst_element_iterate_pads):
14563 * gst/gstformat.c: (gst_format_iterate_definitions):
14564 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14565 (gst_iterator_new_list), (gst_iterator_filter):
14566 * gst/gstiterator.h:
14567 * gst/gstquery.c: (gst_query_type_iterate_definitions):
14568 Add a GType to GstIterator, update callsites and tests.
14570 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14572 * gst/gstpad.c: (gst_pad_event_default_dispatch):
14573 give events a chance to be handled by event probes when the pad
14576 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14578 * gst/gstevent.c: (gst_event_type_get_name),
14579 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
14581 add string representations for event types
14583 2005-10-06 Wim Taymans <wim@fluendo.com>
14585 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
14586 Don't use NULL pointers.
14588 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14590 * gst/gst_private.h:
14592 * gst/gstelement.c:
14594 * gst/gstpluginfeature.c:
14595 widen the debug category in output to fit the biggest one we have
14596 add a bus category and use it
14597 play with the colors
14598 fix up some categories
14600 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14602 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
14603 add push activation of sink ghost pads.
14604 Andye, please verify
14606 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
14608 * gst/gstutils.c: (gst_element_link_pads):
14609 fix a bug in the case where neither element has a pad
14610 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14611 add a test for that case
14613 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
14615 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
14616 emit have-data before checking for peers. This allows
14617 for probe handlers to connect elements. This helps autopluggers.
14618 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
14620 add six checks, linked/unlinked with no/true/false probe
14622 2005-10-04 Wim Taymans <wim@fluendo.com>
14624 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
14625 (gst_fake_sink_event), (gst_fake_sink_preroll),
14626 (gst_fake_sink_render), (gst_fake_sink_change_state):
14627 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
14628 (gst_fake_src_get_property), (gst_fake_src_create),
14629 (gst_fake_src_stop):
14630 * gst/elements/gstidentity.c: (gst_identity_stop):
14631 Protect last_message with lock.
14633 2005-10-04 Edward Hervey <edward@fluendo.com>
14636 Added precision in the comments for GST_FORMAT_DEFAULT
14638 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
14640 * tools/gst-launch.c: (main):
14641 Don't try to run erroneous pipelines.
14643 2005-10-04 Julien MOUTTE <julien@moutte.net>
14645 * gst/gstbus.c: We don't need this header.
14647 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
14650 back to development
14652 === release 0.9.3 ===
14654 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
14658 Releasing 0.9.3, "Unregistered"
14660 2005-10-03 Andy Wingo <wingo@pobox.com>
14662 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
14663 whereby calling a pad's activatepush() function can start a thread
14664 that starts to push or pull before the pad gets the FLUSHING flag
14665 unset. Hack around it by holding the stream lock until the flag is
14666 set. Need to replace this with a proper solution. Together with
14667 the ghost pad fixes, this fixes mp3 playing/tagreading.
14669 * docs/design/part-gstghostpad.txt: Add a note about activation of
14670 proxy pads outside of ghost pads.
14672 * gst/gstghostpad.c: Implement the ghost pad activation design.
14674 2005-10-02 Andy Wingo <wingo@pobox.com>
14676 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
14677 It is volatile, after all.
14679 * docs/design/part-gstghostpad.txt: Flesh out activation with
14682 * gst/base/gstbasesrc.c (gst_base_src_init): Use
14685 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
14688 Fix (unused) AM_CONDITIONAL tests.
14690 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
14692 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
14694 * gst/gstutils.c: (gst_pad_query_convert):
14695 Add assertion that makes sure src_val is >=0, just like
14696 gst_query_new_convert() has. (#315895)
14698 2005-09-30 Edward Hervey <edward@fluendo.com>
14700 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
14701 Let's not iterate pads we're not interested in, it avoids getting
14702 sky-high refcounts on sinkpad.
14704 2005-09-30 Wim Taymans <wim@fluendo.com>
14706 * gst/gstelement.c: (gst_element_set_state),
14707 (gst_element_change_state):
14708 Small tweak, element in ASYNC remains ASYNC.
14710 2005-09-30 Wim Taymans <wim@fluendo.com>
14712 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
14713 Only error is an error.
14715 * gst/gstbin.c: (gst_bin_change_state):
14718 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
14719 Also call pad_block in pad alloc.
14721 * gst/gstutils.c: (gst_flow_get_name):
14724 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
14726 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14727 (gst_base_src_get_range):
14728 Fix documentation typos. Add some more debug info.
14730 2005-09-29 David Schleef <ds@schleef.org>
14732 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
14733 more end-user friendly.
14734 * tools/gst-inspect.c: (main): Check if command-line argument is
14735 a file and attempt to load that file as a plugin.
14737 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
14739 * check/gst/gstbin.c:
14740 * check/states/sinks.c:
14741 fix tests for the new warning
14742 * check/gst/gstpipeline.c:
14743 add a test for pipeline and bus interaction
14744 * gst/gstelement.c:
14745 elements should be NULL if they get disposed; add a warning if not
14747 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
14750 for 2.6 refcounting, make debug log more correct by printing
14751 the actual refcounts at the time of swap (Wim)
14753 2005-09-29 Andy Wingo <wingo@pobox.com>
14755 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
14756 removes signal watches previously added via
14757 gst_bus_add_signal_watch.
14758 (gst_bus_add_signal_watch): Don't return the source id, just store
14759 it on the bus if there wasn't an id already.
14761 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
14762 add_signal_watch and remove_signal_watch.
14764 2005-09-29 Edward Hervey <edward@fluendo.com>
14766 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
14767 Better if we actually iterate the list :)
14769 2005-09-29 Wim Taymans <wim@fluendo.com>
14771 * check/gst/gstbin.c: (GST_START_TEST):
14772 Change for new bus API.
14774 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
14775 (send_messages), (GST_START_TEST), (gstbus_suite):
14776 Change for new bus signal API.
14778 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
14779 (gst_bus_source_prepare), (gst_bus_source_check),
14780 (gst_bus_create_watch), (gst_bus_add_watch_full),
14781 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
14782 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
14784 Remove support for multiple GSources operating on different
14785 message types as it is too complex and unneeded when using
14787 Added support for receiving signals from the bus.
14789 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
14791 * docs/libs/tmpl/gstdataprotocol.sgml:
14792 * docs/manual/advanced-dataaccess.xml:
14793 * gst/elements/gstcapsfilter.c:
14795 rename filter-caps to caps property
14797 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
14799 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14800 More robust fraction string parsing.
14802 * docs/pwg/appendix-porting.xml:
14803 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
14805 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
14807 * gst/gstcaps.c: (gst_caps_do_simplify):
14808 Thou shalt not free a structure and then continue using it
14809 in the next loop iteration.
14811 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
14813 Add test case for caps simplification.
14815 2005-09-29 Wim Taymans <wim@fluendo.com>
14817 * check/gst/gstbin.c: (GST_START_TEST):
14820 2005-09-29 Wim Taymans <wim@fluendo.com>
14822 * check/gst/gstbin.c: (GST_START_TEST):
14825 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
14826 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
14827 (find_element), (gst_bin_sort_iterator_next),
14828 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14829 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14830 (gst_bin_change_state), (gst_bin_dispose):
14831 A bin does not have a bus, it gets the bus from the parent.
14833 * gst/gstelement.c: (gst_element_requires_clock),
14834 (gst_element_provides_clock), (gst_element_is_indexable),
14835 (gst_element_is_locked_state), (gst_element_change_state),
14836 (gst_element_set_bus_func):
14839 * gst/gstpipeline.c: (gst_pipeline_class_init),
14840 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
14841 The pipeline provides a bus.
14843 2005-09-28 Johan Dahlin <johan@gnome.org>
14845 * gst/gstmessage.c (gst_message_parse_state_changed): Use
14846 gst_structure_get_enum instead of gst_structure_get_int
14848 * gst/gststructure.c (gst_structure_get_enum): Impl.
14850 * gst/gststructure.h (gst_structure_get_enum): Add
14852 * docs/gst/gstreamer-sections.txt: Ditto
14854 * gst/gstmessage.c (gst_message_new_state_changed): Use
14855 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
14856 which does introspection.
14857 Reviewed by Christian Schaller
14859 2005-09-28 Stefan Kost <ensonic@users.sf.net>
14861 * gst/gstinfo.c: (gst_debug_log_default):
14862 don't do dummy g_strdup()s
14863 * libs/gst/controller/gstcontroller.c:
14864 (on_object_controlled_property_changed),
14865 (gst_controlled_property_new), (gst_controller_new_valist),
14866 (gst_controller_new_list),
14867 (gst_controller_remove_properties_valist), (gst_controller_set),
14868 (gst_controller_get), (gst_controller_sync_values),
14869 (gst_controller_get_value_array), (_gst_controller_class_init),
14870 (gst_controller_get_type):
14871 * libs/gst/controller/gstcontroller.h:
14872 * libs/gst/controller/gstinterpolation.c:
14873 (gst_controlled_property_find_timed_value_node):
14874 convert // to /**/ comments
14876 2005-09-28 Wim Taymans <wim@fluendo.com>
14878 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
14879 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
14880 (gst_bus_sync_signal_handler):
14882 Added async-message and sync-message signals to the bus.
14883 Added helper BusFunc to emit signals for all posted messages.
14885 * gst/gstmessage.c: (gst_message_type_get_name),
14886 (gst_message_type_to_quark), (gst_message_get_type):
14887 * gst/gstmessage.h:
14888 Register quarks for message names.
14890 2005-09-28 Stefan Kost <ensonic@users.sf.net>
14892 * docs/libs/gstreamer-libs-sections.txt:
14893 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
14894 (gst_controller_new_list):
14895 * libs/gst/controller/gstcontroller.h:
14896 added another constructor for language bindings
14898 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
14900 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14904 * gst/gstinfo.c: (_gst_debug_init):
14905 slightly more readable color for refcount debugging
14907 2005-09-28 Wim Taymans <wim@fluendo.com>
14909 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
14910 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
14911 (find_element), (gst_bin_sort_iterator_next),
14912 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14913 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14914 (gst_bin_change_state), (gst_bin_dispose):
14915 Small doc fixes. get_clock -> provide_clock.
14917 * gst/gstelement.c: (gst_element_class_init),
14918 (gst_element_provides_clock), (gst_element_provide_clock),
14919 (gst_element_get_clock), (gst_element_commit_state),
14920 (gst_element_lost_state):
14921 * gst/gstelement.h:
14922 Make get/set_clock() symetric. Add provide_clock vmethod since
14923 that is actually what this function does.
14925 * gst/gstpipeline.c: (gst_pipeline_class_init),
14926 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
14927 (gst_pipeline_get_clock):
14928 get_clock -> provide_clock.
14930 2005-09-28 Andy Wingo <wingo@pobox.com>
14932 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
14933 lieu of real docs...
14935 * gst/elements/gstfdsrc.c: Cleaned up a bit.
14937 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
14939 * gst/elements/gstcapsfilter.c:
14940 * gst/elements/gstfakesink.c:
14941 * gst/elements/gstfakesrc.c:
14942 * gst/elements/gstfdsink.c:
14943 * gst/elements/gstfdsrc.c:
14944 * gst/elements/gstfilesink.c:
14945 * gst/elements/gstfilesrc.c:
14946 * gst/elements/gstidentity.c:
14947 * gst/elements/gsttee.c:
14948 * gst/elements/gsttypefindelement.c:
14949 Make element details static.
14951 2005-09-28 Wim Taymans <wim@fluendo.com>
14953 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
14954 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
14955 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14956 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14957 (gst_bin_change_state), (gst_bin_dispose):
14958 Some documentation updates.
14959 Clean up dispose handlers.
14961 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
14962 * gst/gstpad.c: (gst_pad_dispose):
14963 Clean up dispose handler.
14965 * gst/gstpipeline.c: (gst_pipeline_change_state):
14966 Removed spurious UNLOCK.
14968 2005-09-27 Stefan Kost <ensonic@users.sf.net>
14970 * docs/gst/gstreamer-sections.txt:
14971 * gst/base/gstbasesrc.h:
14972 * gst/gstelement.h:
14976 * gst/gstpipeline.c:
14977 * gst/gstpipeline.h:
14980 added two new functions to the docs
14981 documents all undocumented GstXXXFlags
14982 completed some incomplete docs
14984 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
14986 * gst/gstbin.c: (gst_bin_dispose):
14987 * gst/gstelement.c: (gst_element_dispose):
14988 remove now useless and leaky resurrection code in dispose
14989 * gst/base/gstbasesrc.c: (gst_base_src_init):
14990 * gst/gstelementfactory.c: (gst_element_factory_create):
14991 * gst/gstobject.c: (gst_object_set_parent):
14994 2005-09-27 Wim Taymans <wim@fluendo.com>
14996 * docs/design/part-TODO.txt:
14999 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15000 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15001 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15002 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15003 (gst_bin_change_state):
15004 * gst/gstelement.h:
15005 Remove element variable, we keep element info in the iterator now.
15007 2005-09-27 Andy Wingo <wingo@pobox.com>
15009 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15012 2005-09-27 Wim Taymans <wim@fluendo.com>
15014 * check/gst/gstbin.c: (GST_START_TEST):
15015 Enable check that works now.
15017 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15018 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15019 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15020 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15021 (gst_bin_change_state):
15023 Redid the state change algorithm using a topological sort algo.
15024 Handles all cases correctly.
15025 Exposed iterator for state change order.
15027 * gst/gstelement.h:
15028 Temp storage for state changes. Need to get rid of this soon.
15030 2005-09-27 Wim Taymans <wim@fluendo.com>
15032 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15033 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15034 (link_fold_func), (gst_pad_proxy_setcaps):
15035 Leak fixes, the fold functions need to unref the passed object and
15036 _get_parent_*() returns ref to parent.
15038 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
15040 * check/gst/gstbuffer.c: (test_make_writable):
15041 Plug leak in test case and fix 'make check-valgrind'
15043 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
15045 * gst/gstbuffer.c: (gst_subbuffer_init):
15046 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15047 works correctly in all circumstances (we could have just copied
15048 the parent buffer's readonly flag, but conceptually it seems
15049 cleaner to mark all subbuffers as read-only). (based on patch
15050 by Alessandro Decina, #314710).
15052 * check/gst/gstbuffer.c: (create_read_only_buffer),
15053 (test_make_writable), (test_subbuffer_make_writable),
15055 Add some tests for gst_buffer_make_writable().
15057 2005-09-27 Wim Taymans <wim@fluendo.com>
15059 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15060 use gst_object_has_ancestor().
15062 * gst/gstobject.c: (gst_object_has_ancestor):
15064 gst_object_has_ancestor() copied from gstbin.c as it is a
15067 * tests/instantiate/create.c: (create_all_elements):
15068 * tests/lat.c: (handoff_src), (handoff_sink):
15069 * tests/sched/runxml.c: (main):
15070 * tests/seeking/seeking1.c: (main):
15071 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15073 Fix compilation of some tests.
15075 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
15078 Remove comment. GST_TYPE_G_ERROR is here to stay,
15079 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15080 (#316961, #300610).
15082 2005-09-26 Wim Taymans <wim@fluendo.com>
15084 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15085 Added check that shows error in state change order.
15087 2005-09-26 Wim Taymans <wim@fluendo.com>
15089 * gst/gstbin.c: (gst_bin_change_state):
15090 Make state change function use 3 queues again, we were
15091 adding elements in the wrong order.
15093 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15096 * gst/gstpad.c: (gst_pad_dispose):
15097 Added some debug info first.
15099 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
15101 * docs/design/draft-push-pull.txt:
15102 * docs/design/part-events.txt:
15103 * docs/design/part-overview.txt:
15104 * docs/design/part-scheduling.txt:
15105 Replace all _pull_region() with _pull_range()
15107 2005-09-26 Andy Wingo <wingo@pobox.com>
15109 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15111 * check/gst-libs/controller.c: Update for controller api change.
15114 * tests/Makefile.am:
15115 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15116 over by GLib bug 118439.
15118 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15119 routines to a function.
15121 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15123 * libs/gst/controller/gsthelper.c:
15124 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15125 (gst_object_sync_values): Renamed from sink_values. Ugh.
15127 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15129 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15130 Renamed from controller_key, as it is exported.
15132 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15134 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
15139 * gst/gstpadtemplate.h:
15142 * gst/gstqueryutils.c:
15143 * gst/gstqueryutils.h:
15144 remove queryutils headers after moving the two used functions
15145 to gstquery. also fixes build problem for gstsiddec
15147 2005-09-26 Michael Smith <msmith@fluendo.com>
15149 * tools/gst-launch.1.in:
15150 Correct documentation in manpage of debug syntax
15152 2005-09-26 Wim Taymans <wim@fluendo.com>
15154 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15155 (gst_base_src_is_seekable), (gst_base_src_change_state):
15156 Some more debugging info.
15158 2005-09-25 Stefan Kost <ensonic@users.sf.net>
15160 * docs/gst/gstreamer-sections.txt:
15161 * gst/base/gstbasetransform.h:
15165 2005-09-25 Stefan Kost <ensonic@users.sf.net>
15167 * docs/gst/.cvsignore:
15168 * docs/gst/tmpl/.cvsignore:
15169 * docs/gst/tmpl/gstpipeline.sgml:
15170 * docs/gst/tmpl/gstplugin.sgml:
15171 * gst/gstpipeline.c:
15174 inlined the last two docs files
15175 removed the tmpl directory from cvs (no more conflicts here!)
15177 2005-09-25 Stefan Kost <ensonic@users.sf.net>
15179 * docs/gst/gstreamer-sections.txt:
15180 * docs/gst/tmpl/.cvsignore:
15181 * docs/gst/tmpl/gstpad.sgml:
15182 * docs/gst/tmpl/gstpadtemplate.sgml:
15184 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15185 (gst_pad_finalize), (gst_pad_set_pad_template):
15187 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15188 (gst_pad_template_class_init), (gst_pad_template_init),
15189 (gst_pad_template_dispose), (name_is_valid),
15190 (gst_static_pad_template_get), (gst_pad_template_new),
15191 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15192 (gst_pad_template_pad_created):
15193 * gst/gstpadtemplate.h:
15194 inlined two more docs
15195 factored gstpadtemplate out of gstpad
15197 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
15199 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15200 (test_children_state_change_order_semi_sink):
15201 Fix test case: we can't rely on a fixed state change order when
15202 going from READY => PAUSED because the sink might commit its
15203 new state first when the first buffer created by the source
15204 reaches the sink before the source has finished its change state.
15205 (Test case still fails at times, see #316856, comment 5 onwards)
15207 2005-09-24 Wim Taymans <wim@fluendo.com>
15209 * docs/design/part-events.txt:
15210 * docs/design/part-gstbus.txt:
15211 * docs/design/part-gstpipeline.txt:
15212 * docs/design/part-messages.txt:
15213 * docs/design/part-overview.txt:
15214 * docs/design/part-segments.txt:
15218 * gst/gstelement.c:
15221 * gst/gstiterator.c:
15222 Various documentation updates.
15224 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
15227 Well, that's embarassing. Luckily we weren't using
15228 GST_CLOCK_DIFF anywhere.
15230 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15232 * common/gtk-doc.mak:
15233 don't fail on building XML, FC4 slave shows a bunch of doc
15234 missing bits that I don't get
15236 * gst/gstpipeline.c:
15237 * gst/gststructure.c:
15240 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
15242 * docs/design/part-gstbin.txt:
15243 * docs/design/part-gstbus.txt:
15245 Add blurb about how the bus goes into flushing mode and
15246 drops all messages when its bin goes from READY into NULL
15249 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15251 * docs/gst/gstreamer-sections.txt:
15252 * gst/gststructure.c: (gst_structure_get_clock_time):
15253 * gst/gststructure.h:
15254 add a method to get a GstClockTime out of a structure
15256 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
15258 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15259 (test_children_state_change_order_semi_sink), (gst_bin_suite):
15260 Added test to check state change order in bins (can still be made
15261 to fail here under heavy disk load; bails out with 'Push on pad
15262 fakesink:sink0, but it was not activated in push mode').
15264 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15265 Fix state change order when there is only a semi sink (#316856)
15267 * gst/gstbus.c: (gst_bus_class_init):
15268 Use _class_peek_parent(), not _class_ref(); fix docs to say
15269 'default main context' instead of 'mainloop' where that is
15272 * gst/gstelement.c: (gst_element_commit_state),
15273 (gst_element_set_state):
15274 Fix typos in debug messages
15276 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15279 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15280 * gst/gstpluginfeature.c:
15282 various doc updates
15283 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15284 change an assert into an error until it gets fixed properly
15286 2005-09-23 Stefan Kost <ensonic@users.sf.net>
15288 * docs/gst/gstreamer-sections.txt:
15289 * docs/gst/tmpl/.cvsignore:
15290 * docs/gst/tmpl/gstelement.sgml:
15291 * docs/gst/tmpl/gstinfo.sgml:
15292 * docs/gst/tmpl/gstobject.sgml:
15293 * gst/gstelement.c:
15294 * gst/gstelement.h:
15297 * gst/gstobject.c: (gst_object_class_init):
15299 inlined 3 more biiiig doc files and added some missing docs on the fly
15301 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15303 * check/gst/.cvsignore:
15304 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15305 * gst/gstregistryxml.c: (load_plugin),
15306 (gst_registry_xml_save_plugin):
15307 put back source in registry. add checks for find_plugin.
15308 * testsuite/states/bin.c: (assert_state), (empty_bin),
15309 (test_adding_one_element), (main):
15310 * testsuite/states/locked.c: (main):
15311 some compile/run fixes
15313 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
15315 * check/gst/gstvalue.c: (GST_START_TEST):
15316 fix leaks in the test itself
15318 2005-09-22 Wim Taymans <wim@fluendo.com>
15320 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15321 (gst_base_sink_send_event), (gst_base_sink_peer_query),
15322 (gst_base_sink_query):
15323 Prepare for more accurate position reporting and query
15326 * gst/gstelement.c: (gst_element_send_event),
15327 (gst_element_set_state):
15330 2005-09-22 Wim Taymans <wim@fluendo.com>
15332 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15333 (gst_query_parse_segment):
15335 More documentation.
15336 Add segment query for future use.
15338 2005-09-22 Wim Taymans <wim@fluendo.com>
15340 * gst/gstbin.c: (gst_bin_add_func):
15341 Some more debug info.
15343 * gst/gstelement.c: (gst_element_send_event):
15344 Simplify send_event
15346 * gst/gstelement.h:
15347 Don't know how flags got broken.
15352 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
15354 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15355 Add simplistic test suite for GST_TYPE_DATE serialisation and
15358 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
15360 * docs/gst/gstreamer-sections.txt:
15361 * gst/gststructure.c: (gst_structure_set_valist),
15362 (gst_structure_get_date):
15363 * gst/gststructure.h:
15364 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15365 (gst_date_copy), (gst_value_compare_date),
15366 (gst_value_serialize_date), (gst_value_deserialize_date),
15367 (gst_value_transform_date_string),
15368 (gst_value_transform_string_date), (_gst_value_initialize):
15370 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15371 bunch of utility functions along with a hack that checks that
15372 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15373 is required. Part of the grand scheme in #170777.
15375 2005-09-22 Andy Wingo <wingo@pobox.com>
15377 * gst/gstconfig.h.in: Psych out gtk-doc.
15379 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15381 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15383 * tools/gst-inspect.c (print_element_list): Plug some
15384 inconsequential leaks.
15386 * gst/gstregistry.c (gst_registry_get_default): Doc.
15388 * check/gst/gstplugin.c:
15389 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15390 * gst/gstelementfactory.c (gst_element_factory_create):
15391 * gst/gstindexfactory.c (gst_index_factory_create): Update for
15394 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15395 (gst_plugin_feature_load): Doc, don't eat refs.
15397 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15398 (gst_plugin_list_free): Doc.
15399 (gst_plugin_load_file): Doc updates.
15401 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15402 accessors returning refcounted objects, return a ref.
15404 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15405 accessor for caps. IDEMPOTENCE. Oh yes.
15407 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
15409 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
15411 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15412 (_gst_debug_register_funcptr):
15413 Add mutex to serialise access to the hash table with
15414 the function pointer => function name string mapping;
15415 make that hash table static scope (#316809).
15417 * gst/registries/.cvsignore:
15418 Remove left-over file.
15420 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
15422 * docs/pwg/appendix-porting.xml:
15423 And something about newsegment events and caps-on-buffers to
15424 the porting guide (feel free to improve).
15426 2005-09-21 Andy Wingo <wingo@pobox.com>
15428 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15429 data and event probes on the same pad.
15430 (test_buffer_probe_once): Test that removing probes from within
15431 the probe functions works.
15433 2005-09-21 Andy Wingo <wingo@pobox.com>
15435 * check/gst/gstutils.c: New file.
15436 (test_buffer_probe_n_times): A simple buffer probe test. More to
15439 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
15440 have-data::buffer, not have-data.
15441 (gst_pad_add_event_probe): Likewise for have-data::event.
15442 (gst_pad_add_data_probe): More docs. The part about 'resolving the
15443 peer' isn't quite right yet though.
15444 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
15445 (gst_pad_remove_data_probe): Change to take the guint handler_id
15446 as their arg, not the function+data, which is more glib-like.
15448 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
15449 the signal emission to indicate if the data is a buffer or an
15451 (gst_pad_get_type): Initialize buffer and event quarks.
15452 (gst_pad_class_init): have-data is now a detailed signal, yes it
15455 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
15457 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15458 * gst/gstutils.c: (gst_util_set_value_from_string),
15459 (gst_util_set_object_arg):
15460 Don't put functional code in g_return_if_fail() or
15461 g_return_val_if_fail() statements, otherwise things will
15462 break when G_DISABLE_CHECKS is defined during compilation.
15464 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15466 * docs/gst/tmpl/.cvsignore:
15467 * docs/gst/tmpl/gstvalue.sgml:
15470 inlied another one and added some obvious docs
15472 2005-09-21 Wim Taymans <wim@fluendo.com>
15474 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15475 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
15476 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
15477 (gst_fdsrc_get_property), (gst_fdsrc_create):
15478 * gst/elements/gstfdsrc.h:
15479 Properly implement fdsrc. Removed signal and timeout,
15480 better implemented somewhere else.
15482 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15484 * docs/gst/tmpl/.cvsignore:
15485 * docs/gst/tmpl/gstimplementsinterface.sgml:
15486 * gst/gstinterface.c:
15489 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15491 * docs/gst/gstreamer-sections.txt:
15492 * docs/gst/tmpl/.cvsignore:
15493 * docs/gst/tmpl/gstenumtypes.sgml:
15494 remove obsolete doc file
15496 2005-09-21 David Schleef <ds@schleef.org>
15498 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
15499 little beer, fix a little leak.
15501 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15503 * docs/gst/gstreamer-docs.sgml:
15504 * docs/gst/gstreamer-sections.txt:
15505 * docs/gst/tmpl/.cvsignore:
15509 * gst/gstelement.h:
15510 * gst/gstindex.c: (gst_index_class_init):
15512 * gst/gstindexfactory.c: (gst_index_factory_get_type),
15513 (gst_index_factory_class_init), (gst_index_factory_init),
15514 (gst_index_factory_finalize), (gst_index_factory_new),
15515 (gst_index_factory_destroy), (gst_index_factory_find),
15516 (gst_index_factory_create), (gst_index_factory_make):
15517 * gst/gstindexfactory.h:
15518 * gst/gstpluginfeature.c:
15519 * gst/gstpluginfeature.h:
15520 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15521 more docs inlined, splitted gstindex.{c,h}
15523 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15525 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15528 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
15530 * gst/elements/gstfilesink.c: (gst_file_sink_init):
15531 Set sync to FALSE by default.
15533 2005-09-20 Wim Taymans <wim@fluendo.com>
15535 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15536 (gst_base_sink_init):
15537 Make sync property settable from subclass.
15539 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
15540 (gst_fake_sink_change_state):
15541 Set sync to FALSE by default.
15543 2005-09-20 Wim Taymans <wim@fluendo.com>
15545 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
15546 * tools/gst-launch.c: (main):
15547 The timeout handler should have lower priority than the source
15548 so we don't timeout before popping a message with 0 timeout.
15549 Dump error messages after failed state change.
15551 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
15553 * tools/gst-inspect.c: (print_element_properties_info):
15556 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15558 * check/gst/gstevent.c:
15559 * gst/elements/gstfakesink.c:
15560 * gst/elements/gstfakesink.h:
15561 remove the sync property from fakesink.
15562 has the side effect of setting sync TRUE
15563 for fakesink, which is a change. Anyone who knows how
15564 to fix this nicely in a GObject-y way, feel free.
15566 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15568 * docs/gst/gstreamer-docs.sgml:
15569 remove probe refsection
15571 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15573 * check/Makefile.am:
15574 disable valgrinding the controller test again
15575 * docs/gst/gstreamer-sections.txt:
15576 update for api-changes
15578 2005-09-20 Wim Taymans <wim@fluendo.com>
15580 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15581 (gst_base_sink_set_property), (gst_base_sink_get_property),
15582 (gst_base_sink_do_sync):
15583 * gst/base/gstbasesink.h:
15584 Added sync property to basesink to disable clock sync.
15586 2005-09-20 Andy Wingo <wingo@pobox.com>
15588 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
15589 eating the caller's refcount.
15591 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
15592 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
15595 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
15596 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
15597 of GLib 2.8 public, so we can know which refcount to check in
15600 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
15601 (gst_object_init): Only set the gst refcount if we're going ahead
15602 with the refcount hack.
15604 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15606 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15607 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15608 more leaks plumbed, added more debug-logging
15612 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15614 * gst/gstmessage.c:
15615 remove include of gstmemchunk.h
15617 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15619 * gst/gstclock.c: (_gst_clock_id_free):
15620 Commit from the Political Party For More Atomic CVS Commits,
15621 so that people don't waste too much of their day fishing
15622 out obvious leaks out of massive commits.
15623 Oh, and fix a pretty damn obvious leak in the memchunk
15626 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15628 * check/Makefile.am:
15629 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15630 plug mem-leak, re-add to valgrindable tests
15632 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15635 unbreak the build for those who have chronic arthritis
15636 and typing "make check" is just too taxing on the hands
15638 2005-09-20 Andy Wingo <wingo@pobox.com>
15640 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
15641 really want it out, you should fix plugins at the same time.
15643 2005-09-19 Stefan Kost <ensonic@users.sf.net>
15646 * docs/gst/gstreamer-sections.txt:
15648 added missing symbols to api docs
15649 disable ref-count hack if we have glib >= 2.8
15651 2005-09-19 David Schleef <ds@schleef.org>
15653 * docs/gst/Makefile.am: Ignore a few more internal headers
15654 * docs/gst/gstreamer-docs.sgml: Remove old sections
15655 * docs/gst/gstreamer-sections.txt: Remove old sections
15656 * docs/gst/tmpl/gstobject.sgml: update
15657 * docs/gst/tmpl/gstplugin.sgml: update
15658 * docs/gst/tmpl/gstpluginfeature.sgml: update
15659 * docs/random/ds/0.9-suggested-changes: update.
15660 * gst/Makefile.am: remove memchunk and trashstack, since they're
15662 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
15663 * gst/gst.h: don't include some headers
15664 * gst/gstchildproxy.c: add gstmarshal.h
15665 * gst/gstclock.c: Don't use memchunks
15666 * gst/gstminiobject.c: Add some docs
15667 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
15668 * gst/gstobject.h: same
15669 * gst/gstplugin.c: include gstmacros.h
15670 * gst/gstplugin.h: don't include gstmacros.h, since it's private
15671 * gst/gstquery.c: don't use memchunks
15672 * gst/gstregistry.c: rename gst_registry_deinit()
15673 * gst/gstregistry.h: same
15675 2005-09-19 David Schleef <ds@schleef.org>
15677 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
15678 * docs/libs/gstreamer-libs-sections.txt:
15679 * docs/libs/tmpl/gstgetbits.sgml:
15680 * docs/libs/tmpl/gstputbits.sgml:
15682 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
15684 * win32/gstenumtypes.c:
15685 * win32/gstenumtypes.h:
15688 2005-09-19 Wim Taymans <wim@fluendo.com>
15690 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
15691 Automatically PAUSE and RESUME a pipeline when a flushing seek
15694 2005-09-19 Andy Wingo <wingo@pobox.com>
15696 * gst/gstregistry.h: Spacing fixen.
15698 2005-09-19 Wim Taymans <wim@fluendo.com>
15700 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
15701 Handle state change failure more correctly.
15703 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
15705 * check/Makefile.am:
15706 * check/pipelines/cleanup.c: (run_pipeline):
15707 * check/pipelines/simple_launch_lines.c: (run_pipeline),
15709 enable cleanup again after fixing the leak
15711 some more info on docs
15713 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
15715 * check/Makefile.am:
15716 re-enable tests now that leaks are plugged
15718 * check/gst/gstbin.c:
15719 * check/gst/gstpipeline.c:
15720 add some more tests while fixing leaks
15721 * common/check.mak:
15722 make sure binaries are uptodate when valgrinding/gdbing
15724 * gst/gstelementfactory.c:
15725 remove a ref too many, and add a FIXME for when we get
15726 round to disposing of classes
15728 fix the refcounting when loading a plugin from a file and
15729 the code pretends that the pointer is the same even though
15730 of course it can change
15731 * gst/gstpluginfeature.c:
15732 unref plugins marked cached (a bit confusing as a name)
15733 as the docs state should be done
15734 various doc additions to explain refcounting
15735 * gst/gstregistry.c:
15736 * gst/gstregistryxml.c:
15739 2005-09-19 Wim Taymans <wim@fluendo.com>
15741 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15742 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15743 (send_messages), (GST_START_TEST), (gstbus_suite):
15744 * check/gst/gstpipeline.c: (GST_START_TEST):
15745 * check/pipelines/cleanup.c: (run_pipeline):
15746 * check/pipelines/simple_launch_lines.c: (run_pipeline),
15748 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
15749 (gst_bus_source_check), (gst_bus_source_dispatch),
15750 (gst_bus_create_watch), (gst_bus_add_watch_full),
15751 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
15753 * tools/gst-launch.c: (event_loop):
15754 * tools/gst-md5sum.c: (event_loop):
15755 GstBusHandler -> GstBusFunc, return value has the same meaning as
15756 any other GSource (FALSE == remove source).
15757 _add_watch() and _add_watch_full() now take a MessageType mask to
15758 only handle specific types of messages.
15759 _poll() returns the GstMessage instead of the message type to avoid
15761 _have_pending() takes a MessageType mask now too.
15762 Added testsuite for multiple bus watches.
15763 Fix testsuites and applications for new bus API.
15765 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
15767 * check/Makefile.am:
15768 mark a bunch of the tests as to fix until we fix them
15770 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
15772 * common/check.mak:
15773 use GST_PLUGIN settings for valgrind tests as well, so we're
15774 valgrinding the correct thing
15775 * gst/gst.c: (init_post):
15778 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
15780 * gst/gst.c: (init_post), (gst_deinit):
15781 * gst/gstelementfactory.c: (gst_element_factory_class_init),
15782 (gst_element_factory_finalize), (gst_element_factory_cleanup):
15783 * gst/gstindex.c: (gst_index_factory_class_init),
15784 (gst_index_factory_finalize):
15785 * gst/gstobject.c: (gst_object_dispose):
15786 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15787 (gst_plugin_load_file), (gst_plugin_desc_free):
15788 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
15789 (gst_plugin_feature_finalize):
15790 * gst/gstregistry.c: (gst_registry_class_init),
15791 (gst_registry_init), (gst_registry_finalize),
15792 (gst_registry_get_default), (gst_registry_deinit):
15793 * gst/gstregistry.h:
15794 * gst/gstregistryxml.c: (load_feature), (load_plugin):
15795 various cleanups and memleak plugging. make valgrind is happy now.
15797 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
15799 * common/check.mak:
15800 add a check-valgrind target
15802 2005-09-18 David Schleef <ds@schleef.org>
15804 * tools/gst-inspect.c: Revert the GOption code.
15806 2005-09-17 David Schleef <ds@schleef.org>
15808 * check/Makefile.am: Fix environment variables.
15809 * check/gst/gstplugin.c: Fix for API changes.
15810 * tools/gst-inspect.c: Fix for API changes.
15811 * tools/gst-xmlinspect.c: Fix for API changes.
15812 * gst/gstelementfactory.c:
15815 * gst/gstpluginfeature.c:
15816 * gst/gstpluginfeature.h:
15817 * gst/gstregistry.c:
15818 * gst/gstregistry.h:
15819 * gst/gstregistryxml.c:
15820 * gst/gsttypefind.c:
15821 * gst/gsttypefindfactory.c:
15822 * gst/indexers/gstfileindex.c:
15823 * gst/indexers/gstmemindex.c:
15824 * gst/schedulers/Makefile.am:
15825 Change registry to keep track of both plugins and features,
15826 removing the feature tracking from plugins themselves.
15828 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
15830 * check/Makefile.am:
15831 * tools/gst-register.1.in:
15832 remove gst-register
15834 2005-09-15 David Schleef <ds@schleef.org>
15836 * check/gst/gstplugin.c:
15837 * gst/gstelementfactory.c:
15839 * gst/gstpluginfeature.c:
15840 * gst/gstregistry.c:
15841 Getting tired of debugging. Disabled all the unreffing of
15842 plugins and features, which fixes the segfaults, but of
15843 course leaks like crazy. At least playbin works.
15845 2005-09-15 David Schleef <ds@schleef.org>
15847 * check/gst/gstplugin.c: (register_check_elements),
15848 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
15850 * gst/elements/gsttypefindelement.c: Fix refcounting.
15851 * gst/gsttypefind.c:
15852 * gst/gsttypefindfactory.c:
15853 * gst/gsttypefindfactory.h:
15855 2005-09-15 David Schleef <ds@schleef.org>
15857 * gst/gstindex.c: get refcounting correct.
15858 * gst/gstregistry.c: Handle the case where a feature/plugin is
15861 2005-09-15 David Schleef <ds@schleef.org>
15863 * check/Makefile.am:
15864 * check/gst/gstplugin.c: Add test
15865 * gst/gstplugin.c: Fix problems noticed by testsuite
15867 * gst/gstregistry.c:
15868 * gst/gstregistry.h:
15870 2005-09-15 David Schleef <ds@schleef.org>
15872 * gst/gstplugin.c: Implement semi-decent recounting and locking
15873 in plugins and plugin features.
15875 * gst/gstpluginfeature.c:
15876 * gst/gstpluginfeature.h:
15877 * gst/gstregistry.c:
15879 2005-09-15 Michael Smith <msmith@fluendo.com>
15881 * gst/gstregistry.c: (gst_registry_get_feature_list):
15882 Implement this. Makes oggdemux work; decodebin still broken.
15884 2005-09-14 David Schleef <ds@schleef.org>
15886 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
15888 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
15889 * gst/check/Makefile.am:
15890 * libs/gst/controller/Makefile.am:
15891 * libs/gst/dataprotocol/Makefile.am:
15893 2005-09-14 David Schleef <ds@schleef.org>
15895 * configure.ac: Remove getbits library. Nothing uses it, and
15896 it should be in something like liboil if someone did want
15898 * libs/gst/Makefile.am:
15899 * libs/gst/getbits/Makefile.am:
15900 * libs/gst/getbits/gbtest.c:
15901 * libs/gst/getbits/getbits.c:
15902 * libs/gst/getbits/getbits.h:
15903 * libs/gst/getbits/gstgetbits_generic.c:
15904 * libs/gst/getbits/gstgetbits_i386.s:
15905 * libs/gst/getbits/gstgetbits_inl.h:
15907 2005-09-14 David Schleef <ds@schleef.org>
15909 * gst/Makefile.am: Dist glib-compat.h
15911 2005-09-14 David Schleef <ds@schleef.org>
15913 * configure.ac: Remove gst/registries, since it's no longer used.
15914 * gst/registries/Makefile.am:
15915 * gst/registries/gstlibxmlregistry.c:
15916 * gst/registries/gstlibxmlregistry.h:
15917 * gst/registries/gstxmlregistry.c:
15918 * gst/registries/gstxmlregistry.h:
15919 * gst/registries/registrytest.c:
15921 2005-09-14 David Schleef <ds@schleef.org>
15923 * gst/glib-compat.h:
15924 * gst/gstregistryxml.c:
15925 Convergence is near. Seriously.
15927 2005-09-14 David Schleef <ds@schleef.org>
15929 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15930 * gst/glib-compat.h:
15931 Attempt #4 to appease the buildbots.
15933 2005-09-14 David Schleef <ds@schleef.org>
15935 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15938 2005-09-14 David Schleef <ds@schleef.org>
15940 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15943 2005-09-14 David Schleef <ds@schleef.org>
15945 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
15948 2005-09-14 David Schleef <ds@schleef.org>
15950 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
15951 * gst/glib-compat.h: Add some functions that are in newer versions
15952 of glib than we care to require.
15953 * gst/gstregistryxml.c: Use them.
15955 2005-09-14 David Schleef <ds@schleef.org>
15957 * po/POTFILES.in: remove gst-register.c
15959 2005-09-14 David Schleef <ds@schleef.org>
15961 * docs/gst/gstreamer-docs.sgml:
15962 * docs/gst/gstreamer-sections.txt:
15963 * docs/gst/gstreamer.types:
15964 * docs/gst/tmpl/gstelement.sgml:
15965 * docs/gst/tmpl/gstplugin.sgml:
15966 * docs/gst/tmpl/gstpluginfeature.sgml:
15967 Documentation updates for registry changes.
15969 2005-09-14 David Schleef <ds@schleef.org>
15971 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
15972 because we don't require glib-2.8.
15974 2005-09-14 David Schleef <ds@schleef.org>
15976 * gst/gstregistryxml.c: Added. Essentially moved out of the
15977 registries directory.
15979 2005-09-14 David Schleef <ds@schleef.org>
15981 * check/Makefile.am:
15982 * check/generic/states.c:
15986 * gst/gst_private.h:
15987 * gst/gstelementfactory.c:
15992 * gst/gstpluginfeature.c:
15993 * gst/gstpluginfeature.h:
15994 * gst/gstregistry.c:
15995 * gst/gstregistry.h:
15996 * gst/gstregistrypool.c: remove
15997 * gst/gstregistrypool.h: remove
15998 * gst/gsttypefind.c:
15999 * gst/gsttypefindfactory.c:
16001 * tools/Makefile.am:
16002 * tools/gst-compprep.c:
16003 * tools/gst-inspect.c:
16004 * tools/gst-register.c: remove
16005 * tools/gst-xmlinspect.c:
16006 Registry rewrite. Changes registry from being a file created
16007 by a tool into a simple cache file created automatically by
16008 libgstreamer. Removed gst-register (because it's no longer
16009 needed). Remove registry pools, because we only have one
16010 registry implementation (XML). Fix up other subsystems as
16013 2005-09-13 Michael Smith <msmith@fluendo.com>
16015 * gst/gstconfig.h.in:
16016 Don't Use windows linking attributes for MinGW. Fixes #316157
16018 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
16020 * gst/gstutils.c: (set_state_async_thread_func),
16021 (gst_element_set_state_async):
16022 Apparently people think it's better if this function doesn't
16023 try to set the state to whatever state was asked for on the first
16024 call to this function for any object. Seriously.
16026 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
16028 * check/gst/gstpipeline.c: (GST_START_TEST):
16029 * docs/gst/gstreamer-sections.txt:
16030 * gst/gstutils.c: (set_state_async_thread_func),
16031 (gst_element_set_state_async):
16033 add a "gst_element_set_state_async" method that
16034 sets the state and starts a thread to make sure the state
16035 change completes as best as it can
16037 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
16039 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16040 codify design+behaviour in testsuite after discussion
16042 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
16044 * docs/gst/tmpl/gstelement.sgml:
16045 * docs/manual/appendix-quotes.xml:
16047 * gst/gstelement.c: (gst_element_set_state):
16050 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
16052 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16053 (gst_base_transform_prepare_output_buf),
16054 (gst_base_transform_handle_buffer):
16055 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16056 (gst_capsfilter_prepare_buf):
16057 Remove the requirement for sub-classes to call the parent
16058 implementation of prepare_output_buffer with a wrapper function.
16060 * gst/gsttaglist.h:
16061 * gst/gsttagsetter.h:
16062 Fix #define wrapper
16064 2005-09-11 Stefan Kost <ensonic@users.sf.net>
16066 * docs/gst/gstreamer-sections.txt:
16069 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
16071 * docs/gst/gstreamer-sections.txt:
16072 * docs/gst/tmpl/gstelement.sgml:
16073 * docs/gst/tmpl/gstplugin.sgml:
16074 * gst/gstminiobject.c:
16076 docs now stop throwing warnings
16078 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
16080 * docs/gst/gstreamer-sections.txt:
16081 * docs/gst/gstreamer.types:
16082 * docs/gst/tmpl/gstpad.sgml:
16083 * docs/gst/tmpl/gsttypes.sgml:
16084 * gst/base/gstadapter.h:
16085 * gst/base/gstbasesink.h:
16086 * gst/base/gstbasesrc.h:
16092 * gst/gstelement.h:
16094 * gst/gstmessage.h:
16096 * gst/gststructure.c:
16097 * gst/registries/gstlibxmlregistry.h:
16098 various documentation fixes
16100 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
16102 * docs/gst/gstreamer-sections.txt:
16103 * docs/gst/tmpl/gstvalue.sgml:
16104 rearrange gstvalue section
16105 * gst/gstutils.c: (gst_element_state_get_name):
16107 * gst/gstvalue.c: (_gst_value_initialize):
16111 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
16113 * check/gst-libs/controller.c:
16114 Header include fix.
16115 * gst/base/gstbasetransform.c:
16116 (gst_base_transform_default_prepare_buf),
16117 (gst_base_transform_handle_buffer):
16118 * gst/base/gstbasetransform.h:
16119 Some more basetransform changes and fixes to enable sub-classes
16120 that modify buffer metadata only.
16121 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16122 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16123 (gst_capsfilter_prepare_buf):
16124 If the output pad has fixed allowed caps and input buffers
16125 don't have any, set the fixed caps on outgoing buffers.
16127 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
16128 * check/elements/identity.c: (GST_START_TEST):
16129 Make the error a little clearer when the test fails because
16130 identity made a copy of the buffer.
16131 * docs/gst/gstreamer-sections.txt:
16132 New symbols in gstbasetransform.h
16133 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16134 (gst_base_transform_init), (gst_base_transform_transform_size),
16135 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16136 (gst_base_transform_default_prepare_buf),
16137 (gst_base_transform_get_unit_size),
16138 (gst_base_transform_buffer_alloc),
16139 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16140 (gst_base_transform_change_state),
16141 (gst_base_transform_set_passthrough),
16142 (gst_base_transform_set_in_place),
16143 (gst_base_transform_is_in_place):
16144 * gst/base/gstbasetransform.h:
16145 Change BaseTransform to separate in_place operate from same_caps
16146 output. in_place implies that the element can perform the transform
16147 on incoming buffers in-place, even if the caps on the output are
16149 Sub-class elements can now implement special buffer allocation
16150 methods for outgoing buffers if they wish to.
16151 Big documentation addition.
16152 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16153 * gst/elements/gstelements.c:
16154 Changes for basetransform modifications.
16155 * gst/elements/Makefile.am:
16156 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16157 Compile fix. Extra debug output.
16159 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
16161 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16163 add tests for valid pad naming
16164 * gst/check/gstcheck.c: (gst_check_log_message_func),
16165 (gst_check_log_critical_func):
16167 remove printing of code, it is fragile when the code contains
16168 % and the line number is enough info
16169 * gst/check/gstcheck.h:
16170 * gst/gstpad.c: (gst_pad_template_new):
16173 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
16176 say what CHECK flags we use
16177 * docs/libs/gstreamer-libs.types:
16178 * libs/gst/controller/Makefile.am:
16179 * libs/gst/controller/gst-controller.c:
16180 * libs/gst/controller/gst-controller.h:
16181 * libs/gst/controller/gst-helper.c:
16182 * libs/gst/controller/gst-interpolation.c:
16183 * libs/gst/controller/gstcontroller.c:
16184 * libs/gst/controller/gsthelper.c:
16185 * libs/gst/controller/gstinterpolation.c:
16186 * tools/gst-inspect.c: (print_plugin_info):
16187 we don't use dashes in header names
16189 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
16191 * check/Makefile.am:
16192 * check/gst/.cvsignore:
16193 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16194 (gst_pipeline_suite), (main):
16195 adding a test for pipelines and state changes
16196 * gst/gstutils.c: (get_state_func):
16198 * gstreamer.spec.in:
16201 2005-09-08 Michael Smith <msmith@fluendo.com>
16203 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16204 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16205 (gst_file_src_is_seekable), (gst_file_src_get_size),
16206 (gst_file_src_start):
16207 * gst/elements/gstfilesrc.h:
16208 Various fixes for unseekable, unmmapable, and non-normal files, so
16209 that fallback to read() rather than mmap() works.
16210 * gst/gstevent.c: (gst_event_new_newsegment):
16211 Allow newsegment events with segment_start == segment_end, as will
16212 correctly happen if you use filesrc on a zero-size file, for
16215 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
16217 * gst/gstplugin.c: (gst_plugin_load_file):
16218 Call g_module_close when we don't load the module
16220 * gst/registries/gstlibxmlregistry.c:
16221 (gst_xml_registry_get_property):
16222 Port leak fix from 0.8
16224 2005-09-07 Stefan Kost <ensonic@users.sf.net>
16226 * docs/gst/gstreamer-docs.sgml:
16227 * docs/gst/tmpl/.cvsignore:
16228 * docs/gst/tmpl/gsttrace.sgml:
16229 * docs/gst/tmpl/gsttrashstack.sgml:
16232 * gst/gstelement.h:
16234 * gst/gstmessage.c:
16235 * gst/gstmessage.h:
16238 * gst/gsttaginterface.c:
16239 * gst/gsttaginterface.h:
16240 * gst/gsttaglist.c:
16241 * gst/gsttaglist.h:
16242 * gst/gsttagsetter.c:
16243 * gst/gsttagsetter.h:
16246 * gst/gsttrashstack.c:
16247 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16248 inlined docs for gsttrace, gsttrashstack
16250 2005-09-07 Stefan Kost <ensonic@users.sf.net>
16253 * gst/elements/gstbufferstore.h:
16254 * gst/elements/gsttypefindelement.c:
16255 * gst/elements/gsttypefindelement.h:
16257 * gst/gsttypefind.c:
16258 * gst/gsttypefind.h:
16259 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16260 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16261 (gst_type_find_factory_dispose),
16262 (gst_type_find_factory_unload_thyself),
16263 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16264 (gst_type_find_factory_get_caps),
16265 (gst_type_find_factory_get_extensions),
16266 (gst_type_find_factory_call_function):
16267 * gst/gsttypefindfactory.h:
16268 * gst/registries/gstlibxmlregistry.c:
16269 * gst/registries/gstxmlregistry.c:
16270 splitted gsttypefind into gsttypefind, gsttypefindfactory
16272 2005-09-07 Andy Wingo <wingo@pobox.com>
16274 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16275 condition whereby the pad's task function is entered before the
16276 pad_mode variable was set.
16278 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
16280 * gst/gstpad.c: (gst_pad_alloc_buffer):
16281 Catch misbehaving pad_alloc functions that don't
16282 set up caps and do it for them.
16284 2005-09-07 Stefan Kost <ensonic@users.sf.net>
16286 * check/pipelines/simple_launch_lines.c: (run_pipeline):
16287 test for pipe!=NULL
16288 * docs/gst/tmpl/.cvsignore:
16289 * docs/gst/tmpl/gstmemchunk.sgml:
16290 * docs/gst/tmpl/gstparse.sgml:
16291 * docs/gst/tmpl/gsttaglist.sgml:
16292 * docs/gst/tmpl/gsttagsetter.sgml:
16293 * docs/gst/tmpl/gsttypefind.sgml:
16294 * docs/gst/tmpl/gsttypefindfactory.sgml:
16295 * gst/gstmemchunk.c:
16298 * gst/gsttaginterface.c:
16299 * gst/gsttypefind.c:
16300 * gst/gsttypefind.h:
16303 === release 0.9.2 ===
16305 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
16310 releasing 0.9.2, "South"
16312 2005-09-05 Andy Wingo <wingo@pobox.com>
16314 * gst/registries/gstxmlregistry.h:
16315 * gst/registries/gstxmlregistry.c: Um... resurrect...
16317 * gst/registries/gstxmlregistry.h:
16318 * gst/registries/gstxmlregistry.c: and update to newer API.
16319 Incidentally they should be a bit faster now that they don't have
16322 2005-09-05 Andy Wingo <wingo@pobox.com>
16324 * gst/registries/gstxmlregistry.h:
16325 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16326 replaced by the libxml registry a while back
16328 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
16330 * docs/gst/tmpl/gstplugin.sgml:
16331 * gst/elements/gstelements.c:
16333 * gst/gstplugin.c: (gst_plugin_register_func),
16334 (gst_plugin_desc_copy), (gst_plugin_desc_free),
16335 (gst_plugin_get_source):
16337 * gst/registries/gstlibxmlregistry.c: (load_plugin),
16338 (gst_xml_registry_save_plugin):
16339 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16340 (gst_xml_registry_save_plugin):
16341 * tools/gst-inspect.c: (print_plugin_info):
16342 add a "source" plugin description field, to represent the source
16343 module this plugin is a part of. By default GST_PLUGIN_DEFINE
16344 will set it to PACKAGE, which is automake's idea of the name of
16345 the source project.
16347 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
16352 * docs/Makefile.am:
16353 * docs/faq/Makefile.am:
16354 * docs/gst/tmpl/gstelement.sgml:
16355 * docs/gst/tmpl/gsttypes.sgml:
16356 * docs/htmlinstall.mak:
16357 * docs/manual/Makefile.am:
16358 * docs/pwg/Makefile.am:
16359 reorganize doc build a little
16360 split out docbook and gtk-doc stuff
16361 have two separate --enable's and enable them through autogen
16362 but disable by default in configure (to be similar to other
16364 * gstreamer.spec.in:
16365 clean up docs install
16383 translation updates
16385 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
16387 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16390 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16391 (gst_fake_sink_change_state):
16392 Make state change function thread-safe.
16394 * gst/gstpad.c: (gst_pad_alloc_buffer):
16395 Set offset on generic buffer allocated by fallback.
16397 2005-09-03 Stefan Kost <ensonic@users.sf.net>
16399 * docs/gst/gstreamer-sections.txt:
16400 * docs/gst/tmpl/gstelement.sgml:
16402 * libs/gst/controller/gst-controller.c:
16403 (gst_controlled_property_set_interpolation_mode),
16404 (gst_controlled_property_new),
16405 (gst_controller_find_controlled_property):
16406 run the wingo-magic script against the docs
16408 2005-09-02 Stefan Kost <ensonic@users.sf.net>
16410 * docs/gst/gstreamer-docs.sgml:
16411 * docs/gst/gstreamer-sections.txt:
16412 * docs/gst/tmpl/.cvsignore:
16413 * docs/gst/tmpl/gstelementdetails.sgml:
16414 * docs/gst/tmpl/gstelementfactory.sgml:
16417 * gst/gstelementfactory.c:
16418 * gst/gstelementfactory.h:
16419 merged elementdetails docs into elementfactory docs
16422 2005-09-02 Andy Wingo <wingo@pobox.com>
16424 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16425 consider this enum an enum and not a flags.
16427 2005-09-02 Stefan Kost <ensonic@users.sf.net>
16429 * docs/gst/gstreamer-docs.sgml:
16430 * docs/gst/tmpl/.cvsignore:
16431 * docs/gst/tmpl/gstghostpad.sgml:
16432 * docs/gst/tmpl/gstiterator.sgml:
16433 * docs/gst/tmpl/gstmacros.sgml:
16434 * docs/gst/tmpl/gstrealpad.sgml:
16435 * docs/gst/tmpl/gstregistry.sgml:
16436 * docs/gst/tmpl/gstregistrypool.sgml:
16437 * docs/gst/tmpl/gststructure.sgml:
16438 * docs/gst/tmpl/gstsystemclock.sgml:
16439 * docs/gst/tmpl/gsttrace.sgml:
16440 * gst/gstghostpad.c:
16442 * gst/gstmemchunk.c:
16443 * gst/gstmemchunk.h:
16445 * gst/gstregistry.c:
16446 * gst/gstregistrypool.c:
16447 * gst/gststructure.c:
16448 * gst/gstsystemclock.c:
16451 2005-09-02 Andy Wingo <wingo@pobox.com>
16453 * gst/gstelement.h (GstState): Renamed from GstElementState,
16454 changed to be a normal enum instead of flags.
16455 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
16456 munged to be GST_STATE_CHANGE_*.
16457 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
16458 work with the new state representation.
16459 (GstStateChange): New enumeration of possible state transitions.
16460 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
16461 (GstElementClass::change_state): Pass the GstStateChange along as
16462 an argument. Helps language bindings, so they don't have to use
16463 tricky lock-needing macros like GST_STATE_CHANGE ().
16465 * scripts/update-states (file): New script. Run it on a file to
16466 update it for state naming and API changes. Updates files in
16469 * All files updated for the new API.
16471 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
16473 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
16474 * gst/gstutils.c: (gst_util_set_value_from_string),
16475 (gst_util_set_object_arg):
16476 fix a bunch of unchecked return values
16477 * tools/gst-complete.c: (main):
16478 * gstreamer.spec.in:
16481 2005-09-01 Wim Taymans <wim@fluendo.com>
16483 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16484 (gst_base_sink_event), (gst_base_sink_do_sync),
16485 (gst_base_sink_handle_event):
16486 * gst/base/gstbasesink.h:
16487 Handle newsegments more correctly.
16492 * gst/gstevent.c: (gst_event_new_newsegment):
16493 A newsegment cannot have a start_time of -1
16495 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
16497 * win32/gstenumtypes.c:
16498 * win32/gstenumtypes.h:
16501 2005-08-31 Stefan Kost <ensonic@users.sf.net>
16503 * libs/gst/controller/gst-controller.c:
16504 (gst_controlled_property_set_interpolation_mode),
16505 (gst_controlled_property_new):
16506 fixed boolean again
16508 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
16510 * docs/faq/gst-uninstalled:
16515 * gst/gstutils.c: (gst_element_link_filtered):
16517 add gst_element_link_filtered
16519 2005-08-31 Stefan Kost <ensonic@users.sf.net>
16521 * docs/gst/gstreamer-docs.sgml:
16522 * docs/gst/gstreamer-sections.txt:
16523 * docs/gst/tmpl/.cvsignore:
16524 * docs/gst/tmpl/gsterror.sgml:
16525 * docs/gst/tmpl/gstfilter.sgml:
16526 * docs/gst/tmpl/gsturihandler.sgml:
16527 * docs/gst/tmpl/gsturitype.sgml:
16528 * docs/gst/tmpl/gstutils.sgml:
16529 * docs/gst/tmpl/gstxml.sgml:
16534 * gst/gsturitype.c:
16537 inlined more docs, fixed double id-ref
16539 2005-08-31 Wim Taymans <wim@fluendo.com>
16541 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16542 (gst_base_transform_handle_buffer):
16543 Passthrough elements don't need the caps as they don't care.
16545 2005-08-31 Wim Taymans <wim@fluendo.com>
16547 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16548 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
16549 Don't leak refcounts on buffers.
16551 2005-08-31 Wim Taymans <wim@fluendo.com>
16553 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
16554 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16555 (gst_base_transform_chain), (gst_base_transform_change_state):
16556 * gst/base/gstbasetransform.h:
16557 Handle the case where we are not negotiated more gracefully.
16559 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
16561 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
16562 (gst_file_src_map_region):
16563 Set READONLY flag on mmap'ed buffers, otherwise
16564 gst_buffer_make_writable() won't work properly (#314708).
16566 2005-08-31 Wim Taymans <wim@fluendo.com>
16568 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
16569 passthrough elements can even do inplace on non writable
16570 buffers (as they don't touch them).
16572 2005-08-31 Stefan Kost <ensonic@users.sf.net>
16574 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
16575 (gst_test_mono_source_set_property),
16576 (gst_test_mono_source_class_init), (GST_START_TEST),
16577 (gst_controller_suite):
16578 more tests (hehe I have the most)
16580 describe popping messages whenusing mulltiple sources
16581 * libs/gst/controller/gst-controller.c:
16582 (gst_controlled_property_set_interpolation_mode),
16583 (gst_controlled_property_new):
16584 * libs/gst/controller/gst-controller.h:
16585 * libs/gst/controller/gst-interpolation.c:
16586 implement boolean properties
16588 2005-08-31 Wim Taymans <wim@fluendo.com>
16590 * gst/gstminiobject.c: (gst_mini_object_ref):
16591 Cannot assert that the refcount has to be positive
16592 since a disposed object can be resurrected.
16594 2005-08-31 Wim Taymans <wim@fluendo.com>
16596 * gst/gstpad.c: (gst_pad_init):
16597 Revert change, need to first fix badly behaving
16600 2005-08-30 Wim Taymans <wim@fluendo.com>
16602 * check/elements/fakesrc.c: (setup_fakesrc):
16603 * check/elements/identity.c: (setup_identity):
16604 Activate pads before using them.
16606 2005-08-30 Wim Taymans <wim@fluendo.com>
16608 * gst/base/gstadapter.c: (gst_adapter_flush):
16609 Flushing out 0 bytes is ok for this function.
16611 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16612 no newsegment gives a warning and sets the start/stop to
16615 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
16616 (gst_base_transform_set_passthrough):
16619 * gst/gstminiobject.c: (gst_mini_object_ref):
16620 Check refcount here too.
16622 * gst/gstpad.c: (gst_pad_init):
16623 Pads are initially flushing and refusing data.
16625 * gst/gstutils.c: (gst_element_link_pads_filtered):
16626 When adding a capsfilter element make sure it has the
16627 same state as the parent bin.
16629 2005-08-30 Stefan Kost <ensonic@users.sf.net>
16631 * docs/gst/tmpl/.cvsignore:
16632 * docs/gst/tmpl/gstformat.sgml:
16633 * docs/gst/tmpl/gstversion.sgml:
16637 * gst/gstversion.h.in:
16638 more docs and two more inlined
16640 2005-08-30 Wim Taymans <wim@fluendo.com>
16642 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
16643 Don't sync to clock.
16645 2005-08-30 Stefan Kost <ensonic@users.sf.net>
16647 * docs/gst/gstreamer-sections.txt:
16648 ultral33t func10ns deserve to appear in the docs actually
16649 * docs/gst/tmpl/.cvsignore:
16650 * docs/gst/tmpl/gstcompat.sgml:
16651 * docs/gst/tmpl/gstconfig.sgml:
16652 * gst/check/gstcheck.c:
16654 * gst/gstconfig.h.in:
16657 2005-08-30 Stefan Kost <ensonic@users.sf.net>
16659 * docs/gst/tmpl/.cvsignore:
16660 * docs/gst/tmpl/gstquery.sgml:
16661 * docs/gst/tmpl/gstutils.sgml:
16664 inlined and extended docs
16666 2005-08-30 Stefan Kost <ensonic@users.sf.net>
16668 * check/gst-libs/controller.c: (GST_START_TEST),
16669 (gst_controller_suite):
16671 * docs/gst/tmpl/gstutils.sgml:
16672 * docs/libs/gstreamer-libs-sections.txt:
16673 * docs/libs/tmpl/gstdataprotocol.sgml:
16675 * examples/controller/audio-example.c: (main):
16676 controller example works now
16679 * tools/gst-inspect.c: (print_element_properties_info):
16680 show param spec flags
16682 2005-08-29 Andy Wingo <wingo@pobox.com>
16684 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
16686 2005-08-28 Andy Wingo <wingo@pobox.com>
16688 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
16689 as having two arguments instead of just one. Allows superclasses
16690 to access information on subclasses -- see the terrible for() loop
16691 in gtype.c:g_type_create_instance for the reason why. All callers
16694 2005-08-27 Stefan Kost <ensonic@users.sf.net>
16696 * docs/design/part-messages.txt:
16698 * docs/gst/tmpl/.cvsignore:
16699 * docs/gst/tmpl/gstcaps.sgml:
16700 * docs/gst/tmpl/gstclock.sgml:
16706 * gst/gstmessage.c:
16707 added descriptions for bus and message
16708 inline caps and clock docs
16710 2005-08-27 Stefan Kost <ensonic@users.sf.net>
16712 * gst/gstmessage.c:
16713 * gst/gstmessage.h:
16716 2005-08-27 Stefan Kost <ensonic@users.sf.net>
16718 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16721 2005-08-26 Andy Wingo <wingo@pobox.com>
16723 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
16724 element_set_state's return val.
16725 (test_2_elements): Add test that's been disabled for months.
16727 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
16728 can-activate-pull properties.
16730 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
16731 can-activate-pull properties. Implement is_seekable so fakesrc can
16732 operate in pull mode.
16734 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
16736 (gst_base_sink_activate, gst_base_sink_activate_pull)
16737 (gst_base_sink_activate_push): Make activation mode choosing work.
16739 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
16740 is right. Make pull mode work. Post an eos before pausing in pull
16742 (gst_base_sink_change_state): Pay attention to the core's
16743 change_state() return val.
16745 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
16746 has-getrange properties. Cleanups.
16748 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
16749 has_getrange and replace with can_activate_pull and
16752 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
16753 locking comments. Remove has_loop, has_chain and replace with
16754 can_activate_pull and can_activate_push.
16756 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
16759 * examples/Makefile.am:
16760 * examples/metadata/Makefile.am:
16761 * examples/metadata/read-metadata.c: (message_loop),
16762 (have_pad_handler), (make_pipeline), (print_tag), (main):
16763 Add metadata reading example that loops over a list of filenames,
16764 dumping any tags found.
16766 * gst/gstbus.c: (gst_bus_dispose):
16767 * gst/gstelement.c: (gst_element_dispose):
16768 Release a few potentially-held references in dispose.
16770 2005-08-26 Stefan Kost <ensonic@users.sf.net>
16772 * docs/gst/tmpl/gstminiobject.sgml:
16773 do *not* add tmpl/*.sgml files to CVS!
16775 2005-08-26 Stefan Kost <ensonic@users.sf.net>
16777 * libs/gst/bytestream/.cvsignore:
16778 * libs/gst/bytestream/Makefile.am:
16779 * libs/gst/bytestream/adapter.c:
16780 * libs/gst/bytestream/adapter.h:
16781 * libs/gst/bytestream/bytestream.c:
16782 * libs/gst/bytestream/bytestream.h:
16783 * libs/gst/bytestream/filepad.c:
16784 * libs/gst/bytestream/filepad.h:
16785 removing obsolete files
16787 2005-08-26 Stefan Kost <ensonic@users.sf.net>
16789 * docs/gst/gstreamer-docs.sgml:
16790 * docs/libs/gstreamer-libs-docs.sgml:
16791 disabed additional index entries again, as this makes docs-gen just
16792 slow and they aren't useful yet
16793 * docs/libs/gstreamer-libs-sections.txt:
16794 little -section.txt cleanup for libs
16796 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
16798 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16799 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
16800 fix up some debugging
16801 (gst_base_transform_get_unit_size),
16802 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16803 (gst_base_transform_handle_buffer):
16804 * gst/base/gstbasetransform.h:
16805 handle and store timed NEWSEGMENT events so that subclasses that
16806 calculate time by counting samples have a segment_start time they
16807 need to add to their timestamps - see audioresample
16809 2005-08-26 Stefan Kost <ensonic@users.sf.net>
16812 removed ';' from the end of macro defs
16813 * docs/gst/gstreamer-docs.sgml:
16814 * docs/gst/gstreamer-sections.txt:
16815 * docs/gst/tmpl/.cvsignore:
16817 * gst/gstelement.c: (gst_element_class_init),
16818 (gst_element_set_state), (activate_pads),
16819 (gst_element_save_thyself):
16820 * gst/gstevent.c: (gst_event_new_newsegment):
16822 * gst/gstiterator.c:
16823 * gst/gstiterator.h:
16826 * gst/gstutils.c: (gst_pad_query_convert):
16828 fixed parameter name mismatches between source, header and docs
16829 added some more docs, resolved the last batch of unused elements in
16830 docs (now someone needs to doc them)
16832 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
16834 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
16835 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
16836 don't walk through the plugins backwards. Where is all this
16837 reversed logic coming from ?
16839 2005-08-25 Wim Taymans <wim@fluendo.com>
16841 * gst/base/gstbasetransform.c: (gst_base_transform_init),
16842 (gst_base_transform_transform_size),
16843 (gst_base_transform_configure_caps),
16844 (gst_base_transform_get_unit_size),
16845 (gst_base_transform_buffer_alloc),
16846 (gst_base_transform_change_state):
16847 * gst/base/gstbasetransform.h:
16848 Cache caps unit_size.
16849 Make sure we cannot negotiate up and downstream at the
16852 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
16854 * gst/gst.c: (init_pre), (init_post):
16855 register the installed plugin path after the env var
16856 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
16857 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
16858 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
16859 directories, so the tests can prefer uninstalled over installed
16861 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
16863 * gst/base/gstbasetransform.h:
16868 2005-08-25 Wim Taymans <wim@fluendo.com>
16870 * gst/gstbin.c: (bin_bus_handler):
16871 Be a bit more conservative about the posted message.
16873 * gst/gstbus.c: (gst_bus_post):
16874 Some cleanups, warn wrong return values.
16876 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
16878 * check/gst/gstbin.c: (GST_START_TEST):
16879 * gst/gstbin.c: (bin_bus_handler):
16880 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
16881 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
16882 (gst_message_new_warning), (gst_message_new_tag),
16883 (gst_message_new_state_changed), (gst_message_new_segment_start),
16884 (gst_message_new_segment_done), (gst_message_new_custom):
16885 * gst/gstmessage.h:
16886 * tools/gst-launch.c: (event_loop):
16887 * tools/gst-md5sum.c: (event_loop):
16888 Revert unpopular change for GST_MESSAGE_SRC to GObject.
16890 2005-08-25 Wim Taymans <wim@fluendo.com>
16892 * check/generic/states.c: (GST_START_TEST):
16893 Cleanup can be done at the end.
16895 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
16896 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
16897 (gst_task_get_state), (gst_task_start), (gst_task_pause):
16898 Oh boy.. Thanks for finding this, Thomas.
16900 2005-08-25 Stefan Kost <ensonic@users.sf.net>
16902 * docs/gst/gstreamer.types:
16903 added missing types
16905 2005-08-25 Stefan Kost <ensonic@users.sf.net>
16907 * docs/gst/gstreamer-docs.sgml:
16908 * docs/gst/gstreamer-sections.txt:
16909 * docs/gst/tmpl/.cvsignore:
16911 * gst/gstiterator.c:
16913 * gst/registries/gstxmlregistry.h:
16914 added missing classes and symbols (123 more to go)
16915 removed removed symbols from section file
16916 fixed many doc-comments
16918 2005-08-24 Wim Taymans <wim@fluendo.com>
16920 * check/generic/states.c: (GST_START_TEST):
16921 Make sure all tasks are stopped.
16923 * check/gst/gstbin.c: (GST_START_TEST):
16924 Unref after usage for proper valgrinding.
16926 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
16927 Really wait for the task to stop before destroying the
16930 * gst/gstqueue.c: (gst_queue_sink_activate_push),
16931 (gst_queue_src_activate_push):
16932 Small cleanups. Don't stop the task when we did not start
16935 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
16936 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
16937 (gst_task_get_state), (gst_task_start), (gst_task_pause),
16940 Protect the stream lock with the object lock.
16941 Disallow setting the stream lock when running.
16942 Add cleanup_all to wait for the threadpool to finish.
16943 Remove code to autoallocate a mutex if none was provided.
16944 Add _join() to wait for a task to stop.
16945 Protect the thread pool with a global lock.
16947 2005-08-24 Wim Taymans <wim@fluendo.com>
16949 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16950 (gst_base_sink_get_times), (gst_base_sink_do_sync),
16951 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
16952 * gst/base/gstbasesink.h:
16953 Handle newsegment events correctly.
16954 Drop buffers out of the segment range.
16956 2005-08-22 Andy Wingo <wingo@pobox.com>
16958 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
16959 macro, implements an interface and gstimplementsinterface for a
16962 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
16964 * check/Makefile.am:
16965 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
16966 add a test that does a bunch of state changes on elements
16967 needs some fixing for valgrind
16968 * check/states/sinks.c: (gst_object_suite):
16971 add prototype for gst_caps_is_equal_fixed
16973 * gst/gstregistrypool.c:
16976 2005-08-24 Andy Wingo <wingo@pobox.com>
16978 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
16979 convert a negative value. Doesn't make much sense. Mostly this is
16980 here to force callers to ensure -1 maps to -1.
16982 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
16984 * docs/pwg/advanced-types.xml:
16985 Well done to Michael for catching my deliberate introduction
16986 of this spelling mistake.
16987 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
16988 * gst/gstelement.h:
16989 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
16990 unlink pads before removing the element from the bin.
16992 2005-08-24 Andy Wingo <wingo@pobox.com>
16994 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
16995 the same thing as GST_DEBUG=*:4.
16996 (parse_debug_level, parse_debug_category): New helper parsers.
16998 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
17000 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17001 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17002 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17003 (gst_base_transform_buffer_alloc),
17004 (gst_base_transform_handle_buffer):
17005 use gboolean return values and pointers to size so we can use the
17006 full GST_BUFFER_SIZE range (guint) for buffer sizes
17007 use GstPadDirection for transform_caps
17008 * gst/base/gstbasetransform.h:
17009 rename get_size to get_unit_size since that's what it is
17010 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17011 use GstPadDirection for transform_caps
17012 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17014 cleanup and debugging
17016 2005-08-24 Stefan Kost <ensonic@users.sf.net>
17018 * gst/gstelement.c: (gst_element_class_init),
17019 (gst_element_set_state), (activate_pads),
17020 (gst_element_save_thyself):
17021 * tools/gst-compprep.c: (main):
17022 * tools/gst-inspect.c: (print_element_properties_info):
17023 * tools/gst-xmlinspect.c: (print_element_properties):
17024 Fixed long standing mem-leak
17026 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
17028 * check/gst/gstbin.c: (GST_START_TEST):
17029 * gst/gstbin.c: (bin_bus_handler):
17030 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17031 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17032 (gst_message_new_warning), (gst_message_new_tag),
17033 (gst_message_new_state_changed), (gst_message_new_segment_start),
17034 (gst_message_new_segment_done), (gst_message_new_custom):
17035 * gst/gstmessage.h:
17036 * tools/gst-launch.c: (event_loop):
17037 * tools/gst-md5sum.c: (event_loop):
17038 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17039 that applications can sensibly post custom messages with references
17040 to their own objects.
17042 2005-08-24 Andy Wingo <wingo@pobox.com>
17044 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17047 2005-08-24 Wim Taymans <wim@fluendo.com>
17049 * gst/base/gstbasetransform.c: (gst_base_transform_init),
17050 (gst_base_transform_transform_caps),
17051 (gst_base_transform_transform_size),
17052 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17053 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17054 (gst_base_transform_handle_buffer):
17055 * gst/base/gstbasetransform.h:
17056 Many fixes and new features added by Thomas. Can now also do
17057 transforms with variable sizes and a custom fixate_caps function.
17059 2005-08-24 Wim Taymans <wim@fluendo.com>
17061 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17065 Cast to ClockTime before formatting to time.
17070 2005-08-24 Stefan Kost <ensonic@users.sf.net>
17072 * check/gst-libs/controller.c: (GST_START_TEST),
17073 (gst_controller_suite):
17074 * docs/gst/tmpl/gstcaps.sgml:
17075 * docs/gst/tmpl/gstghostpad.sgml:
17076 * docs/gst/tmpl/gstquery.sgml:
17077 * docs/gst/tmpl/gstutils.sgml:
17078 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17079 (gst_object_sink_values), (gst_object_get_value_arrays),
17080 (gst_object_get_value_array):
17081 gracefully handle helper method calls to objects that are not beeing
17082 controlled, added test case for that
17084 2005-08-23 Wim Taymans <wim@fluendo.com>
17086 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17087 (gst_event_new_newsegment), (gst_event_parse_newsegment),
17088 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17089 (gst_event_parse_qos), (gst_event_new_seek),
17090 (gst_event_parse_seek):
17092 Some more debugging output and doc cleanups.
17094 * gst/gstqueue.c: (gst_queue_handle_sink_event):
17095 Fix possible deadlock.
17097 2005-08-23 Stefan Kost <ensonic@users.sf.net>
17099 * docs/gst/gstreamer-docs.sgml:
17100 * docs/gst/gstreamer-sections.txt:
17101 * docs/gst/gstreamer.types:
17102 * docs/gst/tmpl/.cvsignore:
17105 * gst/gstelement.c:
17107 added 100 symbols from gstreamer-unused.txt to the right sections
17108 fixed more broken comments
17109 added GstBus to docs
17111 2005-08-23 Stefan Kost <ensonic@users.sf.net>
17113 * docs/gst/gstreamer-sections.txt:
17114 * docs/gst/tmpl/.cvsignore:
17115 * docs/gst/tmpl/gstbin.sgml:
17116 * docs/gst/tmpl/gstbuffer.sgml:
17117 * gst/base/gstbasesrc.c:
17118 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17121 * tools/gst-launch.1.in:
17122 inlined more doc comments, added missing comments and fixed comments
17125 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
17127 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17131 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17133 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17134 * gst/gststructure.h:
17135 add a fixate function for booleans; add a FIXME that these func
17136 names should probably be gst_structure_fixate_*
17138 2005-08-23 Stefan Kost <ensonic@users.sf.net>
17140 * docs/gst/gstreamer-docs.sgml:
17141 * docs/gst/gstreamer-sections.txt:
17143 * gst/gstbin.c: (gst_bin_get_type),
17144 (gst_bin_child_proxy_get_child_by_index),
17145 (gst_bin_child_proxy_get_children_count),
17146 (gst_bin_child_proxy_init):
17147 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17148 (gst_child_proxy_get_child_by_index),
17149 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17150 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17151 (gst_child_proxy_get), (gst_child_proxy_set_property),
17152 (gst_child_proxy_set_valist), (gst_child_proxy_set),
17153 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17154 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17155 * gst/gstchildproxy.h:
17156 * gst/parse/grammar.y:
17157 * tools/gst-inspect.c: (print_interfaces),
17158 (print_element_properties_info), (print_element_info):
17159 ported gstchildproxy over from 0.8
17160 ported gst-inspect fixes and enhancements over from 0.8
17162 2005-08-22 Wim Taymans <wim@fluendo.com>
17164 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17165 (gst_base_transform_handle_buffer):
17166 Also call the transform function if we have ANY caps.
17168 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17171 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
17173 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17174 Don't pretend to handle seek events if the source is not seekable
17176 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
17178 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17179 Remove extra parameter to debug output
17181 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17182 (gst_base_src_do_seek), (gst_base_src_activate_push):
17183 Fix seek event handling.
17185 * gst/gstpipeline.c: (gst_pipeline_change_state):
17186 * gst/gstqueue.c: (gst_queue_handle_sink_event),
17187 (gst_queue_src_activate_push):
17188 Don't start the src pad task on FLUSH_STOP if the pad
17192 2005-08-22 Wim Taymans <wim@fluendo.com>
17194 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17195 Added check for gst_static_caps_get() refcounting.
17197 2005-08-22 Wim Taymans <wim@fluendo.com>
17199 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17200 Make _static_caps_get() refcounting sane.
17202 * gst/gstelement.c: (gst_element_set_state):
17203 Add g_return_val_if_fail() to protect against segfaults.
17205 2005-08-22 Stefan Kost <ensonic@users.sf.net>
17207 * docs/gst/tmpl/gstevent.sgml:
17210 inlined remaining docs, added missing doc comments
17212 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
17214 * check/gst/gstbin.c: (GST_START_TEST):
17215 since we don't know when preroll is done, use refcount range
17217 * gst/check/gstcheck.h:
17218 add macro for checking refcount range
17220 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
17222 * check/Makefile.am:
17223 clean up environment for when registry gets built versus
17224 when actual tests are run; valgrind seems to not report
17225 leaks if GST_PLUGIN_PATH is set to some specific values
17226 * check/gst/gstbin.c: (GST_START_TEST):
17227 add more refcounting checks; maybe this exposes a
17229 * common/check.mak:
17230 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17231 * gst/check/gstcheck.h:
17232 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17233 (gst_bin_change_state):
17234 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17235 add/fix debugging/whitespace
17237 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
17239 * check/gst/gstevent.c: (event_probe), (test_event),
17241 Er, don't call gst_bin_watch_for_state_change you idiot.
17243 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
17245 * check/Makefile.am:
17246 Use CHECK_CFLAGS and CHECK_LIBS
17247 * check/gst/gstevent.c: (event_probe), (test_event),
17250 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17251 (gst_base_src_start), (gst_base_src_stop),
17252 (gst_base_src_activate_push), (gst_base_src_activate_pull),
17253 (gst_base_src_change_state):
17254 Sprinkle gst_base_src_stop liberally around error paths to fix
17255 problems reusing a source after failed state changes.
17256 * gst/base/gsttypefindhelper.c: (helper_find_peek),
17257 (helper_find_suggest), (gst_type_find_helper):
17258 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17260 * docs/gst/tmpl/gstevent.sgml:
17261 Migrate part of the docs from the SGML file. Wait for ensonic to
17262 tell me how I did it wrong ;)
17263 * tools/gst-typefind.c: (main):
17264 Extra robustness to state changes between files.
17266 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
17268 * check/Makefile.am:
17269 don't valgrind the controller test - it's leaking - Stefan, HELP
17270 * gst/check/gstcheck.c: (gst_check_message_error),
17271 (gst_check_chain_func), (gst_check_setup_element),
17272 (gst_check_teardown_element), (gst_check_setup_src_pad),
17273 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17274 (gst_check_teardown_sink_pad):
17275 * gst/check/gstcheck.h:
17276 add a bunch of methods to set up elements, and src and sink pads
17277 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17278 * check/elements/identity.c: (setup_identity), (cleanup_identity),
17281 * gst/gstmessage.c:
17283 whitespace/doc fixes
17285 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17287 * gst/gstelement.h:
17288 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17289 be handled by the application and not always printed as well
17291 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17293 * check/Makefile.am:
17295 * gst/check/gstcheck.c: (gst_check_message_error):
17296 * gst/check/gstcheck.h:
17297 add a fail_unless_equals_int
17298 add fail_unless for error messages
17300 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17302 * check/Makefile.am:
17304 * common/Makefile.am:
17305 * common/check.mak:
17307 factor out some of the common stuff so we can use it
17309 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17311 * check/Makefile.am:
17312 * check/gst/gstiterator.c: (GST_START_TEST):
17313 * check/gst/gstsystemclock.c: (GST_START_TEST),
17314 (gst_systemclock_suite):
17315 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17317 valgrind more tests
17319 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17321 * check/elements/.cvsignore:
17322 * check/elements/gstfakesrc.c:
17323 rename to name of element
17324 * check/elements/identity.c: (chain_func), (event_func),
17325 (setup_identity), (cleanup_identity), (GST_START_TEST),
17326 (identity_suite), (main):
17327 add a test for identity
17328 * check/Makefile.am:
17329 * pkgconfig/Makefile.am:
17330 * pkgconfig/gstreamer-check.pc.in:
17331 * pkgconfig/gstreamer-check-uninstalled.pc.in:
17335 move the check stuff to a library that gets installed
17336 * check/gst-libs/controller.c: (GST_START_TEST):
17337 * check/gst-libs/gdp.c:
17338 * check/gst/gst.c: (GST_START_TEST):
17339 * check/gst/gstbin.c:
17340 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17341 * check/gst/gstbus.c:
17342 * check/gst/gstcaps.c: (GST_START_TEST):
17343 * check/gst/gstelement.c:
17344 * check/gst/gstghostpad.c:
17345 * check/gst/gstiterator.c:
17346 * check/gst/gstmessage.c:
17347 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17348 * check/gst/gstobject.c:
17349 * check/gst/gstpad.c: (GST_START_TEST):
17350 * check/gst/gststructure.c: (GST_START_TEST):
17351 * check/gst/gstsystemclock.c: (GST_START_TEST),
17352 (gst_systemclock_suite):
17353 * check/gst/gsttag.c: (gst_tag_suite):
17354 * check/gst/gstvalue.c:
17355 * check/pipelines/cleanup.c:
17356 * check/pipelines/simple_launch_lines.c:
17357 * check/states/sinks.c:
17358 change include statement
17360 * docs/gst/gstreamer-sections.txt:
17361 * docs/gst/tmpl/gstpad.sgml:
17362 document more pad stuff
17363 * gst/gstminiobject.c: (gst_mini_object_ref),
17364 (gst_mini_object_unref):
17367 2005-08-19 Stefan Kost <ensonic@users.sf.net>
17369 * docs/gst/tmpl/gst.sgml:
17371 eliminate another tmpl file, fix spelling in the long-description
17373 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17375 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17376 (test_event), (timediff), (gstevents_suite):
17377 Should fix build on 64-bit arch's
17379 2005-08-18 Andy Wingo <wingo@pobox.com>
17381 Make sure that when a pipeline goes to PLAYING, that data has
17382 actually hit the sink.
17384 * check/states/sinks.c (test_sink): A sink that doesn't get any
17385 data shouldn't return SUCCESS for going to either PLAYING or
17386 PAUSED. Test also the return values on the way back down.
17388 * gst/gstelement.c (gst_element_set_state): When changing the
17389 state of an element currently changing state asynchronously, go to
17390 lost-state after commiting the pending state. Makes future calls
17391 to get_state continue to return ASYNC.
17393 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17394 ASYNC when going to PLAYING if we still don't have preroll, as can
17395 happen with live sources.
17397 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17399 * docs/pwg/advanced-types.xml:
17400 Hack long paragraph into 2 chunks as a workaround for buggy
17401 jadetex version in sid and breezy that loops infinitely and
17404 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17406 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17407 (test_event), (timediff), (gstevents_suite):
17408 Provide more error margin in clock measurements to allow for
17409 g_get_current_time inaccuracies.
17411 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17413 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17414 (test_event), (timediff), (gstevents_suite):
17415 Fix error message output so I might be able to tell why the
17416 test works here but fails on the build farm.
17418 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17420 * check/Makefile.am:
17421 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17422 (test_event), (timediff), (gstevents_suite), (main):
17425 * docs/design/part-seeking.txt:
17426 Spelling correction
17428 * docs/gst/tmpl/gstevent.sgml:
17429 * docs/gst/tmpl/gstfakesrc.sgml:
17432 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17433 Treat a buffer-without-newsegment the same as a receiving
17434 a newsegment not in time format, and disable syncing to the clock
17437 * gst/gstbus.c: (gst_bus_set_sync_handler):
17438 Assert if anyone tries to replace the existing sync_handler for bus,
17439 as only the owner should be setting it.
17442 Have a fixed set of custom event enums with events identified by
17443 their structure name (as in 0.8), rather than a free-for-all
17444 allowing collisions between enum values from different plugins.
17446 * gst/gstpad.c: (gst_pad_class_init):
17449 * gst/gstqueue.c: (gst_queue_handle_sink_event):
17450 Handle out-of-band downstream events from the sending thread.
17452 2005-08-17 Andy Wingo <wingo@pobox.com>
17454 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
17455 play-timeout==0 to mean no timeout at all. In that case, don't
17456 bother with a get_state or a warning, just return directly, even
17459 * gst/base/gstbasetransform.c: Debug changes.
17462 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
17463 ensure bins post state change messages. A bit of a hack but I can't
17464 think of a way to avoid it.
17466 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
17468 2005-08-16 Andy Wingo <wingo@pobox.com>
17470 * gst/base/gstadapter.h:
17471 * gst/base/gstadapter.c (gst_adapter_take): New function, like
17472 peek() but you own the data. Not terribly efficient atm.
17474 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17476 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
17477 (gst_element_found_tags):
17479 Add two utility functions for tag handling.
17481 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17483 * docs/manual/advanced-dataaccess.xml:
17484 * docs/manual/basics-helloworld.xml:
17485 Fix docs to use _bin_add() before _link(), which fixes the examples
17486 with recent core versions (reported by Madhan Raj M
17487 <raj_madan@rediffmail.com>, #313199).
17489 2005-08-16 Wim Taymans <wim@fluendo.com>
17491 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17492 Added subtract checks.
17494 * docs/design/part-events.txt:
17495 Some more docs about newsegment
17497 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17500 * gst/gstcaps.c: (gst_caps_to_string):
17501 Add comments, cleanups.
17503 * gst/gstelement.c: (gst_element_save_thyself):
17506 * gst/gstvalue.c: (gst_value_collect_int_range),
17507 (gst_string_unwrap), (gst_value_union_int_int_range),
17508 (gst_value_union_int_range_int_range),
17509 (gst_value_intersect_int_int_range),
17510 (gst_value_intersect_int_range_int_range),
17511 (gst_value_intersect_double_double_range),
17512 (gst_value_intersect_double_range_double_range),
17513 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
17514 (gst_value_subtract_int_range_int),
17515 (gst_value_subtract_double_range_double),
17516 (gst_value_subtract_double_range_double_range),
17517 (gst_value_subtract_from_list), (gst_value_subtract_list),
17518 (gst_value_can_compare), (gst_value_compare_fraction):
17519 Cleanups, add comments, remove unneeded asserts.
17521 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
17523 * tools/gst-launch.c: (event_loop):
17524 don't convert NULL structures to strings
17526 2005-08-15 Stefan Kost <ensonic@users.sf.net>
17528 * docs/gst/gstreamer-sections.txt:
17529 made some defines private
17530 * docs/gst/tmpl/gstconfig.sgml:
17531 * docs/gst/tmpl/gstqueue.sgml:
17532 * docs/gst/tmpl/gsttaglist.sgml:
17533 * docs/gst/tmpl/gsttypes.sgml:
17534 * docs/gst/tmpl/gstutils.sgml:
17535 * docs/pwg/appendix-porting.xml:
17536 * gst/base/gstbasesink.h:
17537 * gst/base/gstbasesrc.c:
17538 * gst/base/gstbasesrc.h:
17539 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
17540 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
17541 * gst/gstelement.c: (gst_element_class_init):
17542 * gst/gstpad.c: (gst_pad_class_init):
17543 * gst/gstqueue.c: (gst_queue_class_init):
17544 * gst/gstxml.c: (gst_xml_class_init):
17545 documented all undocumented signal inline
17546 * libs/gst/controller/gst-controller.h:
17549 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17551 * docs/pwg/appendix-porting.xml:
17552 Document _set_link_function -> _set_setcaps_function.
17554 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
17556 * check/Makefile.am:
17557 add a .check target for running the check
17558 * check/gst-libs/controller.c: (GST_START_TEST):
17560 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17561 complete checks for gstbuffer; would be nice if I could get the
17562 gcov stuff to work so I can see if I actually completed gstbuffer.c
17563 * check/gstcheck.h:
17564 add ASSERT_BUFFER_REFCOUNT
17566 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
17568 * docs/gst/gstreamer-sections.txt:
17569 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
17571 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
17572 spew out a warning if a tag that is already registered
17573 is re-registered, unless it is re-registered with a
17574 different type (#308438).
17576 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
17578 * docs/pwg/appendix-porting.xml:
17579 * docs/pwg/building-state.xml:
17580 Add some paragraphs about state changes in 0.9 to the PWG
17581 and the porting guide, in particular about the new meaning
17582 of GST_STATE_PAUSED and how to write state change functions
17583 with concurrent access by multiple threads in mind.
17585 2005-08-11 Stefan Kost <ensonic@users.sf.net>
17587 * docs/gst/gstreamer-docs.sgml:
17588 * docs/libs/gstreamer-libs-docs.sgml:
17589 added deprecation and since indexes
17590 * libs/gst/controller/gst-controller.c:
17591 * libs/gst/controller/gst-helper.c:
17595 2005-08-11 Wim Taymans <wim@fluendo.com>
17597 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
17598 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
17599 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
17600 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
17601 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
17602 (gst_ghost_pad_set_target):
17603 Actually implement (re)setting the target on a ghostpad
17604 as described in the docs.
17606 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
17608 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
17609 Check whether GST_DEBUG_NO_COLOR environment variable is
17610 set and disable coloured debug output if that is the case.
17612 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
17614 * gst/base/gsttypefindhelper.c: (helper_find_peek),
17615 (gst_type_find_helper):
17616 The memory returned by gst_type_find_peek() needs to
17617 stay valid until the end of a typefind function, and
17618 typefind functions may keep results from different
17619 offsets around, so we can't just unref the buffer from
17620 the previous _peek(), but have to save all buffers
17621 returned by _peek() until typefinding is done and only
17624 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
17626 * docs/gst/gstreamer-sections.txt:
17628 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
17630 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17632 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17633 Fix a pretty good memleak.
17635 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
17637 * gst/gstiterator.h:
17638 Fix wrong include and 'make distcheck'.
17640 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17642 * gst/gstbin.c: (bin_bus_handler):
17643 Use gst_element_post_message() instead.
17645 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
17647 * gst/base/gstadapter.h:
17648 * gst/base/gstbasesink.h:
17649 * gst/base/gstbasesrc.h:
17650 * gst/base/gstbasetransform.h:
17651 * gst/base/gstcollectpads.h:
17652 * gst/base/gstpushsrc.h:
17653 * gst/gstiterator.h:
17654 Add padding to our base elements' class and instance structs and
17655 to GstIterator (you will need to rebuild all plugins and apps!)
17657 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17659 * gst/gstbin.c: (bin_bus_handler):
17660 Make default message forwarding from child->bus to bin->bus
17661 threadsafe and make it not emit warnings if the parent has no bus.
17663 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17665 * gst/gstelement.c: (activate_pads):
17666 On paused->ready, set pad->caps to NULL, as is the documented
17667 behaviour in this state change. Fixes playback of series of
17668 media files when visualization is enabled in Totem.
17670 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17672 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17673 Allow NULL as filter-caps (which means "any").
17675 2005-08-05 Stefan Kost <ensonic@users.sf.net>
17677 * docs/libs/gstreamer-libs-sections.txt:
17678 * libs/gst/controller/gst-controller.c:
17679 * libs/gst/controller/gst-controller.h:
17680 * libs/gst/controller/gst-helper.c:
17681 adding more entries to the docs and fix small doc-bugs
17683 2005-08-05 Stefan Kost <ensonic@users.sf.net>
17685 * docs/gst/gstreamer-docs.sgml:
17686 * docs/gst/gstreamer-sections.txt:
17687 * docs/gst/gstreamer.types:
17688 * docs/gst/tmpl/gstbasesink.sgml:
17689 * docs/gst/tmpl/gstbasesrc.sgml:
17690 * docs/gst/tmpl/gstbasetransform.sgml:
17691 * docs/gst/tmpl/gstfakesrc.sgml:
17692 * gst/base/gstcollectpads.c:
17693 * gst/base/gstcollectpads.h:
17694 * libs/gst/controller/gst-controller.c:
17695 * libs/gst/controller/gst-controller.h:
17696 * libs/gst/controller/gst-helper.c:
17697 * libs/gst/controller/gst-interpolation.c:
17698 * libs/gst/controller/lib.c:
17699 added long/short desc for controller docs
17700 added collectpads base class docs
17701 added correct includes to base-class docs
17703 2005-08-05 Stefan Kost <ensonic@users.sf.net>
17705 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17706 (gst_test_mono_source_set_property),
17707 (gst_test_mono_source_class_init), (GST_START_TEST),
17708 (gst_controller_suite):
17709 * docs/gst/gstreamer-docs.sgml:
17710 * docs/gst/gstreamer-sections.txt:
17711 * docs/gst/gstreamer.types:
17712 * docs/libs/gstreamer-libs-docs.sgml:
17713 * docs/libs/gstreamer-libs-sections.txt:
17714 * gst/base/gstadapter.c:
17715 * libs/gst/controller/gst-controller.c:
17716 (gst_controlled_property_new), (gst_controlled_property_free),
17717 (gst_controller_new_valist),
17718 (gst_controller_remove_properties_valist),
17719 (gst_controller_sink_values), (_gst_controller_finalize):
17720 * libs/gst/controller/gst-controller.h:
17721 * libs/gst/controller/gst-helper.c:
17722 (gst_object_control_properties), (gst_object_uncontrol_properties),
17723 (gst_object_get_controller), (gst_object_set_controller),
17724 (gst_object_sink_values), (gst_object_get_value_arrays),
17725 (gst_object_get_value_array):
17726 more tests (and fixes) for the controller
17727 more docs for the controller
17728 integrated companies docs for the adapter
17730 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
17732 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
17733 (GST_START_TEST), (fakesrc_suite):
17734 add tests for sizetype
17736 2005-08-04 Andy Wingo <wingo@pobox.com>
17738 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
17739 fixes buffer_alloc proxying among other things.
17741 * gst/base/gstbasetransform.c:
17742 * gst/base/gstbasetransform.h:
17743 Revert patch to gstbasetransform from 7-28 removing
17746 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
17747 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
17748 Semantics changed, should return not the size of the output buffer
17749 but the byte size of a buffer with a given caps.
17751 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
17753 (gst_base_transform_configure_caps): Don't set out_size here: (in,
17754 out) are not the pad caps until setcaps finishes.
17755 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
17756 not-in-place case as well. Deal with changing from in-place to
17757 not-in-place within calling pad_alloc_buffer. Still a bit
17758 concerned about the overhead here...
17760 2005-08-03 Andy Wingo <wingo@pobox.com>
17762 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
17763 fixating is an error.
17765 2005-08-04 Edward Hervey <edward@fluendo.com>
17767 * gst/base/gstadapter.h:
17768 Added gst_adapter_get_type() to the header
17770 2005-08-03 Stefan Kost <ensonic@users.sf.net>
17772 * check/Makefile.am:
17773 * check/gst-libs/controller.c:
17774 * libs/gst/controller/gst-controller.c:
17775 (gst_controller_new_valist):
17776 added check test suite for the controller
17777 * gst/base/gstpushsrc.c:
17780 2005-08-03 Stefan Kost <ensonic@users.sf.net>
17782 * docs/gst/Makefile.am:
17783 * docs/gst/gstreamer-docs.sgml:
17784 * docs/gst/gstreamer-sections.txt:
17785 * docs/gst/gstreamer.types:
17786 * docs/gst/tmpl/gstfakesrc.sgml:
17788 * gst/base/gstbasesink.c:
17789 * gst/base/gstbasesink.h:
17790 * gst/base/gstbasesrc.c:
17791 * gst/base/gstbasesrc.h:
17792 * gst/base/gstbasetransform.c:
17793 * gst/base/gstpushsrc.c:
17794 * gst/base/gstpushsrc.h:
17795 add short/long description docs to base classes
17796 add pushsrc to the docs
17797 remove consolidated doc fragments
17799 2005-08-03 Stefan Kost <ensonic@users.sf.net>
17802 * docs/libs/Makefile.am:
17803 * docs/libs/gstreamer-libs-docs.sgml:
17804 * docs/libs/gstreamer-libs-sections.txt:
17805 * docs/libs/gstreamer-libs.types:
17806 * examples/Makefile.am:
17807 * examples/controller/.cvsignore:
17808 * examples/controller/Makefile.am:
17809 * examples/controller/audio-example.c: (main):
17810 * libs/gst/Makefile.am:
17811 * libs/gst/controller/.cvsignore:
17812 * libs/gst/controller/Makefile.am:
17813 * libs/gst/controller/gst-controller.c:
17814 (on_object_controlled_property_changed), (gst_timed_value_compare),
17815 (gst_timed_value_find),
17816 (gst_controlled_property_set_interpolation_mode),
17817 (gst_controlled_property_new), (gst_controlled_property_free),
17818 (gst_controller_find_controlled_property),
17819 (gst_controller_new_valist), (gst_controller_new),
17820 (gst_controller_remove_properties_valist),
17821 (gst_controller_remove_properties), (gst_controller_set),
17822 (gst_controller_set_from_list), (gst_controller_unset),
17823 (gst_controller_get), (gst_controller_get_all),
17824 (gst_controller_sink_values), (gst_controller_get_value_arrays),
17825 (gst_controller_get_value_array),
17826 (gst_controller_set_interpolation_mode),
17827 (_gst_controller_finalize), (_gst_controller_init),
17828 (_gst_controller_class_init), (gst_controller_get_type):
17829 * libs/gst/controller/gst-controller.h:
17830 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
17831 (g_object_uncontrol_properties), (g_object_get_controller),
17832 (g_object_set_controller), (g_object_sink_values),
17833 (g_object_get_value_arrays), (g_object_get_value_array):
17834 * libs/gst/controller/gst-interpolation.c:
17835 (gst_controlled_property_find_timed_value_node),
17836 (interpolate_none_get), (interpolate_trigger_get),
17837 (interpolate_trigger_get_value_array):
17838 * libs/gst/controller/lib.c: (gst_controller_init):
17839 * pkgconfig/Makefile.am:
17840 * pkgconfig/gstreamer-control-uninstalled.pc.in:
17841 * pkgconfig/gstreamer-control.pc.in:
17842 * testsuite/Makefile.am:
17843 * testsuite/controller/.cvsignore:
17844 * testsuite/controller/Makefile.am:
17845 * testsuite/controller/interpolator.c: (main):
17846 added controller code
17847 removed dparam pc files
17849 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
17850 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
17851 (gst_collectpads_stop):
17852 Broadcast the condition when shutting down, to make sure we wake all
17853 threads up. Shut down pads on finalize, for safety.
17855 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
17856 * gst/base/gstbasetransform.c: (gst_base_transform_init),
17857 (gst_base_transform_handle_buffer),
17858 (gst_base_transform_change_state):
17859 Handle PAUSED->READY->PAUSED transition after negotiation
17861 * gst/gstmessage.c: (gst_message_init):
17862 Extra piece of debug for new messages.
17864 2005-08-01 Stefan Kost <ensonic@users.sf.net>
17867 * docs/gst/tmpl/gstbasesrc.sgml:
17868 * docs/gst/tmpl/gstelement.sgml:
17869 * docs/gst/tmpl/gstevent.sgml:
17870 * docs/gst/tmpl/gstfakesrc.sgml:
17871 * docs/gst/tmpl/gstformat.sgml:
17872 * docs/gst/tmpl/gstghostpad.sgml:
17873 * docs/gst/tmpl/gstpad.sgml:
17874 * docs/gst/tmpl/gstquery.sgml:
17875 * docs/gst/tmpl/gststructure.sgml:
17876 * docs/gst/tmpl/gsttaglist.sgml:
17877 * docs/gst/tmpl/gstvalue.sgml:
17878 * docs/libs/gstreamer-libs-docs.sgml:
17879 * docs/libs/gstreamer-libs-sections.txt:
17880 * docs/libs/gstreamer-libs.types:
17881 * libs/gst/Makefile.am:
17882 * libs/gst/control/.cvsignore:
17883 * libs/gst/control/Makefile.am:
17884 * libs/gst/control/control.c:
17885 * libs/gst/control/control.h:
17886 * libs/gst/control/dparam.c:
17887 * libs/gst/control/dparam.h:
17888 * libs/gst/control/dparam_smooth.c:
17889 * libs/gst/control/dparam_smooth.h:
17890 * libs/gst/control/dparamcommon.h:
17891 * libs/gst/control/dparammanager.c:
17892 * libs/gst/control/dparammanager.h:
17893 * libs/gst/control/dplinearinterp.c:
17894 * libs/gst/control/dplinearinterp.h:
17895 * libs/gst/control/unitconvert.c:
17896 * libs/gst/control/unitconvert.h:
17897 * testsuite/Makefile.am:
17898 * testsuite/dynparams/.cvsignore:
17899 * testsuite/dynparams/Makefile.am:
17900 * testsuite/dynparams/dparamstest.c:
17901 * tools/Makefile.am:
17902 * tools/gst-inspect.c: (print_element_info), (main):
17903 * tools/gst-xmlinspect.c: (print_element_info), (main):
17904 deactivate and remove dparams (libgstcontrol)
17906 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
17908 * gst/elements/gsttypefindelement.c:
17909 (gst_type_find_element_have_type), (gst_type_find_element_init),
17910 (stop_typefinding), (gst_type_find_element_handle_event),
17911 (gst_type_find_element_chain), (gst_type_find_element_getrange):
17912 * gst/elements/gsttypefindelement.h:
17913 Set caps on all outgoing buffers, not just the first one.
17915 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
17917 * gst/elements/gsttypefindelement.c:
17918 (gst_type_find_element_have_type),
17919 (gst_type_find_element_check_set_buffer_caps),
17920 (gst_type_find_element_init), (stop_typefinding),
17921 (gst_type_find_element_handle_event),
17922 (gst_type_find_element_chain), (gst_type_find_element_getrange):
17923 * gst/elements/gsttypefindelement.h:
17924 Set caps on first outgoing buffer when we've found the type.
17926 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
17928 * docs/gst/gstreamer-docs.sgml:
17929 * docs/gst/gstreamer-sections.txt:
17930 * docs/gst/tmpl/gstscheduler.sgml:
17931 * docs/gst/tmpl/gstschedulerfactory.sgml:
17932 Remove some old cruft from docs.
17934 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
17937 Fix inline docs for GstPadLinkReturn.
17939 * gst/gststructure.c: (gst_structure_has_name):
17940 * gst/gststructure.h:
17941 * docs/gst/gstreamer-sections.txt:
17942 New API: gst_structure_has_name().
17944 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
17947 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
17948 and _LARGEFILE_SOURCE in config.h as required. Do not
17949 export those flags in our .pc files any longer (#142209).
17951 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
17953 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
17954 (gst_file_sink_do_seek), (gst_file_sink_event),
17955 (gst_file_sink_get_current_offset), (gst_file_sink_render):
17956 Redo seek/tell calls with large file support in mind; add some
17957 debugging messages; add log message that tells us when large
17958 file support is unavailable or not enabled for some reason.
17960 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
17961 Add log message that tells us when large file support
17962 is unavailable or not enabled for some reason.
17964 2005-07-29 Wim Taymans <wim@fluendo.com>
17966 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
17967 Added test for removing an element with ghostpad from a bin.
17968 Fixed test as current implementation does the right thing.
17970 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
17971 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
17972 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
17973 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
17974 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
17975 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
17976 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
17977 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
17978 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
17979 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
17980 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
17981 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
17982 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
17983 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
17984 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
17985 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
17986 * gst/gstghostpad.h:
17987 Clean up ghostpads, remove properties for internal stuff.
17990 Prepare for switching targets, not all use cases work yet.
17992 2005-07-29 Wim Taymans <wim@fluendo.com>
17994 * docs/design/part-gstghostpad.txt:
17997 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
17998 (gst_bin_remove_func):
17999 Unlinking pads while holding the bin LOCK is not a good
18002 * gst/gstpad.c: (gst_pad_class_init),
18003 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18004 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18005 No prob setting template after creating the pad.
18007 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
18009 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18010 (gst_bus_peek), (gst_bus_source_dispatch),
18011 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18012 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18013 gst_bus_poll may be called from other threads. Handle
18014 this nicely by not making poll_data disappear off the
18015 stack once gst_bus_poll returns.
18016 gst_bus_peek now increments the refcount on the returned
18019 2005-07-29 Wim Taymans <wim@fluendo.com>
18021 * docs/design/part-gstghostpad.txt:
18022 Overview of current GhostPad datastructures and use
18023 cases for changing the target.
18025 2005-07-28 Wim Taymans <wim@fluendo.com>
18027 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18028 Added checks for hierarchy consistency whan adding linked
18031 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18032 Added check to test element scheduling without bin/pipeline.
18034 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18035 First add elements to bin, then link.
18037 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18038 (gst_bin_remove_func):
18039 Unlink pads from elements added/removed from bin to maintain
18040 hierarchy consistency.
18042 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18044 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18045 (gst_base_transform_handle_buffer):
18046 * gst/base/gstbasetransform.h:
18047 Remove broken delay_configure (fixes renegotiation of software
18048 scaling pipelines); remove some leftover printf()s.
18050 2005-07-28 Wim Taymans <wim@fluendo.com>
18052 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18053 Added some more tests for wrong hierarchy
18055 * docs/design/part-overview.txt:
18058 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18061 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18062 (gst_element_dispose):
18063 Some more cleanups.
18065 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18066 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18067 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18068 (gst_pad_set_caps), (gst_pad_send_event):
18069 Check for correct hierarchy when linking pads. Moving to
18070 strict requirement for ghostpads when linking elements in
18074 Clean ups. Added WRONG_HIERARCHY return value.
18076 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18078 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18079 Better debug if no transform is possible.
18081 2005-07-27 Wim Taymans <wim@fluendo.com>
18083 * docs/random/wtay/network-transp:
18084 Some old doc I had.
18086 2005-07-27 Wim Taymans <wim@fluendo.com>
18088 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18089 (gst_dp_event_from_packet):
18090 Fix serialization of seek events.
18092 2005-07-27 Wim Taymans <wim@fluendo.com>
18094 * check/gst-libs/gdp.c: (GST_START_TEST):
18095 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18096 Fix compilation and fix event serialization.
18098 2005-07-27 Wim Taymans <wim@fluendo.com>
18101 * docs/design/part-TODO.txt:
18102 * docs/design/part-events.txt:
18105 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18106 (gst_base_sink_event), (gst_base_sink_do_sync),
18107 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18108 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18109 (gst_base_src_do_seek), (gst_base_src_event_handler),
18110 (gst_base_src_loop):
18111 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18112 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18113 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18114 (gst_base_transform_event), (gst_base_transform_handle_buffer),
18115 (gst_base_transform_set_passthrough),
18116 (gst_base_transform_is_passthrough):
18117 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18118 * gst/elements/gstfilesink.c: (gst_file_sink_event):
18124 * gst/gstelement.c: (gst_element_seek):
18125 * gst/gstelement.h:
18126 Update gst_element_seek.
18128 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18129 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18130 (gst_event_new_flush_start), (gst_event_new_flush_stop),
18131 (gst_event_new_eos), (gst_event_new_newsegment),
18132 (gst_event_parse_newsegment), (gst_event_new_tag),
18133 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18134 (gst_event_parse_qos), (gst_event_new_seek),
18135 (gst_event_parse_seek), (gst_event_new_navigation):
18137 Make GstEvent use GstStructure. Add parsing code, make sure the
18138 API is sufficiently generic.
18139 Mark possible directions of events and serialization.
18141 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18142 (_gst_message_copy), (gst_message_new_segment_start),
18143 (gst_message_new_segment_done), (gst_message_new_custom),
18144 (gst_message_parse_segment_start),
18145 (gst_message_parse_segment_done):
18148 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18149 (gst_pad_set_caps), (gst_pad_send_event):
18150 Update for new events.
18151 Catch events sent in wrong directions.
18153 * gst/gstqueue.c: (gst_queue_link_src),
18154 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18155 (gst_queue_handle_src_query):
18160 Remove event code from this file.
18162 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18163 (gst_dp_event_from_packet):
18166 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18168 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18169 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18170 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18171 Make debugging actually useful.
18173 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18175 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18176 (gst_pad_fixate_caps):
18177 Implement default fixation once again, so that gst_pad_fixate()
18178 actually does anything at all. This probably needs to be some
18179 sort of a last resort, and use profile-based fixation first, but
18180 since that doesn't exist yet, this is the best we have. Fixes
18181 visualization in Totem.
18183 2005-07-22 Wim Taymans <wim@fluendo.com>
18185 * docs/design/part-events.txt:
18188 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18189 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18190 (gst_base_sink_activate_pull):
18191 Some more comments.
18193 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18194 (gst_fake_src_create):
18195 Fix handoff marshall.
18197 * gst/elements/gstidentity.c: (gst_identity_class_init),
18198 (gst_identity_transform_ip):
18199 We're a real inplace element.
18201 * gst/gstbus.c: (gst_bus_post):
18202 Added some comments.
18204 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18205 * tests/muxing/case1.c: (main):
18206 * tests/sched/dynamic-pipeline.c: (main):
18207 * tests/sched/interrupt1.c: (main):
18208 * tests/sched/interrupt2.c: (main):
18209 * tests/sched/interrupt3.c: (main):
18210 * tests/sched/runxml.c: (main):
18211 * tests/sched/sched-stress.c: (main):
18212 * tests/seeking/seeking1.c: (event_received), (main):
18213 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18215 * tests/threadstate/threadstate3.c: (main):
18216 * tests/threadstate/threadstate4.c: (main):
18217 * tests/threadstate/threadstate5.c: (main):
18220 2005-07-21 Wim Taymans <wim@fluendo.com>
18222 * docs/design/part-seeking.txt:
18223 Some small additions.
18225 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18226 (gst_base_sink_get_times), (gst_base_sink_do_sync),
18227 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18228 * gst/base/gstbasesink.h:
18229 discont values are gint64, handle the math correctly.
18231 * gst/base/gstbasesrc.c: (gst_base_src_loop):
18232 Make the basesrc report error if the source pad is not linked.
18234 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18235 (gst_queue_loop), (gst_queue_handle_src_query),
18236 (gst_queue_src_activate_push):
18237 Make queue collect data even if the srcpad is not linked.
18238 Start pushing out data as soon as it is linked.
18240 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18242 Added gst_flow_get_name() to ease error reporting.
18244 2005-07-20 Wim Taymans <wim@fluendo.com>
18246 * gst/gstmessage.c: (gst_message_new_segment_start),
18247 (gst_message_new_segment_done), (gst_message_parse_segment_start),
18248 (gst_message_parse_segment_done):
18249 * gst/gstmessage.h:
18250 Added a bunch of messages for advanced seeking.
18252 * gst/parse/grammar.y:
18253 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18254 (gst_dpman_state_changed):
18255 Fix some new-pad -> pad-added signals
18257 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18259 * docs/manual/appendix-porting.xml:
18260 * docs/pwg/appendix-porting.xml:
18261 Document new-pad/state-change signal renames and the FixedList
18264 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18266 * docs/manual/advanced-autoplugging.xml:
18267 * docs/manual/basics-helloworld.xml:
18268 * docs/manual/basics-pads.xml:
18269 * docs/random/ds/0.9-suggested-changes:
18270 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18271 * gst/gstelement.h:
18275 * gst/gststructure.c: (gst_structure_value_get_generic_type),
18276 (gst_structure_parse_array), (gst_structure_parse_value):
18277 * gst/gstvalue.c: (gst_type_is_fixed),
18278 (gst_value_list_prepend_value), (gst_value_list_append_value),
18279 (gst_value_list_get_size), (gst_value_list_get_value),
18280 (gst_value_transform_array_string), (gst_value_serialize_array),
18281 (gst_value_deserialize_array), (gst_value_intersect_array),
18282 (gst_value_is_fixed), (_gst_value_initialize):
18284 GstElement::new-pad -> pad-added, GstElement::state-change ->
18285 state-changed, GstValueFixedList -> GstValueArray, add format and
18286 flags as their own arguments in gst_element_seek() (should improve
18287 "bindeability"), remove function generators since they don't work
18288 under a whole bunch of compilers (they were deprecated already
18291 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18293 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18294 (_gst_debug_register_funcptr):
18296 Fix illegal cast on some platforms (#309253).
18298 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18300 * gst/gstmessage.c: (gst_message_new_custom):
18301 * gst/gstmessage.h:
18302 Add _new_custom, make _new_application a macro to _new_custom.
18304 2005-07-20 Wim Taymans <wim@fluendo.com>
18306 * gst/base/gstbasesrc.c: (gst_base_src_init),
18307 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18308 * gst/base/gstbasesrc.h:
18309 Add a gboolean to decide when to push out a discont.
18311 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18312 (gst_queue_loop), (gst_queue_handle_src_query),
18313 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18314 (gst_queue_set_property), (gst_queue_get_property):
18317 * tests/threadstate/threadstate1.c: (main):
18318 Make a thread test compile and run... very silly..
18321 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18323 * docs/manual/appendix-porting.xml:
18324 Mention removal of libgstgconf-0.9.la and existence of gconf
18327 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18329 * docs/pwg/advanced-clock.xml:
18330 * docs/pwg/appendix-porting.xml:
18331 * docs/pwg/intro-preface.xml:
18332 * docs/pwg/other-base.xml:
18333 * docs/pwg/other-manager.xml:
18334 * docs/pwg/other-nton.xml:
18335 * docs/pwg/other-ntoone.xml:
18336 * docs/pwg/other-oneton.xml:
18337 * docs/pwg/pwg.xml:
18338 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18339 demuxer), remove n-to-n (was never written), fix some code examples
18340 and links and update the porting section to include all this.
18342 2005-07-19 Wim Taymans <wim@fluendo.com>
18344 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18345 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18346 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18347 (gst_queue_src_activate_push), (gst_queue_change_state),
18348 (gst_queue_get_property):
18350 Propagate GstFlowReturn more intelligently upstream and output
18351 an ERROR/EOS when streaming stopped due to fatal error.
18353 2005-07-19 Wim Taymans <wim@fluendo.com>
18355 * tools/gst-launch.c: (check_intr), (event_loop), (main):
18356 Don't block forever for the state change to complete, the
18357 pipeline already did with a sensible timeout.
18359 2005-07-19 Wim Taymans <wim@fluendo.com>
18361 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18362 Make sure we never call the create function is we
18365 2005-07-19 Andy Wingo <wingo@pobox.com>
18367 * gst/parse/parse.l: Attempt to solve bug #172815.
18369 2005-07-19 Wim Taymans <wim@fluendo.com>
18371 * docs/design/part-clocks.txt:
18372 * docs/design/part-events.txt:
18373 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18374 Small docs updates.
18375 Only update the seeking values when we are not
18378 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
18380 * gst/base/gstbasesrc.c: (gst_base_src_loop):
18381 Oops, ignore the result of gst_pad_push_event here.
18383 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
18385 * gst/base/gstbasesrc.c: (gst_base_src_loop),
18386 (gst_base_src_activate_push):
18387 Send discont event from the loop function, as pads
18388 aren't activated yet in the activate_push handler.
18390 * gst/gstbin.c: (bin_bus_handler):
18391 Don't leak element name.
18393 2005-07-18 Andy Wingo <wingo@pobox.com>
18395 * configure.ac: Use AS_LIBTOOL_TAGS.
18397 2005-07-18 Wim Taymans <wim@fluendo.com>
18399 * docs/gst/gstreamer.types:
18400 Remove deleted types.
18402 2005-07-18 Wim Taymans <wim@fluendo.com>
18404 * check/elements/gstfakesrc.c: (GST_START_TEST):
18407 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18408 (init_popt_callback):
18410 * gst/gst_private.h:
18411 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18412 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18415 * gst/gstconfig.h.in:
18416 * gst/gstelement.c: (gst_element_class_init),
18417 (gst_element_set_base_time), (gst_element_get_base_time),
18418 (iterator_fold_with_resync), (gst_element_change_state),
18419 (gst_element_dispose), (gst_element_get_bus):
18420 * gst/gstelement.h:
18421 * gst/gstelementfactory.h:
18422 * gst/gsterror.c: (_gst_core_errors_init):
18425 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18427 * gst/gstinfo.c: (_gst_debug_init):
18428 * gst/gstmessage.c: (_gst_message_copy):
18429 * gst/gstmessage.h:
18430 * gst/gstminiobject.h:
18433 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18434 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
18437 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
18438 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18439 (gst_pipeline_get_last_stream_time):
18440 * gst/gstpipeline.h:
18441 * gst/gstpluginfeature.h:
18443 * gst/gstscheduler.c:
18444 * gst/gstscheduler.h:
18445 * gst/gststructure.h:
18446 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18447 (gst_task_finalize), (gst_task_func), (gst_task_create),
18448 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
18449 (gst_task_stop), (gst_task_pause):
18451 * gst/gsttypefind.h:
18453 * gst/registries/gstlibxmlregistry.c: (load_feature),
18454 (gst_xml_registry_load), (gst_xml_registry_save_feature):
18455 * gst/registries/gstxmlregistry.c:
18456 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
18457 * gst/schedulers/threadscheduler.c:
18458 * libs/gst/control/dparammanager.h:
18459 * tools/gst-inspect.c: (print_element_list),
18460 (print_plugin_features), (print_element_features):
18461 * tools/gst-xmlinspect.c: (print_element_list),
18462 (print_plugin_info), (main):
18463 Removed plugable schedulers.
18464 Removed Scheduler/Manager from elements.
18465 Removed gsttypes.h, rearranged includes.
18466 Removed dependency pad<->element, element<>pipeline, and
18467 various others, fix includes.
18468 implement gst_pad_get_parent() with gst_object_get_parent()
18469 Make GstTask sefcontained.
18470 Fix _get_state() on GstBin, it did not return ASYNC with a 0
18472 Fix endless loop in iterator_fold_with_resync.
18475 2005-07-18 Wim Taymans <wim@fluendo.com>
18481 2005-07-18 Wim Taymans <wim@fluendo.com>
18484 No more cothreads.h
18486 2005-07-18 Wim Taymans <wim@fluendo.com>
18490 Let's remove these.
18492 2005-07-18 Wim Taymans <wim@fluendo.com>
18494 * docs/design/part-dynamic.txt:
18495 * docs/design/part-events.txt:
18496 * docs/design/part-seeking.txt:
18497 Some more docs in the works.
18499 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18500 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
18501 (gst_base_transform_setcaps), (gst_base_transform_get_size),
18502 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18503 (gst_base_transform_handle_buffer),
18504 (gst_base_transform_sink_activate_push),
18505 (gst_base_transform_src_activate_pull),
18506 (gst_base_transform_set_passthrough),
18507 (gst_base_transform_is_passthrough):
18510 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
18513 * gst/gstevent.c: (gst_event_finalize):
18516 * gst/gstutils.c: (gst_element_unlink),
18517 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
18518 (gst_pad_proxy_setcaps):
18520 Add _get_parent_element() to get a pads parent as an element.
18522 2005-07-18 Wim Taymans <wim@fluendo.com>
18524 * check/gst/gstbin.c: (GST_START_TEST):
18527 2005-07-18 Wim Taymans <wim@fluendo.com>
18529 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18530 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18531 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
18532 (gst_base_sink_event), (gst_base_sink_do_sync),
18533 (gst_base_sink_chain), (gst_base_sink_loop),
18534 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
18535 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18537 Fix logic for returning ASYNC when not prerolled.
18539 2005-07-18 Wim Taymans <wim@fluendo.com>
18541 * gst/gstqueue.c: (gst_queue_handle_sink_event):
18542 Fix nasty refcount bug.
18544 2005-07-16 Philippe Khalaf <burger@speedy.org>
18546 * gst/elements/gstfdsrc.c:
18547 * gst/elements/gstfdsrc.h:
18548 * gst/elements/gstelements.c:
18549 * gst/elements/Makefile.am:
18550 Ported fdsrc to 0.9.
18552 2005-07-16 Wim Taymans <wim@fluendo.com>
18554 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18555 (gst_base_sink_do_sync):
18558 2005-07-16 Wim Taymans <wim@fluendo.com>
18560 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18561 (gst_base_sink_event), (gst_base_sink_get_times),
18562 (gst_base_sink_do_sync), (gst_base_sink_change_state):
18563 * gst/base/gstbasesink.h:
18564 Store and use discont values when syncing buffers as described
18567 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18568 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
18569 (gst_base_src_activate_push):
18570 Push discont event when starting.
18572 * gst/elements/gstidentity.c: (gst_identity_transform):
18575 * gst/gstbin.c: (gst_bin_change_state):
18576 Small cleanups in base_time distribution.
18578 * gst/gstelement.c: (gst_element_set_base_time),
18579 (gst_element_get_base_time), (gst_element_change_state):
18580 * gst/gstelement.h:
18581 Added methods for the base_time of the element.
18584 * gst/gstpipeline.c: (gst_pipeline_send_event),
18585 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18586 (gst_pipeline_get_last_stream_time):
18587 * gst/gstpipeline.h:
18589 Handle seeking as described in design doc, remove stream_time
18591 Cleanups clock and stream_time selection code. Added accessors
18592 for the stream_time.
18595 2005-07-16 Andy Wingo <wingo@pobox.com>
18597 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
18600 2005-07-16 Wim Taymans <wim@fluendo.com>
18602 * check/gst/gstbin.c: (GST_START_TEST):
18603 Make elements silent as the deep_notify refs the
18604 parent, which might make the test fail.
18606 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18607 Don't hold the lock for too long.
18609 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
18611 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18612 Don't unref the caps we passed to gst_caps_make_writable() after
18613 passing them. gst_caps_make_writable() will do that for us.
18615 2005-07-15 Andy Wingo <wingo@pobox.com>
18617 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
18620 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
18621 own marshalling function for the handoff signal. Properly type the
18622 buffer as a buffer. Fixes some warnings. Should do a more general
18624 (gst_identity_class_init): Plug into the right marshaller.
18626 2005-07-15 Wim Taymans <wim@fluendo.com>
18628 * docs/design/part-TODO.txt:
18629 * docs/design/part-clocks.txt:
18630 * docs/design/part-element-sink.txt:
18631 * docs/design/part-events.txt:
18632 * docs/design/part-gstpipeline.txt:
18633 Updated docs, mostly DISCONT related.
18635 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
18637 * docs/pwg/building-pads.xml:
18638 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
18640 2005-07-15 Andy Wingo <wingo@pobox.com>
18642 * tools/gst-typefind.c: Update, add copyright block.
18644 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
18645 Normalize and truncate caps before fixation.
18648 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
18649 discards all but the first structure from its argument.
18651 2005-07-15 Wim Taymans <wim@fluendo.com>
18653 * gst/base/gstbasetransform.c: (gst_base_transform_init),
18654 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
18655 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18656 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18657 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
18658 (gst_base_transform_chain), (gst_base_transform_change_state),
18659 (gst_base_transform_set_passthrough),
18660 (gst_base_transform_is_passthrough):
18661 * gst/base/gstbasetransform.h:
18662 Make passthrough work using the bufferpools.
18663 Changed API a bit, subclasses have to write into a buffer
18664 provided by the base class.
18665 More debug info in nego functions.
18667 * gst/elements/gstidentity.c: (gst_identity_init),
18668 (gst_identity_transform):
18669 Port to new base class.
18671 2005-07-15 Wim Taymans <wim@fluendo.com>
18673 * gst/gstmessage.c: (gst_message_new_state_changed):
18674 * tools/gst-launch.c: (event_loop), (main):
18675 Totally dump messages in -launch with the -m option.
18676 Fix message name for State messages,
18678 2005-07-14 Wim Taymans <wim@fluendo.com>
18680 * gst/base/gstbasesrc.c: (gst_base_src_loop):
18681 Post error messages on errors.
18683 2005-07-14 Wim Taymans <wim@fluendo.com>
18685 * gst/gstcaps.c: (gst_caps_do_simplify):
18689 Define error for stream stopped.
18691 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
18692 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
18693 Do proper return values.
18695 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18696 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
18697 (gst_pad_get_range):
18698 Better return values.
18701 Reorganise return values, add macro to check for fatal errors.
18703 * gst/gstqueue.c: (gst_queue_chain):
18704 Return proper GstFlowReturn values,
18706 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
18708 * docs/gst/gstreamer-sections.txt:
18709 * docs/gst/gstreamer.types:
18710 * docs/gst/tmpl/gst.sgml:
18711 * docs/gst/tmpl/gstbasesink.sgml:
18712 * docs/gst/tmpl/gstbasesrc.sgml:
18713 * docs/gst/tmpl/gstbasetransform.sgml:
18714 * docs/gst/tmpl/gstbin.sgml:
18715 * docs/gst/tmpl/gstbuffer.sgml:
18716 * docs/gst/tmpl/gstcaps.sgml:
18717 * docs/gst/tmpl/gstclock.sgml:
18718 * docs/gst/tmpl/gstcompat.sgml:
18719 * docs/gst/tmpl/gstconfig.sgml:
18720 * docs/gst/tmpl/gstelement.sgml:
18721 * docs/gst/tmpl/gstelementdetails.sgml:
18722 * docs/gst/tmpl/gstelementfactory.sgml:
18723 * docs/gst/tmpl/gstenumtypes.sgml:
18724 * docs/gst/tmpl/gsterror.sgml:
18725 * docs/gst/tmpl/gstevent.sgml:
18726 * docs/gst/tmpl/gstfakesink.sgml:
18727 * docs/gst/tmpl/gstfakesrc.sgml:
18728 * docs/gst/tmpl/gstfilesink.sgml:
18729 * docs/gst/tmpl/gstfilesrc.sgml:
18730 * docs/gst/tmpl/gstfilter.sgml:
18731 * docs/gst/tmpl/gstformat.sgml:
18732 * docs/gst/tmpl/gstghostpad.sgml:
18733 * docs/gst/tmpl/gstimplementsinterface.sgml:
18734 * docs/gst/tmpl/gstindex.sgml:
18735 * docs/gst/tmpl/gstindexfactory.sgml:
18736 * docs/gst/tmpl/gstinfo.sgml:
18737 * docs/gst/tmpl/gstiterator.sgml:
18738 * docs/gst/tmpl/gstmacros.sgml:
18739 * docs/gst/tmpl/gstmemchunk.sgml:
18740 * docs/gst/tmpl/gstminiobject.sgml:
18741 * docs/gst/tmpl/gstobject.sgml:
18742 * docs/gst/tmpl/gstpad.sgml:
18743 * docs/gst/tmpl/gstpadtemplate.sgml:
18744 * docs/gst/tmpl/gstparse.sgml:
18745 * docs/gst/tmpl/gstpipeline.sgml:
18746 * docs/gst/tmpl/gstplugin.sgml:
18747 * docs/gst/tmpl/gstpluginfeature.sgml:
18748 * docs/gst/tmpl/gstquery.sgml:
18749 * docs/gst/tmpl/gstqueue.sgml:
18750 * docs/gst/tmpl/gstregistry.sgml:
18751 * docs/gst/tmpl/gstregistrypool.sgml:
18752 * docs/gst/tmpl/gstscheduler.sgml:
18753 * docs/gst/tmpl/gstschedulerfactory.sgml:
18754 * docs/gst/tmpl/gststructure.sgml:
18755 * docs/gst/tmpl/gstsystemclock.sgml:
18756 * docs/gst/tmpl/gsttaglist.sgml:
18757 * docs/gst/tmpl/gsttagsetter.sgml:
18758 * docs/gst/tmpl/gsttrace.sgml:
18759 * docs/gst/tmpl/gsttrashstack.sgml:
18760 * docs/gst/tmpl/gsttypefind.sgml:
18761 * docs/gst/tmpl/gsttypefindfactory.sgml:
18762 * docs/gst/tmpl/gsttypes.sgml:
18763 * docs/gst/tmpl/gsturihandler.sgml:
18764 * docs/gst/tmpl/gsturitype.sgml:
18765 * docs/gst/tmpl/gstutils.sgml:
18766 * docs/gst/tmpl/gstvalue.sgml:
18767 * docs/gst/tmpl/gstversion.sgml:
18768 * docs/gst/tmpl/gstxml.sgml:
18769 * docs/libs/tmpl/gstcontrol.sgml:
18770 * docs/libs/tmpl/gstdataprotocol.sgml:
18771 * docs/libs/tmpl/gstdparam.sgml:
18772 * docs/libs/tmpl/gstdplinint.sgml:
18773 * docs/libs/tmpl/gstdpman.sgml:
18774 * docs/libs/tmpl/gstdpsmooth.sgml:
18775 * docs/libs/tmpl/gstgetbits.sgml:
18776 * docs/libs/tmpl/gstunitconvert.sgml:
18777 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
18778 (gst_push_src_base_init), (gst_push_src_class_init),
18779 (gst_push_src_init), (gst_push_src_create):
18780 * gst/base/gstpushsrc.h:
18781 * gst/elements/gstelements.c:
18782 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
18783 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
18784 (gst_fake_sink_init), (gst_fake_sink_set_property),
18785 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
18786 (gst_fake_sink_event), (gst_fake_sink_preroll),
18787 (gst_fake_sink_render), (gst_fake_sink_change_state):
18788 * gst/elements/gstfakesink.h:
18789 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
18790 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
18791 (gst_fake_src_base_init), (gst_fake_src_class_init),
18792 (gst_fake_src_init), (gst_fake_src_event_handler),
18793 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
18794 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
18795 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
18796 (gst_fake_src_create_buffer), (gst_fake_src_create),
18797 (gst_fake_src_start), (gst_fake_src_stop):
18798 * gst/elements/gstfakesrc.h:
18799 * gst/elements/gstfilesink.c: (_do_init),
18800 (gst_file_sink_base_init), (gst_file_sink_class_init),
18801 (gst_file_sink_init), (gst_file_sink_dispose),
18802 (gst_file_sink_set_location), (gst_file_sink_set_property),
18803 (gst_file_sink_get_property), (gst_file_sink_open_file),
18804 (gst_file_sink_close_file), (gst_file_sink_query),
18805 (gst_file_sink_event), (gst_file_sink_render),
18806 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
18807 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
18808 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
18809 * gst/elements/gstfilesink.h:
18810 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
18811 (gst_file_src_class_init), (gst_file_src_init),
18812 (gst_file_src_finalize), (gst_file_src_set_location),
18813 (gst_file_src_set_property), (gst_file_src_get_property),
18814 (gst_file_src_map_region), (gst_file_src_map_small_region),
18815 (gst_file_src_create_mmap), (gst_file_src_create_read),
18816 (gst_file_src_create), (gst_file_src_is_seekable),
18817 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
18818 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
18819 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
18820 (gst_file_src_uri_handler_init):
18821 * gst/elements/gstfilesrc.h:
18822 more autistic cleanliness in functions/names/defines
18824 2005-07-13 Andy Wingo <wingo@pobox.com>
18826 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
18827 source couldn't negotiate.
18829 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
18833 * gst/gstutils.c (gst_element_link_pads_filtered): New old
18834 function. I am channeling Hades. Put your boots on suckers!!!
18836 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
18838 * testsuite/caps/Makefile.am:
18839 * testsuite/caps/value_compare.c:
18840 * testsuite/caps/value_intersect.c:
18841 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18842 move two testsuite apps over to the check dir
18844 2005-07-12 Wim Taymans <wim@fluendo.com>
18846 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18847 Added more debug info in the negotiate process.
18849 * gst/gstmessage.h:
18850 Prepare for segment playback.
18852 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
18858 * tools/gst-launch.c: (main):
18859 NULL pipeline on errors.
18861 2005-07-12 Andy Wingo <wingo@pobox.com>
18863 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
18864 not it comes from a malloc region. Make sure our copy gets freed.
18866 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
18868 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18869 * check/gst/gstmessage.c: (GST_START_TEST):
18870 * check/gst/gststructure.c: (GST_START_TEST),
18871 (gst_structure_suite), (main):
18873 * gst/gstelement.c: (gst_element_message_full):
18874 clean up GError and debug string now that they get copied
18875 * gst/gstmessage.c: (gst_message_new_error),
18876 (gst_message_new_warning), (gst_message_parse_error),
18877 (gst_message_parse_warning):
18878 use GST_TYPE_G_ERROR for structure_new, and take copies of
18879 arguments, so that we don't mess up refcounting
18881 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
18883 * check/Makefile.am:
18884 add per-test valgrind targets
18885 * check/gst-libs/gdp.c: (GST_START_TEST),
18886 (gst_data_protocol_suite), (main):
18889 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
18891 * check/Makefile.am:
18892 instate more valgrindable tests
18893 * check/elements/gstfakesrc.c: (chain_func), (event_func),
18894 (GST_START_TEST), (fakesrc_suite):
18895 * check/gst/gstpad.c: (GST_START_TEST):
18896 * check/gst/gststructure.c: (GST_START_TEST):
18898 * docs/gst/tmpl/gstminiobject.sgml:
18899 * gst/gstpad.c: (gst_pad_finalize):
18900 fix the static mutex leak
18902 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
18904 * check/Makefile.am:
18905 add two more tests for valgrinding
18906 * check/gst/gstvalue.c: (GST_START_TEST):
18907 test refcount of deserialized buffer, found a leak
18908 * docs/gst/gstreamer-docs.sgml:
18909 * docs/gst/gstreamer-sections.txt:
18910 * docs/gst/gstreamer.types:
18911 * docs/gst/tmpl/gstminiobject.sgml:
18912 add miniobject to docs
18913 * gst/gstminiobject.c:
18915 * gst/gstvalue.c: (gst_value_deserialize_buffer),
18916 (gst_string_unwrap):
18917 fix a hard-to-find invalid write for one of the tests
18918 fix a leak for deserialized buffers
18920 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18922 * docs/pwg/advanced-events.xml:
18923 * docs/pwg/advanced-request.xml:
18924 * docs/pwg/advanced-scheduling.xml:
18925 * docs/pwg/appendix-porting.xml:
18926 * docs/pwg/building-boiler.xml:
18927 * docs/pwg/intro-preface.xml:
18928 * docs/pwg/other-ntoone.xml:
18929 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
18930 of example code and explanation for pad activation, loop() and
18931 getrange() functions and a bit more. Remove old comments pointing
18933 * examples/pwg/Makefile.am:
18934 Add loop/getrange examples.
18936 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
18939 check for valgrind binary + some fixes
18941 valgrind suppressions for the tests
18942 * check/Makefile.am:
18943 add a valgrind: target that valgrinds the unit tests
18944 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
18945 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
18946 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18947 * check/gst/gstghostpad.c:
18949 * check/gst/gstdata.c:
18951 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
18952 (thread_unref), (gst_mini_object_suite), (main):
18954 * gst/gst.c: (gst_deinit):
18956 add a method to clean up.
18957 * gst/gstsystemclock.c: (gst_system_clock_dispose),
18958 (gst_system_clock_obtain):
18959 allow for disposing the system clock.
18960 * tools/gst-launch.c: (main):
18963 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
18965 * docs/gst/tmpl/gstbasesrc.sgml:
18966 * docs/gst/tmpl/gstfakesrc.sgml:
18967 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18968 (gst_base_src_init), (gst_base_src_set_property),
18969 (gst_base_src_get_property), (gst_base_src_get_range),
18970 (gst_base_src_start):
18971 * gst/base/gstbasesrc.h:
18972 add num-buffers property
18973 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18974 (gst_fakesrc_init), (gst_fakesrc_set_property),
18975 (gst_fakesrc_get_property), (gst_fakesrc_create),
18976 (gst_fakesrc_start):
18977 remove num-buffers property
18979 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
18981 * docs/gst/gstreamer-sections.txt:
18982 * docs/gst/tmpl/gstbasesink.sgml:
18983 * docs/gst/tmpl/gstbasesrc.sgml:
18984 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18985 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18986 (gst_base_sink_finalize), (gst_base_sink_set_clock),
18987 (gst_base_sink_set_property), (gst_base_sink_get_property),
18988 (gst_base_sink_handle_object), (gst_base_sink_event),
18989 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
18990 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
18991 (gst_base_sink_loop), (gst_base_sink_deactivate),
18992 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
18993 (gst_base_sink_change_state):
18994 * gst/base/gstbasesink.h:
18995 * gst/base/gstbasesrc.h:
18996 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
18997 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18998 (gst_filesink_init):
18999 more macro splitting
19001 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
19003 * gst/gstelement.c: (gst_element_get_bus):
19005 * tools/gst-launch.c: (check_intr), (event_loop):
19008 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
19010 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19013 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
19015 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19016 (gst_base_src_finalize):
19017 add finalize method and clean up properly
19018 * gst/gstpipeline.c: (gst_pipeline_dispose):
19021 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
19023 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19025 add more things to check
19026 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19027 * gst/gstelement.c:
19030 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
19032 * check/elements/gstfakesrc.c: (chain_func), (event_func),
19033 (GST_START_TEST), (fakesrc_suite):
19034 * check/gst-libs/gdp.c: (GST_START_TEST):
19035 * check/gst/gst.c: (GST_START_TEST):
19036 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19037 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19038 * check/gst/gstbus.c: (GST_START_TEST):
19039 * check/gst/gstcaps.c: (GST_START_TEST):
19040 * check/gst/gstdata.c: (GST_START_TEST):
19041 * check/gst/gstelement.c: (GST_START_TEST):
19042 * check/gst/gstghostpad.c: (GST_START_TEST):
19043 * check/gst/gstiterator.c: (GST_START_TEST):
19044 * check/gst/gstmessage.c: (GST_START_TEST):
19045 * check/gst/gstobject.c: (GST_START_TEST):
19046 * check/gst/gstpad.c: (GST_START_TEST):
19047 * check/gst/gststructure.c: (GST_START_TEST):
19048 * check/gst/gstsystemclock.c: (GST_START_TEST),
19049 (gst_systemclock_suite):
19050 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19051 * check/gst/gstvalue.c: (GST_START_TEST):
19052 * check/pipelines/cleanup.c: (GST_START_TEST):
19053 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19054 * check/states/sinks.c: (GST_START_TEST):
19055 * check/gstcheck.c: (gst_check_init):
19056 * check/gstcheck.h:
19057 add debugging category
19058 use GST_START_TEST now, so we add a debug line
19060 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
19062 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19063 add test for state change message on a bin
19064 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19066 * gst/gstbin.c: (gst_bin_init):
19067 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19068 * gst/gstelement.c: (gst_element_post_message),
19069 (gst_element_set_state):
19070 * gst/gstelementfactory.c: (gst_element_factory_create):
19071 * gst/gstmessage.c: (gst_message_new):
19072 * gst/gstscheduler.c:
19073 various debugging additions and cleanups
19075 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19077 * check/Makefile.am:
19078 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19080 adding tests for elements
19081 * gst/gstelement.c: (gst_element_dispose):
19083 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19085 * gst/registries/gstlibxmlregistry.c: (load_feature):
19086 plug more leaks. A simple gst_init() now is leakfree, yay.
19088 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19090 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19091 (gst_xml_registry_load):
19092 plug another memleak
19094 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19097 use GST_SET_ERROR_CFLAGS
19098 * docs/faq/cvs.xml:
19099 change to ERROR_CFLAGS
19101 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19104 make GST_ERROR_CFLAGS overridable and re-enable Werror
19105 * docs/faq/cvs.xml:
19106 add a note about error CFLAGS
19107 * docs/gst/tmpl/gstfakesrc.sgml:
19108 * gst/elements/gstfakesrc.c:
19109 comment out some unused code
19110 * gst/gst.c: (split_and_iterate):
19111 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19115 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
19117 * common/Makefile.am:
19118 * common/gtk-doc.mak:
19119 * docs/gst/Makefile.am:
19120 factor out gtk-doc.mak
19122 2005-07-07 Wim Taymans <wim@fluendo.com>
19124 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19125 (gst_thread_scheduler_dispose):
19126 Unlock the STREAM_LOCK completely.
19128 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
19130 * check/Makefile.am:
19131 * check/elements/.cvsignore:
19132 * check/elements/gstfakesrc.c: (chain_func), (event_func),
19133 (START_TEST), (fakesrc_suite), (main):
19134 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19135 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19136 (gst_fakesrc_create), (gst_fakesrc_start):
19137 * gst/elements/gstfakesrc.h:
19138 adding a first element test
19140 2005-07-07 Andy Wingo <wingo@pobox.com>
19142 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19145 2005-07-07 Wim Taymans <wim@fluendo.com>
19151 2005-07-07 Wim Taymans <wim@fluendo.com>
19153 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19154 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19155 Allow subclasses to implement their own negotiation.
19157 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
19159 * docs/design/part-gstbin.txt:
19160 * docs/design/part-gstpipeline.txt:
19161 Update design notes to reflect the movement of
19162 responsibility for bus handling from GstPipeline to
19165 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
19168 Remove unnecessary queue2/3/4 examples.
19170 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
19172 * examples/Makefile.am:
19173 * examples/helloworld/helloworld.c: (event_loop), (main):
19174 * examples/queue/queue.c: (event_loop), (main):
19175 * examples/queue2/queue2.c: (main):
19176 Update a couple of the examples to work again.
19178 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19179 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19180 Spelling corrections and extra debug.
19182 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19183 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19184 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19186 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19187 (gst_pipeline_change_state):
19188 * gst/gstpipeline.h:
19189 Move the bus handler for children to the GstBin, and create a
19190 separate bus for receiving messages from children to the one the
19191 bus sends 'upwards' on.
19193 2005-07-06 Wim Taymans <wim@fluendo.com>
19196 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19197 (gst_base_sink_handle_object), (gst_base_sink_loop),
19198 (gst_base_sink_change_state):
19199 * gst/base/gstbasesink.h:
19200 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19201 (gst_base_src_init), (gst_base_src_setcaps),
19202 (gst_base_src_getcaps), (gst_base_src_loop),
19203 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19204 (gst_base_src_start), (gst_base_src_change_state):
19205 * gst/base/gstbasesrc.h:
19206 Make basesrc negotiate.
19207 Handle the case where preroll fails in basesink.
19210 2005-07-06 Wim Taymans <wim@fluendo.com>
19212 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19213 Implement the fixate function.
19214 Clean up acceptcaps.
19216 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19218 * docs/pwg/building-filterfactory.xml:
19219 * docs/pwg/pwg.xml:
19220 Remove never-written filter-factory chapter; I'll add the various
19221 base classes to part 4 ("other element types") later on.
19223 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19225 * docs/pwg/advanced-negotiation.xml:
19226 * docs/pwg/building-boiler.xml:
19227 * docs/pwg/building-pads.xml:
19228 * docs/pwg/pwg.xml:
19229 * examples/pwg/Makefile.am:
19230 Add a chapter on caps negotiation, simplify the original code
19231 samples a bit w.r.t. caps negotiation, add link to the advanced
19232 section. Add a bunch of examples showing different use cases of
19233 different types of caps negotiation. Upstream renegotiation isn't
19234 fully documented yet since nobody knows how that works.
19236 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
19238 * check/gst/gstpad.c:
19239 * check/gstcheck.c:
19240 * gst/gstpad.c: (gst_pad_get_internal_links_default):
19241 if pad has no parent, return NULL as list of internal links
19243 2005-07-05 Andy Wingo <wingo@pobox.com>
19245 * gst/elements/gstfilesrc.c:
19246 * gst/elements/gstfakesrc.c:
19247 * gst/base/gstpushsrc.c:
19248 * gst/base/gstbasesrc.h:
19249 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19251 2005-07-05 Stefan Kost <ensonic@users.sf.net>
19254 better report generation target (lcov needs a patch)
19256 2005-07-05 Andy Wingo <wingo@pobox.com>
19258 * gst/elements, testsuite: Null if we got it...
19260 2005-07-05 Wim Taymans <wim@fluendo.com>
19263 * libs/gst/dataprotocol/Makefile.am:
19264 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19265 * libs/gst/dataprotocol/dataprotocol.h:
19266 * pkgconfig/Makefile.am:
19267 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19268 * pkgconfig/gstreamer-dataprotocol.pc.in:
19269 Ported dataprotol to 0.9.
19270 Added pkgconfig files.
19272 2005-07-05 Andy Wingo <wingo@pobox.com>
19274 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19275 Default to returning TRUE for the case when tranform_caps returns
19276 a fixed caps, like for identity or volume.
19278 * check/gst/gstbus.c (pound_bus_with_messages):
19279 * check/gst/gstmessage.c (START_TEST):
19280 * check/pipelines/simple_launch_lines.c (got_handoff): Application
19281 message API change.
19283 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19284 logic weaks here: always run transform_caps, trying passthrough
19285 operation only if the original caps intersects with the transform.
19287 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19288 source and sink caps.
19290 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19291 Intersect the peer caps with the pad template before going into
19293 (gst_base_transform_transform_caps): More debugging.
19295 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19298 2005-07-04 Edward Hervey <edward@fluendo.com>
19302 (gst_pad_add_*_probe): now returns the signal id for better wrapping
19305 2005-07-04 Andy Wingo <wingo@pobox.com>
19307 * check/gst/gstpad.c: Only set explicit caps on pads.
19309 2005-07-01 Andy Wingo <wingo@pobox.com>
19311 * tests/network-clock.scm: Commentary update.
19313 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19314 Didn't really make sense, not implementable with basetransform,
19316 (gst_identity_transform): Unref inbuf via make_writable. Feeble
19317 attempt at implementing the sync property, needs an unlock method.
19319 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19320 New func, by default returns the same caps (the identity
19322 (gst_base_transform_getcaps): Uses transform_caps to return
19323 something sensible.
19324 (gst_base_transform_setcaps): Complicated logic to get caps on
19325 both pads, even if they are different, and to call set_caps once
19326 for every time both pads get their caps set.
19327 (gst_base_transform_handle_buffer): Give the ref to the transform
19328 function. Allows in-place modification of the buffer.
19330 * gst/base/gstbasetransform.h (transform_caps): New class method.
19331 Given caps on one side, what can I do on the other.
19332 (set_caps): Take two caps, one for each side of the element.
19335 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19336 caps in place. This is safe because we can check the mutability of
19337 the caps, and a good idea because fixate functions are just called
19338 as a matter of last resort. (Not actually implemented.)
19339 (gst_pad_set_caps): If the caps we're setting is actually the same
19340 as the existing pad caps, just update the pointer without calling
19341 setcaps. Assert that caps is either NULL or fixed, as per the
19344 * gst/gstghostpad.c: Update for fixate changes.
19346 2005-07-02 Andy Wingo <wingo@pobox.com>
19349 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19350 two refcounts makes it immutable, which is enough. Doc more.
19352 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
19354 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19355 Put the mini_object into GValue as a mini_object,
19356 not a gpointer, since that's how we declared
19359 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19361 * examples/pwg/Makefile.am:
19362 Fix buildbot again.
19364 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19366 * docs/pwg/building-testapp.xml:
19368 * examples/pwg/Makefile.am:
19371 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19374 * examples/Makefile.am:
19375 * examples/pwg/Makefile.am:
19376 * examples/pwg/extract.pl:
19377 Enable building the PWG examples.
19378 * docs/pwg/advanced-interfaces.xml:
19379 Add URI interface stub.
19380 * docs/pwg/advanced-types.xml:
19381 * docs/pwg/other-autoplugger.xml:
19382 * docs/pwg/appendix-porting.xml:
19383 * docs/pwg/pwg.xml:
19384 Add porting guide (mostly stubs), remove autoplugging (see ADM).
19385 * docs/pwg/building-boiler.xml:
19386 * docs/pwg/building-chainfn.xml:
19387 * docs/pwg/building-pads.xml:
19388 * docs/pwg/building-props.xml:
19389 * docs/pwg/building-state.xml:
19390 * docs/pwg/building-testapp.xml:
19391 Update the building-*.xml parts for 0.9 changes. All examples
19392 code blocks compile in examples/pwg/*.
19394 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19396 * docs/manual/advanced-autoplugging.xml:
19397 * docs/manual/appendix-checklist.xml:
19398 * docs/manual/appendix-integration.xml:
19399 * docs/manual/highlevel-components.xml:
19400 Fix playbin/decodebin examples, update docs a bit, mention bus
19401 instead of signals in various places, mention kmplayer and
19402 kaffeine since they have a working GStreamer backend in the KDE
19405 2005-06-30 Wim Taymans <wim@fluendo.com>
19408 * docs/design/draft-ghostpads.txt:
19409 * docs/design/draft-push-pull.txt:
19410 * docs/design/draft-query.txt:
19411 * docs/design/part-TODO.txt:
19412 * docs/design/part-query.txt:
19413 Added CHANGES-0.9 doc, updated status of other docs.
19418 2005-06-30 Wim Taymans <wim@fluendo.com>
19420 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19421 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19422 (gst_base_sink_change_state):
19423 * gst/base/gstbasesink.h:
19424 Some tweaks, only EOS and a buffer complete a preroll.
19426 2005-06-30 Andy Wingo <wingo@pobox.com>
19428 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19429 activate_push down to the internal pad as well.
19431 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
19433 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19435 * gst/gsttaginterface.c:
19436 Some documentation fixes (#307394 and #307397).
19438 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
19440 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19442 * gst/gstvalue.c: (gst_value_intersect_list):
19443 Fix memleak (#309125).
19445 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19447 * docs/manual/advanced-dataaccess.xml:
19448 Fix fakesrc example to compile; doesn't work, bug somewhere...?
19449 * docs/manual/basics-pads.xml:
19450 Add reference for filtered caps to above chapter.
19452 2005-06-30 Wim Taymans <wim@fluendo.com>
19454 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
19455 (gst_bin_change_state):
19457 Lame attempt at making the state change function a bit
19460 2005-06-30 Wim Taymans <wim@fluendo.com>
19462 * docs/design/part-clocks.txt:
19463 * docs/design/part-element-sink.txt:
19464 * docs/design/part-events.txt:
19465 * docs/design/part-preroll.txt:
19466 * docs/design/part-states.txt:
19467 Some more tweeks and additions to the docs.
19469 2005-06-30 Wim Taymans <wim@fluendo.com>
19471 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19472 (default_have_data), (gst_pad_class_init), (gst_pad_init),
19473 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19474 (gst_pad_check_pull_range), (gst_pad_get_range),
19475 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
19477 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
19478 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19479 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19480 (gst_pad_remove_buffer_probe):
19481 Removed atomic operations, use existing LOCK.
19482 Move exception handling out of main code path.
19484 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19486 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19487 (silly_return_true_function), (gst_pad_class_init),
19488 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19489 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
19490 (gst_pad_send_event):
19491 Fix accumulator, add default value by using _emitv() instead
19492 of _emit() for signal emission.
19494 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19496 * docs/manual/advanced-dataaccess.xml:
19497 * examples/manual/Makefile.am:
19499 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
19502 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
19504 * gst/elements/gstfilesink.c: (gst_filesink_render):
19505 Simplify code so that we don't have to handle short
19506 writes and return GST_FLOW_ERROR if an error occured.
19508 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19510 * docs/gst/gstreamer-docs.sgml:
19511 Remove probes more.
19513 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19515 * docs/gst/gstreamer-sections.txt:
19516 * docs/gst/tmpl/gstpad.sgml:
19517 * docs/gst/tmpl/gstprobe.sgml:
19519 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19520 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
19521 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19522 (gst_pad_push_event), (gst_pad_send_event):
19524 * gst/gstutils.c: (gst_pad_add_data_probe),
19525 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19526 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19527 (gst_pad_remove_buffer_probe):
19529 Remove old probes, add new g-signal-based probes and some utility
19532 2005-06-29 Edward Hervey <edward@fluendo.com>
19534 * gst/gstelementfactory.c:
19537 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
19538 the definition to the header file.
19540 2005-06-29 Andy Wingo <wingo@pobox.com>
19542 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
19543 plugins from the source directory.
19545 2005-06-29 Wim Taymans <wim@fluendo.com>
19547 * docs/gst/tmpl/gstbuffer.sgml:
19548 * docs/gst/tmpl/gstclock.sgml:
19549 Some fixings for blantently wrong text.
19551 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
19553 * check/Makefile.am:
19554 * gst/gst.c: (add_path_func), (init_pre):
19555 * gst/gstregistry.c: (gst_registry_add_path):
19556 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
19557 only scan the GST_PLUGIN_PATH locations, and not add
19560 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
19562 * docs/gst/gstreamer-sections.txt:
19563 * docs/gst/tmpl/gstbasesrc.sgml:
19564 * gst/gstelement.c:
19565 * gst/gstelement.h:
19570 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19572 * docs/manual/advanced-autoplugging.xml:
19573 Fix autoplugging example.
19575 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19577 * docs/manual/advanced-autoplugging.xml:
19578 * docs/manual/mime-world.fig:
19579 Try to get autoplugging working, fix type detection. Fix text
19580 in hello-world image.
19582 2005-06-29 Wim Taymans <wim@fluendo.com>
19584 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19585 (gst_base_sink_change_state):
19589 map SIGNAL and BROADCAST to the right function.
19592 Remove redundant braces.
19594 * gst/gstpad.c: (gst_pad_set_caps):
19595 Don't call setcaps function when reseting caps to NULL.
19597 * gst/gstsystemclock.c: (gst_system_clock_dispose),
19598 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
19599 (gst_system_clock_id_unschedule):
19600 Use BROADCAST as this is what we do.
19602 2005-06-29 Wim Taymans <wim@fluendo.com>
19604 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19605 We are actually prerolling before commiting the state
19608 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19610 * docs/manual/advanced-clocks.xml:
19611 * docs/manual/advanced-interfaces.xml:
19612 * docs/manual/advanced-metadata.xml:
19613 * docs/manual/advanced-position.xml:
19614 * docs/manual/advanced-schedulers.xml:
19615 * docs/manual/advanced-threads.xml:
19616 * docs/manual/appendix-porting.xml:
19617 * docs/manual/basics-bins.xml:
19618 * docs/manual/basics-bus.xml:
19619 * docs/manual/basics-elements.xml:
19620 * docs/manual/basics-helloworld.xml:
19621 * docs/manual/basics-pads.xml:
19622 * docs/manual/highlevel-components.xml:
19623 * docs/manual/manual.xml:
19624 * docs/manual/thread.fig:
19625 Update (until threads/scheduling) Application Development Manual;
19626 remove GstThread, add GstBus, add simple porting checklist, add
19627 documentation for tag writing, clocks, make all examples until this
19628 part compile and run.
19629 * examples/manual/Makefile.am:
19630 Update from changes to Application Development Manual; add bus
19631 example, remove thread example.
19633 2005-06-28 Wim Taymans <wim@fluendo.com>
19635 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
19636 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
19637 (gst_bus_source_dispatch):
19638 Add debugging messages.
19639 Make internal methods static.
19640 Handle the case where the bus is flushed in the handler.
19642 * gst/gstelement.c: (gst_element_get_bus):
19643 Fix refcount in _get_bus();
19645 * gst/gstpipeline.c: (gst_pipeline_change_state),
19646 (gst_pipeline_get_clock_func):
19647 Clock refcounting fixes.
19648 Handle the case where preroll timed out more gracefully.
19650 * gst/gstsystemclock.c: (gst_system_clock_dispose):
19651 Clean up the internal thread in dispose. This is needed
19652 for subclasses that actually get disposed.
19654 * gst/schedulers/threadscheduler.c:
19655 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19656 (gst_thread_scheduler_dispose):
19657 Free thread pool in dispose.
19659 2005-06-28 Andy Wingo <wingo@pobox.com>
19661 * tests/network-clock-utils.scm (debug, print-event): New utils.
19663 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
19664 (*packet-loss*): Unified loss probability.
19665 (network-time): Report out-of-band events.
19667 * tests/plot-data: Add support for out-of-band events. Hack it
19668 into this script instead of passing it down the pipe; should fix
19671 2005-06-28 Wim Taymans <wim@fluendo.com>
19673 * docs/gst/gstreamer.types:
19674 * docs/gst/tmpl/gstbasesrc.sgml:
19675 * docs/gst/tmpl/gstpad.sgml:
19678 2005-06-28 Wim Taymans <wim@fluendo.com>
19680 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19681 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
19682 (gst_proxy_pad_do_fixatecaps):
19683 Correctly proxy the check_pull_range function.
19685 2005-06-28 Andy Wingo <wingo@pobox.com>
19687 * tests/network-clock.scm: Removed need for slib.
19689 2005-06-28 Wim Taymans <wim@fluendo.com>
19691 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
19692 (gst_basesink_preroll_queue_flush):
19693 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
19694 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
19695 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19696 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19697 (gst_proxy_pad_set_property):
19700 * gst/gstqueue.c: (gst_queue_init):
19701 The deprecated pad loop function is removed now.
19703 2005-06-28 Andy Wingo <wingo@pobox.com>
19705 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
19706 New parameters, simulate network packet loss.
19708 * tests/network-clock-utils.scm: Initialize the RNG.
19710 2005-06-28 Wim Taymans <wim@fluendo.com>
19712 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
19713 (gst_basesink_event), (gst_basesink_deactivate):
19714 Flushing the preroll queue always needs to unlock the waiters.
19716 2005-06-28 Edward Hervey <edward@fluendo.com>
19718 * gst/gstpipeline.c: (gst_pipeline_send_event):
19719 Wheen a seek was successful on a pipeline, set the stream_time to the
19720 seek offset in order to have a synchronized stream_time.
19722 2005-06-28 Wim Taymans <wim@fluendo.com>
19724 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19725 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
19726 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
19727 (gst_proxy_pad_do_fixatecaps):
19728 Call wrapper function instead of just calling the function
19729 pointers. This takes care of any locking and whatmore.
19731 2005-06-28 Wim Taymans <wim@fluendo.com>
19733 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
19734 (gst_pad_pull_range):
19736 CONNECTED -> LINKED.
19738 2005-06-28 Andy Wingo <wingo@pobox.com>
19740 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
19741 source-munging commit!!!
19743 * gst/gstobject.c (gst_object_unref, gst_object_ref)
19744 (gst_object_sink): Take gpointer arguments, not GstObject --
19745 avoids casts. Like GLib.
19747 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
19750 2005-06-27 Andy Wingo <wingo@pobox.com>
19752 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
19755 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
19756 returns a sorted copy of the trace list.
19757 (gst_alloc_trace_print_live): New API, only prints traces with
19758 live objects. Sort the list.
19759 (gst_alloc_trace_print_all): Sort the list.
19760 (gst_alloc_trace_print): Align columns.
19762 * gst/elements/gstttypefindelement.c:
19763 * gst/elements/gsttee.c:
19764 * gst/base/gstbasesrc.c:
19765 * gst/base/gstbasesink.c:
19766 * gst/base/gstbasetransform.c:
19767 * gst/gstqueue.c: Adapt for pad activation changes.
19769 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
19771 (gst_pipeline_dispose): Drop ref on sched.
19773 * gst/gstpad.c (gst_pad_init): Set the default activate func.
19774 (gst_pad_activate_default): Push mode by default.
19775 (pre_activate_switch, post_activate_switch): New stubs, things to
19776 do before and after switching activation modes on pads.
19777 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
19778 the pad's activate function to choose which mode to activate.
19779 Shortcut on deactivation and call the right function directly.
19780 (gst_pad_activate_pull): New API, (de)activates a pad in pull
19782 (gst_pad_activate_push): New API, same for push mode.
19783 (gst_pad_set_activate_function)
19784 (gst_pad_set_activatepull_function)
19785 (gst_pad_set_activatepush_function): Setters for new API.
19787 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
19788 Trace all miniobjects.
19789 (gst_mini_object_make_writable): Unref the arg if we copy, like
19790 gst_caps_make_writable.
19792 * gst/gstmessage.c (_gst_message_initialize): No trace init.
19794 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
19795 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
19796 Adapt for new pad API.
19798 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
19800 * gst/gstelement.h:
19801 * gst/gstelement.c (gst_element_iterate_src_pads)
19802 (gst_element_iterate_sink_pads): New API functions.
19804 * gst/gstelement.c (iterator_fold_with_resync): New utility,
19805 should fold into gstiterator.c in some form.
19806 (gst_element_pads_activate): Simplified via use of fold and
19807 delegation of decisions to gstpad->activate.
19809 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
19812 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
19813 class once in init, like gstmessage. Didn't run into this issue
19814 but it seems correct. Don't initialize a trace, gstminiobject does
19817 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
19818 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
19820 (assert_live_count): New util function, uses alloc traces to check
19823 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
19824 To be modified when unlink drops the internal pad.
19826 2005-06-27 Wim Taymans <wim@fluendo.com>
19828 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
19829 (gst_bin_change_state):
19830 Cleanup the get_state() function a little, make sure it
19831 iterates the same set of elements.
19832 Added stub iterate_state_order().
19834 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
19836 * docs/gst/gstreamer-docs.sgml:
19837 * docs/gst/gstreamer-sections.txt:
19838 * docs/gst/gstreamer.types:
19839 * docs/gst/tmpl/gstbasesink.sgml:
19840 * docs/gst/tmpl/gstbasesrc.sgml:
19841 * docs/gst/tmpl/gstbasetransform.sgml:
19842 * docs/gst/tmpl/gstelement.sgml:
19843 * docs/gst/tmpl/gstiterator.sgml:
19844 * gst/base/gstbasesrc.c:
19845 * gst/base/gstbasesrc.h:
19846 * gst/base/gstbasetransform.h:
19847 * gst/gstelement.c:
19848 * gst/gstiterator.h:
19849 adding basetransform and iterator docs
19851 2005-06-27 Andy Wingo <wingo@pobox.com>
19853 * docs/design/part-activation.txt: Notes on how activation should
19854 work -- not quite implemented yet.
19856 2005-06-25 Wim Taymans <wim@fluendo.com>
19858 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
19859 At least get the chain function correct, needs more
19862 2005-06-25 Wim Taymans <wim@fluendo.com>
19864 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19865 (gst_basesink_handle_object), (gst_basesink_event),
19866 (gst_basesink_do_sync), (gst_basesink_handle_event),
19867 (gst_basesink_change_state):
19869 Right, two problems here: ghostpads don't take locks and
19870 glib _rec_mutex_lock_full() with depth==0 still locks.
19871 Catch illegal locking and g_warn them.
19873 2005-06-25 Wim Taymans <wim@fluendo.com>
19875 * check/states/sinks.c: (START_TEST), (gst_object_suite):
19876 Have to check for completion now...
19878 2005-06-25 Wim Taymans <wim@fluendo.com>
19880 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19881 (gst_basesink_handle_object), (gst_basesink_event),
19882 (gst_basesink_do_sync), (gst_basesink_handle_event),
19883 (gst_basesink_change_state):
19885 Unlock STREAM_LOCK whatever the recursion was.
19887 2005-06-25 Wim Taymans <wim@fluendo.com>
19889 * gst/base/gstbasesink.c: (gst_basesink_set_property),
19890 (gst_basesink_preroll_queue_empty),
19891 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
19892 (gst_basesink_event), (gst_basesink_do_sync),
19893 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
19894 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
19895 (gst_basesink_change_state):
19896 Reworked the base sink, handle event and buffer serialisation
19897 correctly and removed possible deadlock.
19898 Handle EOS correctly.
19900 2005-06-25 Wim Taymans <wim@fluendo.com>
19902 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
19903 (gst_pipeline_change_state):
19904 * tools/gst-launch.c: (check_intr), (event_loop), (main):
19905 Allow elements to post EOS in the state change function.
19906 Fix up -launch, make it exit the poll loop when the
19907 pipeline actually changed state.
19908 Fix up warning parsing in -launch.
19910 2005-06-25 Wim Taymans <wim@fluendo.com>
19912 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
19913 (gst_tee_sink_activate):
19914 Core takes STREAM_LOCK for us now.
19916 2005-06-25 Wim Taymans <wim@fluendo.com>
19918 * gst/gstelement.c: (gst_element_get_state_func),
19919 (gst_element_set_state):
19920 * gst/gstelement.h:
19921 * gst/gstmessage.c: (gst_message_parse_error),
19922 (gst_message_parse_warning):
19923 Keep track of current target state while performing a state
19924 change so that subclasses can do something interesting.
19925 Fix parsing of warning/error messages when GError is NULL.
19927 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
19929 * docs/gst/Makefile.am:
19930 * docs/gst/gstreamer-docs.sgml:
19931 * docs/gst/gstreamer-sections.txt:
19932 * docs/gst/gstreamer.types:
19933 * docs/gst/tmpl/gstbasesink.sgml:
19934 * docs/gst/tmpl/gstbasesrc.sgml:
19935 * docs/gst/tmpl/gstbin.sgml:
19936 * docs/gst/tmpl/gstcompat.sgml:
19937 * docs/gst/tmpl/gstfakesink.sgml:
19938 * docs/gst/tmpl/gstfakesrc.sgml:
19939 * docs/gst/tmpl/gstfilesink.sgml:
19940 * docs/gst/tmpl/gstfilesrc.sgml:
19941 * docs/gst/tmpl/gstindex.sgml:
19942 * docs/manual/appendix-quotes.xml:
19943 * gst/base/gstbasesrc.h:
19944 * gst/elements/gstfakesrc.h:
19945 * gst/gstmessage.h:
19946 start pulling in base classes and elements in our docs
19948 2005-06-24 Stefan Kost <ensonic@users.sf.net>
19950 * docs/gst/Makefile.am:
19951 * docs/libs/Makefile.am:
19952 fixed make distcheck with gtk-doc 1.3
19954 2005-06-23 Wim Taymans <wim@fluendo.com>
19956 * gst/gstelement.c: (gst_element_get_state_func),
19957 (gst_element_set_state), (gst_element_change_state):
19958 When the state did not change, also report NO_PREROLL
19961 2005-06-23 Wim Taymans <wim@fluendo.com>
19963 * gst/gstpad.c: (gst_pad_event_default):
19964 * gst/gstqueue.c: (gst_queue_loop):
19965 No unsafe task pausing please.
19967 2005-06-23 Wim Taymans <wim@fluendo.com>
19969 * gst/schedulers/threadscheduler.c:
19970 (gst_thread_scheduler_task_start),
19971 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
19972 Ref the task before pushing it on the threadpool. This
19973 makes sure that we have a ref when the threadfunction is
19976 2005-06-23 Andy Wingo <wingo@pobox.com>
19978 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
19979 offset is greater than the file's size.
19981 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
19982 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
19983 * gst/gstobject.c (gst_object_class_init): Make the class lock
19984 recursive. Wim won't let me drop deep_notify. Decodebin works
19985 again, whoopdy doo.
19987 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
19988 internal pad, and hacks accordingly. Doesn't do it on the target
19989 pad because we change its caps. Probably catches all cases of
19991 (gst_ghost_pad_set_property): Connect to notify::caps as
19994 * tests/network-clock.scm (plot-simulation): Pipe data to the
19995 elite python skript.
19997 * tests/network-clock-utils.scm (define-parameter): New macro,
19998 defines a parameter that can be set via the command line.
19999 (set-parameter!, parse-parameter-arguments): Command line args
20002 * tests/plot-data: Simple matplotlib-based plotter, takes input on
20005 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
20007 * gst/elements/gsttypefindelement.c:
20008 (gst_type_find_element_handle_event):
20009 Don't restart typefinding on a discont.
20010 * gst/gstelement.c: (gst_element_set_state):
20011 Debug spelling fix.
20012 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20013 Allow changing mode of an active pad.
20014 Debug output fixes.
20015 * gst/registries/gstlibxmlregistry.c: (load_feature):
20016 Don't cast a static pad template to a normal pad template.
20018 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
20020 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20021 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20022 remove gst_strtoll completely, since it didn't actually do
20023 anything more than what g_ascii_strtoull already does.
20024 check for range errors when deserializing
20025 do a cast for the unsigned cases; but further fixing needs
20026 a decision on what the interpretation of "(int)" and
20027 deserialization should be for values that fall outside the
20028 type's boundaries (ie, refuse, or interpret as casting)
20030 2005-06-23 Wim Taymans <wim@fluendo.com>
20032 * check/Makefile.am:
20033 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20034 * docs/design/part-live-source.txt:
20035 * docs/design/part-states.txt:
20036 * gst/base/gstbasesrc.c: (gst_basesrc_init),
20037 (gst_basesrc_set_live), (gst_basesrc_is_live),
20038 (gst_basesrc_get_range), (gst_basesrc_activate),
20039 (gst_basesrc_change_state):
20040 * gst/base/gstbasesrc.h:
20041 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20042 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20043 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20044 * gst/gstelement.c: (gst_element_get_state_func),
20045 (gst_element_set_state):
20046 * gst/gstelement.h:
20048 * tools/gst-launch.c: (event_loop), (main):
20049 Added support for live sources and other elements that
20051 Updated design docs, added live-source design doc.
20052 Implemented live source functionality in basesrc
20053 Fix error condition in _bin_get_state()
20054 Implement live source handling in -launch.
20055 Added check for live sources.
20056 Fixed case in GstBin where elements were changed state
20060 2005-06-23 Andy Wingo <wingo@pobox.com>
20062 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20063 borken refcounting.
20065 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20066 gst_caps_replace takes care of this for us.
20068 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20069 gst_pad_set_caps on the target, not just its setcaps() function.
20071 * tests/network-clock.scm:
20072 * tests/network-clock-utils.scm: A network clock simulator.
20073 Something of an algorithmic testbed before doing something in C.
20075 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
20077 * check/Makefile.am:
20078 * check/gst/capslist.h:
20079 copy over from 0.8, and add two with bitmasks specified with
20081 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20082 add test to parse everything from capslist.h
20083 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20085 add test for structure deserialization
20086 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20087 add tests for deserialization of strings to int types
20088 * gst/gststructure.c: (gst_structure_nth_field_name):
20089 * gst/gststructure.h:
20090 add a way to get the name of a field referenced by index
20091 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20092 instead of checking if the resulting long long lies between
20093 min and max, we check if the long long would fit into
20094 a number of bytes for the final type.
20095 This fixes cases where a string represents 2^32 - 1, which
20096 when cast to int would be the (valid) -1, but is bigger than
20099 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
20101 * gst/parse/grammar.y:
20102 add a log line for type deserialization
20104 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
20106 * check/gst/gstvalue.c: (START_TEST):
20107 * gst/gstvalue.c: (gst_value_deserialize):
20108 return long long, not int, so gint64 deserialization actually
20109 works. Is there any flag that makes the compiler check this ?
20112 2005-06-22 Wim Taymans <wim@fluendo.com>
20115 Added convenience macros for setting buffers in GValue.
20117 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
20119 * check/gst/.cvsignore:
20120 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20121 add a test deserializing int64, and comment part out because
20124 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
20126 * check/Makefile.am:
20127 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20128 * testsuite/Makefile.am:
20129 * testsuite/caps/Makefile.am:
20130 * testsuite/caps/value_serialize.c:
20131 * testsuite/test_gst_init.c:
20132 move a value_serialize test over
20134 2005-06-20 Wim Taymans <wim@fluendo.com>
20139 * gst/gstvalue.c: (gst_value_compare_buffer),
20140 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20141 (gst_value_compare_flags), (gst_value_serialize_flags),
20142 (gst_value_deserialize_flags), (_gst_value_initialize):
20143 Fix serialisation of buffers, they are not boxed types anymore
20145 2005-06-20 Wim Taymans <wim@fluendo.com>
20147 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20148 Testcase to show error in buffer-on-caps serialisation.
20150 2005-06-20 Andy Wingo <wingo@pobox.com>
20152 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20153 will be adding to later.
20155 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20156 if its socks fill with rocks.
20157 (gst_system_clock_obtain): Set the name on object construction.
20158 Avoid double-checked locking.
20160 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
20162 * gst/gsturi.c: (gst_element_make_from_uri):
20163 Fix potential endless loop.
20165 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20167 * check/Makefile.am:
20169 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20171 move over from testsuite dir and clean up
20174 * testsuite/Makefile.am:
20175 * testsuite/tags/.cvsignore:
20176 * testsuite/tags/Makefile.am:
20177 * testsuite/tags/merge.c:
20178 remove testsuite/tags
20180 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20182 * docs/gst/gstreamer-sections.txt:
20183 * docs/gst/tmpl/gstenumtypes.sgml:
20184 * win32/gstenumtypes.c:
20185 clean up documentation build a little
20187 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20189 * check/gstcheck.h:
20190 add macros for checking refcounts on objects and caps
20191 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20192 add some more unit tests
20193 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20194 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20195 fix leaked refcounts (I hope :)) so unittest works
20199 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20201 * configure.ac: back to HEAD
20203 === release 0.9.1 ===
20205 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
20211 2005-06-17 Andy Wingo <wingo@pobox.com>
20213 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20214 assert; it's always possible that the pad gets deactivated in
20215 between the checks in gstpad.c and the implementation. Rely on
20216 finish_preroll() to return a FLUSHING or similar instead of on the
20219 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20220 clock and post an EOS message if we come out of finish_preroll in
20223 2005-06-16 David Schleef <ds@schleef.org>
20225 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20226 (gst_capsfilter_set_property): Allow NULL as possible value
20227 for filter_caps property, indicating GST_CAPS_ANY.
20229 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
20231 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20233 * gst/schedulers/Makefile.am:
20235 * gstreamer.spec.in:
20238 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
20240 * gstreamer.spec.in:
20243 2005-06-08 Andy Wingo <wingo@pobox.com>
20245 * gst/gstutils.c: RPAD fixes all around.
20246 (gst_element_link_pads): Refcounting fixes.
20248 * tools/gst-inspect.c:
20249 * tools/gst-xmlinspect.c:
20251 * gst/base/gsttypefindhelper.c:
20252 * gst/base/gstbasesink.c:
20253 * gst/gstqueue.c: RPAD fixes.
20255 * gst/gstghostpad.h:
20256 * gst/gstghostpad.c: New ghost pad implementation as full proxy
20257 pads. The tricky thing is they provide both source and sink
20258 interfaces, since they proxy the internal pad for the external
20259 pad, and vice versa. Implement with lower-level ProxyPad objects,
20260 with the interior proxy pad as a child of the exterior ghost pad.
20261 Should write a doc on this.
20263 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20264 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20267 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20268 pads are real pads. No ghost pads in this file. Not documenting
20269 the myriad s/RPAD/PAD/ and REALIZE fixes.
20270 (gst_pad_class_init): Add properties for "direction" and
20271 "template". Both are construct-only, so they can't change during
20272 the life of the pad. Fixes properly deriving from GstPad.
20273 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20274 derived objects, just set properties when creating the objects via
20276 (gst_pad_get_parent): Implement as a function, return NULL if the
20277 parent is not an element.
20278 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20279 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20281 * gst/gstobject.c (gst_object_class_init): Make name a construct
20282 property. Don't set it in the object init.
20284 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20285 with UNKNOWN direction.
20286 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20287 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20288 (gst_element_remove_pad): Remove ghost-pad special cases.
20289 (gst_element_pads_activate): Remove rpad cruft.
20291 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20292 catch the pad's-parent-not-an-element case.
20294 * gst/gst.h: Include gstghostpad.h.
20296 * gst/gst.c (init_post): No more real, ghost pads.
20298 * gst/Makefile.am: Add gstghostpad.[ch].
20300 * check/Makefile.am:
20301 * check/gst/gstbin.c:
20302 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20303 into a bin creates ghost pads, and that the refcounts are right.
20304 Partly moved from gstbin.c.
20306 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
20308 * check/gst-libs/.cvsignore:
20309 * check/gst/.cvsignore:
20310 * check/pipelines/.cvsignore:
20312 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20313 (START_TEST), (cleanup_suite), (main):
20314 add some tests related to cleanup after running pipelines
20316 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
20318 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20319 add a testsuite for GstBuffer
20321 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
20323 * gst/gstminiobject.h:
20324 add defines for accessing the refcount
20326 2005-06-03 Stefan Kost <ensonic@users.sf.net>
20328 * Makefile.am: added support for html unit test coverage reports
20330 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
20332 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20333 Free existing caps if the capsfilter changes. Add a FIXME about
20334 setting those caps on the pads.
20336 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20337 Before adding a ghost pad to a parent bin, check that there isn't
20338 already one for the element on the bin. Prevents infinite recursion
20339 when using decodebin in parse pipelines. Andy says he'll rewrite the
20340 way this works anyway, so ignore the hack.
20342 2005-06-02 Andy Wingo <wingo@pobox.com>
20344 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20345 file size, pass it on to the type find helper.
20347 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20348 segment_start and segment_end properly according to the seek
20349 method. Segment_end is still a bit flaky because offset can be
20350 negative for CUR and END cases, but it takes -1 as an "unset"
20353 2005-06-02 Wim Taymans <wim@fluendo.com>
20355 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20356 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20357 (gst_basesink_activate):
20358 * gst/base/gstbasesink.h:
20359 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20360 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20361 (gst_pad_query), (gst_pad_start_task):
20363 * gst/gstqueue.c: (gst_queue_bufferalloc),
20364 (gst_queue_handle_sink_event), (gst_queue_chain):
20365 Bufferalloc: return GstFlowReturn to more accuratly report
20366 why allocation failed.
20368 2005-06-02 Wim Taymans <wim@fluendo.com>
20370 * gst/gstpipeline.c: (gst_pipeline_send_event):
20371 Take snapshot of state without blocking.
20373 2005-06-02 Wim Taymans <wim@fluendo.com>
20375 * docs/design/part-TODO.txt:
20376 * docs/design/part-caps.txt:
20377 * docs/design/part-clocks.txt:
20378 * docs/design/part-negotiation.txt:
20379 * docs/design/part-preroll.txt:
20382 2005-05-30 Wim Taymans <wim@fluendo.com>
20384 * gst/elements/gstidentity.c: (gst_identity_event),
20385 (gst_identity_transform), (gst_identity_get_property):
20386 Protect last_message property as it is accessed from
20389 2005-05-30 Wim Taymans <wim@fluendo.com>
20391 * gst/gstelement.c: (gst_element_init),
20392 (gst_element_pads_activate), (gst_element_change_state):
20393 Slicker pad activation code.
20395 2005-05-30 Wim Taymans <wim@fluendo.com>
20398 * gst/gstelement.h:
20399 * gst/gstelementfactory.h:
20401 Move elementfactory methods to separate .h file.
20403 2005-05-30 Wim Taymans <wim@fluendo.com>
20405 * docs/design/part-overview.txt:
20406 * gst/gstsystemclock.h:
20407 Small typo fixes, doc updates.
20409 2005-05-30 Wim Taymans <wim@fluendo.com>
20411 * gst/gst.c: (gst_init_get_popt_table), (init_post),
20412 (init_popt_callback):
20413 Remove cpu-opt flag.
20415 2005-05-30 Wim Taymans <wim@fluendo.com>
20417 * gst/gstbuffer.c: (gst_subbuffer_finalize),
20418 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20420 Avoid typechecking in places where not needed.
20421 Added accessor for malloc_data.
20423 2005-05-30 Wim Taymans <wim@fluendo.com>
20425 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20426 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20427 (gst_pad_configure_sink), (gst_pad_configure_src),
20428 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20429 (gst_pad_start_task):
20430 Propagate errors from _set_caps() in configure_src/sink
20431 functions instead of returning TRUE.
20432 FLUSH events can travel up and downstream
20435 2005-05-30 Wim Taymans <wim@fluendo.com>
20437 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20438 (gst_basesink_activate):
20439 Handle EOS in preroll.
20441 2005-05-30 Wim Taymans <wim@fluendo.com>
20443 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20444 (gst_queue_loop), (gst_queue_handle_src_event):
20445 Remove old pieces of code
20446 Flushing the queue in an upstream event is a very bad idea.
20448 2005-05-26 Andy Wingo <wingo@pobox.com>
20450 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
20451 gst_value_set_mini_object so as to add a ref on the object (which
20452 will be removed when the value is unset).
20454 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
20455 arg type in ::handoff.
20457 * gst/gstelement.c (gst_element_change_state): Also deactivate
20458 pads in READY->NULL, just in case the element didn't make it to
20459 PAUSED. Wingo tested, Wim approved.
20461 2005-05-26 Wim Taymans <wim@fluendo.com>
20463 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20464 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20465 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
20466 A flushing pad cannot be used to alloc_buffer from.
20468 2005-05-26 Wim Taymans <wim@fluendo.com>
20470 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
20471 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
20472 (gst_bus_source_dispatch), (gst_bus_source_finalize),
20473 (gst_bus_create_watch), (gst_bus_add_watch_full):
20475 Implement a real GSource and use g_main_context_wakeup() to
20476 signal new messages instead of the socketpair.
20478 2005-05-25 Wim Taymans <wim@fluendo.com>
20480 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
20481 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
20482 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20483 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20484 (gst_pad_send_event), (gst_pad_start_task):
20485 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
20486 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20487 (gst_queue_sink_activate), (gst_queue_src_activate),
20488 (gst_queue_change_state):
20490 Fix state changes for non sinks. We now change sinks, then elements
20491 with unconnected srcpads, then the rest.
20492 More efficient queue unlocking in flush and state changes.
20493 Set the pad activate mode even if it does not have an activate
20496 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20498 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
20499 Don't go in pull mode for non-seekable sources.
20500 * gst/elements/gsttypefindelement.h:
20501 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20502 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
20503 (free_entry), (stop_typefinding),
20504 (gst_type_find_element_handle_event), (find_peek),
20505 (gst_type_find_element_chain), (do_pull_typefind),
20506 (gst_type_find_element_change_state):
20507 Allow typefinding (w/o seeking) in push-mode, simplified version
20508 of what was in 0.8.
20509 * gst/gstutils.c: (gst_buffer_join):
20511 gst_buffer_join() from 0.8.
20513 2005-05-25 Wim Taymans <wim@fluendo.com>
20515 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20516 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20517 (gst_pad_send_event), (gst_pad_start_task):
20518 Disable attempt at mode switching until it is figured out.
20520 2005-05-25 Wim Taymans <wim@fluendo.com>
20522 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
20523 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20524 (gst_basesink_finish_preroll), (gst_basesink_chain),
20525 (gst_basesink_loop), (gst_basesink_activate),
20526 (gst_basesink_change_state):
20527 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
20528 (gst_basesrc_get_range), (gst_basesrc_loop),
20529 (gst_basesrc_activate):
20530 * gst/elements/gsttee.c: (gst_tee_sink_activate):
20531 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20532 (gst_real_pad_init), (gst_real_pad_set_property),
20533 (gst_real_pad_get_property), (gst_pad_set_active),
20534 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
20535 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
20536 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
20537 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
20538 (gst_pad_event_default_dispatch), (gst_pad_event_default),
20539 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
20540 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
20541 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20542 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
20543 (gst_pad_stop_task):
20545 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20546 (gst_queue_loop), (gst_queue_src_activate):
20547 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
20548 (gst_task_get_state):
20550 * gst/schedulers/threadscheduler.c:
20551 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
20552 Implement gst_pad_pause/start/stop_task(), take STREAM lock
20554 Remove ACTIVE pad flag, use FLUSHING everywhere
20555 Added _pad_chain(), _pad_get_range() to call chain/getrange
20557 Add locks around IS_FLUSHING when reading.
20558 Take STREAM lock in chain(), get_range() functions so plugins
20559 don't need to take it anymore.
20563 2005-05-25 Wim Taymans <wim@fluendo.com>
20565 * tools/gst-launch.c: (event_loop):
20566 Unref message after using its contents instead of
20569 2005-05-24 Wim Taymans <wim@fluendo.com>
20571 * docs/design/draft-ghostpads.txt:
20572 * docs/design/draft-push-pull.txt:
20573 * docs/design/draft-query.txt:
20574 * docs/design/part-overview.txt:
20575 Docs updates, added general overview doc.
20577 2005-05-21 David Schleef <ds@schleef.org>
20579 * docs/gst/tmpl/old/GstBin.sgml:
20580 * docs/gst/tmpl/old/GstBuffer.sgml:
20581 * docs/gst/tmpl/old/GstCaps.sgml:
20582 * docs/gst/tmpl/old/GstClock.sgml:
20583 * docs/gst/tmpl/old/GstCompat.sgml:
20584 * docs/gst/tmpl/old/GstData.sgml:
20585 * docs/gst/tmpl/old/GstElement.sgml:
20586 * docs/gst/tmpl/old/GstEvent.sgml:
20587 * docs/gst/tmpl/old/GstIndex.sgml:
20588 * docs/gst/tmpl/old/GstStructure.sgml:
20589 * docs/gst/tmpl/old/GstTag.sgml:
20590 * docs/gst/tmpl/old/cothreads.sgml:
20591 * docs/gst/tmpl/old/cothreads_compat.sgml:
20592 * docs/gst/tmpl/old/gettext.sgml:
20593 * docs/gst/tmpl/old/gobject2gtk.sgml:
20594 * docs/gst/tmpl/old/grammar.tab.sgml:
20595 * docs/gst/tmpl/old/gst-i18n-app.sgml:
20596 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
20597 * docs/gst/tmpl/old/gst_private.sgml:
20598 * docs/gst/tmpl/old/gstaggregator.sgml:
20599 * docs/gst/tmpl/old/gstarch.sgml:
20600 * docs/gst/tmpl/old/gstatomic_impl.sgml:
20601 * docs/gst/tmpl/old/gstbufferstore.sgml:
20602 * docs/gst/tmpl/old/gstdata_private.sgml:
20603 * docs/gst/tmpl/old/gstdisksink.sgml:
20604 * docs/gst/tmpl/old/gstdisksrc.sgml:
20605 * docs/gst/tmpl/old/gstelementfactory.sgml:
20606 * docs/gst/tmpl/old/gstextratypes.sgml:
20607 * docs/gst/tmpl/old/gstfakesink.sgml:
20608 * docs/gst/tmpl/old/gstfakesrc.sgml:
20609 * docs/gst/tmpl/old/gstfdsink.sgml:
20610 * docs/gst/tmpl/old/gstfdsrc.sgml:
20611 * docs/gst/tmpl/old/gstfilesink.sgml:
20612 * docs/gst/tmpl/old/gstfilesrc.sgml:
20613 * docs/gst/tmpl/old/gsthttpsrc.sgml:
20614 * docs/gst/tmpl/old/gstidentity.sgml:
20615 * docs/gst/tmpl/old/gstindexfactory.sgml:
20616 * docs/gst/tmpl/old/gstmarshal.sgml:
20617 * docs/gst/tmpl/old/gstmd5sink.sgml:
20618 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
20619 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
20620 * docs/gst/tmpl/old/gstpadtemplate.sgml:
20621 * docs/gst/tmpl/old/gstpipefilter.sgml:
20622 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
20623 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
20624 * docs/gst/tmpl/old/gstshaper.sgml:
20625 * docs/gst/tmpl/old/gstspider.sgml:
20626 * docs/gst/tmpl/old/gstspideridentity.sgml:
20627 * docs/gst/tmpl/old/gststatistics.sgml:
20628 * docs/gst/tmpl/old/gsttee.sgml:
20629 * docs/gst/tmpl/old/gsttimecache.sgml:
20630 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
20631 * docs/gst/tmpl/old/gstxmlregistry.sgml:
20632 * docs/gst/tmpl/old/gthread-cothreads.sgml:
20633 * docs/gst/tmpl/old/types.sgml:
20634 I didn't intend to add these or check them in.
20636 2005-05-19 David Schleef <ds@schleef.org>
20638 * configure.ac: Use -no-common everywhere. In a sane world, it
20639 would be the default in libtool, because without it, you can't
20640 build DLLs on Windows.
20641 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
20642 * docs/gst/gstreamer-sections.txt:
20643 * docs/gst/tmpl/gstcpu.sgml:
20644 * docs/gst/tmpl/gstdata.sgml:
20645 * docs/gst/tmpl/gstthread.sgml:
20647 2005-05-19 David Schleef <ds@schleef.org>
20649 * gst/gstminiobject.c: (gst_value_set_mini_object),
20650 (gst_value_take_mini_object), (gst_value_get_mini_object):
20651 * gst/gstminiobject.h: Add GValue set/get functions.
20653 2005-05-19 Wim Taymans <wim@fluendo.com>
20655 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
20656 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
20657 (gst_subbuffer_init), (gst_buffer_is_span_fast):
20659 * gst/gstbus.c: (gst_bus_post):
20660 * gst/gstelement.c: (gst_element_get_random_pad):
20661 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
20662 Make subbufer unref the parent in finalize.
20663 some more debugging info.
20666 2005-05-19 Wim Taymans <wim@fluendo.com>
20668 * gst/base/gstbasesink.c: (gst_basesink_class_init),
20669 (gst_basesink_init), (gst_basesink_finalize),
20670 (gst_basesink_activate), (gst_basesink_change_state):
20671 Don't free preroll queue too early.
20673 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20677 Hi, I'm outdated. Please shoot me.
20679 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20681 * gst/gstpipeline.c: (gst_pipeline_send_event):
20682 Do not access variables after they have been deleted.
20684 2005-05-19 Wim Taymans <wim@fluendo.com>
20686 * tools/gst-inspect.c: (print_plugin_features):
20687 A plugin feature does unfortunatly not use the
20690 2005-05-18 Wim Taymans <wim@fluendo.com>
20692 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
20693 Port _span() functions to new subbuffers.
20695 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20697 * gst/gstbin.c: (gst_bin_add_func):
20698 Fix clock settery in bins when adding kids after the clock has
20701 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20703 * gst/elements/gstidentity.c: (gst_identity_class_init):
20704 Workaround until signals support GstMiniObject.
20706 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
20709 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
20711 2005-05-18 Wim Taymans <wim@fluendo.com>
20713 * gst/base/Makefile.am:
20714 * gst/base/gstadapter.c: (gst_adapter_base_init),
20715 (gst_adapter_class_init), (gst_adapter_init),
20716 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
20717 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
20718 (gst_adapter_flush), (gst_adapter_available),
20719 (gst_adapter_available_fast):
20720 * gst/base/gstadapter.h:
20721 Ported and added adapter to the base classes.
20723 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
20726 * gst/gstmessage.c:
20727 Make sure the class is reffed/unreffed once before threads can be
20728 used. Fixes #304551.
20730 2005-05-17 Wim Taymans <wim@fluendo.com>
20732 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
20733 (gst_basesink_chain_unlocked), (gst_basesink_activate):
20734 * gst/gstminiobject.c: (gst_mini_object_get_type),
20735 (gst_mini_object_free):
20736 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
20737 (gst_pad_push), (gst_pad_push_event):
20738 * gst/gstqueue.c: (gst_queue_change_state):
20739 Don't queue buffers in basesink when we are flushing.
20740 Unref buffer when flushing in basesink.
20741 Flush queue when going to READY
20742 Unref buffer when _push() returns an error.
20743 Don't free MiniObject instance when refcount is incremented
20744 in _finalize() so that we can recover objects.
20746 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
20748 * docs/manual/advanced-schedulers.xml:
20749 * docs/manual/appendix-checklist.xml:
20750 * docs/pwg/advanced-clock.xml:
20751 * docs/pwg/advanced-interfaces.xml:
20752 * docs/pwg/advanced-request.xml:
20753 * docs/pwg/advanced-types.xml:
20754 * docs/pwg/intro-preface.xml:
20755 * examples/plugins/example.c: (gst_example_get_type),
20756 (gst_example_class_init), (gst_example_chain),
20757 (gst_example_set_property), (gst_example_get_property),
20758 (gst_example_change_state), (plugin_init):
20759 * examples/plugins/example.h:
20762 2005-05-17 Wim Taymans <wim@fluendo.com>
20764 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
20765 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
20766 * gst/gstqueue.c: (gst_queue_change_state):
20767 Clear queue when going to READY.
20768 Remove IN_SETCAPS flag too.
20770 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
20772 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
20773 Remove implicit cast from gboolean to GstElementStateReturn;
20774 make sure we still return failure in paused => ready case if
20775 the parent class fails to change state and our own stop
20778 2005-05-17 Wim Taymans <wim@fluendo.com>
20780 * tools/gst-launch.c: (event_loop):
20781 Message was unreffed too soon.
20783 2005-05-16 Andy Wingo <wingo@pobox.com>
20785 * gst/gstbin.c (sink_iterator_filter): Err... um...
20787 * check/gst/gstbin.c (test_ghost_pads): New test for the
20788 ghosting-if-elements-not-in-same-bin behavior.
20790 2005-05-16 David Schleef <ds@schleef.org>
20792 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
20793 accessing refcount directly.
20795 2005-05-15 David Schleef <ds@schleef.org>
20797 * check/Makefile.am: remove GstData checks
20798 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
20799 * gst/Makefile.am: add miniobject, remove data
20800 * gst/gst.h: add miniobject, remove data
20801 * gst/gstdata.c: remove
20802 * gst/gstdata.h: remove
20803 * gst/gstdata_private.h: remove
20804 * gst/gsttypes.h: remove GstEvent and GstMessage
20805 * gst/gstelement.c: (gst_element_post_message): fix for API changes
20806 * gst/gstmarshal.list: change BOXED -> OBJECT
20808 Implement GstMiniObject.
20809 * gst/gstminiobject.c:
20810 * gst/gstminiobject.h:
20812 Modify to be subclasses of GstMiniObject.
20813 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
20814 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
20815 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
20816 (gst_subbuffer_get_type), (gst_subbuffer_init),
20817 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
20820 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
20821 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
20822 (_gst_event_copy), (gst_event_new):
20824 * gst/gstmessage.c: (_gst_message_initialize),
20825 (gst_message_get_type), (gst_message_class_init),
20826 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
20827 (gst_message_new), (gst_message_new_error),
20828 (gst_message_new_warning), (gst_message_new_tag),
20829 (gst_message_new_state_changed), (gst_message_new_application):
20830 * gst/gstmessage.h:
20831 * gst/gstprobe.c: (gst_probe_perform),
20832 (gst_probe_dispatcher_dispatch):
20834 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
20835 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
20836 (_gst_query_copy), (gst_query_new):
20838 Update elements for GstData -> GstMiniObject changes
20840 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
20841 (gst_queue_chain), (gst_queue_loop):
20842 * gst/elements/gstbufferstore.c:
20843 (gst_buffer_store_add_buffer_func),
20844 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
20845 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
20846 (gst_fakesink_render):
20847 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
20848 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
20849 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
20850 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
20851 (gst_filesrc_create_read):
20852 * gst/elements/gstidentity.c: (gst_identity_class_init):
20853 * gst/elements/gsttypefindelement.c:
20854 (gst_type_find_element_src_event), (free_entry_buffers),
20855 (gst_type_find_element_handle_event):
20856 * libs/gst/dataprotocol/dataprotocol.c:
20857 (gst_dp_header_from_buffer):
20858 * libs/gst/dataprotocol/dataprotocol.h:
20859 * libs/gst/dataprotocol/dp-private.h:
20861 2005-05-15 David Schleef <ds@schleef.org>
20863 * gst/elements/gstelements.c: Don't include headers that were
20866 2005-05-15 David Schleef <ds@schleef.org>
20868 * gst/elements/Makefile.am: Remove some elements that don't
20869 need to be in the core (or even exist at all).
20870 * gst/elements/gstaggregator.c:
20871 * gst/elements/gstaggregator.h:
20872 * gst/elements/gstmd5sink.c:
20873 * gst/elements/gstmd5sink.h:
20874 * gst/elements/gstmultifilesrc.c:
20875 * gst/elements/gstmultifilesrc.h:
20876 * gst/elements/gstpipefilter.c:
20877 * gst/elements/gstpipefilter.h:
20878 * gst/elements/gstshaper.c:
20879 * gst/elements/gstshaper.h:
20880 * gst/elements/gststatistics.c:
20881 * gst/elements/gststatistics.h:
20882 * po/POTFILES.in: Remove above files.
20884 2005-05-14 Andy Wingo <wingo@pobox.com>
20886 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
20887 so as to get the refs right.
20888 (sink_iterator_filter): New function, wraps bin_element_is_sink,
20889 unreffing objects that don't pass the filter.
20891 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
20892 gst_element_set_bus.
20893 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
20894 normal cases, this will destroy the bus.
20896 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
20899 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
20902 2005-05-13 Andy Wingo <wingo@pobox.com>
20904 * gst/gstutils.c (gst_element_link_pads): Instead of calling
20905 gst_pad_link, call pad_link_maybe_ghosting,
20906 (pad_link_maybe_ghosting): Links pads, making sure that the
20907 elements being linked are in the same bin.
20908 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
20909 Helpers for pad_link_maybe_ghosting.
20911 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
20914 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
20916 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
20918 * docs/design/part-element-source.txt:
20921 2005-05-12 Wim Taymans <wim@fluendo.com>
20923 * gst/base/gstbasesink.c: (gst_basesink_init),
20924 (gst_basesink_activate):
20925 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
20926 (gst_basesrc_is_seekable):
20927 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
20928 (bin_element_is_sink), (gst_bin_change_state):
20929 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
20930 * gst/gstelement.h:
20931 Identify sinks by their flag to avoid overly complicated
20933 Do state changes even for elements not reachable from the
20935 BaseSink is a sink now :)
20936 Some more debugging info in the basesrc.
20939 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20941 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
20942 Implement _query on a bin, similar to _send_event.
20944 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
20946 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
20947 Discont event offset format should be GST_FORMAT_BYTES,
20948 not GST_FORMAT_TIME.
20950 2005-05-12 Wim Taymans <wim@fluendo.com>
20952 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
20953 Same fix as Ronald's but without the signal.
20955 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20957 * gst/gstutils.c: (gst_element_query_position):
20958 No, an element is not a pad.
20960 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20962 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
20963 (gst_bin_get_state):
20964 If a child is removed from a bin while we remove the child from
20965 the bin and while we're retrieving its state, signal this to the
20966 get_state function so we abort the wait (instead of waiting for
20967 a timeout) and can immediately re-iterate over all other elements.
20969 2005-05-12 Wim Taymans <wim@fluendo.com>
20971 * gst/base/Makefile.am:
20972 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
20973 (gst_basesrc_start):
20974 * gst/base/gstbasesrc.h:
20975 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
20976 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
20977 (gst_pushsrc_init), (gst_pushsrc_create):
20978 * gst/base/gstpushsrc.h:
20979 Added is_seekable to BaseSrc
20980 Added simple PushSrc.
20982 2005-05-11 Wim Taymans <wim@fluendo.com>
20984 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
20985 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
20986 (gst_element_link_pads), (gst_element_query_position),
20987 (gst_element_query_convert), (intersect_caps_func),
20988 (gst_pad_query_position), (gst_pad_query_convert):
20989 Fix refcounting in utils function.
20990 No point in trying to activate a pad when it's added, it could
20991 be added from the state change function and then we deadlock, the
20992 element has to decide what to do.
20994 2005-05-10 Andy Wingo <wingo@pobox.com>
20996 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
20997 *all* the arguments.
20999 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21000 stream lock if it's a FLUSH_DONE; normal flushes don't get the
21001 lock (according to the docs -- if this is wrong change the docs).
21003 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21004 flush messages in the NULL state.
21006 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21007 message immediately and return.
21008 (gst_bus_set_flushing): New function. If a bus is flushing, it
21009 flushes out any queued messages and immediately unrefs new
21010 messages. This is so when an element goes to NULL, all of the
21011 unhandled messages coming from it can be freed, and their
21012 references to the element dropped. In other words: message source
21013 ref considered harmful :P
21015 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21016 we're finished with it.
21018 * gst/gstmessage.c (gst_message_new_state_changed):
21020 2005-05-10 Wim Taymans <wim@fluendo.com>
21022 * gst/gstvalue.c: (gst_value_compare_flags),
21023 (gst_value_serialize_flags), (gst_value_deserialize_flags),
21024 (_gst_value_initialize):
21025 Added flags serialize/deserialize/compare code.
21027 2005-05-09 Andy Wingo <wingo@pobox.com>
21029 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21030 Intersect the peer's caps with our caps.
21032 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21034 * gst/base/gsttypefindhelper.c: (helper_find_peek):
21035 * gst/elements/gsttypefindelement.c: (find_peek):
21036 Handle negative offsets better. Fixes decodebin.
21038 2005-05-09 Wim Taymans <wim@fluendo.com>
21040 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21041 (gst_base_transform_event):
21042 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21043 Implement accept_caps.
21044 Fix silly lock/unlock mismatch in base class.
21046 2005-05-09 Wim Taymans <wim@fluendo.com>
21048 * docs/design/draft-push-pull.txt:
21049 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21050 * gst/elements/gstfilesink.c: (gst_filesink_init),
21051 (gst_filesink_query):
21052 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21053 (gst_type_find_handle_src_query), (find_element_get_length):
21054 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21055 * gst/gstelement.h:
21056 * gst/gstmessage.c:
21057 * gst/gstmessage.h:
21058 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21059 (gst_real_pad_get_caps_unlocked),
21060 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21061 (gst_pad_event_default_dispatch), (gst_pad_event_default),
21062 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21063 (gst_real_pad_dispose), (gst_real_pad_finalize),
21064 (gst_pad_load_and_link), (gst_pad_save_thyself),
21065 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21066 (gst_pad_check_pull_range), (gst_pad_pull_range),
21067 (gst_pad_template_get_type), (gst_pad_template_class_init),
21068 (gst_pad_template_init), (gst_pad_template_dispose),
21069 (name_is_valid), (gst_static_pad_template_get),
21070 (gst_pad_template_new), (gst_static_pad_template_get_caps),
21071 (gst_pad_template_get_caps), (gst_pad_set_element_private),
21072 (gst_pad_get_element_private), (gst_pad_start_task),
21073 (gst_pad_pause_task), (gst_pad_stop_task),
21074 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21075 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21076 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21077 (gst_ghost_pad_new):
21079 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21080 (gst_query_new_position), (gst_query_set_position),
21081 (gst_query_parse_position), (gst_query_new_convert),
21082 (gst_query_set_convert), (gst_query_parse_convert):
21084 * gst/gstqueryutils.c:
21085 * gst/gstqueryutils.h:
21086 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21087 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21088 (gst_queue_handle_src_query):
21089 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21090 (gst_element_query_position), (gst_element_query_convert),
21091 (intersect_caps_func), (gst_pad_query_position),
21092 (gst_pad_query_convert):
21094 * tools/gst-inspect.c: (print_pad_info):
21095 * tools/gst-xmlinspect.c: (print_element_info):
21096 Remove old query functions. Ported old code.
21097 Added position/convert helper functions to gstutils.
21098 Reordered gstpad.c code, grouping relevant things.
21099 Remove gst_message_new(), always need to speficy a specific
21103 2005-05-09 Andy Wingo <wingo@pobox.com>
21105 * gst/gstiterator.h: Add some includes.
21107 * gst/gstqueryutils.h: Include more headers.
21110 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21111 some uses of gst_pad_query.
21113 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21114 NULL out parameters.
21115 (gst_query_new_position): New proc, allocates a new position
21118 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21119 gstqueryutils.c to the build.
21121 * gst/gststructure.c (gst_structure_set_valist): Implement with
21122 the generic G_VALUE_COLLECT.
21124 2005-05-08 Edward Hervey <bilboed@bilboed.com>
21126 * gst/Makefile.am: (gst_headers):
21127 Added gstqueryutils.h to the list of headers to install, that was
21128 a 'nachty' move wingo :)
21130 2005-05-06 Andy Wingo <wingo@pobox.com>
21133 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21134 GstData, init a memchunk.
21135 (standard_definitions): Add a few query types, deprecate a few.
21136 (gst_query_get_type): New proc.
21137 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21139 (gst_query_new_application, gst_query_get_structure): New public
21142 * docs/design/draft-query.txt: Removed LINKS from the query types,
21143 because all the rest can be dispatched to other pads -- seemed
21144 ugly to have a query that couldn't be dispatched. internal_links
21145 is fine as a pad method.
21147 * gst/gstpad.h: Add query2 as a pad method, add the new functions
21148 in gstpad.c, but maintain binary compatibility for the moment.
21149 Will fix before 0.9 is out.
21151 * gst/gstqueryutils.c:
21152 * gst/gstqueryutils.h: New files, implement 3 methods for each
21153 query type: parse_query, parse_response, and set. Probably need an
21156 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21158 * gst/elements/gstfilesink.c (gst_filesink_query2):
21159 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21160 query_types, and formats methods.
21162 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21163 (gst_pad_set_query2_function): New functions.
21164 (gst_real_pad_init): Set query2_default as the default query2
21165 function. Basically just dispatches to internally linked pads.
21169 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21170 without using the atomic operations. Only one thread can possibly
21171 be accessing the data at this point. Changed so as to avoid
21172 gst_atomic operations.
21174 2005-05-06 Wim Taymans <wim@fluendo.com>
21176 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21177 Also set caps if we use the fallback buffer alloc.
21179 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
21181 * docs/gst/Makefile.am:
21182 * docs/gst/gstreamer-docs.sgml:
21183 * docs/gst/gstreamer-sections.txt:
21184 * docs/gst/tmpl/gstatomic.sgml:
21185 * docs/gst/tmpl/gstmemchunk.sgml:
21186 * testsuite/elements/struct_i386.h:
21187 * win32/GStreamer.vcproj:
21189 Purge GstAtomic stuff from docs and win32 makefiles as well
21191 2005-05-06 Wim Taymans <wim@fluendo.com>
21193 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21194 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21195 * gst/gstpad.c: (gst_pad_peer_get_caps):
21196 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21197 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21198 (gst_queue_src_activate), (gst_queue_change_state):
21200 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21201 (intersect_caps_func):
21202 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21203 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21204 Some fixes for the peer_get_caps() change.
21206 2005-05-06 Wim Taymans <wim@fluendo.com>
21208 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21209 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21210 (gst_basesink_activate):
21211 Actually do something with error codes returned from the push
21214 2005-05-06 Wim Taymans <wim@fluendo.com>
21216 * docs/design/part-element-sink.txt:
21217 * docs/design/part-element-source.txt:
21218 * gst/base/gstbasesink.c: (gst_basesink_class_init),
21219 (gst_basesink_event), (gst_basesink_activate):
21220 * gst/base/gstbasesink.h:
21221 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21222 (gst_basesrc_activate):
21223 * gst/base/gstbasesrc.h:
21224 * gst/gstelement.c: (gst_element_pads_activate):
21225 Some more documentation.
21226 Fixed scheduling decision in _pads_activate().
21228 2005-05-05 Andy Wingo <wingo@pobox.com>
21230 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21233 2005-05-05 Wim Taymans <wim@fluendo.com>
21235 * gst/base/Makefile.am:
21236 * gst/base/gstbasesink.h:
21237 * gst/base/gstbasesrc.c: (gst_basesrc_init),
21238 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21239 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21240 (gst_collectpads_class_init), (gst_collectpads_init),
21241 (gst_collectpads_finalize), (gst_collectpads_new),
21242 (gst_collectpads_set_function), (gst_collectpads_add_pad),
21243 (find_pad), (gst_collectpads_remove_pad),
21244 (gst_collectpads_is_active), (gst_collectpads_collect),
21245 (gst_collectpads_collect_range), (gst_collectpads_start),
21246 (gst_collectpads_stop), (gst_collectpads_peek),
21247 (gst_collectpads_pop), (gst_collectpads_available),
21248 (gst_collectpads_read), (gst_collectpads_flush),
21249 (gst_collectpads_chain):
21250 * gst/base/gstcollectpads.h:
21251 * gst/elements/Makefile.am:
21252 * gst/elements/gstelements.c:
21253 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21254 (gst_fakesink_get_times), (gst_fakesink_event),
21255 (gst_fakesink_preroll), (gst_fakesink_render):
21256 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21257 (gst_filesink_init), (gst_filesink_set_location),
21258 (gst_filesink_open_file), (gst_filesink_close_file),
21259 (gst_filesink_pad_query), (gst_filesink_event),
21260 (gst_filesink_render), (gst_filesink_change_state):
21261 * gst/elements/gstfilesink.h:
21262 Added object to help in making collect pad based elements.
21264 Make event function in sink baseclass return gboolean.
21266 2005-05-05 Wim Taymans <wim@fluendo.com>
21268 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21269 (gst_bin_get_by_name):
21271 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21272 (gst_clock_finalize):
21273 * gst/gstdata.c: (gst_data_replace):
21275 * gst/gstelement.c: (gst_element_request_pad),
21276 (gst_element_pads_activate):
21277 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21278 (gst_object_unref):
21279 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21280 (gst_pad_set_checkgetrange_function),
21281 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21282 (gst_pad_check_pull_range), (gst_pad_pull_range),
21283 (gst_static_pad_template_get_caps), (gst_pad_start_task),
21284 (gst_pad_pause_task), (gst_pad_stop_task):
21285 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21286 (gst_element_request_pad), (gst_pad_proxy_getcaps):
21287 Fix name lookup in GstBin.
21288 Added _data_replace() function and _buffer_replace()
21289 Use finalize method to clean up clock.
21290 Fix refcounting on request pads.
21291 Fix pad schedule mode error.
21292 Some more object refcounting debug info,
21295 2005-05-04 Andy Wingo <wingo@pobox.com>
21297 * check/Makefile.am:
21298 * docs/gst/tmpl/gstatomic.sgml:
21299 * docs/gst/tmpl/gstplugin.sgml:
21300 * gst/base/gstbasesink.c: (gst_basesink_activate):
21301 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21302 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21303 (gst_basesrc_query), (gst_basesrc_set_property),
21304 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21305 (gst_basesrc_activate):
21306 * gst/base/gstbasesrc.h:
21307 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21308 (gst_base_transform_src_activate):
21309 * gst/elements/gstelements.c:
21310 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21311 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21312 * gst/elements/gsttee.c: (gst_tee_sink_activate):
21313 * gst/elements/gsttypefindelement.c: (find_element_get_length),
21314 (gst_type_find_element_checkgetrange),
21315 (gst_type_find_element_activate):
21316 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21317 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21318 (gst_caps_load_thyself):
21319 * gst/gstelement.c: (gst_element_pads_activate),
21320 (gst_element_save_thyself), (gst_element_restore_thyself):
21321 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21322 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21324 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21325 (gst_xml_parse_file), (gst_xml_parse_memory),
21326 (gst_xml_get_element), (gst_xml_make_element):
21327 * gst/indexers/gstfileindex.c: (gst_file_index_load),
21328 (_file_index_id_save_xml), (gst_file_index_commit):
21329 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21330 (read_enum), (load_pad_template), (load_feature), (load_plugin),
21332 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21333 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21334 * tools/gst-complete.c: (main):
21335 * tools/gst-compprep.c: (main):
21336 * tools/gst-inspect.c: (print_element_properties_info):
21337 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21338 * tools/gst-xmlinspect.c: (print_element_properties):
21341 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
21343 * gst/gstplugin.c: (gst_plugin_check_module),
21344 (gst_plugin_check_file), (gst_plugin_load_file):
21345 apply patch from #172526 to make register work on MacOSX
21347 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
21349 * docs/gst/tmpl/gstconfig.sgml:
21350 * gst/gstconfig.h.in:
21351 move documentation for some symbols. Add doc for GST_PTR_FORMAT
21352 * testsuite/debug/printf_extension.c: (main):
21353 Do not use GST_PTR_FORMAT on pointers to types with
21354 sizeof < sizeof(gpointer). Fixes test on 64-bit
21355 * testsuite/elements/property.h:
21356 use correct printf format
21358 2005-05-02 Wim Taymans <wim@fluendo.com>
21360 * docs/design/draft-push-pull.txt:
21361 * docs/design/draft-query.txt:
21362 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21363 (gst_basesrc_start):
21364 Added draft for new query API.
21365 Added draft for better selecting scheduling methods.
21366 Make basesrc ignore length if the subclass does not support
21369 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
21372 possible fixes for automake-1.5 - _LIBADD is reserved
21374 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
21376 * docs/faq/Makefile.am:
21377 * docs/manual/Makefile.am:
21378 * docs/manuals.mak:
21379 * docs/pwg/Makefile.am:
21381 possible fixes for automake-1.5
21383 2005-04-28 Wim Taymans <wim@fluendo.com>
21385 * gst/base/gstbasesink.c: (gst_basesink_base_init),
21386 (gst_basesink_pad_getcaps), (gst_basesink_init),
21387 (gst_basesink_do_sync):
21388 * gst/gstclock.c: (gst_clock_entry_new):
21389 * gst/gstevent.c: (gst_event_discont_get_value):
21390 * gst/gstpipeline.c: (pipeline_bus_handler),
21391 (gst_pipeline_change_state):
21392 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21393 Better debugging of clocking info.
21394 Allow NULL values when getting discont values.
21396 2005-04-27 Wim Taymans <wim@fluendo.com>
21398 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21399 * check/gst/gstpad.c: (gst_pad_suite):
21400 Increase timeout for checks.
21402 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
21404 * check/Makefile.am:
21405 fix the broken rule for cleanup. Apparently this rule is
21406 only needed on FC2, so maybe this warrants further autotool
21409 2005-04-26 Wim Taymans <wim@fluendo.com>
21411 * gst/gsttrashstack.h:
21412 Ooohh. a nasty one! After having a failed pop() from the stack,
21413 it's possible that the stack is empty. In that case, don't
21414 follow the NULL pointer.
21416 2005-04-25 Wim Taymans <wim@fluendo.com>
21418 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21419 (gst_pad_set_checkgetrange_function),
21420 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21421 (gst_pad_check_pull_range), (gst_pad_pull_range),
21422 (gst_static_pad_template_get_caps), (gst_pad_start_task),
21423 (gst_pad_pause_task), (gst_pad_stop_task):
21424 * gst/gstplugin.c: (gst_plugin_load):
21426 Remove gst_library_load as it does more harm than good with
21427 the new g_module flags.
21428 Revert bogus caps template check in pad linking, pad caps
21429 are important when linking not the template, which is more
21430 general than the current caps.
21432 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21434 * gst/autoplug/.cvsignore:
21435 * gst/autoplug/Makefile.am:
21436 * gst/autoplug/gstsearchfuncs.c:
21437 * gst/autoplug/gstsearchfuncs.h:
21438 * gst/autoplug/gstspider.c:
21439 * gst/autoplug/gstspider.h:
21440 * gst/autoplug/gstspideridentity.c:
21441 * gst/autoplug/gstspideridentity.h:
21442 * gst/autoplug/spidertest.c:
21445 2005-04-25 Wim Taymans <wim@fluendo.com>
21447 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21448 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21449 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
21450 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
21452 Added stubs for unimplemented functions.
21454 2005-04-24 David Schleef <ds@schleef.org>
21456 * gst/gstpad.h: Disable some unimplemented functions. Wim,
21459 2005-04-24 David Schleef <ds@schleef.org>
21461 Convert everything from GstAtomicInt to g_atomic_int_*, and
21466 * gst/gstatomic_impl.h:
21474 * gst/gstdata_private.h:
21478 * gst/gstmessage.c:
21481 * gst/gststructure.c:
21482 * gst/gststructure.h:
21483 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
21486 2005-04-24 David Schleef <ds@schleef.org>
21488 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
21489 make the regressions tests work. Remove some code that is no
21491 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
21492 Disable warning for pads without templates.
21494 2005-04-24 David Schleef <ds@schleef.org>
21496 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
21497 functions that handle filtered links.
21498 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
21500 * gst/gstutils.c: Fix/remove utility functions that handle
21503 * gst/gstvalue.c: Add serialization/deserialization of caps
21504 * gst/parse/grammar.y: Ignore filtered caps when linking. This
21505 requires fixing so that the filter caps notation creates
21506 a capsfilter element and sets the filter_caps property. I
21507 think everyone probably wants to keep the shorthand notation.
21508 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
21509 * docs/gst/tmpl/gstpad.sgml:
21511 * gst/elements/gstelements.c: Register capsfilter element.
21512 * gst/Makefile.am: fix spacing
21513 * docs/random/ds/0.9-suggested-changes: random
21515 2005-04-23 David Schleef <ds@schleef.org>
21517 * gst/elements/Makefile.am:
21518 * gst/elements/gstcapsfilter.c: New element that acts like an
21519 identity, but filters caps. Will eventually replace filtered
21520 caps in pad linking.
21521 * gst/gstutils.c: (gst_element_create_all_pads): New function
21522 to create all the ALWAYS pads that are registered with an
21523 element class. This functionality should eventually be
21524 merged in with GstElement initialization.
21526 * testsuite/trigger/README: part of trigger test code that should
21527 have been checked in a long time ago.
21529 2005-04-23 David Schleef <ds@schleef.org>
21531 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
21532 needed with new versions of libtool (nobody will confirm this),
21533 and hard to carry around.
21534 * gst/autoplug/Makefile.am:
21535 * gst/base/Makefile.am:
21536 * gst/elements/Makefile.am:
21537 * gst/indexers/Makefile.am:
21538 * gst/schedulers/Makefile.am:
21539 * libs/gst/bytestream/Makefile.am:
21540 * libs/gst/control/Makefile.am:
21541 * libs/gst/dataprotocol/Makefile.am:
21542 * libs/gst/getbits/Makefile.am:
21544 2005-04-21 Wim Taymans <wim@fluendo.com>
21546 * docs/design/draft-push-pull.txt:
21547 * docs/design/part-MT-refcounting.txt:
21548 * docs/design/part-TODO.txt:
21549 * docs/design/part-caps.txt:
21550 * docs/design/part-events.txt:
21551 * docs/design/part-gstbus.txt:
21552 * docs/design/part-gstpipeline.txt:
21553 * docs/design/part-messages.txt:
21554 * docs/design/part-push-pull.txt:
21555 * docs/design/part-query.txt:
21558 2005-04-21 Wim Taymans <wim@fluendo.com>
21560 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
21561 (gst_message_new), (gst_message_new_error),
21562 (gst_message_new_warning), (gst_message_new_tag),
21563 (gst_message_new_state_changed), (gst_message_new_application),
21564 (gst_message_get_structure):
21565 * gst/gstmessage.h:
21566 * gst/gststructure.c: (gst_structure_set_parent_refcount),
21567 (gst_structure_copy_conditional):
21568 Use parent refcount in GstMessage to ensure GstStructure
21570 Cleaned up headers a bit.
21573 2005-04-20 Wim Taymans <wim@fluendo.com>
21575 * gst/base/gstbasesink.c: (gst_basesink_base_init),
21576 (gst_basesink_pad_getcaps), (gst_basesink_init),
21577 (gst_basesink_chain_unlocked):
21578 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
21579 (gst_type_find_helper):
21580 * gst/elements/gsttypefindelement.c:
21581 (gst_type_find_element_have_type), (gst_type_find_element_init),
21582 (stop_typefinding), (gst_type_find_element_handle_event),
21583 (find_suggest), (gst_type_find_element_chain),
21584 (gst_type_find_element_checkgetrange),
21585 (gst_type_find_element_getrange), (do_typefind),
21586 (gst_type_find_element_activate):
21587 * gst/gstbuffer.c: (_gst_buffer_sub_free),
21588 (gst_buffer_default_free), (gst_buffer_default_copy),
21589 (gst_buffer_set_caps):
21590 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
21591 (gst_caps_replace):
21592 * gst/gstmessage.c: (gst_message_new),
21593 (gst_message_new_state_changed):
21594 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21595 (gst_pad_set_checkgetrange_function),
21596 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
21597 (gst_pad_set_caps), (gst_pad_check_pull_range),
21598 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
21600 * gst/gsttypefind.c: (gst_type_find_register):
21601 Make gst_caps_replace() work like other _replace() functions.
21602 Use _caps_replace() where possible.
21603 Make sure _message_new() initialises its field.
21604 Add gst_static_pad_template_get_caps()
21607 2005-04-18 Andy Wingo <wingo@pobox.com>
21609 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
21610 on the peer, not the pad. I think that was a typo. Pass an extra
21611 arg to see if random access is possible. Activate the pads as
21612 PULL_RANGE if possible.
21614 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
21616 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
21617 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
21620 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21622 * docs/faq/using.xml:
21623 Add note on gstreamer-properties (#154996).
21625 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21627 * docs/random/bbb/optional-properties:
21628 Some analysis on optional properties.
21630 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21632 * docs/gst/tmpl/gstelementfactory.sgml:
21633 * gst/gstelement.h:
21634 * gst/gstelementfactory.c: (gst_element_factory_init),
21635 (gst_element_factory_cleanup), (gst_element_register),
21636 (__gst_element_factory_add_static_pad_template),
21637 (gst_element_factory_get_static_pad_templates),
21638 (gst_element_factory_can_src_caps),
21639 (gst_element_factory_can_sink_caps):
21640 * gst/registries/Makefile.am:
21641 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
21642 (gst_xml_registry_class_init), (gst_xml_registry_init),
21643 (gst_xml_registry_new), (gst_xml_registry_set_property),
21644 (gst_xml_registry_get_property), (get_time), (make_dir),
21645 (gst_xml_registry_get_perms_func),
21646 (plugin_times_older_than_recurse), (plugin_times_older_than),
21647 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
21648 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
21649 (add_to_char_array), (read_string), (read_uint), (read_enum),
21650 (load_pad_template), (load_feature), (load_plugin), (load_paths),
21651 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
21652 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
21653 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
21654 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
21655 (gst_xml_registry_rebuild):
21656 * gst/registries/gstlibxmlregistry.h:
21657 * tools/gst-compprep.c: (main):
21658 * tools/gst-inspect.c: (print_pad_templates_info):
21659 * tools/gst-xmlinspect.c: (print_element_info):
21660 Use libxml2 for registry parsing, use staticpadtemplates in
21661 elementfactories. Makes gst_init() +/- 10x faster.
21663 2005-04-12 Wim Taymans <wim@fluendo.com>
21665 * gst/base/Makefile.am:
21666 * gst/base/gstbasesink.c: (gst_basesink_base_init),
21667 (gst_basesink_pad_getcaps), (gst_basesink_init),
21668 (gst_basesink_event), (gst_basesink_change_state):
21669 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21670 (gst_basesrc_init), (gst_basesrc_query),
21671 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21672 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21673 (gst_basesrc_check_get_range), (gst_basesrc_loop),
21674 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21675 (gst_basesrc_stop), (gst_basesrc_activate),
21676 (gst_basesrc_change_state):
21677 * gst/base/gsttypefindhelper.c: (helper_find_peek),
21678 (helper_find_suggest), (gst_type_find_helper):
21679 * gst/base/gsttypefindhelper.h:
21680 * gst/elements/Makefile.am:
21681 * gst/elements/gstelements.c:
21682 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21683 (gst_fakesink_get_times), (gst_fakesink_event),
21684 (gst_fakesink_preroll), (gst_fakesink_render):
21685 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21686 (gst_fakesrc_init), (gst_fakesrc_event_handler),
21687 (gst_fakesrc_get_property), (gst_fakesrc_create),
21688 (gst_fakesrc_start), (gst_fakesrc_stop):
21689 * gst/elements/gstfakesrc.h:
21690 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
21691 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21692 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21693 (gst_filesrc_create_read), (gst_filesrc_create),
21694 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
21695 (gst_filesrc_start):
21696 * gst/elements/gsttypefindelement.c:
21697 (gst_type_find_element_have_type), (gst_type_find_element_init),
21698 (start_typefinding), (stop_typefinding), (push_buffer_store),
21699 (gst_type_find_element_handle_event),
21700 (gst_type_find_element_chain),
21701 (gst_type_find_element_checkgetrange),
21702 (gst_type_find_element_getrange), (do_typefind),
21703 (gst_type_find_element_activate),
21704 (gst_type_find_element_change_state):
21705 * gst/elements/gsttypefindelement.h:
21706 * gst/gstpipeline.c: (pipeline_bus_handler):
21707 Added typefind helper.
21708 Small preroll fix in the base sink.
21709 Disable typefind code in basesrc.
21710 Crude port of typefindelement.
21714 2005-04-11 Wim Taymans <wim@fluendo.com>
21716 * check/gst/gstbus.c: (gstbus_suite):
21717 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
21718 * check/gstcheck.h:
21719 Fix up the timeout so that the test does not fail.
21721 2005-04-06 Wim Taymans <wim@fluendo.com>
21724 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21725 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
21726 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21727 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21728 (gst_basesrc_check_get_range), (gst_basesrc_loop),
21729 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21730 (gst_basesrc_stop), (gst_basesrc_activate),
21731 (gst_basesrc_change_state), (basesrc_find_peek),
21732 (basesrc_find_suggest), (gst_basesrc_type_find):
21733 * gst/base/gstbasesrc.h:
21734 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
21735 (gst_filesrc_class_init), (gst_filesrc_init),
21736 (gst_filesrc_finalize), (gst_filesrc_set_location),
21737 (gst_filesrc_set_property), (gst_filesrc_get_property),
21738 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21739 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21740 (gst_filesrc_create_read), (gst_filesrc_create),
21741 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
21742 * gst/elements/gstfilesrc.h:
21743 * gst/gstelement.c: (gst_element_get_state_func),
21744 (gst_element_lost_state), (gst_element_pads_activate):
21745 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21746 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21747 (gst_pad_pull_range):
21749 More work on the generic source base class, implement seeking,
21751 Make filesrc extend the base source class.
21752 Added gst_pad_set_checkgetrange_function to GstPad.
21754 2005-04-06 Andy Wingo <wingo@pobox.com>
21756 * pkgconfig/gstreamer-base.pc.in:
21757 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
21759 * pkgconfig/Makefile.am:
21760 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
21762 2005-04-04 Wim Taymans <wim@fluendo.com>
21764 * gst/base/Makefile.am:
21766 * gst/base/gstbasesink.c: (gst_basesink_base_init),
21767 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
21768 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
21769 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
21770 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21771 (gst_basesrc_base_init), (gst_basesrc_class_init),
21772 (gst_basesrc_init), (gst_basesrc_get_formats),
21773 (gst_basesrc_get_query_types), (gst_basesrc_query),
21774 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
21775 (gst_basesrc_set_property), (gst_basesrc_get_property),
21776 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
21777 (gst_basesrc_loop), (gst_basesrc_activate),
21778 (gst_basesrc_change_state):
21779 * gst/base/gstbasesrc.h:
21780 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
21781 (gst_fakesrc_class_init), (gst_fakesrc_init),
21782 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
21783 (gst_fakesrc_get_property), (gst_fakesrc_create):
21784 * gst/elements/gstfakesrc.h:
21785 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
21786 (gst_filesrc_open_file), (gst_filesrc_loop),
21787 (gst_filesrc_activate), (filesrc_find_peek),
21788 (gst_filesrc_type_find):
21789 Made base source class, make fakesrc extend it.
21790 Add comments to basesink class.
21791 Some filesrc cleanup.
21793 2005-03-31 David Schleef <ds@schleef.org>
21795 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
21796 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
21797 expected to link against libgstreamer.
21798 * gst/base/Makefile.am: link against libgstreamer
21799 * gst/elements/Makefile.am: same
21801 2005-03-31 Andy Wingo <wingo@pobox.com>
21803 * tests/instantiate/Makefile.am:
21804 * tests/instantiate/caps.c: Add test to test speed of caps copy
21807 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
21808 GMemChunk to be fair.
21810 * gst/gsttrashstack.h: Remove warning about using the fallback
21811 trash stack implementation, it's still faster than malloc.
21813 2005-03-30 Andy Wingo <wingo@pobox.com>
21815 * tests/complexity.c: Add a copyright.
21817 2005-03-31 Wim Taymans <wim@fluendo.com>
21819 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
21820 (gst_base_transform_class_init), (gst_base_transform_init),
21821 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
21822 (gst_base_transform_get_property),
21823 (gst_base_transform_sink_activate),
21824 (gst_base_transform_src_activate),
21825 (gst_base_transform_change_state):
21826 * gst/base/gstbasetransform.h:
21827 * gst/elements/gstidentity.c: (gst_identity_class_init),
21828 (gst_identity_event), (gst_identity_check_perfect),
21829 (gst_identity_transform), (gst_identity_start),
21830 (gst_identity_stop):
21831 Added start/stop methods to transform base class so subclasses
21832 don't need to deal with state changes even.
21834 2005-03-31 Wim Taymans <wim@fluendo.com>
21836 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
21837 (gst_event_new_discontinuous), (gst_event_discont_get_value):
21839 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21840 (gst_pad_pull_range):
21841 Added rate to the discont event to prepare for variable speed
21842 and reverse playback.
21844 2005-03-29 David Schleef <ds@schleef.org>
21847 * testsuite/trigger/Makefile.am:
21848 * testsuite/trigger/trigger.c: A little example program to show
21849 how trigger-based elements can work.
21851 2005-03-29 Wim Taymans <wim@fluendo.com>
21853 * gst/base/Makefile.am:
21855 * gst/base/gstbasesink.c: (gst_basesink_get_type),
21856 (gst_basesink_base_init), (gst_basesink_class_init),
21857 (gst_basesink_pad_getcaps), (gst_basesink_init),
21858 (gst_basesink_activate), (gst_basesink_change_state):
21859 * gst/base/gstbasesink.h:
21860 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
21861 (gst_base_transform_base_init), (gst_base_transform_finalize),
21862 (gst_base_transform_class_init), (gst_base_transform_init),
21863 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
21864 (gst_base_transform_event), (gst_base_transform_getrange),
21865 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
21866 (gst_base_transform_set_property),
21867 (gst_base_transform_get_property),
21868 (gst_base_transform_sink_activate),
21869 (gst_base_transform_src_activate),
21870 (gst_base_transform_change_state):
21871 * gst/base/gstbasetransform.h:
21872 * gst/elements/gstidentity.c: (gst_identity_finalize),
21873 (gst_identity_class_init), (gst_identity_init),
21874 (gst_identity_event), (gst_identity_check_perfect),
21875 (gst_identity_transform), (gst_identity_set_property),
21876 (gst_identity_get_property), (gst_identity_change_state):
21877 * gst/elements/gstidentity.h:
21878 * gst/gstelement.c: (gst_element_get_state_func),
21879 (gst_element_lost_state), (gst_element_pads_activate):
21880 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21881 (gst_pad_check_pull_range), (gst_pad_pull_range):
21883 Simplify pad activation.
21884 Added function to check if pull_range can be performed.
21885 Error out when pulling inactive or flushing pads.
21886 Removed const from refcounted types as it does not make sense.
21887 Simplify pad templates in basesink
21888 Added base class for simple 1-to-1 transforms.
21889 Make identity subclass the base transform.
21891 2005-03-29 Andy Wingo <wingo@pobox.com>
21893 * docs/libs/gstreamer-libs-overrides.txt:
21894 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
21895 really don't understand what's going on, but like whatever. I want
21898 * docs/gst/Makefile.am:
21899 * docs/libs/Makefile.am: Dist the overrides files.
21901 * check/Makefile.am (clean-local): Remove .libs directories.
21903 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
21904 elements to EXTRA_DIST, so po/ files are happy.
21906 * po/POTFILES.in: Er, remove it here.
21908 * po/POTFILES: Remove gstspider.c.
21910 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
21912 * docs/libs/gstreamer-libs-docs.sgml:
21913 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
21916 * tests/complexity.c (main): Set the length of the preroll queue
21917 on the sinks to prevent a lockup.
21919 * libs/gst/dataprotocol/Makefile.am:
21920 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
21921 the same as the one in check/gst-libs/gdp.c.
21923 * po/, docs/gst/: Commit automatic changes to docs and po files.
21925 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
21926 the versioned libgstbase.
21928 * check/Makefile.am: Depend on an unversioned gst-register, seems
21929 to make autoconf happier.
21931 * gst/base/Makefile.am: Make libgstbase a versioned lib.
21933 2005-03-28 Wim Taymans <wim@fluendo.com>
21936 * docs/design/part-gstelement.txt:
21937 * docs/design/part-negotiation.txt:
21938 * docs/design/part-preroll.txt:
21939 * docs/design/part-scheduling.txt:
21940 * docs/design/part-states.txt:
21942 * gst/base/Makefile.am:
21944 * gst/base/gstbasesink.c: (gst_basesink_get_template),
21945 (gst_basesink_base_init), (gst_basesink_class_init),
21946 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
21947 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
21948 (gst_basesink_set_pad_functions),
21949 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
21950 (gst_basesink_set_property), (gst_basesink_get_property),
21951 (gst_base_sink_get_template), (gst_base_sink_get_caps),
21952 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
21953 (gst_basesink_preroll_queue_push),
21954 (gst_basesink_preroll_queue_empty),
21955 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
21956 (gst_basesink_event), (gst_basesink_get_times),
21957 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
21958 (gst_basesink_chain_unlocked), (gst_basesink_chain),
21959 (gst_basesink_loop), (gst_basesink_activate),
21960 (gst_basesink_change_state):
21961 * gst/base/gstbasesink.h:
21962 * gst/elements/Makefile.am:
21963 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
21964 (gst_fakesink_class_init), (gst_fakesink_init),
21965 (gst_fakesink_set_property), (gst_fakesink_get_property),
21966 (gst_fakesink_get_times), (gst_fakesink_event),
21967 (gst_fakesink_preroll), (gst_fakesink_render),
21968 (gst_fakesink_change_state):
21969 * gst/elements/gstfakesink.h:
21970 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
21971 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
21972 * gst/gstelement.c: (gst_element_add_pad),
21973 (gst_element_get_state_func), (gst_element_abort_state),
21974 (gst_element_commit_state), (gst_element_lost_state),
21975 (gst_element_set_state), (gst_element_pads_activate):
21976 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
21977 * gst/gstpipeline.c: (gst_pipeline_send_event),
21978 (gst_pipeline_change_state):
21979 Added state change code.
21980 Added/updated docs.
21981 Added sink base class, make fakesink extend the base class.
21982 Small cleanups in GstPipeline.
21984 2005-03-26 David Schleef <ds@schleef.org>
21986 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
21987 is broken and should be implemented in a different library.
21988 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
21989 * gst/gst.h: remove gstcpu.h
21990 * gst/gstcpu.c: remove
21991 * gst/gstcpu.h: remove
21992 * gst/Makefile.am.future: Remove this file. It's ancient.
21994 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21996 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
21997 (gst_bin_send_event):
21998 Add default event/set_manager handlers. The set_manager handler
21999 takes care that the manager is distributed over kids that were
22000 already in the bin before the manager was set. The event handler
22001 is a utility virtual function that sends the event over all sinks,
22002 so that gst_element_send_event (bin, event); has the expected
22004 * gst/gstpad.c: (gst_pad_event_default):
22005 Re-install default event handling for discontinuities, so that
22006 seeking works without requiring hacks in applications or extra
22008 * gst/gstpipeline.c: (gst_pipeline_class_init),
22009 (gst_pipeline_send_event):
22010 Half hack, half utility: set a pipeline to PAUSED for seek events,
22011 since that is the only way we can guarantee a/v sync. Means that
22012 you can do gst_element_seek (pipeline, method, pos); on a pipeline
22013 and it "just works".
22015 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22017 * gst/gstpipeline.c: (gst_pipeline_use_clock):
22018 Lock/unlock mismatch.
22020 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
22022 * docs/faq/gst-uninstalled:
22023 add gst-plugins-base
22024 * docs/gst/Makefile.am:
22025 don't error out until docs are fixed
22026 * docs/gst/gstreamer.types:
22029 2005-03-22 Wim Taymans <wim@fluendo.com>
22031 * check/Makefile.am:
22032 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22033 * gst/gststructure.c: (gst_structure_set_valist),
22034 (gst_structure_copy_conditional):
22035 Activated more tests.
22036 Added message test.
22037 Added G_TYPE_POINTER to GstStructure.
22040 2005-03-22 Wim Taymans <wim@fluendo.com>
22042 * docs/design/part-TODO.txt:
22043 * docs/design/part-events.txt:
22044 * docs/design/part-gstbin.txt:
22045 * docs/design/part-gstbus.txt:
22046 * docs/design/part-gstpipeline.txt:
22047 * docs/design/part-messages.txt:
22049 * gst/gstmessage.c:
22052 2005-03-21 Wim Taymans <wim@fluendo.com>
22054 * gst/gstbus.c: (gst_bus_post):
22055 Fix copy-and-paste error.
22057 2005-03-21 Wim Taymans <wim@fluendo.com>
22059 * check/Makefile.am:
22061 * gst/elements/Makefile.am:
22062 * gst/elements/gstelements.c:
22063 * gst/elements/gstfakesink.c: (gst_fakesink_init),
22064 (gst_fakesink_event), (gst_fakesink_chain):
22065 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22066 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22067 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22068 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22069 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22070 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22071 (gst_fakesrc_loop), (gst_fakesrc_activate),
22072 (gst_fakesrc_change_state):
22073 * gst/elements/gstfakesrc.h:
22074 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22075 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22076 (gst_filesrc_open_file), (gst_filesrc_loop),
22077 (gst_filesrc_activate), (gst_filesrc_change_state),
22078 (filesrc_find_peek), (filesrc_find_suggest),
22079 (gst_filesrc_type_find):
22080 * gst/elements/gstidentity.c: (gst_identity_finalize),
22081 (gst_identity_class_init), (gst_identity_init),
22082 (gst_identity_proxy_getcaps), (identity_queue_push),
22083 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22084 (gst_identity_getrange), (gst_identity_chain),
22085 (gst_identity_sink_loop), (gst_identity_src_loop),
22086 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22087 (gst_identity_set_property), (gst_identity_get_property),
22088 (gst_identity_change_state):
22089 * gst/elements/gstidentity.h:
22090 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22091 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22092 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22093 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22094 (gst_tee_sink_activate):
22095 * gst/elements/gsttee.h:
22096 * gst/gst.c: (gst_register_core_elements), (init_post):
22098 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22099 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22100 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22101 (gst_bin_change_state):
22103 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22104 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22105 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22106 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22107 (gst_bus_set_sync_handler), (gst_bus_create_watch),
22108 (bus_watch_callback), (bus_watch_destroy),
22109 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22110 (poll_timeout), (gst_bus_poll):
22114 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22115 (gst_element_post_message), (gst_element_message_full),
22116 (gst_element_get_state_func), (gst_element_get_state),
22117 (gst_element_abort_state), (gst_element_commit_state),
22118 (gst_element_lost_state), (gst_element_set_state),
22119 (gst_element_pads_activate), (gst_element_change_state),
22120 (gst_element_dispose), (gst_element_set_manager_func),
22121 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22122 (gst_element_set_manager), (gst_element_get_manager),
22123 (gst_element_set_bus), (gst_element_get_bus),
22124 (gst_element_set_scheduler), (gst_element_get_scheduler):
22125 * gst/gstelement.h:
22126 * gst/gstevent.c: (gst_event_new_segment_seek),
22127 (gst_event_new_flush):
22129 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22130 (_gst_message_free), (gst_message_get_type), (gst_message_new),
22131 (gst_message_new_eos), (gst_message_new_error),
22132 (gst_message_new_warning), (gst_message_new_tag),
22133 (gst_message_new_state_changed), (gst_message_new_application),
22134 (gst_message_get_structure), (gst_message_parse_tag),
22135 (gst_message_parse_state_changed), (gst_message_parse_error),
22136 (gst_message_parse_warning):
22137 * gst/gstmessage.h:
22138 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22139 (gst_real_pad_set_property), (gst_pad_set_active),
22140 (gst_pad_is_active), (gst_pad_set_blocked_async),
22141 (gst_pad_set_blocked), (gst_pad_is_blocked),
22142 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22143 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22144 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22145 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22146 (gst_pad_link_filtered), (gst_pad_relink_filtered),
22147 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22148 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22149 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22150 (gst_pad_set_caps), (gst_pad_configure_sink),
22151 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22152 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22153 (gst_real_pad_dispose), (gst_real_pad_finalize),
22154 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22155 (gst_pad_event_default_dispatch), (gst_pad_event_default),
22156 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22158 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22159 (pipeline_bus_handler), (gst_pipeline_change_state),
22160 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22161 * gst/gstpipeline.h:
22163 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22164 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22165 (gst_queue_link_src), (gst_queue_bufferalloc),
22166 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22167 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22168 (gst_queue_loop), (gst_queue_handle_src_event),
22169 (gst_queue_handle_src_query), (gst_queue_src_activate),
22170 (gst_queue_change_state):
22172 * gst/gstscheduler.c: (gst_scheduler_init),
22173 (gst_scheduler_dispose), (gst_scheduler_create_task),
22174 (gst_scheduler_factory_create):
22175 * gst/gstscheduler.h:
22176 * gst/gststructure.c: (gst_structure_get_type),
22177 (gst_structure_copy_conditional):
22178 * gst/gststructure.h:
22179 * gst/gsttaginterface.h:
22180 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22181 (gst_task_init), (gst_task_dispose), (gst_task_create),
22182 (gst_task_get_state), (gst_task_start), (gst_task_stop),
22188 * gst/schedulers/Makefile.am:
22189 * gst/schedulers/cothreads_compat.h:
22190 * gst/schedulers/entryscheduler.c:
22191 * gst/schedulers/faircothreads.c:
22192 * gst/schedulers/faircothreads.h:
22193 * gst/schedulers/fairscheduler.c:
22194 * gst/schedulers/gstbasicscheduler.c:
22195 * gst/schedulers/gstoptimalscheduler.c:
22196 * gst/schedulers/gthread-cothreads.h:
22197 * gst/schedulers/threadscheduler.c:
22198 (gst_thread_scheduler_task_get_type),
22199 (gst_thread_scheduler_task_class_init),
22200 (gst_thread_scheduler_task_init),
22201 (gst_thread_scheduler_task_start),
22202 (gst_thread_scheduler_task_stop),
22203 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22204 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22205 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22206 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22208 * libs/gst/Makefile.am:
22209 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22210 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22211 (gst_file_pad_parent_set):
22212 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22213 (gst_dp_event_from_packet):
22214 * tests/complexity.c: (main):
22215 * tests/mass_elements.c: (main):
22216 * testsuite/states/locked.c: (message_received), (main):
22217 * testsuite/states/parent.c: (main):
22218 * tools/gst-inspect.c: (print_element_flag_info),
22219 (print_implementation_info), (print_pad_info):
22220 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22222 * tools/gst-md5sum.c: (event_loop), (main):
22223 * tools/gst-typefind.c: (main):
22224 * tools/gst-xmlinspect.c: (print_element_info):
22226 Added GstBus for mainloop integration.
22227 Added GstMessage for sending notifications on the bus.
22228 Added GstTask as an abstraction for pipeline entry points.
22230 Removed Schedulers.
22231 Simplified GstQueue for multithreaded core.
22232 Made _link threadsafe, removed old capsnego.
22233 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22234 Added pad blocking functions.
22235 Reworked scheduling functions in GstPad to prepare for
22236 scheduling updates soon.
22237 Moved events out of data stream.
22238 Simplified GstEvent types.
22239 Added return values to push/pull.
22240 Removed clocking from GstElement.
22241 Added prototypes for state change function for next merge.
22242 Removed iterate from bins and state change management.
22243 Fixed some elements, disabled others for now.
22244 Fixed -inspect and -launch.
22245 Added check for GstBus.
22247 2005-03-10 Wim Taymans <wim@fluendo.com>
22249 * docs/design/part-MT-refcounting.txt:
22250 * docs/design/part-clocks.txt:
22251 * docs/design/part-gstelement.txt:
22252 * docs/design/part-gstobject.txt:
22253 * docs/design/part-standards.txt:
22254 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22255 (gst_bin_remove_func), (gst_bin_remove):
22259 * testsuite/clock/clock1.c: (main):
22260 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22262 * testsuite/dlopen/loadgst.c: (do_test):
22263 * testsuite/refcounting/bin.c: (add_remove_test1),
22264 (add_remove_test2), (main):
22265 * testsuite/refcounting/element.c: (main):
22266 * testsuite/refcounting/element_pad.c: (main):
22267 * testsuite/refcounting/pad.c: (main):
22268 * tools/gst-launch.c: (sigint_handler_sighandler):
22269 * tools/gst-typefind.c: (main):
22271 Added doc about clock.
22272 removed gst_bin_iterate_recurse_up(), marked methods
22274 Fix more testsuites.
22276 2005-03-09 Wim Taymans <wim@fluendo.com>
22278 * gst/gstpad.c: (gst_pad_get_direction),
22279 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22280 (gst_pad_collect_valist):
22281 * testsuite/bins/interface.c: (main):
22282 * testsuite/caps/audioscale.c: (test_caps):
22283 * testsuite/caps/caps.c: (test1), (test2), (test3):
22284 * testsuite/caps/deserialize.c: (main):
22285 * testsuite/caps/enumcaps.c: (main):
22286 * testsuite/caps/filtercaps.c: (main):
22287 * testsuite/caps/intersect2.c: (main):
22288 * testsuite/caps/random.c: (main):
22289 * testsuite/caps/renegotiate.c: (my_fixate), (main):
22290 * testsuite/caps/sets.c: (check_caps):
22291 * testsuite/caps/simplify.c: (check_caps), (main):
22292 * testsuite/caps/subtract.c: (check_caps):
22293 Fix _pad_get_direction wrt ghostpads.
22294 Fix caps testsuite.
22296 2005-03-09 Wim Taymans <wim@fluendo.com>
22298 * check/Makefile.am:
22299 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22300 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22301 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22302 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22303 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22304 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22305 (gst_bin_remove), (gst_bin_iterate_recurse_up),
22306 (bin_element_is_sink), (gst_bin_iterate_sinks),
22307 (gst_bin_iterate_all_by_interface):
22309 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22310 (gst_element_change_state), (gst_element_dispose),
22311 (gst_element_finalize), (gst_element_set_loop_function):
22312 * gst/gstelement.h:
22313 * gst/gstiterator.c: (find_custom_fold_func):
22314 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22315 (gst_pad_collectv), (gst_pad_collect_valist),
22316 (gst_pad_template_new):
22317 * gst/gstpipeline.c: (gst_pipeline_class_init),
22318 (gst_pipeline_dispose), (gst_pipeline_set_property),
22319 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22320 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22321 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22323 * gst/schedulers/entryscheduler.c:
22324 * gst/schedulers/gstbasicscheduler.c:
22325 (gst_basic_scheduler_cothreaded_chain),
22326 (gst_basic_scheduler_chain_add_element):
22327 * testsuite/bins/interface.c: (main):
22329 Added GstSystemClock test.
22330 Implemented clock distribution code in GstBin.
22331 Implemented iterate sinks method for future use.
22332 Rearranged gstelement.h
22333 Fix GstIterator comparison bug.
22334 Moved some code to GstPipeline, mostly clocking related.
22336 2005-03-09 Wim Taymans <wim@fluendo.com>
22339 * gst/gst_private.h:
22340 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22341 (gst_bin_remove_func), (gst_bin_remove),
22342 (gst_bin_get_by_name_recurse_up):
22343 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22344 (gst_clock_id_compare_func), (gst_clock_id_wait),
22345 (gst_clock_id_wait_async), (gst_clock_init),
22346 (gst_clock_adjust_unlocked), (gst_clock_get_time):
22347 * gst/gstelement.h:
22348 * gst/gstinfo.c: (_gst_debug_init):
22350 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22351 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22353 Bump version number, we're now 0.9.0
22354 Add future debugging category.
22355 Fix NULL _unref() in _get_by_name_recurse_up
22356 Rearrange gstpad.h.
22359 2005-03-08 Wim Taymans <wim@fluendo.com>
22361 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22362 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22363 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22364 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22365 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22366 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22367 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22368 * gst/elements/gstidentity.c: (gst_identity_class_init):
22369 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22370 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22371 * gst/elements/gstshaper.c: (gst_shaper_class_init):
22372 * gst/elements/gststatistics.c: (gst_statistics_class_init):
22373 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22375 * gst/gstelement.c: (gst_element_class_init),
22376 (gst_element_base_class_init), (gst_element_init),
22377 (gst_element_get_random_pad), (gst_element_wait_state_change),
22378 (gst_element_change_state), (gst_element_dispose),
22379 (gst_element_finalize), (gst_element_set_loop_function):
22380 * gst/gstelement.h:
22381 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22382 * gst/gstthread.c: (gst_thread_class_init),
22383 (gst_thread_release_children_locks), (gst_thread_change_state):
22384 * gst/schedulers/gstbasicscheduler.c:
22385 (gst_basic_scheduler_loopfunc_wrapper),
22386 (gst_basic_scheduler_chain_wrapper),
22387 (gst_basic_scheduler_src_wrapper),
22388 (gst_basic_scheduler_remove_element):
22389 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22390 Remove threadsafe properties. Fix elements because GObject
22391 complains when installing a property before declaring a
22392 set/get_property handler.
22393 Rearrange gstelement.h file, use STATE macros for state locks.
22394 Free mutexes in the finalize method instead of dispose.
22396 2005-03-08 Wim Taymans <wim@fluendo.com>
22398 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22399 * gst/gstthread.c: (gst_thread_release_children_locks):
22400 Added parentage check.
22401 Fix build og GstThread again.
22403 2005-03-08 Wim Taymans <wim@fluendo.com>
22405 * docs/design/part-MT-refcounting.txt:
22406 * docs/design/part-conventions.txt:
22407 * docs/design/part-gstobject.txt:
22408 * docs/design/part-relations.txt:
22409 * docs/design/part-standards.txt:
22410 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22411 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22412 (gst_bin_get_by_name), (gst_bin_get_by_interface),
22413 (gst_bin_iterate_all_by_interface):
22416 * gst/gstelement.c: (gst_element_class_init),
22417 (gst_element_change_state), (gst_element_set_loop_function):
22418 * gst/gstelement.h:
22419 * gst/gstiterator.c:
22420 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22421 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22422 (gst_object_dispatch_properties_changed), (gst_object_set_name),
22423 (gst_object_set_parent), (gst_object_unparent),
22424 (gst_object_check_uniqueness):
22426 Docs updates, clean up some headers.
22428 2005-03-07 Wim Taymans <wim@fluendo.com>
22430 * check/.cvsignore:
22431 * check/Makefile.am:
22432 * check/gst-libs/.cvsignore:
22433 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
22434 * check/gst/.cvsignore:
22435 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
22436 (START_TEST), (gstbus_suite), (main):
22437 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
22438 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
22439 (gst_data_suite), (main):
22440 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
22441 (add_fold_func), (gstiterator_suite), (main):
22442 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
22443 (thread_name_object), (thread_name_object_default),
22444 (gst_object_name_compare), (gst_object_suite), (main):
22445 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
22446 (gst_pad_suite), (main):
22447 * check/gstcheck.c: (gst_check_log_message_func),
22448 (gst_check_log_critical_func), (gst_check_init):
22449 * check/gstcheck.h:
22450 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
22451 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
22454 2005-03-07 Wim Taymans <wim@fluendo.com>
22456 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22457 (gst_list_iterator_next), (gst_list_iterator_resync),
22458 (gst_list_iterator_free), (gst_iterator_new_list),
22459 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
22460 (gst_iterator_free), (gst_iterator_push), (filter_next),
22461 (filter_resync), (filter_uninit), (filter_free),
22462 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
22463 (gst_iterator_foreach), (find_custom_fold_func),
22464 (gst_iterator_find_custom):
22465 * gst/gstiterator.h:
22466 Added missing files.
22468 2005-03-07 Wim Taymans <wim@fluendo.com>
22472 * docs/design/part-MT-refcounting.txt:
22473 * docs/design/part-conventions.txt:
22474 * docs/design/part-gstobject.txt:
22475 * docs/design/part-relations.txt:
22476 * examples/mixer/mixer.c: (main):
22477 * examples/thread/thread.c: (eos), (main):
22479 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
22480 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
22481 (gst_spider_plug_from_srcpad):
22482 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
22483 (gst_spider_identity_change_state),
22484 (gst_spider_identity_sink_loop_type_finding):
22485 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
22486 * gst/elements/gstidentity.c: (gst_identity_init):
22487 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
22488 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
22489 * gst/elements/gsttypefindelement.c: (free_entry):
22492 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
22493 (gst_bin_set_clock_func), (gst_bin_auto_clock),
22494 (gst_bin_set_index), (gst_bin_set_element_sched),
22495 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
22496 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
22497 (gst_bin_iterate_elements), (iterate_child_recurse),
22498 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
22499 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
22500 (compare_interface), (gst_bin_get_by_interface),
22501 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
22503 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
22504 (gst_buffer_default_free), (gst_buffer_default_copy),
22505 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
22506 (gst_buffer_create_sub):
22508 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
22509 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
22510 (gst_caps_unref), (gst_static_caps_get),
22511 (gst_caps_remove_and_get_structure), (gst_caps_append),
22512 (gst_caps_append_structure), (gst_caps_remove_structure),
22513 (gst_caps_copy_nth), (gst_caps_set_simple),
22514 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
22515 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
22516 (gst_caps_structure_intersect_field), (gst_caps_intersect),
22517 (gst_caps_structure_subtract_field), (gst_caps_subtract),
22518 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
22519 (gst_caps_structure_figure_out_union),
22520 (gst_caps_switch_structures), (gst_caps_do_simplify),
22521 (gst_caps_replace), (gst_caps_from_string),
22522 (gst_caps_copy_conditional):
22524 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
22525 (_gst_clock_id_free), (gst_clock_id_unref),
22526 (gst_clock_id_compare_func), (gst_clock_id_wait),
22527 (gst_clock_id_wait_async), (gst_clock_class_init),
22528 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
22529 (gst_clock_get_time), (gst_clock_set_time_adjust),
22530 (gst_clock_set_property), (gst_clock_get_property):
22533 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
22534 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
22536 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22537 (gst_element_requires_clock), (gst_element_provides_clock),
22538 (gst_element_set_clock), (gst_element_clock_wait),
22539 (gst_element_wait), (gst_element_set_time_delay),
22540 (gst_element_is_indexable), (gst_element_add_pad),
22541 (gst_element_add_ghost_pad), (gst_element_remove_pad),
22542 (pad_compare_name), (gst_element_get_static_pad),
22543 (gst_element_request_pad), (gst_element_get_request_pad),
22544 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
22545 (gst_element_class_get_pad_template_list),
22546 (gst_element_class_get_pad_template), (gst_element_error_func),
22547 (gst_element_get_random_pad), (gst_element_get_event_masks),
22548 (gst_element_send_event), (gst_element_seek),
22549 (gst_element_get_query_types), (gst_element_query),
22550 (gst_element_get_formats), (gst_element_convert),
22551 (gst_element_is_locked_state), (gst_element_set_locked_state),
22552 (gst_element_sync_state_with_parent), (gst_element_change_state),
22553 (gst_element_finalize), (gst_element_yield),
22554 (gst_element_interrupt), (gst_element_set_scheduler),
22555 (gst_element_get_scheduler), (gst_element_set_loop_function):
22556 * gst/gstelement.h:
22558 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
22559 (gst_format_get_by_nick), (gst_format_get_details),
22560 (gst_format_iterate_definitions):
22562 * gst/gstindex.c: (gst_index_gtype_resolver):
22565 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
22566 (gst_mem_chunk_free):
22567 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22568 (gst_object_ref), (gst_object_unref), (gst_object_sink),
22569 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
22570 (gst_object_dispatch_properties_changed),
22571 (gst_object_set_name_default), (gst_object_set_name),
22572 (gst_object_get_name), (gst_object_set_name_prefix),
22573 (gst_object_get_name_prefix), (gst_object_set_parent),
22574 (gst_object_get_parent), (gst_object_unparent),
22575 (gst_object_check_uniqueness), (gst_object_save_thyself),
22576 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
22577 (gst_object_set_property), (gst_object_get_property),
22578 (gst_object_get_path_string):
22580 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22581 (gst_real_pad_init), (gst_real_pad_get_property),
22582 (gst_pad_custom_new), (gst_pad_get_direction),
22583 (gst_pad_set_active), (gst_pad_is_active),
22584 (gst_pad_set_event_function), (gst_pad_is_linked),
22585 (gst_pad_link_free), (gst_pad_link_intersect),
22586 (gst_pad_link_fixate), (gst_pad_set_caps),
22587 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
22588 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
22589 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
22590 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
22591 (gst_pad_get_caps), (gst_pad_peer_get_caps),
22592 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
22593 (gst_pad_realize), (gst_pad_get_allowed_caps),
22594 (gst_real_pad_dispose), (gst_real_pad_finalize),
22595 (gst_pad_collectv), (gst_pad_collect_valist),
22596 (gst_pad_template_dispose), (gst_pad_template_new),
22597 (gst_pad_get_internal_links):
22599 * gst/gstpipeline.c: (gst_pipeline_dispose),
22600 (gst_pipeline_change_state):
22601 * gst/gstpipeline.h:
22603 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
22604 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
22605 * gst/gstpluginfeature.h:
22606 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
22607 * gst/gstquery.c: (_gst_query_type_initialize),
22608 (gst_query_type_register), (gst_query_type_get_by_nick),
22609 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
22611 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
22612 * gst/gstscheduler.c: (gst_scheduler_add_element),
22613 (gst_scheduler_factory_create):
22614 * gst/gststructure.c: (gst_structure_set_parent_refcount),
22615 (gst_structure_free), (gst_structure_set_name),
22616 (gst_structure_id_set_value), (gst_structure_set_value),
22617 (gst_structure_set_valist), (gst_structure_remove_field),
22618 (gst_structure_remove_fields),
22619 (gst_structure_remove_fields_valist),
22620 (gst_structure_remove_all_fields), (gst_structure_foreach),
22621 (gst_structure_map_in_place),
22622 (gst_caps_structure_fixate_field_nearest_int),
22623 (gst_caps_structure_fixate_field_nearest_double):
22624 * gst/gststructure.h:
22625 * gst/gstsystemclock.c: (gst_system_clock_class_init),
22626 (gst_system_clock_init), (gst_system_clock_dispose),
22627 (gst_system_clock_async_thread),
22628 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
22629 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
22630 * gst/gstsystemclock.h:
22631 * gst/gsttag.c: (gst_tag_list_add_value_internal),
22632 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
22633 * gst/gsttaginterface.c:
22634 * gst/gstthread.c: (gst_thread_dispose),
22635 (gst_thread_release_children_locks), (gst_thread_change_state),
22636 (gst_thread_main_loop):
22637 * gst/gsttrashstack.h:
22638 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
22640 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22641 (gst_element_request_pad), (gst_element_get_pad_from_template),
22642 (gst_element_request_compatible_pad),
22643 (gst_element_get_compatible_pad_filtered),
22644 (gst_element_get_compatible_pad), (gst_element_state_get_name),
22645 (gst_element_link_pads_filtered), (gst_element_link_filtered),
22646 (gst_element_link_many), (gst_element_link),
22647 (gst_element_link_pads), (gst_element_unlink_pads),
22648 (gst_element_unlink_many), (gst_element_unlink),
22649 (gst_pad_can_link_filtered), (gst_pad_can_link),
22650 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
22651 (gst_object_default_error), (gst_bin_add_many),
22652 (gst_bin_remove_many), (gst_element_populate_std_props),
22653 (gst_element_class_install_std_props), (gst_buffer_merge),
22654 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
22655 (link_fold_func), (gst_pad_proxy_setcaps):
22657 * gst/gstvalue.c: (gst_value_deserialize_string):
22658 * gst/parse/grammar.y:
22659 * gst/schedulers/gstbasicscheduler.c:
22660 (gst_basic_scheduler_cothreaded_chain),
22661 (gst_basic_scheduler_chain_recursive_add),
22662 (gst_basic_scheduler_pad_link):
22663 * gst/schedulers/gstoptimalscheduler.c:
22664 (get_group_schedule_function),
22665 (gst_opt_scheduler_state_transition),
22666 (gst_opt_scheduler_add_element), (element_get_reachables_func):
22667 * libs/gst/bytestream/bytestream.c:
22668 * libs/gst/dataprotocol/dataprotocol.c:
22669 (gst_dp_header_from_buffer):
22672 * tests/threadstate/threadstate2.c: (eos):
22673 * tools/gst-compprep.c: (main):
22674 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
22675 (print_pad_info), (print_children_info):
22676 * tools/gst-launch.c: (idle_func), (main):
22677 * tools/gst-md5sum.c: (idle_func), (main):
22678 * tools/gst-xmlinspect.c: (print_element_info):
22679 First THREADED backport attempt, focusing on adding locks and
22680 making sure the API is threadsafe. Needs more work. More docs
22683 2005-02-24 Andy Wingo <wingo@pobox.com>
22685 * tests/bench-complexity.scm:
22686 * tests/complexity.gnuplot: New files, good for running complexity
22689 * tests/Makefile.am:
22690 * tests/complexity.c: New test, sets up N elements, at each level
22691 teeing into M streams per element. Eeeenteresting.
22693 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
22694 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
22695 running bench-mass_elements.scm.
22697 * tests/bench-mass_elements.scm: New script, runs mass_elements
22698 for various numbers of identities, outputting the results to a
22699 file. Requires guile 1.6. Just for testing.
22701 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
22703 * gst/schedulers/fairscheduler.c:
22704 compile with debug disabled
22706 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
22709 hunting season on 0.9 is now OPEN