1 2007-04-23 Stefan Kost <ensonic@users.sf.net>
3 * gst/gstbin.c: (gst_bin_element_set_state),
4 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
5 (bin_handle_async_done), (gst_bin_handle_message_func):
6 Fix build with --gst-disable-gst-debug
8 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
10 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
11 Make sure streaming has finished before calling the ::stop() vfunc,
12 since that vfunc might clear state which is being used in the
13 streaming thread. This fixes a race that caused crashes in
14 audioresample when shutting down a pipeline (#420106).
16 2007-04-20 Stefan Kost <ensonic@users.sf.net>
18 * docs/gst/gstreamer-sections.txt:
19 That was one byte missing.
21 2007-04-20 Stefan Kost <ensonic@users.sf.net>
24 * docs/gst/gstreamer-sections.txt:
27 * gst/gstobject.c: (gst_object_class_init),
28 (gst_signal_object_class_init):
30 2nd attempt to have a xml-less build as a joined effort of #413123
33 2007-04-20 Stefan Kost <ensonic@users.sf.net>
35 * docs/design/draft-tagreading.txt:
36 Added open issues/thoughts to draft.
38 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
40 * gst/parse/grammar.tab.pre.c:
41 * gst/parse/grammar.tab.pre.h:
42 * gst/parse/lex._gst_parse_yy.pre.c:
43 Update the prebuild parser sources.
45 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
47 * gst/parse/Makefile.am:
48 And now fix the building of the flex sources. Now everything should
51 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
53 * gst/parse/Makefile.am:
54 Now hopefully fix the build failures by setting proper rule
55 dependencies and moving instead of copying.
57 2007-04-19 Stefan Kost <ensonic@users.sf.net>
59 * tests/benchmarks/complexity.gnuplot:
60 * tests/benchmarks/complexity.scm:
61 * tests/benchmarks/mass-elements.gnuplot:
62 * tests/benchmarks/mass-elements.scm:
63 Total licensification.
65 2007-04-19 Stefan Kost <ensonic@users.sf.net>
67 * gst/parse/Makefile.am:
68 Fix the build by correcting the rule that gave wrong files to flex.
70 2007-04-19 Stefan Kost <ensonic@users.sf.net>
72 * tests/benchmarks/complexity.c:
73 * tests/benchmarks/mass-elements.c:
74 Change licence to LGPL as granted by Benjamin and Andy.
76 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
78 * gst/parse/Makefile.am:
79 Add correct grammar.tab.h dependency if compiling without new enough
82 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
84 * gst/parse/Makefile.am:
85 Fix typo and use outdated sources if the flex/bison sources are newer
86 than the pregenerated ones but flex is too old. Print a warning in
87 that case. This should fix the build on the build bot.
89 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
91 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
92 * gst/parse/Makefile.am:
93 * gst/parse/grammar.y:
95 Make the parser reentrant and recursively callable. This requires flex
96 >= 2.5.31, for older versions pregenerated sources are used as we
97 can't bump the build dependency. Finally fixes #349180.
99 * gst/gstparse.c: (gst_parse_launch):
100 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
103 * docs/gst/Makefile.am:
104 * docs/gst/Makefile.am:
105 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
106 (__gst_parse_strfree), (__gst_parse_link_new),
107 (__gst_parse_link_free), (__gst_parse_chain_new),
108 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
109 (gst_parse_element_set), (gst_parse_free_link),
110 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
111 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
113 * gst/parse/grammar.tab.pre.h:
114 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
115 (yy_get_previous_state), (yy_try_NUL_trans), (input),
116 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
117 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
118 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
119 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
120 (_gst_parse_yypop_buffer_state),
121 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
122 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
123 (yy_fatal_error), (_gst_parse_yyget_extra),
124 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
125 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
126 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
127 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
128 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
129 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
130 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
131 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
132 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
133 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
135 If the installed flex version is too old use pre-generated parser
136 sources. These pre-generated parser sources are always updated when
137 the actual flex/bison sources change but require everybody who wants
138 to change something in the parser to have flex >= 2.5.31 installed.
140 2007-04-18 Stefan Kost <ensonic@users.sf.net>
142 * common/m4/gst-gettext.m4:
143 * gst/gst-i18n-lib.h:
144 Make --disable-nls to work
146 2007-04-17 Wim Taymans <wim@fluendo.com>
148 * gst/gstconfig.h.in:
149 Revert previous change that broke the build.
151 2007-04-17 Stefan Kost <ensonic@users.sf.net>
155 * gst/gstconfig.h.in:
156 Drop libxml2 dependency when building with
157 --enable-binary-registry --disable-loadsave
159 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
161 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
162 (gst_registry_binary_read_cache):
163 * gst/gstregistrybinary.h:
164 Remove unnecessary <sys/mman.h> include which broke the win32 build
165 with MingW; move includes from header file to .c file, even if the
166 header file isn't installed; use g_strerror() where UTF-8 strings
167 are expected, such as in GST_DEBUG messages.
169 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
171 * docs/libs/gstreamer-libs-sections.txt:
172 Remove bogus addition for API I didn't end up keeping.
174 * libs/gst/base/gstbasesrc.h:
175 Mention Since: 0.10.13 in the documentation.
177 Add the API keyword to the previous ChangeLog entry.
179 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
181 * docs/libs/gstreamer-libs-sections.txt:
182 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
183 (gst_base_src_default_prepare_seek_segment),
184 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
185 * libs/gst/base/gstbasesrc.h:
186 Allow basesrc derived classes to execute seeks in other formats
187 by providing a prepare_seek_segment vmethod. Sub-classes can choose
188 to prepare the GstSegment in any format that their perform_seek method
189 will be able to understand. The default implementation provides the
190 old behaviour of attempting to convert the seek offsets to the
191 configured native format.
193 API: basesrc::prepare_seek_segment vmethod.
195 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
197 * gst/gstelement.c: (gst_element_get_state_func):
198 Don't output the same debug statement twice.
200 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
201 (gst_adapter_peek), (gst_adapter_take_buffer):
202 Optimise the case where we have buffers at the head of the queue that
203 can be joined quickly (because they're contiguous sub-buffers) by
204 merging them together rather than copying data out into new memory.
206 * gst/parse/grammar.y:
207 * tests/check/pipelines/parse-launch.c:
208 Fix a leak in an error path for parse_launch, and add a check
209 for it to the testsuite.
211 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
213 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
214 Don't deadlock when releasing a pad - gst_pad_set_active may try
215 and take the multiqueue lock too.
217 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
219 * gst/gsterror.c: (_gst_core_errors_init):
221 API: add GST_CORE_ERROR_DISABLED (#392804).
223 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
225 * docs/faq/gst-uninstalled:
226 don't get empty paths on the PATH variables
227 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
228 Don't format for the uncommon terminal width of 84 characters.
230 2007-04-06 Wim Taymans <wim@fluendo.com>
232 * gst/gstpipeline.c: (reset_stream_time),
233 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
234 Only try to select a different pipeline clock when we went back to
235 PAUSED and not when we merely got flushed.
237 2007-04-05 Michael Smith <msmith@fluendo.com>
239 * tools/gst-launch.1.in:
240 fractions are better supported in gstreamer than ractions, so
243 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
245 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
249 Added Danish translation.
251 2007-04-05 Wim Taymans <wim@fluendo.com>
253 * libs/gst/base/gstbasesink.c:
254 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
255 Fix leak caused when refusing newsegment after EOS.
257 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
258 (gst_fake_sink_init), (gst_fake_sink_set_property),
259 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
260 (gst_fake_sink_render), (gst_fake_sink_change_state):
261 * plugins/elements/gstfakesink.h:
262 Add num-buffers property to make the element generate EOS after a
263 configurable amount of buffers.
264 API: fakesink::num-buffers property.
266 * tests/check/elements/fakesink.c: (GST_START_TEST),
268 Fix GstBus leak in test.
269 Test for fakesink num-buffers.
271 2007-04-05 Wim Taymans <wim@fluendo.com>
273 * libs/gst/base/gstbasesink.c:
274 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
275 (gst_base_sink_change_state):
276 Don't accept anything after an EOS, return UNEXPECTED instead.
278 * tests/check/elements/fakesink.c: (GST_START_TEST),
280 Unit test for new EOS behaviour.
282 2007-04-05 Wim Taymans <wim@fluendo.com>
284 * gst/gstelement.c: (gst_element_get_request_pad):
285 Make padtemplates also work when they don't contain %s or %d.
287 2007-04-05 Wim Taymans <wim@fluendo.com>
289 * docs/gst/gstreamer-sections.txt:
290 * gst/gstclock.c: (gst_clock_adjust_unlocked),
291 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
293 Improve _adjust_unlocked() so that it overflows less.
294 Add gst_clock_unadjust_unlocked to convert from external time to
295 internal time based on calibration.
297 API: GstClock::gst_clock_unadjust_unlocked()
299 2007-04-03 Wim Taymans <wim@fluendo.com>
301 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
303 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
304 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
305 when releasing sink pad. Fixes #425400.
307 2007-04-02 Stefan Kost <ensonic@users.sf.net>
309 * docs/random/ensonic/dynlink.txt:
310 More work on proposal for new core api.
312 * docs/libs/gstreamer-libs-sections.txt:
313 * libs/gst/base/gstbasetransform.h:
314 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
316 * libs/gst/controller/gstcontroller.c:
317 (on_object_controlled_property_changed),
318 (gst_controller_sync_values),
319 (gst_controller_set_interpolation_mode):
320 * libs/gst/controller/gstcontroller.h:
321 Less verbose logging add docs for unimplemented parts and correctly
322 return when using unavailable parts.
324 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
326 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
327 Move all the debug to the CLOCK category, and associate it with
330 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
332 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
333 Make take_buffer a bit quicker by removing redundant checks
334 caused by calling gst_adapter_take.
336 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
338 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
341 * tests/check/Makefile.am:
342 * tests/check/elements/.cvsignore:
343 * tests/check/elements/multiqueue.c: (setup_multiqueue),
344 (GST_START_TEST), (multiqueue_suite):
345 Add some dead simple unit tests for the 'multiqueue' element
346 (some bits don't work yet and are disabled for now).
348 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
350 * gst/gstelement.c: (gst_element_get_request_pad),
351 (gst_element_class_get_request_pad_template):
352 Make gst_element_get_request_pad() create request pads only for
353 request pad templates and not for, say, sometimes pad templates.
355 2007-03-28 Stefan Kost <ensonic@users.sf.net>
357 * docs/design/draft-klass.txt:
358 Add example that needs more thinking.
360 * docs/design/draft-missing-plugins.txt:
361 More thoughts about wrapper plugins.
363 * docs/random/ensonic/embedded.txt:
364 * docs/random/ensonic/profiling.txt:
367 2007-03-25 Wim Taymans <wim@fluendo.com>
369 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
371 Only push the segment events in the PLAYING state for live sources.
373 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
375 * gst/gstpipeline.c: (gst_pipeline_change_state):
376 Modify the clock distribution path in PAUSED->PLAYING so that we
377 never attempt to choose a new clock unless we're actually leaving
378 the PAUSED state for the first time. This prevents choosing a
379 different clock when the state_change gets called for a 2nd time due
380 to some element doing an async state change.
382 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
384 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
385 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
386 (gst_pad_chain_unchecked), (gst_pad_push):
387 Revert last commit. This needs some more thoughts.
389 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
391 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
392 (gst_pad_chain_unchecked), (gst_pad_push):
393 Check in set_caps if the caps are compatible with the pad and remove
394 two functions that are redundant now. Fixes #421543.
396 2007-03-22 Wim Taymans <wim@fluendo.com>
398 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
399 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
400 Unref some more to make valgrind happy.
402 2007-03-22 Wim Taymans <wim@fluendo.com>
404 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
405 (gst_system_clock_id_wait_jitter),
406 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
407 Fix anoying regression that survived a few releases. When adding an
408 async entry while blocking on a sync entry, the sync entry will unblock
409 but still be busy, so it should continue to wait instead of returning
411 Add some comments here and there.
413 * tests/check/gst/gstsystemclock.c: (mixed_thread),
414 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
415 Add testcase for this.
417 2007-03-22 Wim Taymans <wim@fluendo.com>
419 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
420 Handle errors from the clock sync better, only UNSCHEDULED indicates a
421 WRONG_STATE and can silently pause the task. All other cases should
424 2007-03-22 Wim Taymans <wim@fluendo.com>
426 Patch by: <syrjala at sci dot fi>
428 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
429 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
432 2007-03-21 Michael Smith <msmith@fluendo.com>
434 * docs/pwg/advanced-types.xml:
435 Fix some errors in the typefinding docs pointed out on irc.
437 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
439 * libs/gst/base/gstbasesrc.c:
440 Clarify FIXME comment in the face of having added unlock_stop()
442 2007-03-21 Wim Taymans <wim@fluendo.com>
444 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
445 Prepare for release where we warn against possible app breakage in the
446 case of live pipelines along with an env var to enable/disable live
447 preroll mode (GST_COMPAT=[no-]live-preroll).
449 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
451 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
452 So we should use correct constants for checking for None offset.
454 2007-03-20 Wim Taymans <wim@fluendo.com>
456 * docs/design/part-block.txt:
457 Mention the fact that the newly switched element should be set to at
460 2007-03-20 Wim Taymans <wim@fluendo.com>
463 Fix compilation with registry disabled as spotted by Saur.
465 2007-03-20 Wim Taymans <wim@fluendo.com>
467 Patch by: Olivier Crete <tester at tester dot ca>
469 * gst/gstelement.c: (gst_element_sync_state_with_parent):
470 Look at the pending state too when syncing the element state to the
471 parent. Fixes #420133.
473 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
475 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
476 (gst_base_sink_change_state):
477 * libs/gst/base/gstbasesink.h:
478 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
479 (gst_base_src_default_event), (gst_base_src_unlock_stop),
480 (gst_base_src_deactivate):
481 * libs/gst/base/gstbasesrc.h:
482 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
483 for sub-classes to correctly clear any state they set trying to
484 unlock, such as clearing out unlock commands from a command fd.
486 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
487 (gst_fd_sink_render), (gst_fd_sink_unlock),
488 (gst_fd_sink_unlock_stop):
489 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
490 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
491 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
493 Implement unlock_stop in fdsrc and fdsink.
494 Implement seeking in fdsrc when a seekable fd is passed, as in
495 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
497 2007-03-19 Wim Taymans <wim@fluendo.com>
499 Patch by: Evan Nemerson <evan at coeus dash group dot com>
501 * gst/gstelement.c: (gst_element_class_init):
502 Fix pad-added and pad-removed signal signatures so that the pad type is
503 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
505 2007-03-19 Wim Taymans <wim@fluendo.com>
507 * docs/gst/gstreamer-sections.txt:
508 Add new element field and method.
510 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
511 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
512 (gst_bin_recalc_state), (gst_bin_get_state_func),
513 (gst_bin_element_set_state), (gst_bin_change_state_func),
514 (gst_bin_continue_func), (bin_bus_handler),
515 (bin_push_state_continue), (bin_handle_async_start),
516 (bin_handle_async_done), (gst_bin_handle_message_func):
517 Make async state changes a bit smarter by using new ASYNC_START and
518 ASYNC_DONE messages. This reduces the number of times we run the state
519 recalculation thread.
520 Don't change state of element with a pending ASYNC_START message.
521 Deprecate STATE_DIRTY messages.
523 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
524 (gst_element_get_state_func), (gst_element_continue_state),
525 (gst_element_lost_state), (gst_element_set_state_func),
526 (gst_element_change_state):
528 Keep the state that was last set by the app in a new element field.
529 Don't allow state changes when handling an element event.
530 Post ASYNC_START and ASYNC_DONE messages.
531 Change lost_state so that we go to PAUSED and wait for the parent to set
532 us to PLAYING again (so latency calculation can be performed)
533 Export gst_element_change_state() method so that subclasses can use it.
534 API: gst_element_change_state()
535 API: GST_STATE_TARGET
537 * gst/gstpipeline.c: (gst_pipeline_class_init),
538 (reset_stream_time), (gst_pipeline_change_state),
539 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
540 Using the new ASYNC_START message we can reset the base_time when
541 needed. This can then be used to implement base_time redistribution in
542 flushing seeks so that we can remove the explicit seek handling.
543 Perform latency query and configuration when going to PLAYING.
545 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
546 (gst_base_sink_query), (gst_base_sink_change_state):
547 Post new ASYNC_START/ASYNC_DONE messages.
549 * tests/check/generic/sinks.c: (GST_START_TEST):
550 Fix test because the bin will not set the async element to PLAYING right
553 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
554 Make the message check a little stronger.
555 Handle ASYNC messages.
557 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
558 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
559 Expect ASYNC_DONE messages.
561 2007-03-19 Wim Taymans <wim@fluendo.com>
563 * docs/gst/gstreamer-sections.txt:
564 * gst/gstmessage.c: (gst_message_new_async_start),
565 (gst_message_new_async_done), (gst_message_parse_info),
566 (gst_message_parse_async_start):
568 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
571 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
573 * tools/gst-inspect.c:
574 (print_plugin_automatic_install_info_codecs):
575 Now that we don't check for the 'Codec' keyword any longer in the
576 klass, we shouldn't spew a warning if the klass isn't a decoder or
577 encoder (since it might be a Source/Network, for example).
579 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
581 * tools/gst-inspect.c:
582 (print_plugin_automatic_install_info_codecs):
583 Don't require decoder/demuxer/depayloader elements or
584 encoder/muxer/paylader elements to have 'Codec' as part of their
585 factory class string when introspecting a plugin's capabilities.
586 draft-klass.txt mentions that it might be removed in future, and
587 flump3dec doesn't have it as part of its class string, so chances
588 are others might also not have it.
590 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
612 Update translations from translation project
614 2007-03-14 Stefan Kost <ensonic@users.sf.net>
616 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
617 (gst_child_proxy_set_property):
618 Invert precondition check to be alike the ones in the mimiced gobject
621 2007-03-13 Stefan Kost <ensonic@users.sf.net>
623 * docs/design/draft-tagreading.txt:
624 * docs/random/ensonic/audiobaseclasses.txt:
625 Do some Architect work.
627 * gst/gstobject.c: (gst_object_set_name):
631 Add docs that point from gst_pad_get_range to gst_pad_pull_range
633 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
635 * gst/gstsystemclock.c: (gst_system_clock_init),
636 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
637 Defer starting the async system clock thread until the first async
638 wait is scheduled. Fixes #414986.
640 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
642 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
643 (gst_single_queue_free):
644 Fix small leak (free GstSingleQueue structure too, not only contents).
646 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
648 * gst/gstbin.c:(gst_bin_add):
649 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
650 * win32/common/libgstbase.def:
651 * win32/common/libgstreamer.def:
652 Add new exported functions.
654 2007-03-09 Wim Taymans <wim@fluendo.com>
656 * docs/plugins/gstreamer-plugins-sections.txt:
659 2007-03-09 Wim Taymans <wim@fluendo.com>
661 * docs/gst/gstreamer-sections.txt:
662 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
664 Add metadata copy functions. Fixes #393099.
666 * gst/gstutils.c: (gst_buffer_stamp):
667 * libs/gst/base/gstbasetransform.c:
668 (gst_base_transform_prepare_output_buffer):
669 Use new metadata copy functions.
671 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
673 * plugins/elements/gstidentity.c: (gst_identity_class_init),
674 (gst_identity_init), (gst_identity_check_perfect),
675 (gst_identity_check_imperfect_timestamp),
676 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
677 (gst_identity_set_property), (gst_identity_get_property):
678 * plugins/elements/gstidentity.h:
679 Separate out check-imperfect-timestamp and check-imperfect-offset.
680 Put back check-perfect as it was to keep compatibility.
682 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
684 * gst/gstelement.c: (gst_element_dispose):
685 There's no need to warn if VOID_PENDING is not NONE here, as
686 long as the state is NULL it's ok, and that's checked immediately
689 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
691 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
692 Fix check for perfect stream to ignore buffers with -1
693 offsets/offset ends when checking data contiguity.
695 2007-03-08 Wim Taymans <wim@fluendo.com>
697 * tools/gst-launch.c: (event_loop):
700 2007-03-08 Wim Taymans <wim@fluendo.com>
702 * libs/gst/base/gstbasetransform.c:
703 (gst_base_transform_sink_eventfunc),
704 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
705 (gst_base_transform_activate):
706 * libs/gst/base/gstbasetransform.h:
707 Add support for dropping buffers with custom GstFlowReturn.
708 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
709 buffers or dropped buffers.
711 * docs/libs/gstreamer-libs-sections.txt:
712 docs for new custom return code.
714 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
715 Use drop support in base class to implement drop-probability.
717 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
719 * gst/gst.c: (load_plugin_func):
720 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
721 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
722 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
723 Remove newlines at end of debug log strings.
725 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
727 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
728 Only post bus message at max, once per buffer received.
730 2007-03-07 Wim Taymans <wim@fluendo.com>
732 * docs/design/Makefile.am:
733 * docs/design/part-synchronisation.txt:
734 Add doc about synchronisation
736 * docs/design/draft-latency.txt:
737 * docs/design/part-TODO.txt:
738 * docs/design/part-clocks.txt:
739 * docs/design/part-events.txt:
740 * docs/design/part-gstbus.txt:
741 * docs/design/part-gstpipeline.txt:
742 * docs/design/part-live-source.txt:
743 * docs/design/part-messages.txt:
744 * docs/design/part-overview.txt:
745 * docs/design/part-streams.txt:
746 * docs/design/part-trickmodes.txt:
747 Documentation updates.
749 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
752 Update the doap file.
754 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
756 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
757 Rename non-perfect to imperfect for Mike and for the sanctity of the
759 Also make sure bus message gets emitted for data-incontiguities.
761 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
763 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
764 (gst_identity_start):
765 * plugins/elements/gstidentity.h:
766 Emit bus message if check-perfect is true and we encounter a
767 non-perfect stream between 2 consecutive buffers.
770 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
775 === release 0.10.12 ===
777 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
780 releasing 0.10.12, "Inevitable Demise"
782 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
785 Version 0.10.11.2 (0.10.12 pre-release)
786 Bump libtool versioning.
788 2007-03-01 Stefan Kost <ensonic@users.sf.net>
790 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
791 Log flow-names and not numbers.
793 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
796 Convert to new AG_GST style.
798 2007-02-28 Wim Taymans <wim@fluendo.com>
800 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
801 Don't unref query twice.
803 2007-02-28 Wim Taymans <wim@fluendo.com>
805 * gst/gstvalue.c: (gst_value_transform_object_string),
806 (_gst_value_initialize):
807 Implement GstObject -> string transform so we print object names
808 when serializing GValues containing GstObjects.
810 2007-02-28 Wim Taymans <wim@fluendo.com>
812 * docs/gst/gstreamer-sections.txt:
813 Add new stuff to docs.
815 2007-02-28 Wim Taymans <wim@fluendo.com>
817 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
818 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
819 (gst_base_sink_change_state):
820 Improve latency query code.
821 Don't leak latency events.
823 * tests/check/gst/gstbin.c: (GST_START_TEST):
826 2007-02-28 Wim Taymans <wim@fluendo.com>
828 * gst/gstelement.c: (gst_element_message_full),
829 (gst_element_get_state_func):
831 Improve docs a little. Added Since: for new macro.
833 * gst/gstobject.c: (gst_object_sink):
834 * gst/gstpipeline.c: (gst_pipeline_change_state),
835 (gst_pipeline_set_new_stream_time):
837 Improve debugging and docs.
839 * gst/gstutils.c: (gst_element_state_change_return_get_name):
842 2007-02-28 Wim Taymans <wim@fluendo.com>
844 * gst/gstelement.c: (gst_element_message_full),
845 (gst_element_set_locked_state), (gst_element_get_state_func),
846 (gst_element_change_state):
847 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
848 Documentation updates.
851 * gst/gstmessage.c: (gst_message_new_info),
852 (gst_message_parse_info):
854 API: gst_message_new_info()
855 API: gst_message_parse_info()
856 Add INFO message create and parse code.
858 2007-02-28 Wim Taymans <wim@fluendo.com>
860 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
861 (bin_query_latency_done):
862 Also report the live parameter of a latency query.
864 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
866 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
867 Copy the current generic/states example from -base and adapt so
868 we can use the exact same code everywhere.
869 Check a STATES_IGNORE_ELEMENTS env var which can be used
870 to ignore certain element factories for this test, which is
871 what is being done in -base
872 * tests/check/Makefile.am:
873 Mention this environment variable.
875 2007-02-27 Wim Taymans <wim@fluendo.com>
877 * docs/gst/gstreamer-sections.txt:
878 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
879 (gst_bus_timed_pop), (gst_bus_pop):
881 API: gst_bus_timed_pop()
882 Implement gst_bus_timed_pop() to do a blocking timed wait for a
883 message to arrive on the bus.
885 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
887 Two unit tests for new _timed_pop() function.
889 2007-02-23 Wim Taymans <wim@fluendo.com>
891 * gst/gstpipeline.c: (gst_pipeline_change_state),
892 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
893 Don't ref a NULL clock in _provide_clock_func().
894 Don't allow an INVALID delay.
895 Don't try to calculate base_time with an invalid start_time.
896 Also distribute and notify a NULL clock when it was selected.
898 * tools/gst-launch.c: (event_loop):
899 Don't crash when a NULL clock was selected in the pipeline.
901 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
903 * docs/design/Makefile.am:
904 * docs/design/draft-missing-plugins.txt:
905 * docs/random/draft-missing-plugins.txt:
906 Some small updates: update plugin system identifier prefix
907 ('gstreamer.net' to 'gstreamer'), mention our new install
908 API in libgstbaseutils rather than libgimme-codec, add
909 reference to the online docs.
911 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
913 * win32/common/config.h:
914 Pretty sure Bill never made a powerpc version. Powerpc hackers,
915 use moap cl ci to only check in what is mentioned in the ChangeLog.
917 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
919 * docs/gst/gstreamer-sections.txt:
921 Fix up documentation to link to the correct GstGError section.
922 Add GST_ELEMENT_INFO macro since someone else added a Info message.
924 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
926 * tools/gst-launch.c: (event_loop):
927 Make sure that we actually show the important message part of a
929 No need to check if the gerror is not NULL to free; first of all
930 g_free accepts NULL; and second the default error handler would
931 segfault if gerror was NULL.
933 2007-02-21 Wim Taymans <wim@fluendo.com>
935 * docs/gst/gstreamer-sections.txt:
936 Removed docs as well.
938 2007-02-21 Wim Taymans <wim@fluendo.com>
940 * gst/gstmessage.c: (gst_message_parse_duration):
942 Remove new messages for release.
944 2007-02-20 Wim Taymans <wim@fluendo.com>
946 * docs/design/part-gstghostpad.txt:
947 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
948 (gst_ghost_pad_new_full):
949 Make the ghostpad a parent of the internal pad again for better backward
950 compatibility. Don't write code that relies on this however.
952 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
953 (gst_pad_link_check_hierarchy):
954 Require that parents should be GstElements in the hierarchy check.
956 2007-02-20 Wim Taymans <wim@fluendo.com>
958 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
959 (gst_bin_change_state_func), (bin_query_min_max_init),
960 (bin_query_latency_fold), (bin_query_latency_done),
963 Implement latency query.
965 2007-02-20 Wim Taymans <wim@fluendo.com>
967 * docs/design/part-gstghostpad.txt:
968 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
969 (gst_ghost_pad_internal_do_activate_push),
970 (gst_ghost_pad_internal_do_activate_pull),
971 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
972 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
973 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
974 Do not set the internal pad as a parent anymore so we can avoid
975 hierarchy linking errors when the ghostpad has no parent yet. This also
976 fixes failed activation because of unlinked internal pads, which in
977 turn fixes the impossible case where you have to activate a pad before
978 you can add it to a running element.
981 * gst/gstpad.c: (pre_activate), (post_activate),
982 (gst_pad_set_active), (gst_pad_activate_pull),
983 (gst_pad_activate_push), (gst_pad_check_pull_range):
984 Add some more debug info.
985 Mark activation mode in pre_activate so that we don't try to activate in
986 endless loops. Fixes #385084.
988 2007-02-19 Wim Taymans <wim@fluendo.com>
990 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
991 (gst_base_transform_check_get_range):
992 Implement a checkgetrange function instead of relying on the default
993 core behaviour that assumes we can operate in pull mode if we have a
994 getrange function. First step at fixing #385084.
996 2007-02-15 Stefan Kost <ensonic@users.sf.net>
998 * gst/gstchildproxy.h:
999 * libs/gst/base/gstbasesink.h:
1000 * libs/gst/base/gstbasesrc.h:
1001 * libs/gst/base/gstbasetransform.h:
1002 More docs coverage and some ChangeLog surgery (add missing names)
1004 2007-02-15 Wim Taymans <wim@fluendo.com>
1006 * docs/design/part-TODO.txt:
1007 * docs/design/part-activation.txt:
1008 * docs/design/part-block.txt:
1009 * docs/design/part-buffering.txt:
1010 * docs/design/part-clocks.txt:
1011 * docs/design/part-element-source.txt:
1012 * docs/design/part-events.txt:
1013 * docs/design/part-gstbin.txt:
1014 * docs/design/part-gstbus.txt:
1015 * docs/design/part-gstpipeline.txt:
1016 * docs/design/part-live-source.txt:
1017 * docs/design/part-messages.txt:
1018 * docs/design/part-overview.txt:
1019 * docs/design/part-qos.txt:
1020 * docs/design/part-query.txt:
1021 * docs/design/part-states.txt:
1022 * docs/design/part-trickmodes.txt:
1023 Some doc updates. Start renaming from stream_time to running_time where
1024 it was used wrongly.
1026 2007-02-15 Wim Taymans <wim@fluendo.com>
1028 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1029 Answer LATENCY query.
1031 2007-02-15 Wim Taymans <wim@fluendo.com>
1033 * tests/check/gst/gstevent.c: (event_probe), (test_event),
1037 2007-02-15 Wim Taymans <wim@fluendo.com>
1039 * gst/gstpad.c: (gst_pad_get_internal_links_default),
1040 (gst_pad_dispatcher):
1041 Improve debugging of default pad dispatcher and query functions.
1043 2007-02-15 Wim Taymans <wim@fluendo.com>
1045 * docs/gst/gstreamer-sections.txt:
1046 Remove old unused method.
1048 2007-02-13 Wim Taymans <wim@fluendo.com>
1050 * tests/check/gst/gstsegment.c: (GST_START_TEST):
1053 2007-02-13 Wim Taymans <wim@fluendo.com>
1055 * docs/design/part-seeking.txt:
1058 * gst/gstsegment.c: (gst_segment_set_seek):
1059 Revert old bogus change that should make seeking work again.
1061 2007-02-13 Stefan Kost <ensonic@users.sf.net>
1063 * docs/random/ensonic/dynlink.txt:
1064 * docs/random/ensonic/interfaces.txt:
1065 * docs/random/ensonic/receipies.txt:
1066 Possible dynamic reconnection api, plus some type fixes the other two
1069 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
1071 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1072 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1073 Also check for an absolute path following file:// in the filesrc
1074 element. Remove redundant check and call g_path_is_absolute() on the
1077 2007-02-13 Stefan Kost <ensonic@users.sf.net>
1079 * docs/design/draft-klass.txt:
1080 Add existing category analysis.
1083 Fix doc example, framerate is a fraction.
1085 2007-02-12 Stefan Kost <ensonic@users.sf.net>
1088 * docs/gst/Makefile.am:
1089 * docs/libs/Makefile.am:
1090 * docs/plugins/Makefile.am:
1091 Add crossreferences to glib/gobject docs.
1093 2007-02-12 Wim Taymans <wim@fluendo.com>
1095 * docs/design/draft-latency.txt:
1098 * docs/libs/gstreamer-libs-sections.txt:
1099 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1100 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
1101 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
1102 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
1103 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
1104 (gst_base_sink_get_position), (gst_base_sink_query),
1105 (gst_base_sink_change_state):
1106 * libs/gst/base/gstbasesink.h:
1107 API: gst_base_sink_query_latency() to let subclasses query the upstream
1109 API: gst_base_sink_get_latency() to let subclasses query the configured
1110 latency in the sink.
1111 Implement query and set latency.
1113 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
1114 don't continue preroll when we are flushing. Fixes #405284.
1116 * tests/check/pipelines/stress.c: (change_state_timeout),
1117 (quit_timeout), (GST_START_TEST), (stress_suite):
1120 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
1122 Patch by: René Stadler <mail at renestadler de>
1124 * docs/gst/gstreamer-sections.txt:
1125 * gst/gsttaglist.c: (_gst_tag_initialize):
1127 API: add GST_TAG_REFERENCE_LEVEL (#403597).
1129 2007-02-11 Stefan Kost <ensonic@users.sf.net>
1131 * docs/libs/Makefile.am:
1132 Fix path to core docs.
1134 * gst/gstbin.c: (gst_bin_get_by_interface),
1135 (gst_bin_iterate_all_by_interface):
1136 Refix docs by also renaming 'interface' to 'iface' in implementation.
1138 * docs/gst/gstreamer-sections.txt:
1140 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1141 * gst/gstchildproxy.h:
1142 * gst/gstelementfactory.c:
1143 * gst/gstpadtemplate.h:
1144 * libs/gst/controller/gstcontroller.c:
1145 (gst_controlled_property_new):
1148 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
1150 * gst/gstbin.h:(gst_bin_get_by_interface),
1151 (gst_bin_iterate_all_by_interface):
1152 Replace interface parameter name by iface as interface is
1153 a reserved keyword in Visual Studio for C++ projects so it removes
1154 a build error for application developpers using VS.
1155 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
1156 Fix a bug on Windows in uri format check. Now the prefix checked
1157 is file:// and next we check if the path after file:// is absolute.
1158 * win32/common/libgstbase.def:
1159 * win32/common/libgstdataprotocol.def:
1160 * win32/common/libgstgstreamer.def:
1161 Add new exported functions.
1163 2007-02-09 Andy Wingo <wingo@pobox.com>
1165 * tests/check/pipelines/simple-launch-lines.c
1166 (simple_launch_lines_suite, test_tee): Disable tee test until I
1167 have time to fix it :-(
1169 * tests/check/Makefile.am (noinst_HEADERS):
1170 * tests/check/libs/libsabi.c:
1171 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
1172 * tests/check/gst/gstabi.c:
1173 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
1175 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
1176 tests for push and pull tee behavior.
1178 * plugins/elements/gsttee.h:
1179 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
1180 mark as deprecated as well as unimplemented. It was a crack idea.
1181 Add support for tee operating in pull mode, off by default.
1183 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
1184 normal-case logs down to LOG, raise errors to WARNING.
1185 (gst_registry_xml_read_cache): Don't log before calling a function
1188 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
1189 exit (registry finalize).
1190 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
1191 DEBUG log when we emit signals that people don't even have the
1192 chance to connect to.
1193 (gst_registry_scan_path_level): Less logging in the normal case.
1195 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
1197 Patch by: Michal Benes <michal dot benes at itonis dot tv>
1199 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1200 Correctly generate EOS for non-seekable files. We don't have a total
1201 length for them and would get an unexpected end of file if we only
1202 special-cased for regular files. (Fixes: #404569)
1204 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
1206 * tests/check/elements/filesrc.c: (GST_START_TEST),
1208 Add unit test for the GstURIHandler interface in filesrc. This also
1209 tests the newly added file://localhost/foo/bar support.
1211 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
1213 * gst/gstelementfactory.h:
1214 The klass string is not a hierarchy. Add reference to the design doc
1215 for more information and common types.
1217 2007-02-02 Wim Taymans <wim@fluendo.com>
1219 * gst/gstquery.c: (gst_query_new_latency):
1220 Remove old structure field.
1222 2007-02-02 Stefan Kost <ensonic@users.sf.net>
1224 * tools/gst-launch.1.in:
1225 Give example for network streaming (#351998)
1227 2007-02-02 Wim Taymans <wim@fluendo.com>
1229 * docs/gst/gstreamer-sections.txt:
1230 Add docs for new methods.
1232 * gst/gstevent.c: (gst_event_new_latency),
1233 (gst_event_parse_latency):
1235 Add new LATENCY event to configure latency in a pipeline.
1236 API: gst_event_new_latency
1237 API: gst_event_parse_latency
1239 * gst/gstmessage.c: (gst_message_new_buffering),
1240 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
1241 (gst_message_new_latency), (gst_message_parse_buffering),
1242 (gst_message_parse_lost_preroll):
1244 Added messages used in draft-latency.
1245 API: gst_message_new_lost_preroll
1246 API: gst_message_parse_lost_preroll
1247 API: gst_message_new_prerolled
1248 API: gst_message_new_latency
1250 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1251 (gst_query_parse_latency):
1253 Implemented new latency query as in design doc.
1254 API: gst_query_new_latency
1255 API: gst_query_set_latency
1256 API: gst_query_parse_latency
1258 2007-02-02 Wim Taymans <wim@fluendo.com>
1260 * docs/design/draft-latency.txt:
1261 Slight redesign to allow for dynamic latency adjustments.
1263 * docs/design/part-negotiation.txt:
1266 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
1268 reviewed by: Wim Taymans <wim@fluendo.com>
1270 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1271 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1272 Allow file://localhost/foo/bar URLs and correctly fail for every other
1273 hostname that one sets. This was gnomevfssrc is linked for those if
1274 installed as it can handle it (#403172)
1276 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
1278 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1280 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1281 (unref_data), (gst_collect_pads_add_pad_full):
1282 * libs/gst/base/gstcollectpads.h:
1283 Don't put the previously added destroy notify in the GstCollectData
1284 struct as all it's padding is already used and we don't want to break
1285 ABI. Instead put in the pad's GObject data for now. This should be
1286 cleaned up for 0.11 (#402393).
1288 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
1290 reviewed by: Wim Taymans <wim@fluendo.com>
1292 * docs/libs/gstreamer-libs-sections.txt:
1293 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1294 (unref_data), (gst_collect_pads_add_pad),
1295 (gst_collect_pads_add_pad_full):
1296 * libs/gst/base/gstcollectpads.h:
1297 API: Add function to specify a destroy notification for custom
1298 GstCollectData when adding new pads in GstCollectPads (#402393).
1300 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
1303 Update Swedish translation (#378255).
1305 2007-01-31 Stefan Kost <ensonic@users.sf.net>
1307 * docs/design/draft-klass.txt:
1308 Fix the previous change, this is a list of categories and not a hierarchy.
1310 2007-01-31 Stefan Kost <ensonic@users.sf.net>
1312 * docs/design/draft-klass.txt:
1313 Add info about how to get a list of used classes.
1315 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
1317 * plugins/elements/gsttypefindelement.c:
1318 (gst_type_find_element_chain_do_typefinding),
1319 (gst_type_find_element_change_state):
1320 Don't leak found caps in chain function (no idea why that never
1321 showed up as a leak anywhere).
1323 2007-01-30 Stefan Kost <ensonic@users.sf.net>
1326 Fix and expand GstPluginDesc API docs.
1328 2007-01-29 Stefan Kost <ensonic@users.sf.net>
1331 * gst/gstelementfactory.c:
1332 * gst/gstpadtemplate.h:
1335 * libs/gst/controller/gstcontroller.c:
1336 (gst_controlled_property_new):
1337 * tests/examples/controller/audio-example.c:
1340 2007-01-29 Stefan Kost <ensonic@users.sf.net>
1343 comment about refining the xml deps
1346 comments about moving away from jade for docs
1349 recommit the ifdefs to use the binary registry
1351 * gst/gstbin.c: (gst_bin_change_state_func):
1352 this break is obsolete
1354 * gst/gstelementfactory.h:
1355 better GST_ELEMENT_DETAILS docs, add comment about translation
1360 * gst/gstobject.c: (gst_signal_object_get_type):
1361 add G_UNLIKELY as usual
1363 * gst/gstpad.c: (gst_pad_event_default):
1364 add fall trhu comment
1366 * gst/gstregistrybinary.c: (gst_registry_binary_write),
1367 (gst_registry_binary_initialize_magic),
1368 (gst_registry_binary_save_string),
1369 (gst_registry_binary_save_pad_template),
1370 (gst_registry_binary_save_feature),
1371 (gst_registry_binary_save_plugin),
1372 (gst_registry_binary_write_cache),
1373 (gst_registry_binary_check_magic),
1374 (gst_registry_binary_load_pad_template),
1375 (gst_registry_binary_load_feature),
1376 (gst_registry_binary_load_plugin),
1377 (gst_registry_binary_read_cache):
1378 comment typo and formatting
1380 * gst/gstutils.c: (gst_element_state_get_name),
1381 (gst_element_state_change_return_get_name):
1382 remove obsolete breaks
1384 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1385 add FIXME 0.11 and remove cpp comment
1387 2007-01-29 Edward Hervey <edward@fluendo.com>
1389 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1390 Fix print statement in an even more portable way.
1392 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
1394 * docs/gst/gstreamer-sections.txt:
1396 API: add GST_ROUND_DOWN_* macros (#401781).
1398 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
1400 * docs/gst/gstreamer.types.in:
1401 * gst/gstregistry.c: (gst_registry_class_init):
1402 Document registry signals and make gtk-doc pick them up (#401381).
1404 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
1406 * docs/pwg/building-testapp.xml:
1407 Add some audioconverts and audioresample to the pipeline, and some
1408 more comments and error handling.
1410 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
1412 * docs/manual/manual.xml:
1416 2007-01-26 Wim Taymans <wim@fluendo.com>
1418 * gst/gstcaps.c: (gst_static_caps_get):
1419 Init caps flags too.
1421 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
1423 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1425 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1426 If not using mmap'ed files try to seek to the end instead of the
1427 start to determine whether we can seek at all. This fixes the case
1428 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1429 seeks for everything afterwards fail. Fixes #400656
1431 2007-01-25 Wim Taymans <wim@fluendo.com>
1433 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1434 Add some refcount debugging.
1435 Make gst_static_caps_get threadsafe, which is needed when autoplugging
1436 in multiple streaming threads.
1438 2007-01-25 Wim Taymans <wim@fluendo.com>
1440 Patch by: David Schleef <ds at schleef dot org>
1442 * docs/libs/gstreamer-libs-sections.txt:
1443 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1444 * libs/gst/base/gstadapter.h:
1445 API: gst_adapter_copy() that can reduce the amount of memcpy when
1446 getting data from the adapter. Fixes #388201.
1448 2007-01-25 Edward Hervey <edward@fluendo.com>
1450 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1451 In print statements, "%x" is for guint. Fixes build on macosx.
1453 2007-01-24 Edward Hervey <edward@fluendo.com>
1455 * plugins/elements/gstmultiqueue.c:
1456 (gst_multi_queue_loop):
1458 (single_queue_overrun_cb), (single_queue_underrun_cb),
1459 (single_queue_check_full), (gst_single_queue_new):
1460 Implement single queue growth system.
1461 This uses the extra-size properties, and will grow single queues by
1462 that much if one goes full whereas there are others empty. This is
1463 called extra-mode in the code.
1464 When a single queue's levels go back below the initial max-size
1465 limits, it is no longer in extra-mode. This is to ensure we don't
1466 consume too much memory.
1469 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
1471 * gst/gst.c: (gst_init_get_option_group):
1472 Make warning about late g_thread_init() calls a bit more explicit,
1473 so that it's more obvious to application developers what they need
1474 to do if a user files a bug against their application.
1476 2007-01-22 Edward Hervey <edward@fluendo.com>
1478 * plugins/elements/gstmultiqueue.c:
1479 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1480 Remove previous hack of unsetting the flushing flag for the source pad
1481 instead of activating it. Instead, fix the source pad activate function
1482 so that it no longer depends on having a parent set or not.
1484 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
1486 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1488 * docs/manual/basics-bus.xml:
1489 Fix example code, gst_element_unref() doesn't exist any longer.
1491 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
1493 Patch by: Mark Nauwelaerts <manauw at skynet be>
1496 Fix two docs typoes (#399094).
1498 2007-01-19 Edward Hervey <edward@fluendo.com>
1500 * docs/faq/gst-uninstalled:
1501 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1502 depending on libgstbaseutils can work in uninstalled environment.
1504 2007-01-18 Stefan Kost <ensonic@users.sf.net>
1507 * gst/gsttagsetter.c:
1508 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1509 statement for new tag.
1511 2007-01-17 Edward Hervey <edward@fluendo.com>
1513 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1514 When dynamically creating single queues, activate sinkpad before adding
1516 We should be doing the same thing for the source pad, but we can't
1517 since it would call a method which needs the parent to be set in order
1518 to work propertly. Instead of activating the source pad, we just unset
1519 the flushing flag, which is the minimal requirement for adding a pad
1520 to an element in a state greater than READY.
1522 2007-01-17 Edward Hervey <edward@fluendo.com>
1524 * docs/faq/gst-uninstalled:
1525 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1528 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
1530 * tests/check/gst/gstabi.c:
1531 * tests/check/gst/struct_hppa.h:
1532 * tests/check/libs/libsabi.c:
1533 * tests/check/libs/struct_hppa.h:
1534 Add ABI structs for HPPA (see #393796).
1536 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
1538 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1539 Actually write ABI structs to the file specified in the GST_ABI
1540 environment variable, as the message we print claims we would.
1542 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1544 * tests/check/gst/gsttask.c:
1547 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1549 * gst/gsttaglist.c: (_gst_tag_initialize):
1550 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1551 previous two entries.
1553 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1555 * docs/gst/gstreamer-sections.txt:
1556 * gst/gsttaglist.c: (_gst_tag_initialize):
1558 Add tag support for beat-per-minute.
1560 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1562 * gst/gstregistrybinary.c: (gst_registry_binary_write),
1563 (gst_registry_binary_initialize_magic),
1564 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1565 (gst_registry_binary_save_pad_template),
1566 (gst_registry_binary_save_feature),
1567 (gst_registry_binary_save_plugin),
1568 (gst_registry_binary_write_cache),
1569 (gst_registry_binary_check_magic),
1570 (gst_registry_binary_load_pad_template),
1571 (gst_registry_binary_load_feature),
1572 (gst_registry_binary_load_plugin),
1573 (gst_registry_binary_read_cache):
1574 * gst/gstregistrybinary.h:
1575 Use glib types, cleanup comments, impement interfaces and uri-types.
1577 2007-01-13 Andy Wingo <wingo@pobox.com>
1579 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1580 getrange() to return buffers with other caps, while we fix
1581 demuxers and typefind, or otherwise change part-negotiation.txt.
1583 2007-01-12 Andy Wingo <wingo@pobox.com>
1585 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1586 Factor start/stop into this private function instead of partially
1587 in activate functions and partially in the change_state function.
1588 Fixes setup before the element has changed from READY->PAUSED, as
1589 is the case in pull-mode pipelines.
1590 (gst_base_transform_sink_activate_push)
1591 (gst_base_transform_src_activate_pull): Refactor to use
1592 gst_base_transform_activate().
1593 (gst_base_transform_change_state): Removed, not needed any more.
1595 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1596 Truncate before fixating.
1598 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1599 Don't set_caps() if the result of fixating is ANY, as it's not
1600 supported, and not necessary in the case of a link with no
1601 template caps on either side. Fixes tests/check/libs/basesrc in
1602 some pull-mode tests.
1604 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1605 (gst_base_transform_init, gst_base_transform_sink_activate_push)
1606 (gst_base_transform_src_activate_pull):
1607 Track the activation mode.
1608 (gst_base_transform_setcaps): In pull mode, when activating the
1609 src pad, after activating the sink pad, activate the sink pad's
1610 peer, as discussed in part-negotiation.txt.
1612 * libs/gst/base/gstbasesrc.h:
1613 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1614 vmethod, as in basesink.
1616 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1618 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1619 mode, first proxy the setcaps to the peer pad.
1620 (gst_base_sink_pad_fixate): Add a fixate function that calls the
1622 (gst_base_sink_default_activate_pull): Rename from
1623 gst_base_sink_activate_pull.
1624 (gst_base_sink_negotiate_pull): New function, performs negotiation
1625 in pull mode before calling ::activate_pull().
1626 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1627 vmethod instead of the default implementation. I have no idea how
1628 this worked before. Negotiate before calling activate_pull.
1630 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1631 sink pads in pull mode. In addition to being correct, fixes
1632 filesrc ! decodebin ! identity ! fakesink.
1633 (gst_pad_get_range, gst_pad_pull_range): Don't call
1634 gst_pad_set_caps() if the caps changes; instead error out with
1635 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1637 2007-01-12 Andy Wingo <wingo@pobox.com>
1639 * docs/design/part-negotiation.txt: Update with more policy.
1641 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
1643 * libs/gst/check/gstbufferstraw.h:
1644 * libs/gst/check/gstcheck.h:
1645 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1648 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
1650 * tests/check/Makefile.am:
1651 * tests/check/gst/.cvsignore:
1652 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1653 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1654 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1655 (GST_START_TEST), (gst_tag_setter_suite):
1656 Add minimal unit test for beforementioned GstTagSetter bug.
1658 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
1660 Patch by: René Stadler <mail at renestadler dot de>
1662 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1663 gst_tag_list_merge() returns a new list, so it's not the best idea
1664 to ingore its return value. Effectively meant that tags could only
1665 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1666 Also add function guard to require a non-NULL taglist as input (has
1667 always been so due to gst_tag_list_copy(), just making it explicit).
1669 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
1671 * docs/random/draft-missing-plugins.txt:
1672 Some additions: mention new API that is supposed to be used at the
1673 various stages; short blob about new gst-inspect introspection
1674 option; mention potential future problem with plugins that have
1675 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1677 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
1679 * tools/gst-inspect.c:
1680 (print_plugin_automatic_install_info_codecs),
1681 (print_plugin_automatic_install_info_protocols),
1682 (print_plugin_automatic_install_info), (main):
1683 Add --print-plugin-auto-install-info option to gst-inspect, so we can
1684 introspect plugin files and get machine-parsable output that corresponds
1685 to the last bit of the missing-plugin installer string (small gotcha:
1686 doesn't take into account ranks).
1688 2007-01-11 Stefan Kost <ensonic@users.sf.net>
1691 * docs/gst/gstreamer-sections.txt:
1693 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1694 (gst_registry_lookup_locked):
1695 * gst/gstregistry.h:
1696 * gst/gstregistrybinary.c: (gst_registry_binary_write),
1697 (gst_registry_binary_initialize_magic),
1698 (gst_registry_binary_save_string),
1699 (gst_registry_binary_save_pad_template),
1700 (gst_registry_binary_save_feature),
1701 (gst_registry_binary_save_plugin),
1702 (gst_registry_binary_write_cache),
1703 (gst_registry_binary_check_magic),
1704 (gst_registry_binary_load_pad_template),
1705 (gst_registry_binary_load_feature),
1706 (gst_registry_binary_load_plugin),
1707 (gst_registry_binary_read_cache):
1708 * gst/gstregistrybinary.h:
1709 * gst/gstregistryxml.c: (load_feature),
1710 (gst_registry_xml_read_cache):
1711 commit binary registry (disabled by default, see #359653)
1713 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
1715 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1716 Fix 'make check' too.
1718 2007-01-10 Andy Wingo <wingo@pobox.com>
1720 * docs/design/part-negotiation.txt: Fix a typo, add a couple
1723 * docs/design/part-negotiation.txt: Update with, um, one way that
1724 pull-mode negotiation might work?
1727 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1728 that the pad must be a src pad; makes sense to call it the other
1729 way in pull mode, and the logic is symmetric anyway.
1731 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
1733 * plugins/elements/gstfilesink.c:
1734 Include <stdio.h> for fseeko().
1736 2007-01-10 Wim Taymans <wim@fluendo.com>
1740 Reserve LATENCY event.
1742 2007-01-09 Wim Taymans <wim@fluendo.com>
1744 * docs/design/draft-latency.txt:
1747 2007-01-09 Wim Taymans <wim@fluendo.com>
1749 * docs/design/draft-latency.txt:
1753 * gst/gststructure.c:
1757 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
1759 * tests/check/.cvsignore:
1760 Ignore test-registry.xml as well.
1762 2007-01-09 Wim Taymans <wim@fluendo.com>
1764 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1765 unref data at the end when we are done with the pad.
1767 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
1769 * docs/gst/gstreamer-sections.txt:
1770 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1771 (init_post), (gst_deinit), (gst_update_registry):
1773 API: add gst_update_registry() (#391296).
1775 * tests/check/Makefile.am:
1776 * tests/check/gst/gstregistry.c:
1777 * tests/check/gst/.cvsignore:
1778 Simple unit test for the above.
1780 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
1782 * gst/gstregistry.c: (gst_registry_scan_path_level):
1783 Plugin extension on HP-UX is .sl, add that to the list of approved
1784 plugin extensions (see #393796).
1786 * tests/check/gst/gstpad.c: (GST_START_TEST):
1787 ulong => gulong. Fixes compilation with HP-UX compiler.
1789 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1790 Fix compilation if valgrind headers are not available.
1792 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
1794 * win32/common/libgstreamer.def:
1795 Add new exported function.
1796 * win32/vs6/libgstbase.dsp:
1797 Add gstdataqueue.c to the build.
1798 * win32/vs6/libgstcoreelements.dsp:
1799 Add gstmultiqueue.c to the build.
1801 2007-01-06 Andy Wingo <wingo@pobox.com>
1803 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
1804 activate_pull(), providing for a way to specialize the process of
1805 spawning a thread to pull on the sink pad. There is a default
1808 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
1809 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
1810 (gst_base_sink_init): Renamed pad activation functions (inserting
1811 "_pad" in their names). Refactor to use the new activate_pull
1812 vmethod, as appropriate.
1813 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
1814 default activate_pull function to start a task pulling from the
1815 sink pad, as before.
1817 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
1818 on the pads if necessary, as in push()/chain(). Update docs.
1819 Shouldn't affect existing pull() usage as it is currently only
1820 being used on buffers without caps.
1822 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1824 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1826 Call g_thread_init() first thing in gst_init() / gst_check_init().
1827 When initialisation is done via gst_init_get_option_group() and
1828 GOption parsing, issue a warning if the GLib thread system has not
1829 been initialised yet by the time gst_init_get_option_group() is
1830 called, as it's quite likely other GLib functions such as
1831 g_option_context_new() have been called already then, and
1832 g_thread_init() must be called before any other GLib function. The
1833 application in question must be fixed in that case, since memory
1834 corruption might happen otherwise.
1835 We issue the warning because even if the GLib folks decide to work
1836 around the problem on their end in future, this is still an issue
1837 with all GLib versions >= 2.10.0, so we should warn until we depend
1838 on a GLib version we know to be safe.
1839 Update documentation as well.
1842 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1844 * tools/gst-inspect.c: (main):
1845 * tools/gst-launch.c: (main):
1846 * tools/gst-typefind.c: (main):
1847 * tools/gst-xmlinspect.c: (main):
1848 Call g_thread_init() really really early, before any other GLib
1849 function (see #342564 and recent discussion on gtk-devel-list).
1851 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1853 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
1855 * gst/gst_private.h:
1856 * gst/gstconfig.h.in:
1858 On win32, all the __declspec stuff for symbol exporting is
1859 apparently only needed with MSVC, but doesn't work with MingW.
1860 Fixes compilation with MingW and #391909.
1862 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1864 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
1865 Change some GST_ERROR_OBJECT that aren't really errors to
1866 GST_WARNING_OBJECT in order to reduce terminal spam.
1868 2007-01-04 Stefan Kost <ensonic@users.sf.net>
1870 * tests/check/Makefile.am:
1871 disable test again, as there seem to be still race problems
1873 2007-01-04 Stefan Kost <ensonic@users.sf.net>
1875 * tests/check/Makefile.am:
1876 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1877 (GST_START_TEST), (queue_suite):
1878 enable queue test again, add tests for the leaky behaviour
1880 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
1883 * tests/examples/Makefile.am:
1884 Compile adapter test/example only if the required headers are
1885 available (fixes #391915).
1887 2007-01-01 David Schleef <ds@schleef.org>
1890 Restore the previous signal handler for SIGSEGV instead of
1891 setting to default, since we may have stolen it away from
1892 someone. (i.e., Mono)
1894 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
1896 * docs/random/draft-missing-plugins.txt:
1897 Some small additions and clarifications.
1899 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
1901 * gst/gstregistryxml.c: (gst_registry_save_escaped):
1902 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
1903 since that can lead to random memory corruptions and crashes
1904 (may or may not be related to #383244, #386711, and #386711).
1906 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1908 * tests/check/.cvsignore:
1909 * tests/check/Makefile.am:
1910 sync .cvsignome and CLEANFILES
1912 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1914 * tests/check/Makefile.am:
1917 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1919 * docs/design/part-states.txt:
1920 two tiny additional comments
1922 * gst/gststructure.c:
1925 * tests/check/Makefile.am:
1926 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1928 disable test for now, unless it gets fixed
1930 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1932 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1934 fix race in underrun test
1936 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1938 * tests/check/elements/.cvsignore:
1941 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1943 try to narrow test failure
1945 2006-12-21 David Schleef <ds@schleef.org>
1947 * plugins/elements/gstfakesrc.c:
1948 Use g_random_int_range(), since it produces better random
1949 numbers in a range than almost-correct floating point code.
1951 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1953 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1954 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1955 (gst_check_teardown_sink_pad):
1956 do not automatically (de)activate pads
1958 * tests/check/Makefile.am:
1959 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1960 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
1961 add new, yet simple tests for queue
1963 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
1964 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
1965 * tests/check/elements/filesrc.c: (cleanup_filesrc),
1967 * tests/check/elements/identity.c: (cleanup_identity):
1968 consistent pad (de)activation
1970 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
1972 Patch by: Sebastian Dröge <slomo ubuntu com>
1974 * libs/gst/base/gstcollectpads.c:
1975 Fix two doc typos (#387866).
1977 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
1979 * docs/manual/advanced-dparams.xml:
1980 Fix typo (g_object_control_properties() doesn't exist).
1982 2006-12-19 Edward Hervey <edward@fluendo.com>
1984 * gst/gstsegment.c: (gst_segment_set_seek):
1985 Fine tune the cases where the segment start/stop values are really
1987 * tests/check/gst/gstsegment.c: (GST_START_TEST):
1988 Add tests for the return values of gst_segment_set_seek().
1990 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
1995 * plugins/elements/gstqueue.c: (gst_queue_class_init),
1997 Fix incorrect documentation and flesh it out a bit more.
1998 Set default values for the max properties on the GParamSpec as well,
1999 so it shows up correctly in gst-inspect.
2001 2006-12-18 Stefan Kost <ensonic@users.sf.net>
2003 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2004 Correct docs of queue, add more detail and crosslink it more.
2006 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
2008 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2009 Print additional debug info when the stream isn't perfectly
2010 timestamped; don't try to use invalid durations.
2012 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
2014 * docs/design/Makefile.am:
2015 Dist new design docs.
2017 2006-12-16 Wim Taymans <wim@fluendo.com>
2019 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2021 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
2022 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2023 (gst_collect_pads_stop), (gst_collect_pads_event),
2024 (gst_collect_pads_chain):
2025 * libs/gst/base/gstcollectpads.h:
2026 Add refcounting to the collectpads data so we can track when it's safe
2027 to free the data. Fixes #383382.
2029 2006-12-15 Wim Taymans <wim@fluendo.com>
2031 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2032 (gst_collect_pads_remove_pad):
2033 Automatically activate/deactivate pads when they are added to a
2034 started/stoped collectpads.
2036 2006-12-15 Wim Taymans <wim@fluendo.com>
2038 * gst/gstelement.c: (gst_element_add_pad):
2039 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
2040 * gst/gstpad.c: (gst_pad_init):
2041 Set pads to FLUSHING when they are created. Check, warn and fix when a
2042 demuxer adds an inactive pad to itself when running. Fixes #339326.
2044 2006-12-15 Wim Taymans <wim@fluendo.com>
2046 * gst/gstelement.c: (gst_element_class_init),
2047 (gst_element_default_send_event), (gst_element_send_event),
2048 (gst_element_default_query), (gst_element_query):
2049 Expose default element send_event and query handling as vmethods that
2050 subclasses can chain up to.
2052 2006-12-15 Wim Taymans <wim@fluendo.com>
2054 * gst/gstelement.c: (gst_element_set_state_func):
2055 Small documentation fixes.
2057 2006-12-15 Wim Taymans <wim@fluendo.com>
2059 * docs/design/draft-latency.txt:
2060 Checked in draft for handling latency in pipelines.
2062 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
2066 * gstreamer.spec.in:
2069 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
2071 * gst/gst.c: (init_pre), (init_post):
2072 init_pre() and init_post() might be called via our GOptionGroup or
2073 from gst_init(), and we should skip both of them if we've already
2074 been initialised, otherwise we will init some things twice or add
2075 two default log functions.
2077 2006-12-13 Edward Hervey <edward@fluendo.com>
2079 * docs/manual/basics-bus.xml:
2080 No, gst_main_loop does not exist. Its g_main_loop.
2081 Discovered by somebody who abused the copy-paste technique of coding :)
2083 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
2085 * gst/gstghostpad.c:
2086 Log ghostpad debug stuff to the GST_PADS category as well rather
2087 than just to the default category.
2089 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
2092 * gst/gst.c: (init_pre):
2093 Add some basic system details such as OS and architecture
2094 to the debug output if possible, courtesy of uname().
2096 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
2098 * docs/gst/running.xml:
2099 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
2100 environment variables.
2102 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
2104 * tests/check/gst/gstbin.c: (GST_START_TEST):
2105 It is acceptable to have a refcount of 2 or 3 at this point in the
2106 test, because the pipeline might be just posting its state_change
2107 message. The next line then waits for that message to appear using
2108 bus_poll, so that should be fine too.
2110 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
2112 * gst/gst.c: (ensure_current_registry_forking):
2113 Ignore EINTR when reading from the child registry pipe.
2114 Explicitly ignore the return value from close, since it makes no
2117 * gst/gstminiobject.c: (gst_mini_object_ref),
2118 (gst_mini_object_unref):
2119 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
2121 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
2122 When removing cached plugins, remove their features too, so they're
2123 not visible after they've disappeared.
2125 * gst/gstutils.c: (prepare_link_maybe_ghosting):
2126 In the unlikely case that we are linking pads with no parents, don't
2127 crash trying to get the non-existent parent bin.
2129 * gst/parse/grammar.y:
2130 Output debug in the PIPELINE category
2132 2005-03-08 Wim Taymans <wim@fluendo.com>
2134 Patch by: René Stadler <mail at renestadler dot de>
2136 * gst/gstclock.c: (gst_clock_new_periodic_id):
2137 Reject invalid clock times for interval of periodic ids.
2140 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
2142 * gst/gstelementfactory.c: (gst_element_factory_create):
2143 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2144 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2145 * tools/gst-inspect.c: (print_element_info):
2146 Fix refcounting of gst_plugin_feature_load to match the docs.
2149 2006-12-07 Wim Taymans <wim@fluendo.com>
2151 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2152 (gst_base_sink_get_position):
2153 Improve debugging of events.
2155 2006-12-07 Wim Taymans <wim@fluendo.com>
2157 Patch by: René Stadler <mail at renestadler dot de>
2159 * gst/gstclock.c: (gst_clock_id_wait):
2160 Make period ids add the interval to the origial requested time instead
2161 of the possibly updated time which can be wrong when there are multiple
2162 waiters for the same id. Fixes #382592.
2164 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
2165 (gst_system_clock_id_wait_jitter_unlocked),
2166 (gst_system_clock_id_wait_jitter):
2167 Fix restart in the async notify thread when an async entry is added to
2168 the front of the list. Fixes #381492.
2170 * tests/check/gst/gstsystemclock.c: (store_callback),
2171 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
2172 Added test for multiple async waits.
2173 Added test for async wait order.
2175 2006-12-07 Wim Taymans <wim@fluendo.com>
2177 * gst/gstbin.c: (gst_bin_query):
2178 Add some more docs about the POSITION query.
2180 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
2183 Bump version nano - back to CVS.
2185 === release 0.10.11 ===
2187 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
2190 releasing 0.10.11, "Love never runs on time"
2192 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
2194 * win32/common/libgstbase.def:
2195 * win32/common/libgstreamer.def:
2196 * win32/vs8/libgstbase.vcproj:
2197 * win32/vs8/libgstcoreelements.vcproj:
2198 * win32/vs8/libgstreamer.vcproj:
2199 Fix compilation on win32 under VS8
2200 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2201 Partially fixes #381175
2203 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
2205 * gst/gstvalue.c: (gst_value_compare_fraction):
2206 If someone is foolish enough to compare 2 fractions with denominator =
2207 0, return UNORDERED rather than aborting.
2209 2006-11-28 Edward Hervey <edward@fluendo.com>
2211 * libs/gst/base/Makefile.am:
2212 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
2213 (gst_data_queue_base_init), (gst_data_queue_class_init),
2214 (gst_data_queue_init), (gst_data_queue_new),
2215 (gst_data_queue_cleanup), (gst_data_queue_finalize),
2216 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
2217 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
2218 (gst_data_queue_is_empty), (gst_data_queue_is_full),
2219 (gst_data_queue_set_flushing), (gst_data_queue_push),
2220 (gst_data_queue_pop), (gst_data_queue_drop_head),
2221 (gst_data_queue_set_property), (gst_data_queue_get_property):
2222 * libs/gst/base/gstdataqueue.h:
2223 New GstDataQueue object for threadsafe queueing. Most useful for
2224 elements that need some queueing functionnality.
2225 * docs/libs/gstreamer-libs-docs.sgml:
2226 * docs/libs/gstreamer-libs-sections.txt:
2227 Insert documentation for GstDataQueue
2228 * plugins/elements/Makefile.am:
2229 * plugins/elements/gstelements.c:
2230 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2231 (gst_multi_queue_class_init), (gst_multi_queue_init),
2232 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2233 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
2234 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
2235 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2236 (gst_multi_queue_loop), (gst_multi_queue_chain),
2237 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2238 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
2239 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
2240 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
2241 (wake_up_next_non_linked), (compute_next_non_linked),
2242 (single_queue_overrun_cb), (single_queue_underrun_cb),
2243 (single_queue_check_full), (gst_single_queue_new):
2244 * plugins/elements/gstmultiqueue.h:
2245 New multiqueue element, using GstDataQueue. Used for queuing multiple
2247 Closes #344639 and #347785
2249 2006-11-22 Stefan Kost <ensonic@users.sf.net>
2251 * docs/pwg/advanced-types.xml:
2252 add more missing type details
2254 * tools/gst-run.c: (main):
2255 remove unused variable
2257 2006-11-21 Stefan Kost <ensonic@users.sf.net>
2259 * docs/libs/Makefile.am:
2260 * docs/libs/gstreamer-libs.types:
2261 add types of base classes to enable gobject specific stuff in the docs
2263 * docs/random/ensonic/embedded.txt:
2264 more ideas about isolating platform specific things
2266 2006-11-20 Wim Taymans <wim@fluendo.com>
2268 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
2270 * libs/gst/check/gstcheck.h:
2271 Fix compilation and running against 0.9.4. Fixes #377332.
2273 2006-11-20 Wim Taymans <wim@fluendo.com>
2275 * gst/gstsegment.c: (gst_segment_set_seek),
2276 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2277 (gst_segment_to_running_time):
2278 Fix boundary checking in to_running_time() and to_stream_time().
2281 * tests/check/gst/gstsegment.c: (GST_START_TEST):
2282 stream and running time can now be calculated for the complete
2285 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
2287 * gst/gstpad.c: (gst_pad_push_event):
2288 Can't access event structure after giving away ownership of
2291 2006-11-15 Stefan Kost <ensonic@users.sf.net>
2293 * docs/random/ensonic/embedded.txt:
2294 * docs/random/ensonic/profiling.txt:
2295 * docs/random/ensonic/receipies.txt:
2298 2006-11-13 Wim Taymans <wim@fluendo.com>
2300 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2303 Fix documentation for gst_pad_dispatcher. Fixes #374475.
2305 2006-11-13 Wim Taymans <wim@fluendo.com>
2307 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2309 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2310 Store new length in segment duration so we don't keep on calling the
2311 potentially expensize get_size() call. Fixes #370865.
2313 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
2315 Patch by: Sergey Scobich <sergey.scobich at gmail com>
2317 * win32/common/libgstreamer.def:
2318 Add two missing symbols (#366492).
2320 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
2322 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2323 (gst_adapter_take_buffer):
2324 Fix format string to use all its arguments.
2325 Remove useless >= check on a guint
2327 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
2329 * tests/examples/adapter/.cvsignore:
2330 Ignore build file as commanded by the build-bot
2332 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
2334 * tests/examples/adapter/Makefile.am:
2335 * tests/examples/adapter/adapter_test.c: (run_test_take),
2336 (run_test_take_buffer), (run_tests), (main):
2338 Add new files from the previous commit
2340 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
2344 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2345 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2346 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2347 * libs/gst/base/gstadapter.h:
2348 * tests/check/libs/adapter.c: (create_and_fill_adapter),
2349 (GST_START_TEST), (gst_adapter_suite):
2350 * tests/examples/Makefile.am:
2351 Do some optimisation work in GstAdapter to avoid copies in more cases.
2352 It could still do slightly better by merging buffers when
2353 gst_buffer_is_span_fast is true, but is already faster.
2355 Also, avoid traversing a single-linked list to append each incoming
2356 buffer inside the adapter.
2358 Add simple test app that times the adapter behaviour in different
2359 situations, and extend the unit test to check that bytes enter and
2360 exit the adapter in their original order.
2362 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
2364 * docs/random/draft-missing-plugins.txt:
2365 Update: use element message instead of adding a new message
2366 type to the core; don't provide GStreamer API to initiate the
2367 plugin download, just provide API to compose the strings needed
2368 and let an external libgimmestuff handle the rest.
2370 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
2372 * tools/gst-inspect.c: (print_element_properties_info):
2373 Print a string instead of 'unknown type' for GValueArray properties
2375 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
2377 * docs/random/draft-missing-plugins.txt:
2380 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
2382 * tests/examples/typefind/typefind.c: (type_found), (main):
2383 Make typefind element example work again (#371894); add a
2386 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
2388 * docs/random/draft-missing-plugins.txt:
2389 Commit initial draft about how to deal with missing plugins,
2390 needs work (API too).
2392 2006-11-07 Stefan Kost <ensonic@users.sf.net>
2394 * docs/pwg/advanced-types.xml:
2395 documents the new caps elements (see #363118)
2397 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
2399 * gst/gstplugin.c: (gst_plugin_load_file):
2400 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2401 (gst_file_src_map_region), (gst_file_src_start):
2402 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2403 (gst_file_index_commit):
2404 Use g_strerror() instead of strerror() - we want UTF-8.
2406 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
2408 Patch by: Peter Kjellerstedt <pkj at axis com>
2410 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2411 Another printf fix (#371493).
2413 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2415 * tests/check/gst/gsttag.c:
2416 relicence (okay with author=company)
2418 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2420 * gst/gstpad.c: (gst_pad_event_default_dispatch),
2421 (gst_pad_push_event):
2422 Enhance debug and improve docs
2427 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2429 * docs/random/ensonic/distributed.txt:
2430 * docs/random/ensonic/profiling.txt:
2433 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2435 * docs/gst/gstreamer-sections.txt:
2436 add new API and fix the build
2438 * gst/gstbin.c: (gst_bin_recalc_state):
2439 * gst/gstelement.c: (gst_element_message_full),
2440 (gst_element_get_state_func), (gst_element_set_state_func):
2441 use new API and improve logging
2443 * gst/gstutils.c: (gst_element_state_change_return_get_name):
2445 API: add function to get StateChangereturn names to improve logs
2447 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
2449 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2450 I'm considering shooting the next person to put strerror stuff
2451 in the translateable part of the message.
2453 2006-11-03 Wim Taymans <wim@fluendo.com>
2455 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2456 Get the type and printf conversion specifiers right.
2458 2006-11-03 Wim Taymans <wim@fluendo.com>
2460 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2462 * gst/gstpad.c: (gst_pad_init), (pre_activate),
2463 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2464 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2465 Some small cleanups. Improve debugging.
2467 Signal all waiting threads with a broadcast instead of just one.
2470 2006-11-03 Wim Taymans <wim@fluendo.com>
2472 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2473 (gst_fd_src_create):
2475 Only update fd when it's different from the old.
2477 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
2479 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2480 Printf fixes for PPC/OSX, take two (#369366).
2482 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
2484 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
2486 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2487 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2488 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2489 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2490 don't cast to long long for portability reasons, but use
2491 GLib's types instead.
2493 2006-10-30 Michael Smith <msmith@fluendo.com>
2495 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2496 Get the arguments to lseek() the right way around.
2499 2006-10-30 Wim Taymans <wim@fluendo.com>
2501 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2504 _declspec should be __declspec (two underscores, not one). Fixes 366572.
2506 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
2508 Patch by: Kjartan Maraas <kmaraas at gnome org>
2510 * docs/design/part-MT-refcounting.txt:
2511 * docs/random/wtay/capsnego2-docs:
2514 Typo fixes (#366212).
2516 2006-10-28 Wim Taymans <wim@fluendo.com>
2518 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2521 * win32/common/libgstbase.def:
2522 * win32/common/libgstreamer.def:
2523 * win32/vs8/libgstbase.vcproj:
2524 * win32/vs8/libgstcontroller.vcproj:
2525 Add needed entries in .def files.
2527 Rearrange def files in vs8 solutions. Fixes #366286.
2529 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
2531 * win32/common/gstconfig.h:
2532 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2533 hand-made win32 gstconfig.h. Fixes #366321.
2535 2006-10-27 Wim Taymans <wim@fluendo.com>
2537 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2538 (gst_ghost_pad_new_full):
2539 Make acceptcaps return TRUE when we don't have a target, just like
2542 2006-10-27 Wim Taymans <wim@fluendo.com>
2544 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2545 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2547 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
2549 * gst/gststructure.c: (gst_structure_id_set_value):
2550 If someone tries to set a non-UTF8 string field on a structure,
2551 don't just print a warning, but also ignore the request and do
2552 not change/add that field to the structure.
2554 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2557 2006-10-25 David Schleef <ds@schleef.org>
2560 g_hash_table_insert() needs a cast to a non-const pointer duh.
2562 2006-10-25 David Schleef <ds@schleef.org>
2566 Change name parameter of _gst_debug_register_funcptr to const
2567 to reflect the constness of its use in the function as well
2568 as to quiet a gcc warning.
2570 2006-10-25 Edward Hervey <edward@fluendo.com>
2572 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2573 Don't push the buffer if it's empty.
2576 2006-10-24 Wim Taymans <wim@fluendo.com>
2581 * libs/gst/base/gstbasetransform.c:
2582 (gst_base_transform_sink_eventfunc):
2583 Debug segment values *after* updating them as this is more
2586 2006-10-23 Wim Taymans <wim@fluendo.com>
2588 * docs/design/part-events.txt:
2591 * docs/design/part-block.txt:
2592 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2593 (gst_pad_push_event):
2594 Revert BLOCKING patch, it tries to be smart without really having a
2595 clear idea what or how. So, now we discard all FLUSHING events again on
2596 a blocking pad. Should fix gnonlin again.
2598 2006-10-23 Wim Taymans <wim@fluendo.com>
2600 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2602 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2603 (gst_base_src_start), (gst_base_src_activate_push):
2604 Make sure size is always initialized. Fixes #364388.
2606 2006-10-20 Stefan Kost <ensonic@users.sf.net>
2608 * docs/random/ensonic/distributed.txt:
2609 add some ideas about doing distributed processing
2611 * docs/random/ensonic/profiling.txt:
2612 get_rusage look promising
2614 2006-10-18 Stefan Kost <ensonic@users.sf.net>
2616 * docs/manual/basics-helloworld.xml:
2617 Add a cast in example to fix compile warning
2619 2006-10-18 Wim Taymans <wim@fluendo.com>
2621 * gst/gstsegment.c: (gst_segment_set_last_stop),
2622 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2623 Relax arg checking again, -1 is allowed.
2625 2006-10-18 Wim Taymans <wim@fluendo.com>
2627 * gst/gstsegment.c: (gst_segment_set_last_stop),
2628 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2629 _set_last_stop() must be with a value != -1
2630 A _TYPE_SET to -1 means seek to 0.
2631 Calc last_stop correctly for negative rates.
2632 Make sure we work with positive durations when updating a segment.
2634 2006-10-18 Wim Taymans <wim@fluendo.com>
2636 * docs/design/part-live-source.txt:
2640 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
2643 Add an explicit cast to GstBuffer** to keep old code that added an
2644 explicit cast to GstMiniObject** for gst_mini_object_replace()
2645 compiling without warning.
2647 2006-10-18 Stefan Kost <ensonic@users.sf.net>
2649 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2650 check for validity of dates
2652 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
2654 * docs/gst/gstreamer-sections.txt:
2655 Forgot this one, makes gtk-doc shut up.
2657 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
2659 Patch by: Peter Kjellerstedt <pkj at axis com>
2662 Don't define xmlNodePtr to gpointer if the core was built with
2663 --disable-loadsave and --disable-registry, this will break
2664 applications that want to use libxml2 but are buildling against a
2665 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2666 instead so we don't have to mess with the libxml2 namespace
2669 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
2672 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2673 type-punned pointer warnings.
2675 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
2678 Add casts to the correct return type to state <=> state transition
2681 2006-10-16 Stefan Kost <ensonic@users.sf.net>
2683 * docs/design/part-live-source.txt:
2684 describe howto handle latency
2686 * docs/random/ensonic/profiling.txt:
2689 * tools/gst-plot-timeline.py:
2690 fix log parsing for solaris, remove unused function
2692 2006-10-16 Wim Taymans <wim@fluendo.com>
2694 * docs/design/part-trickmodes.txt:
2696 Update some docs regarding reverse playback.
2698 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
2700 Patch by: Marcus Granado <mrc dot gran at gmail com>
2702 * win32/vs8/grammar.vcproj:
2703 Error out with a warning if glib-genmarshal.exe is not in path,
2704 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2706 2006-10-13 Wim Taymans <wim@fluendo.com>
2708 * gst/gstsegment.c: (gst_segment_set_seek):
2709 When seeking to stop -1, set last_stop (current position) to the
2710 duration of the segment.
2712 2006-10-13 Wim Taymans <wim@fluendo.com>
2715 Clarify _NO_PREROLL a bit more.
2720 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2721 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2722 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2723 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2724 due to wrong locking order. Fixes #361769.
2725 Remove some redundant/misplaced checks in pad_block.
2727 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2728 For negative rates, count backwards from the duration.
2730 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
2732 * gst/gsterror.c: (_gst_library_errors_init):
2733 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2734 up with something better).
2736 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
2738 * win32/vs6/libgstreamer.dsp:
2739 * win32/vs7/libgstreamer.vcproj:
2740 * win32/vs8/libgstreamer.vcproj:
2741 Don't reference glib-compat.c which is currently not used and not
2742 disted; add gstquark.c which was recently added. Fixes #361730.
2744 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
2746 * win32/common/libgstbase.def:
2747 * win32/common/libgstcontroller.def:
2748 * win32/common/libgstreamer.def:
2749 Add gst_caps_merge() and a bunch of other recently-added functions.
2752 2006-10-11 Wim Taymans <wim@fluendo.com>
2754 * docs/plugins/gstreamer-plugins.args:
2755 * docs/plugins/inspect/plugin-coreelements.xml:
2756 * docs/plugins/inspect/plugin-coreindexers.xml:
2757 Update element args.
2759 * gst/gstsystemclock.c:
2760 Small comment update.
2762 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2763 (gst_tee_request_new_pad), (gst_tee_release_pad),
2764 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2765 (gst_tee_sink_activate_pull):
2766 * plugins/elements/gsttee.h:
2768 Add default property defines.
2769 Implement release pad function.
2770 Give properties better blubs etc.
2771 Activate pads before adding them to a running tee.
2772 Do simple buffer_alloc on the first requested pad.
2773 Post error when activation fails.
2775 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
2777 * gst/gst.c: (ensure_current_registry_forking):
2778 Check return value of write() to make compiler happy.
2780 2006-10-11 Wim Taymans <wim@fluendo.com>
2782 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2784 * plugins/elements/gstqueue.c: (gst_queue_chain):
2785 Recheck queue filledness after signalling the overrun when we're about
2786 to leak downstream because we released the lock when emitting the signal
2787 and the queue could be empty again. Fixes #352345.
2789 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
2791 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
2792 Fix refcounting here too, just like we did for _new_valist() a few
2793 days ago (#357180) (thanks to René Stadler). Also remove all those
2794 'Since: 0.9' from the gtk-doc blobs.
2796 * tests/check/libs/controller.c: (controller_refcount_new_list),
2797 (gst_controller_suite):
2798 Unit test for the above.
2800 2006-10-10 Wim Taymans <wim@fluendo.com>
2802 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
2804 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2805 (gst_pad_save_thyself):
2807 Write pad direction in XML output. Fixes #345496.
2809 2006-10-10 Wim Taymans <wim@fluendo.com>
2811 Patch by: René Stadler <mail at renestadler dot de>
2813 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2814 (gst_controller_new_list), (_gst_controller_dispose),
2815 (_gst_controller_finalize), (_gst_controller_class_init):
2816 Take ref to controlled object so that it cannot disappear.
2819 2006-10-10 Wim Taymans <wim@fluendo.com>
2821 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2822 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2823 (gst_check_teardown_sink_pad):
2824 Activate/deactivate pads in setup/teardown respectively.
2826 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2828 Patch by: Josep Torre Valles <josep@fluendo.com>
2831 Cast values when making gstenumtypes.h. This pacifies Forte
2832 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
2835 2006-10-09 Wim Taymans <wim@fluendo.com>
2837 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
2838 Rename some more @cur to @start to fix docs.
2840 * gst/gstsegment.c: (gst_segment_set_seek):
2842 time and start must always stay in sync as defined in design doc.
2844 * gst/gsttaglist.c: (gst_tag_list_is_empty):
2845 Rename param to fix docs.
2847 * tests/check/gst/gstsegment.c: (GST_START_TEST):
2848 Check that start and time are in sync.
2850 * tests/check/pipelines/parse-launch.c:
2851 (gst_parse_test_element_change_state):
2852 Activate pad before adding to the element.
2854 2006-10-09 Wim Taymans <wim@fluendo.com>
2856 * docs/design/part-qos.txt:
2861 Update seek event docs regarding negative rates.
2862 Rename @cur to @start.
2864 * gst/gstsegment.c: (gst_segment_set_seek):
2866 Update set_seek docs regarding negative rates.
2867 Correctly update last_stop to @stop when dealing with negative
2869 Rename @cur to @start.
2871 * tests/check/gst/gstpad.c: (GST_START_TEST):
2872 Activate pads before trying to use them.
2874 * tests/check/gst/gstsegment.c: (GST_START_TEST),
2875 (gst_segment_suite):
2876 Add simple check for segments and negative rates.
2878 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
2880 * gst/gsttaglist.c: (gst_tag_list_is_empty):
2882 * docs/gst/gstreamer-sections.txt:
2883 API: add gst_tag_list_is_empty() (#360467).
2885 * tests/check/gst/gsttag.c: (GST_START_TEST):
2888 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2891 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
2892 a value that doesn't fit on enumeration.
2894 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2896 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2897 Remove local debugging system and use Gstreamer's instead.
2899 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2901 Patch by: Josep Torre Valles <josep@fluendo.com>
2903 * common/m4/gst-error.m4:
2904 Disable warning of statement not reached on Forte.
2906 Fix warning on Forte (value doesn't fit on enumeration).
2907 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
2908 Fix warning on Forte (value doesn't fit on enumeration).
2909 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2910 DEBUG macro says it takes minimum of 2 args and so Forte
2911 complains about the use with just 1 arg.
2912 * plugins/elements/gstfdsink.c:
2913 * plugins/elements/gstfdsrc.c:
2914 * plugins/elements/gstfilesink.c:
2915 * plugins/elements/gstfilesrc.c:
2916 Use correct return type for the uri handler implementations.
2918 All these fix warnings in Forte. Fixes bug #360860.
2920 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
2923 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
2924 format string, so don't use G_GNUC_PRINTF for those versions.
2926 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
2928 * gst/gsttaglist.c: (gst_is_tag_list):
2930 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
2932 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2933 Small test for the above.
2935 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
2938 Less tabs, more spaces.
2940 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
2943 Those two function declarations do actually belong there, revert
2944 commit from yesterday that turned them intro macros.
2946 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2948 Patch by: Josep Torre Valles <josep@fluendo.com>
2950 * gst/gst.c: (gst_init_get_option_group):
2951 Fix empty declaration and type mismatch.
2952 * gst/gstbin.c: (gst_bin_change_state_func):
2954 * gst/gstelement.c: (gst_element_continue_state),
2955 (gst_element_set_state_func), (gst_element_change_state),
2956 (gst_element_change_state_func):
2957 Fix type mismatches.
2958 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
2959 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
2960 Cast as appropriate.
2961 * gst/gstobject.c: (gst_class_signal_connect):
2962 Cast as appropriate. The function pointer parameter really
2963 has the wrong type but would break API if we change it.
2965 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
2966 order of including string.h.
2967 * gst/gstutils.c: (gst_element_state_get_name):
2968 Remove unreachable line.
2969 * gst/gstxml.c: (gst_xml_parse_doc):
2971 All these caught by Forte.
2973 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2975 Patch by: Josep Torre Valles <josep@fluendo.com>
2977 * common/m4/gst-error.m4:
2979 We need to disable warnings on Forte for empty declarations
2980 due to gst-indent adding ;s to lines that just use macros
2981 where the macro actually doesn't need a ; at end to end
2984 2006-10-06 Wim Taymans <wim@fluendo.com>
2986 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2987 (gst_file_sink_close_file), (gst_file_sink_event),
2988 (gst_file_sink_render):
2989 Add some FIXME for the NEWSEGMENT handling.
2991 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2993 * gst/parse/grammar.y:
2994 Remove static function gst_parse_element_lock as all it does
2995 is return. Looks like cruft from 0.8.
2997 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2999 Patch by: Josep Torre Valles <josep@fluendo.com>
3001 * common/m4/gst-error.m4:
3003 * libs/gst/net/Makefile.am:
3004 Fix a compilation issue with Forte on Solaris. inet_aton is in
3007 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
3009 * gst/gstpad.c: (pre_activate):
3010 * gst/gstregistry.c: (gst_registry_scan_path_level):
3011 * gst/gstregistryxml.c: (load_plugin):
3012 * libs/gst/controller/gstcontroller.c:
3013 (gst_controlled_property_set_interpolation_mode):
3014 * libs/gst/dataprotocol/dataprotocol.c:
3015 (gst_dp_packet_from_event_1_0):
3016 * libs/gst/net/gstnetclientclock.c:
3017 (gst_net_client_clock_observe_times):
3018 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3021 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
3024 * docs/gst/gstreamer-sections.txt:
3025 * gst/gstconfig.h.in:
3028 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
3029 whether we can use G_GNUC_PRINTF in other header files and at
3030 least check the printf format/arguments of debug messages and
3031 GST_ELEMENT_ERROR messages when the printf extension is not
3033 Replace more tabs with spaces in gstinfo.h and remove two spurious
3034 function declarations in GST_DISABLE_DEBUG part with macros.
3036 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
3038 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
3039 More docs for the sync-message signal (mention that it is not
3040 emitted by default); log message structures of messages posted on
3043 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
3045 * gst/gst.c: (ensure_current_registry_forking):
3046 Use a pipe pair to receive status results from the forked child, and
3047 ignore the result from waitpid. Fixes #355499
3049 2006-10-02 Wim Taymans <wim@fluendo.com>
3051 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3052 (gst_ghost_pad_suite):
3055 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
3058 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
3060 2006-10-02 Edward Hervey <edward@fluendo.com>
3062 * docs/design/part-block.txt:
3063 Further explain the use of flushing on blocked pads.
3064 * docs/gst/gstreamer-sections.txt:
3065 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3066 (gst_pad_push_event):
3068 Added new GstPadFlag : GST_PAD_BLOCKING.
3069 Adds the notion of pads really blocking, which enables to properly
3070 handle FLUSH_START/FLUSH_STOP events on blocked pads.
3072 API: gst_pad_is_blocking()
3073 API: GST_PAD_IS_BLOCKING() macro
3074 API: GST_PAD_BLOCKING GstPadFlag
3076 2006-10-02 Wim Taymans <wim@fluendo.com>
3078 Patch by: mrcgran <mrc.gran at gmail dot com>
3080 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
3081 Filter the proxied caps against the padtemplate if we have one.
3083 * gst/gstquery.c: (gst_query_new_segment):
3084 Add include for gstinfo.h so that compilation with
3085 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
3087 2006-10-02 Wim Taymans <wim@fluendo.com>
3089 Patch by: Alessandro Decina <alessandro at nnva org>
3091 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
3092 (gst_file_sink_set_location), (gst_file_sink_open_file),
3093 (gst_file_sink_close_file), (gst_file_sink_event),
3094 (gst_file_sink_render):
3095 Set file to NULL when closing filesink so that we can set a new filename
3096 in READY. Fixes #358613.
3098 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
3100 Patch by: Alessandro Decina <alessandro at nnva org>
3102 * gst/gstevent.c: (_gst_event_copy):
3103 Fix gst_mini_object_make_writable() and gst_event_copy() for events
3104 with event structures by setting the parent refcount address of the
3105 copied structure to the address of the refcount member of the newly
3106 copied event rather than the address of the refcount member of the
3107 original event. Fixes #358737.
3109 * tests/check/gst/gstevent.c: (GST_START_TEST):
3110 Unit test for the above.
3112 2006-09-29 Stefan Kost <ensonic@users.sf.net>
3114 * docs/design/Makefile.am:
3115 Dist some more files.
3117 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
3119 * tests/check/libs/controller.c: (GST_START_TEST),
3120 (gst_controller_suite):
3121 Add test for the previous fix; add some more tests
3122 for correct refcounting behaviour; fix a few leaks
3123 in test cases; call gst_controller_init() at start
3126 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
3128 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3129 (gst_controller_set_from_list):
3130 Don't g_return_val_if_fail() on timed values with invalid timestamps
3131 inside a critical section without unlocking the mutex. Spotted by
3132 René Stadler. (#357617)
3133 Also, fix up refcounting properly: when returning an existing
3134 controller, we should increase the reference only once and not
3135 once per property and when trying to control a property again
3136 we should also increase the refcount.
3138 2006-09-29 Wim Taymans <wim@fluendo.com>
3140 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3141 * libs/gst/net/gstnettimeprovider.c:
3142 (gst_net_time_provider_thread):
3143 Stop reading commands when EOF as well.
3145 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3146 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3147 * plugins/elements/gstidentity.c: (gst_identity_class_init):
3148 Unify description of the dump property.
3150 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
3152 * tests/examples/manual/.cvsignore:
3153 OK, so it's actually cvsignore that needs changing. Stop laughing.
3155 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
3157 * tests/examples/manual/Makefile.am:
3158 Gah, declare vars *before* using them
3160 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
3162 * gst/gst.c: (init_pre), (scan_and_update_registry),
3163 (ensure_current_registry_nonforking),
3164 (ensure_current_registry_forking), (ensure_current_registry),
3165 (init_post), (gst_debug_help), (gst_deinit):
3166 * gst/gst_private.h:
3167 * gst/gstregistry.c: (gst_registry_finalize),
3168 (gst_registry_remove_features_for_plugin_unlocked),
3169 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3170 (gst_registry_scan_path),
3171 (_priv_gst_registry_remove_cache_plugins),
3172 (_priv_gst_registry_cleanup):
3173 * gst/gstregistry.h:
3174 Re-commit the registry changes, along with an extra fix:
3175 When a cached plugin is encountered at a different file path,
3176 update the stored path in the registry cache so that the parent
3177 process knows where it actually is now when it re-reads the registry
3178 cache. Fixes the thing that broke distcheck with the previous commit.
3180 * tests/check/Makefile.am:
3181 Clean up files named 'core' too when running make clean.
3183 * tests/examples/manual/Makefile.am:
3184 Set up a registry path for running these tests, and clean it properly
3187 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
3190 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
3191 want gmodule-no-export-2.0.pc instead so that we don't drag in
3192 --export-dynamic on every project that links to GStreamer.
3194 Also, make our export regex only match the start of symbols, rather
3195 than any symbol that contains '_gst' somewhere.
3197 * libs/gst/check/Makefile.am:
3198 The libgstcheck we build does however need export-dynamic, as it
3199 produces some symbols that don't match our _gst... style regex.
3202 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
3204 * gst/gst.c: (init_pre), (scan_and_update_registry),
3205 (ensure_current_registry_nonforking),
3206 (ensure_current_registry_forking), (ensure_current_registry),
3207 (init_post), (gst_debug_help), (gst_deinit):
3208 * gst/gst_private.h:
3209 * gst/gstregistry.c: (gst_registry_finalize),
3210 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3211 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
3212 (_gst_registry_cleanup):
3213 * gst/gstregistry.h:
3214 Revert previous change until I figure out why it breaks distcheck.
3216 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
3218 * gst/gst.c: (init_pre), (scan_and_update_registry),
3219 (ensure_current_registry_nonforking),
3220 (ensure_current_registry_forking), (ensure_current_registry),
3221 (init_post), (gst_debug_help), (gst_deinit):
3223 Make init_pre and init_post take the full complement of GOptionFunc
3224 args so they can return useful GErrors. Make the registry updating
3227 Call _priv_gst_registry_remove_cache_plugins after scanning files to
3228 ensure that the registry we're about to write out doesn't contain
3229 stale information about old-deleted plugin files.
3231 Make _priv_gst_registry_remove_cache_plugins return a boolean so
3232 that deletion of plugin files is considered a registry change.
3234 * gst/gst_private.h:
3235 * gst/gstregistry.c: (gst_registry_finalize),
3236 (gst_registry_remove_features_for_plugin_unlocked),
3237 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3238 (gst_registry_scan_path),
3239 (_priv_gst_registry_remove_cache_plugins),
3240 (_priv_gst_registry_cleanup):
3241 * gst/gstregistry.h:
3242 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
3243 by adding _priv prefix, so that they won't appear in the global
3244 symbol table. They still do atm though because of #318031. Move the
3245 prototypes to gst_private.h
3247 When removing a plugin, remove all features for that plugin too.
3250 2006-09-27 Wim Taymans <wim@fluendo.com>
3252 * docs/random/moving-plugins:
3253 Make it clear that the "compiled-in descriptions" really mean
3254 the element details.
3256 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3257 (gst_base_sink_wait_preroll):
3260 * docs/libs/gstreamer-libs-sections.txt:
3261 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3262 (gst_base_src_get_range), (gst_base_src_activate_push):
3263 * libs/gst/base/gstbasesrc.h:
3264 Added function to block while waiting for PLAYING, this function
3265 is used by live sources that block on the clock.
3266 API: gst_base_src_wait_playing()
3268 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
3270 Patch by: Peter Kjellerstedt <pkj at axis com>
3273 gst-element-check.m4 is generated and should therefore be
3274 copied from the build dir rather than the source dir (#357593).
3275 'make distcheck' hasn't noticed this because we were disting
3276 the file as well, so stop doing that.
3278 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
3280 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3281 Add some tests for gst_caps_intersect().
3283 * tools/gst-launch.c: (event_loop):
3284 Print all buffering percentages we get, even the 100% one.
3286 2006-09-26 Wim Taymans <wim@fluendo.com>
3288 * tools/gst-inspect.c: (print_element_properties_info),
3289 (print_signal_info):
3290 Fix printing of flags to match the look of enums.
3292 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
3294 * gst/gstelementfactory.c:
3295 Fix typo in docs blurb.
3297 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
3299 * gst/gsturi.c: (search_by_entry):
3300 Don't assert/crash here if a uri handler doesn't return any
3301 supported protocols. The list of protocols could be generated
3302 dynamically at runtime or at plugin registration, and an error
3303 in the underlying library shouldn't be fatal (#353301).
3305 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
3308 Fix warning if HAVE_PRINTF_EXTENSION is undefined
3309 (spotted by Peter Kjellerstedt).
3311 2006-09-23 Wim Taymans <wim@fluendo.com>
3313 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3315 * libs/gst/base/gstbasesrc.c:
3316 (gst_base_src_default_check_get_range), (gst_base_src_start),
3317 (gst_base_src_activate_push), (gst_base_src_activate_pull),
3318 (gst_base_src_change_state):
3319 Match _start/_stop calls in the activate functions. Remove redundant
3320 _stop call from the state change function. Fixes #356910.
3321 Turn failure DEBUG into ERROR.
3323 2006-09-22 Wim Taymans <wim@fluendo.com>
3325 * docs/design/part-buffering.txt:
3326 * gst/gstmessage.c: (gst_message_new_buffering),
3327 (gst_message_parse_buffering):
3328 Update docs about buffering.
3330 * docs/design/part-trickmodes.txt:
3333 2006-09-22 Stefan Kost <ensonic@users.sf.net>
3335 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3336 (gst_controller_new_list):
3337 Ref instances when returning them again (fixes #357180)
3339 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
3341 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3342 Don't forget to release proxy lock when there's an error.
3344 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
3347 Add extra initialisers for Caps things, to fix some plugin warnings
3350 2006-09-18 Wim Taymans <wim@fluendo.com>
3352 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3353 Also set template on the internal pad so that a getcaps from the
3354 target pad returns the template caps.
3356 2006-09-18 Wim Taymans <wim@fluendo.com>
3358 * gst/gstelement.c: (gst_element_post_message),
3359 (gst_element_dispose):
3360 Use _DEBUG_OBJECT some more.
3362 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3365 * tools/gst-launch.c: (main):
3366 If the toplevel element is not a GstPipeline, it must be put in a
3367 pipeline so that a bus and clock is selected.
3369 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
3371 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3372 JITTER, RATE, and LATENCY query should be handled by the
3373 default case and not by the CONVERT query code.
3375 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
3377 * gst/gstformat.c: (gst_format_register):
3378 Fix locking order (must take lock before using n_values).
3380 * gst/gstvalue.c: (gst_value_serialize_enum),
3381 (gst_value_deserialize_enum_iter_cmp),
3382 (gst_value_deserialize_enum):
3383 Fix serialisation/deserialisation of custom registered GstFormats.
3385 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3386 Unit test for custom format serialisation/deserialisation.
3388 2006-09-17 Stefan Kost <ensonic@users.sf.net>
3390 * docs/pwg/building-boiler.xml:
3391 * plugins/elements/gstcapsfilter.c:
3392 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3395 2006-09-16 Edward Hervey <edward@fluendo.com>
3397 * libs/gst/base/gstbasetransform.c:
3398 (gst_base_transform_buffer_alloc):
3399 Check if requested caps are the same as the sinks caps IF
3400 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3402 This fixes the renegotiation issues stated in #352827.
3404 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
3407 * docs/manual/advanced-autoplugging.xml:
3408 * tests/examples/Makefile.am:
3409 * tests/examples/manual/.cvsignore:
3410 * tests/examples/manual/Makefile.am:
3411 * tests/examples/manual/extract.pl:
3412 Extract the manual examples again like we used to do.
3415 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
3417 * win32/common/config.h:
3420 2006-09-16 Stefan Kost <ensonic@users.sf.net>
3423 Documents how to receive errors.
3425 2006-09-15 Wim Taymans <wim@fluendo.com>
3427 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3428 (event_loop), (main):
3429 Added some comments here and there.
3430 Post an application message when an interrupt is caught instead of doing
3431 an uncontrolled state change.
3432 Clean up the event loop.
3433 Handle buffering messages, pause/resume the pipeline.
3434 Make shutdown because of an interrupt more reliable.
3436 2006-09-15 Wim Taymans <wim@fluendo.com>
3438 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3439 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3440 (gst_base_sink_preroll_object):
3441 Make sure that our internal state is correct when we commit our state
3442 asynchronously. This solves a race where a state change to PLAYING
3443 could cause the sink to remain blocked in preroll in some situations.
3445 2006-09-15 Wim Taymans <wim@fluendo.com>
3447 * tools/gst-inspect.c: (print_element_properties_info),
3448 (print_signal_info):
3449 List flags as hex so it's easier to deal with.
3451 2006-09-15 Wim Taymans <wim@fluendo.com>
3453 * docs/libs/gstreamer-libs-sections.txt:
3454 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3455 (gst_base_sink_do_sync):
3456 * libs/gst/base/gstbasesink.h:
3457 Expose logic to wait for preroll so that subclasses such as audiosink
3458 can also use this method.
3459 API: gst_base_sink_wait_preroll()
3461 2006-09-15 Wim Taymans <wim@fluendo.com>
3463 * gst/gstobject.c: (gst_object_set_parent):
3464 * gst/gstpipeline.c: (do_pipeline_seek):
3465 Small cleanups in docs and code.
3467 * gst/gstsegment.c: (gst_segment_clip):
3468 * tests/check/gst/gstsegment.c: (GST_START_TEST):
3469 if stop == start and start is in the segment, no clipping should be
3470 done. Also add a test for this.
3472 2006-09-15 Wim Taymans <wim@fluendo.com>
3474 * docs/design/part-buffering.txt:
3475 * docs/gst/gstreamer-sections.txt:
3476 * gst/gstmessage.c: (gst_message_new_buffering),
3477 (gst_message_parse_buffering):
3479 Added methods to create and parse BUFFERING messages.
3480 Added preliminary docs about buffering.
3481 API: gst_message_new_buffering
3482 API: gst_message_parse_buffering
3484 2006-09-06 Wim Taymans <wim@fluendo.com>
3487 Update documentation.
3489 * gst/gstelement.c: (gst_element_class_init),
3490 (gst_element_release_request_pad), (gst_element_set_clock),
3491 (gst_element_get_index), (gst_element_add_pad),
3492 (gst_element_remove_pad), (gst_element_get_random_pad),
3493 (gst_element_send_event), (gst_element_get_query_types),
3494 (gst_element_query), (gst_element_post_message),
3495 (gst_element_message_full), (gst_element_continue_state),
3496 (gst_element_lost_state), (gst_element_save_thyself),
3497 (gst_element_restore_thyself):
3498 Documentation updates.
3499 Rename last bit of the new-pad -> pad-added signal rename.
3500 Fix the case where an element query would only work if the source
3502 Avoid some useless type checking in message handling.
3507 Documentation updates.
3509 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
3511 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3512 add an INFO line for when we actually update the fd
3514 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
3519 === release 0.10.10 ===
3521 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
3524 releasing 0.10.10, "Pais"
3526 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
3528 * docs/manual/advanced-position.xml:
3529 Fix typo in sample code.
3531 2006-09-05 Wim Taymans <wim@fluendo.com>
3533 * libs/gst/net/gstnetclientclock.c: (inet_aton),
3534 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3535 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3536 * libs/gst/net/gstnetclientclock.h:
3537 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3538 * libs/gst/net/gstnettimepacket.h:
3539 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3540 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3541 (gst_net_time_provider_thread), (gst_net_time_provider_new):
3542 * libs/gst/net/gstnettimeprovider.h:
3543 Make stuff compile on windows. Fixes #345295.
3545 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
3547 * gst/gst.c: (ensure_current_registry_forking):
3548 Print better details when child was terminated by signal.
3550 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
3552 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3553 Print a warning rather than g_assert() if a plugin feature
3554 is a URI handler but returns no protocols (#353976).
3556 2006-09-02 Stefan Kost <ensonic@users.sf.net>
3558 * docs/random/moving-plugins:
3561 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
3563 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3564 Fix locking order, handle NULL function values properly.
3569 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3570 Initialise variable before using it and fix debug statement to
3571 print the address of the function rather than the address of the
3572 variable on the stack holding the address of the function.
3574 2006-09-01 Wim Taymans <wim@fluendo.com>
3576 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3577 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3578 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3579 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3580 (gst_ghost_pad_parent_unset),
3581 (gst_ghost_pad_internal_do_activate_push),
3582 (gst_ghost_pad_internal_do_activate_pull),
3583 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3584 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3585 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3586 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3587 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3588 (gst_ghost_pad_new_no_target_from_template),
3589 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3591 Avoid needless typechecking in macros.
3592 Since the internal pad is always present and never changes, there is
3593 no need to locking or ref when retrieving it.
3594 Improve debugging a bit.
3595 Handle link errors when setting the target. Fixes #341029.
3597 2006-09-01 Wim Taymans <wim@fluendo.com>
3599 * docs/libs/gstreamer-libs-sections.txt:
3600 * docs/plugins/gstreamer-plugins-sections.txt:
3603 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3604 (gst_collect_pads_event):
3605 * libs/gst/base/gstcollectpads.h:
3606 Documentation updates.
3607 Free queued buffer when removing a pad.
3609 2006-08-31 Michael Smith <msmith@fluendo.com>
3611 * gst/gstutils.c: (gst_element_link_pads),
3612 (gst_element_link_pads_filtered):
3613 Ensure that we set a capsfilter to NULL if we failed to link it
3614 when doing filtered linking, to avoid criticals.
3616 No need to check for unreffing srcpad, which is explicly NULLed
3617 above (a trivial code cleanup).
3619 2006-08-31 Wim Taymans <wim@fluendo.com>
3621 * docs/design/part-gstghostpad.txt:
3622 Update ascii art in documentation.
3624 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3625 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3626 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3627 (gst_ghost_pad_internal_do_activate_push),
3628 (gst_ghost_pad_internal_do_activate_pull),
3629 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3630 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3631 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3632 (gst_ghost_pad_set_target):
3633 Small cleanups and leak fixes.
3634 Remove some checks now that the internal pad is never NULL.
3635 Fix the case where linking pads without a target would create nasty
3636 criticals. Fixes #341029.
3637 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3638 value of _set_target().
3640 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3641 (gst_ghost_pad_suite):
3642 Some more tests for creating and linking untargeted ghostpads.
3644 2006-08-31 Edward Hervey <edward@fluendo.com>
3646 * docs/gst/gstreamer-sections.txt:
3647 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3648 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3649 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3650 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3651 (gst_ghost_pad_new_from_template),
3652 (gst_ghost_pad_new_no_target_from_template):
3653 * gst/gstghostpad.h:
3654 Refactored *_new() functions.
3655 Templates are now used as a g_object_new() parameter.
3656 Use template in _do_getcaps() if we don't have a target.
3657 Small documentation cleanups.
3658 Added two new constructors:
3659 gst_ghost_pad_new_from_template()
3660 gst_ghost_pad_new_no_target_from_template()
3661 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3662 (gst_ghost_pad_suite):
3663 Added tests for new ghostpad instanciation functions.
3665 API additions: gst_ghost_pad_new_from_template,
3666 gst_ghost_pad_new_no_target_from_template
3668 2006-08-30 Stefan Kost <ensonic@users.sf.net>
3670 * docs/random/ensonic/profiling.txt:
3671 Ideas about qos profiling.
3673 2006-08-29 Wim Taymans <wim@fluendo.com>
3675 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3679 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
3682 Improve and detypofy docs.
3684 * tests/check/Makefile.am:
3685 * tests/check/gst/.cvsignore:
3686 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3687 Add a basic test suite for GstXML.
3689 2006-08-29 Wim Taymans <wim@fluendo.com>
3691 * gst/gstelement.c: (activate_pads), (clear_caps),
3692 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3693 Clear the pad caps when the element shut down all of the pads and
3694 is not streaming data that could modify the caps.
3697 2006-08-28 Michael Smith <msmith@fluendo.com>
3699 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3700 Revert previous change; I misunderstood single-segment mode.
3702 2006-08-28 Michael Smith <msmith@fluendo.com>
3704 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3705 Unset DISCONT on buffers when using single-segment mode.
3707 2006-08-28 Wim Taymans <wim@fluendo.com>
3709 * gst/gstcaps.c: (gst_caps_merge_structure):
3711 Fix docs and indentation again.
3713 * tests/check/gst/gstquery.c: (GST_START_TEST):
3714 Fix leak in tests and add some more tests.
3716 2006-08-28 Edward Hervey <edward@fluendo.com>
3718 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3719 Inform GstSegment of the last stop position in order for the current
3720 segment to have a proper duration if it doesn't have a specific stop
3721 position from which a duration could be calculated.
3722 This bug was noticeable when a non-flushing, non-update new segment was
3723 followed by another segment (all buffers from the new segment were being
3726 2006-08-28 Wim Taymans <wim@fluendo.com>
3728 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3729 Small comment update.
3731 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3732 (gst_identity_transform_ip):
3733 Drop-probability is broken, mention this in the code with a
3734 FIXME and also in the property description.
3735 Make silent also be silent about the drop messages.
3737 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
3739 * docs/manual/appendix-win32.xml:
3740 Remove mention of popt, we don't depend on that any
3741 longer (#353136). Add some comments pointing out that
3742 this section is slightly outdated.
3744 2006-08-28 Wim Taymans <wim@fluendo.com>
3746 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3748 * gst/gstquery.c: (gst_query_new_segment):
3749 * tests/check/gst/gstquery.c: (GST_START_TEST):
3750 Initialize variables when creating a new segment query.
3753 2006-08-28 Wim Taymans <wim@fluendo.com>
3755 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3757 * gst/gstelement.c: (gst_element_get_bus):
3758 * tests/check/gst/gstelement.c: (GST_START_TEST):
3759 Check for NULL before _reffing the bus. Fixes #353122.
3761 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
3763 * docs/manual/basics-bus.xml:
3764 Docs update: fix wrong callback return value explanation; add
3765 some lines about the implicit relationship between main loop
3766 and main context; remove duplicate main loop variable declaration.
3768 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
3770 * tests/check/gst/gstcaps.c: (GST_START_TEST):
3771 Don't leak caps in unit test; add a few more simple
3774 2006-08-24 Stefan Kost <ensonic@users.sf.net>
3776 * docs/gst/gstreamer-sections.txt:
3777 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3778 (gst_caps_structure_is_subset), (gst_caps_merge),
3779 (gst_caps_merge_structure):
3781 * libs/gst/base/gstbasetransform.c:
3782 (gst_base_transform_transform_caps):
3783 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3784 implement caps merging (fixes #352580)
3786 2006-08-23 Stefan Kost <ensonic@users.sf.net>
3788 * tools/Makefile.am:
3789 * tools/gst-plot-timeline.py:
3790 add debug-log plotting developer tool (#340674)
3792 2006-08-23 Wim Taymans <wim@fluendo.com>
3794 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
3795 (gst_pad_stop_task):
3796 Improve debugging for task functions.
3798 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
3799 (gst_task_start), (gst_task_pause), (gst_task_join):
3800 Make sure that the task function started and finished after a
3802 Don't try to push the task function on the threadpool multiple
3804 Improve the g_warning message with some useful suggestions
3805 about how to fix the problem.
3807 2006-08-23 Wim Taymans <wim@fluendo.com>
3809 * gst/gstutils.c: (gst_pad_proxy_getcaps):
3810 Handle RESYNC correctly in _proxy_getcaps.
3812 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
3814 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
3815 (gst_xml_parse_memory), (gst_xml_get_element):
3816 Chain up to parent class in dispose function and also
3817 unref the elements in the toplevel_elements GList.
3818 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
3819 Always return a reference in gst_xml_get_element() rather
3820 than only sometimes.
3822 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3823 Don't leak GstXml object.
3825 2006-08-21 Stefan Kost <ensonic@users.sf.net>
3827 * docs/gst/gstreamer-sections.txt:
3828 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
3831 * libs/gst/base/gstbasetransform.c:
3832 (gst_base_transform_transform_caps):
3833 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
3836 2006-08-21 Edward Hervey <edward@fluendo.com>
3838 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
3839 Implement GObject::dispose virtual method in GstXML so we can free the
3842 2006-08-21 Wim Taymans <wim@fluendo.com>
3844 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
3845 (gst_buffer_create_sub):
3846 Copy duration/offset_end/caps when creating a subbuffer of the
3848 Make the subbuffer read-only when we make the metadata writable for
3851 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3852 Added check for metadata copy when creating subbuffers.
3854 2006-08-21 Edward Hervey <edward@fluendo.com>
3856 * libs/gst/base/gstbasetransform.c:
3857 (gst_base_transform_buffer_alloc):
3858 Only call downstream buffer_alloc if transform element is passthrough
3859 or always_in_place. Closes #350449.
3861 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3864 ChangeLog surgery to add comments to previous changes
3866 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3871 * gst/gstpad.c: (gst_pad_set_active):
3872 Be more verbose in the log
3874 * libs/gst/base/gstbasetransform.c:
3875 (gst_base_transform_transform_caps):
3876 Simplify caps to get rid of duplicates, fixes #345444
3878 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3882 Use these optimizations only internally.
3884 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3886 * gst/gstvalue.c: (gst_value_compare_list),
3887 (gst_value_compare_fraction_range),
3888 (gst_value_intersect_fraction_fraction_range),
3889 (gst_value_intersect_fraction_range_fraction_range),
3890 (gst_value_subtract_fraction_fraction_range),
3891 (gst_value_subtract_fraction_range_fraction_range),
3892 (gst_value_get_compare_func), (gst_value_compare),
3893 (gst_value_compare_with_func):
3895 Saves the expensive lookup of the compare function in many cases
3898 2006-08-18 Edward Hervey <edward@fluendo.com>
3900 * tests/check/gst/gstinfo.c: (gst_info_suite):
3901 Disable test that require gstdebug if it wasn't built in core.
3903 2006-08-18 Stefan Kost <ensonic@users.sf.net>
3905 * docs/random/ensonic/logging.txt:
3908 * gst/gstinfo.c: (gst_debug_log_default):
3909 reorder fields, save some columns, add optional color codes for log
3912 2006-08-18 Stefan Kost <ensonic@users.sf.net>
3914 * docs/random/ensonic/logging.txt:
3915 add ideas about making the logs a bit more useful
3917 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
3919 * docs/pwg/advanced-events.xml:
3920 * docs/pwg/titlepage.xml:
3921 Update for 0.10 API (#340627). Add myself
3924 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
3926 * docs/libs/gstreamer-libs-docs.sgml:
3927 * docs/libs/gstreamer-libs-sections.txt:
3928 * libs/gst/check/gstbufferstraw.c:
3929 Make gstcheck stuff show up in docs (still needs to
3930 be documented properly though).
3932 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
3934 * docs/gst/gstreamer-sections.txt:
3936 * gst/gst.c: (init_post):
3937 * gst/gst_private.h:
3938 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3940 * gst/gstquery.c: (gst_query_new_position),
3941 (gst_query_set_position), (gst_query_parse_position),
3942 (gst_query_new_duration), (gst_query_set_duration),
3943 (gst_query_parse_duration), (gst_query_new_convert),
3944 (gst_query_set_convert), (gst_query_parse_convert),
3945 (gst_query_new_segment), (gst_query_set_segment),
3946 (gst_query_parse_segment), (gst_query_new_seeking),
3947 (gst_query_set_seeking), (gst_query_parse_seeking):
3948 Add internal helpers for pre-registering quarks from static strings
3949 and using the quark values directly instead of looking them up when
3950 creating and parsing queries. Can be used for event construction too.
3953 2006-08-16 Wim Taymans <wim@fluendo.com>
3958 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3960 * gst/gstutils.c: (gst_util_set_value_from_string):
3961 Fix memleak (#351502).
3963 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3964 Add unit test for most of gst_util_set_value_from_string()
3965 (not that one would want to encourage use of this function).
3967 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3969 * libs/gst/check/gstcheck.h:
3970 Use const gchar * variables in fail_unless_equals_string
3971 macro to avoid compiler warnings (and don't use tabs for
3974 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3976 * tools/gst-launch.c: (print_tag):
3977 More space on the left for the tag names, to cater
3978 for the 'extended comment' tag (not touching the
3979 string for the first line since it's translated).
3981 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3983 * libs/gst/check/gstcheck.h:
3984 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
3985 print something when they fail.
3987 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
3989 * docs/gst/gstreamer-sections.txt:
3990 * gst/gsttaglist.c: (_gst_tag_initialize):
3992 API: add GST_TAG_EXTENDED_COMMENT (#350935).
3993 Also change merge function for GST_TAG_COMMENT to
3996 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
3998 * gst/gstinfo.c: (gst_debug_print_object):
3999 Make GST_PTR_FORMAT print messages as well.
4001 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
4002 (GST_START_TEST), (gst_info_suite):
4005 2006-08-14 Edward Hervey <edward@fluendo.com>
4007 * gst/gstelementfactory.c: (gst_element_register):
4008 If the GstElementClass doesn't have a GstElementDetails with all fields
4009 filled up correctly (longname, description AND author), then error out
4010 nicely instead of crashing.
4012 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
4014 * gst/gststructure.c:
4015 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
4018 Expand on the difference between arrays and lists as we use them.
4020 2006-08-14 Wim Taymans <wim@fluendo.com>
4022 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4023 If the parent state change function failed, don't assume we can safely
4024 stop the source, this will be done when the pads are deactivated.
4026 2006-08-14 Wim Taymans <wim@fluendo.com>
4029 * gst/gsttask.c: (gst_task_join):
4032 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
4033 (gst_pad_stop_task):
4034 When pad (de)activation failed for some reason, restore the old
4035 activation mode and set the pad to flushing instead of assuming the
4037 If the _task_join() failed, reinstall the task on the pad so that it can
4038 be stopped later and return an error.
4040 2006-08-11 Andy Wingo <wingo@pobox.com>
4043 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4044 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
4045 is only for users of API that don't want to see deprecated
4046 functions in the headers; people that want to compile out
4047 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
4048 CFLAGS. Fixes the build of multifdsink, or will soon..
4050 2006-08-11 Wim Taymans <wim@fluendo.com>
4052 * docs/gst/gstreamer-sections.txt:
4053 Add GstClockClass vmethod docs.
4056 Mark #endif with comment for associated #if
4058 * gst/gstclock.c: (gst_clock_id_wait):
4060 Add vmethod wait_jitter to avoid an unneeded _get_time() for
4061 most clock implementations.
4063 Flesh out docs about resolution methods.
4064 API: GstClockClass::wait_jitter
4066 * gst/gstsystemclock.c: (gst_system_clock_class_init),
4067 (gst_system_clock_async_thread),
4068 (gst_system_clock_id_wait_jitter_unlocked),
4069 (gst_system_clock_id_wait_jitter):
4070 Use base class wait_jitter variant for improved performance
4071 due to less clock polling.
4073 2006-08-11 Edward Hervey <edward@fluendo.com>
4075 * gst/gst.c: (gst_init_check), (init_post):
4076 Set gst as being initialized before scanning/updating the registry,
4077 since there might be my python plugin loader that calls gst_init() and
4078 we don't want to loop back in.
4081 2006-08-11 Wim Taymans <wim@fluendo.com>
4083 * docs/design/part-qos.txt:
4084 Bring docs in line with the code. Mostly the sign of the jitter was
4085 wrong in the docs. Fixes #349943.
4088 Fix the docs for the jitter.
4090 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
4091 (gst_event_parse_tag), (gst_event_new_buffer_size),
4092 (gst_event_parse_buffer_size), (gst_event_parse_qos),
4093 (gst_event_new_seek), (gst_event_parse_seek),
4094 (gst_event_new_navigation):
4095 Make sure the GstStructure has no parent when creating custom
4097 Add some more argument checking so that we avoid 0.0 rates.
4098 Flesh out the docs for the QoS event some more.
4100 2006-08-11 Wim Taymans <wim@fluendo.com>
4102 * docs/gst/gstreamer-sections.txt:
4103 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4104 (ensure_current_registry_forking), (ensure_current_registry),
4105 (parse_one_option), (parse_goption_arg), (gst_deinit),
4106 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
4109 Added API and command line option to disable registry forking in
4110 addition to the environment variable.
4111 Constify some static arrays.
4112 Added some more debug.
4114 API: gst_registry_fork_is_enabled()
4115 API: gst_registry_fork_set_enabled()
4116 API: --gst-disable-registry-fork command line option
4119 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
4121 * gst/gst.c: (gst_init):
4122 Fix typo in error message.
4124 2006-08-10 Stefan Kost <ensonic@users.sf.net>
4126 * libs/gst/controller/gstcontroller.h:
4127 fix ABI size-correction
4129 * tests/check/libs/gdp.c: (gst_dp_suite):
4130 make tests that use deprecated API conditional
4132 2006-08-10 Stefan Kost <ensonic@users.sf.net>
4134 * docs/libs/gstreamer-libs-sections.txt:
4135 * libs/gst/controller/gstcontroller.c:
4136 (_gst_controller_get_property), (_gst_controller_set_property),
4137 (_gst_controller_init), (_gst_controller_class_init):
4138 * libs/gst/controller/gstcontroller.h:
4139 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
4140 (gst_object_set_control_rate):
4141 API: add gst_object_{s,g}et_control_rate(), add private data section,
4144 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4145 * libs/gst/dataprotocol/dataprotocol.h:
4146 add deprecation guards to make gtk-doc happy and allow disabling cruft
4148 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
4150 * tests/check/Makefile.am:
4151 * tests/check/gst/.cvsignore:
4152 Let's enable the new unit test as well.
4154 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
4157 * docs/gst/gstreamer-sections.txt:
4158 * gst/gstconfig.h.in:
4159 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
4160 (_gst_info_printf_extension_ptr),
4161 (_gst_info_printf_extension_segment):
4162 API: add GST_SEGMENT_FORMAT, which is a printf extension we
4163 register that lets us easily dump GstSegments into debug
4166 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
4167 (info_segment_format_printf_extension), (gst_info_suite):
4168 Add simple unit test that logs a bunch of different segments (not
4169 valgrinded at the moment because of leaks in
4170 gst_debug_add_log_function).
4172 2006-08-09 Edward Hervey <edward@fluendo.com>
4174 * libs/gst/base/gstbasetransform.c:
4175 (gst_base_transform_buffer_alloc):
4176 Even if we can't figure out the proper format to request downstream,
4177 call buffer_alloc() downstream with the input parameters without setting
4178 the caps on the srcpad. This will force negotiation in the chain
4182 2006-08-08 Edward Hervey <edward@fluendo.com>
4184 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4185 Unlinking from a pad without a target is now a perfectly valid case
4186 which should NOT raise an assertion.
4187 This case would happen if a linked ghostpad its target set to NULL after
4188 it was previously linked.
4190 2006-08-08 Edward Hervey <edward@fluendo.com>
4192 * tests/check/libs/gdp.c:
4193 Also comment out the test (see below).
4195 2006-08-08 Edward Hervey <edward@fluendo.com>
4197 * tests/check/libs/gdp.c: (gst_dp_suite):
4198 Use the architecture information from config.h and not gcc macros
4199 in order to properly disable a test that fails on PPC64.
4201 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
4203 * gst/gstelement.c: (gst_element_remove_pad):
4204 Don't crash printing the warning if the pad has no parent.
4206 2006-08-02 Wim Taymans <wim@fluendo.com>
4208 * libs/gst/dataprotocol/dataprotocol.c:
4209 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
4210 (gst_dp_crc), (gst_dp_header_payload_length),
4211 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
4212 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
4213 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
4214 (gst_dp_event_from_packet), (gst_dp_validate_header),
4215 (gst_dp_validate_payload):
4216 Make debug category static
4217 Constify the crc table.
4218 Do some more arg checking in public functions.
4219 Fix some docs and do some small cleanups.
4221 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
4222 Add some more checks to see if GDP deals with bogus input.
4224 2006-07-31 Wim Taymans <wim@fluendo.com>
4226 * gst/gstvalue.c: (gst_value_compare_list):
4227 Fix GstValueList comparison code. Fixes #347293.
4229 * tests/check/gst/gstvalue.c: (GST_START_TEST):
4230 Check to test GstValueList comparison.
4232 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
4234 * gst/gstelementfactory.c: (gst_element_factory_create):
4235 Remove unnecessary ref/unref pair
4237 * gst/parse/grammar.y:
4238 Make sure to free the parse buffer on all code paths.
4239 Move a g_free up to the error handler where it's easier to see.
4241 * tests/check/gst/gstevent.c: (test_event):
4242 Extending timeout for downstream travelling events to 10 seconds to
4243 hopefully avoid intermittent failure on the buildbots.
4245 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
4246 Don't manually set the state of the src element - it will happen as a
4247 natural consequence of the pipeline changing state, and that way it
4248 will do it in the right order too.
4250 2006-07-31 Wim Taymans <wim@fluendo.com>
4252 * libs/gst/base/gstbasetransform.c:
4253 (gst_base_transform_buffer_alloc):
4254 Use OBJECT_LOCK and refcounting to get the pad caps in the
4255 buffer_alloc function because the caps could change while we are
4256 busy with them. Fixes #349105
4258 2006-07-31 Wim Taymans <wim@fluendo.com>
4260 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
4261 Protect _PAD_CAPS with OBJECT_LOCK.
4263 2006-07-31 Wim Taymans <wim@fluendo.com>
4265 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4266 (gst_pad_get_property), (gst_pad_activate_pull),
4267 (gst_pad_activate_push), (gst_pad_set_blocked_async),
4268 (gst_pad_set_activate_function),
4269 (gst_pad_set_activatepull_function),
4270 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
4271 (gst_pad_set_getrange_function),
4272 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
4273 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4274 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
4275 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
4276 (gst_pad_set_acceptcaps_function),
4277 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4278 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
4279 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
4280 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
4281 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
4282 (gst_pad_configure_sink), (gst_pad_configure_src),
4283 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
4284 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
4285 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
4286 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
4287 (gst_pad_send_event):
4288 Use _DEBUG_OBJECT when it makes sense.
4289 Protect GST_PAD_CAPS with the OBJECT_LOCK.
4290 Small cleanups and code reflows.
4291 Avoid caps refcounting in _accept_caps.
4292 Refactor alloc_buffer so that the code performed on the peer is in a
4293 separate function. Also if the pad does not implement a buffer alloc
4294 function, we should still check if the pad is flushing before falling
4295 back to the default allocator.
4297 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
4299 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4300 Make all uses of identity and fakesink have silent=true to avoid
4301 serialising every passing data structure, which is breaking tests
4302 on FC4 for some unknown reason.
4304 2006-07-30 Stefan Kost <ensonic@users.sf.net>
4306 * gst/parse/Makefile.am:
4307 * gst/parse/grammar.y:
4308 * gst/parse/parse.l:
4309 Reverted previous patch as it required to bump the flex dependency to
4310 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4312 2006-07-30 Stefan Kost <ensonic@users.sf.net>
4314 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4316 * gst/parse/Makefile.am:
4317 * gst/parse/grammar.y:
4318 * gst/parse/parse.l:
4319 push & pop the state of the lexer for reentrant use case
4322 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
4324 * libs/gst/base/gstbasesrc.h:
4325 Note in the docs that the ::newsegment vfunc is not actually used by
4328 2006-07-28 Wim Taymans <wim@fluendo.com>
4330 * libs/gst/base/gstcollectpads.c:
4331 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4332 (gst_collect_pads_clear), (gst_collect_pads_flush),
4333 (gst_collect_pads_event), (gst_collect_pads_chain):
4334 When flushing a pad, also clear the queued buffer so that we don't
4335 accidentally use it when we shouldn't.
4336 Fix leaks by inreffing incomming buffer.
4337 Flush out queued buffers in case of errors.
4340 2006-07-28 Wim Taymans <wim@fluendo.com>
4342 * docs/random/phonon-gst:
4343 Random notes about a Phonon backend.
4345 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
4347 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4349 * tests/check/libs/gdp.c: (gst_dp_suite):
4350 Take a whack at fixing the ppc compile using a different define to
4351 disable the broken test.
4353 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4354 Remove excess g_print()
4356 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
4358 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4359 Oops, meant to uncomment this line too to dampen the noise a bit.
4361 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
4363 * gst/parse/grammar.y:
4364 * gst/parse/parse.l:
4365 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4366 (GST_START_TEST), (parse_suite):
4367 Fix some of the leaks exposed by extending the parse-launch testsuite,
4368 and move the 3 I can't figure out into a separate test that won't run
4369 the pipelines unless the appropriate line is uncommented.
4371 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
4373 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4374 Requesting 0 bytes before the end of the file should result in
4375 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4378 2006-07-27 Wim Taymans <wim@fluendo.com>
4380 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4381 Fix useless assert, a uint is always positive.
4383 * gst/gststructure.c: (gst_structure_nth_field_name),
4384 (gst_structure_foreach), (gst_structure_map_in_place):
4385 Check input arguments for public functions to avoid obvious crashes.
4387 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4388 * plugins/elements/gstfakesink.h:
4389 Do less useless typechecking.
4391 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
4393 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4394 Do not use mmap() by default since there are a number of error
4395 conditions that we would like to handle in a non-fatal way that
4396 will result in a SIGBUS if we use mmap(). Examples: external
4397 devices (USB harddrive, portable music player) being unplugged
4398 while in use; file on mounted CD/DVD that can't be read because
4399 the medium is partly damaged. Fixes #348455 and #348475.
4401 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
4404 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4407 2006-07-26 Stefan Kost <ensonic@users.sf.net>
4409 * gst/gstregistry.c:
4410 Move big documentation comment into class section header, so that it
4411 appears in the API docs.
4413 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
4415 * docs/gst/gstreamer-sections.txt:
4416 Oops. Commit the docs additions too for new API.
4417 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4419 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
4421 * gst/gststructure.c: (gst_structure_id_set),
4422 (gst_structure_id_set_valist):
4423 * gst/gststructure.h:
4424 Add API for setting values into structures without performing
4425 a quark lookup, if the appropriate quark is already known.
4427 API: gst_structure_id_set
4428 API: gst_structure_id_set_valist
4430 * gst/parse/grammar.y:
4431 * gst/parse/parse.l:
4432 Remove some dead code shown by the coverage information.
4433 Don't throw a critical g_warning when encountering a syntax error,
4434 just warn and let the normal error path handle it.
4436 * plugins/elements/gstelements.c:
4437 Bump the rank of filesink up to PRIMARY so that it is preferred over
4438 gnomevfssink for file:// sink uri's
4440 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4441 (GST_START_TEST), (run_delayed_test),
4442 (gst_parse_test_element_base_init),
4443 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4444 (gst_parse_test_element_change_state),
4445 (gst_register_parse_element), (parse_suite):
4446 Beef up the tests for parse syntax to check that more error cases
4447 fail as they are supposed to. Increases the test coverage a bit.
4449 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
4451 * docs/manual/basics-elements.xml:
4452 Fix gst_element_link() example.
4455 Mention in API docs that one should usually gst_bin_add()
4456 elements to a bin or pipeline before doing the linking.
4458 2006-07-26 Wim Taymans <wim@fluendo.com>
4460 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4461 (gst_subbuffer_get_type), (gst_buffer_create_sub):
4462 Avoid function call for known types by keeping the buffer and
4463 subbuffer GType global.
4465 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4466 Random silly optimisations in read() path.
4468 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
4470 * tools/gst-launch.c: (main):
4471 If the top-level of the parse is a normal bin, it doesn't do the
4472 right logic to run as a top-level element, so place it inside a
4475 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
4477 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4478 Remove superfluous g_object_notify() calls, GObject does
4479 that for us automatically.
4481 2006-07-25 Stefan Kost <ensonic@users.sf.net>
4484 on Win32, use dllspec to export the debug category symbols
4486 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
4488 * gst/gsttaglist.c: (_gst_tag_initialize):
4489 Allow more than one GST_TAG_IMAGE per taglist.
4491 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
4493 * gst/gstminiobject.c:
4495 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4496 (gst_fd_src_create):
4497 log recurring events at LOG level
4498 add more debug for when the fd gets set
4500 2006-07-21 Stefan Kost <ensonic@users.sf.net>
4502 * gst/gstparse.c: (gst_parse_launch):
4503 Also remove reentrance checks if flex is MT safe (#348179)
4504 Fix my empty ChangeLog entry below
4506 2006-07-21 Andy Wingo <wingo@pobox.com>
4508 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4510 * libs/gst/check/Makefile.am
4511 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4512 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
4513 * libs/gst/check/gstbufferstraw.h:
4514 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4515 functions, thus proving I am still a GStreamer haxor. OK I wrote
4516 them a long time ago, but anyways.
4518 2006-07-21 Stefan Kost <ensonic@users.sf.net>
4521 * gst/gstparse.c: (gst_parse_launch):
4522 Check for flex version and omit mutex if we have a MT save flex
4525 2006-07-21 Wim Taymans <wim@fluendo.com>
4527 * gst/gstparse.c: (gst_parse_launch):
4528 Protect recursive calls to _parse with a recursive mutex
4531 2006-07-21 Wim Taymans <wim@fluendo.com>
4533 * tests/check/gst/gstpad.c: (GST_START_TEST):
4536 2006-07-20 Stefan Kost <ensonic@users.sf.net>
4538 * gst/gstparse.c: (gst_parse_launch):
4539 Do not hang on recursive usage of gst_parse_launch()
4541 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
4544 Add some more docs, comments and FIXME 0.11s here and there
4545 and also fix some typos.
4547 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
4550 Convert tabs to spaces for better readability.
4552 2006-07-20 Edward Hervey <edward@fluendo.com>
4554 * tests/check/libs/gdp.c: (gst_dp_suite):
4555 the test_buffer test fails at line 140 on ppc64 at the following
4557 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4558 GST_BUFFER_FLAG_IN_CAPS),
4559 "GST_BUFFER_IN_CAPS flag should have been copied !");
4560 See bug #348114 for more details.
4562 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
4564 * docs/pwg/advanced-scheduling.xml:
4566 Fix typos (#348000).
4568 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
4570 * docs/pwg/intro-basics.xml:
4571 Fix wrong links (#347927).
4573 2006-07-18 Stefan Kost <ensonic@users.sf.net>
4575 * gst/gstregistry.h:
4576 * gst/gstregistryxml.c: (load_feature),
4577 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4578 * win32/common/config.h:
4579 make --disable-index work (#342564)
4581 2006-07-18 Wim Taymans <wim@fluendo.com>
4583 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4587 The attached patch adds two missing defines to gsttrace.h when tracing
4588 is disabled. It also corrects one existing define.
4591 2006-07-17 Wim Taymans <wim@fluendo.com>
4593 * docs/gst/gstreamer-sections.txt:
4594 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4596 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4597 Add two functions to check and change the SIGSEGV behaviour
4598 when loading plugins.
4599 Don't mess with the SIGSEGV handler when we were told not to.
4601 API: gst_segtrap_is_enabled
4602 API: gst_segtrap_set_enabled
4604 2006-07-14 Wim Taymans <wim@fluendo.com>
4606 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4607 * tests/check/elements/filesrc.c: (GST_START_TEST):
4608 Revert fix for regression in #347408 after release.
4610 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
4612 Patch by: Antoine Tremblay <hexa00 at gmail com>
4614 * gst/gstutils.c: (gst_element_unlink):
4615 Free iterator when done (#347311).
4617 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4618 And add a test case for this.
4620 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
4623 Bump nano back to CVS
4625 === release 0.10.9 ===
4627 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
4630 releasing 0.10.9, "On the road again"
4632 2006-07-13 Wim Taymans <wim@fluendo.com>
4634 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4635 * tests/check/elements/filesrc.c: (GST_START_TEST):
4636 Revert pull-0 fix for release. Disable check. Fixes #347408.
4638 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
4640 * libs/gst/dataprotocol/dataprotocol.c:
4641 (gst_dp_event_from_packet_1_0):
4642 Fixes #347337: failure to deserialize event packets with
4643 empty payload (only event type)
4645 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
4648 do not install a .c file in the header directory
4650 2006-07-13 Edward Hervey <edward@fluendo.com>
4652 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4653 GhostPad no longer implicitely use the padtemplates of the targets.
4656 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
4658 * gst/gstvalue.c: (gst_value_compare_list),
4659 (gst_value_compare_array), (_gst_value_initialize):
4660 * tests/check/gst/gstvalue.c: (GST_START_TEST):
4661 Make GstValueArray comparison be order dependent as designed.
4662 Add checks for value lists and value array comparisons.
4665 2006-07-11 Edward Hervey <edward@fluendo.com>
4667 * gst/gstbin.c: (activate_pads),
4668 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4669 (gst_bin_change_state_func):
4670 (de)activate src pads before calling state_change on the childs.
4671 This is to avoid the case where a src ghostpad is blocked (holding the
4672 stream lock), which would block the deactivation of the ghostpad's
4674 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4675 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4676 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4677 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4678 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4679 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4680 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4681 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4682 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4683 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4684 (gst_ghost_pad_class_init),
4685 (gst_ghost_pad_internal_do_activate_push),
4686 (gst_ghost_pad_internal_do_activate_pull),
4687 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4688 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4689 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4690 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4691 GhostPads now create their internal GstProxyPad at creation (and not
4692 when they're linked, as it was being done previously).
4693 The internal and target pads are linked straight away.
4694 The data will also travel through the other pad in order to make
4695 pad blocking and probes non-hackish (the probe/block now really happens
4696 on the GhostPad and not on the target).
4697 * gst/gstpad.c: (gst_pad_set_blocked_async),
4698 (gst_pad_link_prepare), (gst_pad_push_event):
4699 Remove previous ghostpad cruft.
4700 * gst/gstutils.c: (gst_pad_add_data_probe),
4701 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4702 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4703 (gst_pad_remove_buffer_probe):
4704 Remove previous ghost pad cruft.
4705 Added more detailed debug statements.
4706 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4707 Fix the testsuite for refcounting changes.
4708 The comments about who has references were correct, but the refcount
4709 being checked wasn't the same (!?!).
4713 2006-07-10 Stefan Kost <ensonic@users.sf.net>
4715 * docs/gst/gstreamer-sections.txt:
4716 * gst/gstconfig.h.in:
4717 More docs for configuration options, add docs to gtk-doc.
4719 2006-07-10 Stefan Kost <ensonic@users.sf.net>
4722 * gst/gstconfig.h.in:
4723 * win32/common/config.h:
4724 Fix build when disabling tracing (fixes #344016). Also start to document
4725 the defines that disable the sub-systems.
4727 2006-07-10 Edward Hervey <edward@fluendo.com>
4729 * gst/gst.c: (ensure_current_registry_forking):
4730 let's make valgrind happy...
4732 2006-07-09 Wim Taymans <wim@fluendo.com>
4734 * gst/gstelement.c: (activate_pads),
4735 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4736 Better pad activation code: Reset the collect value too on resync.
4739 2006-07-09 Wim Taymans <wim@fluendo.com>
4741 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4742 (gst_pad_activate_push):
4743 Use some more macros where it makes sense.
4744 Allow pad mode switching instead of asserting. When a pad
4745 is activated in one mode and we activate it in another,
4746 deactivate it first before activating it in a different mode.
4749 2006-07-08 Andy Wingo <wingo@pobox.com>
4751 * tools/gst-launch.c (main): Handle err == NULL.
4753 * gst/gst.c (init_post, ensure_current_registry)
4754 (ensure_current_registry_forking)
4755 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4756 factoring out the registry scanning into separate functions. Don't
4757 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4758 Better environment var name/interface suggestions accepted.
4760 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4762 * gst/gstobject.c: (gst_object_set_name_default),
4763 (gst_object_set_name):
4764 Random micro-optimisation: don't use a hash table
4765 with strings as keys and the usual strdup/strcmp
4766 involved, but rather just use the GQuark of the
4767 type name as key, since it needs to be looked up
4768 anyway to get the type name string.
4770 * tests/check/gst/gstobject.c: (GST_START_TEST):
4773 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4775 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4776 (gst_bin_iterate_all_by_interface):
4777 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4778 GTypes are gulongs and thus the top 4 bytes might be cut
4779 off on some platforms when doing GPOINTER_TO_INT, leading
4780 to invalid GTypes and bad things happening (see RH bug #179654).
4781 Also add a check to make sure the type passed in is really
4784 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4789 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4793 * gst-element-check.m4:
4794 * gst-element-check.m4.in:
4795 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
4796 instead of the unversioned gst-inspect (#324176, #168659).
4798 2006-07-06 Wim Taymans <wim@fluendo.com>
4801 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
4804 2006-07-06 Wim Taymans <wim@fluendo.com>
4806 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4807 (gst_base_src_wait), (gst_base_src_update_length),
4808 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
4809 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
4810 (gst_base_src_loop), (gst_base_src_start),
4811 (gst_base_src_activate_pull):
4813 blocksize == 0 now means the default blocksize when working in push
4815 Remove some pointless asserts in _wait function.
4816 Fix offset/length calculations and EOS handling. We can now pull 0
4817 bytes as well, which is allowed.
4818 use _check_get_range() to decide if we can operate in _pull based
4820 Fix refcounting leak when check_get_range function was not
4822 API GstBaseSrc::blocksize range can be 0 too now (default)
4824 * tests/check/elements/filesrc.c: (GST_START_TEST),
4826 Added check to test _get_range() behaviour.
4828 2006-07-06 Wim Taymans <wim@fluendo.com>
4830 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4831 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
4832 (gst_pad_pull_range):
4834 Lots of comments and docs added to the pad functions.
4835 Flesh out the expected behaviour of the get_range() functions.
4837 2006-07-06 Wim Taymans <wim@fluendo.com>
4842 * gst/gstiterator.h:
4846 Remove comma at end of enumerator list.
4848 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
4850 * win32/common/libgstbase.def:
4851 * win32/common/libgstdataprotocol.def:
4852 * win32/common/libsgtreamer.def:
4853 Add new exported functions.
4855 2006-07-05 Wim Taymans <wim@fluendo.com>
4857 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
4858 Add some more docs here and there.
4860 2006-07-05 Wim Taymans <wim@fluendo.com>
4862 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
4863 (gst_base_sink_loop), (gst_base_sink_get_position):
4864 When operating in pull mode update the offset so that we
4867 2006-07-05 Wim Taymans <wim@fluendo.com>
4869 * gst/gstregistryxml.c: (read_string):
4870 Avoid strdup. (will happen in libxml, but hey!)
4875 2006-07-05 Wim Taymans <wim@fluendo.com>
4877 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4878 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4880 No point in checking if the size of the subbuffer > 0, the
4881 code handles it correclty as demonstrated by unit test.
4882 Also add a unit test for the zero sized _new_and_alloc and
4883 _copy. Fixes #346663.
4885 2006-07-05 Wim Taymans <wim@fluendo.com>
4887 * libs/gst/base/gstbasetransform.c:
4888 (gst_base_transform_prepare_output_buffer),
4889 (gst_base_transform_buffer_alloc),
4890 (gst_base_transform_handle_buffer):
4891 Make sure the buffer we pass to transform_ip has a refcount of
4892 1 and thus is writable. Fixes #343196
4894 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
4896 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
4897 (gst_file_src_init), (gst_file_src_set_property),
4898 (gst_file_src_get_property), (gst_file_src_map_region):
4899 * plugins/elements/gstfilesrc.h:
4900 Add "sequential" property, off by default, to use madvise and hint
4901 to the kernel that sequential access is desired.
4902 Touch all retrieved pages by default to ensure they are pulled
4903 into memory. (Closes #345720)
4905 2006-07-03 Wim Taymans <wim@fluendo.com>
4907 * docs/design/part-block.txt:
4908 * docs/design/part-dynamic.txt:
4911 2006-07-03 Wim Taymans <wim@fluendo.com>
4913 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
4914 (gst_caps_unref), (gst_static_caps_get),
4915 (gst_caps_append_structure):
4916 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4917 Use GSlice when the glib we build against is >= 2.10
4919 2006-07-03 Wim Taymans <wim@fluendo.com>
4921 * gst/gstelement.c: (gst_element_pads_activate):
4922 Small cleanup in pad activation code.
4924 2006-07-03 Wim Taymans <wim@fluendo.com>
4926 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4928 * gst/gst-i18n-app.h:
4929 * gst/gst-i18n-lib.h:
4930 * tools/gst-inspect.c: (print_signal_info):
4931 The attached patch will make the inclusion of gettext.h unconditional in
4932 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
4933 libintl.h in tools/gst-inspect.c.
4934 This allows use of --disable-nls again and fixes #344642.
4936 2006-07-03 Edward Hervey <edward@fluendo.com>
4938 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
4939 Implement pad blocking on events according to part-block.txt.
4940 More comments on behaviour.
4941 * tests/check/gst/gstevent.c: (test_event):
4942 Send event to peer pad of blocked pad (else it will block).
4944 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
4946 * libs/gst/check/gstcheck.c: (gst_check_message_error),
4947 (gst_check_run_suite):
4948 if we get the wrong message, give us the types as string
4949 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4951 * tests/check/elements/filesrc.c: (GST_START_TEST):
4952 add a test for trying to open a non-existing file
4954 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
4956 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4957 add a test for adding self
4959 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
4961 * libs/gst/check/gstcheck.h:
4962 add some assert_ as alias for fail_unless_*
4963 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
4964 increase test coverage
4966 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4969 include lcov.mak for lcov coverage generation
4970 * tools/Makefile.am:
4973 2006-07-02 Edward Hervey <edward@fluendo.com>
4975 * tests/check/elements/.cvsignore:
4978 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4981 don't set CFLAGS and friends for gcov, done from GST_GCOV now
4982 * tests/check/Makefile.am:
4985 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4987 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
4988 remove gst_caps_simplify; it was not declared and not used
4989 and deprecated in 0.8
4991 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4993 * docs/faq/gst-uninstalled:
4994 don't put empty paths on PYTHONPATH
4995 * docs/gst/gstreamer-sections.txt:
4996 remove some symbols that are not there
4998 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
5000 * gst/gstcaps.c: (gst_caps_compare_structures):
5002 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5003 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5006 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
5008 * libs/gst/dataprotocol/Makefile.am:
5009 build dataprotocol test by linking to the lib, instead of
5010 compiling the source, so we get coverage
5011 * tests/check/Makefile.am:
5012 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
5013 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
5014 add a test for filesrc
5016 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
5018 * tests/check/gst/gststructure.c: (GST_START_TEST),
5019 (gst_structure_suite):
5020 Push coverage from 59.04% to 70.00%
5022 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
5024 * tests/check/Makefile.am:
5025 gst-inspect every element; this makes sure that we also get
5026 coverage on element's get/set functions
5028 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
5031 set CFLAGS and friends to -O0 if gcov is being used
5034 * libs/gst/base/Makefile.am:
5035 * libs/gst/check/Makefile.am:
5036 * libs/gst/controller/Makefile.am:
5037 * libs/gst/dataprotocol/Makefile.am:
5038 * libs/gst/net/Makefile.am:
5039 * plugins/elements/Makefile.am:
5040 * plugins/indexers/Makefile.am:
5041 add makefile rules to generate gcov data and clean up
5042 * tests/check/Makefile.am:
5043 add a coverage target that generates an html overview
5046 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
5048 * tests/check/elements/fakesink.c:
5049 * tests/check/elements/fakesrc.c:
5050 * tests/check/elements/fdsrc.c:
5051 * tests/check/elements/identity.c:
5052 * tests/check/generic/sinks.c: (gst_sinks_suite):
5053 * tests/check/generic/states.c:
5054 * tests/check/gst/gst.c:
5055 * tests/check/gst/gstabi.c:
5056 * tests/check/gst/gstbin.c:
5057 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
5058 * tests/check/gst/gstbus.c: (gst_bus_suite):
5059 * tests/check/gst/gstcaps.c: (GST_START_TEST):
5060 * tests/check/gst/gstelement.c:
5061 * tests/check/gst/gstevent.c: (gst_event_suite):
5062 * tests/check/gst/gstghostpad.c:
5063 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
5064 * tests/check/gst/gstmessage.c: (gst_message_suite):
5065 * tests/check/gst/gstminiobject.c:
5066 * tests/check/gst/gstobject.c:
5067 * tests/check/gst/gstpad.c:
5068 * tests/check/gst/gstpipeline.c:
5069 * tests/check/gst/gstplugin.c:
5070 * tests/check/gst/gstquery.c: (gst_query_suite):
5071 * tests/check/gst/gstsegment.c: (gst_segment_suite):
5072 * tests/check/gst/gststructure.c:
5073 * tests/check/gst/gstsystemclock.c:
5074 * tests/check/gst/gsttag.c:
5075 * tests/check/gst/gsttask.c: (gst_task_suite):
5076 * tests/check/gst/gstutils.c:
5077 * tests/check/gst/gstvalue.c:
5078 * tests/check/libs/adapter.c:
5079 * tests/check/libs/basesrc.c:
5080 * tests/check/libs/collectpads.c:
5081 * tests/check/libs/controller.c:
5082 * tests/check/libs/gdp.c: (gst_dp_suite):
5083 * tests/check/libs/gstnetclientclock.c:
5084 * tests/check/libs/gstnettimeprovider.c:
5085 * tests/check/libs/libsabi.c: (libsabi_suite):
5086 * tests/check/libs/typefindhelper.c:
5087 * tests/check/pipelines/cleanup.c:
5088 * tests/check/pipelines/parse-launch.c:
5089 * tests/check/pipelines/simple-launch-lines.c:
5090 * tests/check/pipelines/stress.c: (stress_suite):
5093 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
5095 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
5096 * libs/gst/check/gstcheck.h:
5097 create a macro and function so that the simple unit test
5098 case can be just one macro to create main()
5100 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
5102 * gst/gstbin.c: (gst_bin_restore_thyself):
5103 * gst/gstxml.c: (gst_xml_make_element):
5104 Fix deserialisation from XML. Set parent manually
5105 instead of using gst_bin_add(), since gst_bin_add()
5106 will unlink all pads of the element being added.
5109 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
5111 Patch by: Peter Kjellerstedt <pkj at axis com>
5113 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
5114 Fix missing g_strdup() and double free when using the
5115 --gst-plugin-load command line option (#346097).
5117 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
5120 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
5122 * libs/gst/net/gstnetclientclock.c:
5123 * libs/gst/net/gstnettimeprovider.c:
5124 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
5126 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
5128 * docs/manual/advanced-dataaccess.xml:
5129 Fix buffer probe example compilation in
5132 2006-06-22 Edward Hervey <edward@fluendo.com>
5134 * gst/gstelement.c: (gst_element_pads_activate):
5135 We need to deactivate src pads first and then sink pads.
5136 The reason is the src pads might be blocking while holding the streaming
5137 lock, so we need to deactivate them first so that deactivating the sink
5138 pads doesn't block (since it will require the streaming lock).
5140 2006-06-22 Wim Taymans <wim@fluendo.com>
5142 * libs/gst/base/gstbasetransform.c:
5143 (gst_base_transform_buffer_alloc):
5144 Forgot to remove two unneeded unrefs.
5145 Simplify a check _is_equal allready checks the obvious case.
5147 2006-06-22 Wim Taymans <wim@fluendo.com>
5149 * docs/design/part-block.txt:
5150 Some docs about what pad_block should do.
5152 2006-06-22 Wim Taymans <wim@fluendo.com>
5154 * gst/gstcaps.c: (gst_caps_replace):
5155 Fix crasher when passed NULL. Doc clarification.
5156 Optimize for the trivial case.
5158 * gst/gstpipeline.c: (gst_pipeline_change_state):
5161 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5162 Small documentation cleanup.
5164 * libs/gst/base/gstbasetransform.c:
5165 (gst_base_transform_buffer_alloc):
5166 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
5167 is what we need and it avoids a whole lot of redundant
5168 refcount operations.
5170 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
5172 Patch by: Philip Jägenstedt <philip at lysator liu se>
5174 * docs/manual/advanced-dataaccess.xml:
5175 Fix 'Embedding static elements' section to use
5176 GST_PLUGIN_DEFINE_STATIC (#345607).
5178 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
5180 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
5181 Attempt to 'fix' spuriously failing test case: it seems like the
5182 timeout of half a second is simply too small when the system is under
5183 load otherwise, and the timeout doesn't really seem to serve any
5184 particular purpose here. Give the pipeline a few seconds to preroll
5185 first, and then give it another half a second to go from PAUSED to
5186 PLAYING and marshal the message into the main thread.
5188 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
5190 * tools/gst-feedback-m.m:
5191 Don't only use unversioned tools, try versioned tools as well
5194 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
5196 * gst/gstbus.c: (gst_bus_class_init):
5197 Fix some typos, make docs more explicit.
5199 2006-06-20 Wim Taymans <wim@fluendo.com>
5201 * tests/check/gst/gstghostpad.c: (block_callback),
5202 (GST_START_TEST), (gst_ghost_pad_suite):
5203 Added some more ghostpad tests, mainly blocking
5206 2006-06-16 Wim Taymans <wim@fluendo.com>
5208 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5209 (gst_file_sink_close_file), (gst_file_sink_do_seek),
5210 (gst_file_sink_event), (gst_file_sink_render):
5211 * plugins/elements/gstfilesink.h:
5212 Check if we can seek in the file instead of assuming
5213 we always can. Post an error when we are asked to seek in a
5214 non-seekable file (like a fifo). Fixes #343312.
5217 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
5219 * tools/gst-launch.1.in:
5220 Un-garble (fourcc) bit in filtered caps section.
5222 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
5224 * docs/manual/advanced-autoplugging.xml:
5225 * docs/manual/basics-helloworld.xml:
5226 * docs/manual/highlevel-components.xml:
5227 Don't leak bus reference in sample code.
5229 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
5232 Add default for new --enable-plugin-docs switch.
5235 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
5239 Use new ENABLE_PLUGIN_DOCS conditional.
5241 2006-06-14 Wim Taymans <wim@fluendo.com>
5243 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
5244 Make it clear with a FIXME and a real define what the #if 0
5245 previously disabled.
5247 2006-06-14 Wim Taymans <wim@fluendo.com>
5249 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5250 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5251 * libs/gst/base/gstbasetransform.c:
5252 (gst_base_transform_sink_eventfunc):
5253 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
5254 Don't randomly and silently reset a segment when the format
5255 changes as this is a bug somewhere upstream. Fixes #330379.
5257 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
5259 Patch by: Wouter Paesen <wouter at kangaroot net>
5261 * libs/gst/controller/gstcontroller.c:
5262 (gst_controlled_property_new):
5263 Fix controlling of float properties (#344849).
5265 * tests/check/libs/controller.c:
5266 (gst_test_mono_source_get_property),
5267 (gst_test_mono_source_set_property),
5268 (gst_test_mono_source_class_init), (GST_START_TEST):
5269 While we're at it, add some float stuff to unit test.
5271 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
5274 * docs/images/gdp-header.svg:
5276 * docs/libs/Makefile.am:
5277 * docs/libs/gdp-header.png:
5278 * libs/gst/dataprotocol/dataprotocol.c:
5279 add it to the API docs
5280 * docs/manual/intro-motivation.xml:
5283 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
5285 * gst/gst.c: (scan_and_update_registry), (init_post):
5286 If the fork()'ed child process can't write the updated registry cache
5287 file to disk for some reason, make it exit with a failure exit code,
5288 so that the parent can then re-scan the plugins itself and update the
5289 registry structures in memory and work with that (rather than failing
5290 when creating elements because seemingly no plugins are available).
5291 Refactor registry scanning code into separate function for this and
5292 also separate fork() and non-fork() code paths. Fixes #344748.
5294 2006-06-13 Wim Taymans <wim@fluendo.com>
5296 * docs/manual/advanced-dataaccess.xml:
5297 Fix wrong PluginDesc. Fixes #344755.
5299 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
5301 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5302 Fix silly bug that prevented us from creating
5303 ~/.gstreamer-0.10 and writing the registry in one
5304 go (the first call to g_mkstemp() would overwrite the
5305 placeholder in the template string, so the second call
5306 to g_mkstemp() after creating the missing directory
5307 would then error out with 'invalid argument').
5309 2006-06-13 Edward Hervey <edward@fluendo.com>
5311 * gst/gst.c: (init_post):
5314 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
5316 * gst/glib-compat-private.h:
5317 * gst/glib-compat.c:
5318 * gst/glib-compat.h:
5319 * gst/gstvalue.c: (gst_value_serialize_flags):
5320 remove GLib 2.6 compatibility code
5322 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
5324 * gst/parse/Makefile.am:
5325 Fix build with 'make -j N' even more (#340016).
5327 2006-06-12 Wim Taymans <wim@fluendo.com>
5329 * docs/gst/gstreamer-sections.txt:
5332 2006-06-12 Wim Taymans <wim@fluendo.com>
5334 * gst/gstsegment.c: (gst_segment_set_duration),
5335 (gst_segment_set_last_stop), (gst_segment_set_seek),
5336 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5337 (gst_segment_to_running_time), (gst_segment_clip):
5338 Use G_UNLIKELY to help the compiler a bit.
5340 2006-06-12 Wim Taymans <wim@fluendo.com>
5342 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5344 * gst/gstevent.c: (gst_event_get_type):
5346 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5348 constify quark registration strings. Fixes #344115
5349 Avoid unneeded type checking is _pad_push() by internally
5350 calling gst_pad_chain_unchecked().
5352 2006-06-12 Wim Taymans <wim@fluendo.com>
5354 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5355 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5356 (gst_subbuffer_finalize), (gst_buffer_create_sub),
5357 (gst_buffer_is_span_fast), (gst_buffer_span):
5358 Init _type for consistency.
5359 Use _FLAGS macro to avoid type check.
5360 Avoid unneeded type checks in subbufer code.
5362 2006-06-12 Wim Taymans <wim@fluendo.com>
5364 * gst/gst.c: (gst_debug_help):
5365 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5366 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5367 (gst_plugin_feature_list_free):
5368 * gst/gstregistry.c: (gst_registry_add_plugin),
5369 (gst_registry_add_feature), (gst_registry_plugin_filter),
5370 (gst_registry_feature_filter), (gst_registry_find_plugin),
5371 (gst_registry_find_feature), (gst_registry_get_plugin_list),
5372 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5373 * gst/gstregistryxml.c: (load_feature),
5374 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5375 * gst/gstminiobject.c: (gst_mini_object_unref),
5376 (gst_mini_object_replace), (gst_value_mini_object_free),
5377 (gst_value_mini_object_copy):
5378 Use _CAST macros to avoid unneeded type checking.
5379 Added some more G_UNLIKELY.
5381 2006-06-12 Wim Taymans <wim@fluendo.com>
5384 Avoid unneeded type checking.
5385 API: GST_BUFFER_IS_DISCONT
5387 * gst/gstminiobject.h:
5388 Avoid type check in flag accessor.
5390 * gst/gstelementfactory.h:
5392 * gst/gstpluginfeature.h:
5394 API: GST_ELEMENT_FACTORY_CAST
5395 API: GST_PLUGIN_CAST
5396 API: GST_PLUGIN_FEATURE_CAST
5398 2006-06-12 Wim Taymans <wim@fluendo.com>
5400 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5402 Add G_UNLIKELY in type registration.
5403 Avoid type check in _ref/_unref since that is also
5406 2006-06-12 Wim Taymans <wim@fluendo.com>
5408 * gst/gsterror.c: (gst_g_error_get_type):
5409 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5410 (gst_static_pad_template_get_type):
5411 * gst/gsttaglist.c: (gst_tag_list_get_type):
5412 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5413 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5414 * gst/gsturi.c: (gst_uri_handler_get_type):
5415 * gst/gstvalue.c: (gst_date_get_type):
5416 * gst/gstxml.c: (gst_xml_get_type):
5417 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5418 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5419 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5420 Add G_UNLIKELY in type registration.
5422 2006-06-12 Wim Taymans <wim@fluendo.com>
5424 * tools/gst-inspect.c: (print_signal_info):
5425 Properly print enum values.
5427 2006-06-12 Wim Taymans <wim@fluendo.com>
5429 * gst/gstinfo.c: (gst_debug_set_active),
5430 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5432 Add some G_[UN]LIKELY.
5433 Maintain __gst_debug_min to avoid formatting the arguments of
5434 debug messages that will be dropped anyway to avoid a lot of
5435 overhead from the debugging system.
5437 2006-06-11 Stefan Kost <ensonic@users.sf.net>
5441 add missing files containing translatable strings, tell intltool about
5444 2006-06-11 Stefan Kost <ensonic@users.sf.net>
5446 * tests/check/libs/.cvsignore:
5447 add test-binary to ignore list
5449 2006-06-11 Stefan Kost <ensonic@users.sf.net>
5451 * docs/libs/gstreamer-libs-docs.sgml:
5452 reorder (put dp into a chapter) and indent
5454 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5459 === release 0.10.8 ===
5461 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5464 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5466 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5468 * gst/gst.c: (init_post):
5469 move pid declaration to declaration block
5471 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5473 * gst/gst.c: (init_post):
5474 use _exit() instead of exit() in our forked child; this ensures
5475 that none of the registered exit handlers from whatever is using
5476 GStreamer get executed. This fixes gnome-mixer-applet failing
5477 to load, because ORBit would shut down.
5478 Spotted by: Edward Hervey <edward@fluendo.com>
5479 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
5482 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
5487 === release 0.10.7 ===
5489 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
5492 releasing 0.10.7, "Soepeke, ik zie ou"
5494 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
5517 * win32/common/config.h:
5520 2006-06-07 Wim Taymans <wim@fluendo.com>
5522 * gst/gstindex.c: (gst_index_gtype_resolver):
5523 * tools/gst-xmlinspect.c: (print_plugin_info):
5524 Fix leak spotted by coverity checker. Fixes #343827
5525 Fix another other leak found by paolo borelli.
5527 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5529 * libs/gst/dataprotocol/dataprotocol.c:
5530 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5531 (gst_dp_version_get_type), (gst_dp_init),
5532 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5533 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5534 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5535 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5536 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5537 (gst_dp_packetizer_free):
5538 * libs/gst/dataprotocol/dataprotocol.h:
5539 API: add a GstDPPacketizer object, and create/free functions
5540 API: add GstDPVersion enum
5541 Add 1.0 event function that uses the string serialization
5542 Serialize more useful buffer flags
5545 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5547 * tests/check/Makefile.am:
5548 * tests/check/gst/gstabi.c:
5549 * tests/check/gst/struct_ppc64.h:
5550 * tests/check/libs/libsabi.c:
5551 * tests/check/libs/struct_ppc64.h:
5552 add ppc64 structure sizes
5554 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5556 * tests/check/Makefile.am:
5557 * tests/check/gst/gstabi.c:
5558 * tests/check/gst/struct_x86_64.h:
5559 * tests/check/libs/libsabi.c:
5560 * tests/check/libs/struct_x86_64.h:
5561 generate and add structure size lists for x86_64
5563 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5565 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5566 * libs/gst/check/gstcheck.h:
5567 factor out the method from tests that checks size of structures,
5568 and add code to generate the header containing these sizes
5569 * tests/check/gst/gstabi.c: (GST_START_TEST):
5570 * tests/check/gst/struct_i386.h:
5571 * tests/check/libs/libsabi.c: (GST_START_TEST):
5572 * tests/check/libs/struct_i386.h:
5575 2006-06-06 Michael Smith <msmith@fluendo.com>
5578 Don't use c++-style comments, fixes #343929
5580 2006-06-05 Edward Hervey <edward@fluendo.com>
5583 plugin_paths is not used if we build without registry support.
5585 * gst/gstsegment.c: (gst_segment_copy):
5586 _copy() was always returning NULL...
5588 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5590 * libs/gst/dataprotocol/dataprotocol.c:
5591 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5592 (gst_dp_packet_from_event):
5595 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5597 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5598 make sure we unset caps
5600 2006-06-02 Michael Smith <msmith@fluendo.com>
5602 * libs/gst/check/gstcheck.c: (gst_check_init),
5603 (gst_check_chain_func):
5604 * libs/gst/check/gstcheck.h:
5605 Add a cond/mutex to the check support lib, signal this whenever we
5606 add to the buffers list. This will allow tests to not busy-wait on
5609 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5611 * libs/gst/dataprotocol/dataprotocol.c:
5612 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5613 (gst_dp_packet_from_event):
5614 factor out some common header init code
5616 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5618 * docs/libs/gstreamer-libs-sections.txt:
5619 * docs/libs/tmpl/gstdataprotocol.sgml:
5620 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5621 * libs/gst/dataprotocol/dataprotocol.h:
5622 API: make gst_dp_crc() public
5624 2006-06-01 Stefan Kost <ensonic@users.sf.net>
5626 * plugins/indexers/gstindexers.c: (plugin_init):
5627 conditionally register fileindexer (fixes #343598)
5629 2006-06-01 Stefan Kost <ensonic@users.sf.net>
5631 * gst/gsttagsetter.h:
5632 Can't cast ifaces to a class
5634 * libs/gst/net/gstnetclientclock.h:
5635 * libs/gst/net/gstnettimeprovider.h:
5636 * plugins/elements/gstfakesink.h:
5637 * plugins/elements/gstfakesrc.h:
5638 * plugins/elements/gstfdsink.h:
5639 * plugins/elements/gstfdsrc.h:
5640 * plugins/elements/gstfilesink.h:
5641 * plugins/elements/gstfilesrc.h:
5642 * plugins/elements/gstidentity.h:
5643 * plugins/elements/gstqueue.h:
5644 * plugins/elements/gsttee.h:
5645 * plugins/indexers/gstfileindex.c:
5646 * plugins/indexers/gstmemindex.c:
5647 * tests/old/examples/plugins/example.h:
5648 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5650 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
5652 * libs/gst/dataprotocol/dataprotocol.c:
5653 (gst_dp_header_from_buffer):
5654 make sure we zero the whole ABI-compatible area
5656 2006-06-01 Wim Taymans <wim@fluendo.com>
5658 Patch by: Alessandro Decina <alessandro at nnva dot org>
5660 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5661 Make sure the EOS flag is cleared from pads after a flush
5662 or stop. Fixes #343538.
5664 * tests/check/libs/collectpads.c: (GST_START_TEST),
5665 (gst_collect_pads_suite):
5666 Added test for collectpads reusage after EOS.
5668 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
5671 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5672 * win32/common/libgstbase.def:
5673 export gst_collect_pads_set_flushing
5674 * win32/common/libgstreamer.def:
5675 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5676 gst_value_fraction_multiply
5677 * win32/vs6/gst_inspect.dsp:
5678 add a link to intl.lib
5680 2006-05-30 Wim Taymans <wim@fluendo.com>
5682 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5683 (gst_collect_pads_chain):
5684 Handle the case where a pad is removed from the collection
5685 that could cause the other pads to become collectable.
5687 2006-05-30 Wim Taymans <wim@fluendo.com>
5690 Clarify the use of _release_request_pad() and
5691 _get_request_pad() a bit better.
5693 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5694 (gst_adapter_take_buffer):
5695 Fix some doc and comment typos.
5697 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5699 * docs/gst/gstreamer-sections.txt:
5700 * docs/libs/gstreamer-libs-sections.txt:
5701 add declared symbols
5703 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
5705 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5706 Add debug that can be enabled using a #define at the top of the file,
5707 for dumping stats about how late/early we were when waking up from
5708 waiting on the clock.
5710 2006-05-30 Wim Taymans <wim@fluendo.com>
5712 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5713 When rebuilding the pad list, don't leak the previous list.
5715 2006-05-30 Wim Taymans <wim@fluendo.com>
5717 Patch by: Lutz Mueller <lutz at topfrose dot de>
5719 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5720 (gst_base_src_get_query_types), (gst_base_src_update_length):
5721 Publish supported query types.
5722 Update last_stop field in get_range mode so the position
5723 query works. Fixes #342321.
5725 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
5727 * docs/gst/gstreamer-sections.txt:
5728 * gst/gsttaglist.c: (_gst_tag_initialize):
5730 API: add GST_TAG_PREVIEW_IMAGE (#343341).
5732 2006-05-30 Wim Taymans <wim@fluendo.com>
5734 Patch by: Alessandro Decina <alessandro at nnva dot org>
5736 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5737 Unlock mutex when removing an unknown pad.
5740 * tests/check/Makefile.am:
5741 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5742 (push_event), (setup), (teardown), (GST_START_TEST),
5743 (gst_collect_pads_suite), (main):
5744 Added collecpads check, disabled for now as check crashes for
5747 2006-05-29 Wim Taymans <wim@fluendo.com>
5749 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5750 Don't leak pads lists.
5752 2006-05-29 Wim Taymans <wim@fluendo.com>
5754 * docs/libs/gstreamer-libs-sections.txt:
5755 * libs/gst/base/gstcollectpads.c:
5756 (gst_collect_pads_set_flushing_unlocked),
5757 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5758 (gst_collect_pads_stop):
5759 * libs/gst/base/gstcollectpads.h:
5760 API: gst_collect_pads_set_flushing()
5761 Added api to set the pads to flushing, useful for seeking
5762 code in elements using collectpads.
5763 Clear segment when receiving a flush.
5765 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
5767 * gst/gst.c: (add_path_func), (init_post):
5768 Don't scan registry paths passed via --gst-plugin-path immediately
5769 (will crash, because absolutely nothing is set up and no types are
5770 registered etc.); do this later in init_post(). Fixes #343057.
5772 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
5774 * gst/gst.c: (init_post):
5775 if we have fork, fork while reading/rebuilding the registry
5776 so the parent doesn't take the hit of having all plugins loaded
5777 in memory. Fixes #342777.
5779 Check if we have fork()
5780 * win32/common/config.h.in:
5783 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
5785 * plugins/elements/gstelements.c:
5786 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5787 (gst_file_src_init), (gst_file_src_set_property),
5788 (gst_file_src_get_property), (gst_file_src_start):
5789 * plugins/elements/gstfilesrc.h:
5790 API: GstFileSrc::use-mmap
5792 Add a use-mmap property to enable easier testing of all code paths.
5793 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
5794 in the absence of gnomevfssrc. (Closes #340501)
5796 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5798 * tools/gst-inspect.c:
5799 Add missing include, removes warning of ngettext not being defined on
5802 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
5804 * gst/gstvalue.c: (gst_value_deserialize_fraction):
5805 Handle NULL input and output pointers silently as a failed conversion,
5806 rather than g_warnings.
5808 2006-05-25 Wim Taymans <wim@fluendo.com>
5810 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
5811 Initialize variable before using. Fixes #342820.
5813 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
5815 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
5816 Fix off-by-one bug that would only allow peeks of N-1 bytes
5817 from the start even if the buffer to typefind on contains
5818 in fact N bytes of data (makes vorbis typefinding from a
5819 vorbis identification header buffer work).
5821 * tests/check/Makefile.am:
5822 * tests/check/libs/.cvsignore:
5823 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
5824 (gst_typefindhelper_suite), (main), (foobar_typefind),
5826 Add very basic unit test for gst_type_find_helper_for_buffer()
5827 that checks for the problem fixed above.
5829 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
5831 * tools/gst-inspect.c: (print_interfaces),
5832 (print_element_properties_info), (print_element_list), (main):
5833 add more translatable strings
5835 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
5837 Patch by: Julien Moutte <julien at moutte net>
5839 * docs/gst/gstreamer-sections.txt:
5840 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
5842 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5843 (gst_fake_sink_preroll):
5844 * plugins/elements/gstfakesink.h:
5845 API: Add new GstFakeSink::preroll-handoff signal (#337100).
5847 2006-05-23 Wim Taymans <wim@fluendo.com>
5849 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
5851 Added _CUSTOM error and success GstFlowReturn that can be
5852 used be elements internally.
5853 Added macro to check for SUCCESS flowreturns.
5854 API: GST_FLOW_CUSTOM_SUCCESS
5855 API: GST_FLOW_CUSTOM_ERROR
5856 API: GST_FLOW_IS_SUCCESS
5858 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5859 Added check for GstFlowReturn sanity.
5861 2006-05-23 Wim Taymans <wim@fluendo.com>
5863 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5865 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5866 (gst_collect_pads_event):
5867 clear/reset segment info in FLUSH_STOP.
5870 2006-05-22 Stefan Kost <ensonic@users.sf.net>
5872 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
5873 (gst_collect_pads_check_collected):
5874 Flush queued buffer on _stop(), fixes playing again (#342454)
5876 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
5878 * tests/check/gst/gststructure.c: (GST_START_TEST),
5879 (gst_structure_suite):
5880 add a test for a complete structure
5882 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
5884 * docs/faq/developing.xml:
5886 * docs/faq/troubleshooting.xml:
5887 * docs/faq/using.xml:
5888 Some minor FAQ updates that won't change the fact that
5889 our FAQ is badly structured, full of information hardly
5890 anyone new to GStreamer needs to know and lacking lots
5891 of information people constantly ask for.
5893 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
5895 * gst/gstpad.c: (gst_pad_set_caps):
5896 Short-circuit gst_pad_set_caps if setting the existing
5897 caps pointer again, and avoid printing debug and
5898 reffing/unreffing the caps.
5900 * plugins/elements/gstqueue.c: (gst_queue_push_one):
5901 There's actually no need to set the caps before pushing -
5902 the acceptcaps method will handle it anyway.
5904 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
5906 * docs/gst/gstreamer-sections.txt:
5907 * win32/common/libgstreamer.def:
5908 * gst/gstutils.c: (gst_element_seek_simple):
5910 API: add gst_element_seek_simple() (#342238).
5912 2006-05-18 Edward Hervey <edward@fluendo.com>
5914 * gst/gsttypefind.c: (gst_type_find_get_type):
5915 * gst/gsttypefind.h:
5916 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
5917 registered for GstTypeFind pointers. This allows wrapping the structure
5918 in bindings (i.e. gst-python).
5920 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
5922 * gst/gsttagsetter.c:
5923 Docs additions and fixes (see #339918).
5925 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
5927 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5928 The caps intersection algorithm can produce multiple copies of the
5929 caps. Until that is fixed, we need to simplify the result to be
5930 sure whether the allowed caps are fixed or not.
5932 * plugins/elements/gstqueue.c: (gst_queue_init),
5933 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
5934 (gst_queue_push_one):
5935 Proxied buffer alloc should not set the caps on the source pad.
5936 When pushing buffers, we always accept the caps change that triggers.
5937 This prevents negotiation errors caused by caps changing mid-stream
5938 and then being refused on our source pad (because upstream is now
5939 refusing those caps).
5941 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
5943 * tests/examples/helloworld/helloworld.c: (main):
5944 Must plug audioconvert and audioresample between decoder
5947 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
5949 * gst/gstregistryxml.c: (read_string), (load_pad_template),
5950 (load_feature), (load_plugin):
5951 Allow empty strings for some of the plugin fields so we don't
5952 drop valid plugin entries that were written out correctly
5955 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
5957 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5958 Use g_remove and g_rename instead of remove and rename that don't
5959 handle utf8 characters. rename was failing for users who had specific
5960 characters in their name then the registry was built at each
5962 * win32/vs6/gst_inspect.dsp:
5963 * win32/vs6/gst_launch.dsp:
5964 * win32/vs6/libgstbase.dsp:
5965 * win32/vs6/libgstcoreelements.dsp:
5966 * win32/vs6/libgstreamer.dsp:
5967 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
5968 build of libgstreamer and clean unused libraries in projects link
5971 2006-05-17 Edward Hervey <edward@fluendo.com>
5973 * plugins/elements/gstqueue.c: (gst_queue_push_one):
5974 The queue is not responsible for pushing an EOS when receiving a fatal
5975 flow error. It's up to the real element driving the pipeline to do that.
5977 2006-05-16 Edward Hervey <edward@fluendo.com>
5979 * plugins/elements/gstqueue.c: (gst_queue_push_one):
5980 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
5981 buffer returned a fatal error. It should just send an EOS and stop
5983 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
5984 when pushing buffers on the queue and will be able to handle the event.
5986 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
5988 * docs/manual/basics-bins.xml:
5989 * docs/manual/basics-init.xml:
5990 Fix typos and minor errors in sample code (#341856).
5992 2006-05-16 Wim Taymans <wim@fluendo.com>
5994 * docs/design/part-qos.txt:
5995 Fix indexes in formulas to make more sense.
5997 2006-05-15 Wim Taymans <wim@fluendo.com>
5999 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6000 Don't report POSITION based on clock time if sync is
6003 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
6006 Add cast to make compiler happy - refcount variable was a gint
6007 in GstObject but is a guint in GObject and g_atomic_int_get()
6010 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
6012 * gst/parse/Makefile.am:
6013 chain commands using &&, which also makes parallel make work
6015 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
6017 * docs/gst/gstreamer-sections.txt:
6023 === release 0.10.6 ===
6025 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
6028 releasing 0.10.6, "Take the cannoli"
6030 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
6032 * tools/gst-launch.c: (print_tag):
6033 Fix use of uninitialized variable in the hypothetical
6034 case that some broken plugin creates a GST_TAG_IMAGE
6035 tag containing a NULL buffer (#341667).
6037 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
6039 * tools/gst-launch.c: (print_tag):
6040 Print something more intelligible for image tags when
6041 using the -t switch (#341556).
6043 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
6048 define GST_MAJORMINOR so we have it available in win32/common/config.h
6049 Possibly remove it from our Makefile.am files later
6050 * win32/common/config.h:
6051 * win32/common/config.h.in:
6052 added GST_MAJORMINOR
6053 * win32/common/gstenumtypes.c: (register_gst_resource_error):
6054 * win32/common/gstversion.h:
6057 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
6060 Update win32 files listing.
6061 * win32/common/gstversion.h:
6062 Add GST_MAJORMINOR definition.
6063 * win32/common/libgstreamer.def:
6064 Add new exported functions.
6066 2006-05-12 Michael Smith <msmith@fluendo.com>
6068 * gst/gstplugin.c: (gst_plugin_load_file):
6069 If an so file has no plugin entry point, unload the module.
6071 2006-05-11 Wim Taymans <wim@fluendo.com>
6073 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
6074 (gst_queue_set_property):
6075 Don't forget to signal the _chain or _loop function
6076 when the queue size or thresholds change since that might
6077 cause them to make progres again.
6079 2006-05-11 Stefan Kost <ensonic@users.sf.net>
6081 * gst/gstclock.c: (gst_clock_class_init):
6082 * gst/gstindex.c: (gst_index_class_init):
6083 * gst/gstobject.c: (gst_object_class_init):
6084 * gst/gstpad.c: (gst_pad_class_init):
6085 * gst/gstpipeline.c: (gst_pipeline_class_init):
6086 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6087 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
6088 * libs/gst/base/gstbasetransform.c:
6089 (gst_base_transform_class_init):
6090 * libs/gst/net/gstnetclientclock.c:
6091 (gst_net_client_clock_class_init):
6092 * libs/gst/net/gstnettimeprovider.c:
6093 (gst_net_time_provider_class_init):
6094 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
6095 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6096 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6097 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
6098 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6099 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
6100 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
6101 * plugins/elements/gstidentity.c: (gst_identity_class_init):
6102 * plugins/elements/gsttee.c: (gst_tee_class_init):
6103 * tests/old/examples/plugins/example.c: (gst_example_class_init):
6104 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6105 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
6107 2006-05-11 Wim Taymans <wim@fluendo.com>
6109 * gst/gstbuffer.c: (_gst_buffer_initialize):
6110 Register subbufer along with the buffer type so that
6111 it does not accidentally gets registered from N
6112 different streaming threads in a non threadsafe way.
6114 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
6119 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
6120 gst_event_ref() and gst_message_ref() functions again
6121 (ugly hack, please do fix if there's a better way besides
6122 overrides.txt, which doesn't seem to work).
6124 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
6126 * libs/gst/check/gstcheck.h:
6127 add an assert for setting state to avoid lots of repetitive code
6130 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
6132 * gst/gstvalue.c: (gst_value_serialize_flags):
6133 fix a leak if no flags are set
6134 * tests/check/gst/gstvalue.c: (GST_START_TEST):
6137 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
6139 * docs/manual/basics-pads.xml:
6140 Expand a bit on caps and filtered links and update
6141 examples that were still using the no longer existing
6142 gst_pad_link_filtered() (#338206).
6144 2006-05-10 Wim Taymans <wim@fluendo.com>
6146 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6147 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6148 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6149 (gst_collect_pads_stop):
6150 * libs/gst/base/gstcollectpads.h:
6151 No need to call _stop in _finalize.
6152 Iterate the main pad list in _finalize.
6153 Added some more debug.
6154 Free lists and data in the right order.
6155 Also free data whem doing _remove_pad when stopped for
6156 backward compatibility protect ::started with PAD_LOCK as
6159 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
6161 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
6162 (gst_structure_parse_value):
6164 rename a method so that it actually says what it does better
6166 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
6168 * gst/gstevent.c: (_gst_event_initialize):
6169 * gst/gstformat.c: (_gst_format_initialize):
6170 make sure some essential types used by events are registered
6171 as part of gst_init()
6172 * gst/gstvalue.c: (gst_value_serialize_flags):
6173 if no flags are set, serialize them to a value that represents NONE
6174 so that deserializing them works
6175 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6176 add tests for serialization and deserialization of flags
6178 2006-05-10 Wim Taymans <wim@fluendo.com>
6180 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
6181 (gst_collect_pads_collect_range), (gst_collect_pads_available),
6182 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
6183 (gst_collect_pads_event), (gst_collect_pads_chain):
6186 Catch and return errors from the collect function
6187 Refuse data on eos pads.
6189 2006-05-10 Edward Hervey <edward@fluendo.com>
6191 * gst/gstinterface.h:
6192 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
6193 GInterface type checking.
6194 They were previously using non-defined macros.
6196 2006-05-09 Wim Taymans <wim@fluendo.com>
6198 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
6199 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
6200 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
6201 (gst_collect_pads_start), (gst_collect_pads_stop),
6202 (gst_collect_pads_peek), (gst_collect_pads_pop),
6203 (gst_collect_pads_available), (gst_collect_pads_read),
6204 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
6205 (gst_collect_pads_is_collected), (gst_collect_pads_event),
6206 (gst_collect_pads_chain):
6207 * libs/gst/base/gstcollectpads.h:
6208 Clean up the mess that is collectpads, add comments and
6209 FIXMEs where needed.
6210 Maintain a separate pad list so we can add pads while
6211 collecting the other ones. For this we need a new separate
6213 Fix memory leak in finalize.
6214 Refactor some weird code to set/unset pad flushing flags, mark
6216 Don't crash in _available, _read, _flush when we're EOS.
6218 * tests/check/libs/.cvsignore:
6219 Ignore adapter check binary.
6221 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
6223 * gst/gstindex.c: (gst_index_resolver_get_type):
6224 * plugins/elements/gstfakesink.c:
6225 (gst_fake_sink_state_error_get_type):
6226 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6227 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
6228 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
6229 Const-ify GEnumValue arrays.
6231 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
6233 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6234 Add test case for flags + gst_buffer_make_metadata_writable().
6236 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
6238 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
6239 gst_buffer_make_metadata_writable() should maintain the
6240 buffer flags (those that make sense at least) (see #340859).
6242 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
6244 * tools/gst-inspect.c:
6245 * tools/gst-launch.c:
6246 * tools/gst-typefind.c:
6247 * tools/gst-xmlinspect.c:
6249 Fix up includes: need to include stdlib.h in tools.h for exit().
6251 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
6253 * gst/gsttaglist.c: (_gst_tag_initialize):
6255 API: add GST_TAG_IMAGE tag (#340721).
6257 2006-05-08 Wim Taymans <wim@fluendo.com>
6260 Added some docs for the segment query.
6262 2006-05-08 Wim Taymans <wim@fluendo.com>
6264 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6265 (gst_base_src_loop), (gst_base_src_change_state):
6266 Always push non-flushing serialized events in the streaming
6269 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
6271 * gst/gsterror.c: (_gst_stream_errors_init):
6272 Add a missing error string.
6274 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
6276 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
6277 Add applied_rate to the debug
6279 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6280 Copy applied_rate into the outgoing NEWSEGMENT event
6282 2006-05-08 Wim Taymans <wim@fluendo.com>
6284 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
6286 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6287 (gst_base_sink_change_state):
6288 call ::unlock before taking the PREROLL_LOCK so we can safely
6289 handle elements that lock in ::render.
6292 2006-05-08 Edward Hervey <edward@fluendo.com>
6294 * autogen.sh: (CONFIGURE_DEF_OPT):
6295 Darwin's libtoolize is in fact called glibtoolize.
6296 Adding glibtoolize to the list of accepted names for libtoolize.
6298 2006-05-08 Wim Taymans <wim@fluendo.com>
6300 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6301 Unify error handling, don't post an error message
6302 when a push() returns EOS but perform our normal EOS
6303 handling code. Fixes #340772.
6305 2006-05-08 Wim Taymans <wim@fluendo.com>
6307 * docs/design/part-overview.txt:
6308 Make upsteam/downstream concepts more clear.
6309 Give an example of serialized/non-serialized events.
6311 * docs/design/part-events.txt:
6312 * docs/design/part-streams.txt:
6313 Mention applied_rate.
6315 * docs/design/part-trickmodes.txt:
6316 Mention applied rate, flesh out some more use cases.
6318 * gst/gstevent.c: (gst_event_new_new_segment),
6319 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6320 (gst_event_parse_new_segment_full), (gst_event_new_tag),
6321 (gst_event_parse_tag), (gst_event_new_buffer_size),
6322 (gst_event_parse_buffer_size), (gst_event_new_qos),
6323 (gst_event_parse_qos), (gst_event_parse_seek),
6324 (gst_event_new_navigation):
6326 Add applied_rate field to NEWSEGMENT event.
6327 API: gst_event_new_new_segment_full()
6328 API: gst_event_parse_new_segment_full()
6330 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6331 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6332 (gst_segment_to_stream_time), (gst_segment_to_running_time):
6334 Add applied_rate to GstSegment structure.
6335 Make calculation of stream_time and running_time more correct
6336 wrt rate/applied_rate.
6338 API: GstSegment::applied_rate field
6339 API: gst_segment_set_newsegment_full();
6341 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6342 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6343 * libs/gst/base/gstbasetransform.c:
6344 (gst_base_transform_sink_eventfunc),
6345 (gst_base_transform_handle_buffer):
6346 Parse and use applied_rate in the GstSegment field.
6348 * tests/check/gst/gstevent.c: (GST_START_TEST):
6349 Add check for applied_rate field.
6351 * tests/check/gst/gstsegment.c: (GST_START_TEST),
6352 (gstsegments_suite):
6353 Add more checks for various GstSegment operations.
6355 2006-05-08 Wim Taymans <wim@fluendo.com>
6357 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6358 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6359 (gst_base_sink_get_position), (gst_base_sink_change_state):
6360 Store the sync time of the buffer end position separatly in a
6361 new variable eos_rtime so we can properly sync the EOS event.
6363 Fix the docs for gst_base_sink_set_qos_enabled().
6364 Don't set segment start to invalid value when we receive a
6365 non TIME newsegment.
6366 get closer to handling position reporting for negative rates
6369 2006-05-07 Stefan Kost <ensonic@users.sf.net>
6372 Docs about how to print caps for debug purposes.
6374 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6375 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6377 2006-05-07 Stefan Kost <ensonic@users.sf.net>
6380 use full enum names and preprend a '%' in docs strings to make recent
6381 gtk-doc turn that into a link
6383 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6385 * docs/manual/basics-bins.xml:
6386 * docs/manual/basics-bus.xml:
6387 * docs/manual/basics-pads.xml:
6388 Some typo fixes, some additions, some clarifications.
6390 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6392 * tools/gst-inspect.c: (main):
6393 * tools/gst-launch.c: (main):
6394 * tools/gst-run.c: (main):
6395 * tools/gst-typefind.c: (main):
6396 * tools/gst-xmlinspect.c: (main):
6397 Use the string passed to g_option_context_new() for
6398 what it's intended for - the program name is already
6401 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6403 * tools/Makefile.am:
6404 * tools/gst-inspect.c: (main):
6405 * tools/gst-launch.c: (main):
6406 * tools/gst-xmlinspect.c: (main):
6408 Add back --version command line option (#340460).
6410 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6411 Add --version option and use GOption for argument parsing; refactor a
6412 bit; accept directories as arguments and recurse into them; lastly,
6413 print a decent error message when things go wrong.
6415 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6417 * docs/manual/basics-bins.xml:
6418 Don't mention GstThread (#340611)
6419 * docs/manual/basics-elements.xml:
6420 Update link to GObject tutorial (#340607)
6422 2006-05-05 Wim Taymans <wim@fluendo.com>
6425 * gst/gstminiobject.c:
6426 Add note about refcounting and miniobject/buffer writeability
6427 to docs. Fixes #340604
6429 * gst/gstelementfactory.h:
6430 Added some explanation about @klass.
6432 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6434 * docs/manual/intro-motivation.xml:
6435 * docs/manual/manual.xml:
6436 Avoid CORBA & Bonobo references (#340598)
6438 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6440 * docs/manual/basics-bus.xml:
6441 * docs/manual/basics-pads.xml:
6442 Fix up some inaccuracies and omissions (#340609)
6444 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6446 * gst/gstghostpad.c:
6447 Small typo in docs (#340625)
6449 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6451 * gst/parse/Makefile.am:
6452 Make 'make -j' proof (see #340698).
6454 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6457 Require GLib-2.8 here as well.
6459 2006-05-05 Wim Taymans <wim@fluendo.com>
6461 * gst/glib-compat.c:
6462 * gst/gst.c: (init_pre):
6463 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6464 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6465 (gst_object_dispatch_properties_changed):
6467 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6468 * gst/gststructure.c: (gst_structure_set_valist):
6469 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6470 Remove pre glib2.8 compatibility, fixes #340508
6472 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
6475 Mention type of tags in doc blurbs.
6477 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
6479 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6480 (gst_pad_configure_src), (gst_pad_push):
6481 Restore acceptcaps checking behaviour now that good plugins have
6484 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
6486 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6497 * gst/parse/Makefile.am:
6498 * libs/gst/base/gstadapter.c:
6499 * libs/gst/base/gstbasesrc.c:
6500 * libs/gst/base/gstpushsrc.c:
6501 * libs/gst/base/gsttypefindhelper.c:
6502 * plugins/elements/gstfakesrc.c:
6503 * plugins/elements/gstidentity.c:
6504 Make sure gstprivate.h and/or config.h are
6505 always included first, otherwise some of our
6506 defines (like _FILE_OFFSET_BITS) might be
6507 redefined in the system headers. Fixes build
6508 on opensolaris (#340016).
6510 2006-05-04 Wim Taymans <wim@fluendo.com>
6512 * docs/libs/gstreamer-libs-sections.txt:
6513 API: addition: gst_adapter_take_buffer()
6515 * libs/gst/base/gstadapter.c: (gst_adapter_push),
6516 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6517 (gst_adapter_available_fast):
6518 * libs/gst/base/gstadapter.h:
6519 Prepare for optimizing the hell out of this hugely inefficient
6521 Added gst_adapter_take_buffer() so we can at least start thinking
6522 about subbuffering and merging.
6523 Added some comments.
6525 * tests/check/Makefile.am:
6526 * tests/check/libs/adapter.c: (GST_START_TEST),
6527 (gst_adapter_suite), (main):
6528 Added GstAdapter check.
6530 2006-05-04 Wim Taymans <wim@fluendo.com>
6532 * docs/design/part-overview.txt:
6533 Fix some typos, add blurb about buffer flags.
6535 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
6537 * docs/libs/gstreamer-libs-sections.txt:
6538 make sure GstBaseTransformClass shows up in the docs
6539 * libs/gst/base/gstbasetransform.c:
6540 * libs/gst/base/gstbasetransform.h:
6541 move docs so gtk-doc picks it up now
6543 2006-05-02 Stefan Kost <ensonic@users.sf.net>
6545 * docs/libs/gstreamer-libs-sections.txt:
6546 add missing symbols to docs
6548 2006-05-02 Stefan Kost <ensonic@users.sf.net>
6550 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6551 back out the newsegment handling change, see #340060 for ongoing
6554 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
6556 * tools/gst-run.c: (get_candidates), (main):
6557 Fix wrong g_file_test() usage (see glib docs for why it doesn't
6558 work); fix typo in error message. Fixes #340079.
6560 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
6562 * common/Makefile.am:
6564 * docs/faq/Makefile.am:
6565 * docs/gst/Makefile.am:
6566 * docs/libs/Makefile.am:
6567 * docs/manual/Makefile.am:
6568 * docs/plugins/Makefile.am:
6569 * docs/pwg/Makefile.am:
6570 * docs/slides/Makefile.am:
6572 * common/upload.mak:
6573 move upload.mak to common
6575 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
6577 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6578 add more asserts on refcounts
6579 do more cleanup at end of tests
6580 fix test leaks showing in FC5
6582 2006-04-29 Stefan Kost <ensonic@users.sf.net>
6584 * plugins/elements/gsttypefindelement.c:
6585 (gst_type_find_element_handle_event):
6586 reverted wrong change and reflowed code to avoid others falling into
6589 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6591 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6592 fix changelog entry about last collectpads change,
6593 add notes about proper fix
6595 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6598 * gst/gstregistry.c: (gst_registry_scan_path_level),
6599 (gst_registry_scan_path):
6600 * gst/gstregistry.h:
6601 only write out registry if it has changed, fixes #338339
6603 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6606 * gst/gstpipeline.c:
6607 * plugins/elements/gstcapsfilter.c:
6608 * plugins/elements/gstfakesink.c:
6609 * plugins/elements/gstfakesrc.c:
6610 * plugins/elements/gstfdsink.c:
6611 * plugins/elements/gstfdsrc.c:
6612 * plugins/elements/gstfilesink.c:
6613 * plugins/elements/gstfilesrc.c:
6614 * plugins/elements/gstidentity.c:
6615 * plugins/elements/gstqueue.c:
6616 * plugins/elements/gsttee.c:
6617 * plugins/elements/gsttypefindelement.c:
6618 (gst_type_find_element_handle_event):
6619 make GstElementDetails const
6621 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6623 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6624 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6625 (gst_collect_pads_is_collected), (gst_collect_pads_event):
6626 more detailed debug and formatting cleanup,
6627 forward newsegments to src-pad (so that e.g. adder not eats them)
6629 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6631 * gst/gstutils.c: (gst_element_link_pads):
6634 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6636 * libs/gst/controller/gstcontroller.c:
6637 (gst_controller_sync_values):
6639 * tests/check/libs/controller.c: (GST_START_TEST),
6640 (gst_controller_suite):
6641 a new test for live value handling
6643 2006-04-28 Wim Taymans <wim@fluendo.com>
6645 * gst/gstutils.c: (push_and_ref):
6646 Added some more docs.
6647 Fix refcount issue whith gst_element_found_tags() helper
6648 function. Fixes #338335
6650 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6651 Added testsuite for gst_element_found_tags().
6653 2006-04-28 Michael Smith <msmith@fluendo.com>
6655 * gst/gstvalue.c: (gst_value_serialize_flags):
6656 Avoid NULL dereference when trying to serialize flags containing
6659 2006-04-28 Michael Smith <msmith@fluendo.com>
6661 * plugins/elements/gsttypefindelement.c:
6662 (gst_type_find_element_handle_event):
6663 If we get EOS before any data is accumulated, don't use
6664 uninitialised local variables.
6666 2006-04-28 Michael Smith <msmith@fluendo.com>
6668 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6669 (gst_dp_event_from_packet):
6670 Fixes in reading/writing events over GDP (not currently used?) -
6671 dereferencing NULL events for unknown/invalid event types, memory
6672 leak, and change g_warning to GST_WARNING.
6674 2006-04-28 Wim Taymans <wim@fluendo.com>
6676 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6677 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6678 (gst_base_sink_get_position), (gst_base_sink_change_state):
6679 When frame dropping is enabled, we should not ignore frames
6681 Update some documentation.
6683 2006-04-28 Wim Taymans <wim@fluendo.com>
6685 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6686 (gst_base_src_send_event), (gst_base_src_change_state):
6687 Documentation updates.
6689 2006-04-28 Wim Taymans <wim@fluendo.com>
6691 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6692 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6693 handle EAGAIN, EINTR and short writes correctly. Also clean
6694 up some error cases, avoid a deadlock on bad file descriptors and
6695 use GST_DEBUG_OBJECT.
6698 2006-04-28 Wim Taymans <wim@fluendo.com>
6700 * gst/gstvalue.c: (gst_value_serialize_buffer),
6701 (gst_value_deserialize_buffer):
6702 Don't try to serialize a GValue with a NULL buffer.
6705 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6706 Added check for serialisation of NULL buffers.
6708 2006-04-28 Wim Taymans <wim@fluendo.com>
6710 * gst/gstminiobject.c: (gst_value_take_mini_object):
6711 Taking a NULL miniobject is valid, fix the case where
6712 we try to unref the NULL miniobject.
6714 2006-04-28 Wim Taymans <wim@fluendo.com>
6716 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6718 * gst/gstbin.c: (gst_bin_handle_message_func):
6720 Don't leak bin refcount when a state recalc is
6721 in progress and we delay another one #339808.
6723 2006-04-28 Wim Taymans <wim@fluendo.com>
6725 * docs/design/part-TODO.txt:
6726 Mention QoS as an ongoing work item.
6728 * docs/design/part-buffering.txt:
6729 New doc about buffering that needs to be fleshed out
6732 * docs/design/part-qos.txt:
6733 More QoS policy for decoders/demuxers/transforms
6735 * docs/design/part-trickmodes.txt:
6738 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
6743 === release 0.10.5 ===
6745 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
6748 releasing 0.10.5, "Fogo"
6750 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
6752 patch by: Wim Taymans
6754 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6755 (gst_pad_configure_src), (gst_pad_push):
6756 * gst/gstpipeline.c: (gst_pipeline_init):
6757 Fix internal data flow errors. Fixes #338711.
6759 2006-04-12 Wim Taymans <wim@fluendo.com>
6761 * tests/check/gst/gstelement.c: (GST_START_TEST):
6762 Don't leak the factory.
6764 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
6767 * win32/common/config.h:
6770 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
6772 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6773 (gst_controller_unset_all):
6774 Free allocated GstTimedValues when freeing list nodes.
6775 Should fix leaks 'make check-valgrind' complains about.
6777 * win32/common/libgstcontroller.def:
6778 Add gst_controller_unset_all.
6780 2006-04-11 Stefan Kost <ensonic@users.sf.net>
6782 * docs/libs/gstreamer-libs-sections.txt:
6783 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6784 (gst_controller_unset_all):
6785 * libs/gst/controller/gstcontroller.h:
6786 API: Added new method gst_controller_unset_all()
6787 fixed gst_controller_unset()
6788 * tests/check/libs/controller.c: (GST_START_TEST),
6789 (gst_controller_suite):
6790 Added two testcases for new and fixed method
6792 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
6794 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6795 MSG_DONTWAIT is not defined on Cygwin, so work
6796 around that (fixes #317048).
6798 2006-04-11 Wim Taymans <wim@fluendo.com>
6800 * gst/gstelementfactory.c: (gst_element_register),
6801 (gst_element_factory_create), (gst_element_factory_make):
6804 Updated docs (Fixes #131079)
6806 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6809 * tests/check/gst/gstelement.c: (GST_START_TEST),
6810 (gst_element_suite):
6811 Added testcase for elementfactory class field.
6813 2006-04-10 Wim Taymans <wim@fluendo.com>
6816 Added some more docs.
6818 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
6819 (gst_base_sink_reset_qos):
6820 Calculate more accurate rate values.
6822 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
6824 * gst/gst_private.h:
6825 add a new #ifdef to use __declspec(dllimport) only for
6826 other modules and not for gstreamer core
6827 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
6828 use gst_guint64_to_gdouble for conversion
6829 * win32/common/libgstreamer.def:
6830 add new exported functions
6831 * win32/vs6/gst_inspect.dsp:
6832 * win32/vs6/gst_launch.dsp:
6833 * win32/vs6/libgstbase.dsp:
6834 * win32/vs6/libgstcontroller.dsp:
6835 * win32/vs6/libgstcoreelements.dsp:
6836 * win32/vs6/libgstdataprotocol.dsp:
6837 * win32/vs6/libgstnet.dsp:
6838 update project files
6840 2006-04-08 Stefan Kost <ensonic@users.sf.net>
6842 * gst/gstbuffer.c: (gst_subbuffer_class_init):
6843 * gst/gstclock.c: (gst_clock_class_init):
6844 * gst/gstelement.c: (gst_element_class_init):
6845 * gst/gstindex.c: (gst_index_class_init):
6846 * gst/gstindexfactory.c: (gst_index_factory_class_init):
6847 * gst/gstobject.c: (gst_object_class_init),
6848 (gst_signal_object_class_init):
6849 * gst/gstpad.c: (gst_pad_class_init):
6850 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
6851 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
6852 * gst/gstregistry.c: (gst_registry_class_init):
6853 * gst/gstsystemclock.c: (gst_system_clock_class_init):
6854 * gst/gsttask.c: (gst_task_class_init):
6855 * gst/gstxml.c: (gst_xml_class_init):
6856 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6857 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6858 (gst_base_src_loop):
6859 * libs/gst/controller/gstcontroller.c:/
6860 (_gst_controller_class_init):
6861 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6862 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
6863 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
6864 * tests/old/examples/plugins/example.c: (gst_example_class_init):
6865 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6866 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
6868 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
6870 * gst/gstpad.c: (gst_pad_link):
6871 Must set peer pads before calling the link function, otherwise
6872 a task started from a link function might get a flow-not-linked
6873 result when trying to push because the other thread where the
6874 linking happens hasn't had a chance to set the peers yet. This
6875 might happen for example when a queue gets linked to a downstream
6876 element, as queue starts a streaming task when its source pad
6877 gets linked. Happens in real life when playing back flac/musepack
6878 files in playbin (#332390).
6880 2006-04-08 Stefan Kost <ensonic@users.sf.net>
6884 * libs/gst/base/gstadapter.h:
6885 * libs/gst/base/gstbasesink.h:
6886 * libs/gst/base/gstbasesrc.h:
6887 * libs/gst/base/gstbasetransform.h:
6888 * libs/gst/base/gstcollectpads.h:
6889 * libs/gst/base/gstpushsrc.h:
6890 Fix broken GObject macros
6892 2006-04-07 Wim Taymans <wim@fluendo.com>
6894 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6895 Initialize start and stop times, thanks valgrind.
6897 2006-04-07 Wim Taymans <wim@fluendo.com>
6899 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6900 Be a bit nicer to badly behaving upstream elements that expect
6901 us to deal with non TIME segments and timestamps (such as fakesrc
6904 2006-04-07 Wim Taymans <wim@fluendo.com>
6907 Small documentation clarification about the signal watch.
6909 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6910 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6911 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6912 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6913 (gst_base_sink_get_position_last),
6914 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
6915 Convert and store timestamps in stream time and running time, the
6916 raw timestamps are not useful, also document this better.
6917 Use different window sizes for good and bad QoS observations so
6918 we react to badness a little quicker.
6919 Keep track of the amount of rendered and dropped buffers.
6920 Send QoS timestamps in running time.
6922 * libs/gst/base/gstbasetransform.c:
6923 (gst_base_transform_sink_eventfunc),
6924 (gst_base_transform_handle_buffer):
6925 Compare QoS timestamps against running time.
6927 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
6932 2006-04-06 Michael Smith <msmith@fluendo.com>
6934 * gst/gstpad.c: (gst_pad_set_property):
6935 Use g_value_get_object() instead of g_value_dup_gst_object(),
6936 to avoid double-reffing the pad template (which we then sink,
6937 so this worked previously if (and only if) the pad template
6940 * gst/gstpadtemplate.c: (gst_pad_template_init),
6941 (gst_pad_template_pad_created):
6942 Never return floating references to pad templates, create
6943 them as initially-sunken.
6945 Document an extra function (and make this stop sinking our
6946 pad template, since that is now guaranteed to do nothing,
6947 since we created it sunken).
6949 * gst/gstghostpad.c:
6952 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
6954 * gst/gstinfo.c: (__gst_in_valgrind):
6957 * plugins/elements/gsttypefindelement.c:
6958 (gst_type_find_element_chain):
6959 Don't leak buffer caps.
6961 2006-04-06 Michael Smith <msmith@fluendo.com>
6963 * gst/parse/grammar.y:
6964 Fix a leak in parse-launch for any source-or-sink named element
6967 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
6968 Unref the pipeline if it exists after we've failed parsing.
6970 2006-04-05 Michael Smith <msmith@fluendo.com>
6972 * gst/gstpipeline.c: (gst_pipeline_init):
6973 When we create a pipeline bus, initially create it in flushing mode.
6974 Fixes leaks in at least one test, and makes a new pipeline work the
6975 same as one that has gone to READY and then back to NULL.
6980 2006-04-05 Michael Smith <msmith@fluendo.com>
6982 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6983 Unref a pad we reffed.
6984 * tests/check/gst/gstutils.c: (GST_START_TEST):
6987 2006-04-05 Michael Smith <msmith@fluendo.com>
6989 * gst/gstquery.c: (gst_query_set_formats),
6990 (gst_query_set_formatsv):
6991 Fix leaking GValues in queries, as shown by valgrind/testsuite.
6993 2006-04-05 Michael Smith <msmith@fluendo.com>
6995 * tests/check/generic/sinks.c: (GST_START_TEST):
6996 Fix a variety of memleaks in sinks check, which are only sometimes
6997 shown by running the tests under valgrind (weird?).
6999 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
7001 * docs/version.entities.in:
7002 Fix the substituted entity name after thomas' changes on the
7005 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
7007 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
7010 2006-04-05 Andy Wingo <wingo@pobox.com>
7012 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
7014 * libs/gst/base/gstbasetransform.c
7015 (gst_base_transform_sink_eventfunc): When resetting our segment on
7016 FLUSH_STOP, also update the flag saying we haven't seen a
7019 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
7021 Patch by: Paolo Borelli <pborelli at katamail dot com>
7023 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7024 (gst_plugin_check_license):
7025 minor clean-ups: G_DEFINE_TYPE already takes care of the
7026 parent_class stuff, no need to do it twice. Mark array of
7027 license strings as constant. (#337103)
7029 2006-04-04 Michael Smith <msmith@fluendo.com>
7031 * tools/gst-inspect.c: (print_element_list):
7032 Free the right plugin list; fixes a memory leak.
7034 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
7036 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7038 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7039 Don't error out on empty buffers (#336945).
7041 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
7043 * docs/libs/gstreamer-libs-sections.txt:
7045 * libs/gst/base/gstbasesink.c:
7046 * libs/gst/base/gstbasesink.h:
7047 * libs/gst/base/gstbasesrc.c:
7048 * libs/gst/base/gstbasesrc.h:
7049 Documentation updates. Make BaseSink and BaseSrc docs contain the
7050 class structure so that people can actually see the prototypes for
7051 virtual functions they're supposed to be overriding.
7053 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
7055 * plugins/elements/gsttypefindelement.c:
7056 (gst_type_find_element_chain):
7057 More debug info; when skipping typefinding, send cached
7058 events in all cases.
7060 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
7063 use new AS_VERSION and AS_NANO macros
7064 * gst/gst-i18n-lib.h:
7067 * gst/gstversion.h.in:
7068 * win32/common/config.h:
7069 * win32/common/config.h.in:
7072 2006-03-31 Michael Smith <msmith@fluendo.com>
7074 * plugins/elements/gsttypefindelement.c:
7075 (gst_type_find_element_chain):
7076 Do not typefind content if the buffers already have caps.
7077 Neccesary for icydemux (#333657), and the right thing to do anyway.
7079 2006-03-30 Wim Taymans <wim@fluendo.com>
7081 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7082 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
7083 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
7084 (gst_base_sink_record_qos_observation),
7085 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7086 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7087 (gst_base_sink_change_state):
7088 More QoS measurements as described in the design doc.
7089 Get rid of ringbuffer with observations, running average is
7090 more simple and equally good.
7091 Calculates valid proportion now.
7092 Added beginning of flood measurement.
7094 2006-03-29 Wim Taymans <wim@fluendo.com>
7096 * docs/design/part-qos.txt:
7098 Small documentation updates and additions.
7100 2006-03-29 Wim Taymans <wim@fluendo.com>
7102 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7103 (gst_base_src_send_event), (gst_base_src_loop),
7104 (gst_base_src_change_state):
7105 Perform the EOS logic when we reach the segment stop position.
7106 Fix compilation on gcc4.1
7108 2006-03-29 Wim Taymans <wim@fluendo.com>
7110 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7112 * plugins/elements/gstqueue.c: (gst_queue_init),
7113 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
7114 (gst_queue_set_property):
7115 * plugins/elements/gstqueue.h:
7116 In queue, when EOS is received, if minimum threshold > max_size -
7117 current_level, there is chance that queue blocks forever in conditional
7118 item del wait. This is because the queue is not emptied completely due
7119 to minimum threshold. Here is another approach. Instead of setting
7120 cur_levels to max in EOS, just zero all minimum threshold levels. This
7121 should make sure that queue gives out all data. When going to READY
7122 (stop) state, just reset the original minimum threshold levels.
7125 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
7127 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
7128 (gst_type_find_element_handle_event),
7129 (gst_type_find_element_send_cached_events),
7130 (gst_type_find_element_change_state):
7131 * plugins/elements/gsttypefindelement.h:
7132 When typefinding is done in push mode, we should cache
7133 events we receive during typefinding instead of just
7134 dropping them (e.g. newsegment, custom events from
7135 dvdreadsrc etc.) and then send them out once we've
7136 determined the type of the stream (and decodebin
7137 has had a chance to plug in a decoder/demuxer).
7139 2006-03-27 Wim Taymans <wim@fluendo.com>
7141 * docs/design/part-qos.txt:
7144 2006-03-27 Wim Taymans <wim@fluendo.com>
7146 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
7148 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7149 (gst_base_src_send_event), (gst_base_src_change_state):
7150 Handle element seek correctly when we are streaming.
7153 2006-03-24 Michael Smith <msmith@fluendo.com>
7155 * docs/faq/gst-uninstalled:
7156 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
7157 allow you to correctly run intalled applications built against old
7158 core, using plugins that require updated core (e.g. running
7159 installed totem against a full uninstalled gstreamer stack)
7161 2006-03-24 Stefan Kost <ensonic@users.sf.net>
7163 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
7166 2006-03-24 Wim Taymans <wim@fluendo.com>
7168 * docs/gst/gstreamer-sections.txt:
7169 Rearrange the order of the methods so that related methods
7170 are grouped together in sections.
7172 2006-03-24 Stefan Kost <ensonic@users.sf.net>
7175 Little clarification in the docs
7177 2006-03-24 Stefan Kost <ensonic@users.sf.net>
7181 * plugins/elements/gstidentity.c:
7182 * plugins/elements/gstqueue.c:
7183 * plugins/elements/gsttee.c:
7184 * plugins/elements/gsttypefindelement.c:
7185 GST_ELEMENT_DETAILS formatting
7187 2006-03-24 Wim Taymans <wim@fluendo.com>
7189 * libs/gst/base/gstbasesink.h:
7190 Only add fields, not insert or we break ABI.
7192 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
7194 * win32/common/libgstbase.def:
7195 * win32/common/libgstreamer.def:
7196 Update, add recently added functions.
7198 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
7200 * docs/gst/gstreamer-sections.txt:
7201 * gst/gstutils.c: (gst_pad_query_peer_position),
7202 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
7204 API: add some new utility functions:
7205 - gst_pad_query_peer_position()
7206 - gst_pad_query_peer_duration()
7207 - gst_pad_query_peer_convert()
7209 2006-03-23 Wim Taymans <wim@fluendo.com>
7211 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7212 (gst_base_sink_init), (gst_base_sink_finalize),
7213 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
7214 (gst_base_sink_set_property), (gst_base_sink_get_property),
7215 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
7216 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7217 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
7218 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7219 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7220 (gst_base_sink_preroll_object), (gst_base_sink_event),
7221 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
7222 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
7223 (gst_base_sink_query), (gst_base_sink_change_state):
7224 Decouple max-lateness and the fact that QoS messages are generated
7225 with a new property (qos).
7226 added API: GstBaseSink::async_play()
7227 Add vmethod so subclasses can be notified of ASYNC playing
7229 Collect timestamp start and stop to report better current
7230 position in EOS/PLAYING/PAUSED/READY/NULL.
7231 Refactor QoS/frame dropping and other measurements.
7232 API: GstBaseSrc::qos
7235 * libs/gst/base/gstbasesink.h:
7236 Added Private struct.
7237 API: gst_base_sink_set_qos_enabled()
7238 API: gst_base_sink_is_qos_enabled()
7240 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
7242 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7243 If compiling against GLib-2.8 or newer, try to read the
7244 registry file using GMappedFile first before falling back
7245 to fopen() + fread() (#332151).
7247 2006-03-22 Wim Taymans <wim@fluendo.com>
7249 * gst/gstinfo.c: (gst_debug_set_active),
7250 (gst_debug_category_set_threshold):
7251 Disable debugging unless explicitly activated.
7254 2006-03-22 Wim Taymans <wim@fluendo.com>
7256 * gst/gstelement.c: (gst_element_set_locked_state),
7257 (gst_element_dispose):
7258 Cleanup the error case.
7260 * gst/gstobject.c: (gst_object_dispose):
7261 print a critical when some object was disposed with
7262 a parent, also revive the object since it might
7265 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
7267 * tools/gst-launch.1.in:
7270 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
7273 * tests/check/Makefile.am:
7274 disable some tests when we don't have a registry
7275 * tests/check/gst/gstutils.c: (gst_utils_suite):
7276 don't build the part that needs parsing
7278 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
7281 * tests/examples/Makefile.am:
7282 fix --disable-parse build
7284 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
7286 * tools/gst-feedback.1.in:
7287 Fix typo: s/feeback/feedback/ (#133494).
7289 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
7291 * tools/Makefile.am:
7292 * tools/gst-launch.1.in:
7293 Add FILES section and correct entry about GST_REGISTRY_PATH
7294 environment variable (#133495; #133494).
7296 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
7298 * tools/Makefile.am:
7299 * tools/gst-md5sum.1.in:
7300 * tools/gst-md5sum.c:
7301 Remove gst-md5sum and man page (the md5sink element
7302 required was removed ages ago)
7304 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
7306 * gst/gststructure.c: (gst_structure_id_set_value):
7307 Make sure that string fields in structures/taglists
7308 contain valid UTF-8 - we don't want to pass rubbish to
7309 applications because of a buggy plugin (cp. #334167).
7311 2006-03-21 Edward Hervey <edward@fluendo.com>
7313 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7314 (gst_bin_handle_message_func):
7315 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7316 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7317 (gst_element_set_bus_func):
7318 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7319 * gst/gstminiobject.c: (gst_value_set_mini_object),
7320 (gst_value_take_mini_object):
7321 * gst/gstpad.c: (gst_pad_set_pad_template):
7322 * gst/gstpipeline.c: (gst_pipeline_dispose),
7323 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7324 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7325 (gst_collect_pads_chain):
7326 * libs/gst/net/gstnettimeprovider.c:
7327 (gst_net_time_provider_set_property):
7328 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7329 It's in fact all issues with gst_*object_replace().
7331 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
7333 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
7335 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7336 * pkgconfig/gstreamer-check.pc.in:
7337 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7339 2006-03-21 Edward Hervey <edward@fluendo.com>
7344 gst_[buffer|event|message]_ref() macros are replaced by a static
7345 inline functions because gcc-4.1 will about if the return value
7347 * tests/check/gst/gstevent.c: (event_probe):
7348 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7350 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
7353 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7354 the type' case. (Closes: #335195 for now). In the future, when we
7355 depend on GLib 2.10, we could also intern the type name using
7356 g_intern_static_string()
7358 2006-03-20 Wim Taymans <wim@fluendo.com>
7360 * gst/gstbin.c: (gst_bin_handle_message_func),
7361 (bin_query_max_init), (bin_query_position_fold),
7362 (bin_query_position_done), (gst_bin_query):
7363 Position query should also take max of all streams.
7365 2006-03-20 Wim Taymans <wim@fluendo.com>
7367 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7368 (gst_fake_src_finalize):
7369 Fix leaks in fakesrc.
7371 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7372 Fix leaks in the testcase.
7374 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
7376 * gst/gst_private.h:
7377 add win32 specific import decoration(__declspec(dllimport))
7378 for all extern GstDebugCategory * variables
7379 * win32/common/libgstbase.def:
7380 * win32/common/libgstcontroller.def:
7381 * win32/common/libgstreamer.def:
7382 Add some exports, remove empty lines
7383 * win32/common/libgstdataprotocol.def:
7384 * win32/common/libgstdataprotocol.dsp:
7385 * win32/common/libgstnet.def:
7386 * win32/common/libgstnet.dsp:
7387 new project files and exportation files added
7389 2006-03-19 Wim Taymans <wim@fluendo.com>
7391 * tests/check/libs/basesrc.c: (eos_event_counter):
7392 Use proper return value for probe.
7394 2006-03-17 Wim Taymans <wim@fluendo.com>
7396 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7398 Don't leak buffers, caps and pads on negotiation errors.
7400 2006-03-16 Stefan Kost <ensonic@users.sf.net>
7403 * docs/faq/dependencies.xml:
7404 * docs/faq/developing.xml:
7406 * docs/faq/general.xml:
7407 * docs/faq/getting.xml:
7408 * docs/faq/legal.xml:
7409 * docs/faq/troubleshooting.xml:
7410 * docs/faq/using.xml:
7411 Faq review and update.
7413 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
7415 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7417 Don't pound the cpu to pieces by checking get_caps when accept_caps
7418 is called with the same caps as the pad already has.
7419 Use GST_DEBUG_OBJECT when outputting caps change information.
7421 2006-03-15 Wim Taymans <wim@fluendo.com>
7423 * gst/gstclock.c: (gst_clock_class_init):
7426 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
7431 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7432 (gst_pad_accept_caps), (gst_pad_configure_sink),
7433 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7434 Make the default acceptcaps behaviour be to check the requested
7435 caps against the gst_pad_get_caps output.
7437 Ensure that gst_pad_accept_caps is used to check caps when a pad
7438 doesn't have a setcaps function, so that pads automatically refuse
7439 caps that they don't allow in their pad template. (Fixes #332986)
7441 When a buffer with attached caps is pushed, ensure that the source
7442 pad receives those caps even if the element didn't call
7443 gst_pad_set_caps first.
7445 2006-03-15 Wim Taymans <wim@fluendo.com>
7447 * libs/gst/base/gstadapter.c:
7450 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
7452 * win32/common/libgstbase.def:
7453 * win32/common/libgstcontroller.def:
7454 * win32/common/libgstreamer.def:
7455 Add a whole bunch of missing functions (#334434).
7457 2006-03-14 Wim Taymans <wim@fluendo.com>
7459 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7460 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7461 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7462 Better debug info when we receive a segment event.
7463 Reorganize a bit so we can pass the get_times() results around.
7464 Use the segment format when calculating the running time.
7465 Don't do QoS is sync is disabled or we have no clock or the
7466 element does not want us to sync to the clock.
7467 Don't drop buffers if QoS is disabled for now.
7469 2006-03-14 Wim Taymans <wim@fluendo.com>
7471 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7472 Marked the stats property as unimplemented so people don't get
7474 Add debug message when regression goes wrong.
7475 Added some more docs.
7477 2006-03-14 Wim Taymans <wim@fluendo.com>
7479 * gst/gstsegment.c: (gst_segment_to_stream_time):
7480 Return correct return type in case of errors.
7482 2006-03-14 Wim Taymans <wim@fluendo.com>
7484 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7485 Don't segfault on invalid formats.
7487 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
7489 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7490 Can't use gst_segment_to_running_time() when the segment
7491 is not in GST_TIME_FORMAT (like with filesink, for example).
7492 Stops flac encoding pipelines from spewing critical warnings
7495 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
7497 * gst/gstpipeline.c: (gst_pipeline_class_init):
7498 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7500 * plugins/elements/gsttypefindelement.c:
7501 (gst_type_find_element_handle_event):
7502 Don't try to typefind empty streams.
7504 2006-03-14 Wim Taymans <wim@fluendo.com>
7506 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7507 (gst_base_sink_do_qos):
7508 Separate QoS calculation.
7509 Only drop buffers when lateness is bigger than the
7510 duration of the buffer.
7512 2006-03-13 Wim Taymans <wim@fluendo.com>
7514 * gst/gstpipeline.c: (gst_pipeline_set_property),
7515 (gst_pipeline_get_property), (do_pipeline_seek),
7516 (gst_pipeline_change_state), (gst_pipeline_set_delay),
7517 (gst_pipeline_get_delay):
7518 Don't deadlock when reading properties.
7520 2006-03-13 Wim Taymans <wim@fluendo.com>
7522 * libs/gst/base/gstbasetransform.c:
7523 (gst_base_transform_class_init), (gst_base_transform_init),
7524 (gst_base_transform_sink_event),
7525 (gst_base_transform_sink_eventfunc),
7526 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7527 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7528 (gst_base_transform_set_property),
7529 (gst_base_transform_get_property),
7530 (gst_base_transform_change_state), (gst_base_transform_update_qos),
7531 (gst_base_transform_set_qos_enabled),
7532 (gst_base_transform_is_qos_enabled):
7533 * libs/gst/base/gstbasetransform.h:
7534 Make basetransform virtual method for src events too.
7535 Handle QOS in basetransform.
7536 API: gst_base_transform_update_qos()
7537 API: gst_base_transform_set_qos_enabled()
7538 API: gst_base_transform_is_qos_enabled()
7540 2006-03-13 Wim Taymans <wim@fluendo.com>
7542 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7543 (gst_base_sink_do_sync):
7545 Use QOS debug category.
7547 2006-03-13 Wim Taymans <wim@fluendo.com>
7549 * plugins/elements/gstqueue.c:
7550 Very small doc update.
7552 2006-03-13 Wim Taymans <wim@fluendo.com>
7554 * gst/gst_private.h:
7555 * gst/gstinfo.c: (_gst_debug_init):
7556 Added QOS debug category
7558 2006-03-13 Wim Taymans <wim@fluendo.com>
7560 * docs/gst/gstreamer-sections.txt:
7561 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7563 * gst/gstbus.c: (gst_bus_class_init):
7566 * gst/gstelement.c: (gst_element_set_locked_state):
7568 Documentation updates.
7570 * gst/gstpipeline.c: (gst_pipeline_get_type),
7571 (gst_pipeline_class_init), (gst_pipeline_init),
7572 (gst_pipeline_dispose), (gst_pipeline_set_property),
7573 (gst_pipeline_get_property), (do_pipeline_seek),
7574 (gst_pipeline_send_event), (gst_pipeline_change_state),
7575 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7576 (gst_pipeline_get_delay):
7577 * gst/gstpipeline.h:
7578 Added methods for setting the delay.
7579 API: gst_pipeline_set_delay()
7580 API: gst_pipeline_get_delay()
7581 Add pipeline debug category
7584 Don't reset stream time when seek failed.
7586 2006-03-13 Wim Taymans <wim@fluendo.com>
7588 * docs/design/draft-klass.txt:
7589 * docs/design/part-clocks.txt:
7590 * docs/design/part-events.txt:
7591 * docs/design/part-gstbin.txt:
7592 * docs/design/part-gstpipeline.txt:
7593 * docs/design/part-messages.txt:
7594 * docs/design/part-negotiation.txt:
7595 * docs/design/part-overview.txt:
7596 * docs/design/part-preroll.txt:
7597 * docs/design/part-seeking.txt:
7598 * docs/design/part-states.txt:
7599 * docs/design/part-streams.txt:
7600 Documentation updates.
7602 2006-03-12 Julien MOUTTE <julien@moutte.net>
7604 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7605 us to leak strings...
7607 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
7609 * libs/gst/net/gstnettimeprovider.c:
7611 * win32/common/config.h:
7614 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
7616 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7619 Don't check for libgnomeui (leftover from old examples
7620 that aren't built or disted any longer) (#334303).
7622 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
7624 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7625 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7626 Emit RESOURCE_NO_SPACE_LEFT error here as well when
7627 there's no space left on the device.
7629 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
7632 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7633 to cast the input to GstClockTime before comparing with
7634 another GstClockTime value.
7636 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
7641 === release 0.10.4 ===
7643 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
7646 releasing 0.10.4, "Light"
7648 2006-03-10 Michael Smith <msmith@fluendo.com>
7650 * libs/gst/dataprotocol/dataprotocol.c:
7651 Fix docs for dataprocotol to not get the return types completely
7652 wrong for a few functions.
7654 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
7656 * docs/gst/gstreamer-sections.txt:
7657 * gst/gstpipeline.c: (gst_pipeline_class_init),
7658 (gst_pipeline_init), (gst_pipeline_set_property),
7659 (gst_pipeline_get_property), (gst_pipeline_change_state),
7660 (gst_pipeline_set_auto_flush_bus),
7661 (gst_pipeline_get_auto_flush_bus):
7662 * gst/gstpipeline.h:
7663 Add new API: gst_pipeline_set_auto_flush_bus() and
7664 gst_pipeline_get_auto_flush_bus() to disable automatic
7665 flushing of the pipeline's GstBus when going from READY
7666 to NULL state (#332045).
7668 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
7670 * docs/gst/gstreamer-sections.txt:
7671 * gst/gsturi.c: (gst_uri_has_protocol):
7673 Add new API: gst_uri_has_protocol() (#333779).
7675 2006-03-09 Wim Taymans <wim@fluendo.com>
7677 * gst/gstclock.c: (gst_clock_entry_new),
7678 (gst_clock_id_compare_func), (gst_clock_id_wait),
7679 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7680 (gst_clock_init), (gst_clock_get_internal_time),
7681 (gst_clock_set_master), (do_linear_regression),
7682 (gst_clock_add_observation), (gst_clock_set_property):
7686 Fix a possible segfault when the window-size is made smaller.
7687 Calculate jitter before performing the clock wait. Ideally
7688 the clock implementation should calculate jitter but we need
7689 API breakage for that.
7691 * gst/gstsystemclock.c: (gst_system_clock_init):
7694 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7695 Remove leftover else
7697 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7698 (gst_systemclock_suite):
7699 Added check to test GST_CLOCK_DIFF.
7701 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
7703 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7704 (gst_type_find_helper_get_range):
7705 If we are provided with the size, we should implement
7706 GstTypeFind::get_length, so that typefind functions who
7707 want to can actually peek at the middle of a file.
7709 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
7711 * docs/manual/advanced-dataaccess.xml:
7712 Add some very very basic error checking.
7714 * docs/pwg/appendix-checklist.xml:
7715 Some updates to the list of things to check when writing an element.
7717 2006-03-08 Wim Taymans <wim@fluendo.com>
7719 * docs/design/part-element-transform.txt:
7720 Added some docs about the design of tranform elements.
7722 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7723 (gst_base_src_loop), (gst_base_src_change_state):
7724 Mark buffers with the DISCONT flag.
7726 2006-03-08 Michael Smith <msmith@fluendo.com>
7728 * gst/gstregistry.h:
7729 * gst/gstregistryxml.c: (gst_registry_save),
7730 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7731 (gst_registry_xml_save_pad_template),
7732 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7733 (gst_registry_xml_write_cache):
7734 Rewrite registry-saving to avoid race conditions and check for
7737 2006-03-08 Wim Taymans <wim@fluendo.com>
7739 * libs/gst/base/gstbasetransform.c:
7740 (gst_base_transform_transform_caps),
7741 (gst_base_transform_transform_size),
7742 (gst_base_transform_prepare_output_buffer),
7743 (gst_base_transform_get_unit_size),
7744 (gst_base_transform_buffer_alloc),
7745 (gst_base_transform_handle_buffer),
7746 (gst_base_transform_change_state):
7747 Cleanups, separate normal flow from errors, add sensible
7749 Don't try to renegotiate when allocating an output buffer.
7750 Also copy DISCONT buffer flag when copying a buffer.
7751 Reset the transform after we finish streaming, not during.
7753 2006-03-08 Wim Taymans <wim@fluendo.com>
7755 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7756 Use last buffer timestamp in qos message.
7758 2006-03-07 Wim Taymans <wim@fluendo.com>
7760 Patch by: Christophe Fergeau
7762 * docs/pwg/advanced-tagging.xml:
7763 * docs/pwg/building-pads.xml:
7766 2006-03-07 Wim Taymans <wim@fluendo.com>
7768 * docs/libs/gstreamer-libs-sections.txt:
7769 Added basesink new methods.
7773 Docs updates. Flesh out the QoS docs.
7775 * libs/gst/base/gstadapter.c:
7776 Small doc clarification about ownership and flushing.
7778 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7779 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7780 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
7781 (gst_base_sink_get_property), (gst_base_sink_do_sync):
7782 * libs/gst/base/gstbasesink.h:
7784 Added new methods to allow subclass to control max-lateness
7786 Generate very basic QoS events based on last sync observation.
7787 Updated docs, fix typo, added some QoS blurb.
7789 * libs/gst/base/gstbasesrc.c:
7790 Remove obsolete _get_state() calls from docs.
7792 2006-03-07 Wim Taymans <wim@fluendo.com>
7794 * docs/libs/gstreamer-libs-sections.txt:
7795 * libs/gst/base/gstbasetransform.h:
7796 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
7797 Fix docs for GstBaseSrc.
7799 2006-03-07 Wim Taymans <wim@fluendo.com>
7801 * docs/gst/gstreamer-sections.txt:
7804 * libs/gst/base/gstbasetransform.h:
7805 Small documentation fixes.
7807 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
7810 Document thread-unsafety of gst_value_register_foo_func()
7811 when used at the same time as gst_value_foo() (#322628).
7813 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
7815 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
7816 (gst_push_src_check_get_range):
7817 Push sources don't support pull mode by default.
7819 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
7821 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7822 (gst_base_src_init), (gst_base_src_pad_check_get_range),
7823 (gst_base_src_default_check_get_range):
7824 * libs/gst/base/gstbasesrc.h:
7825 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
7826 provide default implementation, and rename
7827 gst_base_src_check_get_range() to
7828 gst_base_src_pad_check_get_range() for clarity.
7830 2006-03-06 Wim Taymans <wim@fluendo.com>
7832 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7833 Make property overridable.
7835 2006-03-06 Wim Taymans <wim@fluendo.com>
7837 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7838 (gst_base_sink_init), (gst_base_sink_set_property),
7839 (gst_base_sink_get_property), (gst_base_sink_do_sync):
7840 * libs/gst/base/gstbasesink.h:
7841 API addition: Make max-lateness a property.
7843 2006-03-06 Wim Taymans <wim@fluendo.com>
7845 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
7846 (gst_base_sink_do_sync), (gst_base_sink_render_object):
7847 Don't ever draw a frame that is >10ms late.
7849 2006-03-06 Michael Smith <msmith@fluendo.com>
7851 * gst/gstmessage.c: (_gst_message_copy):
7852 When copying a message, set the parent_refcount of the enclosed
7853 structure to point at the copy, not the original message.
7855 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
7857 Patch by: Christophe Fergeau
7860 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
7861 usable in c++ code (#333417)
7863 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
7866 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
7868 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
7870 * libs/gst/base/gstbasetransform.c:
7871 (gst_base_transform_transform_caps):
7872 Make sure caps are writable before passing them to
7875 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
7878 Fix some minor docs errors.
7880 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
7882 Patch by: Ross Burton <ross at burtonini dot com>
7884 * gst/gsterror.c: (_gst_resource_errors_init):
7886 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
7888 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
7891 Add a check and output a g_warning when GStreamer is built
7892 against GLib 2.6 but running against 2.8 or higher, and vice
7893 versa. (Closes: #323542)
7895 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
7897 * gst/parse/parse.l:
7898 Commit patch for parse_launch syntax from #331255. Removes
7899 support for quoted strings and mimetypes when writing filtered
7900 caps. See the bug report for more details - I'm pretty sure this
7901 obscure feature is not in use by _anyone_ anywhere.
7903 With this simple change, the size of the gstreamer.so here
7904 drops from 2193KB to 1565KB.
7906 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
7908 * plugins/elements/gsttypefindelement.h:
7909 * plugins/elements/gsttypefindelement.c:
7910 (gst_type_find_element_src_event), (start_typefinding),
7911 (stop_typefinding), (gst_type_find_element_handle_event),
7912 (gst_type_find_element_chain),
7913 (gst_type_find_element_chain_do_typefinding):
7914 Use gst_type_find_helper_for_buffer() for chain-based
7917 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
7919 * plugins/elements/gsttypefindelement.c:
7920 (gst_type_find_element_class_init),
7921 (gst_type_find_element_set_property),
7922 (gst_type_find_element_get_property):
7923 Deprecate "maximum" property (not only was it only taken into
7924 account for typefinding in push-mode anyway, it also was never
7925 actually possible to set it in the first place because the
7926 property was registered with the numeric property ID for the
7927 "minimum" property). Register "maximum" property correctly,
7928 for the sake of future copy'n'pasters. Remove some cruft
7929 from property get/set functions.
7931 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
7933 * plugins/elements/gsttypefindelement.c:
7934 (gst_type_find_element_activate):
7935 Use gst_type_find_helper_get_range() here, so we
7936 can honour the "minimum" property and also emit
7937 the signal with the correct probability of the found caps.
7939 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
7941 * docs/libs/gstreamer-libs-sections.txt:
7942 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7943 (helper_find_suggest), (gst_type_find_helper_get_range),
7944 (gst_type_find_helper):
7945 * libs/gst/base/gsttypefindhelper.h:
7946 New API: gst_type_find_helper_get_range() (#333042).
7948 2006-03-02 Michael Smith <msmith@fluendo.com>
7950 * gst/gstregistryxml.c: (load_feature):
7951 Asserting on a failure to read part of the registry is Not Cool.
7952 Just log a warning and return NULL (which is already handled)
7954 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
7956 * win32/common/libgstbase.def:
7957 added export of gst_type_find_helper_for_buffer
7958 * win32/common/libgstbase.def:
7959 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
7960 gst_ghost_pad_get_target
7962 2006-02-28 Wim Taymans <wim@fluendo.com>
7964 * docs/design/draft-klass.txt:
7966 Added Connector to mark elements that are only used to
7967 allow pipeline connections.
7968 Moved Debug to extra feature since most of them are
7969 functionally something else.
7971 2006-02-28 Wim Taymans <wim@fluendo.com>
7973 * docs/design/draft-klass.txt:
7974 Some updates and clarifications.
7976 2006-02-28 Wim Taymans <wim@fluendo.com>
7978 * docs/design/draft-klass.txt:
7979 Proposal for klass field values.
7981 * docs/design/part-streams.txt:
7982 Start of a doc describing stream anatomy.
7984 2006-02-28 Wim Taymans <wim@fluendo.com>
7986 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
7987 Help the compiler a bit with type registration.
7988 Use existing forward cod path instead of duplicating it when
7991 * gst/gstbus.c: (gst_bus_get_type):
7992 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
7993 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
7994 * gst/gstclock.c: (gst_clock_get_type):
7995 * gst/gstelement.c: (gst_element_get_type),
7996 * gst/gstelementfactory.c: (gst_element_factory_get_type):
7997 * gst/gstindexfactory.c: (gst_index_factory_get_type):
7998 * gst/gstminiobject.c: (gst_mini_object_get_type):
7999 * gst/gstpad.c: (gst_pad_get_type):
8000 * gst/gstsegment.c: (gst_segment_get_type):
8001 * gst/gststructure.c: (gst_structure_get_type):
8002 * gst/gstsystemclock.c: (gst_system_clock_get_type):
8003 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
8005 Help compiler with type registration.
8007 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8010 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
8012 * plugins/elements/gsttypefindelement.c:
8013 (gst_type_find_element_handle_event):
8014 When we get an EOS event and have not found a type yet
8015 (most likely because we had not yet accumulated
8016 TYPE_FIND_MIN_SIZE of data yet), try to determine the
8017 type given the data we have so far. Fixes typefinding
8018 for very short streams again, most notably quicktime
8019 redirections as used on Apple's trailer site (#331701).
8021 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
8023 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
8024 (gst_type_find_helper):
8025 Try typefinding factories with the highest rank first.
8027 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
8029 * docs/libs/gstreamer-libs-docs.sgml:
8030 * docs/libs/gstreamer-libs-sections.txt:
8031 * libs/gst/base/gsttypefindhelper.c:
8032 Add section for typefind helper and add documentation
8033 for the old and the new function.
8035 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
8037 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
8038 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
8039 (gst_type_find_helper_for_buffer):
8040 * libs/gst/base/gsttypefindhelper.h:
8041 New API: gst_type_find_helper_for_buffer() (#332723).
8043 2006-02-27 Michael Smith <msmith@fluendo.com>
8045 Patch by: Loïc Minier
8049 * docs/slides/Makefile.am:
8050 prevent CVS directories getting disted.
8052 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
8054 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
8055 Use the REFCOUNTING category for caps refcounting.
8057 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
8059 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
8060 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
8062 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
8064 * plugins/elements/gsttypefindelement.c:
8065 (gst_type_find_element_activate):
8066 Use gst_pad_check_pull_range() before _activate_pull()
8067 to avoid unnecessary open/close (see #331690).
8069 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
8072 Docs enhancement: make it crystal clear what the
8073 gst_pad_add_*_probe() callbacks should look like.
8075 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
8077 * libs/gst/base/gstbasesrc.c:
8078 Document how applications can stop recording from
8079 live sources (see #330996).
8081 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
8083 * tests/check/Makefile.am:
8084 * tests/check/libs/basesrc.c: (eos_event_counter),
8085 (basesrc_eos_events_pull), (basesrc_eos_events_push),
8086 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
8087 (gst_basesrc_suite), (main):
8088 ... and add some tests for the base source EOS stuff.
8090 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
8092 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
8093 Test case originally showed the problem fixed below,
8094 but was then amended. Add checks back at the place
8095 where they used to be.
8097 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
8099 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8100 (gst_base_src_init), (gst_base_src_loop),
8101 (gst_base_src_activate_push), (gst_base_src_activate_pull),
8102 (gst_base_src_change_state):
8103 * libs/gst/base/gstbasesrc.h:
8104 Don't unconditionally send EOS when going from PAUSED to
8105 READY state, esp. make sure we don't send two EOS events
8106 in some cases (e.g. one when reaching EOS and one when
8107 going from PAUSED to READY). Also, we don't want to send
8108 EOS events when operating in pull mode. However, we do
8109 want to send an EOS event when shutting down a live
8110 source explicitly, for example (fixes #330996).
8112 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
8114 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8115 Update src->read_position after a seek when not using mmap.
8116 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
8118 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
8124 Make things work with --disable-parse as they do with
8125 --disable-load-save - the symbols involved disappear, but the
8126 header is still installed and GST_DISABLE_PARSE is included via
8129 2006-02-20 Julien MOUTTE <julien@moutte.net>
8131 * libs/gst/base/gstbasetransform.c:
8132 (gst_base_transform_change_state): Fix a stupid bug. I was
8133 sure I compiled that.
8135 2006-02-20 Julien MOUTTE <julien@moutte.net>
8137 * gst/gstpad.c: (gst_pad_set_blocked_async):
8138 * gst/gstutils.c: (gst_pad_add_data_probe),
8139 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8140 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8141 (gst_pad_remove_buffer_probe): Make those function act on the
8142 ghostpad target when it's a ghostpad. (Closes #331727)
8144 2006-02-20 Julien MOUTTE <julien@moutte.net>
8146 * libs/gst/base/gstbasetransform.c:
8147 (gst_base_transform_change_state): Make basetransform reusable.
8150 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
8152 * docs/random/release:
8153 Move the current documentation of how to do a release to the top
8156 * gst/gstbin.c: (gst_bin_class_init),
8157 (gst_bin_handle_message_func):
8158 Allow multiple state-recalculation threads. (Closes #328873)
8160 2006-02-19 Julien MOUTTE <julien@moutte.net>
8162 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
8163 * gst/gstpad.c: (gst_pad_set_event_function),
8164 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8165 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
8166 2 strings. You can't use the STR_NULL macro on that.
8168 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
8170 * gst/gstpad.c: (gst_pad_set_event_function),
8171 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8172 (gst_pad_set_getcaps_function)
8173 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
8174 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
8175 So now, we can use --gst-debug-level=5 on Windows
8176 * win32/common/libgstcontroller.def:
8177 Added export of gst_controller_init
8178 * win32/vs6/libgstcontroller.dsp:
8179 Fixed Release post build configuration
8181 2006-02-17 Wim Taymans <wim@fluendo.com>
8183 * tests/check/gst/gstquery.c: (GST_START_TEST):
8184 Added another check.
8186 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
8188 * plugins/elements/gsttypefindelement.c: (find_peek):
8189 We can do peeks at non-zero offsets, as long as they
8190 fall within the buffer we have.
8192 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
8194 * tests/check/Makefile.am:
8195 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
8196 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
8197 (parse_suite), (main):
8198 Add testsuite for parse launch syntax
8200 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
8202 * plugins/elements/gsttypefindelement.c:
8203 (gst_type_find_element_chain):
8204 When typefinding is unsuccessful in the chain function, don't
8205 error out immediately. Only error out with NO_CAPS_FOUND if
8206 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
8207 otherwise simply wait for more data so we can try typefinding
8208 again with more data later. Also, don't attempt to typefind
8209 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
8210 this should improve typefinding from network sources where the
8211 size of the first buffer can be somewhat random.
8213 2006-02-14 Wim Taymans <wim@fluendo.com>
8215 * docs/gst/gstreamer-sections.txt:
8216 * gst/gstpadtemplate.c:
8217 * gst/gstpadtemplate.h:
8218 Fix padtemplate docs, fixes #328805.
8220 2006-02-14 Wim Taymans <wim@fluendo.com>
8222 * tools/gst-launch.c: (main):
8223 NO_PREROLL is not an ERROR so don't send confusing messages
8226 2006-02-14 Wim Taymans <wim@fluendo.com>
8228 Patch by: Torsten Schoenfeld
8230 * gst/gstregistry.c: (gst_registry_get_default),
8231 (_gst_registry_cleanup):
8232 Protect default registry with lock and ref/sink it.
8235 2006-02-14 Wim Taymans <wim@fluendo.com>
8238 * gst/gstquery.c: (gst_query_list_add_format),
8239 (gst_query_set_formatsv), (gst_query_parse_formats_length),
8240 (gst_query_parse_formats_nth):
8241 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8244 2006-02-14 Wim Taymans <wim@fluendo.com>
8246 * docs/gst/gstreamer-sections.txt:
8247 Reworked query docs.
8249 * gst/gstquery.c: (gst_query_new_formats),
8250 (gst_query_list_add_format), (gst_query_set_formats),
8251 (gst_query_set_formatsv), (gst_query_parse_formats_length),
8252 (gst_query_parse_formats_nth):
8254 Flesh out formats query, added some new methods.
8255 Fix part of #324398.
8257 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
8258 Added query creation tests.
8260 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
8262 * gst/gstpad.c: (fixate_value):
8263 Add a default fixation for fraction lists.
8265 2006-02-13 Wim Taymans <wim@fluendo.com>
8267 * gst/gsttask.c: (gst_task_init), (gst_task_func),
8268 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
8271 Detect and warn for obvious deadlocks. fixes #320340
8272 Fix error case where lock was not released.
8274 * tests/check/Makefile.am:
8275 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
8276 (task_func), (gst_element_suite), (main):
8279 2006-02-13 Wim Taymans <wim@fluendo.com>
8281 * docs/gst/gstreamer-sections.txt:
8283 Add new functions to docs.
8285 2006-02-13 Wim Taymans <wim@fluendo.com>
8287 * docs/design/part-TODO.txt:
8288 Updated TODO list, basesrc supports seeking to non-bytes
8291 * docs/design/part-element-sink.txt:
8294 * gst/gstbin.c: (bin_replace_message),
8295 (gst_bin_handle_message_func):
8296 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
8297 * gst/gstevent.c: (gst_event_finalize):
8298 * gst/gstpad.c: (gst_pad_event_default_dispatch),
8299 (gst_pad_send_event):
8300 Use shiny new _TYPE_NAME macros.
8302 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8303 Move debug statement up.
8305 * gst/gstelement.c: (gst_element_set_locked_state):
8308 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
8310 * docs/gst/gstreamer-sections.txt:
8313 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8314 macros (#330906). Also, document the already existing
8315 GST_QUERY_TYPE macro.
8317 2006-02-13 Wim Taymans <wim@fluendo.com>
8319 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8320 (event_probe), (GST_START_TEST):
8321 Only events up to the pipeline EOS are counted, there are
8322 some more when going to NULL currently which we don't care
8325 2006-02-13 Wim Taymans <wim@fluendo.com>
8327 * gst/gstpad.c: (gst_pad_send_event):
8328 Correctly check flushing and emit probes. fixes #330125
8330 2006-02-10 Andy Wingo <wingo@pobox.com>
8332 * gst/gstbus.c (gst_bus_class_init): Declare our private data
8334 (gst_bus_init): Cache the location of the private data in the
8336 (gst_bus_enable_sync_message_emission)
8337 (gst_bus_disable_sync_message_emission): Implement new public
8339 (gst_bus_post): Emit the sync-message signal if the user asked for
8342 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8343 location of the bus-private structure.
8344 (gst_bus_enable_sync_message_emission)
8345 (gst_bus_disable_sync_message_emission): API addition
8347 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
8349 Patch by: Vincent Torri
8351 * docs/pwg/building-boiler.xml:
8352 PWG patch from #326800
8354 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
8358 * docs/design/Makefile.am:
8361 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
8366 === release 0.10.3 ===
8368 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
8371 releasing 0.10.3, "Like a virgin"
8373 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
8376 2nd prerelease of 0.10.3
8377 Bump libtool versioning.
8379 2006-02-07 Andy Wingo <wingo@pobox.com>
8381 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8382 update last_stop if we're in TIME format and the timestamp is
8385 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
8386 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
8387 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8388 If we get a new newsegment with a different format, adapt
8391 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8392 of 0. Not a problem, really.
8394 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8397 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
8402 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
8405 project files updated to the default vs7 configuration
8406 * win32/common/libgstbase.def:
8407 * win32/common/libgstreamer.def:
8409 removed empty lines,
8410 sorted all exported symbols alphabetically
8411 * win32/common/dirent.c:
8412 * win32/common/dirent.h:
8413 * win32/common/gchar.h:
8414 use windows line end.
8416 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
8418 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8419 Send EOS event when stopping.
8421 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
8424 Tell folks what to do if the plugin-foobar.xml file
8425 hasn't been generated for a newly-added plugin.
8427 2006-02-05 Julien MOUTTE <julien@moutte.net>
8429 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8430 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8431 (gst_collect_pads_start), (gst_collect_pads_stop),
8432 (gst_collect_pads_event): Collectpads now holds a reference
8433 to the GstPad that was added. Indeed we don't want to look
8434 at pads that might just go away with no warning...
8436 2006-02-05 Julien MOUTTE <julien@moutte.net>
8438 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8439 (gst_collect_pads_start), (gst_collect_pads_stop),
8440 (gst_collect_pads_event), (gst_collect_pads_chain):
8441 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8442 Mark Nauwelaerts's patch on bug #328491.
8444 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
8446 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8448 Add some simple tests for gst_parse_bin_from_description() and
8449 gst_bin_find_unconnected_pad() (#329069).
8451 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
8453 * tools/gst-launch.c: (event_loop), (main):
8454 Catch errors during preroll (#320084).
8456 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
8458 * plugins/elements/gsttypefindelement.c:
8459 (gst_type_find_element_activate):
8460 Post TYPE_NOT_FOUND error message when typefinding
8461 is unsuccessful in the activate function as well.
8463 2006-02-02 Wim Taymans <wim@fluendo.com>
8465 * docs/design/part-element-sink.txt:
8468 2006-02-02 Wim Taymans <wim@fluendo.com>
8470 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8471 (gst_base_sink_render_object),
8472 (gst_base_sink_queue_object_unlocked):
8473 Only keep track of prerollable items when we are
8475 Before rendering after preroll, always check if we
8477 Added some more debugging.
8479 2006-02-02 Wim Taymans <wim@fluendo.com>
8481 * gst/gstelement.c: (gst_element_continue_state),
8482 (gst_element_set_state_func), (gst_element_change_state):
8483 Fixed #326576, been running this for quite some time with
8484 no regressions at all.
8486 2006-02-02 Wim Taymans <wim@fluendo.com>
8489 Added more suppressions
8491 2006-02-02 Wim Taymans <wim@fluendo.com>
8493 * docs/design/part-element-sink.txt:
8496 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8497 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8498 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8499 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8500 (gst_base_sink_do_sync), (gst_base_sink_render_object),
8501 (gst_base_sink_preroll_object),
8502 (gst_base_sink_queue_object_unlocked),
8503 (gst_base_sink_queue_object), (gst_base_sink_event),
8504 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8505 (gst_base_sink_loop), (gst_base_sink_activate_pull),
8506 (gst_base_sink_get_position), (gst_base_sink_change_state):
8507 * libs/gst/base/gstbasesink.h:
8508 Totally refactored matching the design doc.
8509 Use two segments, one to clip incomming buffers and another to
8511 Handle queueing correctly, bypass the queue when playing.
8512 Make EOS cancelable.
8513 Handle errors correctly when operating in pull based mode.
8515 * tests/check/elements/fakesink.c: (GST_START_TEST),
8517 Added new check for sinks.
8519 2006-02-02 Wim Taymans <wim@fluendo.com>
8521 * gst/gstsegment.c: (gst_segment_clip):
8522 No reason to refuse to clip when start == -1
8524 2006-02-02 Stefan Kost <ensonic@users.sf.net>
8527 * docs/manual/intro-basics.xml:
8528 * docs/manual/intro-preface.xml:
8529 * docs/manual/manual.xml:
8530 * docs/pwg/advanced-dparams.xml:
8531 * docs/pwg/intro-basics.xml:
8532 * docs/pwg/intro-preface.xml:
8534 describe dparams (controller) for plugins
8535 unify docs a little more
8537 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
8539 * docs/gst/gstreamer-sections.txt:
8540 * gst/gstutils.c: (element_find_unconnected_pad),
8541 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8543 Add new API: gst_parse_bin_from_description() and
8544 gst_bin_find_unconnected_pad() (#329069).
8546 2006-02-01 Stefan Kost <ensonic@users.sf.net>
8548 * docs/manual/README:
8549 uncover a nasty detail of the docs build
8551 2006-01-31 Wim Taymans <wim@fluendo.com>
8553 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8554 Don't cache duration messages if we're not going to use or
8557 2006-01-31 Stefan Kost <ensonic@users.sf.net>
8559 * docs/manual/advanced-dparams.xml:
8560 * docs/pwg/advanced-dparams.xml:
8564 * libs/gst/controller/lib.c: (gst_controller_init):
8567 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
8569 * gst/gstelement.c: (gst_element_message_full):
8570 also show file/line/func if no additional debug was given
8572 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
8574 * win32/vs7/grammar.vcproj:
8575 activate copy of autogenerated files for Release mode
8577 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
8579 * win32/common/libgstreamer.def:
8580 export gst_value_compare
8582 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
8584 * plugins/elements/Makefile.am:
8585 * plugins/elements/gstelements.c:
8586 * plugins/elements/gstfdsink.c: (_do_init),
8587 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8588 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8589 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8590 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8591 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8592 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8593 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8594 * plugins/elements/gstfdsink.h:
8595 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8597 2006-01-30 Stefan Kost <ensonic@users.sf.net>
8599 * docs/manual/advanced-dparams.xml:
8601 * docs/manual/advanced-position.xml:
8602 * docs/manual/basics-init.xml:
8603 * docs/manual/manual.xml:
8604 * docs/manual/titlepage.xml:
8606 * docs/pwg/titlepage.xml:
8607 cleanup xml (more to come)
8608 * libs/gst/controller/gstcontroller.c:
8611 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
8613 * win32/vs6/grammar.dsp:
8614 add autogen of gstmarshal.c,h for Release mode
8616 2006-01-30 Wim Taymans <wim@fluendo.com>
8618 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8619 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8620 (gst_base_sink_handle_object), (gst_base_sink_event),
8621 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8622 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8623 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8624 (gst_base_sink_deactivate), (gst_base_sink_activate),
8625 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8626 (gst_base_sink_query), (gst_base_sink_change_state):
8627 Basesink cleanups, remove some old code.
8628 Handle the case where a subclass can preroll in the render
8629 method (mostly audiosinks).
8631 Remove some locks around variables that are now protected
8632 with the PREROLL_LOCK (clock_id, flushing, ..).
8633 Optimize position query some more, do correct locking.
8634 Remove old code to push queue in state change, this is not
8635 needed anymore since preroll blocks on all prerollable items
8637 Almost implemented as described in design doc.
8639 2006-01-30 Wim Taymans <wim@fluendo.com>
8641 * tests/check/gst/gstbin.c: (GST_START_TEST):
8642 Wait for refcount to settle down before checking.
8644 2006-01-30 Wim Taymans <wim@fluendo.com>
8646 * docs/design/part-element-sink.txt:
8647 Pseudo code overview of desired sink behaviour regarding
8650 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
8651 * win32/vs6/grammar.dsp:
8652 fix some bugs in Release mode for autogenerated files
8654 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
8655 * win32/common/libgstbase.def:
8656 * win32/common/libgstreamer.def:
8657 export some new symbols: gst_base_src_set_format,
8658 gst_iterator_next, gst_structure_set_valist
8660 2006-01-29 Julien MOUTTE <julien@moutte.net>
8662 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8663 Set pad functions unconditionally. Fixes #329105.
8665 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
8667 add vs8 project files created by Sergey Scobich
8669 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
8671 * gst/gstutils.c: (gst_element_unlink_pads):
8672 Don't leak pad references.
8674 * tests/check/elements/fakesink.c: (GST_START_TEST):
8675 * tests/check/generic/sinks.c: (GST_START_TEST):
8676 * tests/check/generic/states.c: (GST_START_TEST):
8677 * tests/check/gst/gstbin.c: (GST_START_TEST):
8678 * tests/check/gst/gstcaps.c: (GST_START_TEST):
8679 * tests/check/gst/gstelement.c: (GST_START_TEST):
8680 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8681 * tests/check/gst/gstiterator.c: (GST_START_TEST):
8682 * tests/check/gst/gstvalue.c: (GST_START_TEST):
8683 Fix a bunch of leaks. Make generic/sinks.c
8684 use a bit less cpu by slowing the buffer rate
8685 between fakesrc and fakesink.
8687 2006-01-27 Stefan Kost <ensonic@users.sf.net>
8689 * gst/gstelement.c: (gst_element_send_event):
8692 * gst/gstiterator.c:
8693 * gst/gstiterator.h:
8694 * gst/gstpad.c: (gst_pad_send_event):
8695 * gst/gststructure.c:
8699 * libs/gst/base/gstadapter.c:
8700 doc fixes, to link to function, just write gst_cool_function(), don't
8703 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
8705 * plugins/elements/gsttee.c: (gst_tee_do_push),
8706 (gst_tee_handle_buffer):
8707 Always prefer an actual return value from a src
8708 pad in place of NOT_LINKED. This means we return
8709 WRONG_STATE when all src pads are WRONG_STATE
8710 instead of NOT_LINKED.
8712 Lock when replacing the last message to prevent
8713 racing with the get_property method.
8717 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
8719 * tests/check/Makefile.am:
8720 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8722 Add a very simple check that should have caught the memleak I fixed
8723 last night (if not for the slice allocator hiding it)
8725 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
8727 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8728 (gst_bin_remove_func), (gst_bin_handle_message_func),
8729 (bin_query_duration_fold), (bin_query_generic_fold):
8730 Clean up references to the clock provider when disposed or when
8731 handling a clock-lost message from it.
8733 Unref sinks when performing a query via gst_iterator_fold, as the
8734 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8736 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8737 (gst_clock_set_master):
8738 Drop our reference to the master clock, if any, when we are disposed.
8740 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8741 Chain up in dispose.
8743 2006-01-26 Wim Taymans <wim@fluendo.com>
8745 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8748 2006-01-26 Julien MOUTTE <julien@moutte.net>
8750 * plugins/elements/gsttee.c: (gst_tee_do_push),
8751 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8752 handles pad being NOT_LINKED or in WRONG_STATE.
8754 2006-01-26 Stefan Kost <ensonic@users.sf.net>
8759 2006-01-26 Stefan Kost <ensonic@users.sf.net>
8762 remove obsolete entry
8764 2006-01-26 Stefan Kost <ensonic@users.sf.net>
8766 * docs/gst/gstreamer-sections.txt:
8767 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8768 (gst_bin_iterate_sources), (gst_bin_send_event):
8770 * gst/gstelement.c: (gst_element_send_event):
8772 * gst/gstpad.c: (gst_pad_send_event):
8773 added code for downstream events, reviewed docs in gstevent.c
8775 2006-01-25 Julien MOUTTE <julien@moutte.net>
8777 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8778 We only query position using the clock in the playing state.
8779 Query peer in the other cases.
8780 * win32/common/config.h: Updates.
8782 2006-01-24 Wim Taymans <wim@fluendo.com>
8784 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8785 A clock entry that is scheduled for the exact time of the
8786 clock is still in time.
8788 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8789 (gst_base_sink_do_sync):
8790 Add some more debug info.
8792 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
8795 Add new vs7 project files and solution.
8797 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
8800 all files removed as they were out-dated.
8802 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
8804 * docs/random/release:
8806 * gst/gstbin.c: (gst_bin_init):
8807 * gst/gstbus.c: (gst_bus_new):
8809 * gst/gstpipeline.c: (gst_pipeline_init):
8810 use gst_bus_new(), improve logging, fix docs
8811 * win32/common/config.h:
8812 update for cvs build
8814 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
8817 up required version of automake to 1.7
8819 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
8821 * win32/common/libgstreamer.def:
8822 export gst_buffer_is_metadata_writable
8824 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
8826 * docs/gst/gstreamer-sections.txt:
8828 Add gst_event_replace() (#327001)
8830 2006-01-20 Wim Taymans <wim@fluendo.com>
8832 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8833 Make it actually compile too..
8835 2006-01-20 Wim Taymans <wim@fluendo.com>
8838 Clarify behaviour of _is_equal() when passing NULL parameters.
8840 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8842 Cleanups. Don't unref NULL caps.
8843 When setting the same caps, protect caps of the pad with
8845 Use full functionality of _is_equal() when comparing caps.
8847 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
8849 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8850 Don't loop infinitely if there are no buffers to present. Partially
8851 fixes #327197, but collectpads is just broken for reusing elements
8852 to do multiple encodes atm.
8854 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
8856 * tools/gst-inspect.c: (print_element_features):
8857 * tools/gst-xmlinspect.c: (main):
8858 URL_HANDLER is not a plugin feature we can search for in
8861 2006-01-19 Edward Hervey <edward@fluendo.com>
8863 * gst/gstelement.c: (gst_element_pads_activate):
8864 When activating, do src pads first, then sink pads.
8865 When de-activating, do sink pads first, then src pads.
8867 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8869 * docs/gst/gstreamer-sections.txt:
8870 Add gst_index_add_associationv to the docs
8872 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8877 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
8878 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
8879 Do some refactoring. Doesn't actually change functionality,
8880 but makes landing the DRAIN event easier later.
8882 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
8884 * docs/pwg/advanced-scheduling.xml:
8885 Update from 0.9.x to 0.10 API and make example a bit
8888 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8890 * docs/gst/gstreamer-sections.txt:
8891 Add gst_buffer_(is|make)_metadata_writable methods.
8893 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8895 * docs/design/part-sparsestreams.txt:
8896 Update sparse streams doc, hopefully for greater clarity
8898 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
8900 * docs/design/part-events.txt:
8901 Remove mention of FILLER events.
8904 * docs/design/part-sparsestreams.txt:
8905 Write some things about using NEWSEGMENT to keep sparse streams
8908 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
8910 * gst/gstbin.c: (gst_bin_dispose):
8911 Guard gst_object_unref call against a NULL object (dispose
8912 can theoretically be called multiple times).
8914 2006-01-18 Wim Taymans <wim@fluendo.com>
8916 * gst/gstbin.c: (gst_bin_element_set_state):
8917 * gst/gstclock.c: (gst_clock_id_wait):
8918 Added some more debug info.
8920 * libs/gst/base/gstadapter.c:
8923 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8924 (gst_base_sink_do_sync), (gst_base_sink_chain):
8925 Added some comments.
8927 2006-01-18 Wim Taymans <wim@fluendo.com>
8929 * tests/check/Makefile.am:
8930 * tests/check/elements/fakesink.c: (chain_async_buffer),
8931 (chain_async), (chain_async_return), (GST_START_TEST),
8932 (fakesink_suite), (main):
8933 Added fakesink test that checks prerolling and clipping
8936 * tests/check/gst/gstutils.c: (GST_START_TEST):
8937 Make check run faster so that buildbots don't timeout.
8939 2006-01-18 Wim Taymans <wim@fluendo.com>
8941 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8942 (gst_base_sink_do_sync):
8944 When the sink finishes blocking on the preroll buffer, it can
8945 immediatly render it instead of rendering when the next buffer
8948 2006-01-18 Wim Taymans <wim@fluendo.com>
8950 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
8951 (gst_base_sink_get_property), (gst_base_sink_do_sync),
8952 (gst_base_sink_chain):
8954 GST_ELEMENT_CLOCK and sync are protected with LOCK.
8955 Don't store _last_stop if the buffer is dropped.
8957 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
8959 * plugins/elements/gsttypefindelement.c:
8960 (gst_type_find_element_class_init):
8961 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
8962 object method handler that sets the caps on the pad and we want
8963 that to happen before we emit the signal (fixes e.g. feeding a
8964 plain text file to decodebin).
8966 2006-01-18 Christian Schaller <Christian@fluendo.com>
8968 * gst/gstplugin.c: Add MPL and Proprietary as license options
8970 2006-01-18 Andy Wingo <wingo@pobox.com>
8972 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
8973 symbol was exported before, it appears this was just an oversight.
8975 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
8977 * gst/gstindex.c (gst_index_add_associationv): Changed int in
8978 prototype to gint. OK since this prototype was not in the header.
8980 2006-01-17 Andy Wingo <wingo@pobox.com>
8982 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
8983 registry while we remove plugins.
8985 * tools/gst-inspect.c (print_element_info): Don't unref the
8986 factory arg, that should be the responsibility of whatever code
8987 received the ref. Fixes a double-free when called from
8988 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
8989 (main): Unref the factory if we have one.
8990 (print_element_list): No change -- relies on the
8991 plugin_feature_list_free to free the list of features.
8993 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
8995 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8996 (gst_buffer_make_metadata_writable):
8998 * libs/gst/base/gstbasetransform.c:
8999 (gst_base_transform_prepare_output_buf):
9000 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9001 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9002 Replace gst_buffer_(make|is)_metadata_writable patch now
9003 that the release is out.
9005 2006-01-17 Andy Wingo <wingo@pobox.com>
9007 * gst/gstregistry.c: Reflow design comment. Update so as to speak
9008 in the present tense without reference to versions.
9010 * gst/gstregistry.c (gst_registry_add_plugin)
9011 (gst_registry_remove_plugin, gst_registry_remove_feature)
9012 (gst_registry_find_feature, gst_registry_get_feature_list)
9013 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
9014 (gst_registry_lookup, gst_registry_scan_path)
9015 (_gst_registry_remove_cache_plugins)
9016 (gst_registry_get_feature_list_by_plugin): Add argument
9019 === release 0.10.2 ===
9021 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
9024 releasing 0.10.2, "If man is five"
9026 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
9030 * libs/gst/base/gstbasetransform.c:
9031 (gst_base_transform_prepare_output_buf):
9032 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9033 * tests/check/gst/gstbuffer.c: (gst_test_suite):
9034 Back out patch until after the release.
9036 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
9038 * gst/gstminiobject.c:
9039 Spelling fix in docs.
9040 * ChangeLog - remove conflict indicator
9042 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
9044 Reviewed By: Andy Wingo
9046 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9047 (gst_buffer_make_metadata_writable):
9049 Add gst_buffer_(is|make)_metadata_writable as analogues of
9050 gst_buffer_(is|make)_writable.
9052 * libs/gst/base/gstbasetransform.c:
9053 (gst_base_transform_prepare_output_buf):
9054 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9055 Use name gst_buffer_(is|make)_metadata_writable functions.
9057 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9058 Test gst_buffer_(is|make)_metadata_writable
9062 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
9064 * docs/manual/Makefile.am:
9065 don't do parallel make
9068 * win32/common/config.h.in:
9069 add generations for HOST_CPU and GST_MAJORMINOR
9070 * win32/common/config.h:
9071 commit generated result
9073 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
9075 * docs/manual/appendix-integration.xml:
9076 Update GNOME integration section to use gst_init_get_option_group()
9077 instead of the old popt stuff (#322911). Also, GNOME applications
9078 should now use gconf*sink and gconf*src instead of the old gconf
9081 2006-01-13 Stefan Kost <ensonic@users.sf.net>
9084 * docs/gst/gstreamer-docs.sgml:
9085 * docs/gst/gstreamer-sections.txt:
9086 * docs/libs/gstreamer-libs-sections.txt:
9087 add new API entries to the docs
9088 * libs/gst/controller/Makefile.am:
9089 * libs/gst/controller/gstcontroller.c:
9090 * libs/gst/controller/gstcontroller.h:
9091 * libs/gst/controller/gstcontrollerprivate.h:
9092 * libs/gst/controller/gsthelper.c:
9093 * libs/gst/controller/gstinterpolation.c:
9094 move private structs to private header
9096 gstreamer-0.7 -> gstreamer-0.10
9097 * tests/check/libs/struct_i386.h:
9098 remove private structs
9100 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
9102 * plugins/indexers/Makefile.am:
9103 Fixes as part of #317048
9105 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
9107 * plugins/indexers/Makefile.am:
9108 fix #316086 - compilation when mmap is missing
9110 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
9112 * libs/gst/base/gstbasesink.c:
9113 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
9114 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
9115 * win32/common/config.h:
9116 added some defines GST_MAJORMINOR and HOST_CPU
9117 * win32/common/libgstbase.def:
9118 * win32/common/libgstreamer.def:
9119 added some exported functions.
9121 2006-01-12 Stefan Kost <ensonic@users.sf.net>
9123 * libs/gst/controller/gstcontroller.c:
9124 (gst_controlled_property_set_interpolation_mode),
9125 (gst_controlled_property_new):
9126 * libs/gst/controller/gstcontroller.h:
9127 * libs/gst/controller/gstinterpolation.c:
9128 (interpolate_none_get_string_value_array):
9129 make G_TYPE_STRING controlable
9131 2006-01-12 Stefan Kost <ensonic@users.sf.net>
9134 * tools/gst-feedback.1.in:
9135 * tools/gst-inspect.1.in:
9136 * tools/gst-launch.1.in:
9137 * tools/gst-md5sum.1.in:
9138 * tools/gst-typefind.1.in:
9139 * tools/gst-xmlinspect.1.in:
9140 * tools/gst-xmllaunch.1.in:
9141 cleanup man-pages, remove reference to gst-register, document env-vars
9143 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
9145 * gst/gstbuffer.c: (gst_buffer_span):
9146 gst_buffer_span should copy the timestamp of the first buffer
9147 if they were both originally overlapping subbuffers of the
9148 same parent, using the same logic as the 'slow copy' case.
9150 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
9152 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
9153 Need to awaken ALL the pads when we pop a buffer, otherwise
9154 collectpads only works when there is 2 input streams.
9156 2006-01-11 Stefan Kost <ensonic@users.sf.net>
9158 * docs/random/ensonic/media-device-daemon.txt:
9161 fix doc example, add clarification
9162 * tools/gst-launch.1.in:
9163 add initial info about GST_PLUGIN_PATH, needs more work
9165 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
9167 * docs/manual/basics-bins.xml:
9168 * docs/manual/basics-elements.xml:
9169 * docs/manual/intro-basics.xml:
9170 Some more minor docs additions and updates.
9172 2006-01-11 Wim Taymans <wim@fluendo.com>
9174 * docs/manual/basics-bins.xml:
9175 * docs/manual/basics-elements.xml:
9176 Some small fixes as pointed out by Ser-ver on IRC.
9178 2006-01-10 Edward Hervey <edward@fluendo.com>
9180 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9181 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
9182 the single-segment mode.
9184 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
9186 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9188 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
9189 (gst_base_src_perform_seek), (gst_base_src_send_event),
9190 (gst_base_src_set_property), (gst_base_src_get_property),
9191 (gst_base_src_loop), (gst_base_src_start),
9192 (gst_base_src_activate_push):
9193 * libs/gst/base/gstbasesrc.h:
9194 Name (private) union; makes Sun's Forte compiler happy (#324900).
9196 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
9199 gst-register is gone.
9201 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
9203 * gst/gstvalue.c: (_gst_value_initialize):
9204 make the G_TYPE_DATE instantiation work if debug is disabled
9206 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
9208 * gst/gstmessage.c: (gst_message_parse_tag),
9209 (gst_message_parse_error), (gst_message_parse_warning):
9210 Don't crash when return location for error/warning debug
9211 string is NULL; add fact that return locations can be
9212 NULL to docs where appropriate.
9214 2006-01-05 Wim Taymans <wim@fluendo.com>
9216 * gst/gstplugin.c: (gst_plugin_load_file):
9217 Replace strdup by g_strdup.
9219 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
9221 * docs/pwg/advanced-types.xml:
9224 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
9226 submitted by: Abel Cheung
9230 Added Chinese (traditional) translation
9232 2006-01-04 Wim Taymans <wim@fluendo.com>
9234 * docs/manual/basics-pads.xml:
9235 * docs/plugins/Makefile.am:
9236 * docs/plugins/gstreamer-plugins-docs.sgml:
9237 * docs/plugins/gstreamer-plugins-sections.txt:
9238 * docs/pwg/advanced-clock.xml:
9239 * docs/pwg/advanced-scheduling.xml:
9240 * docs/pwg/advanced-types.xml:
9241 * plugins/elements/gstfdsink.c:
9242 * plugins/elements/gstfdsrc.c:
9243 * plugins/elements/gstfdsrc.h:
9244 * plugins/elements/gstidentity.c: (gst_identity_class_init):
9245 * plugins/elements/gstidentity.h:
9246 * plugins/elements/gstqueue.h:
9247 * plugins/elements/gsttee.c:
9248 * plugins/elements/gsttee.h:
9249 * plugins/elements/gsttypefindelement.c:
9250 (gst_type_find_element_class_init):
9251 * plugins/elements/gsttypefindelement.h:
9252 Small updates to various docs.
9253 Added core plugins to docs.
9255 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9258 add a suppression for liboil's uninitialized variable
9260 2006-01-02 James Livingston <jrl at ids dot org dot au>
9262 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9265 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
9266 macro, so that gcc doesn't complain if the -Wmissing-prototypes
9267 compiler switch is being used (#325429).
9269 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
9271 * gst/gstbin.c: (gst_bin_query):
9272 Disable duration query caching in bins until it gets
9273 fixed (see #324807).
9275 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
9277 * tools/gst-inspect.c: (print_element_properties_info):
9278 Handle properties of POINTER and BOXED type.
9280 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
9282 * gst/gst.c: (init_post):
9283 Init tags stuff and some other things before loading
9284 any static plugins (there may be other static plugins
9285 than just the GStreamer ones, and they may want to
9286 register their own tags or formats or whatever, and
9287 preferably without segfaulting).
9289 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
9290 Print at least a warning in the debug logs if we drop a
9291 query just because we don't know how to adjust the value
9292 in the particular format.
9294 2005-12-24 David Schleef <ds@schleef.org>
9296 * tools/gstreamer-completion:
9297 Replacement for gst-complete written in sh and sed. Only
9298 completes names of features, but that's 90% of what I want
9299 it for. Properties are not available in registry.xml. (Maybe
9302 === release 0.10.1 ===
9304 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
9307 releasing 0.10.1, "Nollaig chridheil"
9309 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
9312 Add missing quote, should be make ERROR_CFLAGS="".
9314 2005-12-20 Wim Taymans <wim@fluendo.com>
9316 * docs/design/part-trickmodes.txt:
9317 More documentation on trickmodes.
9319 2005-12-20 Edward Hervey <edward@fluendo.com>
9321 * gst/gstcaps.c: (gst_static_caps_get_type):
9323 API addition: GST_TYPE_STATIC_CAPS
9324 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9325 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9326 * gst/gstpadtemplate.h:
9327 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9328 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9331 2005-12-18 Wim Taymans <wim@fluendo.com>
9333 * libs/gst/base/gstadapter.c:
9334 * libs/gst/base/gstadapter.h:
9335 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9336 (gst_base_sink_get_position):
9337 * libs/gst/base/gstbasesink.h:
9338 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9339 (gst_base_src_default_query), (gst_base_src_default_do_seek),
9340 (gst_base_src_do_seek), (gst_base_src_perform_seek),
9341 (gst_base_src_send_event), (gst_base_src_update_length),
9342 (gst_base_src_get_range), (gst_base_src_loop),
9343 (gst_base_src_start):
9344 * libs/gst/base/gstbasesrc.h:
9345 * libs/gst/base/gstbasetransform.h:
9346 * libs/gst/base/gstcollectpads.h:
9347 * libs/gst/base/gstpushsrc.c:
9348 * libs/gst/base/gstpushsrc.h:
9349 * libs/gst/dataprotocol/dataprotocol.c:
9350 * libs/gst/dataprotocol/dataprotocol.h:
9351 * libs/gst/net/gstnetclientclock.h:
9352 * libs/gst/net/gstnettimeprovider.h:
9353 Documentation updates.
9355 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
9357 * docs/manual/basics-helloworld.xml:
9358 Remove superfluous closing bracket in helloworld example.
9360 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
9362 * tools/gst-launch.1.in:
9363 Update gst-launch man page; add a section with useful
9364 environment variables. Fixes #323882.
9366 2005-12-16 Stefan Kost <ensonic@users.sf.net>
9369 * gst/gst_private.h:
9370 change some char* into char[]
9372 2005-12-16 Wim Taymans <wim@fluendo.com>
9374 * gst/gstregistryxml.c: (load_feature):
9376 Don't use g_object_unref on GstObjects so that we avoid
9377 leaks on unsafe glibs.
9379 2005-12-16 Wim Taymans <wim@fluendo.com>
9381 * gst/gstbin.c: (gst_bin_recalc_state):
9384 2005-12-16 Wim Taymans <wim@fluendo.com>
9387 Added make forever target for check.
9389 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
9391 * gst/gst.c: (init_post):
9392 make the registry cache file HOST_CPU-dependent
9394 2005-12-16 Andy Wingo <wingo@pobox.com>
9396 * plugins/elements/gstbufferstore.c
9397 (gst_buffer_store_cleared_func): Pay attention to g_list_append
9400 * tests/check/gst/gstobject.c
9401 (test_fake_object_name_threaded_unique): Pay attention to
9402 g_list_sort return value.
9404 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
9406 * tools/gst-feedback-m.m:
9407 Update for 0.9/0.10 (fixes #323870).
9409 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
9411 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9412 Fix lcopy for mini objects, the mini object needs to be ref'ed.
9414 * tests/check/gst/gstminiobject.c: (my_foo_init),
9415 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9416 (test_value_collection), (gst_mini_object_suite):
9417 Add test to ensure refcounts end up as expected when passing
9418 GstMiniObjects through g_object_get() and g_object_set().
9420 2005-12-14 Julien MOUTTE <julien@moutte.net>
9422 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9423 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9424 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9425 of collectpads. This version removes a lot of races without
9426 touching API/ABI. Yay !
9428 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
9430 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9431 Don't allow activation of a srcpad in pull_range if it has no
9433 Change some debug statements to be a little clearer
9435 * plugins/elements/gsttypefindelement.c:
9436 (gst_type_find_handle_src_query):
9437 Check that we have a peer before executing queries thereupon.
9439 * tests/examples/metadata/read-metadata.c: (message_loop):
9440 Use gst_bus_pop instead of gst_bus_poll when we just want it to
9441 immediately return us any available message with 0 timeout.
9443 2005-12-12 Michael Smith <msmith@fluendo.com>
9445 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9446 Don't unref factories after calling them.
9447 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9448 * plugins/elements/gsttypefindelement.c:
9449 (gst_type_find_element_chain):
9450 Free lists of factories after using them. Fixing typefinding memory
9453 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9455 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9456 (gst_plugin_feature_load):
9457 more meaningful debug output
9459 * tests/Makefile.am:
9460 * tests/old/examples/Makefile.am:
9461 make make distcheck happy again
9463 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
9465 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9466 Catch the special case where we are operating chain-based,
9467 but the downstream peer pad has no chain function. Emit a
9468 custom error message in this case instead of letting the
9469 core generate one implying that this is some sort of core
9470 bug. It's not, it just means that whatever got plugged
9471 into the pipeline downstream when we announced the type
9472 can only operate pull-based, while our source can only
9473 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9474 Error string has not been marked for translation yet, as
9475 it probably needs some more work first.
9477 (gst_type_find_element_get_best_possibility):
9478 Add helper function to find the best of all available
9479 found possibilities that qualify given the min. threshold.
9481 (gst_type_find_element_handle_event):
9482 Fix the case where we get an EOS while still in TYPEFIND
9483 mode (we want to chose the best of all possible types,
9484 not just the first type that happens to be in our unsorted
9485 list of possible types).
9487 (gst_type_find_element_chain):
9488 Make sure we return GST_FLOW_ERROR when we errored out
9489 in stop_typefinding(); also, don't just find the best of
9490 all found type entries and then use the last examined
9491 type entry, but actually use the best entry.
9493 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
9495 * tests/examples/typefind/typefind.c: (type_found):
9496 * tests/examples/xml/runxml.c: (xml_loaded):
9497 More gcc4 fixes and a mem leak fix.
9499 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9501 * tests/examples/xml/createxml.c: (object_saved):
9504 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9506 * tests/Makefile.am:
9507 enable the examples even more
9509 2005-12-12 Andy Wingo <wingo@pobox.com>
9511 * libs/gst/net/gstnettimeprovider.c
9512 (gst_net_time_provider_class_init, gst_net_time_provider_init)
9513 (gst_net_time_provider_set_property)
9514 (gst_net_time_provider_get_property):
9515 API addition: Export "active" as a GObject property.
9516 (gst_net_time_provider_thread): Only respond to time queries if
9517 the time provider is active.
9519 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9520 NetTimeProvider, preserving binary compat.
9522 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9524 * tests/examples/controller/audio-example.c: (main):
9525 * tests/examples/launch/Makefile.am:
9526 convert comments again
9528 2005-12-12 Wim Taymans <wim@fluendo.com>
9530 * libs/gst/base/gstpushsrc.c:
9533 2005-12-12 Wim Taymans <wim@fluendo.com>
9535 * docs/libs/gstreamer-libs-sections.txt:
9536 Added new symbol to docs.
9538 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9539 (gst_base_src_init), (gst_base_src_set_format),
9540 (gst_base_src_default_query), (gst_base_src_query),
9541 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9542 (gst_base_src_perform_seek), (gst_base_src_send_event),
9543 (gst_base_src_default_event), (gst_base_src_event_handler),
9544 (gst_base_src_set_property), (gst_base_src_get_property),
9545 (gst_base_src_wait), (gst_base_src_do_sync),
9546 (gst_base_src_update_length), (gst_base_src_get_range),
9547 (gst_base_src_check_get_range), (gst_base_src_loop),
9548 (gst_base_src_default_negotiate), (gst_base_src_start),
9549 (gst_base_src_activate_push), (gst_base_src_activate_pull),
9550 (gst_base_src_change_state):
9551 * libs/gst/base/gstbasesrc.h:
9552 Implement seeking to other formats than _BYTES.
9553 Implement more seeking methods correctly.
9555 Added query vmethod.
9556 Added do_seek vmethod to make life easier for subclasses
9558 API addition: gst_base_src_set_format()
9560 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9562 * tests/examples/Makefile.am:
9565 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9568 * docs/random/ensonic/media-device-daemon.txt:
9569 * tests/examples/controller/.cvsignore:
9570 * tests/examples/controller/Makefile.am:
9571 * tests/examples/controller/audio-example.c: (main):
9572 * tests/examples/helloworld/.cvsignore:
9573 * tests/examples/helloworld/Makefile.am:
9574 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9575 * tests/examples/launch/.cvsignore:
9576 * tests/examples/launch/Makefile.am:
9577 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9578 * tests/examples/metadata/.cvsignore:
9579 * tests/examples/metadata/Makefile.am:
9580 * tests/examples/metadata/read-metadata.c: (message_loop),
9581 (make_pipeline), (print_tag), (main):
9582 * tests/examples/queue/.cvsignore:
9583 * tests/examples/queue/Makefile.am:
9584 * tests/examples/queue/queue.c: (event_loop), (main):
9585 * tests/examples/typefind/.cvsignore:
9586 * tests/examples/typefind/Makefile.am:
9587 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9589 * tests/examples/xml/.cvsignore:
9590 * tests/examples/xml/Makefile.am:
9591 * tests/examples/xml/createxml.c: (object_saved), (main):
9592 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9593 * tests/old/examples/Makefile.am:
9594 * tests/old/examples/TODO:
9595 * tests/old/examples/controller/.cvsignore:
9596 * tests/old/examples/controller/Makefile.am:
9597 * tests/old/examples/controller/audio-example.c:
9598 * tests/old/examples/helloworld/.cvsignore:
9599 * tests/old/examples/helloworld/Makefile.am:
9600 * tests/old/examples/helloworld/helloworld.c:
9601 * tests/old/examples/launch/.cvsignore:
9602 * tests/old/examples/launch/Makefile.am:
9603 * tests/old/examples/launch/mp3parselaunch.c:
9604 * tests/old/examples/launch/mp3play:
9605 * tests/old/examples/manual/Makefile.am:
9606 * tests/old/examples/metadata/Makefile.am:
9607 * tests/old/examples/metadata/read-metadata.c:
9608 * tests/old/examples/queue/.cvsignore:
9609 * tests/old/examples/queue/Makefile.am:
9610 * tests/old/examples/queue/queue.c:
9611 * tests/old/examples/typefind/.cvsignore:
9612 * tests/old/examples/typefind/Makefile.am:
9613 * tests/old/examples/typefind/typefind.c:
9614 * tests/old/examples/xml/.cvsignore:
9615 * tests/old/examples/xml/Makefile.am:
9616 * tests/old/examples/xml/createxml.c:
9617 * tests/old/examples/xml/runxml.c:
9618 applied some simple fixing to some examples
9619 re-enabled the working examples
9621 2005-12-12 Wim Taymans <wim@fluendo.com>
9623 * gst/gstsegment.c: (gst_segment_init),
9624 (gst_segment_set_last_stop), (gst_segment_set_seek),
9625 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9626 (gst_segment_to_running_time):
9627 Added more documentation.
9628 Make sure the last_pos value is updated properly.
9629 Make sure to_stream_time and to_running_time don't
9630 operate on wrong values.
9632 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9635 2005-12-12 Michael Smith <msmith@fluendo.com>
9637 * plugins/elements/gsttypefindelement.c: (free_entry),
9638 (gst_type_find_element_chain):
9639 Now that we're not leaking factories, make sure we keep references
9640 to them while we need them.
9642 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
9644 * tests/check/gst/struct_i386.h:
9645 ifdef out the XML structs
9647 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
9649 * gst/gstvalue.c: (gst_value_transform_double_fraction):
9650 floor is not needed, F is always positive; this obviates the
9651 need for adding -lm when building without libxml
9653 2005-12-12 Wim Taymans <wim@fluendo.com>
9655 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9656 Take current playback rate into account when reporting
9659 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9661 * docs/manual/mime-world.fig:
9662 Let's try this again, this time with a file that is
9663 actually in XFig format.
9665 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9667 * docs/manual/mime-world.fig:
9668 Add audioconvert element to diagram so that it
9669 matches the text and the code (fixes #319526).
9671 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9673 * docs/pwg/building-chainfn.xml:
9674 * docs/pwg/building-pads.xml:
9675 * docs/pwg/building-state.xml:
9676 * docs/pwg/other-source.xml:
9677 Update state change stuff for 0.10 (fixes #322969).
9679 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9681 * docs/manual/advanced-dataaccess.xml:
9682 * docs/manual/appendix-checklist.xml:
9683 * docs/manual/appendix-programs.xml:
9684 * docs/manual/basics-pads.xml:
9685 * docs/manual/highlevel-components.xml:
9686 * docs/manual/manual.xml:
9687 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9688 add converters in front of pipelines; remove curly
9689 brackets for threads stuff, they no longer exist; use
9690 GST_TYPE_FRACTION for framerates; update some pieces of
9691 code to 0.10, but there's plenty more to do.
9693 * docs/manual/appendix-porting.xml:
9694 Expand on asynchroneous state changes; s/0.9/0.10/;
9695 mention disappearance of gst_init_get_popt_table()
9698 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9700 * docs/faq/using.xml:
9701 Spider no longer exists, and neither does gst-launch-ext.
9702 Update examples to use decodebin and playbin and put
9703 converters in front of sinks (fixes #323726).
9705 2005-12-09 Michael Smith <msmith@fluendo.com>
9707 * plugins/elements/gsttypefindelement.c: (find_peek),
9708 (gst_type_find_element_chain):
9709 Fix leaking element factories in typefinding.
9710 Fix problem where we forgot about a probable type on non-seekable
9711 files, and thus later mis-typefound it.
9713 2005-12-09 Michael Smith <msmith@fluendo.com>
9715 * common/m4/gst-makecontext.m4:
9716 * common/m4/gst-mcsc.m4:
9718 * win32/common/config.h:
9719 * win32/common/config.h.in:
9720 Remove makecontext stuff; not used in 0.10 and causes problems on
9721 HPUX according to bug #322441
9723 2005-12-07 Wim Taymans <wim@fluendo.com>
9725 * tests/check/Makefile.am:
9726 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9728 * tests/check/libs/struct_i386.h:
9729 Added ABI check for libs
9731 2005-12-07 Wim Taymans <wim@fluendo.com>
9733 * tests/check/Makefile.am:
9734 And add the struct_i386.h to dist.
9736 2005-12-07 Wim Taymans <wim@fluendo.com>
9738 * tests/check/Makefile.am:
9739 * tests/check/gst/.cvsignore:
9740 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9742 * tests/check/gst/struct_i386.h:
9743 Added check for ABI compatibility.
9745 2005-12-07 Wim Taymans <wim@fluendo.com>
9747 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9748 (gst_fake_src_get_times), (gst_fake_src_create):
9749 Fix broken sync option, fixes #323259
9751 2005-12-07 Wim Taymans <wim@fluendo.com>
9756 * gst/gstcaps.c: (gst_caps_is_equal):
9757 Don't assert on NULL <--> X. Fixes #323260
9759 * gst/gstminiobject.c: (gst_mini_object_replace):
9760 If we're doing atomic operations, we might just as well use
9761 the proper way to get an atomic pointer.
9763 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9766 2005-12-07 Michael Smith <msmith@fluendo.com>
9768 * gst/parse/grammar.y:
9769 Remove handling of { } for threads.
9771 2005-12-06 David Schleef <ds@schleef.org>
9773 * libs/gst/base/gstbasetransform.c: speling fix.
9775 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
9777 * docs/libs/tmpl/gstdataprotocol.sgml:
9778 * docs/random/omega/testing/gstobject.c:
9782 * gst/gstelementfactory.c:
9785 * gst/gstghostpad.c:
9787 * gst/gstpadtemplate.c:
9788 * gst/gstregistryxml.c:
9790 * gst/gsttagsetter.c:
9791 * gst/gsttypefind.c:
9793 * libs/gst/base/gstbasesrc.c:
9794 * libs/gst/net/gstnetclientclock.c:
9795 * libs/gst/net/gstnettimeprovider.c:
9796 * plugins/elements/gstfakesrc.c:
9797 * plugins/elements/gstfdsrc.c:
9798 * plugins/elements/gstfilesrc.c:
9799 * plugins/elements/gstidentity.c:
9800 * plugins/elements/gstqueue.c:
9801 * plugins/elements/gsttypefindelement.c:
9802 * plugins/indexers/gstfileindex.c:
9803 * plugins/indexers/gstmemindex.c:
9804 * tests/check/gst/gsttag.c:
9805 * tests/old/examples/cutter/cutter.c:
9806 * tests/old/examples/mixer/mixer.c:
9807 * tests/old/examples/xml/runxml.c: (main):
9808 * tests/old/testsuite/caps/normalisation.c:
9809 * tests/old/testsuite/debug/global.c:
9810 * tests/old/testsuite/parse/parse1.c:
9811 * tools/gst-xmlinspect.c:
9812 * win32/common/dirent.c:
9815 === release 0.10.0 ===
9817 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9820 releasing 0.10.0, "Maroilles"
9822 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
9824 submitted by: Funda Wang <fundawang@linux.net.cn>
9828 added Chinese (Traditional) translation
9830 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
9832 * docs/gst/gstreamer-sections.txt:
9833 * docs/libs/tmpl/gstdataprotocol.sgml:
9834 * docs/random/thomasvs/TODO:
9839 2005-12-05 Andy Wingo <wingo@pobox.com>
9841 patch by: Wim Taymans <wim@fluendo.com>
9843 * libs/gst/base/gstbasetransform.c
9844 (gst_base_transform_prepare_output_buf)
9845 (gst_base_transform_buffer_alloc):
9846 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
9847 alloc_buffer_and_set_caps.
9849 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
9850 set_caps on the source pad.
9851 (gst_pad_alloc_buffer_and_set_caps): New function, does what
9852 alloc_buffer used to do. Fixes #322874.
9854 * docs/gst/gstreamer-sections.txt:
9855 * docs/design/part-negotiation.txt:
9856 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
9859 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
9861 patch by: Sebastien Moutte
9864 * win32/common/config.h.in:
9865 * win32/vs6/libgstcontroller.dsp:
9868 2005-12-05 Wim Taymans <wim@fluendo.com>
9870 * gst/gstcaps.c: (gst_caps_is_equal):
9871 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9872 (gst_fake_src_create):
9873 Back out previous code changes, leave doc updates, file bugs
9876 2005-12-05 Wim Taymans <wim@fluendo.com>
9878 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9879 (gst_fake_src_get_times), (gst_fake_src_create):
9880 * plugins/elements/gstfakesrc.h:
9881 Fix broken sync code.
9883 2005-12-05 Wim Taymans <wim@fluendo.com>
9885 * gst/gstcaps.c: (gst_caps_is_equal):
9886 Comparing NULL against !NULL yields different caps, not a
9889 2005-12-05 Wim Taymans <wim@fluendo.com>
9891 * gst/gstpipeline.c:
9892 Fix small typo in docs.
9894 2005-12-05 Andy Wingo <wingo@pobox.com>
9896 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
9898 * gst/gst.c (init_post): remove hard-coded 0.9 location for
9899 registries/plugins with a MAJORMINOR one.
9900 (plugin_desc): Rename library from gstcoreleements to
9901 staticelements. Fixes #323222.
9903 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
9905 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
9906 Change debug category to 'collectpads' from 'collect_pads'
9909 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
9911 patch by: Sebastien Moutte
9913 * libs/gst/controller/gstinterpolation.c:
9914 use convert function for uint64/double
9915 * win32/vs6/libgstcontroller.dsp:
9918 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
9920 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
9921 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
9923 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9924 add tests that seem to show that the guint64/gdouble conversions
9927 2005-12-02 Wim Taymans <wim@fluendo.com>
9929 * gst/gstregistry.c: (gst_registry_add_path):
9930 * gst/gstregistry.h:
9931 * gst/gstregistryxml.c:
9934 2005-12-02 Wim Taymans <wim@fluendo.com>
9936 * gst/gstutils.c: (gst_util_uint64_scale_int64),
9937 (gst_util_uint64_scale_int):
9940 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9943 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
9946 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
9949 * win32/common/config.h:
9950 * win32/vs6/gstreamer.dsw:
9951 * win32/vs6/libgstcoreelements.dsp:
9952 * win32/vs6/libgstelements.dsp:
9953 renamed core elements plugin
9955 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
9957 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
9959 do piece-wise major/minor comparison so 0.9 < 0.10
9960 also allow .exe extensions for tools
9962 2005-12-02 Michael Smith <msmith@fluendo.com>
9965 Escape a % to make gtkdoc happier; bug 322958.
9967 === release 0.9.7 ===
9969 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9972 releasing 0.9.7, "My Dog Has No Nose"
9974 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9976 * common/gst-xmlinspect.py:
9978 * docs/libs/tmpl/gstdataprotocol.sgml:
9979 * docs/random/release:
9998 * win32/common/config.h:
9999 * win32/common/config.h.in:
10000 * win32/vs6/gst_inspect.dsp:
10001 * win32/vs6/gst_launch.dsp:
10002 * win32/vs6/libgstbase.dsp:
10003 * win32/vs6/libgstelements.dsp:
10004 * win32/vs6/libgstreamer.dsp:
10005 * win32/vs7/GStreamer.vcproj:
10006 * win32/vs7/gst-inspect.vcproj:
10007 * win32/vs7/gst-launch.vcproj:
10008 * win32/vs7/libgstbase.vcproj:
10009 bump GST_MAJORMINOR to 0.10
10010 reset libtool version
10012 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10016 Added Bulgarian translation by (Alexander Shopov)
10018 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10020 * tests/check/gst/gstplugin.c:
10023 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10025 * common/gst-xmlinspect.py:
10026 * common/gtk-doc-plugins.mak:
10028 * docs/Makefile.am:
10029 * docs/gst/Makefile.am:
10030 * docs/gst/gstreamer-docs.sgml:
10031 * docs/gst/gstreamer-sections.txt:
10032 * docs/gst/gstreamer.types:
10033 * docs/gst/gstreamer.types.in:
10034 * docs/plugins/Makefile.am:
10035 * docs/plugins/gstreamer-plugins-docs.sgml:
10036 * docs/plugins/gstreamer-plugins-sections.txt:
10037 * docs/plugins/gstreamer-plugins.types:
10038 * docs/plugins/inspect.stamp:
10039 * docs/plugins/inspect/plugin-coreelements.xml:
10040 * docs/plugins/inspect/plugin-coreindexers.xml:
10041 * docs/plugins/scanobj-build.stamp:
10042 * gstreamer.spec.in:
10043 * plugins/elements/Makefile.am:
10044 * plugins/elements/gstelements.c:
10045 * plugins/elements/gstfakesink.c:
10046 * plugins/elements/gstfakesrc.c:
10047 * plugins/elements/gstfilesink.c:
10048 * plugins/elements/gstfilesrc.c:
10049 * plugins/elements/gstqueue.c:
10050 * plugins/indexers/Makefile.am:
10051 * plugins/indexers/gstindexers.c:
10052 document core plugins in a separate document just like all the
10054 rename these plugins to something starting with core
10056 2005-12-01 Andy Wingo <wingo@pobox.com>
10058 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
10059 padding here before, but it missed the commit.
10061 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
10063 * libs/gst/controller/gstinterpolation.c:
10064 whitespace prices have crashed, we should feel free to use some now
10065 use gst_guint64_to_gdouble
10067 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
10069 * libs/gst/controller/gstcontroller.c:
10070 * libs/gst/controller/gsthelper.c:
10071 * libs/gst/controller/gstinterpolation.c:
10072 * libs/gst/controller/lib.c:
10073 wrap config.h include
10075 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
10077 * docs/gst/gstreamer-sections.txt:
10080 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
10082 * plugins/elements/gstelements.c:
10083 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
10084 (gst_fd_sink__class_init), (gst_fd_sink__init),
10085 (gst_fd_sink__chain), (gst_fd_sink__set_property),
10086 (gst_fd_sink__get_property):
10087 * plugins/elements/gstfdsink.h:
10088 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
10089 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
10090 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
10091 (gst_fd_src_unlock), (gst_fd_src_set_property),
10092 (gst_fd_src_get_property), (gst_fd_src_create),
10093 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
10094 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
10095 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
10096 (gst_fd_src_uri_handler_init):
10097 * plugins/elements/gstfdsrc.h:
10098 * plugins/elements/gstqueue.c: (gst_queue_get_type):
10101 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10103 * docs/gst/Makefile.am:
10104 * docs/gst/gstreamer.types.in:
10108 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10114 * gst/gstregistry.h:
10115 * tests/benchmarks/complexity.c:
10116 * tests/benchmarks/mass-elements.c:
10117 * tests/check/Makefile.am:
10118 * tools/Makefile.am:
10119 * tools/gst-inspect.c:
10120 * tools/gst-xmlinspect.c:
10121 various fixes to make
10122 --disable-nls --disable-registry --disable-loadsave
10123 --disable-parse --disable-gst-debug
10124 work and get the core .so down to 360444 bytes after stripping
10126 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10131 * docs/random/thomasvs/TODO:
10132 * tests/Makefile.am:
10136 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10138 * win32/GStreamer.vcproj:
10141 * win32/Makefile.inspect:
10142 * win32/Makefile.launch:
10143 * win32/Makefile.register:
10144 * win32/README.txt:
10145 * win32/gst-inspect.vcproj:
10146 * win32/gst-launch.vcproj:
10147 * win32/gst-register.vcproj:
10148 * win32/gstelements.vcproj:
10149 * win32/gstgetbits.def:
10150 * win32/gstgetbits.vcproj:
10151 * win32/gstreamer-dbg.def:
10152 * win32/gstreamer.def:
10153 * win32/libgstbase.def:
10154 * win32/libgstbase.vcproj:
10155 * win32/link_oldruntime.c:
10159 * win32/msvc71.sln:
10160 move even more stuff, win32/ is nice and clean now
10162 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10164 * libs/gst/control/.cvsignore:
10169 * win32/gstbytestream.def:
10170 * win32/gstbytestream.vcproj:
10171 * win32/gstconfig.h:
10172 * win32/gstenumtypes.c:
10173 * win32/gstenumtypes.h:
10174 * win32/gstoptimalscheduler.vcproj:
10175 * win32/gstversion.h:
10177 * win32/testsuite/bins.vcproj:
10178 * win32/testsuite/bytestream.vcproj:
10179 * win32/testsuite/caps.vcproj:
10180 * win32/testsuite/cleanup.vcproj:
10181 * win32/testsuite/clock.vcproj:
10182 * win32/testsuite/debug.vcproj:
10183 * win32/testsuite/dlopen.vcproj:
10184 * win32/testsuite/dynparams.vcproj:
10185 * win32/testsuite/elements.vcproj:
10186 * win32/testsuite/ghostpads.vcproj:
10187 * win32/testsuite/indexers.vcproj:
10188 * win32/testsuite/negotiation.vcproj:
10189 * win32/testsuite/parse.vcproj:
10190 * win32/testsuite/plugin.vcproj:
10191 * win32/testsuite/refcounting.vcproj:
10192 * win32/testsuite/schedulers.vcproj:
10193 * win32/testsuite/states.vcproj:
10194 * win32/testsuite/tags.vcproj:
10195 * win32/testsuite/threads.vcproj:
10196 remove old win32 stuff that isn't maintained and should be
10199 2005-11-30 Andy Wingo <wingo@pobox.com>
10201 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
10202 loading the gst.interfaces python module bork.
10204 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
10205 available since GLib 2.2. Fixes #318031.
10207 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10210 * check/.cvsignore:
10211 * check/Makefile.am:
10212 * check/elements/.cvsignore:
10213 * check/elements/fakesrc.c:
10214 * check/elements/fdsrc.c:
10215 * check/elements/identity.c:
10216 * check/generic/.cvsignore:
10217 * check/generic/states.c:
10218 * check/gst-libs/.cvsignore:
10219 * check/gst-libs/controller.c:
10220 * check/gst-libs/gdp.c:
10221 * check/gst/.cvsignore:
10222 * check/gst/capslist.h:
10224 * check/gst/gstbin.c:
10225 * check/gst/gstbuffer.c:
10226 * check/gst/gstbus.c:
10227 * check/gst/gstcaps.c:
10228 * check/gst/gstelement.c:
10229 * check/gst/gstevent.c:
10230 * check/gst/gstghostpad.c:
10231 * check/gst/gstiterator.c:
10232 * check/gst/gstmessage.c:
10233 * check/gst/gstminiobject.c:
10234 * check/gst/gstobject.c:
10235 * check/gst/gstpad.c:
10236 * check/gst/gstpipeline.c:
10237 * check/gst/gstplugin.c:
10238 * check/gst/gstsegment.c:
10239 * check/gst/gststructure.c:
10240 * check/gst/gstsystemclock.c:
10241 * check/gst/gsttag.c:
10242 * check/gst/gstutils.c:
10243 * check/gst/gstvalue.c:
10244 * check/net/.cvsignore:
10245 * check/net/gstnetclientclock.c:
10246 * check/net/gstnettimeprovider.c:
10247 * check/pipelines/.cvsignore:
10248 * check/pipelines/cleanup.c:
10249 * check/pipelines/simple_launch_lines.c:
10250 * check/pipelines/stress.c:
10251 * check/states/.cvsignore:
10252 * check/states/sinks.c:
10254 * examples/Makefile.am:
10255 * examples/appreader/.cvsignore:
10256 * examples/appreader/Makefile.am:
10257 * examples/appreader/appreader.c:
10258 * examples/controller/.cvsignore:
10259 * examples/controller/Makefile.am:
10260 * examples/controller/audio-example.c:
10261 * examples/cutter/.cvsignore:
10262 * examples/cutter/Makefile.am:
10263 * examples/cutter/cutter.c:
10264 * examples/cutter/cutter.h:
10265 * examples/events/Makefile.am:
10266 * examples/events/seek.c:
10267 * examples/helloworld/.cvsignore:
10268 * examples/helloworld/Makefile.am:
10269 * examples/helloworld/helloworld.c:
10270 * examples/helloworld2/.cvsignore:
10271 * examples/helloworld2/Makefile.am:
10272 * examples/helloworld2/helloworld2.c:
10273 * examples/launch/.cvsignore:
10274 * examples/launch/Makefile.am:
10275 * examples/launch/mp3parselaunch.c:
10276 * examples/launch/mp3play:
10277 * examples/manual/.cvsignore:
10278 * examples/manual/Makefile.am:
10279 * examples/manual/extract.pl:
10280 * examples/metadata/Makefile.am:
10281 * examples/metadata/read-metadata.c:
10282 * examples/mixer/.cvsignore:
10283 * examples/mixer/Makefile.am:
10284 * examples/mixer/mixer.c:
10285 * examples/mixer/mixer.h:
10286 * examples/pingpong/.cvsignore:
10287 * examples/pingpong/Makefile.am:
10288 * examples/pingpong/pingpong.c:
10289 * examples/plugins/.cvsignore:
10290 * examples/plugins/Makefile.am:
10291 * examples/plugins/example.c:
10292 * examples/plugins/example.h:
10293 * examples/pwg/.cvsignore:
10294 * examples/pwg/Makefile.am:
10295 * examples/pwg/extract.pl:
10296 * examples/queue/.cvsignore:
10297 * examples/queue/Makefile.am:
10298 * examples/queue/queue.c:
10299 * examples/queue2/.cvsignore:
10300 * examples/queue2/Makefile.am:
10301 * examples/queue2/queue2.c:
10302 * examples/queue3/.cvsignore:
10303 * examples/queue3/Makefile.am:
10304 * examples/queue3/queue3.c:
10305 * examples/queue4/.cvsignore:
10306 * examples/queue4/Makefile.am:
10307 * examples/queue4/queue4.c:
10308 * examples/retag/.cvsignore:
10309 * examples/retag/Makefile.am:
10310 * examples/retag/retag.c:
10311 * examples/retag/transcode.c:
10312 * examples/thread/.cvsignore:
10313 * examples/thread/Makefile.am:
10314 * examples/thread/thread.c:
10315 * examples/typefind/.cvsignore:
10316 * examples/typefind/Makefile.am:
10317 * examples/typefind/typefind.c:
10318 * examples/xml/.cvsignore:
10319 * examples/xml/Makefile.am:
10320 * examples/xml/createxml.c:
10321 * examples/xml/runxml.c:
10322 * tests/Makefile.am:
10323 * tests/check/Makefile.am:
10324 * testsuite/.cvsignore:
10325 * testsuite/Makefile.am:
10327 * testsuite/caps/.cvsignore:
10328 * testsuite/caps/Makefile.am:
10329 * testsuite/caps/app_fixate.c:
10330 * testsuite/caps/audioscale.c:
10331 * testsuite/caps/caps.c:
10332 * testsuite/caps/caps.h:
10333 * testsuite/caps/caps_strings:
10334 * testsuite/caps/compatibility.c:
10335 * testsuite/caps/deserialize.c:
10336 * testsuite/caps/enumcaps.c:
10337 * testsuite/caps/eratosthenes.c:
10338 * testsuite/caps/filtercaps.c:
10339 * testsuite/caps/fixed.c:
10340 * testsuite/caps/fraction-convert.c:
10341 * testsuite/caps/fraction-multiply-and-zero.c:
10342 * testsuite/caps/intersect2.c:
10343 * testsuite/caps/intersection.c:
10344 * testsuite/caps/normalisation.c:
10345 * testsuite/caps/random.c:
10346 * testsuite/caps/renegotiate.c:
10347 * testsuite/caps/sets.c:
10348 * testsuite/caps/simplify.c:
10349 * testsuite/caps/string-conversions.c:
10350 * testsuite/caps/structure.c:
10351 * testsuite/caps/subtract.c:
10352 * testsuite/caps/union.c:
10353 * testsuite/debug/.cvsignore:
10354 * testsuite/debug/Makefile.am:
10355 * testsuite/debug/category.c:
10356 * testsuite/debug/commandline.c:
10357 * testsuite/debug/global.c:
10358 * testsuite/debug/output.c:
10359 * testsuite/debug/printf_extension.c:
10360 * testsuite/dlopen/.cvsignore:
10361 * testsuite/dlopen/Makefile.am:
10362 * testsuite/dlopen/dlopen_gst.c:
10363 * testsuite/dlopen/loadgst.c:
10364 * testsuite/elements/.cvsignore:
10365 * testsuite/elements/Makefile.am:
10366 * testsuite/elements/gst-inspect-check.in:
10367 * testsuite/elements/struct_i386.h:
10368 * testsuite/elements/struct_size.c:
10369 * testsuite/indexers/.cvsignore:
10370 * testsuite/indexers/Makefile.am:
10371 * testsuite/indexers/cache1.c:
10372 * testsuite/indexers/indexdump.c:
10373 * testsuite/parse/.cvsignore:
10374 * testsuite/parse/Makefile.am:
10375 * testsuite/parse/parse1.c:
10376 * testsuite/parse/parse2.c:
10377 * testsuite/plugin/.cvsignore:
10378 * testsuite/plugin/Makefile.am:
10379 * testsuite/plugin/README:
10380 * testsuite/plugin/dynamic.c:
10381 * testsuite/plugin/linked.c:
10382 * testsuite/plugin/loading.c:
10383 * testsuite/plugin/registry.c:
10384 * testsuite/plugin/static.c:
10385 * testsuite/plugin/static2.c:
10386 * testsuite/plugin/testplugin.c:
10387 * testsuite/plugin/testplugin2.c:
10388 * testsuite/plugin/testplugin2_s.c:
10389 * testsuite/plugin/testplugin_s.c:
10390 * testsuite/refcounting/.cvsignore:
10391 * testsuite/refcounting/Makefile.am:
10392 * testsuite/refcounting/bin.c:
10393 * testsuite/refcounting/element.c:
10394 * testsuite/refcounting/element_pad.c:
10395 * testsuite/refcounting/mainloop.c:
10396 * testsuite/refcounting/mem.c:
10397 * testsuite/refcounting/mem.h:
10398 * testsuite/refcounting/object.c:
10399 * testsuite/refcounting/pad.c:
10400 * testsuite/refcounting/sched.c:
10401 * testsuite/refcounting/thread.c:
10402 * testsuite/states/.cvsignore:
10403 * testsuite/states/Makefile.am:
10404 * testsuite/states/bin.c:
10405 * testsuite/states/locked.c:
10406 * testsuite/states/parent.c:
10407 * testsuite/threads/.cvsignore:
10408 * testsuite/threads/159566.c:
10409 * testsuite/threads/159852.c:
10410 * testsuite/threads/Makefile.am:
10411 * testsuite/threads/queue.c:
10412 * testsuite/threads/signals.c:
10413 * testsuite/threads/staticrec.c:
10414 * testsuite/threads/thread.c:
10415 * testsuite/threads/threadb.c:
10416 * testsuite/threads/threadc.c:
10417 * testsuite/threads/threadd.c:
10418 * testsuite/threads/threade.c:
10419 * testsuite/threads/threadf.c:
10420 * testsuite/threads/threadg.c:
10421 * testsuite/threads/threadh.c:
10422 * testsuite/threads/threadi.c:
10423 move all of these under tests
10425 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10428 * tests/Makefile.am:
10431 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10433 * docs/gst/gstreamer-sections.txt:
10434 * tests/sched/.cvsignore:
10435 * tests/sched/Makefile.am:
10436 * tests/sched/cases/(fs-fs).xml:
10437 * tests/sched/cases/(fs-i-fs).xml:
10438 * tests/sched/cases/(fs-i-i-fs).xml:
10439 * tests/sched/cases/(fs-i-q[i-fs]).xml:
10440 * tests/sched/dynamic-pipeline.c:
10441 * tests/sched/interrupt1.c:
10442 * tests/sched/interrupt2.c:
10443 * tests/sched/interrupt3.c:
10444 * tests/sched/runtestcases:
10445 * tests/sched/runxml.c:
10446 * tests/sched/sched-stress.c:
10447 * tests/sched/sort.c:
10448 * tests/sched/testcases:
10449 * tests/sched/testcases1.tc:
10450 * tests/seeking/.cvsignore:
10451 * tests/seeking/Makefile.am:
10452 * tests/seeking/seeking1.c:
10453 * tests/threadstate/.cvsignore:
10454 * tests/threadstate/Makefile.am:
10455 * tests/threadstate/test1.c:
10456 * tests/threadstate/test2.c:
10457 * tests/threadstate/threadstate1.c:
10458 * tests/threadstate/threadstate2.c:
10459 * tests/threadstate/threadstate3.c:
10460 * tests/threadstate/threadstate4.c:
10461 * tests/threadstate/threadstate5.c:
10462 remove obsolete tests
10464 * tests/bench-complexity.scm:
10465 * tests/bench-mass_elements.scm:
10466 * tests/complexity.c:
10467 * tests/complexity.gnuplot:
10468 * tests/instantiate/.cvsignore:
10469 * tests/instantiate/Makefile.am:
10470 * tests/instantiate/caps.c:
10471 * tests/mass_elements.c:
10472 * tests/network-clock-utils.scm:
10473 * tests/network-clock.scm:
10475 First pass at cleaning up tests/ dir before moving the rest
10476 Combined with CVS surgery
10478 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10481 queue has moved, update
10483 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10485 * docs/gst/gstreamer-sections.txt:
10486 remove double entries from the docs
10487 * gst/gst_private.h:
10488 * gst/gstinfo.c: (_gst_debug_init):
10489 remove the THREAD debug category
10493 * docs/gst/gstreamer.types:
10494 * plugins/elements/gstqueue.c: (gst_queue_get_type),
10495 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10496 completely move queue and fix up debugging categories
10498 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10500 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10501 make initialization portable, using LL is not
10503 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10505 * win32/common/gstconfig.h:
10508 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10510 * win32/common/libgstreamer.def:
10511 rename symbols; sort base section
10513 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10515 * gst/gstclock.c: (do_linear_regression):
10516 remove crack non-portable handrolled DEBUG macro
10518 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10520 * docs/random/release:
10522 * win32/common/gstenumtypes.c: (register_gst_object_flags),
10523 (gst_object_flags_get_type), (register_gst_bin_flags),
10524 (gst_bin_flags_get_type), (register_gst_buffer_flag),
10525 (gst_buffer_flag_get_type), (register_gst_bus_flags),
10526 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10527 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10528 (gst_caps_flags_get_type), (register_gst_clock_return),
10529 (gst_clock_return_get_type), (register_gst_clock_entry_type),
10530 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10531 (gst_clock_flags_get_type), (register_gst_state),
10532 (gst_state_get_type), (register_gst_state_change_return),
10533 (gst_state_change_return_get_type), (register_gst_state_change),
10534 (gst_state_change_get_type), (register_gst_element_flags),
10535 (gst_element_flags_get_type), (register_gst_core_error),
10536 (gst_core_error_get_type), (register_gst_library_error),
10537 (gst_library_error_get_type), (register_gst_resource_error),
10538 (gst_resource_error_get_type), (register_gst_stream_error),
10539 (gst_stream_error_get_type), (register_gst_event_type_flags),
10540 (gst_event_type_flags_get_type), (register_gst_event_type),
10541 (gst_event_type_get_type), (register_gst_seek_type),
10542 (gst_seek_type_get_type), (register_gst_seek_flags),
10543 (gst_seek_flags_get_type), (register_gst_format),
10544 (gst_format_get_type), (register_gst_index_certainty),
10545 (gst_index_certainty_get_type), (register_gst_index_entry_type),
10546 (gst_index_entry_type_get_type),
10547 (register_gst_index_lookup_method),
10548 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10549 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10550 (gst_index_resolver_method_get_type), (register_gst_index_flags),
10551 (gst_index_flags_get_type), (register_gst_debug_level),
10552 (gst_debug_level_get_type), (register_gst_debug_color_flags),
10553 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10554 (gst_iterator_result_get_type), (register_gst_iterator_item),
10555 (gst_iterator_item_get_type), (register_gst_message_type),
10556 (gst_message_type_get_type), (register_gst_mini_object_flags),
10557 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10558 (gst_pad_link_return_get_type), (register_gst_flow_return),
10559 (gst_flow_return_get_type), (register_gst_activate_mode),
10560 (gst_activate_mode_get_type), (register_gst_pad_direction),
10561 (gst_pad_direction_get_type), (register_gst_pad_flags),
10562 (gst_pad_flags_get_type), (register_gst_pad_presence),
10563 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10564 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10565 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10566 (gst_plugin_error_get_type), (register_gst_plugin_flags),
10567 (gst_plugin_flags_get_type), (register_gst_rank),
10568 (gst_rank_get_type), (register_gst_query_type),
10569 (gst_query_type_get_type), (register_gst_tag_merge_mode),
10570 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10571 (gst_tag_flag_get_type), (register_gst_task_state),
10572 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10573 (gst_alloc_trace_flags_get_type),
10574 (register_gst_type_find_probability),
10575 (gst_type_find_probability_get_type), (register_gst_uri_type),
10576 (gst_uri_type_get_type), (register_gst_parse_error),
10577 (gst_parse_error_get_type):
10578 * win32/common/gstenumtypes.h:
10579 * win32/common/gstversion.h:
10580 update visual studio generated files
10582 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10584 * win32/vs6/libgstbase.dsp:
10585 * win32/vs6/libgstelements.dsp:
10586 update project files for new locations
10588 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10593 reinstate and update
10598 * docs/random/LICENSE:
10601 2005-11-30 Edward Hervey <edward@fluendo.com>
10603 * gst/gsttypefind.c: (gst_type_find_register):
10604 * gst/gsttypefind.h:
10605 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10606 (gst_type_find_factory_dispose):
10607 * gst/gsttypefindfactory.h:
10608 Fix memory leak in GstTypeFindFactory.
10610 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10613 * plugins/elements/Makefile.am:
10614 * plugins/elements/gstelements.c:
10615 * plugins/elements/gstqueue.c:
10616 move queue from core to the elements plugin
10618 2005-11-29 Andy Wingo <wingo@pobox.com>
10620 * libs/gst/base/gstbasetransform.h:
10621 * libs/gst/base/gstbasesrc.h:
10622 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10624 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10625 of pointers by which to pad very extensible base classes (like the
10626 ones in libs/gst/base).
10628 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10630 * docs/gst/gstreamer-docs.sgml:
10631 * docs/gst/gstreamer-sections.txt:
10632 * docs/libs/gstreamer-libs-docs.sgml:
10633 * docs/libs/gstreamer-libs-sections.txt:
10634 moving documentation from core to lib
10636 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10638 * check/Makefile.am:
10640 * docs/gst/Makefile.am:
10642 * gst/base/.cvsignore:
10643 * gst/base/Makefile.am:
10645 * gst/base/gstadapter.c:
10646 * gst/base/gstadapter.h:
10647 * gst/base/gstbasesink.c:
10648 * gst/base/gstbasesink.h:
10649 * gst/base/gstbasesrc.c:
10650 * gst/base/gstbasesrc.h:
10651 * gst/base/gstbasetransform.c:
10652 * gst/base/gstbasetransform.h:
10653 * gst/base/gstcollectpads.c:
10654 * gst/base/gstcollectpads.h:
10655 * gst/base/gstpushsrc.c:
10656 * gst/base/gstpushsrc.h:
10657 * gst/base/gsttypefindhelper.c:
10658 * gst/base/gsttypefindhelper.h:
10659 * gst/check/Makefile.am:
10660 * gst/check/gstcheck.c:
10661 * gst/check/gstcheck.h:
10662 * gst/net/Makefile.am:
10663 * gst/net/gstnet.h:
10664 * gst/net/gstnetclientclock.c:
10665 * gst/net/gstnetclientclock.h:
10666 * gst/net/gstnettimepacket.c:
10667 * gst/net/gstnettimepacket.h:
10668 * gst/net/gstnettimeprovider.c:
10669 * gst/net/gstnettimeprovider.h:
10670 * libs/gst/Makefile.am:
10671 * libs/gst/base/Makefile.am:
10672 * libs/gst/base/gstbasetransform.c:
10673 * libs/gst/check/Makefile.am:
10674 * plugins/elements/Makefile.am:
10676 CVS surgery + support to move base, check, and net out of gst
10679 2005-11-29 Andy Wingo <wingo@pobox.com>
10681 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10683 * gst/gststructure.h (struct _GstStructure): Only one pointer of
10686 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10688 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10690 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10692 * gst/gstobject.h: (struct _GstObject): Only one pointer of
10693 padding; reduces object size by about 30%. We don't expect
10694 anything else to go into gstobject.
10696 * gst/gstminiobject.h (struct _GstMiniObject)
10697 (struct _GstMiniObjectClass): Only one pointer of padding; the
10698 payload is only a pointer and two ints anyway. For the class there
10699 are only two methods as well.
10701 * gst/gstelement.h (struct _GstElementClass): Removed
10702 the state_changed signal callback, it is not used.
10704 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
10706 * docs/gst/gstreamer.types:
10707 fix includes, though they are a little dinky
10709 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10711 * check/Makefile.am:
10712 look in the right place for elements, a lot more chance of
10715 remove indexers and elements subdirs
10716 * plugins/Makefile.am:
10717 make indexers conditional
10719 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10723 * plugins/elements/Makefile.am:
10724 * plugins/elements/gstcapsfilter.c:
10725 * plugins/elements/gstfilesink.c:
10726 * plugins/elements/gstfilesrc.c:
10727 * plugins/elements/gstidentity.c:
10728 * plugins/indexers/Makefile.am:
10729 do CVS surgery and related build fixery to move elements
10730 and indexers in a new gstreamer/plugins directory, out of the
10733 2005-11-29 Andy Wingo <wingo@pobox.com>
10735 * check/Makefile.am:
10736 * pkgconfig/gstreamer-net-uninstalled.pc.in:
10737 * pkgconfig/gstreamer-net.pc.in:
10738 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10741 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
10743 * tools/Makefile.am:
10744 * tools/gst-complete.1.in:
10745 * tools/gst-complete.c:
10746 * tools/gst-compprep.1.in:
10747 * tools/gst-compprep.c:
10748 removing -compprep and -complete
10750 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
10752 * gst/gstevent.c: (gst_event_new_new_segment),
10753 (gst_event_parse_new_segment):
10755 fix #320529 - clean up new_segment API and structure.
10756 Let's hope everyone was using the methods, and not the structure.
10758 2005-11-29 Edward Hervey <edward@fluendo.com>
10760 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10761 (gst_base_sink_event), (gst_base_sink_do_sync),
10762 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10763 Properly handle non GST_FORMAT_TIME segment
10764 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10765 Properly handle non GST_FORMAT_TIME segment
10766 * gst/gstsegment.c:
10767 This function is valid if the accumulator is 0 and the format
10768 is different from the requested format.
10770 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
10772 * docs/gst/gstreamer-sections.txt:
10773 Add gst_query_new_seeking and gst_query_parse_seeking to the
10776 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
10778 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10779 Treat a pad alloc with new caps the same as if we were not
10780 negotiated, in order to allow a changing upstream output
10781 to produce a new format of data.
10783 2005-11-29 Edward Hervey <edward@fluendo.com>
10785 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10786 (gst_base_transform_event), (gst_base_transform_eventfunc):
10787 The event virtual method is now properly implemented, with a default
10789 Sub classes should call the parent_class event method. They should
10790 return FALSE if they had a problem handling the given event, or don't
10791 want GstBaseTransform to send that even downstream
10792 * gst/elements/gstidentity.c: (gst_identity_class_init),
10793 (gst_identity_init), (gst_identity_event),
10794 (gst_identity_transform_ip), (gst_identity_set_property),
10795 (gst_identity_get_property):
10796 * gst/elements/gstidentity.h:
10797 Added the single-segment boolean property.
10798 If set to TRUE, it will output a single segment of data, starting from
10799 0, will eat up all incoming newsegment, and modify the timestamp of the
10800 buffers accordingly
10802 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
10804 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
10805 Don't ref NULL target pad (#322751). Improve docs.
10807 2005-11-29 Michael Smith <msmith@fluendo.com>
10809 * gst/gstregistryxml.c: (load_plugin):
10810 Don't crash if we failed to load a feature from a plugin.
10812 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10814 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10816 use more check API and less GLib API
10818 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10821 don't run checks if we don't have check
10822 * common/check.mak:
10823 remove the registry when running make torture
10824 * docs/gst/gstreamer-sections.txt:
10825 remove second multiply
10826 * gst/gstqueue.c: (gst_queue_loop):
10827 fix a compile warning when disabling debug
10829 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
10832 Hey! Let's print the pad name if the pointer != NULL instead
10833 of when it == NULL :-)
10835 2005-11-28 Wim Taymans <wim@fluendo.com>
10837 * check/gst/gstutils.c: (GST_START_TEST):
10838 Updated check, add some scaling accuracy checking code.
10840 * gst/gstutils.c: (gst_util_div128_64),
10841 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
10842 (gst_util_uint64_scale_int):
10843 Fix 6 times faster division code. Optimize for common
10844 1/1 and less common X/1 cases.
10846 2005-11-28 Wim Taymans <wim@fluendo.com>
10848 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10851 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
10852 (do_linear_regression), (gst_clock_add_observation):
10854 Release lock when the clock cannot be slaved.
10855 Catch the case where the regression returned an invalid denominator.
10857 * gst/gstutils.c: (gst_util_div128_64_iterate),
10858 (gst_util_div128_64), (gst_util_uint64_scale_int64),
10859 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10860 Add protentially more performant non-iterative 128/64 divide function
10861 that unfortunatly does not work yet.
10862 Shortcut the trivial 0/X = 0 case.
10863 Remove the warnings on overflow.
10865 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10867 * gst/gstplugin.c: (gst_plugin_register_func):
10868 everything causing a plugin not to load should be at least a WARNING
10870 2005-11-28 Stefan Kost <ensonic@users.sf.net>
10872 * docs/random/ensonic/dparams.txt:
10873 some TODOs for the next dev cycle
10874 * libs/gst/controller/gstcontroller.c:
10875 (gst_controlled_property_set_interpolation_mode),
10876 (gst_controlled_property_new):
10877 * libs/gst/controller/gstcontroller.h:
10878 use base type to assign acccessor functions
10880 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
10882 * check/Makefile.am:
10883 Oops, that should have been top_srcdir
10885 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
10887 * check/Makefile.am:
10888 * check/elements/fdsrc.c: (GST_START_TEST):
10889 Use a cmdline define to specify the location of a file to use for
10890 testing, to avoid breaking distcheck.
10892 2005-11-28 Andy Wingo <wingo@pobox.com>
10894 * gst/gstpad.c (fixate_value): Use array functions for arrays.
10896 2005-11-28 Edward Hervey <edward@fluendo.com>
10898 * tools/gst-launch.c: (main):
10899 Clarify the output strings, makes it easier to translate.
10902 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10905 don't try and build net if we don't even have <sys/socket.h>
10907 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
10909 * check/Makefile.am:
10910 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
10911 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
10912 Add tests for fdsrc seekability
10914 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10915 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
10916 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
10917 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
10918 * gst/elements/gstfdsrc.h:
10919 fdsrc should not be a 'live' source.
10920 Implement seeking on seekable fd's.
10922 * gst/gstquery.c: (gst_query_new_seeking),
10923 (gst_query_parse_seeking):
10925 Implement SEEKING query functions:
10926 *_new_seeking and *_parse_seeking
10928 2005-11-27 Stefan Kost <ensonic@users.sf.net>
10930 * gst/gstelement.c: (gst_element_dispose):
10933 * gst/gstiterator.c:
10934 * gst/gststructure.c:
10937 * libs/gst/controller/gstcontroller.c:
10938 (gst_controlled_property_set_interpolation_mode):
10939 * libs/gst/controller/gstcontroller.h:
10940 * libs/gst/controller/gstinterpolation.c:
10941 (interpolate_none_get_enum_value_array):
10942 support controlling enums
10944 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
10947 Improve documentation for gst_value_union().
10950 Change return value for union, intersect and subtract functions
10951 from gint to gboolean.
10953 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
10955 * gst/gstvalue.c: (gst_value_serialize_any_list),
10956 (gst_value_transform_any_list_string),
10957 (gst_value_deserialize_list), (gst_value_deserialize_array),
10958 (gst_value_set_int_range), (gst_value_deserialize_int_range),
10959 (gst_value_set_double_range), (gst_value_deserialize_double_range),
10960 (gst_value_set_fraction_range_full),
10961 (gst_value_deserialize_fraction_range),
10962 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
10963 (gst_value_deserialize_boolean),
10964 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
10965 (gst_value_serialize_float), (gst_value_deserialize_float),
10966 (gst_string_wrap), (gst_value_deserialize_string),
10967 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
10968 (gst_value_union_int_range_int_range),
10969 (gst_value_intersect_int_range_int_range),
10970 (gst_value_intersect_double_range_double_range),
10971 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10972 (gst_value_subtract_int_range_int_range),
10973 (gst_value_subtract_double_double_range),
10974 (gst_value_subtract_double_range_double_range),
10975 (gst_value_deserialize_fraction):
10977 Use gint, gdouble and gchar in our API instead of int, double and
10978 char (and make usage in gstvalue.c more consistent).
10980 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
10982 * check/Makefile.am:
10983 * libs/gst/controller/Makefile.am:
10984 * libs/gst/dataprotocol/Makefile.am:
10985 fix up Makefile.am and remove GST_ENABLE_NEW
10987 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
10991 * gst/base/Makefile.am:
10992 * gst/check/Makefile.am:
10993 * gst/elements/Makefile.am:
10994 * gst/net/Makefile.am:
10995 update LDFLAGS use some more
10997 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
10999 * common/m4/gst-doc.m4:
11002 2005-11-26 Edward Hervey <edward@fluendo.com>
11004 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11005 This shouldn't issue a g_warning since it returns NULL if it
11006 couldn't find the plugin, and all functions using this behave
11007 properly on a NULL return. Switching to a GST_WARNING.
11009 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
11011 * gst/gstbin.c: (gst_bin_handle_message_func):
11012 Don't leak clock messages.
11014 2005-11-25 Wim Taymans <wim@fluendo.com>
11016 * gst/gstutils.c: (gst_util_uint64_scale_int64),
11017 (gst_util_uint64_scale_int):
11018 Optimisations, remove unneeded vars.
11020 2005-11-25 Wim Taymans <wim@fluendo.com>
11022 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11023 Added more checks for the high precision uint64 cases.
11025 * gst/gstutils.c: (gst_util_uint64_scale_int64),
11026 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11027 Implement high precision (guint64 * guint64) / guint64.
11029 2005-11-24 Wim Taymans <wim@fluendo.com>
11031 * gst/base/gstbasesrc.c: (gst_base_src_query):
11032 Fix wrong percentage query.
11034 * gst/gstutils.c: (gst_util_uint64_scale),
11035 (gst_util_uint64_scale_int):
11036 Add some more common cases that can be handled
11037 efficiently to _scale.
11039 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
11041 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
11042 (gst_mini_object_suite):
11043 don't use check calls from threads; check probably isn't
11044 threadsafe and using a lock to make it threadsafe would
11045 defeat the purpose of this check
11046 * gst/check/gstcheck.c:
11047 * gst/check/gstcheck.h:
11048 use GST_DEBUG some more
11050 2005-11-24 Wim Taymans <wim@fluendo.com>
11052 * gst/gstutils.c: (gst_util_uint64_scale),
11053 (gst_util_uint64_scale_int):
11054 Chain trivial case to _scale_int.
11056 2005-11-24 Wim Taymans <wim@fluendo.com>
11058 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11059 Added test for scaling.
11064 * gst/gstutils.c: (gst_util_uint64_scale_int):
11065 Implemented high precision scaling code.
11067 2005-11-24 Stefan Kost <ensonic@users.sf.net>
11070 do not crash on pad==NULL
11072 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
11074 Patch by: Stefan Kost
11076 * common/gtk-doc.mak:
11077 * docs/gst/Makefile.am:
11078 * docs/libs/Makefile.am:
11079 Fix distcheck issues for the libraries docs build
11082 2005-11-24 Michael Smith <msmith@fluendo.com>
11084 * docs/manual/basics-helloworld.xml:
11085 Fix bug #315027: memory leak in example code in docs.
11087 2005-11-24 Michael Smith <msmith@fluendo.com>
11089 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11090 Unlock the PREROLL_LOCK in a failure case.
11092 2005-11-24 Wim Taymans <wim@fluendo.com>
11094 * docs/gst/gstreamer-sections.txt:
11095 * gst/base/gstadapter.h:
11096 * gst/base/gstbasesink.h:
11097 * gst/base/gstbasesrc.h:
11098 * gst/base/gstbasetransform.h:
11099 * gst/base/gstpushsrc.h:
11100 * gst/elements/gstfakesink.h:
11101 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
11102 * gst/elements/gstfakesrc.h:
11103 * gst/elements/gstfilesink.h:
11104 * gst/elements/gstfilesrc.h:
11107 * gst/gstbuffer.c: (_gst_buffer_copy):
11110 * gst/gstchildproxy.c:
11112 * gst/gstelement.c:
11113 * gst/gstelementfactory.c:
11114 * gst/gstelementfactory.h:
11116 * gst/gstghostpad.h:
11118 * gst/gstinterface.h:
11119 * gst/gstminiobject.c:
11120 * gst/gstminiobject.h:
11123 * gst/gstpadtemplate.h:
11124 * gst/gstpipeline.h:
11125 * gst/gstpluginfeature.h:
11128 * gst/gsttaglist.c:
11129 * gst/gsttaglist.h:
11130 * gst/gsttagsetter.c:
11131 * gst/gsttagsetter.h:
11134 * gst/gsttypefind.h:
11137 * gst/net/gstnetclientclock.c:
11138 * gst/net/gstnetclientclock.h:
11139 * gst/net/gstnettimepacket.c:
11140 * gst/net/gstnettimeprovider.c:
11141 * gst/net/gstnettimeprovider.h:
11144 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
11146 * configure.ac: back to HEAD
11148 === release 0.9.6 ===
11150 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
11153 releasing 0.9.6, "Always On Time"
11155 2005-11-23 Wim Taymans <wim@fluendo.com>
11157 * docs/gst/gstreamer-sections.txt:
11158 * gst/glib-compat.c:
11159 * gst/gsttagsetter.c:
11161 * gst/net/gstnetclientclock.c:
11162 * gst/net/gstnettimepacket.h:
11165 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
11167 * docs/faq/using.xml:
11168 * docs/libs/tmpl/gstcontrol.sgml:
11169 * docs/manual/advanced-dparams.xml:
11170 * docs/manual/appendix-checklist.xml:
11171 * docs/manual/basics-elements.xml:
11172 * docs/pwg/other-source.xml:
11173 * docs/random/moving-plugins:
11175 * tools/gst-launch.1.in:
11176 remove mentions of sinesrc
11178 2005-11-23 Michael Smith <msmith@fluendo.com>
11180 * docs/gst/gstreamer-sections.txt:
11181 Update for new API and API changes.
11183 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
11185 Documentation typo fix.
11186 * gst/net/gstnettimepacket.c:
11187 Documentation fixes for arguments.
11189 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
11191 * gst/gststructure.c: (gst_structure_get_fraction),
11192 (gst_structure_parse_value),
11193 (gst_structure_fixate_field_nearest_fraction):
11194 * gst/gststructure.h:
11195 * gst/gstutils.c: (gst_util_uint64_scale_int):
11197 * scripts/update-funcnames:
11199 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
11200 Make gst_structure_fixate_field_nearest_fraction take a numerator
11201 and denominator argument instead of a GValue
11202 add gst_structure_get_fraction helper function.
11204 2005-11-23 Wim Taymans <wim@fluendo.com>
11206 * docs/design/part-TODO.txt:
11209 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11210 * gst/net/gstnetclientclock.h:
11211 Use parent fields for timeout and window_size.
11213 2005-11-23 Andy Wingo <wingo@pobox.com>
11215 * check/net/gstnetclientclock.c (test_functioning): Adjust to
11216 rate_num/rate_denom change.
11218 * gst/net/gstnetclientclock.c
11219 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
11220 OBJECT_LOCK. Don't call add_observation with the lock.
11222 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
11224 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
11226 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
11227 deal with rate as a fraction whose numerator and denominator are
11228 GstClockTime values.
11229 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
11230 master; the other fields are protected by the SLAVE_LOCK.
11231 (do_linear_regression): Note that this must be called with the
11233 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
11234 OBJECT_LOCK. Call set_calibration instead of touching the
11235 variables directly.
11236 (gst_clock_set_property, gst_clock_get_property): Protect
11237 master/slave parameters with the SLAVE_LOCK.
11239 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
11240 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
11241 note that all of the instance variables that add_observation and
11242 the set_master functions use are protected by that lock and not
11244 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
11246 * gst/gstclock.c (gst_clock_add_observation): No longer requires
11247 the caller to take the object lock.
11249 2005-11-23 Wim Taymans <wim@fluendo.com>
11251 * gst/gsterror.c: (_gst_core_errors_init):
11253 Add error for clock stuff.
11255 * gst/gstpipeline.c: (gst_pipeline_change_state),
11256 (gst_pipeline_set_clock):
11257 Post clock error when clock cannot be used in a pipeline.
11259 2005-11-23 Stefan Kost <ensonic@users.sf.net>
11261 * docs/gst/gstreamer-sections.txt:
11262 make two symbols from gstinfo private for the docs
11263 * gst/base/gstcollectpads.h:
11265 fix doc typos, update docs
11267 2005-11-22 Wim Taymans <wim@fluendo.com>
11269 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11270 (gst_base_sink_wait), (gst_base_sink_do_sync),
11271 (gst_base_sink_handle_event):
11272 * gst/base/gstbasesink.h:
11273 No need to store the clock, the parent element class already
11276 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
11277 Updates for clock_set returning a gboolean
11279 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
11280 (gst_clock_id_wait_async), (gst_clock_class_init),
11281 (gst_clock_init), (gst_clock_finalize),
11282 (gst_clock_get_internal_time), (gst_clock_get_time),
11283 (gst_clock_slave_callback), (gst_clock_set_master),
11284 (gst_clock_get_master), (do_linear_regression),
11285 (gst_clock_add_observation), (gst_clock_set_property),
11286 (gst_clock_get_property):
11288 Implement master/slave. When setting a clock as a slave, a
11289 periodic timeout is scheduled to sample master and slave times.
11290 Then the slave clock is recalibrated to match offset and rate
11291 of the master clock.
11292 Update logging a bit.
11293 Add flag so that a clock can state that is cannot be slaved to
11296 * gst/gstelement.c: (gst_element_set_clock):
11297 * gst/gstelement.h:
11298 The set clock returns a gboolean for when an element cannot
11299 deal with the selected clock in the pipeline.
11301 * gst/gstpipeline.c: (gst_pipeline_change_state),
11302 (gst_pipeline_set_clock):
11303 * gst/gstpipeline.h:
11304 Handle the case where the selected clock cannot be set on
11307 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11308 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11309 (gst_net_client_clock_set_property),
11310 (gst_net_client_clock_get_property),
11311 (gst_net_client_clock_observe_times):
11312 * gst/net/gstnetclientclock.h:
11313 Use regression code in GstClock parent, remove duplicated
11316 2005-11-22 Michael Smith <msmith@fluendo.com>
11318 * gst/gstutils.c: (gst_util_clock_time_scale):
11320 * docs/gst/gstreamer-sections.txt:
11321 Rename method to have extra underscore.
11323 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
11325 * gst/elements/Makefile.am:
11326 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11327 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11328 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11329 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11330 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11331 * gst/elements/gstfakesrc.h:
11332 * gst/gstqueue.c: (queue_leaky_get_type):
11333 correctly fix GEnumValues so that nick is the short lowercase
11335 * tools/gst-inspect.c: (print_element_properties_info):
11336 also show the nick, since it's useful to use from parse_launch
11340 2005-11-22 Michael Smith <msmith@fluendo.com>
11342 * gst/gstutils.c: (gst_util_clocktime_scale):
11344 * docs/gst/gstreamer-sections.txt:
11345 Add util method for scaling a clocktime by a fraction. Useful
11346 implementation is left as an exercise for the reader.
11348 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11350 * gst/gstvalue.c: (gst_value_collect_fraction_range):
11351 If needed, allocate storage in the destination value during
11354 2005-11-22 Edward Hervey <edward@fluendo.com>
11356 * docs/gst/gstreamer-sections.txt:
11359 * gst/gsturitype.c:
11360 * gst/gsturitype.h:
11361 * gst/gstutils.c: (gst_util_set_object_arg):
11362 * tools/gst-compprep.c: (main):
11363 * tools/gst-inspect.c: (print_element_properties_info):
11364 Removed GstURI, closes bug #321061
11366 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11368 * check/gst/gststructure.c: (GST_START_TEST):
11369 * gst/gststructure.c: (gst_structure_parse_value):
11370 Oops, broke automatic string type parsing.
11371 Add a test to catch it in future.
11373 2005-11-22 Andy Wingo <wingo@pobox.com>
11375 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
11376 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11377 Actually rename the function implementations. Grr.
11379 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11381 * check/gst/capslist.h:
11383 * check/gst/gststructure.c: (GST_START_TEST),
11384 (gst_structure_suite):
11385 Test automatic value type detection in gst_structure_from_string.
11386 * gst/gststructure.c: (gst_structure_parse_value):
11387 Add fraction as a type we try and guess automatically in
11388 caps/structure strings.
11390 2005-11-22 Andy Wingo <wingo@pobox.com>
11392 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11394 * gst/gsttagsetter.h:
11395 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11396 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11397 (gst_tag_setter_add_tag_valist)
11398 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11399 _add_values, _add_valist, and _add_valist_values. Since this is an
11400 interface the function suffixes should be more explicit so
11401 language binding don't end up with element.add_valist ->
11402 gst_tag_setter_add_valist, for example. Fixes #322069.
11404 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11406 * check/gst/gstcaps.c: (GST_START_TEST):
11407 Extend caps string tests to check that a caps to string
11408 conversion is reversible and produces the same caps.
11410 * gst/gststructure.c: (gst_structure_value_get_generic_type):
11411 Output "fraction" as the generic type fraction range, so caps
11412 serialisation and deserialisation works.
11413 * check/gst/capslist.h:
11414 * gst/gstvalue.c: (gst_value_deserialize_fraction):
11415 Support 'MIN' and 'MAX' for deserialising fractions.
11417 2005-11-22 Andy Wingo <wingo@pobox.com>
11419 * gst/gstevent.h (gst_event_new_new_segment)
11420 (gst_event_parse_new_segment, gst_event_new_buffer_size)
11421 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11422 Renamed from *_newsegment, *_buffersize, *_notarget.
11424 * scripts/update-funcnames: New script, performs the changes
11427 2005-11-22 Wim Taymans <wim@fluendo.com>
11429 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11430 Make sure the GstFlowReturn is returned.
11432 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11433 (gst_bus_add_signal_watch):
11435 add gst_bus_add_signal_watch_full.
11437 * gst/gstplugin.c: (gst_plugin_load_file):
11438 Small style cleanup.
11440 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11442 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11443 Block the fakesrc srcpad when we send an event, to avoid
11444 contention on the stream_lock causing random test failures.
11446 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11448 * check/gst/gstvalue.c: (GST_START_TEST):
11449 * gst/gstvalue.c: (gst_value_fraction_subtract):
11452 2005-11-22 Stefan Kost <ensonic@users.sf.net>
11455 include "gstchildproxy.h"
11456 * gst/gstchildproxy.h:
11457 * libs/gst/controller/gstcontroller.h:
11458 use G_GNUC_NULL_TERMINATED
11460 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11462 * check/gst/capslist.h:
11463 * check/gst/gstcaps.c: (GST_START_TEST):
11464 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11465 * gst/gststructure.c: (gst_structure_parse_range),
11466 (gst_structure_fixate_field_nearest_fraction):
11467 * gst/gststructure.h:
11468 * gst/gstvalue.c: (gst_value_init_fraction_range),
11469 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11470 (gst_value_collect_fraction_range),
11471 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11472 (gst_value_set_fraction_range_full),
11473 (gst_value_get_fraction_range_min),
11474 (gst_value_get_fraction_range_max),
11475 (gst_value_serialize_fraction_range),
11476 (gst_value_transform_fraction_range_string),
11477 (gst_value_compare_fraction_range),
11478 (gst_value_deserialize_fraction_range),
11479 (gst_value_intersect_fraction_fraction_range),
11480 (gst_value_intersect_fraction_range_fraction_range),
11481 (gst_value_subtract_fraction_fraction_range),
11482 (gst_value_subtract_fraction_range_fraction),
11483 (gst_value_subtract_fraction_range_fraction_range),
11484 (gst_value_collect_fraction), (gst_value_fraction_multiply),
11485 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11486 (gst_value_transform_string_fraction), (_gst_value_initialize):
11488 Implement fraction ranges and extend GstFraction to support
11489 arithmetic subtraction, as well as deserialization from integer
11490 strings such as "100"
11491 Add a testsuite as for int and double range set operations
11493 2005-11-21 Andy Wingo <wingo@pobox.com>
11495 * gst/gsttaglist.h:
11497 * gst/gststructure.h: Add glib-compat.h.
11499 2005-11-21 Wim Taymans <wim@fluendo.com>
11501 * gst/gstbin.c: (gst_bin_change_state_func):
11504 2005-11-21 Wim Taymans <wim@fluendo.com>
11506 * gst/gstsegment.h:
11507 And add a nice define too.
11509 2005-11-21 Wim Taymans <wim@fluendo.com>
11511 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11512 (gst_segment_new), (gst_segment_free), (gst_segment_init),
11513 (gst_segment_set_duration), (gst_segment_set_last_stop),
11514 (gst_segment_set_seek), (gst_segment_set_newsegment),
11515 (gst_segment_to_stream_time), (gst_segment_to_running_time),
11516 (gst_segment_clip):
11517 * gst/gstsegment.h:
11518 Make binding friendly.
11520 2005-11-21 Andy Wingo <wingo@pobox.com>
11522 * gst/gsttagsetter.h:
11523 * gst/gsttaglist.h:
11524 * gst/gststructure.h:
11526 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11529 * gst/gsterror.c (_gst_core_errors_init):
11530 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11533 * gst/Makefile.am (gst_headers): Add glib-compat.h.
11534 (noinst_HEADERS): noinst the -private.
11536 2005-11-21 Michael Smith <msmith@fluendo.com>
11539 * gst/gstregistry.h:
11540 Remove unimplemented declarations for which we can see no sensible
11543 2005-11-21 Andy Wingo <wingo@pobox.com>
11545 * gst/gst.h: Include glib-compat.h.
11547 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11549 * gst/glib-compat.c: Include the public and the private header.
11551 * gst/glib-compat-private.h: Copied here from glib-compat.h.
11555 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11557 * check/gst/gstevent.c (create_custom_events): Check that
11558 FLUSH_STOP is serialized.
11560 * check/elements/identity.c (event_func):
11561 * check/elements/fakesrc.c (event_func): No stream lock, the core
11564 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11565 stream lock taking, yay.
11567 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11568 ensure that core takes the stream lock.
11570 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11573 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11574 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11575 it already. For the flush start we do take it though so we get the
11576 right preroll state change messages.
11578 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11579 the stream lock here, the core does it for us.
11581 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11582 GST_STREAM_GET_LOCK.
11583 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
11584 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
11585 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11586 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11587 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
11588 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11590 * gst/gstpad.c: Update for stream lock name change.
11592 * gst/base/gstbasesink.c: Update for preroll lock name change.
11594 2005-11-21 Wim Taymans <wim@fluendo.com>
11596 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11597 (gst_clock_get_master):
11599 * gst/gstsystemclock.c: (gst_system_clock_init):
11600 Convert Clock flags to object flags.
11601 Added methods to manage master/slave clocks.
11603 2005-11-21 Wim Taymans <wim@fluendo.com>
11605 * check/gst/gstsegment.c: (GST_START_TEST):
11606 * docs/design/part-TODO.txt:
11607 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11608 (gst_base_sink_event), (gst_base_sink_do_sync),
11609 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11610 (gst_base_sink_query), (gst_base_sink_change_state):
11611 * gst/base/gstbasesink.h:
11612 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11613 (gst_base_src_default_newsegment),
11614 (gst_base_src_configure_segment), (gst_base_src_do_seek),
11615 (gst_base_src_get_range), (gst_base_src_loop),
11616 (gst_base_src_change_state):
11617 * gst/base/gstbasesrc.h:
11618 * gst/base/gstbasetransform.c:
11619 (gst_base_transform_prepare_output_buf),
11620 (gst_base_transform_event), (gst_base_transform_change_state):
11621 * gst/base/gstbasetransform.h:
11622 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11623 (gst_collect_pads_event):
11624 * gst/base/gstcollectpads.h:
11625 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11626 (gst_fake_src_create):
11627 * gst/elements/gstfakesrc.h:
11628 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11629 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11630 (gst_segment_set_last_stop), (gst_segment_set_seek),
11631 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11632 (gst_segment_to_running_time), (gst_segment_clip):
11633 * gst/gstsegment.h:
11634 More segment updates, replace code in plugins with segment
11637 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
11639 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11640 Don't ignore sscanf results
11642 2005-11-21 Andy Wingo <wingo@pobox.com>
11644 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11647 * *.c: Ran scripts/update-macros. Oh yes.
11649 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11650 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11653 * scripts/update-macros: New script. Run it on your files to
11654 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11657 2005-11-21 Stefan Kost <ensonic@users.sf.net>
11659 * docs/gst/Makefile.am:
11660 * docs/gst/gstreamer-docs.sgml:
11661 * docs/gst/gstreamer-sections.txt:
11662 * docs/gst/gstreamer.types:
11664 more docs fixes, add new api to the docs
11666 2005-11-21 Andy Wingo <wingo@pobox.com>
11668 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11669 state_broadcast call.
11671 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11673 2005-11-21 Julien MOUTTE <julien@moutte.net>
11675 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11676 function calls for arrays.
11678 2005-11-21 Stefan Kost <ensonic@users.sf.net>
11680 * docs/random/ensonic/media-device-daemon.txt:
11681 wild idea, can this be done?
11682 * docs/gst/gstreamer-sections.txt:
11687 * gst/gstpluginfeature.c:
11691 doc fixes and additions
11693 2005-11-21 Andy Wingo <wingo@pobox.com>
11695 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
11696 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
11697 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
11698 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11699 private to the basesrc implementation.
11701 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11702 behalf of event function if necessary. It should no longer be
11703 necessary to take the stream lock in pad's event functions. Fixes
11706 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
11707 * docs/gst/gstreamer-sections.txt:
11708 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11709 (gst_structure_fixate_field_nearest_double),
11710 (gst_structure_fixate_field_boolean):
11711 * gst/gststructure.h:
11712 * win32/common/libgstreamer.def:
11713 * win32/gstreamer.def:
11715 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11718 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
11720 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11721 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11722 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11723 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11724 (gst_fdsrc_uri_handler_init):
11725 * gst/elements/gstfdsrc.h:
11726 Port fd:// URI handler from 0.8 to fdsrc
11728 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11730 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11731 (gst_value_serialize_fourcc):
11733 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11734 consistent with our other format defines (#320324).
11736 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11738 * gst/gstvalue.c: (gst_value_is_fixed):
11739 Revert previous commit. Value lists are by definition
11740 not fixed, as they are a list of possible values.
11742 2005-11-21 Andy Wingo <wingo@pobox.com>
11744 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11745 during the stable series if we need it. Fixes #319178.
11747 * gst/gstevent.c (gst_event_new_filler): Removed.
11749 * check/gst/gstevent.c: Update comment about filler events.
11751 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11753 * gst/gstvalue.c: (gst_value_is_fixed):
11754 Should handle both value arrays and value lists.
11756 2005-11-21 Andy Wingo <wingo@pobox.com>
11758 patch by: Alessandro Dessina <alessandro nnva org>
11760 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11761 functions to access arrays. Fixes #321962.
11763 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11765 * docs/gst/gstreamer.types:
11766 gst_collectpads_get_type => gst_collect_pads_get_type.
11768 * gst/base/gstbasetransform.c:
11769 Remove unused SIGNAL_HANDOFF enum.
11771 2005-11-21 Andy Wingo <wingo@pobox.com>
11773 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11774 the event type (upstream, downstream, serialized). Renamed
11775 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11776 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11777 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11779 * gst/gstevent.c: Update for new CUSTOM event names.
11781 * check/gst/gstevent.c: Update check for new CUSTOM event names.
11784 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
11787 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11789 * docs/gst/gstreamer-sections.txt:
11790 * win32/common/libgstbase.def:
11791 * win32/libgstbase.def:
11792 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11793 (gst_collect_pads_class_init), (gst_collect_pads_init),
11794 (gst_collect_pads_finalize), (gst_collect_pads_new),
11795 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
11796 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
11797 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
11798 (gst_collect_pads_start), (gst_collect_pads_stop),
11799 (gst_collect_pads_peek), (gst_collect_pads_pop),
11800 (gst_collect_pads_available), (gst_collect_pads_read),
11801 (gst_collect_pads_flush), (gst_collect_pads_event),
11802 (gst_collect_pads_chain):
11803 * gst/base/gstcollectpads.h:
11804 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
11805 unimplemented functions as unimplemented. Add padding to
11806 GstCollectData. (#320766, #320423)
11808 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11810 * gst/gstmessage.c:
11811 Improve docs for DURATION message (usage of duration parameter)
11814 2005-11-20 Wim Taymans <wim@fluendo.com>
11816 * check/Makefile.am:
11817 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
11821 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11822 (gst_segment_set_seek), (gst_segment_set_newsegment),
11823 (gst_segment_to_stream_time), (gst_segment_to_running_time),
11824 (gst_segment_clip):
11825 * gst/gstsegment.h:
11826 Added segment helper structure and methods. Not fully implemented
11828 Added segment check.
11830 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
11832 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11833 Add a deserialisation test for fractions
11834 * examples/metadata/read-metadata.c: (message_loop),
11835 (make_pipeline), (main):
11836 Fix up metadata reading sample.
11837 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11839 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11840 Don't try and fixate empty caps
11841 * gst/gst_private.h:
11842 Wrap in G_BEGIN_DECLS/G_END_DECLS
11843 * gst/gstvalue.c: (gst_value_collect_fraction),
11844 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
11845 (gst_value_transform_string_fraction),
11846 (gst_value_compare_fraction):
11847 Add some extra guards to ensure that we don't end up
11848 with an invalid denominator of 0 in a gstfraction and
11849 that fractions always get reduced.
11851 2005-11-20 Wim Taymans <wim@fluendo.com>
11853 * docs/gst/gstreamer-sections.txt:
11855 * gst/gstelement.c:
11864 2005-11-20 Wim Taymans <wim@fluendo.com>
11866 * docs/design/part-TODO.txt:
11868 Make a proper enum of the flag.
11870 2005-11-19 Wim Taymans <wim@fluendo.com>
11872 * docs/design/part-TODO.txt:
11873 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
11874 (gst_format_to_quark), (gst_format_register):
11876 * gst/gstquery.c: (_gst_query_initialize),
11877 (gst_query_type_get_name), (gst_query_type_to_quark),
11878 (gst_query_type_register):
11880 Add type to quark and type to string conversions.
11882 2005-11-19 Andy Wingo <wingo@pobox.com>
11884 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
11887 2005-11-19 Wim Taymans <wim@fluendo.com>
11889 * docs/design/part-TODO.txt:
11890 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11891 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
11892 (gst_bin_handle_message_func):
11894 Make message handling overridable.
11896 2005-11-19 Andy Wingo <wingo@pobox.com>
11898 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
11901 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
11903 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
11904 is a GstClockTime. Fixes #321710.
11906 * gst/gstclock.h (GstClock): Remove offset property. Add
11907 internal_calibration and external_calibration. Fix padding. Pad
11908 also by GstClockTime so we don't run into problems.
11910 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
11911 (gst_clock_get_rate_offset): Remove.
11912 (gst_clock_set_time_adjust): Remove. Fixes #321712.
11915 * gst/gstutils.c (g_static_rec_cond_wait)
11916 (g_static_rec_cond_timed_wait): Removed, no longer needed.
11918 * gst/gstbin.c: Remove terrible continue_state prototype.
11920 * gst/gstelement.h (gst_element_continue_state): Make public.
11922 * gst/gstelement.h:
11923 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
11924 by continue_state. Fixes #319389.
11926 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
11927 Really fixes #168438. However I don't see anywhere where the
11928 filter function is called... stupid GStreamer...
11930 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
11931 don't have a dispose function, so it won't get called when the
11932 object is unreffed, but oh well!
11934 * gst/gstindex.c (gst_index_set_filter_full): New API function,
11935 allows a destroy function to be set so user_data can be freed.
11937 (gst_index_set_filter): Call gst_index_set_filter_full.
11939 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
11941 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
11942 string should produce an error, given the lack of a way to
11943 represent NULL strings. Fixes #165650.
11946 * gst/gstvalue.c (gst_value_array_append_value)
11947 (gst_value_array_prepend_value, gst_value_array_get_size)
11948 (gst_value_array_get_value): New API, copied from
11949 gst_value_list_*, only operates on arrays.
11950 (gst_value_list_append_value, gst_value_list_prepend_value)
11951 (gst_value_list_concat, gst_value_list_get_size)
11952 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
11954 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
11955 init_list, because it works on both.
11956 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
11957 (gst_value_copy_list_or_array): Renamed from copy_list.
11958 (gst_value_free_list_or_array): Renamed from free_list.
11959 (gst_value_collect_list_or_array): Renamed from collect_list.
11960 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
11961 (gst_value_list_or_array_peek_pointer): Renamed from
11963 (_gst_value_array_value_table, _gst_value_list_value_table):
11964 Update value table functions.
11965 (gst_value_compare_list_or_array): Renamed from compare_list.
11967 * gsttaglist.h: Whoops, foreach function returns void. Also fix
11970 * gst/gsttaglist.c:
11971 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
11972 GstTagList*. Fixes #143472.
11974 * gst/gststructure.h: Clarify what the foreach/map functions can
11975 or can't do to their arguments.
11977 2005-11-18 Wim Taymans <wim@fluendo.com>
11979 * gst/gstclock.c: (gst_clock_set_calibration),
11980 (gst_clock_get_calibration):
11982 Calibration can be set with internal time equal to current
11985 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
11991 2005-11-18 Andy Wingo <wingo@pobox.com>
11994 * pkgconfig/gstreamer-net.pc.in:
11995 * pkgconfig/gstreamer-net-uninstalled.pc.in:
11996 * pkgconfig/Makefile.am: Add net pkgconfig files.
11998 2005-11-18 Stefan Kost <ensonic@users.sf.net>
12001 * gst/gstghostpad.c:
12007 2005-11-18 Andy Wingo <wingo@pobox.com>
12009 * gst/net/gstnetclientclock.c: Turn off debugging.
12011 * check/net/gstnetclientclock.c (test_functioning): Assert that the
12012 times connverge somewhat. Can't make a real test.
12014 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
12015 integer arithmetic. Return the minimum of the domain, which can be
12016 set as "internal" for gst_clock_set_calibration.
12017 (gst_net_client_clock_observe_times): Call _set_calibration.
12018 (gst_net_client_clock_new): Call _set_calibration instead of
12021 * check/net/gstnetclientclock.c (test_functioning): Use the right
12025 * gst/gstclock.c (gst_clock_get_calibration)
12026 (gst_clock_set_calibration): New functions, obsolete the ones I
12027 added yesterday. Doh. Precision issues mean we have to extrapolate
12028 from a point in the more recent past than 1970.
12029 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
12031 (gst_clock_adjust_unlocked): Use the right calibration data.
12033 2005-11-18 Edward Hervey <edward@fluendo.com>
12035 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12036 Also reset the ->current_* values in READY->PAUSED
12038 2005-11-18 Andy Wingo <wingo@pobox.com>
12040 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
12041 Whoops, check the right fd. Also add some debugging.
12042 (gst_net_client_clock_observe_times): Adjust for int64 offset.
12043 (do_linear_regression): Add a crapload of debugging. Subtract off
12044 the minimum values from the input series to discard unneeded bits.
12045 Use only int arithmetic. There is still double arithmetic when
12046 calculating the intercept that needs fixing. Return boolean to
12047 indicate success; FALSE would mean the domain or range is too
12048 great. Still needs fixes.
12050 2005-11-18 Wim Taymans <wim@fluendo.com>
12052 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12053 For the current position in stream time, we need to subtract
12056 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12057 Release lock before calling the callback function of async
12060 2005-11-18 Andy Wingo <wingo@pobox.com>
12062 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
12063 Port goes all the way to MAXUINT16.
12065 * gst/net/gstnettimeprovider.c: Make the port range the same as
12066 for the kernel: 0 assigns, otherwise ports are less than
12069 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
12072 * check/net/gstnetclientclock.c (test_functioning): Add the start
12075 2005-11-18 Wim Taymans <wim@fluendo.com>
12077 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
12078 (gst_bin_remove_func), (bin_bus_handler):
12080 Removing a clock provider from a bin, triggers a clock lost message
12081 so that a new clock will be selected.
12082 Adding a clock to a bin triggers a clock provider message.
12083 Make sure we reselect a clock when we received a clock lost message.
12084 Keep a reference to the element that provided the clock.
12086 2005-11-18 Andy Wingo <wingo@pobox.com>
12088 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
12089 the clock initially so it produces values around the base time.
12090 (gst_net_client_clock_class_init): Typo fix.
12091 (gst_net_client_clock_thread): Add note on when the socket gets
12094 2005-11-17 Wim Taymans <wim@fluendo.com>
12096 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
12097 Free remote and local time arrays.
12099 2005-11-17 Wim Taymans <wim@fluendo.com>
12101 * gst/net/gstnetclientclock.c: (do_linear_regression),
12102 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
12103 Fix compilation, uninitialized vars and a forgotten continue.
12105 2005-11-17 Andy Wingo <wingo@pobox.com>
12107 * check/Makefile.am (check_PROGRAMS):
12108 * check/net/gstnetclientclock.c: Add a most minimal test for the
12109 net client clock. More to come later.
12111 * gst/net/gstnet.h:
12112 * gst/net/Makefile.am: Add netclientclock.
12114 * gst/net/gstnetclientclock.h:
12115 * gst/net/gstnetclientclock.c: New files, implement an untested
12116 GstClock that takes its time from a network time provider.
12117 Implements the algorithm in network-clock.scm.
12119 * tests/network-clock.scm (*window-size*): Rename from
12121 * tests/network-clock.scm (network-time):
12122 * tests/network-clock-utils.scm (q-push): Update callers.
12124 2005-11-17 Wim Taymans <wim@fluendo.com>
12126 * gst/gstbin.c: (gst_bin_provide_clock_func),
12127 (gst_bin_sort_iterator_new):
12128 And unref the child too..
12130 2005-11-17 Wim Taymans <wim@fluendo.com>
12132 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12133 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
12134 Refactor the sort iterator so it can be used while holding the
12136 Make clock selection select a clock closest to the source.
12138 2005-11-17 Michael Smith <msmith@fluendo.com>
12140 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
12141 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
12143 Anonymous structs are a gcc (and some other compilers) extension, so
12144 don't use them. Since this is only for ABI-compatibility, and our
12145 API/ABI freeze is over in a few days, this whole thing will only
12146 last a few days, so don't bother trying to think up a meaningful
12147 name for the struct.
12149 2005-11-17 Andy Wingo <wingo@pobox.com>
12151 * gst/gstclock.h (GstClock): Add rate and offset properties,
12152 preserving ABI stability. Add rate/offset accessors. Will file bug
12153 for the freeze break.
12155 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
12156 and offset, trying to keep precision and avoiding
12157 underflow/overflow.
12158 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
12159 functions. Make gst_clock_set_time_adjust obsolete.
12160 (gst_clock_set_time_adjust): Note that this function is obsolete.
12161 Will file bug soon.
12163 * gst/base/gstbasetransform.h: Make the ABI-stability hack
12164 greppable by using GST_PADDING-1+1.
12166 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
12168 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
12170 * gst/gstmessage.c: (gst_message_parse_clock_lost):
12171 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
12173 * gst/gstpadtemplate.h:
12174 * gst/gstpluginfeature.h:
12175 Don't use c++ style comments in headers (#321638).
12177 2005-11-16 Andy Wingo <wingo@pobox.com>
12179 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
12182 * check/net/gstnettimeprovider.c: Check to see that the time
12183 provider actually provides times. Works, yo!
12185 2005-11-16 Wim Taymans <wim@fluendo.com>
12187 * check/Makefile.am:
12190 * check/elements/fakesrc.c: (GST_START_TEST):
12191 Set element to NULL before disposing it.
12193 2005-11-16 Andy Wingo <wingo@pobox.com>
12195 * gst/net/Makefile.am:
12196 * gst/net/gstnet.h:
12197 * gst/net/gstnettimeprovider.c:
12198 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
12199 provider, include it from gstnet.h, and add it to the build.
12201 * gst/net/gstnettimepacket.h:
12202 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
12203 sending and receiving.
12205 2005-11-16 Wim Taymans <wim@fluendo.com>
12207 * check/Makefile.am:
12208 Enable valgrind check.
12210 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
12211 (gst_fake_src_alloc_buffer):
12214 2005-11-16 Wim Taymans <wim@fluendo.com>
12216 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
12217 Call parent finalize too.
12219 2005-11-16 Wim Taymans <wim@fluendo.com>
12221 * check/Makefile.am:
12222 Enable valgrind check that should work fine now.
12224 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12225 * gst/gstqueue.c: (gst_queue_init):
12226 Fix memleaks in pad allocation.
12228 2005-11-16 Andy Wingo <wingo@pobox.com>
12230 * gst/net/Makefile.am:
12231 * gst/net/gstnet.h: New part of core to hold network elements and
12232 objects. Put in core because it exposes API that applications want
12233 to use. The library is named libgstnet-tempname right now because
12234 of the existing libgstnet in gst-plugins-base. Solution is
12235 probably to rename the one in plugins-base; will file a bug for
12238 * gst/net/gstnettimeprovider.c:
12239 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
12240 get_time call over the network.
12243 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
12245 * check/Makefile.am:
12246 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
12247 get additions shortly.
12249 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
12251 * gst/gstpad.c: (gst_pad_new_from_static_template):
12253 add gst_pad_new_from_static_template functions
12254 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
12255 (gst_check_setup_sink_pad):
12256 * gst/elements/gsttee.c: (gst_tee_init):
12259 2005-11-16 Wim Taymans <wim@fluendo.com>
12261 * gst/gstpad.c: (gst_pad_pause_task):
12262 Removed warning, it's not really an error either.
12264 2005-11-16 Wim Taymans <wim@fluendo.com>
12266 * gst/base/gstbasetransform.c:
12267 (gst_base_transform_prepare_output_buf),
12268 (gst_base_transform_event):
12269 Check if the caps are NULL, this can happen if the element
12270 is shutting down and the pad caps are set to NULL.
12272 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
12274 * gst/elements/gsttee.c: (gst_tee_init):
12275 fix pad template leak in tee
12277 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
12279 * gst/glib-compat.c: (g_value_dup_gst_object):
12280 * gst/glib-compat.h:
12281 * gst/gstpad.c: (gst_pad_set_property):
12282 use gst_object_ref when setting the pad template; this will
12283 trigger the pad template leaks on GLib 2.6 and the slaves
12285 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
12287 * gst/glib-compat.c: (gst_flags_get_first_value):
12288 * gst/glib-compat.h:
12289 * gst/gstregistryxml.c:
12290 remove functions copied from GLib 2.6
12292 2005-11-16 Michael Smith <msmith@fluendo.com>
12295 Don't link against VALGRIND_LIBS. That was always the wrong thing to
12296 do, but only breaks with newer valgrind versions. We're not a
12297 valgrind tool, we have no link-time dependencies on libcoregrind.
12299 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
12301 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12303 * gst/gstmessage.h:
12306 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
12308 * gst/base/gstbasesrc.c: (gst_base_src_init):
12309 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12310 * gst/gstqueue.c: (gst_queue_init):
12311 * gst/gstregistryxml.c: (load_feature):
12312 Revert all these unrefs, they don't even pass make check !
12314 2005-11-15 Johan Dahlin <johan@gnome.org>
12316 * gst/base/gstbasesrc.c: (gst_base_src_init):
12317 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12318 * gst/gstqueue.c: (gst_queue_init):
12319 Free pad templates, fixes a couple of leaks.
12321 2005-11-15 Daniel Fischer <dan at f3c dot com>
12323 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
12325 * gst/gstpad.c: (gst_pad_get_property):
12326 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12327 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12330 2005-11-15 Wim Taymans <wim@fluendo.com>
12335 2005-11-15 Andy Wingo <wingo@pobox.com>
12337 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12339 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12340 using GST_CLOCK_TIME_NONE to disable base time management.
12341 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12342 time if it was NONE before.
12343 (gst_pipeline_change_state): Only munge the base time if
12344 stream_time != GST_CLOCK_TIME_NONE.
12346 * check/gst/gstpipeline.c (test_base_time): Punt around the
12347 problem of the probe not being called, because that's not the
12348 issue I'm looking at. Add a check that setting stream_time to NONE
12349 disables base time management.
12351 2005-11-15 Wim Taymans <wim@fluendo.com>
12353 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12354 segment_stop == -1 at startup.
12356 * gst/base/gstbasetransform.c: (gst_base_transform_event),
12357 (gst_base_transform_change_state):
12358 Init segment values at start.
12360 2005-11-15 Wim Taymans <wim@fluendo.com>
12362 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12363 0 segment values are 0 in any format.
12365 * gst/base/gstbasetransform.c: (gst_base_transform_event):
12366 * gst/base/gstbasetransform.h:
12367 Parse newsegment correctly in basetransform
12369 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12370 Sync to clock using updated segment values.
12372 2005-11-15 Andy Wingo <wingo@pobox.com>
12374 * check/gst/gstpipeline.c (test_base_time): Add check that the
12375 base time and stream time are reset correctly.
12377 2005-11-15 Wim Taymans <wim@fluendo.com>
12379 * docs/design/part-TODO.txt:
12380 Some more TODO items.
12382 2005-11-15 Andy Wingo <wingo@pobox.com>
12384 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12385 error if the user selected "no clock" as the clocking method.
12387 * check/gst/gstpipeline.c (test_base_time): New test for buffer
12388 timestamps with live capture.
12390 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12391 is 0 but we are a live source, timestamp the buffers using the
12394 2005-11-14 Stefan Kost <ensonic@users.sf.net>
12396 * docs/gst/gstreamer-sections.txt:
12398 * gst/gstghostpad.c:
12403 2005-11-14 Wim Taymans <wim@fluendo.com>
12406 add suppressions from Wim's Debian machine
12408 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
12411 add suppressions from Andy's AMD64 Ubuntu machine
12413 2005-11-14 Andy Wingo <wingo@pobox.com>
12415 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12416 STATE_LOCK not necessary. Fixes #311489.
12418 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12421 * gst/gstindex.c (gst_index_add_object): Note in the docs that
12422 this function is not implemented.
12424 2005-11-14 Julien MOUTTE <julien@moutte.net>
12426 * gst/base/gstbasetransform.c:
12427 (gst_base_transform_prepare_output_buf):
12428 Ref the source pad caps while we need them.
12431 2005-11-11 Wim Taymans <wim@fluendo.com>
12433 * docs/gst/gstreamer-sections.txt:
12434 Added some docs for GstCollectData.
12436 * gst/base/gstadapter.c:
12437 Some small code example fix.
12439 * gst/base/gstcollectpads.c:
12440 * gst/base/gstcollectpads.h:
12441 Document some more.
12443 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
12445 * configure.ac: back to HEAD
12447 === release 0.9.5 ===
12449 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
12452 releasing 0.9.5, "Bike Lunch Day"
12454 2005-11-11 Wim Taymans <wim@fluendo.com>
12456 * gst/gstbuffer.c: (_gst_buffer_copy):
12459 * gst/gstcaps.c: (gst_caps_is_equal):
12461 Make _is_equal fast in the trivial cases.
12463 * gst/gstminiobject.c:
12464 * gst/gstminiobject.h:
12465 More docs. Spifify .h file.
12470 2005-11-11 Wim Taymans <wim@fluendo.com>
12472 * gst/base/gstbasetransform.c:
12473 (gst_base_transform_prepare_output_buf),
12474 (gst_base_transform_handle_buffer):
12476 If we're processing a buffer and need to allocate an output
12477 buffer, we cannot accept a format change. If we did get a
12478 format change, we have to alloc a buffer ourselves of the
12481 2005-11-11 Wim Taymans <wim@fluendo.com>
12483 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12484 While checking the flag for reentrancy in the gstcaps function
12485 is nice to detect recursive invocations, it also makes it
12486 impossible to call getcaps from multiple threads, which must be
12487 possible. So, checking for recursive calls has to go.
12489 2005-11-11 Michael Smith <msmith@fluendo.com>
12491 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12492 Don't sync on buffers that fall partially outside our current
12493 segment. Prevents an assertion failure/abort playing some files.
12495 2005-11-10 Andy Wingo <wingo@pobox.com>
12497 * check/gst/gstbin.c (test_message_state_changed_children): Style
12500 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12501 gst_bus_poll with the signal watch. Ensures that poll and a signal
12502 watch see the same messages.
12504 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12505 a poll and a watch at the same time get the same messages.
12507 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
12509 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12510 * gst/gstcaps.c: (gst_caps_intersect):
12511 Don't call gst_caps_do_simplify - it doesn't respect order of caps
12512 and it's not needed.
12514 2005-11-10 Wim Taymans <wim@fluendo.com>
12516 * docs/design/part-TODO.txt:
12519 2005-11-10 Wim Taymans <wim@fluendo.com>
12521 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12522 * gst/base/gstbasesrc.c: (gst_base_src_wait),
12523 (gst_base_src_do_sync), (gst_base_src_get_range):
12524 Implement clock sync in base class.
12526 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
12528 patch by: Tim-Philipp Müller <tim at centricular dot net>
12530 * gst/gststructure.c: (gst_structure_parse_field),
12531 (gst_structure_from_string):
12532 Forward-port a 0.8 patch to handle escaped spaces in structure string,
12533 so that gst_parse_launch() can deal with spaces in filtered link
12534 caps (fixes #164479)
12535 * check/gst/capslist.h:
12536 * check/gst/gststructure.c: (GST_START_TEST):
12537 add unit tests for this change
12539 2005-11-10 Wim Taymans <wim@fluendo.com>
12541 * docs/gst/gstreamer-sections.txt:
12542 * gst/gstelement.c:
12543 * gst/gstelement.h:
12544 Fix docs, move some STATE macros to private.
12546 2005-11-10 Wim Taymans <wim@fluendo.com>
12548 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12549 Added check for bug #317341
12553 Some more spiffifying.
12555 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12556 Call peer linkfunction if we are a source pad. Totally fixes
12560 Update docs, source pads should call the peer linkfunction
12561 so they can atomically perform the pad link.
12563 2005-11-09 Wim Taymans <wim@fluendo.com>
12567 Uber-spiffy-spiffify some more.
12569 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
12571 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12572 * gst/elements/gstfilesink.c: (gst_file_sink_init):
12573 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12574 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12575 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12576 * gst/gstpad.c: (gst_pad_init):
12577 Use GST_DEBUG_FUNCPTR() more extensively.
12579 2005-11-09 Wim Taymans <wim@fluendo.com>
12581 * gst/gstobject.c: (gst_object_class_init):
12583 Documentation fixes.
12585 2005-11-09 Edward Hervey <edward@fluendo.com>
12587 * gst/gsttypefindfactory.c:
12590 2005-11-09 Edward Hervey <edward@fluendo.com>
12592 * gst/base/gsttypefindhelper.c:
12593 * gst/gsttypefind.c:
12594 * gst/gsttypefind.h:
12597 2005-11-09 Wim Taymans <wim@fluendo.com>
12599 * gst/gstiterator.c:
12606 2005-11-09 Wim Taymans <wim@fluendo.com>
12612 2005-11-09 Wim Taymans <wim@fluendo.com>
12614 * docs/gst/gstreamer-sections.txt:
12615 Moved the message async delivery private lock and cond
12616 to the private section.
12618 * gst/gstmessage.c:
12619 * gst/gstmessage.h:
12622 2005-11-09 Edward Hervey <edward@fluendo.com>
12624 * docs/gst/gstreamer-sections.txt:
12627 Document GstURIHandler
12629 2005-11-09 Wim Taymans <wim@fluendo.com>
12631 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12632 (gst_iterator_find_custom):
12633 * gst/gstiterator.h:
12636 2005-11-09 Wim Taymans <wim@fluendo.com>
12639 Document another field.
12641 * gst/gststructure.c:
12642 * gst/gststructure.h:
12645 2005-11-09 Wim Taymans <wim@fluendo.com>
12648 Documented structs.
12650 2005-11-09 Wim Taymans <wim@fluendo.com>
12652 * docs/gst/gstreamer-sections.txt:
12653 Added some new macros.
12660 2005-11-09 Wim Taymans <wim@fluendo.com>
12662 * docs/design/part-TODO.txt:
12663 Some more items for the TODO
12669 2005-11-09 Andy Wingo <wingo@pobox.com>
12671 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12672 to work on something else now tho...
12674 * gst/base/gstadapter.c: More adapter docs.
12676 * gst/elements/gstfilesink.c (gst_file_sink_start)
12677 (gst_file_sink_stop): New functions, replace the state change
12679 (gst_file_sink_class_init): Hook up the start and stop functions.
12680 (gst_file_sink_base_init): Don't set the state change handler any
12681 more. It was a bit ugly too, being set from here...
12682 (gst_file_sink_get_property, gst_file_sink_set_property):
12684 (gst_file_sink_set_location): More robust check that doesn't call
12685 GST_STATE. Ugggggg.
12687 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
12689 * gst/base/gstbasetransform.c: (gst_base_transform_event):
12690 Hold STREAM_LOCK while pushing newsegment or tag events as well.
12692 2005-11-08 Wim Taymans <wim@fluendo.com>
12694 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12695 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12696 (gst_base_sink_chain), (gst_base_sink_change_state):
12697 * gst/base/gstbasesink.h:
12698 * gst/base/gstbasesrc.h:
12699 * gst/gstelement.h:
12701 Avoid excessive typechecking in macros.
12703 * gst/gstminiobject.c: (gst_mini_object_get_type),
12704 (gst_mini_object_init), (gst_mini_object_new),
12705 (gst_mini_object_free):
12706 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12707 (gst_object_finalize):
12708 Remove cruft code, optimize alloc_trace.
12710 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
12712 * docs/faq/gst-uninstalled:
12713 fix up PS1 for systems that try to reset it
12715 2005-11-07 Wim Taymans <wim@fluendo.com>
12717 * gst/base/gstbasesrc.c: (gst_base_src_init),
12718 (gst_base_src_get_range):
12719 Set the segment_end to -1 initially. Fixed typefind.
12721 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
12723 * gst/base/gstadapter.c:
12724 Debug category should be 'adapter', not 'GstAdapter'.
12726 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12727 (gst_collectpads_class_init), (gst_collectpads_init),
12728 (gst_collectpads_peek), (gst_collectpads_pop),
12729 (gst_collectpads_event), (gst_collectpads_chain):
12730 Add debug category and some debugging output. Use boilerplate
12731 macros. Remove some extraneous words from docs.
12733 2005-11-05 Andy Wingo <wingo@pobox.com>
12735 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12738 2005-11-04 Stefan Kost <ensonic@users.sf.net>
12740 * docs/gst/gstreamer-sections.txt:
12743 * gst/gstminiobject.h:
12748 2005-11-04 Wim Taymans <wim@fluendo.com>
12750 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12751 Small update to stop at the configured segment_end
12754 2005-11-04 Stefan Kost <ensonic@users.sf.net>
12756 * gst/gstregistry.c:
12757 * gst/gstregistry.h:
12760 2005-11-04 Edward Hervey <edward@fluendo.com>
12762 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12763 Check if we are doing a segment seek and have arrived at the
12764 end of that segment.
12766 2005-11-04 Wim Taymans <wim@fluendo.com>
12768 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12769 Don't leak a mutex unlock in case of an error.
12774 2005-11-04 Wim Taymans <wim@fluendo.com>
12776 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12778 Get the context to wake up only once.
12780 2005-11-03 Wim Taymans <wim@fluendo.com>
12782 * check/states/sinks.c: (GST_START_TEST):
12783 Uncomment fixed check.
12785 * docs/design/part-TODO.txt:
12788 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12789 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12790 (gst_base_sink_get_position):
12791 If we are going to PLAYING, post the right pending state
12792 when we post the intermediate paused message.
12794 * gst/gstelement.c: (gst_element_continue_state),
12795 (gst_element_set_state_func), (gst_element_change_state):
12796 Don't post state changes that were between the same state
12797 and were not ASYNC.
12799 2005-11-03 Stefan Kost <ensonic@users.sf.net>
12801 * docs/gst/gstreamer-sections.txt:
12804 * gst/gstminiobject.h:
12807 more docs and doc style fixes
12809 2005-11-03 Stefan Kost <ensonic@users.sf.net>
12811 * docs/gst/gstreamer-sections.txt:
12812 * gst/gstelement.c:
12813 * gst/gstminiobject.c:
12816 2005-11-03 Andy Wingo <wingo@pobox.com>
12818 * check/states/sinks.c (test_livesrc_sink): Add checks that the
12819 state-changed messages actually have the right order and the right
12822 2005-11-03 Wim Taymans <wim@fluendo.com>
12824 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12825 Added some more checks. Specifically the case where NO_PREROLL
12826 elements are in the pipeline.
12828 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12829 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12830 (gst_base_sink_get_position):
12831 Post READY->PAUSED state change messages too.
12832 Fix bug where VOID was posted as pending state...
12834 * gst/gstbin.c: (gst_bin_recalc_state):
12835 use _element_continue_state() to continue the state change.
12837 * gst/gstelement.c: (gst_element_continue_state),
12838 (gst_element_commit_state), (gst_element_set_state_func),
12839 (gst_element_change_state), (gst_element_change_state_func):
12840 Lots of state change cleanups, assign the STATE_RETURN in
12841 a new continue_state() function that also propagates the
12842 last return value from a state change to the app.
12843 Update some debug statements with proper category.
12845 2005-11-03 Wim Taymans <wim@fluendo.com>
12847 * docs/design/part-events.txt:
12848 * docs/design/part-gstpipeline.txt:
12849 * docs/design/part-messages.txt:
12850 * docs/design/part-overview.txt:
12851 * docs/design/part-seeking.txt:
12852 * docs/design/part-states.txt:
12853 * docs/design/part-trickmodes.txt:
12854 * docs/manual/advanced-position.xml:
12855 Small docs updates.
12858 People think !! is ugly, this looks better.
12860 * gst/gstpad.c: (gst_pad_set_blocked_async):
12861 Remove !! since it's fixed elsewhere now.
12863 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
12865 * gst/gstminiobject.h:
12867 Add !! to _FLAG_IS_SET macros to make the result boolean.
12869 2005-11-03 Edward Hervey <edward@fluendo.com>
12871 * gst/gstpad.c: (gst_pad_set_blocked_async):
12872 comparing a flag and a gboolean rarely returns coherent results...
12873 Added two characters (!!) to make that work correctly.
12875 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
12877 * gst/gstbus.c: (gst_bus_class_init):
12880 * gst/gstqueue.c: (gst_queue_loop):
12881 Don't assume a miniobject that isn't a buffer is an
12882 event (it could be that there is a refcounting
12883 problem somewhere and the pointer is stale and
12884 refers to an already destroyed miniobject).
12886 2005-11-03 Julien MOUTTE <julien@moutte.net>
12888 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
12890 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
12892 * docs/manual/advanced-position.xml:
12893 Update seek example and explanations to current 0.9 API.
12895 * gst/elements/gsttypefindelement.c:
12896 (gst_type_find_element_activate):
12897 Remove FIXME comment now that the found caps
12900 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
12902 * gst/gstregistryxml.c: (load_feature):
12903 Add another GST_STR_NULL instance
12905 2005-11-02 Edward Hervey <edward@fluendo.com>
12907 * gst/gstpad.c: (handle_pad_block):
12908 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
12910 2005-11-02 Wim Taymans <wim@fluendo.com>
12915 * gst/gstelement.c: (gst_element_commit_state):
12916 Remove unused value.
12918 * gst/gstiterator.c:
12919 Mention that the returned element is reffed in the docs.
12921 2005-11-02 Wim Taymans <wim@fluendo.com>
12923 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
12924 (gst_pad_push), (gst_pad_push_event):
12925 Unlock blocked pads when they are flushed.
12927 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
12930 * docs/gst/gstreamer-sections.txt:
12933 * gst/gstregistry.c: (gst_registry_scan_path_level):
12934 fix for a nasty little missed situation where an installed plug-in
12935 which was in the cache did not get overridden by an uninstalled one
12936 which was earlier in the plugin path because the newly created plugin
12937 for the uninstalled one (not in the registry) didn't get its
12938 ->registered set to TRUE
12940 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
12942 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
12943 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
12944 (gst_collectpads_is_active), (gst_collectpads_collect),
12945 (gst_collectpads_collect_range), (gst_collectpads_start),
12946 (gst_collectpads_stop), (gst_collectpads_peek),
12947 (gst_collectpads_pop), (gst_collectpads_available),
12948 (gst_collectpads_read), (gst_collectpads_flush):
12949 Guard public API with assertions.
12952 Fix docs for gst_pad_set_link_function().
12954 2005-11-02 Johan Dahlin <johan@gnome.org>
12956 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
12957 Unref found_caps after we used it.
12959 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
12961 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
12962 Don't try to ref NULL.
12964 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
12966 * win32/common/config.h.in:
12967 provide a GST_FUNCTION that just gives a string for now
12969 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
12971 * win32/common/gstenumtypes.c: (register_gst_object_flags),
12972 (gst_object_flags_get_type), (register_gst_bin_flags),
12973 (gst_bin_flags_get_type), (register_gst_buffer_flag),
12974 (gst_buffer_flag_get_type), (register_gst_bus_flags),
12975 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
12976 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
12977 (gst_clock_return_get_type), (register_gst_clock_entry_type),
12978 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12979 (gst_clock_flags_get_type), (register_gst_state),
12980 (gst_state_get_type), (register_gst_state_change_return),
12981 (gst_state_change_return_get_type), (register_gst_state_change),
12982 (gst_state_change_get_type), (register_gst_element_flags),
12983 (gst_element_flags_get_type), (register_gst_core_error),
12984 (gst_core_error_get_type), (register_gst_library_error),
12985 (gst_library_error_get_type), (register_gst_resource_error),
12986 (gst_resource_error_get_type), (register_gst_stream_error),
12987 (gst_stream_error_get_type), (register_gst_event_type),
12988 (gst_event_type_get_type), (register_gst_seek_type),
12989 (gst_seek_type_get_type), (register_gst_seek_flags),
12990 (gst_seek_flags_get_type), (register_gst_format),
12991 (gst_format_get_type), (register_gst_index_certainty),
12992 (gst_index_certainty_get_type), (register_gst_index_entry_type),
12993 (gst_index_entry_type_get_type),
12994 (register_gst_index_lookup_method),
12995 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12996 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12997 (gst_index_resolver_method_get_type), (register_gst_index_flags),
12998 (gst_index_flags_get_type), (register_gst_debug_level),
12999 (gst_debug_level_get_type), (register_gst_debug_color_flags),
13000 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13001 (gst_iterator_result_get_type), (register_gst_iterator_item),
13002 (gst_iterator_item_get_type), (register_gst_message_type),
13003 (gst_message_type_get_type), (register_gst_mini_object_flags),
13004 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13005 (gst_pad_link_return_get_type), (register_gst_flow_return),
13006 (gst_flow_return_get_type), (register_gst_activate_mode),
13007 (gst_activate_mode_get_type), (register_gst_pad_direction),
13008 (gst_pad_direction_get_type), (register_gst_pad_flags),
13009 (gst_pad_flags_get_type), (register_gst_pad_presence),
13010 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13011 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13012 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13013 (gst_plugin_error_get_type), (register_gst_plugin_flags),
13014 (gst_plugin_flags_get_type), (register_gst_rank),
13015 (gst_rank_get_type), (register_gst_query_type),
13016 (gst_query_type_get_type), (register_gst_tag_merge_mode),
13017 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13018 (gst_tag_flag_get_type), (register_gst_task_state),
13019 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13020 (gst_alloc_trace_flags_get_type),
13021 (register_gst_type_find_probability),
13022 (gst_type_find_probability_get_type), (register_gst_uri_type),
13023 (gst_uri_type_get_type), (register_gst_parse_error),
13024 (gst_parse_error_get_type):
13025 * win32/common/gstversion.h:
13026 update win32 copies
13028 2005-11-01 Luca Ognibene <luogni@tin.it>
13031 fix docs. popt is dead, long live GOption.
13033 2005-10-31 Wim Taymans <wim@fluendo.com>
13038 2005-10-31 Andy Wingo <wingo@pobox.com>
13042 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
13044 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
13045 need to serialize property notifications on GLib 2.8. GLib 2.6 has
13046 the possibility of deadlocks here if code calling notify() or
13047 set() has a lock that can be taken in another notify handler (ABBA
13048 with class lock and e.g. python GIL state lock).
13050 2005-10-28 Julien MOUTTE <julien@moutte.net>
13052 * gst/gstbus.c: Doc updates.
13054 2005-10-28 Wim Taymans <wim@fluendo.com>
13056 * docs/design/part-TODO.txt:
13057 * gst/gstiterator.c:
13058 * gst/gstsystemclock.c:
13059 * gst/gstsystemclock.h:
13062 2005-10-28 Edward Hervey <edward@fluendo.com>
13064 * docs/gst/gstreamer-docs.sgml:
13065 * docs/gst/gstreamer-sections.txt:
13066 the GstURIType documentation page is private, it only defines GstURIType
13067 which should be defined in the GstURIHandler page
13069 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
13071 * gst/gstbin.c: (gst_bin_class_init):
13074 Documentation updates.
13076 2005-10-28 Wim Taymans <wim@fluendo.com>
13078 * docs/gst/gstreamer-sections.txt:
13081 Documented the clocks.
13083 2005-10-28 Stefan Kost <ensonic@users.sf.net>
13085 * docs/gst/gstreamer-sections.txt:
13086 move some macros to private sections
13087 * gst/gstminiobject.c:
13088 * gst/gstminiobject.h:
13089 add descriptions provided by ds and some more
13091 mark macro as to be removed
13093 2005-10-28 Wim Taymans <wim@fluendo.com>
13095 * docs/design/part-TODO.txt:
13096 Add an item to TODO.
13098 * gst/gstiterator.c: (gst_iterator_fold),
13099 (gst_iterator_find_custom):
13100 * gst/gstiterator.h:
13103 2005-10-28 Wim Taymans <wim@fluendo.com>
13105 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13106 (gst_base_transform_init):
13109 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
13110 An EOS event marks the queue as completely filled.
13112 2005-10-27 Wim Taymans <wim@fluendo.com>
13114 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13115 (gst_base_sink_do_sync), (gst_base_sink_get_position):
13116 Some more debugging.
13118 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
13119 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
13120 (gst_base_transform_event), (gst_base_transform_getrange),
13121 (gst_base_transform_chain):
13122 * gst/base/gstbasetransform.h:
13124 Protect transform and concurrent buffer alloc with a new lock.
13125 Try not to break ABI/API.
13127 2005-10-27 Wim Taymans <wim@fluendo.com>
13129 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13130 (gst_base_src_init), (gst_base_src_query),
13131 (gst_base_src_default_newsegment),
13132 (gst_base_src_configure_segment), (gst_base_src_do_seek),
13133 (gst_base_src_send_event), (gst_base_src_event_handler),
13134 (gst_base_src_pad_get_range), (gst_base_src_loop),
13135 (gst_base_src_unlock), (gst_base_src_default_negotiate),
13136 (gst_base_src_start), (gst_base_src_deactivate),
13137 (gst_base_src_activate_push), (gst_base_src_change_state):
13138 Move some stuff around and cleanup things.
13140 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
13142 * gst/base/gstbasesrc.c: (gst_base_src_query):
13143 Add missing break statements.
13145 2005-10-27 Wim Taymans <wim@fluendo.com>
13147 * check/gst/gstbin.c: (GST_START_TEST):
13148 An extra refcount is taken in basesrc.
13150 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
13151 (gst_base_src_get_range), (gst_base_src_pad_get_range),
13152 (gst_base_src_loop):
13153 Small cleanups, check for flushing after being unlocked from the
13154 LIVE_LOCK. take refcounts correctly (not yet everywhere).
13155 Don't send out EOS when going to READY.
13157 2005-10-27 Wim Taymans <wim@fluendo.com>
13159 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13160 (gst_base_sink_get_position):
13163 * gst/gstbin.c: (message_check), (bin_replace_message),
13164 (bin_remove_messages), (is_eos), (gst_bin_add_func),
13165 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13166 (bin_query_duration_init), (bin_query_duration_fold),
13167 (bin_query_duration_done), (bin_query_generic_fold),
13169 * tools/gst-launch.c: (main):
13172 2005-10-26 Stefan Kost <ensonic@users.sf.net>
13174 * examples/controller/audio-example.c: (main):
13175 * examples/queue/queue.c: (event_loop):
13176 * gst/base/gstbasetransform.h:
13177 * gst/gstelement.c: (gst_element_send_event):
13179 * gst/gstpad.c: (gst_pad_send_event):
13182 changing log priority in error situations
13184 2005-10-25 Wim Taymans <wim@fluendo.com>
13186 * gst/gstbin.c: (message_check), (bin_replace_message),
13187 (bin_remove_messages), (is_eos), (gst_bin_add_func),
13188 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13189 (bin_query_duration_init), (bin_query_duration_fold),
13190 (bin_query_duration_done), (bin_query_generic_fold),
13192 Some doc and debug updates.
13193 Cache previously requested query DURATION for speed. invalidate
13194 cached duration if element posts a DURATION message.
13196 2005-10-25 Wim Taymans <wim@fluendo.com>
13198 * docs/design/part-TODO.txt:
13201 * gst/gstbin.c: (message_check), (bin_replace_message),
13202 (bin_remove_messages), (is_eos), (gst_bin_add_func),
13203 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13204 (bin_query_duration_init), (bin_query_duration_fold),
13205 (bin_query_duration_done), (bin_query_generic_fold),
13207 Handle SEGMENT_START/DONE messages correctly.
13208 More evolved query algorithm that handles duration queries
13211 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
13212 (gst_element_get_state_func), (gst_element_abort_state),
13213 (gst_element_commit_state), (gst_element_lost_state):
13214 Some more debugging.
13216 * gst/gstmessage.h:
13219 2005-10-25 Wim Taymans <wim@fluendo.com>
13221 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
13222 Don't use invalid stream_time.
13224 * gst/gstevent.c: (gst_event_new_newsegment):
13225 stream_time in newsegment cannot be undefined.
13227 2005-10-24 Wim Taymans <wim@fluendo.com>
13232 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13234 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
13236 2005-10-24 Stefan Kost <ensonic@users.sf.net>
13238 * docs/libs/tmpl/gstdparam.sgml:
13239 * docs/libs/tmpl/gstdplinint.sgml:
13240 * docs/libs/tmpl/gstdpman.sgml:
13241 * docs/libs/tmpl/gstdpsmooth.sgml:
13242 * docs/libs/tmpl/gstunitconvert.sgml:
13245 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
13250 === release 0.9.4 ===
13252 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
13255 releasing 0.9.4, "Tyrannosaurus Rex"
13257 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
13259 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13260 (gst_file_sink_get_current_offset):
13261 Use fseeko() and ftello() if available. When falling back on
13262 lseek() to get the current offset, fflush() first to make sure
13263 everything is up-to-date and we get the right offset.
13265 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
13267 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13268 * gst/base/gstbasesrc.c: (gst_base_src_loop):
13269 * gst/gsterror.c: (_gst_stream_errors_init):
13271 * gst/gstqueue.c: (gst_queue_loop):
13273 remove prematurely added error category and clean up the instances
13275 2005-10-21 Wim Taymans <wim@fluendo.com>
13277 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13278 (gst_base_sink_get_position), (gst_base_sink_query),
13279 (gst_base_sink_change_state):
13280 Simply set the right flag when going to playing, that's all
13281 we need to do instead of calling a function inside the object
13282 lock (that could take the lock as well and deadlock)
13284 2005-10-21 Wim Taymans <wim@fluendo.com>
13286 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
13287 (gst_base_src_loop):
13288 Don't warn, the peer element knows what to do best when
13289 the seek failed, it might try something else.
13291 2005-10-21 Wim Taymans <wim@fluendo.com>
13293 * gst/base/gstbasesrc.c: (gst_base_src_init),
13294 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13297 2005-10-21 Wim Taymans <wim@fluendo.com>
13299 * docs/design/part-segments.txt:
13302 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13303 Correctly set caps, even on the subbufer.
13305 2005-10-21 Wim Taymans <wim@fluendo.com>
13307 * docs/gst/gstreamer-docs.sgml:
13308 * docs/gst/gstreamer-sections.txt:
13309 * gst/gstelement.h:
13312 * gst/gstmessage.h:
13315 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13319 And 2% more doc coverage.
13321 2005-10-21 Andy Wingo <wingo@pobox.com>
13323 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13324 position reporting.
13326 2005-10-20 Wim Taymans <wim@fluendo.com>
13328 * gst/gsterror.c: (gst_error_get_message):
13331 * gst/gststructure.c:
13336 2005-10-20 Wim Taymans <wim@fluendo.com>
13341 Another 1% more coverage.
13343 2005-10-20 Wim Taymans <wim@fluendo.com>
13345 * docs/gst/gstreamer-sections.txt:
13346 * gst/gstelement.c: (gst_element_get_state_func),
13347 (gst_element_abort_state), (gst_element_commit_state),
13348 (gst_element_lost_state):
13350 * gst/gstquery.c: (gst_query_set_position),
13351 (gst_query_parse_position), (gst_query_set_duration),
13352 (gst_query_parse_duration), (gst_query_new_convert):
13354 Yay! 1% more docs coverage.
13356 2005-10-20 Wim Taymans <wim@fluendo.com>
13359 * gst/gstquery.c: (gst_query_set_position),
13360 (gst_query_parse_position), (gst_query_set_duration),
13361 (gst_query_parse_duration), (gst_query_new_convert):
13363 * gst/gstutils.c: (gst_element_query_convert):
13365 Docs and consistency fixes.
13367 2005-10-20 Wim Taymans <wim@fluendo.com>
13373 2005-10-20 Wim Taymans <wim@fluendo.com>
13375 * gst/gstbin.c: (message_check), (bin_replace_message),
13376 (bin_remove_messages), (is_eos), (gst_bin_add_func),
13377 (update_degree), (gst_bin_sort_iterator_next),
13378 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13379 Reworked the message handling a bit, cache the messages instead of
13380 only the senders. alows us to do more in the future.
13382 2005-10-20 Wim Taymans <wim@fluendo.com>
13384 * docs/design/part-TODO.txt:
13387 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13388 (gst_base_sink_query):
13389 Don't use clock time to report position when in EOS.
13391 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
13393 * tools/gst-inspect.c: (print_interfaces),
13394 (print_element_properties_info), (print_element_info):
13395 Fix interface output with gst-inspect -a; don't print
13396 newlines after double/float properties.
13398 2005-10-20 Wim Taymans <wim@fluendo.com>
13400 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13401 (gst_base_sink_query):
13402 Speed up current position calculation.
13404 * gst/base/gstbasesrc.c: (gst_base_src_query),
13405 (gst_base_src_default_newsegment):
13406 Correctly set stream position in newsegment.
13408 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13409 (update_degree), (gst_bin_sort_iterator_next),
13410 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13411 * gst/gstmessage.c: (gst_message_new_custom):
13412 Clean up debugging info
13414 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13415 (gst_queue_loop), (gst_queue_handle_src_query):
13418 2005-10-19 Wim Taymans <wim@fluendo.com>
13420 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13421 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13422 Fix query handling again.
13424 2005-10-19 Wim Taymans <wim@fluendo.com>
13426 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13427 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13428 * gst/base/gstbasesrc.c: (gst_base_src_query):
13429 * gst/elements/gstfilesink.c: (gst_file_sink_query):
13430 * gst/elements/gsttypefindelement.c:
13431 (gst_type_find_handle_src_query), (find_element_get_length),
13432 (gst_type_find_element_activate):
13435 * gst/gstquery.c: (gst_query_new_position),
13436 (gst_query_set_position), (gst_query_parse_position),
13437 (gst_query_new_duration), (gst_query_set_duration),
13438 (gst_query_parse_duration), (gst_query_set_segment),
13439 (gst_query_parse_segment):
13441 Bundling query position/duration is not a good idea since duration
13442 does not change much and we don't want to recalculate it for every
13443 position query, so they are separated again..
13444 Base value in segment query is not needed.
13446 * gst/gstqueue.c: (gst_queue_handle_src_query):
13447 * gst/gstutils.c: (gst_element_query_position),
13448 (gst_element_query_duration), (gst_pad_query_position),
13449 (gst_pad_query_duration):
13451 Updates for query API change.
13452 Added some docs here and there.
13454 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
13456 * check/gst/gstbin.c: (GST_START_TEST):
13457 * check/gst/gstghostpad.c: (GST_START_TEST):
13458 * check/pipelines/cleanup.c: (GST_START_TEST):
13459 wait on thread to die so we can check refcount correctly
13461 2005-10-18 Wim Taymans <wim@fluendo.com>
13463 * check/pipelines/stress.c: (GST_START_TEST):
13464 Make check a little more time consuming.
13466 2005-10-18 Wim Taymans <wim@fluendo.com>
13468 * check/Makefile.am:
13469 * check/pipelines/stress.c: (GST_START_TEST),
13470 (simple_launch_lines_suite), (main):
13471 Small state change torture test.
13473 * docs/design/part-states.txt:
13474 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13475 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13476 (gst_base_sink_change_state):
13477 Never take state lock from streaming thread, clean up ugly
13478 hacks. Unfortunatly core does not yet support nice ways to
13479 async commit state.
13481 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13483 Start state recalc if a STATE_DIRTY message is posted, but only
13484 on the toplevel bin.
13486 * gst/gstelement.c: (gst_element_sync_state_with_parent),
13487 (gst_element_get_state_func), (gst_element_abort_state),
13488 (gst_element_commit_state), (gst_element_lost_state),
13489 (gst_element_set_state_func), (gst_element_change_state):
13490 * gst/gstelement.h:
13491 State variables are now protected with the LOCK, the state
13492 lock is only used to serialize _set_state().
13494 2005-10-18 Wim Taymans <wim@fluendo.com>
13496 * check/gst/gstbin.c: (GST_START_TEST):
13497 * check/gst/gstmessage.c: (GST_START_TEST):
13498 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13499 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13501 * gst/gstelement.c: (gst_element_abort_state),
13502 (gst_element_commit_state), (gst_element_lost_state):
13503 * gst/gstmessage.c: (gst_message_new_state_changed),
13504 (gst_message_new_state_dirty), (gst_message_new_segment_start),
13505 (gst_message_new_segment_done), (gst_message_new_duration),
13506 (gst_message_parse_state_changed),
13507 (gst_message_parse_segment_start),
13508 (gst_message_parse_segment_done), (gst_message_parse_duration):
13509 * gst/gstmessage.h:
13510 * tools/gst-launch.c: (event_loop):
13511 Seriously, this is better than a previous commit as we only need
13512 to notify the fact that an element changed state in a streaming
13513 thread, marking the state of the parents dirty, hence the
13514 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13517 2005-10-18 Wim Taymans <wim@fluendo.com>
13519 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13520 (gst_bin_recalc_func):
13521 * gst/gstelement.c: (gst_element_set_clock),
13522 (gst_element_abort_state), (gst_element_lost_state):
13523 Cleanups, prepare for state change fixes.
13525 2005-10-18 Wim Taymans <wim@fluendo.com>
13528 * gst/gstelement.c: (gst_element_class_init),
13529 (gst_element_set_state), (gst_element_set_state_func):
13530 * gst/gstelement.h:
13531 Pending ABI changes.
13532 GThreadPool in GstBinClass to monitor async state changes.
13533 state_cookie in GstElement to detect concurrent gst/set state.
13534 set_state is now virtual too in case a very complicated element
13535 has to be constructed.
13537 2005-10-18 Wim Taymans <wim@fluendo.com>
13539 * check/gst/gstbin.c: (GST_START_TEST):
13540 * check/gst/gstmessage.c: (GST_START_TEST):
13541 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13542 * gst/gstbin.c: (bin_bus_handler):
13543 * gst/gstelement.c: (gst_element_commit_state),
13544 (gst_element_lost_state):
13545 * gst/gstmessage.c: (gst_message_new_state_changed),
13546 (gst_message_new_segment_start), (gst_message_new_segment_done),
13547 (gst_message_new_duration), (gst_message_parse_state_changed),
13548 (gst_message_parse_segment_start),
13549 (gst_message_parse_segment_done), (gst_message_parse_duration):
13550 * gst/gstmessage.h:
13551 * tools/gst-launch.c: (event_loop):
13552 Make messages future proof.
13553 state-change gets a flag if it was a message comming from the
13555 segment-start/stop can also be specified in other formats.
13556 A message to notify an app that a pipeline changed playback
13558 Also fix a GstMessage leak in -launch
13560 2005-10-18 Andy Wingo <wingo@pobox.com>
13562 * gst/gstelement.c (gst_element_dispose): More helpful message.
13564 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
13566 reviewed by: <delete if not using a buddy>
13568 * common/gtk-doc.mak:
13570 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
13572 * gst/gstregistry.c: (gst_registry_scan_path_level):
13573 unref a plug-in we get that was already initialized
13575 2005-10-18 Stefan Kost <ensonic@users.sf.net>
13577 * docs/gst/gstreamer-sections.txt:
13578 * docs/libs/gstreamer-libs-sections.txt:
13579 * gst/gstelement.h:
13580 add new api entries
13581 hide internal macro
13583 2005-10-17 Andy Wingo <wingo@pobox.com>
13585 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13588 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13590 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13592 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13593 (gst_element_get_state_func): Better debug message.
13594 (gst_element_commit_state): s/INFO/DEBUG/.
13595 (gst_element_lost_state, gst_element_change_state):
13597 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13598 (gst_message_new_custom): s/INFO/LOG/.
13600 2005-10-17 Michael Smith <msmith@fluendo.com>
13602 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13603 Check if end time is valid using end time, not start time.
13605 2005-10-17 Stefan Kost <ensonic@users.sf.net>
13607 * check/gst-libs/controller.c: (GST_START_TEST),
13608 (gst_controller_suite):
13609 * libs/gst/controller/gstcontroller.c:
13610 (gst_controlled_property_set_interpolation_mode):
13611 * libs/gst/controller/gstcontroller.h:
13612 * libs/gst/controller/gstinterpolation.c:
13613 * testsuite/controller/.cvsignore:
13614 * testsuite/controller/Makefile.am:
13615 * testsuite/controller/interpolator.c:
13616 merge controller testsuites
13618 remove mem-chunk from docs
13620 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
13622 * gst/gstmemchunk.c:
13623 * gst/gstmemchunk.h:
13624 * gst/gsttrashstack.c:
13625 * gst/gsttrashstack.h:
13626 out. get out. you're fired. to the Attic !
13628 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
13630 * gst/gstcaps.c: (gst_caps_intersect):
13631 fix signedness issues in a (hopefully) correct way
13632 * gst/gstelement.c: (gst_element_pads_activate):
13634 * gst/gstobject.c: (gst_object_set_parent):
13637 2005-10-17 Julien MOUTTE <julien@moutte.net>
13639 * gst/gstvalue.h: Fix prototypes.
13641 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13643 * docs/gst/gstreamer-sections.txt:
13644 * gst/gst.c: (gst_version_string):
13646 * gst/gstversion.h.in:
13647 * win32/common/libgstreamer.def:
13648 add gst_version_string ()
13650 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13654 * gst/gst.c: (init_post):
13655 * win32/common/config.h.in:
13657 * gst/gstcaps.c: (gst_caps_intersect):
13658 use gint64, the range could be bigger than a guint
13660 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13663 document potential problem in 2038
13665 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13667 * gst/gstcaps.c: (gst_caps_intersect):
13668 Fix guint j diving under 0
13670 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13673 * win32/common/config.h:
13674 * win32/common/config.h.in:
13675 check for process.h, declares getpid() on Windows
13677 include process.h if we have it
13678 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13679 * gst/gstmemchunk.h:
13680 fix signedness issues
13681 * win32/common/libgstreamer.def:
13684 2005-10-16 Julien MOUTTE <julien@moutte.net>
13686 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13687 fix. Because of unsigned ints, caps intersection was going nuts and
13688 trying to access structures with G_MAXUINT index. That fixes
13689 videotestsrc ! ffmpegcolorspace ! fakesink
13690 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13693 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13696 use the gettext macro
13697 * gst/elements/gstelements.c:
13699 * gst/indexers/gstindexers.c:
13700 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13701 * win32/common/config.h:
13703 * win32/common/config.h.in:
13704 add the template to generate config.h
13705 * win32/common/gstenumtypes.c:
13706 * win32/common/gstversion.h:
13709 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13711 * gst/gst.c: (gst_version):
13712 * gst/gstversion.h.in:
13715 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
13718 Oops, add missing closing bracket.
13720 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13723 use common m4's for argument checking
13725 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
13727 * docs/gst/gstreamer-sections.txt:
13729 Add GST_EVENT_TYPE_NAME() macro.
13731 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13734 * gst/gstpluginfeature.c:
13736 privatize more symbols
13738 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13741 add srcdir, builddir includes to GST_ALL_CFLAGS, since
13742 everything that uses GStreamer API should have the includes
13744 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13746 * docs/gst/gstreamer-sections.txt:
13747 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13749 give each value a _get_type, removes the DATA exports
13751 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13755 remove _gst_registry_auto_load, not used anymore
13756 * gst/gstbin.c: (gst_bin_get_type):
13758 * gst/gstelement.c: (gst_element_get_type):
13759 * gst/gstelement.h:
13760 * gst/gstobject.c: (gst_object_get_type):
13762 * gst/gstpad.c: (gst_pad_get_type):
13764 make _get_type functions similar, fixes data export from library
13766 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13769 correctly make conditionals
13770 * gst/elements/Makefile.am:
13771 * gst/elements/gstelements.c:
13772 fix typo causing fdsrc not to build
13774 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13776 * testsuite/Makefile.am:
13777 * testsuite/bytestream/.cvsignore:
13778 * testsuite/bytestream/Makefile.am:
13779 * testsuite/bytestream/filepadsink.c:
13780 * testsuite/bytestream/gstbstest.c:
13781 * testsuite/bytestream/test1.c:
13782 * testsuite/bytestream/testfile1:
13783 * testsuite/caps/normalisation.c:
13784 * testsuite/caps/random.c: (main):
13785 * testsuite/cleanup/.cvsignore:
13786 * testsuite/cleanup/Makefile.am:
13787 * testsuite/cleanup/cleanup1.c:
13788 * testsuite/cleanup/cleanup2.c:
13789 * testsuite/cleanup/cleanup3.c:
13790 * testsuite/cleanup/cleanup4.c:
13791 * testsuite/cleanup/cleanup5.c:
13792 * testsuite/controller/interpolator.c:
13793 * testsuite/debug/printf_extension.c: (main):
13794 * testsuite/elements/tee.c:
13795 * testsuite/negotiation/.cvsignore:
13796 * testsuite/negotiation/Makefile.am:
13797 * testsuite/negotiation/pad_link.c:
13798 * testsuite/pad/Makefile.am:
13799 * testsuite/pad/chainnopull.c:
13800 * testsuite/pad/getnopush.c:
13801 * testsuite/pad/link.c:
13802 * testsuite/refcounting/sched.c: (create_pipeline):
13803 * testsuite/registry/Makefile.am:
13804 * testsuite/registry/gst-print-formats.c:
13805 * testsuite/schedulers/.cvsignore:
13806 * testsuite/schedulers/142183-2.c:
13807 * testsuite/schedulers/142183.c:
13808 * testsuite/schedulers/143777-2.c:
13809 * testsuite/schedulers/143777.c:
13810 * testsuite/schedulers/147713.c:
13811 * testsuite/schedulers/147819.c:
13812 * testsuite/schedulers/147894-2.c:
13813 * testsuite/schedulers/147894.c:
13814 * testsuite/schedulers/Makefile.am:
13815 * testsuite/schedulers/group_link.c:
13816 * testsuite/schedulers/queue_link.c:
13817 * testsuite/schedulers/relink.c:
13818 * testsuite/schedulers/unlink.c:
13819 * testsuite/schedulers/unref.c:
13820 * testsuite/schedulers/useless_iteration.c:
13821 * testsuite/states/bin.c:
13822 clean out/remove some stuff from the testsuite directories
13824 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13827 check for some headers
13828 * gst/elements/Makefile.am:
13829 * gst/elements/gstelements.c:
13830 don't compile fdsrc without sys/socket.h
13831 * gst/indexers/Makefile.am:
13832 * gst/indexers/gstindexers.c: (plugin_init):
13833 don't compile fileindex without mmap
13835 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13842 * check/Makefile.am:
13843 * docs/gst/Makefile.am:
13844 * examples/helloworld/Makefile.am:
13846 * gst/base/Makefile.am:
13847 * gst/check/Makefile.am:
13848 * gst/elements/Makefile.am:
13849 * gst/indexers/Makefile.am:
13850 * gst/parse/Makefile.am:
13851 * libs/gst/controller/Makefile.am:
13852 * libs/gst/dataprotocol/Makefile.am:
13853 * examples/helloworld/helloworld.c: (event_loop):
13854 compile fixes, though it's not being compiled currently
13856 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
13858 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
13859 Add some simple tests for the new taglist date API.
13861 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
13863 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
13864 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
13865 Beautify 'last-message' output: print 'none' for buffer timestamps
13866 and durations if none is set; improve alignment with next messages.
13868 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
13870 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
13871 * gst/gstpluginfeature.h:
13872 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
13873 * gst/gstregistry.h:
13874 * docs/gst/gstreamer-sections.txt:
13875 Add new API to check plugin feature version requirements.
13877 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
13878 Some basic tests for the above.
13880 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13882 * gst/gststructure.c: (gst_structure_to_string):
13883 guard against NULL printf - happens when for example
13884 a message structure with GstClock gets serialized
13886 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
13888 * gst/base/gstcollectpads.c: (gst_collectpads_event):
13889 Fix presumable copy'n'pasto.
13891 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13893 * gst/elements/gstfakesrc.h:
13894 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
13895 * gst/elements/gsttypefindelement.c:
13896 fix some signedness
13897 * gst/elements/gstfilesink.c: (gst_file_sink_render):
13898 I wonder if this could actually write +2GB files before
13900 2005-10-13 Andy Wingo <wingo@pobox.com>
13902 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
13903 Fix Timmeke Waymans bug.
13904 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
13905 string of the proper length to gst_caps_from_string. There's a
13906 potential for, before this fix, that this could cause someone
13907 connecting over the network to cause a segfault if the payload is
13908 not NUL-terminated.
13910 2005-10-13 Stefan Kost <ensonic@users.sf.net>
13912 * docs/design/draft-push-pull.txt:
13913 * docs/design/part-overview.txt:
13914 * docs/random/TODO-pre-0.9:
13915 * docs/random/old/ChangeLog.gstreamer:
13916 * gst/base/gstpushsrc.c:
13920 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13922 * gst/glib-compat.c: (gst_flags_get_first_value):
13923 * gst/glib-compat.h:
13924 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
13925 (gst_value_compare_double), (gst_value_serialize_flags):
13926 GLib 2.6 g_flags_get_first_value has a bug that triggers an
13929 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13931 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13932 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13934 * tools/gst-launch.c: (event_loop):
13935 print out clock nicely
13937 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
13939 * docs/gst/gstreamer-sections.txt:
13940 * gst/gsttaglist.h:
13941 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
13942 (gst_tag_list_get_date_index):
13943 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
13944 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
13946 2005-10-13 Julien MOUTTE <julien@moutte.net>
13948 * gst/base/gstcollectpads.c: (gst_collectpads_event),
13949 (gst_collectpads_chain):
13950 * gst/base/gstcollectpads.h: Handle newsegment and store informations
13953 2005-10-13 Stefan Kost <ensonic@users.sf.net>
13955 * docs/gst/gstreamer-sections.txt:
13958 * tools/gst-inspect.c: (main):
13959 * tools/gst-launch.c: (main):
13960 * tools/gst-run.c: (main):
13961 * tools/gst-xmlinspect.c: (main):
13962 fix GOption context leaks
13965 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13969 * win32/common/config.h:
13971 * win32/vs6/grammar.dsp:
13972 * win32/vs6/libgstelements.dsp:
13973 * win32/vs6/libgstreamer.dsp:
13976 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
13978 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13979 * gst/base/gstbasesrc.c: (gst_base_src_query):
13980 fix more guint64<->gdouble conversions
13982 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
13985 add win32-update target
13986 * win32/common/gstconfig.h:
13987 * win32/common/gstenumtypes.c:
13988 * win32/common/gstenumtypes.h:
13989 * win32/common/gstversion.h:
13990 add files that visual studio can't generate
13992 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
13995 add a win32-update target
13998 2005-10-12 Wim Taymans <wim@fluendo.com>
14000 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14001 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
14002 * gst/gstelement.c: (gst_element_commit_state),
14003 (gst_element_set_state):
14004 Protect flags with proper lock.
14005 unref provided cached clock in dispose.
14007 2005-10-12 Stefan Kost <ensonic@users.sf.net>
14010 * gst/gstminiobject.h:
14012 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
14013 removed unused flags from miniobject
14016 2005-10-12 Wim Taymans <wim@fluendo.com>
14018 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14019 (gst_file_sink_event), (gst_file_sink_render):
14020 Flush before seeking.
14022 2005-10-12 Andy Wingo <wingo@pobox.com>
14024 * gst/gst.c (gst_init_check): Ignore unknown options, as has
14025 always been the case.
14027 2005-10-12 Stefan Kost <ensonic@users.sf.net>
14029 * check/gst/gstbin.c: (GST_START_TEST):
14030 * docs/gst/gstreamer-sections.txt:
14031 * gst/base/gstbasesink.c: (gst_base_sink_init):
14032 * gst/base/gstbasesrc.c: (gst_base_src_init),
14033 (gst_base_src_get_range), (gst_base_src_check_get_range),
14034 (gst_base_src_start), (gst_base_src_stop):
14035 * gst/base/gstbasesrc.h:
14036 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
14037 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14038 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
14042 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
14044 * gst/gstelement.c: (gst_element_is_locked_state),
14045 (gst_element_set_locked_state), (gst_element_commit_state),
14046 (gst_element_set_state):
14047 * gst/gstelement.h:
14048 * gst/gstindex.c: (gst_index_init):
14050 * gst/gstminiobject.h:
14051 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
14052 (gst_object_set_parent):
14054 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
14055 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
14057 * gst/gstpadtemplate.h:
14058 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
14059 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14060 * gst/gstpipeline.h:
14061 * gst/indexers/gstfileindex.c: (gst_file_index_load),
14062 (gst_file_index_commit):
14063 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
14064 * testsuite/pad/link.c: (gst_test_src_init),
14065 (gst_test_filter_init), (gst_test_sink_init):
14066 * testsuite/states/locked.c: (main):
14067 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
14068 moved bitshift from macro to enum definition
14070 2005-10-12 Wim Taymans <wim@fluendo.com>
14072 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
14073 * gst/elements/gstfilesink.c: (gst_file_sink_event),
14074 (gst_file_sink_render):
14075 Some more debugging info.
14077 2005-10-12 Wim Taymans <wim@fluendo.com>
14079 * docs/design/part-states.txt:
14080 * tools/gst-launch.c: (main):
14082 Revert non-intentional change.
14084 2005-10-12 Wim Taymans <wim@fluendo.com>
14086 * check/gst/gstbin.c: (GST_START_TEST):
14087 * check/gst/gstelement.c: (GST_START_TEST):
14088 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
14089 * check/gst/gstghostpad.c: (GST_START_TEST):
14090 * check/gst/gstpipeline.c: (GST_START_TEST):
14091 * check/pipelines/simple_launch_lines.c: (run_pipeline):
14092 * check/states/sinks.c: (GST_START_TEST):
14093 * gst/elements/gsttypefindelement.c: (stop_typefinding):
14094 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14095 (gst_bin_remove_func), (gst_bin_get_state_func),
14096 (gst_bin_recalc_state), (gst_bin_change_state_func),
14098 * gst/gstelement.c: (gst_element_get_state_func),
14099 (gst_element_get_state), (gst_element_abort_state),
14100 (gst_element_commit_state), (gst_element_set_state),
14101 (gst_element_change_state), (gst_element_change_state_func):
14102 * gst/gstelement.h:
14103 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
14104 (gst_pipeline_provide_clock_func):
14105 * gst/gstutils.c: (gst_element_link_pads_filtered):
14106 * tools/gst-launch.c: (main):
14107 * tools/gst-typefind.c: (main):
14108 Use GstClockTime in _get_state() instead of GTimeVal.
14109 Remove old code in gstutils.c
14111 2005-10-12 Andy Wingo <wingo@pobox.com>
14113 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
14116 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
14117 there is no task. Shouldn't affect any code, as nothing in our
14118 plugins checks this return value.
14119 (gst_pad_stop_task): Also take the stream lock if the pad has no
14120 task. Docs updated.
14122 2005-10-12 Wim Taymans <wim@fluendo.com>
14124 * gst/gstpad.c: (pre_activate), (post_activate),
14125 (gst_pad_activate_pull), (gst_pad_activate_push):
14126 Cleanup activation code. Reset old state if
14129 2005-10-12 Wim Taymans <wim@fluendo.com>
14131 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14132 (gst_base_sink_change_state):
14133 No need to prerol after receiving EOS.
14135 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14136 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
14137 * gst/elements/gstidentity.c: (gst_identity_event):
14138 Print events more verbosely.
14140 2005-10-12 Wim Taymans <wim@fluendo.com>
14142 * check/Makefile.am:
14143 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
14144 * check/states/sinks2.c:
14145 Moved sinks2 testcode in sinks check.
14147 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14148 (gst_bin_remove_func), (gst_bin_recalc_state),
14149 (gst_bin_change_state_func), (bin_bus_handler):
14150 Fix potential race condition when _get_state() iterated over an
14151 ASYNC element right before it posted a state completion.
14154 Do proper cast here.
14156 * gst/gstevent.c: (gst_event_new_newsegment),
14157 (gst_event_parse_newsegment):
14158 A playback rate of 0.0 is not allowed.
14160 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
14162 * win32/common/config.h:
14163 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
14164 (_trewinddir), (_ttelldir), (_tseekdir):
14165 * win32/common/dirent.h:
14166 * win32/common/gtchar.h:
14167 * win32/common/libgstbase.def:
14168 * win32/common/libgstreamer.def:
14169 * win32/vs6/grammar.dsp:
14170 * win32/vs6/gst_inspect.dsp:
14171 * win32/vs6/gst_launch.dsp:
14172 * win32/vs6/gstreamer.dsw:
14173 * win32/vs6/libgstbase.dsp:
14174 * win32/vs6/libgstelements.dsp:
14175 * win32/vs6/libgstreamer.dsp:
14176 Visual Studio 6 project files, and a new common directory.
14179 2005-10-11 Wim Taymans <wim@fluendo.com>
14181 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14182 (gst_base_sink_do_sync), (gst_base_sink_query),
14183 (gst_base_sink_change_state):
14184 * gst/base/gstbasesink.h:
14185 Correctly parse newsegment info.
14187 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
14189 * gst/gst.c: (init_post):
14190 split plugin paths correctly
14192 2005-10-11 Wim Taymans <wim@fluendo.com>
14194 * check/gst/gstevent.c: (GST_START_TEST):
14195 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14196 (gst_base_sink_change_state):
14197 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
14198 * gst/base/gstbasetransform.c: (gst_base_transform_event):
14199 * gst/elements/gstfilesink.c: (gst_file_sink_event):
14200 * gst/gstevent.c: (gst_event_new_newsegment),
14201 (gst_event_parse_newsegment):
14203 Added extra flag to newsegment for future API freeze.
14204 Updated check and base elements.
14206 2005-10-11 Julien MOUTTE <julien@moutte.net>
14208 * gst/base/gstcollectpads.c: (gst_collectpads_init),
14209 (gst_collectpads_add_pad), (gst_collectpads_pop),
14210 (gst_collectpads_event), (gst_collectpads_chain):
14211 * gst/base/gstcollectpads.h: Handle EOS correctly.
14213 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
14215 * tools/gst-launch.c: (main):
14216 more null protecting
14218 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
14220 * gst/gst-i18n-lib.h:
14221 check for ENABLE_NLS, not GETTEXT_PACKAGE
14222 * gst/gstregistry.c: (gst_registry_add_plugin),
14223 (gst_registry_scan_path_level),
14224 (_gst_registry_remove_cache_plugins):
14225 protect possibly NULL strings
14226 * gst/parse/types.h:
14227 config.h already included before
14228 * tools/gst-inspect.c: (main):
14229 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
14230 check for ENABLE_NLS, not GETTEXT_PACKAGE
14231 * tools/gst-launch.c: (main):
14232 check for ENABLE_NLS, not GETTEXT_PACKAGE
14234 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
14237 if we don't have glib, fail before testing 2.8
14238 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
14239 fix a leak, should fix plugins-base testsuite
14241 2005-10-11 Andy Wingo <wingo@pobox.com>
14243 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
14244 take the mode we're going to as an arg. Go head and set the mode
14245 and flushing flags now, so that if the activate function starts a
14246 thread all the flags will be in the right state.
14247 (post_activate): Renamed also. Just handle making sure streaming
14248 finishes for the deactivation case, and setting the deactivated
14250 (gst_pad_set_active): Complain loudly if deactivation fails.
14251 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
14252 (gst_pad_activate_push): Adapt to pre/post_activate changes,
14253 remove the terrible hack.
14255 2005-10-11 Wim Taymans <wim@fluendo.com>
14257 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14258 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
14259 (gst_bin_recalc_state), (gst_bin_change_state_func),
14260 (gst_bin_dispose), (bin_bus_handler):
14262 Prepare to make current EOS message queue more generic.
14265 * gst/gstevent.c: (gst_event_new_newsegment),
14266 (gst_event_parse_newsegment):
14268 Rename base to stream_time.
14270 * gst/gstmessage.h:
14273 2005-10-11 Wim Taymans <wim@fluendo.com>
14275 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14276 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
14277 (gst_bin_change_state_func), (bin_bus_handler):
14279 Work on proper clock selection.
14281 2005-10-11 Edward Hervey <edward@fluendo.com>
14283 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
14284 * libs/gst/controller/gstcontroller.h:
14285 Added GList* version of _remove_properties() in order to be able to wrap
14288 2005-10-11 Wim Taymans <wim@fluendo.com>
14290 * docs/design/part-states.txt:
14293 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
14294 (gst_bin_change_state_func), (bin_bus_handler):
14295 Doc updates. Don't distribute the same clock over and over again.
14301 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14302 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14303 (gst_pad_send_event):
14305 Make probe emission threadsafe again.
14306 Register quarks and move _get_name() from utils.
14309 * gst/gstpipeline.c: (gst_pipeline_class_init),
14310 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14311 Only redistribute the clock of it changed.
14313 * gst/gstsystemclock.h:
14318 Moved the _flow_get_name() to GstPad.
14320 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
14322 * check/gst-libs/gdp.c: (GST_START_TEST):
14323 * check/gst/gstcaps.c: (GST_START_TEST):
14324 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14325 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14326 (gst_dp_packet_from_caps):
14327 fix more valgrind warnings before turning up the heat
14329 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
14331 * gst/parse/grammar.y:
14332 some cleanup before the hacking
14334 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
14336 * gst/base/gstbasesrc.c: (gst_base_src_query):
14338 * gst/gstutils.c: (gst_guint64_to_gdouble),
14339 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14341 externalize, basesrc uses it
14342 obviously the implementation needs testing
14344 2005-10-10 Wim Taymans <wim@fluendo.com>
14346 * tests/sched/Makefile.am:
14347 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14348 (make_pipeline3), (make_pipeline4), (print_elem), (main):
14350 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
14352 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14353 apparently converting from guint64 to double is not implemented
14356 2005-10-10 Wim Taymans <wim@fluendo.com>
14358 * check/Makefile.am:
14359 * check/generic/states.c: (GST_START_TEST):
14360 * check/gst/gstbin.c: (GST_START_TEST):
14361 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14362 * check/states/sinks.c: (GST_START_TEST):
14363 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14365 Check fixes, use API as stated in design docs, remove hacks.
14367 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14368 (gst_base_sink_change_state):
14369 Catch stopping our task while we're shutting down.
14371 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14372 (gst_bin_remove_func), (gst_bin_get_state_func),
14373 (gst_bin_recalc_state), (gst_bin_change_state_func),
14376 * gst/gstelement.c: (gst_element_init),
14377 (gst_element_get_state_func), (gst_element_abort_state),
14378 (gst_element_commit_state), (gst_element_lost_state),
14379 (gst_element_set_state), (gst_element_change_state),
14380 (gst_element_change_state_func):
14381 * gst/gstelement.h:
14382 New state change algorithm (see #318116)
14384 * gst/gstpipeline.c: (gst_pipeline_class_init),
14385 (gst_pipeline_init), (gst_pipeline_set_property),
14386 (gst_pipeline_get_property), (do_pipeline_seek),
14387 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14388 * gst/gstpipeline.h:
14389 Remove crude state change hacks.
14392 Remove crude hacks.
14394 * tools/gst-launch.c: (main):
14395 Fixes for state change. Needs some more work to fully use the
14398 2005-10-10 Andy Wingo <wingo@pobox.com>
14400 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14402 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14403 this flag, but it's not even in GLib 2.6. Odd. Hack around the
14406 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
14408 * gst/gstiterator.c: (gst_iterator_new):
14409 Fix my previous commit: GTypes passed to gst_iterator_new()
14410 can be fundamental types.
14412 2005-10-10 Wim Taymans <wim@fluendo.com>
14414 * gst/gstelement.c: (gst_element_iterate_pad_list),
14415 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14416 (gst_element_iterate_sink_pads):
14417 Use src/sink pads lists for the respective iterators instead
14420 2005-10-10 Andy Wingo <wingo@pobox.com>
14422 Merged in popt removal + GOption addition patch from Ronald, bug
14425 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14426 GstElement macros around, remove popt-related symbols, add goption
14429 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14431 * docs/gst/Makefile.am:
14432 * docs/libs/Makefile.am: No POPT_CFLAGS.
14434 * examples/manual/Makefile.am:
14435 * docs/manual/basics-init.xml: Doc updates with an example.
14437 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14438 (gst_init), (parse_one_option), (parse_goption_arg):
14439 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14440 bit of hand merging and debugging to get the GOption stuff working
14443 * tests/Makefile.am:
14444 * tools/Makefile.am:
14445 * tools/gst-inspect.c: (main):
14446 * tools/gst-launch.c: (main):
14447 * tools/gst-run.c: (main):
14448 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14450 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
14452 * gst/gstiterator.c: (gst_iterator_new):
14453 Add assertions to make sure passed GType is likely to really
14454 be a GType (as the compiler won't catch it if the size and
14455 GType arguments get mixed up, see #318447).
14457 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
14459 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
14461 * gst/gstbin.c: (gst_bin_iterate_sorted):
14462 Pass GType and size arguments to gst_iterator_new() in the right
14463 order (maybe we should make _new() take the GType as first argument
14464 just like _new_list()?) (#318447).
14467 2005-10-10 Wim Taymans <wim@fluendo.com>
14469 * gst/gstelement.c: (gst_element_finalize):
14470 And free the GStaticRecMutex too
14472 2005-10-10 Andy Wingo <wingo@pobox.com>
14474 * gst/gstelement.c (gst_element_init, gst_element_finalize):
14475 Allocate and free the mutex properly.
14477 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14479 (GstElement): The state_lock is now recursive. Rebuild your
14480 plugins, suckers. Old macros adapted.
14482 * docs/gst/gstreamer-sections.txt: Doc updates.
14485 * gst/gstutils.c (g_static_rec_cond_timed_wait)
14486 (g_static_rec_cond_wait): Ported from state changes patch, while
14487 we wait on bug #317802 to be solved in a well-distributed GLib.
14489 * gst/gstelement.c (gst_element_change_state_func): Renamed from
14490 gst_element_change_state, variable name changes.
14491 (gst_element_change_state): Split out of gst_element_set_state in
14492 preparation for the state change merge. Doesn't pay attention to
14493 the 'transition' argument.
14494 (gst_element_set_state): Updates, hopefully purely cosmetic.
14495 (gst_element_sync_state_with_parent): MT-safety. Ported from the
14496 state change patch.
14497 (gst_element_get_state_func): Renamed from get_state, cosmetic
14500 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
14502 * gst/elements/gstelements.c:
14503 * win32/GStreamer.vcproj:
14505 * win32/dirent.c: (_tseekdir):
14506 * win32/gst-inspect.vcproj:
14507 * win32/gst-launch.vcproj:
14508 * win32/gstconfig.h:
14509 * win32/gstelements.vcproj:
14510 * win32/gstenumtypes.c: (gst_object_flags_get_type):
14511 * win32/gstreamer.def:
14512 * win32/msvc71.sln:
14513 updates for the win32 build (patch from Sebastien Moutte)
14515 2005-10-10 Andy Wingo <wingo@pobox.com>
14517 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14518 gst_bin_get_state, cleaned up (but no logic changes).
14519 (bin_element_is_sink): Comment updates.
14520 (sink_iterator_filter): Remove needless cast.
14521 (gst_bin_iterate_sinks): Doc update.
14522 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14523 cleaned up (but no logic changes).
14525 * check/states/sinks.c (test_src_sink): Cleanups from the state
14527 (test_livesrc_sink): Sync on the state.
14529 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14530 the state change patch.
14532 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14535 * check/gst/gstbin.c: Merge in some style fixes and additional
14536 checks from Wim's state change patch.
14538 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
14540 * gst/base/gsttypefindhelper.c: (helper_find_peek),
14541 (gst_type_find_helper):
14542 Check whether we have the requested data already in our list of
14543 cached buffers before pulling a new buffer; also make the buffer
14544 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14546 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
14551 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14552 don't use long long, it's not portable. Replacing with
14553 gint64 seems to work; let's hope no skeletons fall out of the closet.
14555 2005-10-10 Andy Wingo <wingo@pobox.com>
14557 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14559 2005-10-09 Stefan Kost <ensonic@users.sf.net>
14561 * docs/gst/gstreamer-sections.txt:
14566 * gst/gstmessage.c: (gst_message_parse_state_changed):
14569 more docs, fix compilation
14571 2005-10-09 Philippe Khalaf <burger@speedy.org>
14572 * gst/gstmessage.c:
14573 Fixed a few forgotten variables on previous commit
14575 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
14577 * gst/base/gsttypefindhelper.c: (helper_find_peek):
14578 Fix evil typefind crasher: getrange() might return a short
14579 buffer at the end of a file, but gst_type_find_peek() must
14580 either return the full data as requested or NULL, but
14581 never a short buffer.
14583 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
14585 * gst/gstmessage.c: (gst_message_new_state_changed),
14586 (gst_message_parse_state_changed):
14587 * gst/gstmessage.h:
14588 don't use "new", it's a C++ keyword
14590 2005-10-08 Wim Taymans <wim@fluendo.com>
14592 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14593 * gst/gstelement.c: (gst_element_post_message):
14594 * gst/gstpipeline.c: (gst_pipeline_change_state):
14595 Small docs and debug updates.
14597 2005-10-08 Stefan Kost <ensonic@users.sf.net>
14599 * docs/gst/gstreamer-sections.txt:
14600 * gst/gstelementfactory.c:
14602 * gst/gsttaglist.c:
14605 2005-10-08 Wim Taymans <wim@fluendo.com>
14607 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14608 (gst_bin_dispose), (bin_bus_handler):
14609 Fix typos, add comments.
14610 Clear EOS list when going to PAUSED from any direction and do it
14611 in a threadsafe way.
14612 Get base time in a threadsafe way too.
14613 Fix confusing debug in the change_state function.
14614 Various other small cleanups.
14616 * gst/gstelement.c: (gst_element_post_message):
14617 Fix very verbose bus posting code.
14619 * gst/gstpipeline.c: (gst_pipeline_class_init),
14620 (gst_pipeline_set_property), (gst_pipeline_get_property),
14621 (gst_pipeline_change_state):
14622 Small ARG_ -> PROP_ cleanup
14624 2005-10-08 Wim Taymans <wim@fluendo.com>
14626 * gst/gstbin.c: (is_eos), (bin_bus_handler):
14627 Do a less CPU demanding EOS check because we can.
14629 2005-10-08 Wim Taymans <wim@fluendo.com>
14631 * libs/gst/dataprotocol/dataprotocol.c:
14632 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14633 (gst_dp_packet_from_event):
14634 * libs/gst/dataprotocol/dataprotocol.h:
14635 * libs/gst/dataprotocol/dp-private.h:
14636 It's about time we bump the version number.
14637 Since event types don't fit in the guint8 anymore describing
14638 the payload type, make payload type 16 bits wide.
14640 2005-10-08 Wim Taymans <wim@fluendo.com>
14642 * docs/design/part-TODO.txt:
14643 * docs/design/part-clocks.txt:
14644 * docs/design/part-events.txt:
14645 * docs/design/part-gstbin.txt:
14646 * docs/design/part-gstelement.txt:
14647 * docs/design/part-gstpipeline.txt:
14648 * docs/design/part-live-source.txt:
14649 * docs/design/part-messages.txt:
14650 * docs/design/part-overview.txt:
14651 * docs/design/part-states.txt:
14654 2005-10-08 Wim Taymans <wim@fluendo.com>
14658 Fix event quark registration.
14659 Add some space between events so we can insert them in the
14662 2005-10-08 Wim Taymans <wim@fluendo.com>
14664 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14665 (gst_base_sink_handle_buffer):
14666 Better log message.
14669 * gst/gstelement.h:
14672 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14673 (gst_queue_set_property), (gst_queue_get_property):
14675 Remove old unused properties.
14677 2005-10-08 Stefan Kost <ensonic@users.sf.net>
14678 * docs/gst/gstreamer-sections.txt:
14679 * gst/gstmessage.c:
14680 * gst/gstmessage.h:
14681 * gst/gstminiobject.c:
14682 * gst/gstminiobject.h:
14686 lots of new docs and doc fixes
14688 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14690 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14692 * gst/gstregistry.c: (gst_registry_lookup_locked),
14693 (gst_registry_scan_path_level):
14694 * gst/gstregistryxml.c: (load_plugin):
14695 Only ever load one plugin for a given plugin basename.
14696 This ensures correct overriding of GST_PLUGIN_PATH over
14697 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14698 system installed plugins.
14700 2005-10-08 Wim Taymans <wim@fluendo.com>
14702 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14703 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14704 Prepare for doing QOS.
14706 2005-10-08 Wim Taymans <wim@fluendo.com>
14708 * check/gst/gstbin.c: (GST_START_TEST):
14709 * check/pipelines/cleanup.c: (GST_START_TEST):
14710 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14711 Allow new clock message too.
14713 2005-10-08 Wim Taymans <wim@fluendo.com>
14715 * gst/gstmessage.c: (gst_message_new_error),
14716 (gst_message_new_warning), (gst_message_new_tag),
14717 (gst_message_new_state_changed), (gst_message_new_clock_provide),
14718 (gst_message_new_clock_lost), (gst_message_new_new_clock),
14719 (gst_message_new_segment_start), (gst_message_new_segment_done),
14720 (gst_message_parse_state_changed),
14721 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14722 (gst_message_parse_new_clock):
14723 * gst/gstmessage.h:
14724 Also carry the clock in question.
14726 2005-10-08 Wim Taymans <wim@fluendo.com>
14728 * gst/gstmessage.c: (gst_message_new_custom),
14729 (gst_message_new_eos), (gst_message_new_error),
14730 (gst_message_new_warning), (gst_message_new_tag),
14731 (gst_message_new_state_changed), (gst_message_new_clock_provide),
14732 (gst_message_new_new_clock), (gst_message_new_segment_start),
14733 (gst_message_new_segment_done), (gst_message_parse_state_changed),
14734 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14735 * gst/gstmessage.h:
14737 Added clock related messages.
14739 * gst/gstpipeline.c: (gst_pipeline_change_state):
14740 Post message when the clock changed.
14742 * tools/gst-launch.c: (event_loop):
14745 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
14747 * tools/gst-inspect.c: (print_element_properties_info):
14748 Can't pass NULL strings to g_print() on windows.
14750 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14752 * docs/Makefile.am:
14753 * docs/gst/Makefile.am:
14754 * docs/gst/gstreamer-docs.sgml:
14755 * docs/gst/running.xml:
14756 * docs/version.entities.in:
14757 add a chapter on running GStreamer.
14758 document GST_DEBUG and GST_PLUGIN* env vars
14760 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14765 remove PLUGINS_BUILDDIR stuff
14766 * gst/gst.c: (init_post):
14767 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14769 remove, it was condescending and not needed
14771 2005-10-08 Wim Taymans <wim@fluendo.com>
14773 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14774 (gst_base_sink_handle_object), (gst_base_sink_event),
14775 (gst_base_sink_wait), (gst_base_sink_handle_event),
14776 (gst_base_sink_change_state):
14777 * gst/base/gstbasesink.h:
14778 Repost EOS message while going to PLAYING if still EOS.
14779 Make sure that when receiving a FLUSH_START we don't attempt
14780 to sync on the clock anymore.
14782 2005-10-08 Wim Taymans <wim@fluendo.com>
14784 * tools/gst-launch.c: (event_loop):
14785 Better message printout.
14787 2005-10-08 Wim Taymans <wim@fluendo.com>
14789 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
14790 (gst_bin_child_proxy_get_children_count):
14791 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14792 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
14793 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
14794 (gst_child_proxy_set_valist):
14795 * gst/parse/grammar.y:
14796 Make ChildProxy threadsafe and fix mem leaks.
14798 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14800 * gst/gst.c: (init_post):
14801 debug the GST_PLUGIN_ env vars
14803 2005-10-08 Wim Taymans <wim@fluendo.com>
14805 * check/gst/gstbin.c: (GST_START_TEST):
14806 * check/gst/gstmessage.c: (GST_START_TEST):
14807 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14808 * gst/gstelement.c: (gst_element_commit_state),
14809 (gst_element_lost_state):
14810 * gst/gstmessage.c: (gst_message_new_state_changed),
14811 (gst_message_parse_state_changed):
14812 * gst/gstmessage.h:
14813 * tools/gst-launch.c: (event_loop):
14814 Added extra field to STATE_CHANGE message with the pending
14815 state, which will be different from the new state soon.
14817 2005-10-08 Wim Taymans <wim@fluendo.com>
14819 * gst/gstbus.c: (gst_bus_pop):
14821 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14822 Small cleanups and doc updates.
14824 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14826 * gst/gst.c: (init_pre):
14827 * gst/gstbin.c: (gst_bin_add_func):
14828 log distributing clocks and base time
14829 * gst/gstregistry.c: (gst_registry_add_plugin),
14830 (gst_registry_scan_path_level), (gst_registry_scan_path):
14831 clean up the debugging output a little
14832 * gst/gstutils.c: (gst_element_state_get_name):
14833 warn about a memleak (I've actually seen this be used, though
14834 it was probably a bug)
14836 2005-10-07 Wim Taymans <wim@fluendo.com>
14838 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14839 (gst_base_src_init), (gst_base_src_default_newsegment),
14840 (gst_base_src_newsegment), (gst_base_src_do_seek),
14841 (gst_base_src_loop), (gst_base_src_start):
14842 * gst/base/gstbasesrc.h:
14843 Make the newsegment event customizable by subclasses.
14845 2005-10-07 Wim Taymans <wim@fluendo.com>
14847 * gst/gstevent.c: (gst_event_new_buffersize),
14848 (gst_event_parse_buffersize):
14850 New event for future idea.
14852 2005-10-07 Andy Wingo <wingo@pobox.com>
14854 * gst/gstelement.c (gst_element_post_message): Doc update.
14856 * docs/gst/gstreamer-sections.txt: Update.
14858 * gst/gstmessage.c (gst_message_new_application): Made into a
14859 function like honest API calls.
14860 (gst_message_new_element): New message type.
14862 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
14864 * check/elements/fakesrc.c (test_no_preroll): New check, checks
14865 that setting a live fakesrc to PAUSED returns NO_PREROLL both
14868 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
14869 NO_PREROLL from gst_element_change_state to fall through.
14871 2005-10-07 Wim Taymans <wim@fluendo.com>
14873 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
14874 (gst_ghost_pad_do_activate_push):
14875 Activating a ghostpad with no internal pad in push mode
14878 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
14881 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
14882 Fixes compilation on Windows.
14884 2005-10-07 Michael Smith <msmith@fluendo.com>
14886 * tools/gst-inspect.c:
14887 Print out feature and plugin count at the end when printing out
14890 2005-10-04 Michael Smith <msmith@fluendo.com>
14892 * gst/gsterror.c: (_gst_stream_errors_init):
14893 Add another error string used in a few existing plugins.
14896 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14897 * tools/gst-inspect.c: (print_element_info):
14898 When a feature disappears from a plugin (and the feature exists in
14899 the cached registry file), things went horribly wrong. This isn't a
14900 complete fix, we should actually be removing the 'missing' features
14901 from the features list when we load the actual plugin. That's not
14904 2005-10-04 Johan Dahlin <johan@gnome.org>
14906 * check/gst/gstiterator.c: (GST_START_TEST):
14907 * gst/gstbin.c: (gst_bin_iterate_elements),
14908 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
14909 * gst/gstelement.c: (gst_element_iterate_pads):
14910 * gst/gstformat.c: (gst_format_iterate_definitions):
14911 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14912 (gst_iterator_new_list), (gst_iterator_filter):
14913 * gst/gstiterator.h:
14914 * gst/gstquery.c: (gst_query_type_iterate_definitions):
14915 Add a GType to GstIterator, update callsites and tests.
14917 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14919 * gst/gstpad.c: (gst_pad_event_default_dispatch):
14920 give events a chance to be handled by event probes when the pad
14923 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14925 * gst/gstevent.c: (gst_event_type_get_name),
14926 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
14928 add string representations for event types
14930 2005-10-06 Wim Taymans <wim@fluendo.com>
14932 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
14933 Don't use NULL pointers.
14935 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14937 * gst/gst_private.h:
14939 * gst/gstelement.c:
14941 * gst/gstpluginfeature.c:
14942 widen the debug category in output to fit the biggest one we have
14943 add a bus category and use it
14944 play with the colors
14945 fix up some categories
14947 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14949 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
14950 add push activation of sink ghost pads.
14951 Andye, please verify
14953 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
14955 * gst/gstutils.c: (gst_element_link_pads):
14956 fix a bug in the case where neither element has a pad
14957 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14958 add a test for that case
14960 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
14962 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
14963 emit have-data before checking for peers. This allows
14964 for probe handlers to connect elements. This helps autopluggers.
14965 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
14967 add six checks, linked/unlinked with no/true/false probe
14969 2005-10-04 Wim Taymans <wim@fluendo.com>
14971 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
14972 (gst_fake_sink_event), (gst_fake_sink_preroll),
14973 (gst_fake_sink_render), (gst_fake_sink_change_state):
14974 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
14975 (gst_fake_src_get_property), (gst_fake_src_create),
14976 (gst_fake_src_stop):
14977 * gst/elements/gstidentity.c: (gst_identity_stop):
14978 Protect last_message with lock.
14980 2005-10-04 Edward Hervey <edward@fluendo.com>
14983 Added precision in the comments for GST_FORMAT_DEFAULT
14985 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
14987 * tools/gst-launch.c: (main):
14988 Don't try to run erroneous pipelines.
14990 2005-10-04 Julien MOUTTE <julien@moutte.net>
14992 * gst/gstbus.c: We don't need this header.
14994 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
14997 back to development
14999 === release 0.9.3 ===
15001 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
15005 Releasing 0.9.3, "Unregistered"
15007 2005-10-03 Andy Wingo <wingo@pobox.com>
15009 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
15010 whereby calling a pad's activatepush() function can start a thread
15011 that starts to push or pull before the pad gets the FLUSHING flag
15012 unset. Hack around it by holding the stream lock until the flag is
15013 set. Need to replace this with a proper solution. Together with
15014 the ghost pad fixes, this fixes mp3 playing/tagreading.
15016 * docs/design/part-gstghostpad.txt: Add a note about activation of
15017 proxy pads outside of ghost pads.
15019 * gst/gstghostpad.c: Implement the ghost pad activation design.
15021 2005-10-02 Andy Wingo <wingo@pobox.com>
15023 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
15024 It is volatile, after all.
15026 * docs/design/part-gstghostpad.txt: Flesh out activation with
15029 * gst/base/gstbasesrc.c (gst_base_src_init): Use
15032 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
15035 Fix (unused) AM_CONDITIONAL tests.
15037 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
15039 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
15041 * gst/gstutils.c: (gst_pad_query_convert):
15042 Add assertion that makes sure src_val is >=0, just like
15043 gst_query_new_convert() has. (#315895)
15045 2005-09-30 Edward Hervey <edward@fluendo.com>
15047 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
15048 Let's not iterate pads we're not interested in, it avoids getting
15049 sky-high refcounts on sinkpad.
15051 2005-09-30 Wim Taymans <wim@fluendo.com>
15053 * gst/gstelement.c: (gst_element_set_state),
15054 (gst_element_change_state):
15055 Small tweak, element in ASYNC remains ASYNC.
15057 2005-09-30 Wim Taymans <wim@fluendo.com>
15059 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15060 Only error is an error.
15062 * gst/gstbin.c: (gst_bin_change_state):
15065 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
15066 Also call pad_block in pad alloc.
15068 * gst/gstutils.c: (gst_flow_get_name):
15071 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
15073 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15074 (gst_base_src_get_range):
15075 Fix documentation typos. Add some more debug info.
15077 2005-09-29 David Schleef <ds@schleef.org>
15079 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
15080 more end-user friendly.
15081 * tools/gst-inspect.c: (main): Check if command-line argument is
15082 a file and attempt to load that file as a plugin.
15084 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
15086 * check/gst/gstbin.c:
15087 * check/states/sinks.c:
15088 fix tests for the new warning
15089 * check/gst/gstpipeline.c:
15090 add a test for pipeline and bus interaction
15091 * gst/gstelement.c:
15092 elements should be NULL if they get disposed; add a warning if not
15094 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
15097 for 2.6 refcounting, make debug log more correct by printing
15098 the actual refcounts at the time of swap (Wim)
15100 2005-09-29 Andy Wingo <wingo@pobox.com>
15102 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
15103 removes signal watches previously added via
15104 gst_bus_add_signal_watch.
15105 (gst_bus_add_signal_watch): Don't return the source id, just store
15106 it on the bus if there wasn't an id already.
15108 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
15109 add_signal_watch and remove_signal_watch.
15111 2005-09-29 Edward Hervey <edward@fluendo.com>
15113 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
15114 Better if we actually iterate the list :)
15116 2005-09-29 Wim Taymans <wim@fluendo.com>
15118 * check/gst/gstbin.c: (GST_START_TEST):
15119 Change for new bus API.
15121 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15122 (send_messages), (GST_START_TEST), (gstbus_suite):
15123 Change for new bus signal API.
15125 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
15126 (gst_bus_source_prepare), (gst_bus_source_check),
15127 (gst_bus_create_watch), (gst_bus_add_watch_full),
15128 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
15129 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
15131 Remove support for multiple GSources operating on different
15132 message types as it is too complex and unneeded when using
15134 Added support for receiving signals from the bus.
15136 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
15138 * docs/libs/tmpl/gstdataprotocol.sgml:
15139 * docs/manual/advanced-dataaccess.xml:
15140 * gst/elements/gstcapsfilter.c:
15142 rename filter-caps to caps property
15144 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
15146 * gst/gstvalue.c: (gst_value_deserialize_fraction):
15147 More robust fraction string parsing.
15149 * docs/pwg/appendix-porting.xml:
15150 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
15152 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
15154 * gst/gstcaps.c: (gst_caps_do_simplify):
15155 Thou shalt not free a structure and then continue using it
15156 in the next loop iteration.
15158 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
15160 Add test case for caps simplification.
15162 2005-09-29 Wim Taymans <wim@fluendo.com>
15164 * check/gst/gstbin.c: (GST_START_TEST):
15167 2005-09-29 Wim Taymans <wim@fluendo.com>
15169 * check/gst/gstbin.c: (GST_START_TEST):
15172 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
15173 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15174 (find_element), (gst_bin_sort_iterator_next),
15175 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15176 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15177 (gst_bin_change_state), (gst_bin_dispose):
15178 A bin does not have a bus, it gets the bus from the parent.
15180 * gst/gstelement.c: (gst_element_requires_clock),
15181 (gst_element_provides_clock), (gst_element_is_indexable),
15182 (gst_element_is_locked_state), (gst_element_change_state),
15183 (gst_element_set_bus_func):
15186 * gst/gstpipeline.c: (gst_pipeline_class_init),
15187 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
15188 The pipeline provides a bus.
15190 2005-09-28 Johan Dahlin <johan@gnome.org>
15192 * gst/gstmessage.c (gst_message_parse_state_changed): Use
15193 gst_structure_get_enum instead of gst_structure_get_int
15195 * gst/gststructure.c (gst_structure_get_enum): Impl.
15197 * gst/gststructure.h (gst_structure_get_enum): Add
15199 * docs/gst/gstreamer-sections.txt: Ditto
15201 * gst/gstmessage.c (gst_message_new_state_changed): Use
15202 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
15203 which does introspection.
15204 Reviewed by Christian Schaller
15206 2005-09-28 Stefan Kost <ensonic@users.sf.net>
15208 * gst/gstinfo.c: (gst_debug_log_default):
15209 don't do dummy g_strdup()s
15210 * libs/gst/controller/gstcontroller.c:
15211 (on_object_controlled_property_changed),
15212 (gst_controlled_property_new), (gst_controller_new_valist),
15213 (gst_controller_new_list),
15214 (gst_controller_remove_properties_valist), (gst_controller_set),
15215 (gst_controller_get), (gst_controller_sync_values),
15216 (gst_controller_get_value_array), (_gst_controller_class_init),
15217 (gst_controller_get_type):
15218 * libs/gst/controller/gstcontroller.h:
15219 * libs/gst/controller/gstinterpolation.c:
15220 (gst_controlled_property_find_timed_value_node):
15221 convert // to /**/ comments
15223 2005-09-28 Wim Taymans <wim@fluendo.com>
15225 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
15226 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
15227 (gst_bus_sync_signal_handler):
15229 Added async-message and sync-message signals to the bus.
15230 Added helper BusFunc to emit signals for all posted messages.
15232 * gst/gstmessage.c: (gst_message_type_get_name),
15233 (gst_message_type_to_quark), (gst_message_get_type):
15234 * gst/gstmessage.h:
15235 Register quarks for message names.
15237 2005-09-28 Stefan Kost <ensonic@users.sf.net>
15239 * docs/libs/gstreamer-libs-sections.txt:
15240 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
15241 (gst_controller_new_list):
15242 * libs/gst/controller/gstcontroller.h:
15243 added another constructor for language bindings
15245 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
15247 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15251 * gst/gstinfo.c: (_gst_debug_init):
15252 slightly more readable color for refcount debugging
15254 2005-09-28 Wim Taymans <wim@fluendo.com>
15256 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15257 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15258 (find_element), (gst_bin_sort_iterator_next),
15259 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15260 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15261 (gst_bin_change_state), (gst_bin_dispose):
15262 Small doc fixes. get_clock -> provide_clock.
15264 * gst/gstelement.c: (gst_element_class_init),
15265 (gst_element_provides_clock), (gst_element_provide_clock),
15266 (gst_element_get_clock), (gst_element_commit_state),
15267 (gst_element_lost_state):
15268 * gst/gstelement.h:
15269 Make get/set_clock() symetric. Add provide_clock vmethod since
15270 that is actually what this function does.
15272 * gst/gstpipeline.c: (gst_pipeline_class_init),
15273 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
15274 (gst_pipeline_get_clock):
15275 get_clock -> provide_clock.
15277 2005-09-28 Andy Wingo <wingo@pobox.com>
15279 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
15280 lieu of real docs...
15282 * gst/elements/gstfdsrc.c: Cleaned up a bit.
15284 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
15286 * gst/elements/gstcapsfilter.c:
15287 * gst/elements/gstfakesink.c:
15288 * gst/elements/gstfakesrc.c:
15289 * gst/elements/gstfdsink.c:
15290 * gst/elements/gstfdsrc.c:
15291 * gst/elements/gstfilesink.c:
15292 * gst/elements/gstfilesrc.c:
15293 * gst/elements/gstidentity.c:
15294 * gst/elements/gsttee.c:
15295 * gst/elements/gsttypefindelement.c:
15296 Make element details static.
15298 2005-09-28 Wim Taymans <wim@fluendo.com>
15300 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15301 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15302 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15303 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15304 (gst_bin_change_state), (gst_bin_dispose):
15305 Some documentation updates.
15306 Clean up dispose handlers.
15308 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15309 * gst/gstpad.c: (gst_pad_dispose):
15310 Clean up dispose handler.
15312 * gst/gstpipeline.c: (gst_pipeline_change_state):
15313 Removed spurious UNLOCK.
15315 2005-09-27 Stefan Kost <ensonic@users.sf.net>
15317 * docs/gst/gstreamer-sections.txt:
15318 * gst/base/gstbasesrc.h:
15319 * gst/gstelement.h:
15323 * gst/gstpipeline.c:
15324 * gst/gstpipeline.h:
15327 added two new functions to the docs
15328 documents all undocumented GstXXXFlags
15329 completed some incomplete docs
15331 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
15333 * gst/gstbin.c: (gst_bin_dispose):
15334 * gst/gstelement.c: (gst_element_dispose):
15335 remove now useless and leaky resurrection code in dispose
15336 * gst/base/gstbasesrc.c: (gst_base_src_init):
15337 * gst/gstelementfactory.c: (gst_element_factory_create):
15338 * gst/gstobject.c: (gst_object_set_parent):
15341 2005-09-27 Wim Taymans <wim@fluendo.com>
15343 * docs/design/part-TODO.txt:
15346 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15347 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15348 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15349 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15350 (gst_bin_change_state):
15351 * gst/gstelement.h:
15352 Remove element variable, we keep element info in the iterator now.
15354 2005-09-27 Andy Wingo <wingo@pobox.com>
15356 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15359 2005-09-27 Wim Taymans <wim@fluendo.com>
15361 * check/gst/gstbin.c: (GST_START_TEST):
15362 Enable check that works now.
15364 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15365 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15366 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15367 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15368 (gst_bin_change_state):
15370 Redid the state change algorithm using a topological sort algo.
15371 Handles all cases correctly.
15372 Exposed iterator for state change order.
15374 * gst/gstelement.h:
15375 Temp storage for state changes. Need to get rid of this soon.
15377 2005-09-27 Wim Taymans <wim@fluendo.com>
15379 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15380 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15381 (link_fold_func), (gst_pad_proxy_setcaps):
15382 Leak fixes, the fold functions need to unref the passed object and
15383 _get_parent_*() returns ref to parent.
15385 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
15387 * check/gst/gstbuffer.c: (test_make_writable):
15388 Plug leak in test case and fix 'make check-valgrind'
15390 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
15392 * gst/gstbuffer.c: (gst_subbuffer_init):
15393 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15394 works correctly in all circumstances (we could have just copied
15395 the parent buffer's readonly flag, but conceptually it seems
15396 cleaner to mark all subbuffers as read-only). (based on patch
15397 by Alessandro Decina, #314710).
15399 * check/gst/gstbuffer.c: (create_read_only_buffer),
15400 (test_make_writable), (test_subbuffer_make_writable),
15402 Add some tests for gst_buffer_make_writable().
15404 2005-09-27 Wim Taymans <wim@fluendo.com>
15406 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15407 use gst_object_has_ancestor().
15409 * gst/gstobject.c: (gst_object_has_ancestor):
15411 gst_object_has_ancestor() copied from gstbin.c as it is a
15414 * tests/instantiate/create.c: (create_all_elements):
15415 * tests/lat.c: (handoff_src), (handoff_sink):
15416 * tests/sched/runxml.c: (main):
15417 * tests/seeking/seeking1.c: (main):
15418 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15420 Fix compilation of some tests.
15422 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
15425 Remove comment. GST_TYPE_G_ERROR is here to stay,
15426 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15427 (#316961, #300610).
15429 2005-09-26 Wim Taymans <wim@fluendo.com>
15431 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15432 Added check that shows error in state change order.
15434 2005-09-26 Wim Taymans <wim@fluendo.com>
15436 * gst/gstbin.c: (gst_bin_change_state):
15437 Make state change function use 3 queues again, we were
15438 adding elements in the wrong order.
15440 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15443 * gst/gstpad.c: (gst_pad_dispose):
15444 Added some debug info first.
15446 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
15448 * docs/design/draft-push-pull.txt:
15449 * docs/design/part-events.txt:
15450 * docs/design/part-overview.txt:
15451 * docs/design/part-scheduling.txt:
15452 Replace all _pull_region() with _pull_range()
15454 2005-09-26 Andy Wingo <wingo@pobox.com>
15456 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15458 * check/gst-libs/controller.c: Update for controller api change.
15461 * tests/Makefile.am:
15462 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15463 over by GLib bug 118439.
15465 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15466 routines to a function.
15468 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15470 * libs/gst/controller/gsthelper.c:
15471 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15472 (gst_object_sync_values): Renamed from sink_values. Ugh.
15474 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15476 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15477 Renamed from controller_key, as it is exported.
15479 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15481 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
15486 * gst/gstpadtemplate.h:
15489 * gst/gstqueryutils.c:
15490 * gst/gstqueryutils.h:
15491 remove queryutils headers after moving the two used functions
15492 to gstquery. also fixes build problem for gstsiddec
15494 2005-09-26 Michael Smith <msmith@fluendo.com>
15496 * tools/gst-launch.1.in:
15497 Correct documentation in manpage of debug syntax
15499 2005-09-26 Wim Taymans <wim@fluendo.com>
15501 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15502 (gst_base_src_is_seekable), (gst_base_src_change_state):
15503 Some more debugging info.
15505 2005-09-25 Stefan Kost <ensonic@users.sf.net>
15507 * docs/gst/gstreamer-sections.txt:
15508 * gst/base/gstbasetransform.h:
15512 2005-09-25 Stefan Kost <ensonic@users.sf.net>
15514 * docs/gst/.cvsignore:
15515 * docs/gst/tmpl/.cvsignore:
15516 * docs/gst/tmpl/gstpipeline.sgml:
15517 * docs/gst/tmpl/gstplugin.sgml:
15518 * gst/gstpipeline.c:
15521 inlined the last two docs files
15522 removed the tmpl directory from cvs (no more conflicts here!)
15524 2005-09-25 Stefan Kost <ensonic@users.sf.net>
15526 * docs/gst/gstreamer-sections.txt:
15527 * docs/gst/tmpl/.cvsignore:
15528 * docs/gst/tmpl/gstpad.sgml:
15529 * docs/gst/tmpl/gstpadtemplate.sgml:
15531 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15532 (gst_pad_finalize), (gst_pad_set_pad_template):
15534 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15535 (gst_pad_template_class_init), (gst_pad_template_init),
15536 (gst_pad_template_dispose), (name_is_valid),
15537 (gst_static_pad_template_get), (gst_pad_template_new),
15538 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15539 (gst_pad_template_pad_created):
15540 * gst/gstpadtemplate.h:
15541 inlined two more docs
15542 factored gstpadtemplate out of gstpad
15544 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
15546 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15547 (test_children_state_change_order_semi_sink):
15548 Fix test case: we can't rely on a fixed state change order when
15549 going from READY => PAUSED because the sink might commit its
15550 new state first when the first buffer created by the source
15551 reaches the sink before the source has finished its change state.
15552 (Test case still fails at times, see #316856, comment 5 onwards)
15554 2005-09-24 Wim Taymans <wim@fluendo.com>
15556 * docs/design/part-events.txt:
15557 * docs/design/part-gstbus.txt:
15558 * docs/design/part-gstpipeline.txt:
15559 * docs/design/part-messages.txt:
15560 * docs/design/part-overview.txt:
15561 * docs/design/part-segments.txt:
15565 * gst/gstelement.c:
15568 * gst/gstiterator.c:
15569 Various documentation updates.
15571 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
15574 Well, that's embarassing. Luckily we weren't using
15575 GST_CLOCK_DIFF anywhere.
15577 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15579 * common/gtk-doc.mak:
15580 don't fail on building XML, FC4 slave shows a bunch of doc
15581 missing bits that I don't get
15583 * gst/gstpipeline.c:
15584 * gst/gststructure.c:
15587 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
15589 * docs/design/part-gstbin.txt:
15590 * docs/design/part-gstbus.txt:
15592 Add blurb about how the bus goes into flushing mode and
15593 drops all messages when its bin goes from READY into NULL
15596 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15598 * docs/gst/gstreamer-sections.txt:
15599 * gst/gststructure.c: (gst_structure_get_clock_time):
15600 * gst/gststructure.h:
15601 add a method to get a GstClockTime out of a structure
15603 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
15605 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15606 (test_children_state_change_order_semi_sink), (gst_bin_suite):
15607 Added test to check state change order in bins (can still be made
15608 to fail here under heavy disk load; bails out with 'Push on pad
15609 fakesink:sink0, but it was not activated in push mode').
15611 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15612 Fix state change order when there is only a semi sink (#316856)
15614 * gst/gstbus.c: (gst_bus_class_init):
15615 Use _class_peek_parent(), not _class_ref(); fix docs to say
15616 'default main context' instead of 'mainloop' where that is
15619 * gst/gstelement.c: (gst_element_commit_state),
15620 (gst_element_set_state):
15621 Fix typos in debug messages
15623 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15626 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15627 * gst/gstpluginfeature.c:
15629 various doc updates
15630 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15631 change an assert into an error until it gets fixed properly
15633 2005-09-23 Stefan Kost <ensonic@users.sf.net>
15635 * docs/gst/gstreamer-sections.txt:
15636 * docs/gst/tmpl/.cvsignore:
15637 * docs/gst/tmpl/gstelement.sgml:
15638 * docs/gst/tmpl/gstinfo.sgml:
15639 * docs/gst/tmpl/gstobject.sgml:
15640 * gst/gstelement.c:
15641 * gst/gstelement.h:
15644 * gst/gstobject.c: (gst_object_class_init):
15646 inlined 3 more biiiig doc files and added some missing docs on the fly
15648 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15650 * check/gst/.cvsignore:
15651 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15652 * gst/gstregistryxml.c: (load_plugin),
15653 (gst_registry_xml_save_plugin):
15654 put back source in registry. add checks for find_plugin.
15655 * testsuite/states/bin.c: (assert_state), (empty_bin),
15656 (test_adding_one_element), (main):
15657 * testsuite/states/locked.c: (main):
15658 some compile/run fixes
15660 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
15662 * check/gst/gstvalue.c: (GST_START_TEST):
15663 fix leaks in the test itself
15665 2005-09-22 Wim Taymans <wim@fluendo.com>
15667 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15668 (gst_base_sink_send_event), (gst_base_sink_peer_query),
15669 (gst_base_sink_query):
15670 Prepare for more accurate position reporting and query
15673 * gst/gstelement.c: (gst_element_send_event),
15674 (gst_element_set_state):
15677 2005-09-22 Wim Taymans <wim@fluendo.com>
15679 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15680 (gst_query_parse_segment):
15682 More documentation.
15683 Add segment query for future use.
15685 2005-09-22 Wim Taymans <wim@fluendo.com>
15687 * gst/gstbin.c: (gst_bin_add_func):
15688 Some more debug info.
15690 * gst/gstelement.c: (gst_element_send_event):
15691 Simplify send_event
15693 * gst/gstelement.h:
15694 Don't know how flags got broken.
15699 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
15701 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15702 Add simplistic test suite for GST_TYPE_DATE serialisation and
15705 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
15707 * docs/gst/gstreamer-sections.txt:
15708 * gst/gststructure.c: (gst_structure_set_valist),
15709 (gst_structure_get_date):
15710 * gst/gststructure.h:
15711 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15712 (gst_date_copy), (gst_value_compare_date),
15713 (gst_value_serialize_date), (gst_value_deserialize_date),
15714 (gst_value_transform_date_string),
15715 (gst_value_transform_string_date), (_gst_value_initialize):
15717 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15718 bunch of utility functions along with a hack that checks that
15719 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15720 is required. Part of the grand scheme in #170777.
15722 2005-09-22 Andy Wingo <wingo@pobox.com>
15724 * gst/gstconfig.h.in: Psych out gtk-doc.
15726 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15728 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15730 * tools/gst-inspect.c (print_element_list): Plug some
15731 inconsequential leaks.
15733 * gst/gstregistry.c (gst_registry_get_default): Doc.
15735 * check/gst/gstplugin.c:
15736 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15737 * gst/gstelementfactory.c (gst_element_factory_create):
15738 * gst/gstindexfactory.c (gst_index_factory_create): Update for
15741 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15742 (gst_plugin_feature_load): Doc, don't eat refs.
15744 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15745 (gst_plugin_list_free): Doc.
15746 (gst_plugin_load_file): Doc updates.
15748 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15749 accessors returning refcounted objects, return a ref.
15751 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15752 accessor for caps. IDEMPOTENCE. Oh yes.
15754 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
15756 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
15758 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15759 (_gst_debug_register_funcptr):
15760 Add mutex to serialise access to the hash table with
15761 the function pointer => function name string mapping;
15762 make that hash table static scope (#316809).
15764 * gst/registries/.cvsignore:
15765 Remove left-over file.
15767 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
15769 * docs/pwg/appendix-porting.xml:
15770 And something about newsegment events and caps-on-buffers to
15771 the porting guide (feel free to improve).
15773 2005-09-21 Andy Wingo <wingo@pobox.com>
15775 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15776 data and event probes on the same pad.
15777 (test_buffer_probe_once): Test that removing probes from within
15778 the probe functions works.
15780 2005-09-21 Andy Wingo <wingo@pobox.com>
15782 * check/gst/gstutils.c: New file.
15783 (test_buffer_probe_n_times): A simple buffer probe test. More to
15786 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
15787 have-data::buffer, not have-data.
15788 (gst_pad_add_event_probe): Likewise for have-data::event.
15789 (gst_pad_add_data_probe): More docs. The part about 'resolving the
15790 peer' isn't quite right yet though.
15791 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
15792 (gst_pad_remove_data_probe): Change to take the guint handler_id
15793 as their arg, not the function+data, which is more glib-like.
15795 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
15796 the signal emission to indicate if the data is a buffer or an
15798 (gst_pad_get_type): Initialize buffer and event quarks.
15799 (gst_pad_class_init): have-data is now a detailed signal, yes it
15802 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
15804 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15805 * gst/gstutils.c: (gst_util_set_value_from_string),
15806 (gst_util_set_object_arg):
15807 Don't put functional code in g_return_if_fail() or
15808 g_return_val_if_fail() statements, otherwise things will
15809 break when G_DISABLE_CHECKS is defined during compilation.
15811 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15813 * docs/gst/tmpl/.cvsignore:
15814 * docs/gst/tmpl/gstvalue.sgml:
15817 inlied another one and added some obvious docs
15819 2005-09-21 Wim Taymans <wim@fluendo.com>
15821 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15822 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
15823 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
15824 (gst_fdsrc_get_property), (gst_fdsrc_create):
15825 * gst/elements/gstfdsrc.h:
15826 Properly implement fdsrc. Removed signal and timeout,
15827 better implemented somewhere else.
15829 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15831 * docs/gst/tmpl/.cvsignore:
15832 * docs/gst/tmpl/gstimplementsinterface.sgml:
15833 * gst/gstinterface.c:
15836 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15838 * docs/gst/gstreamer-sections.txt:
15839 * docs/gst/tmpl/.cvsignore:
15840 * docs/gst/tmpl/gstenumtypes.sgml:
15841 remove obsolete doc file
15843 2005-09-21 David Schleef <ds@schleef.org>
15845 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
15846 little beer, fix a little leak.
15848 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15850 * docs/gst/gstreamer-docs.sgml:
15851 * docs/gst/gstreamer-sections.txt:
15852 * docs/gst/tmpl/.cvsignore:
15856 * gst/gstelement.h:
15857 * gst/gstindex.c: (gst_index_class_init):
15859 * gst/gstindexfactory.c: (gst_index_factory_get_type),
15860 (gst_index_factory_class_init), (gst_index_factory_init),
15861 (gst_index_factory_finalize), (gst_index_factory_new),
15862 (gst_index_factory_destroy), (gst_index_factory_find),
15863 (gst_index_factory_create), (gst_index_factory_make):
15864 * gst/gstindexfactory.h:
15865 * gst/gstpluginfeature.c:
15866 * gst/gstpluginfeature.h:
15867 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15868 more docs inlined, splitted gstindex.{c,h}
15870 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15872 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15875 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
15877 * gst/elements/gstfilesink.c: (gst_file_sink_init):
15878 Set sync to FALSE by default.
15880 2005-09-20 Wim Taymans <wim@fluendo.com>
15882 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15883 (gst_base_sink_init):
15884 Make sync property settable from subclass.
15886 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
15887 (gst_fake_sink_change_state):
15888 Set sync to FALSE by default.
15890 2005-09-20 Wim Taymans <wim@fluendo.com>
15892 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
15893 * tools/gst-launch.c: (main):
15894 The timeout handler should have lower priority than the source
15895 so we don't timeout before popping a message with 0 timeout.
15896 Dump error messages after failed state change.
15898 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
15900 * tools/gst-inspect.c: (print_element_properties_info):
15903 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15905 * check/gst/gstevent.c:
15906 * gst/elements/gstfakesink.c:
15907 * gst/elements/gstfakesink.h:
15908 remove the sync property from fakesink.
15909 has the side effect of setting sync TRUE
15910 for fakesink, which is a change. Anyone who knows how
15911 to fix this nicely in a GObject-y way, feel free.
15913 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15915 * docs/gst/gstreamer-docs.sgml:
15916 remove probe refsection
15918 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15920 * check/Makefile.am:
15921 disable valgrinding the controller test again
15922 * docs/gst/gstreamer-sections.txt:
15923 update for api-changes
15925 2005-09-20 Wim Taymans <wim@fluendo.com>
15927 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15928 (gst_base_sink_set_property), (gst_base_sink_get_property),
15929 (gst_base_sink_do_sync):
15930 * gst/base/gstbasesink.h:
15931 Added sync property to basesink to disable clock sync.
15933 2005-09-20 Andy Wingo <wingo@pobox.com>
15935 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
15936 eating the caller's refcount.
15938 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
15939 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
15942 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
15943 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
15944 of GLib 2.8 public, so we can know which refcount to check in
15947 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
15948 (gst_object_init): Only set the gst refcount if we're going ahead
15949 with the refcount hack.
15951 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15953 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15954 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15955 more leaks plumbed, added more debug-logging
15959 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15961 * gst/gstmessage.c:
15962 remove include of gstmemchunk.h
15964 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15966 * gst/gstclock.c: (_gst_clock_id_free):
15967 Commit from the Political Party For More Atomic CVS Commits,
15968 so that people don't waste too much of their day fishing
15969 out obvious leaks out of massive commits.
15970 Oh, and fix a pretty damn obvious leak in the memchunk
15973 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15975 * check/Makefile.am:
15976 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15977 plug mem-leak, re-add to valgrindable tests
15979 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15982 unbreak the build for those who have chronic arthritis
15983 and typing "make check" is just too taxing on the hands
15985 2005-09-20 Andy Wingo <wingo@pobox.com>
15987 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
15988 really want it out, you should fix plugins at the same time.
15990 2005-09-19 Stefan Kost <ensonic@users.sf.net>
15993 * docs/gst/gstreamer-sections.txt:
15995 added missing symbols to api docs
15996 disable ref-count hack if we have glib >= 2.8
15998 2005-09-19 David Schleef <ds@schleef.org>
16000 * docs/gst/Makefile.am: Ignore a few more internal headers
16001 * docs/gst/gstreamer-docs.sgml: Remove old sections
16002 * docs/gst/gstreamer-sections.txt: Remove old sections
16003 * docs/gst/tmpl/gstobject.sgml: update
16004 * docs/gst/tmpl/gstplugin.sgml: update
16005 * docs/gst/tmpl/gstpluginfeature.sgml: update
16006 * docs/random/ds/0.9-suggested-changes: update.
16007 * gst/Makefile.am: remove memchunk and trashstack, since they're
16009 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
16010 * gst/gst.h: don't include some headers
16011 * gst/gstchildproxy.c: add gstmarshal.h
16012 * gst/gstclock.c: Don't use memchunks
16013 * gst/gstminiobject.c: Add some docs
16014 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
16015 * gst/gstobject.h: same
16016 * gst/gstplugin.c: include gstmacros.h
16017 * gst/gstplugin.h: don't include gstmacros.h, since it's private
16018 * gst/gstquery.c: don't use memchunks
16019 * gst/gstregistry.c: rename gst_registry_deinit()
16020 * gst/gstregistry.h: same
16022 2005-09-19 David Schleef <ds@schleef.org>
16024 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
16025 * docs/libs/gstreamer-libs-sections.txt:
16026 * docs/libs/tmpl/gstgetbits.sgml:
16027 * docs/libs/tmpl/gstputbits.sgml:
16029 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
16031 * win32/gstenumtypes.c:
16032 * win32/gstenumtypes.h:
16035 2005-09-19 Wim Taymans <wim@fluendo.com>
16037 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
16038 Automatically PAUSE and RESUME a pipeline when a flushing seek
16041 2005-09-19 Andy Wingo <wingo@pobox.com>
16043 * gst/gstregistry.h: Spacing fixen.
16045 2005-09-19 Wim Taymans <wim@fluendo.com>
16047 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
16048 Handle state change failure more correctly.
16050 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
16052 * check/Makefile.am:
16053 * check/pipelines/cleanup.c: (run_pipeline):
16054 * check/pipelines/simple_launch_lines.c: (run_pipeline),
16056 enable cleanup again after fixing the leak
16058 some more info on docs
16060 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
16062 * check/Makefile.am:
16063 re-enable tests now that leaks are plugged
16065 * check/gst/gstbin.c:
16066 * check/gst/gstpipeline.c:
16067 add some more tests while fixing leaks
16068 * common/check.mak:
16069 make sure binaries are uptodate when valgrinding/gdbing
16071 * gst/gstelementfactory.c:
16072 remove a ref too many, and add a FIXME for when we get
16073 round to disposing of classes
16075 fix the refcounting when loading a plugin from a file and
16076 the code pretends that the pointer is the same even though
16077 of course it can change
16078 * gst/gstpluginfeature.c:
16079 unref plugins marked cached (a bit confusing as a name)
16080 as the docs state should be done
16081 various doc additions to explain refcounting
16082 * gst/gstregistry.c:
16083 * gst/gstregistryxml.c:
16086 2005-09-19 Wim Taymans <wim@fluendo.com>
16088 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16089 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16090 (send_messages), (GST_START_TEST), (gstbus_suite):
16091 * check/gst/gstpipeline.c: (GST_START_TEST):
16092 * check/pipelines/cleanup.c: (run_pipeline):
16093 * check/pipelines/simple_launch_lines.c: (run_pipeline),
16095 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
16096 (gst_bus_source_check), (gst_bus_source_dispatch),
16097 (gst_bus_create_watch), (gst_bus_add_watch_full),
16098 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
16100 * tools/gst-launch.c: (event_loop):
16101 * tools/gst-md5sum.c: (event_loop):
16102 GstBusHandler -> GstBusFunc, return value has the same meaning as
16103 any other GSource (FALSE == remove source).
16104 _add_watch() and _add_watch_full() now take a MessageType mask to
16105 only handle specific types of messages.
16106 _poll() returns the GstMessage instead of the message type to avoid
16108 _have_pending() takes a MessageType mask now too.
16109 Added testsuite for multiple bus watches.
16110 Fix testsuites and applications for new bus API.
16112 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
16114 * check/Makefile.am:
16115 mark a bunch of the tests as to fix until we fix them
16117 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
16119 * common/check.mak:
16120 use GST_PLUGIN settings for valgrind tests as well, so we're
16121 valgrinding the correct thing
16122 * gst/gst.c: (init_post):
16125 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
16127 * gst/gst.c: (init_post), (gst_deinit):
16128 * gst/gstelementfactory.c: (gst_element_factory_class_init),
16129 (gst_element_factory_finalize), (gst_element_factory_cleanup):
16130 * gst/gstindex.c: (gst_index_factory_class_init),
16131 (gst_index_factory_finalize):
16132 * gst/gstobject.c: (gst_object_dispose):
16133 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16134 (gst_plugin_load_file), (gst_plugin_desc_free):
16135 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
16136 (gst_plugin_feature_finalize):
16137 * gst/gstregistry.c: (gst_registry_class_init),
16138 (gst_registry_init), (gst_registry_finalize),
16139 (gst_registry_get_default), (gst_registry_deinit):
16140 * gst/gstregistry.h:
16141 * gst/gstregistryxml.c: (load_feature), (load_plugin):
16142 various cleanups and memleak plugging. make valgrind is happy now.
16144 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
16146 * common/check.mak:
16147 add a check-valgrind target
16149 2005-09-18 David Schleef <ds@schleef.org>
16151 * tools/gst-inspect.c: Revert the GOption code.
16153 2005-09-17 David Schleef <ds@schleef.org>
16155 * check/Makefile.am: Fix environment variables.
16156 * check/gst/gstplugin.c: Fix for API changes.
16157 * tools/gst-inspect.c: Fix for API changes.
16158 * tools/gst-xmlinspect.c: Fix for API changes.
16159 * gst/gstelementfactory.c:
16162 * gst/gstpluginfeature.c:
16163 * gst/gstpluginfeature.h:
16164 * gst/gstregistry.c:
16165 * gst/gstregistry.h:
16166 * gst/gstregistryxml.c:
16167 * gst/gsttypefind.c:
16168 * gst/gsttypefindfactory.c:
16169 * gst/indexers/gstfileindex.c:
16170 * gst/indexers/gstmemindex.c:
16171 * gst/schedulers/Makefile.am:
16172 Change registry to keep track of both plugins and features,
16173 removing the feature tracking from plugins themselves.
16175 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
16177 * check/Makefile.am:
16178 * tools/gst-register.1.in:
16179 remove gst-register
16181 2005-09-15 David Schleef <ds@schleef.org>
16183 * check/gst/gstplugin.c:
16184 * gst/gstelementfactory.c:
16186 * gst/gstpluginfeature.c:
16187 * gst/gstregistry.c:
16188 Getting tired of debugging. Disabled all the unreffing of
16189 plugins and features, which fixes the segfaults, but of
16190 course leaks like crazy. At least playbin works.
16192 2005-09-15 David Schleef <ds@schleef.org>
16194 * check/gst/gstplugin.c: (register_check_elements),
16195 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
16197 * gst/elements/gsttypefindelement.c: Fix refcounting.
16198 * gst/gsttypefind.c:
16199 * gst/gsttypefindfactory.c:
16200 * gst/gsttypefindfactory.h:
16202 2005-09-15 David Schleef <ds@schleef.org>
16204 * gst/gstindex.c: get refcounting correct.
16205 * gst/gstregistry.c: Handle the case where a feature/plugin is
16208 2005-09-15 David Schleef <ds@schleef.org>
16210 * check/Makefile.am:
16211 * check/gst/gstplugin.c: Add test
16212 * gst/gstplugin.c: Fix problems noticed by testsuite
16214 * gst/gstregistry.c:
16215 * gst/gstregistry.h:
16217 2005-09-15 David Schleef <ds@schleef.org>
16219 * gst/gstplugin.c: Implement semi-decent recounting and locking
16220 in plugins and plugin features.
16222 * gst/gstpluginfeature.c:
16223 * gst/gstpluginfeature.h:
16224 * gst/gstregistry.c:
16226 2005-09-15 Michael Smith <msmith@fluendo.com>
16228 * gst/gstregistry.c: (gst_registry_get_feature_list):
16229 Implement this. Makes oggdemux work; decodebin still broken.
16231 2005-09-14 David Schleef <ds@schleef.org>
16233 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
16235 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
16236 * gst/check/Makefile.am:
16237 * libs/gst/controller/Makefile.am:
16238 * libs/gst/dataprotocol/Makefile.am:
16240 2005-09-14 David Schleef <ds@schleef.org>
16242 * configure.ac: Remove getbits library. Nothing uses it, and
16243 it should be in something like liboil if someone did want
16245 * libs/gst/Makefile.am:
16246 * libs/gst/getbits/Makefile.am:
16247 * libs/gst/getbits/gbtest.c:
16248 * libs/gst/getbits/getbits.c:
16249 * libs/gst/getbits/getbits.h:
16250 * libs/gst/getbits/gstgetbits_generic.c:
16251 * libs/gst/getbits/gstgetbits_i386.s:
16252 * libs/gst/getbits/gstgetbits_inl.h:
16254 2005-09-14 David Schleef <ds@schleef.org>
16256 * gst/Makefile.am: Dist glib-compat.h
16258 2005-09-14 David Schleef <ds@schleef.org>
16260 * configure.ac: Remove gst/registries, since it's no longer used.
16261 * gst/registries/Makefile.am:
16262 * gst/registries/gstlibxmlregistry.c:
16263 * gst/registries/gstlibxmlregistry.h:
16264 * gst/registries/gstxmlregistry.c:
16265 * gst/registries/gstxmlregistry.h:
16266 * gst/registries/registrytest.c:
16268 2005-09-14 David Schleef <ds@schleef.org>
16270 * gst/glib-compat.h:
16271 * gst/gstregistryxml.c:
16272 Convergence is near. Seriously.
16274 2005-09-14 David Schleef <ds@schleef.org>
16276 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16277 * gst/glib-compat.h:
16278 Attempt #4 to appease the buildbots.
16280 2005-09-14 David Schleef <ds@schleef.org>
16282 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16285 2005-09-14 David Schleef <ds@schleef.org>
16287 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16290 2005-09-14 David Schleef <ds@schleef.org>
16292 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
16295 2005-09-14 David Schleef <ds@schleef.org>
16297 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16298 * gst/glib-compat.h: Add some functions that are in newer versions
16299 of glib than we care to require.
16300 * gst/gstregistryxml.c: Use them.
16302 2005-09-14 David Schleef <ds@schleef.org>
16304 * po/POTFILES.in: remove gst-register.c
16306 2005-09-14 David Schleef <ds@schleef.org>
16308 * docs/gst/gstreamer-docs.sgml:
16309 * docs/gst/gstreamer-sections.txt:
16310 * docs/gst/gstreamer.types:
16311 * docs/gst/tmpl/gstelement.sgml:
16312 * docs/gst/tmpl/gstplugin.sgml:
16313 * docs/gst/tmpl/gstpluginfeature.sgml:
16314 Documentation updates for registry changes.
16316 2005-09-14 David Schleef <ds@schleef.org>
16318 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16319 because we don't require glib-2.8.
16321 2005-09-14 David Schleef <ds@schleef.org>
16323 * gst/gstregistryxml.c: Added. Essentially moved out of the
16324 registries directory.
16326 2005-09-14 David Schleef <ds@schleef.org>
16328 * check/Makefile.am:
16329 * check/generic/states.c:
16333 * gst/gst_private.h:
16334 * gst/gstelementfactory.c:
16339 * gst/gstpluginfeature.c:
16340 * gst/gstpluginfeature.h:
16341 * gst/gstregistry.c:
16342 * gst/gstregistry.h:
16343 * gst/gstregistrypool.c: remove
16344 * gst/gstregistrypool.h: remove
16345 * gst/gsttypefind.c:
16346 * gst/gsttypefindfactory.c:
16348 * tools/Makefile.am:
16349 * tools/gst-compprep.c:
16350 * tools/gst-inspect.c:
16351 * tools/gst-register.c: remove
16352 * tools/gst-xmlinspect.c:
16353 Registry rewrite. Changes registry from being a file created
16354 by a tool into a simple cache file created automatically by
16355 libgstreamer. Removed gst-register (because it's no longer
16356 needed). Remove registry pools, because we only have one
16357 registry implementation (XML). Fix up other subsystems as
16360 2005-09-13 Michael Smith <msmith@fluendo.com>
16362 * gst/gstconfig.h.in:
16363 Don't Use windows linking attributes for MinGW. Fixes #316157
16365 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
16367 * gst/gstutils.c: (set_state_async_thread_func),
16368 (gst_element_set_state_async):
16369 Apparently people think it's better if this function doesn't
16370 try to set the state to whatever state was asked for on the first
16371 call to this function for any object. Seriously.
16373 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
16375 * check/gst/gstpipeline.c: (GST_START_TEST):
16376 * docs/gst/gstreamer-sections.txt:
16377 * gst/gstutils.c: (set_state_async_thread_func),
16378 (gst_element_set_state_async):
16380 add a "gst_element_set_state_async" method that
16381 sets the state and starts a thread to make sure the state
16382 change completes as best as it can
16384 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
16386 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16387 codify design+behaviour in testsuite after discussion
16389 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
16391 * docs/gst/tmpl/gstelement.sgml:
16392 * docs/manual/appendix-quotes.xml:
16394 * gst/gstelement.c: (gst_element_set_state):
16397 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
16399 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16400 (gst_base_transform_prepare_output_buf),
16401 (gst_base_transform_handle_buffer):
16402 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16403 (gst_capsfilter_prepare_buf):
16404 Remove the requirement for sub-classes to call the parent
16405 implementation of prepare_output_buffer with a wrapper function.
16407 * gst/gsttaglist.h:
16408 * gst/gsttagsetter.h:
16409 Fix #define wrapper
16411 2005-09-11 Stefan Kost <ensonic@users.sf.net>
16413 * docs/gst/gstreamer-sections.txt:
16416 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
16418 * docs/gst/gstreamer-sections.txt:
16419 * docs/gst/tmpl/gstelement.sgml:
16420 * docs/gst/tmpl/gstplugin.sgml:
16421 * gst/gstminiobject.c:
16423 docs now stop throwing warnings
16425 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
16427 * docs/gst/gstreamer-sections.txt:
16428 * docs/gst/gstreamer.types:
16429 * docs/gst/tmpl/gstpad.sgml:
16430 * docs/gst/tmpl/gsttypes.sgml:
16431 * gst/base/gstadapter.h:
16432 * gst/base/gstbasesink.h:
16433 * gst/base/gstbasesrc.h:
16439 * gst/gstelement.h:
16441 * gst/gstmessage.h:
16443 * gst/gststructure.c:
16444 * gst/registries/gstlibxmlregistry.h:
16445 various documentation fixes
16447 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
16449 * docs/gst/gstreamer-sections.txt:
16450 * docs/gst/tmpl/gstvalue.sgml:
16451 rearrange gstvalue section
16452 * gst/gstutils.c: (gst_element_state_get_name):
16454 * gst/gstvalue.c: (_gst_value_initialize):
16458 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
16460 * check/gst-libs/controller.c:
16461 Header include fix.
16462 * gst/base/gstbasetransform.c:
16463 (gst_base_transform_default_prepare_buf),
16464 (gst_base_transform_handle_buffer):
16465 * gst/base/gstbasetransform.h:
16466 Some more basetransform changes and fixes to enable sub-classes
16467 that modify buffer metadata only.
16468 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16469 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16470 (gst_capsfilter_prepare_buf):
16471 If the output pad has fixed allowed caps and input buffers
16472 don't have any, set the fixed caps on outgoing buffers.
16474 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
16475 * check/elements/identity.c: (GST_START_TEST):
16476 Make the error a little clearer when the test fails because
16477 identity made a copy of the buffer.
16478 * docs/gst/gstreamer-sections.txt:
16479 New symbols in gstbasetransform.h
16480 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16481 (gst_base_transform_init), (gst_base_transform_transform_size),
16482 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16483 (gst_base_transform_default_prepare_buf),
16484 (gst_base_transform_get_unit_size),
16485 (gst_base_transform_buffer_alloc),
16486 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16487 (gst_base_transform_change_state),
16488 (gst_base_transform_set_passthrough),
16489 (gst_base_transform_set_in_place),
16490 (gst_base_transform_is_in_place):
16491 * gst/base/gstbasetransform.h:
16492 Change BaseTransform to separate in_place operate from same_caps
16493 output. in_place implies that the element can perform the transform
16494 on incoming buffers in-place, even if the caps on the output are
16496 Sub-class elements can now implement special buffer allocation
16497 methods for outgoing buffers if they wish to.
16498 Big documentation addition.
16499 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16500 * gst/elements/gstelements.c:
16501 Changes for basetransform modifications.
16502 * gst/elements/Makefile.am:
16503 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16504 Compile fix. Extra debug output.
16506 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
16508 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16510 add tests for valid pad naming
16511 * gst/check/gstcheck.c: (gst_check_log_message_func),
16512 (gst_check_log_critical_func):
16514 remove printing of code, it is fragile when the code contains
16515 % and the line number is enough info
16516 * gst/check/gstcheck.h:
16517 * gst/gstpad.c: (gst_pad_template_new):
16520 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
16523 say what CHECK flags we use
16524 * docs/libs/gstreamer-libs.types:
16525 * libs/gst/controller/Makefile.am:
16526 * libs/gst/controller/gst-controller.c:
16527 * libs/gst/controller/gst-controller.h:
16528 * libs/gst/controller/gst-helper.c:
16529 * libs/gst/controller/gst-interpolation.c:
16530 * libs/gst/controller/gstcontroller.c:
16531 * libs/gst/controller/gsthelper.c:
16532 * libs/gst/controller/gstinterpolation.c:
16533 * tools/gst-inspect.c: (print_plugin_info):
16534 we don't use dashes in header names
16536 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
16538 * check/Makefile.am:
16539 * check/gst/.cvsignore:
16540 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16541 (gst_pipeline_suite), (main):
16542 adding a test for pipelines and state changes
16543 * gst/gstutils.c: (get_state_func):
16545 * gstreamer.spec.in:
16548 2005-09-08 Michael Smith <msmith@fluendo.com>
16550 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16551 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16552 (gst_file_src_is_seekable), (gst_file_src_get_size),
16553 (gst_file_src_start):
16554 * gst/elements/gstfilesrc.h:
16555 Various fixes for unseekable, unmmapable, and non-normal files, so
16556 that fallback to read() rather than mmap() works.
16557 * gst/gstevent.c: (gst_event_new_newsegment):
16558 Allow newsegment events with segment_start == segment_end, as will
16559 correctly happen if you use filesrc on a zero-size file, for
16562 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
16564 * gst/gstplugin.c: (gst_plugin_load_file):
16565 Call g_module_close when we don't load the module
16567 * gst/registries/gstlibxmlregistry.c:
16568 (gst_xml_registry_get_property):
16569 Port leak fix from 0.8
16571 2005-09-07 Stefan Kost <ensonic@users.sf.net>
16573 * docs/gst/gstreamer-docs.sgml:
16574 * docs/gst/tmpl/.cvsignore:
16575 * docs/gst/tmpl/gsttrace.sgml:
16576 * docs/gst/tmpl/gsttrashstack.sgml:
16579 * gst/gstelement.h:
16581 * gst/gstmessage.c:
16582 * gst/gstmessage.h:
16585 * gst/gsttaginterface.c:
16586 * gst/gsttaginterface.h:
16587 * gst/gsttaglist.c:
16588 * gst/gsttaglist.h:
16589 * gst/gsttagsetter.c:
16590 * gst/gsttagsetter.h:
16593 * gst/gsttrashstack.c:
16594 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16595 inlined docs for gsttrace, gsttrashstack
16597 2005-09-07 Stefan Kost <ensonic@users.sf.net>
16600 * gst/elements/gstbufferstore.h:
16601 * gst/elements/gsttypefindelement.c:
16602 * gst/elements/gsttypefindelement.h:
16604 * gst/gsttypefind.c:
16605 * gst/gsttypefind.h:
16606 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16607 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16608 (gst_type_find_factory_dispose),
16609 (gst_type_find_factory_unload_thyself),
16610 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16611 (gst_type_find_factory_get_caps),
16612 (gst_type_find_factory_get_extensions),
16613 (gst_type_find_factory_call_function):
16614 * gst/gsttypefindfactory.h:
16615 * gst/registries/gstlibxmlregistry.c:
16616 * gst/registries/gstxmlregistry.c:
16617 splitted gsttypefind into gsttypefind, gsttypefindfactory
16619 2005-09-07 Andy Wingo <wingo@pobox.com>
16621 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16622 condition whereby the pad's task function is entered before the
16623 pad_mode variable was set.
16625 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
16627 * gst/gstpad.c: (gst_pad_alloc_buffer):
16628 Catch misbehaving pad_alloc functions that don't
16629 set up caps and do it for them.
16631 2005-09-07 Stefan Kost <ensonic@users.sf.net>
16633 * check/pipelines/simple_launch_lines.c: (run_pipeline):
16634 test for pipe!=NULL
16635 * docs/gst/tmpl/.cvsignore:
16636 * docs/gst/tmpl/gstmemchunk.sgml:
16637 * docs/gst/tmpl/gstparse.sgml:
16638 * docs/gst/tmpl/gsttaglist.sgml:
16639 * docs/gst/tmpl/gsttagsetter.sgml:
16640 * docs/gst/tmpl/gsttypefind.sgml:
16641 * docs/gst/tmpl/gsttypefindfactory.sgml:
16642 * gst/gstmemchunk.c:
16645 * gst/gsttaginterface.c:
16646 * gst/gsttypefind.c:
16647 * gst/gsttypefind.h:
16650 === release 0.9.2 ===
16652 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
16657 releasing 0.9.2, "South"
16659 2005-09-05 Andy Wingo <wingo@pobox.com>
16661 * gst/registries/gstxmlregistry.h:
16662 * gst/registries/gstxmlregistry.c: Um... resurrect...
16664 * gst/registries/gstxmlregistry.h:
16665 * gst/registries/gstxmlregistry.c: and update to newer API.
16666 Incidentally they should be a bit faster now that they don't have
16669 2005-09-05 Andy Wingo <wingo@pobox.com>
16671 * gst/registries/gstxmlregistry.h:
16672 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16673 replaced by the libxml registry a while back
16675 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
16677 * docs/gst/tmpl/gstplugin.sgml:
16678 * gst/elements/gstelements.c:
16680 * gst/gstplugin.c: (gst_plugin_register_func),
16681 (gst_plugin_desc_copy), (gst_plugin_desc_free),
16682 (gst_plugin_get_source):
16684 * gst/registries/gstlibxmlregistry.c: (load_plugin),
16685 (gst_xml_registry_save_plugin):
16686 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16687 (gst_xml_registry_save_plugin):
16688 * tools/gst-inspect.c: (print_plugin_info):
16689 add a "source" plugin description field, to represent the source
16690 module this plugin is a part of. By default GST_PLUGIN_DEFINE
16691 will set it to PACKAGE, which is automake's idea of the name of
16692 the source project.
16694 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
16699 * docs/Makefile.am:
16700 * docs/faq/Makefile.am:
16701 * docs/gst/tmpl/gstelement.sgml:
16702 * docs/gst/tmpl/gsttypes.sgml:
16703 * docs/htmlinstall.mak:
16704 * docs/manual/Makefile.am:
16705 * docs/pwg/Makefile.am:
16706 reorganize doc build a little
16707 split out docbook and gtk-doc stuff
16708 have two separate --enable's and enable them through autogen
16709 but disable by default in configure (to be similar to other
16711 * gstreamer.spec.in:
16712 clean up docs install
16730 translation updates
16732 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
16734 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16737 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16738 (gst_fake_sink_change_state):
16739 Make state change function thread-safe.
16741 * gst/gstpad.c: (gst_pad_alloc_buffer):
16742 Set offset on generic buffer allocated by fallback.
16744 2005-09-03 Stefan Kost <ensonic@users.sf.net>
16746 * docs/gst/gstreamer-sections.txt:
16747 * docs/gst/tmpl/gstelement.sgml:
16749 * libs/gst/controller/gst-controller.c:
16750 (gst_controlled_property_set_interpolation_mode),
16751 (gst_controlled_property_new),
16752 (gst_controller_find_controlled_property):
16753 run the wingo-magic script against the docs
16755 2005-09-02 Stefan Kost <ensonic@users.sf.net>
16757 * docs/gst/gstreamer-docs.sgml:
16758 * docs/gst/gstreamer-sections.txt:
16759 * docs/gst/tmpl/.cvsignore:
16760 * docs/gst/tmpl/gstelementdetails.sgml:
16761 * docs/gst/tmpl/gstelementfactory.sgml:
16764 * gst/gstelementfactory.c:
16765 * gst/gstelementfactory.h:
16766 merged elementdetails docs into elementfactory docs
16769 2005-09-02 Andy Wingo <wingo@pobox.com>
16771 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16772 consider this enum an enum and not a flags.
16774 2005-09-02 Stefan Kost <ensonic@users.sf.net>
16776 * docs/gst/gstreamer-docs.sgml:
16777 * docs/gst/tmpl/.cvsignore:
16778 * docs/gst/tmpl/gstghostpad.sgml:
16779 * docs/gst/tmpl/gstiterator.sgml:
16780 * docs/gst/tmpl/gstmacros.sgml:
16781 * docs/gst/tmpl/gstrealpad.sgml:
16782 * docs/gst/tmpl/gstregistry.sgml:
16783 * docs/gst/tmpl/gstregistrypool.sgml:
16784 * docs/gst/tmpl/gststructure.sgml:
16785 * docs/gst/tmpl/gstsystemclock.sgml:
16786 * docs/gst/tmpl/gsttrace.sgml:
16787 * gst/gstghostpad.c:
16789 * gst/gstmemchunk.c:
16790 * gst/gstmemchunk.h:
16792 * gst/gstregistry.c:
16793 * gst/gstregistrypool.c:
16794 * gst/gststructure.c:
16795 * gst/gstsystemclock.c:
16798 2005-09-02 Andy Wingo <wingo@pobox.com>
16800 * gst/gstelement.h (GstState): Renamed from GstElementState,
16801 changed to be a normal enum instead of flags.
16802 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
16803 munged to be GST_STATE_CHANGE_*.
16804 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
16805 work with the new state representation.
16806 (GstStateChange): New enumeration of possible state transitions.
16807 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
16808 (GstElementClass::change_state): Pass the GstStateChange along as
16809 an argument. Helps language bindings, so they don't have to use
16810 tricky lock-needing macros like GST_STATE_CHANGE ().
16812 * scripts/update-states (file): New script. Run it on a file to
16813 update it for state naming and API changes. Updates files in
16816 * All files updated for the new API.
16818 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
16820 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
16821 * gst/gstutils.c: (gst_util_set_value_from_string),
16822 (gst_util_set_object_arg):
16823 fix a bunch of unchecked return values
16824 * tools/gst-complete.c: (main):
16825 * gstreamer.spec.in:
16828 2005-09-01 Wim Taymans <wim@fluendo.com>
16830 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16831 (gst_base_sink_event), (gst_base_sink_do_sync),
16832 (gst_base_sink_handle_event):
16833 * gst/base/gstbasesink.h:
16834 Handle newsegments more correctly.
16839 * gst/gstevent.c: (gst_event_new_newsegment):
16840 A newsegment cannot have a start_time of -1
16842 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
16844 * win32/gstenumtypes.c:
16845 * win32/gstenumtypes.h:
16848 2005-08-31 Stefan Kost <ensonic@users.sf.net>
16850 * libs/gst/controller/gst-controller.c:
16851 (gst_controlled_property_set_interpolation_mode),
16852 (gst_controlled_property_new):
16853 fixed boolean again
16855 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
16857 * docs/faq/gst-uninstalled:
16862 * gst/gstutils.c: (gst_element_link_filtered):
16864 add gst_element_link_filtered
16866 2005-08-31 Stefan Kost <ensonic@users.sf.net>
16868 * docs/gst/gstreamer-docs.sgml:
16869 * docs/gst/gstreamer-sections.txt:
16870 * docs/gst/tmpl/.cvsignore:
16871 * docs/gst/tmpl/gsterror.sgml:
16872 * docs/gst/tmpl/gstfilter.sgml:
16873 * docs/gst/tmpl/gsturihandler.sgml:
16874 * docs/gst/tmpl/gsturitype.sgml:
16875 * docs/gst/tmpl/gstutils.sgml:
16876 * docs/gst/tmpl/gstxml.sgml:
16881 * gst/gsturitype.c:
16884 inlined more docs, fixed double id-ref
16886 2005-08-31 Wim Taymans <wim@fluendo.com>
16888 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16889 (gst_base_transform_handle_buffer):
16890 Passthrough elements don't need the caps as they don't care.
16892 2005-08-31 Wim Taymans <wim@fluendo.com>
16894 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16895 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
16896 Don't leak refcounts on buffers.
16898 2005-08-31 Wim Taymans <wim@fluendo.com>
16900 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
16901 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16902 (gst_base_transform_chain), (gst_base_transform_change_state):
16903 * gst/base/gstbasetransform.h:
16904 Handle the case where we are not negotiated more gracefully.
16906 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
16908 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
16909 (gst_file_src_map_region):
16910 Set READONLY flag on mmap'ed buffers, otherwise
16911 gst_buffer_make_writable() won't work properly (#314708).
16913 2005-08-31 Wim Taymans <wim@fluendo.com>
16915 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
16916 passthrough elements can even do inplace on non writable
16917 buffers (as they don't touch them).
16919 2005-08-31 Stefan Kost <ensonic@users.sf.net>
16921 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
16922 (gst_test_mono_source_set_property),
16923 (gst_test_mono_source_class_init), (GST_START_TEST),
16924 (gst_controller_suite):
16925 more tests (hehe I have the most)
16927 describe popping messages whenusing mulltiple sources
16928 * libs/gst/controller/gst-controller.c:
16929 (gst_controlled_property_set_interpolation_mode),
16930 (gst_controlled_property_new):
16931 * libs/gst/controller/gst-controller.h:
16932 * libs/gst/controller/gst-interpolation.c:
16933 implement boolean properties
16935 2005-08-31 Wim Taymans <wim@fluendo.com>
16937 * gst/gstminiobject.c: (gst_mini_object_ref):
16938 Cannot assert that the refcount has to be positive
16939 since a disposed object can be resurrected.
16941 2005-08-31 Wim Taymans <wim@fluendo.com>
16943 * gst/gstpad.c: (gst_pad_init):
16944 Revert change, need to first fix badly behaving
16947 2005-08-30 Wim Taymans <wim@fluendo.com>
16949 * check/elements/fakesrc.c: (setup_fakesrc):
16950 * check/elements/identity.c: (setup_identity):
16951 Activate pads before using them.
16953 2005-08-30 Wim Taymans <wim@fluendo.com>
16955 * gst/base/gstadapter.c: (gst_adapter_flush):
16956 Flushing out 0 bytes is ok for this function.
16958 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16959 no newsegment gives a warning and sets the start/stop to
16962 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
16963 (gst_base_transform_set_passthrough):
16966 * gst/gstminiobject.c: (gst_mini_object_ref):
16967 Check refcount here too.
16969 * gst/gstpad.c: (gst_pad_init):
16970 Pads are initially flushing and refusing data.
16972 * gst/gstutils.c: (gst_element_link_pads_filtered):
16973 When adding a capsfilter element make sure it has the
16974 same state as the parent bin.
16976 2005-08-30 Stefan Kost <ensonic@users.sf.net>
16978 * docs/gst/tmpl/.cvsignore:
16979 * docs/gst/tmpl/gstformat.sgml:
16980 * docs/gst/tmpl/gstversion.sgml:
16984 * gst/gstversion.h.in:
16985 more docs and two more inlined
16987 2005-08-30 Wim Taymans <wim@fluendo.com>
16989 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
16990 Don't sync to clock.
16992 2005-08-30 Stefan Kost <ensonic@users.sf.net>
16994 * docs/gst/gstreamer-sections.txt:
16995 ultral33t func10ns deserve to appear in the docs actually
16996 * docs/gst/tmpl/.cvsignore:
16997 * docs/gst/tmpl/gstcompat.sgml:
16998 * docs/gst/tmpl/gstconfig.sgml:
16999 * gst/check/gstcheck.c:
17001 * gst/gstconfig.h.in:
17004 2005-08-30 Stefan Kost <ensonic@users.sf.net>
17006 * docs/gst/tmpl/.cvsignore:
17007 * docs/gst/tmpl/gstquery.sgml:
17008 * docs/gst/tmpl/gstutils.sgml:
17011 inlined and extended docs
17013 2005-08-30 Stefan Kost <ensonic@users.sf.net>
17015 * check/gst-libs/controller.c: (GST_START_TEST),
17016 (gst_controller_suite):
17018 * docs/gst/tmpl/gstutils.sgml:
17019 * docs/libs/gstreamer-libs-sections.txt:
17020 * docs/libs/tmpl/gstdataprotocol.sgml:
17022 * examples/controller/audio-example.c: (main):
17023 controller example works now
17026 * tools/gst-inspect.c: (print_element_properties_info):
17027 show param spec flags
17029 2005-08-29 Andy Wingo <wingo@pobox.com>
17031 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
17033 2005-08-28 Andy Wingo <wingo@pobox.com>
17035 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
17036 as having two arguments instead of just one. Allows superclasses
17037 to access information on subclasses -- see the terrible for() loop
17038 in gtype.c:g_type_create_instance for the reason why. All callers
17041 2005-08-27 Stefan Kost <ensonic@users.sf.net>
17043 * docs/design/part-messages.txt:
17045 * docs/gst/tmpl/.cvsignore:
17046 * docs/gst/tmpl/gstcaps.sgml:
17047 * docs/gst/tmpl/gstclock.sgml:
17053 * gst/gstmessage.c:
17054 added descriptions for bus and message
17055 inline caps and clock docs
17057 2005-08-27 Stefan Kost <ensonic@users.sf.net>
17059 * gst/gstmessage.c:
17060 * gst/gstmessage.h:
17063 2005-08-27 Stefan Kost <ensonic@users.sf.net>
17065 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17068 2005-08-26 Andy Wingo <wingo@pobox.com>
17070 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
17071 element_set_state's return val.
17072 (test_2_elements): Add test that's been disabled for months.
17074 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
17075 can-activate-pull properties.
17077 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
17078 can-activate-pull properties. Implement is_seekable so fakesrc can
17079 operate in pull mode.
17081 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
17083 (gst_base_sink_activate, gst_base_sink_activate_pull)
17084 (gst_base_sink_activate_push): Make activation mode choosing work.
17086 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
17087 is right. Make pull mode work. Post an eos before pausing in pull
17089 (gst_base_sink_change_state): Pay attention to the core's
17090 change_state() return val.
17092 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
17093 has-getrange properties. Cleanups.
17095 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
17096 has_getrange and replace with can_activate_pull and
17099 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
17100 locking comments. Remove has_loop, has_chain and replace with
17101 can_activate_pull and can_activate_push.
17103 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
17106 * examples/Makefile.am:
17107 * examples/metadata/Makefile.am:
17108 * examples/metadata/read-metadata.c: (message_loop),
17109 (have_pad_handler), (make_pipeline), (print_tag), (main):
17110 Add metadata reading example that loops over a list of filenames,
17111 dumping any tags found.
17113 * gst/gstbus.c: (gst_bus_dispose):
17114 * gst/gstelement.c: (gst_element_dispose):
17115 Release a few potentially-held references in dispose.
17117 2005-08-26 Stefan Kost <ensonic@users.sf.net>
17119 * docs/gst/tmpl/gstminiobject.sgml:
17120 do *not* add tmpl/*.sgml files to CVS!
17122 2005-08-26 Stefan Kost <ensonic@users.sf.net>
17124 * libs/gst/bytestream/.cvsignore:
17125 * libs/gst/bytestream/Makefile.am:
17126 * libs/gst/bytestream/adapter.c:
17127 * libs/gst/bytestream/adapter.h:
17128 * libs/gst/bytestream/bytestream.c:
17129 * libs/gst/bytestream/bytestream.h:
17130 * libs/gst/bytestream/filepad.c:
17131 * libs/gst/bytestream/filepad.h:
17132 removing obsolete files
17134 2005-08-26 Stefan Kost <ensonic@users.sf.net>
17136 * docs/gst/gstreamer-docs.sgml:
17137 * docs/libs/gstreamer-libs-docs.sgml:
17138 disabed additional index entries again, as this makes docs-gen just
17139 slow and they aren't useful yet
17140 * docs/libs/gstreamer-libs-sections.txt:
17141 little -section.txt cleanup for libs
17143 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
17145 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17146 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
17147 fix up some debugging
17148 (gst_base_transform_get_unit_size),
17149 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
17150 (gst_base_transform_handle_buffer):
17151 * gst/base/gstbasetransform.h:
17152 handle and store timed NEWSEGMENT events so that subclasses that
17153 calculate time by counting samples have a segment_start time they
17154 need to add to their timestamps - see audioresample
17156 2005-08-26 Stefan Kost <ensonic@users.sf.net>
17159 removed ';' from the end of macro defs
17160 * docs/gst/gstreamer-docs.sgml:
17161 * docs/gst/gstreamer-sections.txt:
17162 * docs/gst/tmpl/.cvsignore:
17164 * gst/gstelement.c: (gst_element_class_init),
17165 (gst_element_set_state), (activate_pads),
17166 (gst_element_save_thyself):
17167 * gst/gstevent.c: (gst_event_new_newsegment):
17169 * gst/gstiterator.c:
17170 * gst/gstiterator.h:
17173 * gst/gstutils.c: (gst_pad_query_convert):
17175 fixed parameter name mismatches between source, header and docs
17176 added some more docs, resolved the last batch of unused elements in
17177 docs (now someone needs to doc them)
17179 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
17181 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
17182 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
17183 don't walk through the plugins backwards. Where is all this
17184 reversed logic coming from ?
17186 2005-08-25 Wim Taymans <wim@fluendo.com>
17188 * gst/base/gstbasetransform.c: (gst_base_transform_init),
17189 (gst_base_transform_transform_size),
17190 (gst_base_transform_configure_caps),
17191 (gst_base_transform_get_unit_size),
17192 (gst_base_transform_buffer_alloc),
17193 (gst_base_transform_change_state):
17194 * gst/base/gstbasetransform.h:
17195 Cache caps unit_size.
17196 Make sure we cannot negotiate up and downstream at the
17199 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
17201 * gst/gst.c: (init_pre), (init_post):
17202 register the installed plugin path after the env var
17203 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
17204 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
17205 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
17206 directories, so the tests can prefer uninstalled over installed
17208 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
17210 * gst/base/gstbasetransform.h:
17215 2005-08-25 Wim Taymans <wim@fluendo.com>
17217 * gst/gstbin.c: (bin_bus_handler):
17218 Be a bit more conservative about the posted message.
17220 * gst/gstbus.c: (gst_bus_post):
17221 Some cleanups, warn wrong return values.
17223 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
17225 * check/gst/gstbin.c: (GST_START_TEST):
17226 * gst/gstbin.c: (bin_bus_handler):
17227 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17228 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17229 (gst_message_new_warning), (gst_message_new_tag),
17230 (gst_message_new_state_changed), (gst_message_new_segment_start),
17231 (gst_message_new_segment_done), (gst_message_new_custom):
17232 * gst/gstmessage.h:
17233 * tools/gst-launch.c: (event_loop):
17234 * tools/gst-md5sum.c: (event_loop):
17235 Revert unpopular change for GST_MESSAGE_SRC to GObject.
17237 2005-08-25 Wim Taymans <wim@fluendo.com>
17239 * check/generic/states.c: (GST_START_TEST):
17240 Cleanup can be done at the end.
17242 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
17243 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17244 (gst_task_get_state), (gst_task_start), (gst_task_pause):
17245 Oh boy.. Thanks for finding this, Thomas.
17247 2005-08-25 Stefan Kost <ensonic@users.sf.net>
17249 * docs/gst/gstreamer.types:
17250 added missing types
17252 2005-08-25 Stefan Kost <ensonic@users.sf.net>
17254 * docs/gst/gstreamer-docs.sgml:
17255 * docs/gst/gstreamer-sections.txt:
17256 * docs/gst/tmpl/.cvsignore:
17258 * gst/gstiterator.c:
17260 * gst/registries/gstxmlregistry.h:
17261 added missing classes and symbols (123 more to go)
17262 removed removed symbols from section file
17263 fixed many doc-comments
17265 2005-08-24 Wim Taymans <wim@fluendo.com>
17267 * check/generic/states.c: (GST_START_TEST):
17268 Make sure all tasks are stopped.
17270 * check/gst/gstbin.c: (GST_START_TEST):
17271 Unref after usage for proper valgrinding.
17273 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
17274 Really wait for the task to stop before destroying the
17277 * gst/gstqueue.c: (gst_queue_sink_activate_push),
17278 (gst_queue_src_activate_push):
17279 Small cleanups. Don't stop the task when we did not start
17282 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
17283 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17284 (gst_task_get_state), (gst_task_start), (gst_task_pause),
17287 Protect the stream lock with the object lock.
17288 Disallow setting the stream lock when running.
17289 Add cleanup_all to wait for the threadpool to finish.
17290 Remove code to autoallocate a mutex if none was provided.
17291 Add _join() to wait for a task to stop.
17292 Protect the thread pool with a global lock.
17294 2005-08-24 Wim Taymans <wim@fluendo.com>
17296 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17297 (gst_base_sink_get_times), (gst_base_sink_do_sync),
17298 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17299 * gst/base/gstbasesink.h:
17300 Handle newsegment events correctly.
17301 Drop buffers out of the segment range.
17303 2005-08-22 Andy Wingo <wingo@pobox.com>
17305 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17306 macro, implements an interface and gstimplementsinterface for a
17309 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
17311 * check/Makefile.am:
17312 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17313 add a test that does a bunch of state changes on elements
17314 needs some fixing for valgrind
17315 * check/states/sinks.c: (gst_object_suite):
17318 add prototype for gst_caps_is_equal_fixed
17320 * gst/gstregistrypool.c:
17323 2005-08-24 Andy Wingo <wingo@pobox.com>
17325 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17326 convert a negative value. Doesn't make much sense. Mostly this is
17327 here to force callers to ensure -1 maps to -1.
17329 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
17331 * docs/pwg/advanced-types.xml:
17332 Well done to Michael for catching my deliberate introduction
17333 of this spelling mistake.
17334 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17335 * gst/gstelement.h:
17336 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17337 unlink pads before removing the element from the bin.
17339 2005-08-24 Andy Wingo <wingo@pobox.com>
17341 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17342 the same thing as GST_DEBUG=*:4.
17343 (parse_debug_level, parse_debug_category): New helper parsers.
17345 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
17347 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17348 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17349 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17350 (gst_base_transform_buffer_alloc),
17351 (gst_base_transform_handle_buffer):
17352 use gboolean return values and pointers to size so we can use the
17353 full GST_BUFFER_SIZE range (guint) for buffer sizes
17354 use GstPadDirection for transform_caps
17355 * gst/base/gstbasetransform.h:
17356 rename get_size to get_unit_size since that's what it is
17357 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17358 use GstPadDirection for transform_caps
17359 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17361 cleanup and debugging
17363 2005-08-24 Stefan Kost <ensonic@users.sf.net>
17365 * gst/gstelement.c: (gst_element_class_init),
17366 (gst_element_set_state), (activate_pads),
17367 (gst_element_save_thyself):
17368 * tools/gst-compprep.c: (main):
17369 * tools/gst-inspect.c: (print_element_properties_info):
17370 * tools/gst-xmlinspect.c: (print_element_properties):
17371 Fixed long standing mem-leak
17373 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
17375 * check/gst/gstbin.c: (GST_START_TEST):
17376 * gst/gstbin.c: (bin_bus_handler):
17377 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17378 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17379 (gst_message_new_warning), (gst_message_new_tag),
17380 (gst_message_new_state_changed), (gst_message_new_segment_start),
17381 (gst_message_new_segment_done), (gst_message_new_custom):
17382 * gst/gstmessage.h:
17383 * tools/gst-launch.c: (event_loop):
17384 * tools/gst-md5sum.c: (event_loop):
17385 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17386 that applications can sensibly post custom messages with references
17387 to their own objects.
17389 2005-08-24 Andy Wingo <wingo@pobox.com>
17391 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17394 2005-08-24 Wim Taymans <wim@fluendo.com>
17396 * gst/base/gstbasetransform.c: (gst_base_transform_init),
17397 (gst_base_transform_transform_caps),
17398 (gst_base_transform_transform_size),
17399 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17400 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17401 (gst_base_transform_handle_buffer):
17402 * gst/base/gstbasetransform.h:
17403 Many fixes and new features added by Thomas. Can now also do
17404 transforms with variable sizes and a custom fixate_caps function.
17406 2005-08-24 Wim Taymans <wim@fluendo.com>
17408 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17412 Cast to ClockTime before formatting to time.
17417 2005-08-24 Stefan Kost <ensonic@users.sf.net>
17419 * check/gst-libs/controller.c: (GST_START_TEST),
17420 (gst_controller_suite):
17421 * docs/gst/tmpl/gstcaps.sgml:
17422 * docs/gst/tmpl/gstghostpad.sgml:
17423 * docs/gst/tmpl/gstquery.sgml:
17424 * docs/gst/tmpl/gstutils.sgml:
17425 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17426 (gst_object_sink_values), (gst_object_get_value_arrays),
17427 (gst_object_get_value_array):
17428 gracefully handle helper method calls to objects that are not beeing
17429 controlled, added test case for that
17431 2005-08-23 Wim Taymans <wim@fluendo.com>
17433 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17434 (gst_event_new_newsegment), (gst_event_parse_newsegment),
17435 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17436 (gst_event_parse_qos), (gst_event_new_seek),
17437 (gst_event_parse_seek):
17439 Some more debugging output and doc cleanups.
17441 * gst/gstqueue.c: (gst_queue_handle_sink_event):
17442 Fix possible deadlock.
17444 2005-08-23 Stefan Kost <ensonic@users.sf.net>
17446 * docs/gst/gstreamer-docs.sgml:
17447 * docs/gst/gstreamer-sections.txt:
17448 * docs/gst/gstreamer.types:
17449 * docs/gst/tmpl/.cvsignore:
17452 * gst/gstelement.c:
17454 added 100 symbols from gstreamer-unused.txt to the right sections
17455 fixed more broken comments
17456 added GstBus to docs
17458 2005-08-23 Stefan Kost <ensonic@users.sf.net>
17460 * docs/gst/gstreamer-sections.txt:
17461 * docs/gst/tmpl/.cvsignore:
17462 * docs/gst/tmpl/gstbin.sgml:
17463 * docs/gst/tmpl/gstbuffer.sgml:
17464 * gst/base/gstbasesrc.c:
17465 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17468 * tools/gst-launch.1.in:
17469 inlined more doc comments, added missing comments and fixed comments
17472 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
17474 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17478 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17480 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17481 * gst/gststructure.h:
17482 add a fixate function for booleans; add a FIXME that these func
17483 names should probably be gst_structure_fixate_*
17485 2005-08-23 Stefan Kost <ensonic@users.sf.net>
17487 * docs/gst/gstreamer-docs.sgml:
17488 * docs/gst/gstreamer-sections.txt:
17490 * gst/gstbin.c: (gst_bin_get_type),
17491 (gst_bin_child_proxy_get_child_by_index),
17492 (gst_bin_child_proxy_get_children_count),
17493 (gst_bin_child_proxy_init):
17494 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17495 (gst_child_proxy_get_child_by_index),
17496 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17497 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17498 (gst_child_proxy_get), (gst_child_proxy_set_property),
17499 (gst_child_proxy_set_valist), (gst_child_proxy_set),
17500 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17501 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17502 * gst/gstchildproxy.h:
17503 * gst/parse/grammar.y:
17504 * tools/gst-inspect.c: (print_interfaces),
17505 (print_element_properties_info), (print_element_info):
17506 ported gstchildproxy over from 0.8
17507 ported gst-inspect fixes and enhancements over from 0.8
17509 2005-08-22 Wim Taymans <wim@fluendo.com>
17511 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17512 (gst_base_transform_handle_buffer):
17513 Also call the transform function if we have ANY caps.
17515 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17518 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
17520 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17521 Don't pretend to handle seek events if the source is not seekable
17523 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
17525 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17526 Remove extra parameter to debug output
17528 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17529 (gst_base_src_do_seek), (gst_base_src_activate_push):
17530 Fix seek event handling.
17532 * gst/gstpipeline.c: (gst_pipeline_change_state):
17533 * gst/gstqueue.c: (gst_queue_handle_sink_event),
17534 (gst_queue_src_activate_push):
17535 Don't start the src pad task on FLUSH_STOP if the pad
17539 2005-08-22 Wim Taymans <wim@fluendo.com>
17541 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17542 Added check for gst_static_caps_get() refcounting.
17544 2005-08-22 Wim Taymans <wim@fluendo.com>
17546 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17547 Make _static_caps_get() refcounting sane.
17549 * gst/gstelement.c: (gst_element_set_state):
17550 Add g_return_val_if_fail() to protect against segfaults.
17552 2005-08-22 Stefan Kost <ensonic@users.sf.net>
17554 * docs/gst/tmpl/gstevent.sgml:
17557 inlined remaining docs, added missing doc comments
17559 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
17561 * check/gst/gstbin.c: (GST_START_TEST):
17562 since we don't know when preroll is done, use refcount range
17564 * gst/check/gstcheck.h:
17565 add macro for checking refcount range
17567 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
17569 * check/Makefile.am:
17570 clean up environment for when registry gets built versus
17571 when actual tests are run; valgrind seems to not report
17572 leaks if GST_PLUGIN_PATH is set to some specific values
17573 * check/gst/gstbin.c: (GST_START_TEST):
17574 add more refcounting checks; maybe this exposes a
17576 * common/check.mak:
17577 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17578 * gst/check/gstcheck.h:
17579 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17580 (gst_bin_change_state):
17581 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17582 add/fix debugging/whitespace
17584 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
17586 * check/gst/gstevent.c: (event_probe), (test_event),
17588 Er, don't call gst_bin_watch_for_state_change you idiot.
17590 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
17592 * check/Makefile.am:
17593 Use CHECK_CFLAGS and CHECK_LIBS
17594 * check/gst/gstevent.c: (event_probe), (test_event),
17597 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17598 (gst_base_src_start), (gst_base_src_stop),
17599 (gst_base_src_activate_push), (gst_base_src_activate_pull),
17600 (gst_base_src_change_state):
17601 Sprinkle gst_base_src_stop liberally around error paths to fix
17602 problems reusing a source after failed state changes.
17603 * gst/base/gsttypefindhelper.c: (helper_find_peek),
17604 (helper_find_suggest), (gst_type_find_helper):
17605 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17607 * docs/gst/tmpl/gstevent.sgml:
17608 Migrate part of the docs from the SGML file. Wait for ensonic to
17609 tell me how I did it wrong ;)
17610 * tools/gst-typefind.c: (main):
17611 Extra robustness to state changes between files.
17613 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
17615 * check/Makefile.am:
17616 don't valgrind the controller test - it's leaking - Stefan, HELP
17617 * gst/check/gstcheck.c: (gst_check_message_error),
17618 (gst_check_chain_func), (gst_check_setup_element),
17619 (gst_check_teardown_element), (gst_check_setup_src_pad),
17620 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17621 (gst_check_teardown_sink_pad):
17622 * gst/check/gstcheck.h:
17623 add a bunch of methods to set up elements, and src and sink pads
17624 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17625 * check/elements/identity.c: (setup_identity), (cleanup_identity),
17628 * gst/gstmessage.c:
17630 whitespace/doc fixes
17632 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17634 * gst/gstelement.h:
17635 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17636 be handled by the application and not always printed as well
17638 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17640 * check/Makefile.am:
17642 * gst/check/gstcheck.c: (gst_check_message_error):
17643 * gst/check/gstcheck.h:
17644 add a fail_unless_equals_int
17645 add fail_unless for error messages
17647 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17649 * check/Makefile.am:
17651 * common/Makefile.am:
17652 * common/check.mak:
17654 factor out some of the common stuff so we can use it
17656 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17658 * check/Makefile.am:
17659 * check/gst/gstiterator.c: (GST_START_TEST):
17660 * check/gst/gstsystemclock.c: (GST_START_TEST),
17661 (gst_systemclock_suite):
17662 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17664 valgrind more tests
17666 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17668 * check/elements/.cvsignore:
17669 * check/elements/gstfakesrc.c:
17670 rename to name of element
17671 * check/elements/identity.c: (chain_func), (event_func),
17672 (setup_identity), (cleanup_identity), (GST_START_TEST),
17673 (identity_suite), (main):
17674 add a test for identity
17675 * check/Makefile.am:
17676 * pkgconfig/Makefile.am:
17677 * pkgconfig/gstreamer-check.pc.in:
17678 * pkgconfig/gstreamer-check-uninstalled.pc.in:
17682 move the check stuff to a library that gets installed
17683 * check/gst-libs/controller.c: (GST_START_TEST):
17684 * check/gst-libs/gdp.c:
17685 * check/gst/gst.c: (GST_START_TEST):
17686 * check/gst/gstbin.c:
17687 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17688 * check/gst/gstbus.c:
17689 * check/gst/gstcaps.c: (GST_START_TEST):
17690 * check/gst/gstelement.c:
17691 * check/gst/gstghostpad.c:
17692 * check/gst/gstiterator.c:
17693 * check/gst/gstmessage.c:
17694 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17695 * check/gst/gstobject.c:
17696 * check/gst/gstpad.c: (GST_START_TEST):
17697 * check/gst/gststructure.c: (GST_START_TEST):
17698 * check/gst/gstsystemclock.c: (GST_START_TEST),
17699 (gst_systemclock_suite):
17700 * check/gst/gsttag.c: (gst_tag_suite):
17701 * check/gst/gstvalue.c:
17702 * check/pipelines/cleanup.c:
17703 * check/pipelines/simple_launch_lines.c:
17704 * check/states/sinks.c:
17705 change include statement
17707 * docs/gst/gstreamer-sections.txt:
17708 * docs/gst/tmpl/gstpad.sgml:
17709 document more pad stuff
17710 * gst/gstminiobject.c: (gst_mini_object_ref),
17711 (gst_mini_object_unref):
17714 2005-08-19 Stefan Kost <ensonic@users.sf.net>
17716 * docs/gst/tmpl/gst.sgml:
17718 eliminate another tmpl file, fix spelling in the long-description
17720 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17722 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17723 (test_event), (timediff), (gstevents_suite):
17724 Should fix build on 64-bit arch's
17726 2005-08-18 Andy Wingo <wingo@pobox.com>
17728 Make sure that when a pipeline goes to PLAYING, that data has
17729 actually hit the sink.
17731 * check/states/sinks.c (test_sink): A sink that doesn't get any
17732 data shouldn't return SUCCESS for going to either PLAYING or
17733 PAUSED. Test also the return values on the way back down.
17735 * gst/gstelement.c (gst_element_set_state): When changing the
17736 state of an element currently changing state asynchronously, go to
17737 lost-state after commiting the pending state. Makes future calls
17738 to get_state continue to return ASYNC.
17740 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17741 ASYNC when going to PLAYING if we still don't have preroll, as can
17742 happen with live sources.
17744 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17746 * docs/pwg/advanced-types.xml:
17747 Hack long paragraph into 2 chunks as a workaround for buggy
17748 jadetex version in sid and breezy that loops infinitely and
17751 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17753 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17754 (test_event), (timediff), (gstevents_suite):
17755 Provide more error margin in clock measurements to allow for
17756 g_get_current_time inaccuracies.
17758 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17760 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17761 (test_event), (timediff), (gstevents_suite):
17762 Fix error message output so I might be able to tell why the
17763 test works here but fails on the build farm.
17765 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17767 * check/Makefile.am:
17768 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17769 (test_event), (timediff), (gstevents_suite), (main):
17772 * docs/design/part-seeking.txt:
17773 Spelling correction
17775 * docs/gst/tmpl/gstevent.sgml:
17776 * docs/gst/tmpl/gstfakesrc.sgml:
17779 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17780 Treat a buffer-without-newsegment the same as a receiving
17781 a newsegment not in time format, and disable syncing to the clock
17784 * gst/gstbus.c: (gst_bus_set_sync_handler):
17785 Assert if anyone tries to replace the existing sync_handler for bus,
17786 as only the owner should be setting it.
17789 Have a fixed set of custom event enums with events identified by
17790 their structure name (as in 0.8), rather than a free-for-all
17791 allowing collisions between enum values from different plugins.
17793 * gst/gstpad.c: (gst_pad_class_init):
17796 * gst/gstqueue.c: (gst_queue_handle_sink_event):
17797 Handle out-of-band downstream events from the sending thread.
17799 2005-08-17 Andy Wingo <wingo@pobox.com>
17801 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
17802 play-timeout==0 to mean no timeout at all. In that case, don't
17803 bother with a get_state or a warning, just return directly, even
17806 * gst/base/gstbasetransform.c: Debug changes.
17809 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
17810 ensure bins post state change messages. A bit of a hack but I can't
17811 think of a way to avoid it.
17813 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
17815 2005-08-16 Andy Wingo <wingo@pobox.com>
17817 * gst/base/gstadapter.h:
17818 * gst/base/gstadapter.c (gst_adapter_take): New function, like
17819 peek() but you own the data. Not terribly efficient atm.
17821 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17823 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
17824 (gst_element_found_tags):
17826 Add two utility functions for tag handling.
17828 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17830 * docs/manual/advanced-dataaccess.xml:
17831 * docs/manual/basics-helloworld.xml:
17832 Fix docs to use _bin_add() before _link(), which fixes the examples
17833 with recent core versions (reported by Madhan Raj M
17834 <raj_madan@rediffmail.com>, #313199).
17836 2005-08-16 Wim Taymans <wim@fluendo.com>
17838 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17839 Added subtract checks.
17841 * docs/design/part-events.txt:
17842 Some more docs about newsegment
17844 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17847 * gst/gstcaps.c: (gst_caps_to_string):
17848 Add comments, cleanups.
17850 * gst/gstelement.c: (gst_element_save_thyself):
17853 * gst/gstvalue.c: (gst_value_collect_int_range),
17854 (gst_string_unwrap), (gst_value_union_int_int_range),
17855 (gst_value_union_int_range_int_range),
17856 (gst_value_intersect_int_int_range),
17857 (gst_value_intersect_int_range_int_range),
17858 (gst_value_intersect_double_double_range),
17859 (gst_value_intersect_double_range_double_range),
17860 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
17861 (gst_value_subtract_int_range_int),
17862 (gst_value_subtract_double_range_double),
17863 (gst_value_subtract_double_range_double_range),
17864 (gst_value_subtract_from_list), (gst_value_subtract_list),
17865 (gst_value_can_compare), (gst_value_compare_fraction):
17866 Cleanups, add comments, remove unneeded asserts.
17868 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
17870 * tools/gst-launch.c: (event_loop):
17871 don't convert NULL structures to strings
17873 2005-08-15 Stefan Kost <ensonic@users.sf.net>
17875 * docs/gst/gstreamer-sections.txt:
17876 made some defines private
17877 * docs/gst/tmpl/gstconfig.sgml:
17878 * docs/gst/tmpl/gstqueue.sgml:
17879 * docs/gst/tmpl/gsttaglist.sgml:
17880 * docs/gst/tmpl/gsttypes.sgml:
17881 * docs/gst/tmpl/gstutils.sgml:
17882 * docs/pwg/appendix-porting.xml:
17883 * gst/base/gstbasesink.h:
17884 * gst/base/gstbasesrc.c:
17885 * gst/base/gstbasesrc.h:
17886 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
17887 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
17888 * gst/gstelement.c: (gst_element_class_init):
17889 * gst/gstpad.c: (gst_pad_class_init):
17890 * gst/gstqueue.c: (gst_queue_class_init):
17891 * gst/gstxml.c: (gst_xml_class_init):
17892 documented all undocumented signal inline
17893 * libs/gst/controller/gst-controller.h:
17896 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17898 * docs/pwg/appendix-porting.xml:
17899 Document _set_link_function -> _set_setcaps_function.
17901 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
17903 * check/Makefile.am:
17904 add a .check target for running the check
17905 * check/gst-libs/controller.c: (GST_START_TEST):
17907 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17908 complete checks for gstbuffer; would be nice if I could get the
17909 gcov stuff to work so I can see if I actually completed gstbuffer.c
17910 * check/gstcheck.h:
17911 add ASSERT_BUFFER_REFCOUNT
17913 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
17915 * docs/gst/gstreamer-sections.txt:
17916 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
17918 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
17919 spew out a warning if a tag that is already registered
17920 is re-registered, unless it is re-registered with a
17921 different type (#308438).
17923 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
17925 * docs/pwg/appendix-porting.xml:
17926 * docs/pwg/building-state.xml:
17927 Add some paragraphs about state changes in 0.9 to the PWG
17928 and the porting guide, in particular about the new meaning
17929 of GST_STATE_PAUSED and how to write state change functions
17930 with concurrent access by multiple threads in mind.
17932 2005-08-11 Stefan Kost <ensonic@users.sf.net>
17934 * docs/gst/gstreamer-docs.sgml:
17935 * docs/libs/gstreamer-libs-docs.sgml:
17936 added deprecation and since indexes
17937 * libs/gst/controller/gst-controller.c:
17938 * libs/gst/controller/gst-helper.c:
17942 2005-08-11 Wim Taymans <wim@fluendo.com>
17944 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
17945 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
17946 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
17947 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
17948 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
17949 (gst_ghost_pad_set_target):
17950 Actually implement (re)setting the target on a ghostpad
17951 as described in the docs.
17953 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
17955 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
17956 Check whether GST_DEBUG_NO_COLOR environment variable is
17957 set and disable coloured debug output if that is the case.
17959 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
17961 * gst/base/gsttypefindhelper.c: (helper_find_peek),
17962 (gst_type_find_helper):
17963 The memory returned by gst_type_find_peek() needs to
17964 stay valid until the end of a typefind function, and
17965 typefind functions may keep results from different
17966 offsets around, so we can't just unref the buffer from
17967 the previous _peek(), but have to save all buffers
17968 returned by _peek() until typefinding is done and only
17971 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
17973 * docs/gst/gstreamer-sections.txt:
17975 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
17977 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17979 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17980 Fix a pretty good memleak.
17982 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
17984 * gst/gstiterator.h:
17985 Fix wrong include and 'make distcheck'.
17987 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17989 * gst/gstbin.c: (bin_bus_handler):
17990 Use gst_element_post_message() instead.
17992 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
17994 * gst/base/gstadapter.h:
17995 * gst/base/gstbasesink.h:
17996 * gst/base/gstbasesrc.h:
17997 * gst/base/gstbasetransform.h:
17998 * gst/base/gstcollectpads.h:
17999 * gst/base/gstpushsrc.h:
18000 * gst/gstiterator.h:
18001 Add padding to our base elements' class and instance structs and
18002 to GstIterator (you will need to rebuild all plugins and apps!)
18004 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18006 * gst/gstbin.c: (bin_bus_handler):
18007 Make default message forwarding from child->bus to bin->bus
18008 threadsafe and make it not emit warnings if the parent has no bus.
18010 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18012 * gst/gstelement.c: (activate_pads):
18013 On paused->ready, set pad->caps to NULL, as is the documented
18014 behaviour in this state change. Fixes playback of series of
18015 media files when visualization is enabled in Totem.
18017 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18019 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
18020 Allow NULL as filter-caps (which means "any").
18022 2005-08-05 Stefan Kost <ensonic@users.sf.net>
18024 * docs/libs/gstreamer-libs-sections.txt:
18025 * libs/gst/controller/gst-controller.c:
18026 * libs/gst/controller/gst-controller.h:
18027 * libs/gst/controller/gst-helper.c:
18028 adding more entries to the docs and fix small doc-bugs
18030 2005-08-05 Stefan Kost <ensonic@users.sf.net>
18032 * docs/gst/gstreamer-docs.sgml:
18033 * docs/gst/gstreamer-sections.txt:
18034 * docs/gst/gstreamer.types:
18035 * docs/gst/tmpl/gstbasesink.sgml:
18036 * docs/gst/tmpl/gstbasesrc.sgml:
18037 * docs/gst/tmpl/gstbasetransform.sgml:
18038 * docs/gst/tmpl/gstfakesrc.sgml:
18039 * gst/base/gstcollectpads.c:
18040 * gst/base/gstcollectpads.h:
18041 * libs/gst/controller/gst-controller.c:
18042 * libs/gst/controller/gst-controller.h:
18043 * libs/gst/controller/gst-helper.c:
18044 * libs/gst/controller/gst-interpolation.c:
18045 * libs/gst/controller/lib.c:
18046 added long/short desc for controller docs
18047 added collectpads base class docs
18048 added correct includes to base-class docs
18050 2005-08-05 Stefan Kost <ensonic@users.sf.net>
18052 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
18053 (gst_test_mono_source_set_property),
18054 (gst_test_mono_source_class_init), (GST_START_TEST),
18055 (gst_controller_suite):
18056 * docs/gst/gstreamer-docs.sgml:
18057 * docs/gst/gstreamer-sections.txt:
18058 * docs/gst/gstreamer.types:
18059 * docs/libs/gstreamer-libs-docs.sgml:
18060 * docs/libs/gstreamer-libs-sections.txt:
18061 * gst/base/gstadapter.c:
18062 * libs/gst/controller/gst-controller.c:
18063 (gst_controlled_property_new), (gst_controlled_property_free),
18064 (gst_controller_new_valist),
18065 (gst_controller_remove_properties_valist),
18066 (gst_controller_sink_values), (_gst_controller_finalize):
18067 * libs/gst/controller/gst-controller.h:
18068 * libs/gst/controller/gst-helper.c:
18069 (gst_object_control_properties), (gst_object_uncontrol_properties),
18070 (gst_object_get_controller), (gst_object_set_controller),
18071 (gst_object_sink_values), (gst_object_get_value_arrays),
18072 (gst_object_get_value_array):
18073 more tests (and fixes) for the controller
18074 more docs for the controller
18075 integrated companies docs for the adapter
18077 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
18079 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
18080 (GST_START_TEST), (fakesrc_suite):
18081 add tests for sizetype
18083 2005-08-04 Andy Wingo <wingo@pobox.com>
18085 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
18086 fixes buffer_alloc proxying among other things.
18088 * gst/base/gstbasetransform.c:
18089 * gst/base/gstbasetransform.h:
18090 Revert patch to gstbasetransform from 7-28 removing
18093 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
18094 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
18095 Semantics changed, should return not the size of the output buffer
18096 but the byte size of a buffer with a given caps.
18098 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
18100 (gst_base_transform_configure_caps): Don't set out_size here: (in,
18101 out) are not the pad caps until setcaps finishes.
18102 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
18103 not-in-place case as well. Deal with changing from in-place to
18104 not-in-place within calling pad_alloc_buffer. Still a bit
18105 concerned about the overhead here...
18107 2005-08-03 Andy Wingo <wingo@pobox.com>
18109 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
18110 fixating is an error.
18112 2005-08-04 Edward Hervey <edward@fluendo.com>
18114 * gst/base/gstadapter.h:
18115 Added gst_adapter_get_type() to the header
18117 2005-08-03 Stefan Kost <ensonic@users.sf.net>
18119 * check/Makefile.am:
18120 * check/gst-libs/controller.c:
18121 * libs/gst/controller/gst-controller.c:
18122 (gst_controller_new_valist):
18123 added check test suite for the controller
18124 * gst/base/gstpushsrc.c:
18127 2005-08-03 Stefan Kost <ensonic@users.sf.net>
18129 * docs/gst/Makefile.am:
18130 * docs/gst/gstreamer-docs.sgml:
18131 * docs/gst/gstreamer-sections.txt:
18132 * docs/gst/gstreamer.types:
18133 * docs/gst/tmpl/gstfakesrc.sgml:
18135 * gst/base/gstbasesink.c:
18136 * gst/base/gstbasesink.h:
18137 * gst/base/gstbasesrc.c:
18138 * gst/base/gstbasesrc.h:
18139 * gst/base/gstbasetransform.c:
18140 * gst/base/gstpushsrc.c:
18141 * gst/base/gstpushsrc.h:
18142 add short/long description docs to base classes
18143 add pushsrc to the docs
18144 remove consolidated doc fragments
18146 2005-08-03 Stefan Kost <ensonic@users.sf.net>
18149 * docs/libs/Makefile.am:
18150 * docs/libs/gstreamer-libs-docs.sgml:
18151 * docs/libs/gstreamer-libs-sections.txt:
18152 * docs/libs/gstreamer-libs.types:
18153 * examples/Makefile.am:
18154 * examples/controller/.cvsignore:
18155 * examples/controller/Makefile.am:
18156 * examples/controller/audio-example.c: (main):
18157 * libs/gst/Makefile.am:
18158 * libs/gst/controller/.cvsignore:
18159 * libs/gst/controller/Makefile.am:
18160 * libs/gst/controller/gst-controller.c:
18161 (on_object_controlled_property_changed), (gst_timed_value_compare),
18162 (gst_timed_value_find),
18163 (gst_controlled_property_set_interpolation_mode),
18164 (gst_controlled_property_new), (gst_controlled_property_free),
18165 (gst_controller_find_controlled_property),
18166 (gst_controller_new_valist), (gst_controller_new),
18167 (gst_controller_remove_properties_valist),
18168 (gst_controller_remove_properties), (gst_controller_set),
18169 (gst_controller_set_from_list), (gst_controller_unset),
18170 (gst_controller_get), (gst_controller_get_all),
18171 (gst_controller_sink_values), (gst_controller_get_value_arrays),
18172 (gst_controller_get_value_array),
18173 (gst_controller_set_interpolation_mode),
18174 (_gst_controller_finalize), (_gst_controller_init),
18175 (_gst_controller_class_init), (gst_controller_get_type):
18176 * libs/gst/controller/gst-controller.h:
18177 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
18178 (g_object_uncontrol_properties), (g_object_get_controller),
18179 (g_object_set_controller), (g_object_sink_values),
18180 (g_object_get_value_arrays), (g_object_get_value_array):
18181 * libs/gst/controller/gst-interpolation.c:
18182 (gst_controlled_property_find_timed_value_node),
18183 (interpolate_none_get), (interpolate_trigger_get),
18184 (interpolate_trigger_get_value_array):
18185 * libs/gst/controller/lib.c: (gst_controller_init):
18186 * pkgconfig/Makefile.am:
18187 * pkgconfig/gstreamer-control-uninstalled.pc.in:
18188 * pkgconfig/gstreamer-control.pc.in:
18189 * testsuite/Makefile.am:
18190 * testsuite/controller/.cvsignore:
18191 * testsuite/controller/Makefile.am:
18192 * testsuite/controller/interpolator.c: (main):
18193 added controller code
18194 removed dparam pc files
18196 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
18197 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
18198 (gst_collectpads_stop):
18199 Broadcast the condition when shutting down, to make sure we wake all
18200 threads up. Shut down pads on finalize, for safety.
18202 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
18203 * gst/base/gstbasetransform.c: (gst_base_transform_init),
18204 (gst_base_transform_handle_buffer),
18205 (gst_base_transform_change_state):
18206 Handle PAUSED->READY->PAUSED transition after negotiation
18208 * gst/gstmessage.c: (gst_message_init):
18209 Extra piece of debug for new messages.
18211 2005-08-01 Stefan Kost <ensonic@users.sf.net>
18214 * docs/gst/tmpl/gstbasesrc.sgml:
18215 * docs/gst/tmpl/gstelement.sgml:
18216 * docs/gst/tmpl/gstevent.sgml:
18217 * docs/gst/tmpl/gstfakesrc.sgml:
18218 * docs/gst/tmpl/gstformat.sgml:
18219 * docs/gst/tmpl/gstghostpad.sgml:
18220 * docs/gst/tmpl/gstpad.sgml:
18221 * docs/gst/tmpl/gstquery.sgml:
18222 * docs/gst/tmpl/gststructure.sgml:
18223 * docs/gst/tmpl/gsttaglist.sgml:
18224 * docs/gst/tmpl/gstvalue.sgml:
18225 * docs/libs/gstreamer-libs-docs.sgml:
18226 * docs/libs/gstreamer-libs-sections.txt:
18227 * docs/libs/gstreamer-libs.types:
18228 * libs/gst/Makefile.am:
18229 * libs/gst/control/.cvsignore:
18230 * libs/gst/control/Makefile.am:
18231 * libs/gst/control/control.c:
18232 * libs/gst/control/control.h:
18233 * libs/gst/control/dparam.c:
18234 * libs/gst/control/dparam.h:
18235 * libs/gst/control/dparam_smooth.c:
18236 * libs/gst/control/dparam_smooth.h:
18237 * libs/gst/control/dparamcommon.h:
18238 * libs/gst/control/dparammanager.c:
18239 * libs/gst/control/dparammanager.h:
18240 * libs/gst/control/dplinearinterp.c:
18241 * libs/gst/control/dplinearinterp.h:
18242 * libs/gst/control/unitconvert.c:
18243 * libs/gst/control/unitconvert.h:
18244 * testsuite/Makefile.am:
18245 * testsuite/dynparams/.cvsignore:
18246 * testsuite/dynparams/Makefile.am:
18247 * testsuite/dynparams/dparamstest.c:
18248 * tools/Makefile.am:
18249 * tools/gst-inspect.c: (print_element_info), (main):
18250 * tools/gst-xmlinspect.c: (print_element_info), (main):
18251 deactivate and remove dparams (libgstcontrol)
18253 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
18255 * gst/elements/gsttypefindelement.c:
18256 (gst_type_find_element_have_type), (gst_type_find_element_init),
18257 (stop_typefinding), (gst_type_find_element_handle_event),
18258 (gst_type_find_element_chain), (gst_type_find_element_getrange):
18259 * gst/elements/gsttypefindelement.h:
18260 Set caps on all outgoing buffers, not just the first one.
18262 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
18264 * gst/elements/gsttypefindelement.c:
18265 (gst_type_find_element_have_type),
18266 (gst_type_find_element_check_set_buffer_caps),
18267 (gst_type_find_element_init), (stop_typefinding),
18268 (gst_type_find_element_handle_event),
18269 (gst_type_find_element_chain), (gst_type_find_element_getrange):
18270 * gst/elements/gsttypefindelement.h:
18271 Set caps on first outgoing buffer when we've found the type.
18273 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
18275 * docs/gst/gstreamer-docs.sgml:
18276 * docs/gst/gstreamer-sections.txt:
18277 * docs/gst/tmpl/gstscheduler.sgml:
18278 * docs/gst/tmpl/gstschedulerfactory.sgml:
18279 Remove some old cruft from docs.
18281 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
18284 Fix inline docs for GstPadLinkReturn.
18286 * gst/gststructure.c: (gst_structure_has_name):
18287 * gst/gststructure.h:
18288 * docs/gst/gstreamer-sections.txt:
18289 New API: gst_structure_has_name().
18291 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
18294 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
18295 and _LARGEFILE_SOURCE in config.h as required. Do not
18296 export those flags in our .pc files any longer (#142209).
18298 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18300 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18301 (gst_file_sink_do_seek), (gst_file_sink_event),
18302 (gst_file_sink_get_current_offset), (gst_file_sink_render):
18303 Redo seek/tell calls with large file support in mind; add some
18304 debugging messages; add log message that tells us when large
18305 file support is unavailable or not enabled for some reason.
18307 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18308 Add log message that tells us when large file support
18309 is unavailable or not enabled for some reason.
18311 2005-07-29 Wim Taymans <wim@fluendo.com>
18313 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18314 Added test for removing an element with ghostpad from a bin.
18315 Fixed test as current implementation does the right thing.
18317 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18318 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18319 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18320 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18321 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18322 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18323 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18324 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18325 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18326 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18327 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18328 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18329 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18330 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18331 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18332 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18333 * gst/gstghostpad.h:
18334 Clean up ghostpads, remove properties for internal stuff.
18337 Prepare for switching targets, not all use cases work yet.
18339 2005-07-29 Wim Taymans <wim@fluendo.com>
18341 * docs/design/part-gstghostpad.txt:
18344 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18345 (gst_bin_remove_func):
18346 Unlinking pads while holding the bin LOCK is not a good
18349 * gst/gstpad.c: (gst_pad_class_init),
18350 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18351 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18352 No prob setting template after creating the pad.
18354 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
18356 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18357 (gst_bus_peek), (gst_bus_source_dispatch),
18358 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18359 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18360 gst_bus_poll may be called from other threads. Handle
18361 this nicely by not making poll_data disappear off the
18362 stack once gst_bus_poll returns.
18363 gst_bus_peek now increments the refcount on the returned
18366 2005-07-29 Wim Taymans <wim@fluendo.com>
18368 * docs/design/part-gstghostpad.txt:
18369 Overview of current GhostPad datastructures and use
18370 cases for changing the target.
18372 2005-07-28 Wim Taymans <wim@fluendo.com>
18374 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18375 Added checks for hierarchy consistency whan adding linked
18378 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18379 Added check to test element scheduling without bin/pipeline.
18381 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18382 First add elements to bin, then link.
18384 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18385 (gst_bin_remove_func):
18386 Unlink pads from elements added/removed from bin to maintain
18387 hierarchy consistency.
18389 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18391 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18392 (gst_base_transform_handle_buffer):
18393 * gst/base/gstbasetransform.h:
18394 Remove broken delay_configure (fixes renegotiation of software
18395 scaling pipelines); remove some leftover printf()s.
18397 2005-07-28 Wim Taymans <wim@fluendo.com>
18399 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18400 Added some more tests for wrong hierarchy
18402 * docs/design/part-overview.txt:
18405 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18408 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18409 (gst_element_dispose):
18410 Some more cleanups.
18412 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18413 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18414 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18415 (gst_pad_set_caps), (gst_pad_send_event):
18416 Check for correct hierarchy when linking pads. Moving to
18417 strict requirement for ghostpads when linking elements in
18421 Clean ups. Added WRONG_HIERARCHY return value.
18423 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18425 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18426 Better debug if no transform is possible.
18428 2005-07-27 Wim Taymans <wim@fluendo.com>
18430 * docs/random/wtay/network-transp:
18431 Some old doc I had.
18433 2005-07-27 Wim Taymans <wim@fluendo.com>
18435 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18436 (gst_dp_event_from_packet):
18437 Fix serialization of seek events.
18439 2005-07-27 Wim Taymans <wim@fluendo.com>
18441 * check/gst-libs/gdp.c: (GST_START_TEST):
18442 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18443 Fix compilation and fix event serialization.
18445 2005-07-27 Wim Taymans <wim@fluendo.com>
18448 * docs/design/part-TODO.txt:
18449 * docs/design/part-events.txt:
18452 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18453 (gst_base_sink_event), (gst_base_sink_do_sync),
18454 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18455 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18456 (gst_base_src_do_seek), (gst_base_src_event_handler),
18457 (gst_base_src_loop):
18458 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18459 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18460 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18461 (gst_base_transform_event), (gst_base_transform_handle_buffer),
18462 (gst_base_transform_set_passthrough),
18463 (gst_base_transform_is_passthrough):
18464 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18465 * gst/elements/gstfilesink.c: (gst_file_sink_event):
18471 * gst/gstelement.c: (gst_element_seek):
18472 * gst/gstelement.h:
18473 Update gst_element_seek.
18475 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18476 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18477 (gst_event_new_flush_start), (gst_event_new_flush_stop),
18478 (gst_event_new_eos), (gst_event_new_newsegment),
18479 (gst_event_parse_newsegment), (gst_event_new_tag),
18480 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18481 (gst_event_parse_qos), (gst_event_new_seek),
18482 (gst_event_parse_seek), (gst_event_new_navigation):
18484 Make GstEvent use GstStructure. Add parsing code, make sure the
18485 API is sufficiently generic.
18486 Mark possible directions of events and serialization.
18488 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18489 (_gst_message_copy), (gst_message_new_segment_start),
18490 (gst_message_new_segment_done), (gst_message_new_custom),
18491 (gst_message_parse_segment_start),
18492 (gst_message_parse_segment_done):
18495 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18496 (gst_pad_set_caps), (gst_pad_send_event):
18497 Update for new events.
18498 Catch events sent in wrong directions.
18500 * gst/gstqueue.c: (gst_queue_link_src),
18501 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18502 (gst_queue_handle_src_query):
18507 Remove event code from this file.
18509 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18510 (gst_dp_event_from_packet):
18513 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18515 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18516 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18517 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18518 Make debugging actually useful.
18520 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18522 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18523 (gst_pad_fixate_caps):
18524 Implement default fixation once again, so that gst_pad_fixate()
18525 actually does anything at all. This probably needs to be some
18526 sort of a last resort, and use profile-based fixation first, but
18527 since that doesn't exist yet, this is the best we have. Fixes
18528 visualization in Totem.
18530 2005-07-22 Wim Taymans <wim@fluendo.com>
18532 * docs/design/part-events.txt:
18535 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18536 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18537 (gst_base_sink_activate_pull):
18538 Some more comments.
18540 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18541 (gst_fake_src_create):
18542 Fix handoff marshall.
18544 * gst/elements/gstidentity.c: (gst_identity_class_init),
18545 (gst_identity_transform_ip):
18546 We're a real inplace element.
18548 * gst/gstbus.c: (gst_bus_post):
18549 Added some comments.
18551 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18552 * tests/muxing/case1.c: (main):
18553 * tests/sched/dynamic-pipeline.c: (main):
18554 * tests/sched/interrupt1.c: (main):
18555 * tests/sched/interrupt2.c: (main):
18556 * tests/sched/interrupt3.c: (main):
18557 * tests/sched/runxml.c: (main):
18558 * tests/sched/sched-stress.c: (main):
18559 * tests/seeking/seeking1.c: (event_received), (main):
18560 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18562 * tests/threadstate/threadstate3.c: (main):
18563 * tests/threadstate/threadstate4.c: (main):
18564 * tests/threadstate/threadstate5.c: (main):
18567 2005-07-21 Wim Taymans <wim@fluendo.com>
18569 * docs/design/part-seeking.txt:
18570 Some small additions.
18572 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18573 (gst_base_sink_get_times), (gst_base_sink_do_sync),
18574 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18575 * gst/base/gstbasesink.h:
18576 discont values are gint64, handle the math correctly.
18578 * gst/base/gstbasesrc.c: (gst_base_src_loop):
18579 Make the basesrc report error if the source pad is not linked.
18581 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18582 (gst_queue_loop), (gst_queue_handle_src_query),
18583 (gst_queue_src_activate_push):
18584 Make queue collect data even if the srcpad is not linked.
18585 Start pushing out data as soon as it is linked.
18587 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18589 Added gst_flow_get_name() to ease error reporting.
18591 2005-07-20 Wim Taymans <wim@fluendo.com>
18593 * gst/gstmessage.c: (gst_message_new_segment_start),
18594 (gst_message_new_segment_done), (gst_message_parse_segment_start),
18595 (gst_message_parse_segment_done):
18596 * gst/gstmessage.h:
18597 Added a bunch of messages for advanced seeking.
18599 * gst/parse/grammar.y:
18600 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18601 (gst_dpman_state_changed):
18602 Fix some new-pad -> pad-added signals
18604 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18606 * docs/manual/appendix-porting.xml:
18607 * docs/pwg/appendix-porting.xml:
18608 Document new-pad/state-change signal renames and the FixedList
18611 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18613 * docs/manual/advanced-autoplugging.xml:
18614 * docs/manual/basics-helloworld.xml:
18615 * docs/manual/basics-pads.xml:
18616 * docs/random/ds/0.9-suggested-changes:
18617 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18618 * gst/gstelement.h:
18622 * gst/gststructure.c: (gst_structure_value_get_generic_type),
18623 (gst_structure_parse_array), (gst_structure_parse_value):
18624 * gst/gstvalue.c: (gst_type_is_fixed),
18625 (gst_value_list_prepend_value), (gst_value_list_append_value),
18626 (gst_value_list_get_size), (gst_value_list_get_value),
18627 (gst_value_transform_array_string), (gst_value_serialize_array),
18628 (gst_value_deserialize_array), (gst_value_intersect_array),
18629 (gst_value_is_fixed), (_gst_value_initialize):
18631 GstElement::new-pad -> pad-added, GstElement::state-change ->
18632 state-changed, GstValueFixedList -> GstValueArray, add format and
18633 flags as their own arguments in gst_element_seek() (should improve
18634 "bindeability"), remove function generators since they don't work
18635 under a whole bunch of compilers (they were deprecated already
18638 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18640 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18641 (_gst_debug_register_funcptr):
18643 Fix illegal cast on some platforms (#309253).
18645 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18647 * gst/gstmessage.c: (gst_message_new_custom):
18648 * gst/gstmessage.h:
18649 Add _new_custom, make _new_application a macro to _new_custom.
18651 2005-07-20 Wim Taymans <wim@fluendo.com>
18653 * gst/base/gstbasesrc.c: (gst_base_src_init),
18654 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18655 * gst/base/gstbasesrc.h:
18656 Add a gboolean to decide when to push out a discont.
18658 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18659 (gst_queue_loop), (gst_queue_handle_src_query),
18660 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18661 (gst_queue_set_property), (gst_queue_get_property):
18664 * tests/threadstate/threadstate1.c: (main):
18665 Make a thread test compile and run... very silly..
18668 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18670 * docs/manual/appendix-porting.xml:
18671 Mention removal of libgstgconf-0.9.la and existence of gconf
18674 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18676 * docs/pwg/advanced-clock.xml:
18677 * docs/pwg/appendix-porting.xml:
18678 * docs/pwg/intro-preface.xml:
18679 * docs/pwg/other-base.xml:
18680 * docs/pwg/other-manager.xml:
18681 * docs/pwg/other-nton.xml:
18682 * docs/pwg/other-ntoone.xml:
18683 * docs/pwg/other-oneton.xml:
18684 * docs/pwg/pwg.xml:
18685 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18686 demuxer), remove n-to-n (was never written), fix some code examples
18687 and links and update the porting section to include all this.
18689 2005-07-19 Wim Taymans <wim@fluendo.com>
18691 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18692 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18693 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18694 (gst_queue_src_activate_push), (gst_queue_change_state),
18695 (gst_queue_get_property):
18697 Propagate GstFlowReturn more intelligently upstream and output
18698 an ERROR/EOS when streaming stopped due to fatal error.
18700 2005-07-19 Wim Taymans <wim@fluendo.com>
18702 * tools/gst-launch.c: (check_intr), (event_loop), (main):
18703 Don't block forever for the state change to complete, the
18704 pipeline already did with a sensible timeout.
18706 2005-07-19 Wim Taymans <wim@fluendo.com>
18708 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18709 Make sure we never call the create function is we
18712 2005-07-19 Andy Wingo <wingo@pobox.com>
18714 * gst/parse/parse.l: Attempt to solve bug #172815.
18716 2005-07-19 Wim Taymans <wim@fluendo.com>
18718 * docs/design/part-clocks.txt:
18719 * docs/design/part-events.txt:
18720 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18721 Small docs updates.
18722 Only update the seeking values when we are not
18725 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
18727 * gst/base/gstbasesrc.c: (gst_base_src_loop):
18728 Oops, ignore the result of gst_pad_push_event here.
18730 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
18732 * gst/base/gstbasesrc.c: (gst_base_src_loop),
18733 (gst_base_src_activate_push):
18734 Send discont event from the loop function, as pads
18735 aren't activated yet in the activate_push handler.
18737 * gst/gstbin.c: (bin_bus_handler):
18738 Don't leak element name.
18740 2005-07-18 Andy Wingo <wingo@pobox.com>
18742 * configure.ac: Use AS_LIBTOOL_TAGS.
18744 2005-07-18 Wim Taymans <wim@fluendo.com>
18746 * docs/gst/gstreamer.types:
18747 Remove deleted types.
18749 2005-07-18 Wim Taymans <wim@fluendo.com>
18751 * check/elements/gstfakesrc.c: (GST_START_TEST):
18754 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18755 (init_popt_callback):
18757 * gst/gst_private.h:
18758 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18759 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18762 * gst/gstconfig.h.in:
18763 * gst/gstelement.c: (gst_element_class_init),
18764 (gst_element_set_base_time), (gst_element_get_base_time),
18765 (iterator_fold_with_resync), (gst_element_change_state),
18766 (gst_element_dispose), (gst_element_get_bus):
18767 * gst/gstelement.h:
18768 * gst/gstelementfactory.h:
18769 * gst/gsterror.c: (_gst_core_errors_init):
18772 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18774 * gst/gstinfo.c: (_gst_debug_init):
18775 * gst/gstmessage.c: (_gst_message_copy):
18776 * gst/gstmessage.h:
18777 * gst/gstminiobject.h:
18780 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18781 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
18784 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
18785 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18786 (gst_pipeline_get_last_stream_time):
18787 * gst/gstpipeline.h:
18788 * gst/gstpluginfeature.h:
18790 * gst/gstscheduler.c:
18791 * gst/gstscheduler.h:
18792 * gst/gststructure.h:
18793 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18794 (gst_task_finalize), (gst_task_func), (gst_task_create),
18795 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
18796 (gst_task_stop), (gst_task_pause):
18798 * gst/gsttypefind.h:
18800 * gst/registries/gstlibxmlregistry.c: (load_feature),
18801 (gst_xml_registry_load), (gst_xml_registry_save_feature):
18802 * gst/registries/gstxmlregistry.c:
18803 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
18804 * gst/schedulers/threadscheduler.c:
18805 * libs/gst/control/dparammanager.h:
18806 * tools/gst-inspect.c: (print_element_list),
18807 (print_plugin_features), (print_element_features):
18808 * tools/gst-xmlinspect.c: (print_element_list),
18809 (print_plugin_info), (main):
18810 Removed plugable schedulers.
18811 Removed Scheduler/Manager from elements.
18812 Removed gsttypes.h, rearranged includes.
18813 Removed dependency pad<->element, element<>pipeline, and
18814 various others, fix includes.
18815 implement gst_pad_get_parent() with gst_object_get_parent()
18816 Make GstTask sefcontained.
18817 Fix _get_state() on GstBin, it did not return ASYNC with a 0
18819 Fix endless loop in iterator_fold_with_resync.
18822 2005-07-18 Wim Taymans <wim@fluendo.com>
18828 2005-07-18 Wim Taymans <wim@fluendo.com>
18831 No more cothreads.h
18833 2005-07-18 Wim Taymans <wim@fluendo.com>
18837 Let's remove these.
18839 2005-07-18 Wim Taymans <wim@fluendo.com>
18841 * docs/design/part-dynamic.txt:
18842 * docs/design/part-events.txt:
18843 * docs/design/part-seeking.txt:
18844 Some more docs in the works.
18846 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18847 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
18848 (gst_base_transform_setcaps), (gst_base_transform_get_size),
18849 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18850 (gst_base_transform_handle_buffer),
18851 (gst_base_transform_sink_activate_push),
18852 (gst_base_transform_src_activate_pull),
18853 (gst_base_transform_set_passthrough),
18854 (gst_base_transform_is_passthrough):
18857 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
18860 * gst/gstevent.c: (gst_event_finalize):
18863 * gst/gstutils.c: (gst_element_unlink),
18864 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
18865 (gst_pad_proxy_setcaps):
18867 Add _get_parent_element() to get a pads parent as an element.
18869 2005-07-18 Wim Taymans <wim@fluendo.com>
18871 * check/gst/gstbin.c: (GST_START_TEST):
18874 2005-07-18 Wim Taymans <wim@fluendo.com>
18876 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18877 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18878 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
18879 (gst_base_sink_event), (gst_base_sink_do_sync),
18880 (gst_base_sink_chain), (gst_base_sink_loop),
18881 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
18882 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18884 Fix logic for returning ASYNC when not prerolled.
18886 2005-07-18 Wim Taymans <wim@fluendo.com>
18888 * gst/gstqueue.c: (gst_queue_handle_sink_event):
18889 Fix nasty refcount bug.
18891 2005-07-16 Philippe Khalaf <burger@speedy.org>
18893 * gst/elements/gstfdsrc.c:
18894 * gst/elements/gstfdsrc.h:
18895 * gst/elements/gstelements.c:
18896 * gst/elements/Makefile.am:
18897 Ported fdsrc to 0.9.
18899 2005-07-16 Wim Taymans <wim@fluendo.com>
18901 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18902 (gst_base_sink_do_sync):
18905 2005-07-16 Wim Taymans <wim@fluendo.com>
18907 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18908 (gst_base_sink_event), (gst_base_sink_get_times),
18909 (gst_base_sink_do_sync), (gst_base_sink_change_state):
18910 * gst/base/gstbasesink.h:
18911 Store and use discont values when syncing buffers as described
18914 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18915 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
18916 (gst_base_src_activate_push):
18917 Push discont event when starting.
18919 * gst/elements/gstidentity.c: (gst_identity_transform):
18922 * gst/gstbin.c: (gst_bin_change_state):
18923 Small cleanups in base_time distribution.
18925 * gst/gstelement.c: (gst_element_set_base_time),
18926 (gst_element_get_base_time), (gst_element_change_state):
18927 * gst/gstelement.h:
18928 Added methods for the base_time of the element.
18931 * gst/gstpipeline.c: (gst_pipeline_send_event),
18932 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18933 (gst_pipeline_get_last_stream_time):
18934 * gst/gstpipeline.h:
18936 Handle seeking as described in design doc, remove stream_time
18938 Cleanups clock and stream_time selection code. Added accessors
18939 for the stream_time.
18942 2005-07-16 Andy Wingo <wingo@pobox.com>
18944 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
18947 2005-07-16 Wim Taymans <wim@fluendo.com>
18949 * check/gst/gstbin.c: (GST_START_TEST):
18950 Make elements silent as the deep_notify refs the
18951 parent, which might make the test fail.
18953 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18954 Don't hold the lock for too long.
18956 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
18958 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18959 Don't unref the caps we passed to gst_caps_make_writable() after
18960 passing them. gst_caps_make_writable() will do that for us.
18962 2005-07-15 Andy Wingo <wingo@pobox.com>
18964 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
18967 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
18968 own marshalling function for the handoff signal. Properly type the
18969 buffer as a buffer. Fixes some warnings. Should do a more general
18971 (gst_identity_class_init): Plug into the right marshaller.
18973 2005-07-15 Wim Taymans <wim@fluendo.com>
18975 * docs/design/part-TODO.txt:
18976 * docs/design/part-clocks.txt:
18977 * docs/design/part-element-sink.txt:
18978 * docs/design/part-events.txt:
18979 * docs/design/part-gstpipeline.txt:
18980 Updated docs, mostly DISCONT related.
18982 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
18984 * docs/pwg/building-pads.xml:
18985 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
18987 2005-07-15 Andy Wingo <wingo@pobox.com>
18989 * tools/gst-typefind.c: Update, add copyright block.
18991 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
18992 Normalize and truncate caps before fixation.
18995 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
18996 discards all but the first structure from its argument.
18998 2005-07-15 Wim Taymans <wim@fluendo.com>
19000 * gst/base/gstbasetransform.c: (gst_base_transform_init),
19001 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
19002 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19003 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19004 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
19005 (gst_base_transform_chain), (gst_base_transform_change_state),
19006 (gst_base_transform_set_passthrough),
19007 (gst_base_transform_is_passthrough):
19008 * gst/base/gstbasetransform.h:
19009 Make passthrough work using the bufferpools.
19010 Changed API a bit, subclasses have to write into a buffer
19011 provided by the base class.
19012 More debug info in nego functions.
19014 * gst/elements/gstidentity.c: (gst_identity_init),
19015 (gst_identity_transform):
19016 Port to new base class.
19018 2005-07-15 Wim Taymans <wim@fluendo.com>
19020 * gst/gstmessage.c: (gst_message_new_state_changed):
19021 * tools/gst-launch.c: (event_loop), (main):
19022 Totally dump messages in -launch with the -m option.
19023 Fix message name for State messages,
19025 2005-07-14 Wim Taymans <wim@fluendo.com>
19027 * gst/base/gstbasesrc.c: (gst_base_src_loop):
19028 Post error messages on errors.
19030 2005-07-14 Wim Taymans <wim@fluendo.com>
19032 * gst/gstcaps.c: (gst_caps_do_simplify):
19036 Define error for stream stopped.
19038 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19039 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
19040 Do proper return values.
19042 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19043 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
19044 (gst_pad_get_range):
19045 Better return values.
19048 Reorganise return values, add macro to check for fatal errors.
19050 * gst/gstqueue.c: (gst_queue_chain):
19051 Return proper GstFlowReturn values,
19053 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
19055 * docs/gst/gstreamer-sections.txt:
19056 * docs/gst/gstreamer.types:
19057 * docs/gst/tmpl/gst.sgml:
19058 * docs/gst/tmpl/gstbasesink.sgml:
19059 * docs/gst/tmpl/gstbasesrc.sgml:
19060 * docs/gst/tmpl/gstbasetransform.sgml:
19061 * docs/gst/tmpl/gstbin.sgml:
19062 * docs/gst/tmpl/gstbuffer.sgml:
19063 * docs/gst/tmpl/gstcaps.sgml:
19064 * docs/gst/tmpl/gstclock.sgml:
19065 * docs/gst/tmpl/gstcompat.sgml:
19066 * docs/gst/tmpl/gstconfig.sgml:
19067 * docs/gst/tmpl/gstelement.sgml:
19068 * docs/gst/tmpl/gstelementdetails.sgml:
19069 * docs/gst/tmpl/gstelementfactory.sgml:
19070 * docs/gst/tmpl/gstenumtypes.sgml:
19071 * docs/gst/tmpl/gsterror.sgml:
19072 * docs/gst/tmpl/gstevent.sgml:
19073 * docs/gst/tmpl/gstfakesink.sgml:
19074 * docs/gst/tmpl/gstfakesrc.sgml:
19075 * docs/gst/tmpl/gstfilesink.sgml:
19076 * docs/gst/tmpl/gstfilesrc.sgml:
19077 * docs/gst/tmpl/gstfilter.sgml:
19078 * docs/gst/tmpl/gstformat.sgml:
19079 * docs/gst/tmpl/gstghostpad.sgml:
19080 * docs/gst/tmpl/gstimplementsinterface.sgml:
19081 * docs/gst/tmpl/gstindex.sgml:
19082 * docs/gst/tmpl/gstindexfactory.sgml:
19083 * docs/gst/tmpl/gstinfo.sgml:
19084 * docs/gst/tmpl/gstiterator.sgml:
19085 * docs/gst/tmpl/gstmacros.sgml:
19086 * docs/gst/tmpl/gstmemchunk.sgml:
19087 * docs/gst/tmpl/gstminiobject.sgml:
19088 * docs/gst/tmpl/gstobject.sgml:
19089 * docs/gst/tmpl/gstpad.sgml:
19090 * docs/gst/tmpl/gstpadtemplate.sgml:
19091 * docs/gst/tmpl/gstparse.sgml:
19092 * docs/gst/tmpl/gstpipeline.sgml:
19093 * docs/gst/tmpl/gstplugin.sgml:
19094 * docs/gst/tmpl/gstpluginfeature.sgml:
19095 * docs/gst/tmpl/gstquery.sgml:
19096 * docs/gst/tmpl/gstqueue.sgml:
19097 * docs/gst/tmpl/gstregistry.sgml:
19098 * docs/gst/tmpl/gstregistrypool.sgml:
19099 * docs/gst/tmpl/gstscheduler.sgml:
19100 * docs/gst/tmpl/gstschedulerfactory.sgml:
19101 * docs/gst/tmpl/gststructure.sgml:
19102 * docs/gst/tmpl/gstsystemclock.sgml:
19103 * docs/gst/tmpl/gsttaglist.sgml:
19104 * docs/gst/tmpl/gsttagsetter.sgml:
19105 * docs/gst/tmpl/gsttrace.sgml:
19106 * docs/gst/tmpl/gsttrashstack.sgml:
19107 * docs/gst/tmpl/gsttypefind.sgml:
19108 * docs/gst/tmpl/gsttypefindfactory.sgml:
19109 * docs/gst/tmpl/gsttypes.sgml:
19110 * docs/gst/tmpl/gsturihandler.sgml:
19111 * docs/gst/tmpl/gsturitype.sgml:
19112 * docs/gst/tmpl/gstutils.sgml:
19113 * docs/gst/tmpl/gstvalue.sgml:
19114 * docs/gst/tmpl/gstversion.sgml:
19115 * docs/gst/tmpl/gstxml.sgml:
19116 * docs/libs/tmpl/gstcontrol.sgml:
19117 * docs/libs/tmpl/gstdataprotocol.sgml:
19118 * docs/libs/tmpl/gstdparam.sgml:
19119 * docs/libs/tmpl/gstdplinint.sgml:
19120 * docs/libs/tmpl/gstdpman.sgml:
19121 * docs/libs/tmpl/gstdpsmooth.sgml:
19122 * docs/libs/tmpl/gstgetbits.sgml:
19123 * docs/libs/tmpl/gstunitconvert.sgml:
19124 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
19125 (gst_push_src_base_init), (gst_push_src_class_init),
19126 (gst_push_src_init), (gst_push_src_create):
19127 * gst/base/gstpushsrc.h:
19128 * gst/elements/gstelements.c:
19129 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
19130 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
19131 (gst_fake_sink_init), (gst_fake_sink_set_property),
19132 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
19133 (gst_fake_sink_event), (gst_fake_sink_preroll),
19134 (gst_fake_sink_render), (gst_fake_sink_change_state):
19135 * gst/elements/gstfakesink.h:
19136 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
19137 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
19138 (gst_fake_src_base_init), (gst_fake_src_class_init),
19139 (gst_fake_src_init), (gst_fake_src_event_handler),
19140 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
19141 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
19142 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
19143 (gst_fake_src_create_buffer), (gst_fake_src_create),
19144 (gst_fake_src_start), (gst_fake_src_stop):
19145 * gst/elements/gstfakesrc.h:
19146 * gst/elements/gstfilesink.c: (_do_init),
19147 (gst_file_sink_base_init), (gst_file_sink_class_init),
19148 (gst_file_sink_init), (gst_file_sink_dispose),
19149 (gst_file_sink_set_location), (gst_file_sink_set_property),
19150 (gst_file_sink_get_property), (gst_file_sink_open_file),
19151 (gst_file_sink_close_file), (gst_file_sink_query),
19152 (gst_file_sink_event), (gst_file_sink_render),
19153 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
19154 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
19155 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
19156 * gst/elements/gstfilesink.h:
19157 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
19158 (gst_file_src_class_init), (gst_file_src_init),
19159 (gst_file_src_finalize), (gst_file_src_set_location),
19160 (gst_file_src_set_property), (gst_file_src_get_property),
19161 (gst_file_src_map_region), (gst_file_src_map_small_region),
19162 (gst_file_src_create_mmap), (gst_file_src_create_read),
19163 (gst_file_src_create), (gst_file_src_is_seekable),
19164 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
19165 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
19166 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
19167 (gst_file_src_uri_handler_init):
19168 * gst/elements/gstfilesrc.h:
19169 more autistic cleanliness in functions/names/defines
19171 2005-07-13 Andy Wingo <wingo@pobox.com>
19173 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
19174 source couldn't negotiate.
19176 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
19180 * gst/gstutils.c (gst_element_link_pads_filtered): New old
19181 function. I am channeling Hades. Put your boots on suckers!!!
19183 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
19185 * testsuite/caps/Makefile.am:
19186 * testsuite/caps/value_compare.c:
19187 * testsuite/caps/value_intersect.c:
19188 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19189 move two testsuite apps over to the check dir
19191 2005-07-12 Wim Taymans <wim@fluendo.com>
19193 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19194 Added more debug info in the negotiate process.
19196 * gst/gstmessage.h:
19197 Prepare for segment playback.
19199 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
19205 * tools/gst-launch.c: (main):
19206 NULL pipeline on errors.
19208 2005-07-12 Andy Wingo <wingo@pobox.com>
19210 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
19211 not it comes from a malloc region. Make sure our copy gets freed.
19213 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
19215 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19216 * check/gst/gstmessage.c: (GST_START_TEST):
19217 * check/gst/gststructure.c: (GST_START_TEST),
19218 (gst_structure_suite), (main):
19220 * gst/gstelement.c: (gst_element_message_full):
19221 clean up GError and debug string now that they get copied
19222 * gst/gstmessage.c: (gst_message_new_error),
19223 (gst_message_new_warning), (gst_message_parse_error),
19224 (gst_message_parse_warning):
19225 use GST_TYPE_G_ERROR for structure_new, and take copies of
19226 arguments, so that we don't mess up refcounting
19228 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
19230 * check/Makefile.am:
19231 add per-test valgrind targets
19232 * check/gst-libs/gdp.c: (GST_START_TEST),
19233 (gst_data_protocol_suite), (main):
19236 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
19238 * check/Makefile.am:
19239 instate more valgrindable tests
19240 * check/elements/gstfakesrc.c: (chain_func), (event_func),
19241 (GST_START_TEST), (fakesrc_suite):
19242 * check/gst/gstpad.c: (GST_START_TEST):
19243 * check/gst/gststructure.c: (GST_START_TEST):
19245 * docs/gst/tmpl/gstminiobject.sgml:
19246 * gst/gstpad.c: (gst_pad_finalize):
19247 fix the static mutex leak
19249 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
19251 * check/Makefile.am:
19252 add two more tests for valgrinding
19253 * check/gst/gstvalue.c: (GST_START_TEST):
19254 test refcount of deserialized buffer, found a leak
19255 * docs/gst/gstreamer-docs.sgml:
19256 * docs/gst/gstreamer-sections.txt:
19257 * docs/gst/gstreamer.types:
19258 * docs/gst/tmpl/gstminiobject.sgml:
19259 add miniobject to docs
19260 * gst/gstminiobject.c:
19262 * gst/gstvalue.c: (gst_value_deserialize_buffer),
19263 (gst_string_unwrap):
19264 fix a hard-to-find invalid write for one of the tests
19265 fix a leak for deserialized buffers
19267 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19269 * docs/pwg/advanced-events.xml:
19270 * docs/pwg/advanced-request.xml:
19271 * docs/pwg/advanced-scheduling.xml:
19272 * docs/pwg/appendix-porting.xml:
19273 * docs/pwg/building-boiler.xml:
19274 * docs/pwg/intro-preface.xml:
19275 * docs/pwg/other-ntoone.xml:
19276 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
19277 of example code and explanation for pad activation, loop() and
19278 getrange() functions and a bit more. Remove old comments pointing
19280 * examples/pwg/Makefile.am:
19281 Add loop/getrange examples.
19283 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
19286 check for valgrind binary + some fixes
19288 valgrind suppressions for the tests
19289 * check/Makefile.am:
19290 add a valgrind: target that valgrinds the unit tests
19291 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
19292 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19293 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19294 * check/gst/gstghostpad.c:
19296 * check/gst/gstdata.c:
19298 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19299 (thread_unref), (gst_mini_object_suite), (main):
19301 * gst/gst.c: (gst_deinit):
19303 add a method to clean up.
19304 * gst/gstsystemclock.c: (gst_system_clock_dispose),
19305 (gst_system_clock_obtain):
19306 allow for disposing the system clock.
19307 * tools/gst-launch.c: (main):
19310 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
19312 * docs/gst/tmpl/gstbasesrc.sgml:
19313 * docs/gst/tmpl/gstfakesrc.sgml:
19314 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19315 (gst_base_src_init), (gst_base_src_set_property),
19316 (gst_base_src_get_property), (gst_base_src_get_range),
19317 (gst_base_src_start):
19318 * gst/base/gstbasesrc.h:
19319 add num-buffers property
19320 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19321 (gst_fakesrc_init), (gst_fakesrc_set_property),
19322 (gst_fakesrc_get_property), (gst_fakesrc_create),
19323 (gst_fakesrc_start):
19324 remove num-buffers property
19326 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
19328 * docs/gst/gstreamer-sections.txt:
19329 * docs/gst/tmpl/gstbasesink.sgml:
19330 * docs/gst/tmpl/gstbasesrc.sgml:
19331 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19332 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19333 (gst_base_sink_finalize), (gst_base_sink_set_clock),
19334 (gst_base_sink_set_property), (gst_base_sink_get_property),
19335 (gst_base_sink_handle_object), (gst_base_sink_event),
19336 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19337 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19338 (gst_base_sink_loop), (gst_base_sink_deactivate),
19339 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19340 (gst_base_sink_change_state):
19341 * gst/base/gstbasesink.h:
19342 * gst/base/gstbasesrc.h:
19343 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19344 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19345 (gst_filesink_init):
19346 more macro splitting
19348 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
19350 * gst/gstelement.c: (gst_element_get_bus):
19352 * tools/gst-launch.c: (check_intr), (event_loop):
19355 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
19357 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19360 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
19362 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19363 (gst_base_src_finalize):
19364 add finalize method and clean up properly
19365 * gst/gstpipeline.c: (gst_pipeline_dispose):
19368 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
19370 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19372 add more things to check
19373 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19374 * gst/gstelement.c:
19377 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
19379 * check/elements/gstfakesrc.c: (chain_func), (event_func),
19380 (GST_START_TEST), (fakesrc_suite):
19381 * check/gst-libs/gdp.c: (GST_START_TEST):
19382 * check/gst/gst.c: (GST_START_TEST):
19383 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19384 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19385 * check/gst/gstbus.c: (GST_START_TEST):
19386 * check/gst/gstcaps.c: (GST_START_TEST):
19387 * check/gst/gstdata.c: (GST_START_TEST):
19388 * check/gst/gstelement.c: (GST_START_TEST):
19389 * check/gst/gstghostpad.c: (GST_START_TEST):
19390 * check/gst/gstiterator.c: (GST_START_TEST):
19391 * check/gst/gstmessage.c: (GST_START_TEST):
19392 * check/gst/gstobject.c: (GST_START_TEST):
19393 * check/gst/gstpad.c: (GST_START_TEST):
19394 * check/gst/gststructure.c: (GST_START_TEST):
19395 * check/gst/gstsystemclock.c: (GST_START_TEST),
19396 (gst_systemclock_suite):
19397 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19398 * check/gst/gstvalue.c: (GST_START_TEST):
19399 * check/pipelines/cleanup.c: (GST_START_TEST):
19400 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19401 * check/states/sinks.c: (GST_START_TEST):
19402 * check/gstcheck.c: (gst_check_init):
19403 * check/gstcheck.h:
19404 add debugging category
19405 use GST_START_TEST now, so we add a debug line
19407 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
19409 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19410 add test for state change message on a bin
19411 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19413 * gst/gstbin.c: (gst_bin_init):
19414 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19415 * gst/gstelement.c: (gst_element_post_message),
19416 (gst_element_set_state):
19417 * gst/gstelementfactory.c: (gst_element_factory_create):
19418 * gst/gstmessage.c: (gst_message_new):
19419 * gst/gstscheduler.c:
19420 various debugging additions and cleanups
19422 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19424 * check/Makefile.am:
19425 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19427 adding tests for elements
19428 * gst/gstelement.c: (gst_element_dispose):
19430 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19432 * gst/registries/gstlibxmlregistry.c: (load_feature):
19433 plug more leaks. A simple gst_init() now is leakfree, yay.
19435 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19437 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19438 (gst_xml_registry_load):
19439 plug another memleak
19441 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19444 use GST_SET_ERROR_CFLAGS
19445 * docs/faq/cvs.xml:
19446 change to ERROR_CFLAGS
19448 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19451 make GST_ERROR_CFLAGS overridable and re-enable Werror
19452 * docs/faq/cvs.xml:
19453 add a note about error CFLAGS
19454 * docs/gst/tmpl/gstfakesrc.sgml:
19455 * gst/elements/gstfakesrc.c:
19456 comment out some unused code
19457 * gst/gst.c: (split_and_iterate):
19458 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19462 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
19464 * common/Makefile.am:
19465 * common/gtk-doc.mak:
19466 * docs/gst/Makefile.am:
19467 factor out gtk-doc.mak
19469 2005-07-07 Wim Taymans <wim@fluendo.com>
19471 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19472 (gst_thread_scheduler_dispose):
19473 Unlock the STREAM_LOCK completely.
19475 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
19477 * check/Makefile.am:
19478 * check/elements/.cvsignore:
19479 * check/elements/gstfakesrc.c: (chain_func), (event_func),
19480 (START_TEST), (fakesrc_suite), (main):
19481 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19482 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19483 (gst_fakesrc_create), (gst_fakesrc_start):
19484 * gst/elements/gstfakesrc.h:
19485 adding a first element test
19487 2005-07-07 Andy Wingo <wingo@pobox.com>
19489 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19492 2005-07-07 Wim Taymans <wim@fluendo.com>
19498 2005-07-07 Wim Taymans <wim@fluendo.com>
19500 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19501 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19502 Allow subclasses to implement their own negotiation.
19504 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
19506 * docs/design/part-gstbin.txt:
19507 * docs/design/part-gstpipeline.txt:
19508 Update design notes to reflect the movement of
19509 responsibility for bus handling from GstPipeline to
19512 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
19515 Remove unnecessary queue2/3/4 examples.
19517 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
19519 * examples/Makefile.am:
19520 * examples/helloworld/helloworld.c: (event_loop), (main):
19521 * examples/queue/queue.c: (event_loop), (main):
19522 * examples/queue2/queue2.c: (main):
19523 Update a couple of the examples to work again.
19525 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19526 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19527 Spelling corrections and extra debug.
19529 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19530 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19531 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19533 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19534 (gst_pipeline_change_state):
19535 * gst/gstpipeline.h:
19536 Move the bus handler for children to the GstBin, and create a
19537 separate bus for receiving messages from children to the one the
19538 bus sends 'upwards' on.
19540 2005-07-06 Wim Taymans <wim@fluendo.com>
19543 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19544 (gst_base_sink_handle_object), (gst_base_sink_loop),
19545 (gst_base_sink_change_state):
19546 * gst/base/gstbasesink.h:
19547 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19548 (gst_base_src_init), (gst_base_src_setcaps),
19549 (gst_base_src_getcaps), (gst_base_src_loop),
19550 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19551 (gst_base_src_start), (gst_base_src_change_state):
19552 * gst/base/gstbasesrc.h:
19553 Make basesrc negotiate.
19554 Handle the case where preroll fails in basesink.
19557 2005-07-06 Wim Taymans <wim@fluendo.com>
19559 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19560 Implement the fixate function.
19561 Clean up acceptcaps.
19563 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19565 * docs/pwg/building-filterfactory.xml:
19566 * docs/pwg/pwg.xml:
19567 Remove never-written filter-factory chapter; I'll add the various
19568 base classes to part 4 ("other element types") later on.
19570 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19572 * docs/pwg/advanced-negotiation.xml:
19573 * docs/pwg/building-boiler.xml:
19574 * docs/pwg/building-pads.xml:
19575 * docs/pwg/pwg.xml:
19576 * examples/pwg/Makefile.am:
19577 Add a chapter on caps negotiation, simplify the original code
19578 samples a bit w.r.t. caps negotiation, add link to the advanced
19579 section. Add a bunch of examples showing different use cases of
19580 different types of caps negotiation. Upstream renegotiation isn't
19581 fully documented yet since nobody knows how that works.
19583 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
19585 * check/gst/gstpad.c:
19586 * check/gstcheck.c:
19587 * gst/gstpad.c: (gst_pad_get_internal_links_default):
19588 if pad has no parent, return NULL as list of internal links
19590 2005-07-05 Andy Wingo <wingo@pobox.com>
19592 * gst/elements/gstfilesrc.c:
19593 * gst/elements/gstfakesrc.c:
19594 * gst/base/gstpushsrc.c:
19595 * gst/base/gstbasesrc.h:
19596 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19598 2005-07-05 Stefan Kost <ensonic@users.sf.net>
19601 better report generation target (lcov needs a patch)
19603 2005-07-05 Andy Wingo <wingo@pobox.com>
19605 * gst/elements, testsuite: Null if we got it...
19607 2005-07-05 Wim Taymans <wim@fluendo.com>
19610 * libs/gst/dataprotocol/Makefile.am:
19611 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19612 * libs/gst/dataprotocol/dataprotocol.h:
19613 * pkgconfig/Makefile.am:
19614 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19615 * pkgconfig/gstreamer-dataprotocol.pc.in:
19616 Ported dataprotol to 0.9.
19617 Added pkgconfig files.
19619 2005-07-05 Andy Wingo <wingo@pobox.com>
19621 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19622 Default to returning TRUE for the case when tranform_caps returns
19623 a fixed caps, like for identity or volume.
19625 * check/gst/gstbus.c (pound_bus_with_messages):
19626 * check/gst/gstmessage.c (START_TEST):
19627 * check/pipelines/simple_launch_lines.c (got_handoff): Application
19628 message API change.
19630 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19631 logic weaks here: always run transform_caps, trying passthrough
19632 operation only if the original caps intersects with the transform.
19634 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19635 source and sink caps.
19637 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19638 Intersect the peer caps with the pad template before going into
19640 (gst_base_transform_transform_caps): More debugging.
19642 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19645 2005-07-04 Edward Hervey <edward@fluendo.com>
19649 (gst_pad_add_*_probe): now returns the signal id for better wrapping
19652 2005-07-04 Andy Wingo <wingo@pobox.com>
19654 * check/gst/gstpad.c: Only set explicit caps on pads.
19656 2005-07-01 Andy Wingo <wingo@pobox.com>
19658 * tests/network-clock.scm: Commentary update.
19660 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19661 Didn't really make sense, not implementable with basetransform,
19663 (gst_identity_transform): Unref inbuf via make_writable. Feeble
19664 attempt at implementing the sync property, needs an unlock method.
19666 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19667 New func, by default returns the same caps (the identity
19669 (gst_base_transform_getcaps): Uses transform_caps to return
19670 something sensible.
19671 (gst_base_transform_setcaps): Complicated logic to get caps on
19672 both pads, even if they are different, and to call set_caps once
19673 for every time both pads get their caps set.
19674 (gst_base_transform_handle_buffer): Give the ref to the transform
19675 function. Allows in-place modification of the buffer.
19677 * gst/base/gstbasetransform.h (transform_caps): New class method.
19678 Given caps on one side, what can I do on the other.
19679 (set_caps): Take two caps, one for each side of the element.
19682 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19683 caps in place. This is safe because we can check the mutability of
19684 the caps, and a good idea because fixate functions are just called
19685 as a matter of last resort. (Not actually implemented.)
19686 (gst_pad_set_caps): If the caps we're setting is actually the same
19687 as the existing pad caps, just update the pointer without calling
19688 setcaps. Assert that caps is either NULL or fixed, as per the
19691 * gst/gstghostpad.c: Update for fixate changes.
19693 2005-07-02 Andy Wingo <wingo@pobox.com>
19696 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19697 two refcounts makes it immutable, which is enough. Doc more.
19699 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
19701 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19702 Put the mini_object into GValue as a mini_object,
19703 not a gpointer, since that's how we declared
19706 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19708 * examples/pwg/Makefile.am:
19709 Fix buildbot again.
19711 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19713 * docs/pwg/building-testapp.xml:
19715 * examples/pwg/Makefile.am:
19718 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19721 * examples/Makefile.am:
19722 * examples/pwg/Makefile.am:
19723 * examples/pwg/extract.pl:
19724 Enable building the PWG examples.
19725 * docs/pwg/advanced-interfaces.xml:
19726 Add URI interface stub.
19727 * docs/pwg/advanced-types.xml:
19728 * docs/pwg/other-autoplugger.xml:
19729 * docs/pwg/appendix-porting.xml:
19730 * docs/pwg/pwg.xml:
19731 Add porting guide (mostly stubs), remove autoplugging (see ADM).
19732 * docs/pwg/building-boiler.xml:
19733 * docs/pwg/building-chainfn.xml:
19734 * docs/pwg/building-pads.xml:
19735 * docs/pwg/building-props.xml:
19736 * docs/pwg/building-state.xml:
19737 * docs/pwg/building-testapp.xml:
19738 Update the building-*.xml parts for 0.9 changes. All examples
19739 code blocks compile in examples/pwg/*.
19741 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19743 * docs/manual/advanced-autoplugging.xml:
19744 * docs/manual/appendix-checklist.xml:
19745 * docs/manual/appendix-integration.xml:
19746 * docs/manual/highlevel-components.xml:
19747 Fix playbin/decodebin examples, update docs a bit, mention bus
19748 instead of signals in various places, mention kmplayer and
19749 kaffeine since they have a working GStreamer backend in the KDE
19752 2005-06-30 Wim Taymans <wim@fluendo.com>
19755 * docs/design/draft-ghostpads.txt:
19756 * docs/design/draft-push-pull.txt:
19757 * docs/design/draft-query.txt:
19758 * docs/design/part-TODO.txt:
19759 * docs/design/part-query.txt:
19760 Added CHANGES-0.9 doc, updated status of other docs.
19765 2005-06-30 Wim Taymans <wim@fluendo.com>
19767 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19768 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19769 (gst_base_sink_change_state):
19770 * gst/base/gstbasesink.h:
19771 Some tweaks, only EOS and a buffer complete a preroll.
19773 2005-06-30 Andy Wingo <wingo@pobox.com>
19775 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19776 activate_push down to the internal pad as well.
19778 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
19780 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19782 * gst/gsttaginterface.c:
19783 Some documentation fixes (#307394 and #307397).
19785 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
19787 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19789 * gst/gstvalue.c: (gst_value_intersect_list):
19790 Fix memleak (#309125).
19792 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19794 * docs/manual/advanced-dataaccess.xml:
19795 Fix fakesrc example to compile; doesn't work, bug somewhere...?
19796 * docs/manual/basics-pads.xml:
19797 Add reference for filtered caps to above chapter.
19799 2005-06-30 Wim Taymans <wim@fluendo.com>
19801 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
19802 (gst_bin_change_state):
19804 Lame attempt at making the state change function a bit
19807 2005-06-30 Wim Taymans <wim@fluendo.com>
19809 * docs/design/part-clocks.txt:
19810 * docs/design/part-element-sink.txt:
19811 * docs/design/part-events.txt:
19812 * docs/design/part-preroll.txt:
19813 * docs/design/part-states.txt:
19814 Some more tweeks and additions to the docs.
19816 2005-06-30 Wim Taymans <wim@fluendo.com>
19818 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19819 (default_have_data), (gst_pad_class_init), (gst_pad_init),
19820 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19821 (gst_pad_check_pull_range), (gst_pad_get_range),
19822 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
19824 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
19825 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19826 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19827 (gst_pad_remove_buffer_probe):
19828 Removed atomic operations, use existing LOCK.
19829 Move exception handling out of main code path.
19831 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19833 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19834 (silly_return_true_function), (gst_pad_class_init),
19835 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19836 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
19837 (gst_pad_send_event):
19838 Fix accumulator, add default value by using _emitv() instead
19839 of _emit() for signal emission.
19841 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19843 * docs/manual/advanced-dataaccess.xml:
19844 * examples/manual/Makefile.am:
19846 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
19849 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
19851 * gst/elements/gstfilesink.c: (gst_filesink_render):
19852 Simplify code so that we don't have to handle short
19853 writes and return GST_FLOW_ERROR if an error occured.
19855 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19857 * docs/gst/gstreamer-docs.sgml:
19858 Remove probes more.
19860 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19862 * docs/gst/gstreamer-sections.txt:
19863 * docs/gst/tmpl/gstpad.sgml:
19864 * docs/gst/tmpl/gstprobe.sgml:
19866 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19867 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
19868 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19869 (gst_pad_push_event), (gst_pad_send_event):
19871 * gst/gstutils.c: (gst_pad_add_data_probe),
19872 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19873 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19874 (gst_pad_remove_buffer_probe):
19876 Remove old probes, add new g-signal-based probes and some utility
19879 2005-06-29 Edward Hervey <edward@fluendo.com>
19881 * gst/gstelementfactory.c:
19884 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
19885 the definition to the header file.
19887 2005-06-29 Andy Wingo <wingo@pobox.com>
19889 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
19890 plugins from the source directory.
19892 2005-06-29 Wim Taymans <wim@fluendo.com>
19894 * docs/gst/tmpl/gstbuffer.sgml:
19895 * docs/gst/tmpl/gstclock.sgml:
19896 Some fixings for blantently wrong text.
19898 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
19900 * check/Makefile.am:
19901 * gst/gst.c: (add_path_func), (init_pre):
19902 * gst/gstregistry.c: (gst_registry_add_path):
19903 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
19904 only scan the GST_PLUGIN_PATH locations, and not add
19907 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
19909 * docs/gst/gstreamer-sections.txt:
19910 * docs/gst/tmpl/gstbasesrc.sgml:
19911 * gst/gstelement.c:
19912 * gst/gstelement.h:
19917 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19919 * docs/manual/advanced-autoplugging.xml:
19920 Fix autoplugging example.
19922 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19924 * docs/manual/advanced-autoplugging.xml:
19925 * docs/manual/mime-world.fig:
19926 Try to get autoplugging working, fix type detection. Fix text
19927 in hello-world image.
19929 2005-06-29 Wim Taymans <wim@fluendo.com>
19931 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19932 (gst_base_sink_change_state):
19936 map SIGNAL and BROADCAST to the right function.
19939 Remove redundant braces.
19941 * gst/gstpad.c: (gst_pad_set_caps):
19942 Don't call setcaps function when reseting caps to NULL.
19944 * gst/gstsystemclock.c: (gst_system_clock_dispose),
19945 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
19946 (gst_system_clock_id_unschedule):
19947 Use BROADCAST as this is what we do.
19949 2005-06-29 Wim Taymans <wim@fluendo.com>
19951 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19952 We are actually prerolling before commiting the state
19955 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19957 * docs/manual/advanced-clocks.xml:
19958 * docs/manual/advanced-interfaces.xml:
19959 * docs/manual/advanced-metadata.xml:
19960 * docs/manual/advanced-position.xml:
19961 * docs/manual/advanced-schedulers.xml:
19962 * docs/manual/advanced-threads.xml:
19963 * docs/manual/appendix-porting.xml:
19964 * docs/manual/basics-bins.xml:
19965 * docs/manual/basics-bus.xml:
19966 * docs/manual/basics-elements.xml:
19967 * docs/manual/basics-helloworld.xml:
19968 * docs/manual/basics-pads.xml:
19969 * docs/manual/highlevel-components.xml:
19970 * docs/manual/manual.xml:
19971 * docs/manual/thread.fig:
19972 Update (until threads/scheduling) Application Development Manual;
19973 remove GstThread, add GstBus, add simple porting checklist, add
19974 documentation for tag writing, clocks, make all examples until this
19975 part compile and run.
19976 * examples/manual/Makefile.am:
19977 Update from changes to Application Development Manual; add bus
19978 example, remove thread example.
19980 2005-06-28 Wim Taymans <wim@fluendo.com>
19982 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
19983 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
19984 (gst_bus_source_dispatch):
19985 Add debugging messages.
19986 Make internal methods static.
19987 Handle the case where the bus is flushed in the handler.
19989 * gst/gstelement.c: (gst_element_get_bus):
19990 Fix refcount in _get_bus();
19992 * gst/gstpipeline.c: (gst_pipeline_change_state),
19993 (gst_pipeline_get_clock_func):
19994 Clock refcounting fixes.
19995 Handle the case where preroll timed out more gracefully.
19997 * gst/gstsystemclock.c: (gst_system_clock_dispose):
19998 Clean up the internal thread in dispose. This is needed
19999 for subclasses that actually get disposed.
20001 * gst/schedulers/threadscheduler.c:
20002 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
20003 (gst_thread_scheduler_dispose):
20004 Free thread pool in dispose.
20006 2005-06-28 Andy Wingo <wingo@pobox.com>
20008 * tests/network-clock-utils.scm (debug, print-event): New utils.
20010 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
20011 (*packet-loss*): Unified loss probability.
20012 (network-time): Report out-of-band events.
20014 * tests/plot-data: Add support for out-of-band events. Hack it
20015 into this script instead of passing it down the pipe; should fix
20018 2005-06-28 Wim Taymans <wim@fluendo.com>
20020 * docs/gst/gstreamer.types:
20021 * docs/gst/tmpl/gstbasesrc.sgml:
20022 * docs/gst/tmpl/gstpad.sgml:
20025 2005-06-28 Wim Taymans <wim@fluendo.com>
20027 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20028 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
20029 (gst_proxy_pad_do_fixatecaps):
20030 Correctly proxy the check_pull_range function.
20032 2005-06-28 Andy Wingo <wingo@pobox.com>
20034 * tests/network-clock.scm: Removed need for slib.
20036 2005-06-28 Wim Taymans <wim@fluendo.com>
20038 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
20039 (gst_basesink_preroll_queue_flush):
20040 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
20041 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
20042 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20043 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
20044 (gst_proxy_pad_set_property):
20047 * gst/gstqueue.c: (gst_queue_init):
20048 The deprecated pad loop function is removed now.
20050 2005-06-28 Andy Wingo <wingo@pobox.com>
20052 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
20053 New parameters, simulate network packet loss.
20055 * tests/network-clock-utils.scm: Initialize the RNG.
20057 2005-06-28 Wim Taymans <wim@fluendo.com>
20059 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
20060 (gst_basesink_event), (gst_basesink_deactivate):
20061 Flushing the preroll queue always needs to unlock the waiters.
20063 2005-06-28 Edward Hervey <edward@fluendo.com>
20065 * gst/gstpipeline.c: (gst_pipeline_send_event):
20066 Wheen a seek was successful on a pipeline, set the stream_time to the
20067 seek offset in order to have a synchronized stream_time.
20069 2005-06-28 Wim Taymans <wim@fluendo.com>
20071 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20072 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
20073 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
20074 (gst_proxy_pad_do_fixatecaps):
20075 Call wrapper function instead of just calling the function
20076 pointers. This takes care of any locking and whatmore.
20078 2005-06-28 Wim Taymans <wim@fluendo.com>
20080 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
20081 (gst_pad_pull_range):
20083 CONNECTED -> LINKED.
20085 2005-06-28 Andy Wingo <wingo@pobox.com>
20087 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
20088 source-munging commit!!!
20090 * gst/gstobject.c (gst_object_unref, gst_object_ref)
20091 (gst_object_sink): Take gpointer arguments, not GstObject --
20092 avoids casts. Like GLib.
20094 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
20097 2005-06-27 Andy Wingo <wingo@pobox.com>
20099 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
20102 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
20103 returns a sorted copy of the trace list.
20104 (gst_alloc_trace_print_live): New API, only prints traces with
20105 live objects. Sort the list.
20106 (gst_alloc_trace_print_all): Sort the list.
20107 (gst_alloc_trace_print): Align columns.
20109 * gst/elements/gstttypefindelement.c:
20110 * gst/elements/gsttee.c:
20111 * gst/base/gstbasesrc.c:
20112 * gst/base/gstbasesink.c:
20113 * gst/base/gstbasetransform.c:
20114 * gst/gstqueue.c: Adapt for pad activation changes.
20116 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
20118 (gst_pipeline_dispose): Drop ref on sched.
20120 * gst/gstpad.c (gst_pad_init): Set the default activate func.
20121 (gst_pad_activate_default): Push mode by default.
20122 (pre_activate_switch, post_activate_switch): New stubs, things to
20123 do before and after switching activation modes on pads.
20124 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
20125 the pad's activate function to choose which mode to activate.
20126 Shortcut on deactivation and call the right function directly.
20127 (gst_pad_activate_pull): New API, (de)activates a pad in pull
20129 (gst_pad_activate_push): New API, same for push mode.
20130 (gst_pad_set_activate_function)
20131 (gst_pad_set_activatepull_function)
20132 (gst_pad_set_activatepush_function): Setters for new API.
20134 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
20135 Trace all miniobjects.
20136 (gst_mini_object_make_writable): Unref the arg if we copy, like
20137 gst_caps_make_writable.
20139 * gst/gstmessage.c (_gst_message_initialize): No trace init.
20141 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
20142 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
20143 Adapt for new pad API.
20145 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
20147 * gst/gstelement.h:
20148 * gst/gstelement.c (gst_element_iterate_src_pads)
20149 (gst_element_iterate_sink_pads): New API functions.
20151 * gst/gstelement.c (iterator_fold_with_resync): New utility,
20152 should fold into gstiterator.c in some form.
20153 (gst_element_pads_activate): Simplified via use of fold and
20154 delegation of decisions to gstpad->activate.
20156 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
20159 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
20160 class once in init, like gstmessage. Didn't run into this issue
20161 but it seems correct. Don't initialize a trace, gstminiobject does
20164 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
20165 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
20167 (assert_live_count): New util function, uses alloc traces to check
20170 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
20171 To be modified when unlink drops the internal pad.
20173 2005-06-27 Wim Taymans <wim@fluendo.com>
20175 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
20176 (gst_bin_change_state):
20177 Cleanup the get_state() function a little, make sure it
20178 iterates the same set of elements.
20179 Added stub iterate_state_order().
20181 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
20183 * docs/gst/gstreamer-docs.sgml:
20184 * docs/gst/gstreamer-sections.txt:
20185 * docs/gst/gstreamer.types:
20186 * docs/gst/tmpl/gstbasesink.sgml:
20187 * docs/gst/tmpl/gstbasesrc.sgml:
20188 * docs/gst/tmpl/gstbasetransform.sgml:
20189 * docs/gst/tmpl/gstelement.sgml:
20190 * docs/gst/tmpl/gstiterator.sgml:
20191 * gst/base/gstbasesrc.c:
20192 * gst/base/gstbasesrc.h:
20193 * gst/base/gstbasetransform.h:
20194 * gst/gstelement.c:
20195 * gst/gstiterator.h:
20196 adding basetransform and iterator docs
20198 2005-06-27 Andy Wingo <wingo@pobox.com>
20200 * docs/design/part-activation.txt: Notes on how activation should
20201 work -- not quite implemented yet.
20203 2005-06-25 Wim Taymans <wim@fluendo.com>
20205 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
20206 At least get the chain function correct, needs more
20209 2005-06-25 Wim Taymans <wim@fluendo.com>
20211 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20212 (gst_basesink_handle_object), (gst_basesink_event),
20213 (gst_basesink_do_sync), (gst_basesink_handle_event),
20214 (gst_basesink_change_state):
20216 Right, two problems here: ghostpads don't take locks and
20217 glib _rec_mutex_lock_full() with depth==0 still locks.
20218 Catch illegal locking and g_warn them.
20220 2005-06-25 Wim Taymans <wim@fluendo.com>
20222 * check/states/sinks.c: (START_TEST), (gst_object_suite):
20223 Have to check for completion now...
20225 2005-06-25 Wim Taymans <wim@fluendo.com>
20227 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20228 (gst_basesink_handle_object), (gst_basesink_event),
20229 (gst_basesink_do_sync), (gst_basesink_handle_event),
20230 (gst_basesink_change_state):
20232 Unlock STREAM_LOCK whatever the recursion was.
20234 2005-06-25 Wim Taymans <wim@fluendo.com>
20236 * gst/base/gstbasesink.c: (gst_basesink_set_property),
20237 (gst_basesink_preroll_queue_empty),
20238 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
20239 (gst_basesink_event), (gst_basesink_do_sync),
20240 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
20241 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
20242 (gst_basesink_change_state):
20243 Reworked the base sink, handle event and buffer serialisation
20244 correctly and removed possible deadlock.
20245 Handle EOS correctly.
20247 2005-06-25 Wim Taymans <wim@fluendo.com>
20249 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
20250 (gst_pipeline_change_state):
20251 * tools/gst-launch.c: (check_intr), (event_loop), (main):
20252 Allow elements to post EOS in the state change function.
20253 Fix up -launch, make it exit the poll loop when the
20254 pipeline actually changed state.
20255 Fix up warning parsing in -launch.
20257 2005-06-25 Wim Taymans <wim@fluendo.com>
20259 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
20260 (gst_tee_sink_activate):
20261 Core takes STREAM_LOCK for us now.
20263 2005-06-25 Wim Taymans <wim@fluendo.com>
20265 * gst/gstelement.c: (gst_element_get_state_func),
20266 (gst_element_set_state):
20267 * gst/gstelement.h:
20268 * gst/gstmessage.c: (gst_message_parse_error),
20269 (gst_message_parse_warning):
20270 Keep track of current target state while performing a state
20271 change so that subclasses can do something interesting.
20272 Fix parsing of warning/error messages when GError is NULL.
20274 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
20276 * docs/gst/Makefile.am:
20277 * docs/gst/gstreamer-docs.sgml:
20278 * docs/gst/gstreamer-sections.txt:
20279 * docs/gst/gstreamer.types:
20280 * docs/gst/tmpl/gstbasesink.sgml:
20281 * docs/gst/tmpl/gstbasesrc.sgml:
20282 * docs/gst/tmpl/gstbin.sgml:
20283 * docs/gst/tmpl/gstcompat.sgml:
20284 * docs/gst/tmpl/gstfakesink.sgml:
20285 * docs/gst/tmpl/gstfakesrc.sgml:
20286 * docs/gst/tmpl/gstfilesink.sgml:
20287 * docs/gst/tmpl/gstfilesrc.sgml:
20288 * docs/gst/tmpl/gstindex.sgml:
20289 * docs/manual/appendix-quotes.xml:
20290 * gst/base/gstbasesrc.h:
20291 * gst/elements/gstfakesrc.h:
20292 * gst/gstmessage.h:
20293 start pulling in base classes and elements in our docs
20295 2005-06-24 Stefan Kost <ensonic@users.sf.net>
20297 * docs/gst/Makefile.am:
20298 * docs/libs/Makefile.am:
20299 fixed make distcheck with gtk-doc 1.3
20301 2005-06-23 Wim Taymans <wim@fluendo.com>
20303 * gst/gstelement.c: (gst_element_get_state_func),
20304 (gst_element_set_state), (gst_element_change_state):
20305 When the state did not change, also report NO_PREROLL
20308 2005-06-23 Wim Taymans <wim@fluendo.com>
20310 * gst/gstpad.c: (gst_pad_event_default):
20311 * gst/gstqueue.c: (gst_queue_loop):
20312 No unsafe task pausing please.
20314 2005-06-23 Wim Taymans <wim@fluendo.com>
20316 * gst/schedulers/threadscheduler.c:
20317 (gst_thread_scheduler_task_start),
20318 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20319 Ref the task before pushing it on the threadpool. This
20320 makes sure that we have a ref when the threadfunction is
20323 2005-06-23 Andy Wingo <wingo@pobox.com>
20325 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20326 offset is greater than the file's size.
20328 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
20329 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20330 * gst/gstobject.c (gst_object_class_init): Make the class lock
20331 recursive. Wim won't let me drop deep_notify. Decodebin works
20332 again, whoopdy doo.
20334 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20335 internal pad, and hacks accordingly. Doesn't do it on the target
20336 pad because we change its caps. Probably catches all cases of
20338 (gst_ghost_pad_set_property): Connect to notify::caps as
20341 * tests/network-clock.scm (plot-simulation): Pipe data to the
20342 elite python skript.
20344 * tests/network-clock-utils.scm (define-parameter): New macro,
20345 defines a parameter that can be set via the command line.
20346 (set-parameter!, parse-parameter-arguments): Command line args
20349 * tests/plot-data: Simple matplotlib-based plotter, takes input on
20352 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
20354 * gst/elements/gsttypefindelement.c:
20355 (gst_type_find_element_handle_event):
20356 Don't restart typefinding on a discont.
20357 * gst/gstelement.c: (gst_element_set_state):
20358 Debug spelling fix.
20359 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20360 Allow changing mode of an active pad.
20361 Debug output fixes.
20362 * gst/registries/gstlibxmlregistry.c: (load_feature):
20363 Don't cast a static pad template to a normal pad template.
20365 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
20367 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20368 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20369 remove gst_strtoll completely, since it didn't actually do
20370 anything more than what g_ascii_strtoull already does.
20371 check for range errors when deserializing
20372 do a cast for the unsigned cases; but further fixing needs
20373 a decision on what the interpretation of "(int)" and
20374 deserialization should be for values that fall outside the
20375 type's boundaries (ie, refuse, or interpret as casting)
20377 2005-06-23 Wim Taymans <wim@fluendo.com>
20379 * check/Makefile.am:
20380 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20381 * docs/design/part-live-source.txt:
20382 * docs/design/part-states.txt:
20383 * gst/base/gstbasesrc.c: (gst_basesrc_init),
20384 (gst_basesrc_set_live), (gst_basesrc_is_live),
20385 (gst_basesrc_get_range), (gst_basesrc_activate),
20386 (gst_basesrc_change_state):
20387 * gst/base/gstbasesrc.h:
20388 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20389 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20390 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20391 * gst/gstelement.c: (gst_element_get_state_func),
20392 (gst_element_set_state):
20393 * gst/gstelement.h:
20395 * tools/gst-launch.c: (event_loop), (main):
20396 Added support for live sources and other elements that
20398 Updated design docs, added live-source design doc.
20399 Implemented live source functionality in basesrc
20400 Fix error condition in _bin_get_state()
20401 Implement live source handling in -launch.
20402 Added check for live sources.
20403 Fixed case in GstBin where elements were changed state
20407 2005-06-23 Andy Wingo <wingo@pobox.com>
20409 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20410 borken refcounting.
20412 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20413 gst_caps_replace takes care of this for us.
20415 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20416 gst_pad_set_caps on the target, not just its setcaps() function.
20418 * tests/network-clock.scm:
20419 * tests/network-clock-utils.scm: A network clock simulator.
20420 Something of an algorithmic testbed before doing something in C.
20422 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
20424 * check/Makefile.am:
20425 * check/gst/capslist.h:
20426 copy over from 0.8, and add two with bitmasks specified with
20428 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20429 add test to parse everything from capslist.h
20430 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20432 add test for structure deserialization
20433 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20434 add tests for deserialization of strings to int types
20435 * gst/gststructure.c: (gst_structure_nth_field_name):
20436 * gst/gststructure.h:
20437 add a way to get the name of a field referenced by index
20438 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20439 instead of checking if the resulting long long lies between
20440 min and max, we check if the long long would fit into
20441 a number of bytes for the final type.
20442 This fixes cases where a string represents 2^32 - 1, which
20443 when cast to int would be the (valid) -1, but is bigger than
20446 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
20448 * gst/parse/grammar.y:
20449 add a log line for type deserialization
20451 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
20453 * check/gst/gstvalue.c: (START_TEST):
20454 * gst/gstvalue.c: (gst_value_deserialize):
20455 return long long, not int, so gint64 deserialization actually
20456 works. Is there any flag that makes the compiler check this ?
20459 2005-06-22 Wim Taymans <wim@fluendo.com>
20462 Added convenience macros for setting buffers in GValue.
20464 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
20466 * check/gst/.cvsignore:
20467 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20468 add a test deserializing int64, and comment part out because
20471 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
20473 * check/Makefile.am:
20474 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20475 * testsuite/Makefile.am:
20476 * testsuite/caps/Makefile.am:
20477 * testsuite/caps/value_serialize.c:
20478 * testsuite/test_gst_init.c:
20479 move a value_serialize test over
20481 2005-06-20 Wim Taymans <wim@fluendo.com>
20486 * gst/gstvalue.c: (gst_value_compare_buffer),
20487 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20488 (gst_value_compare_flags), (gst_value_serialize_flags),
20489 (gst_value_deserialize_flags), (_gst_value_initialize):
20490 Fix serialisation of buffers, they are not boxed types anymore
20492 2005-06-20 Wim Taymans <wim@fluendo.com>
20494 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20495 Testcase to show error in buffer-on-caps serialisation.
20497 2005-06-20 Andy Wingo <wingo@pobox.com>
20499 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20500 will be adding to later.
20502 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20503 if its socks fill with rocks.
20504 (gst_system_clock_obtain): Set the name on object construction.
20505 Avoid double-checked locking.
20507 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
20509 * gst/gsturi.c: (gst_element_make_from_uri):
20510 Fix potential endless loop.
20512 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20514 * check/Makefile.am:
20516 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20518 move over from testsuite dir and clean up
20521 * testsuite/Makefile.am:
20522 * testsuite/tags/.cvsignore:
20523 * testsuite/tags/Makefile.am:
20524 * testsuite/tags/merge.c:
20525 remove testsuite/tags
20527 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20529 * docs/gst/gstreamer-sections.txt:
20530 * docs/gst/tmpl/gstenumtypes.sgml:
20531 * win32/gstenumtypes.c:
20532 clean up documentation build a little
20534 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20536 * check/gstcheck.h:
20537 add macros for checking refcounts on objects and caps
20538 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20539 add some more unit tests
20540 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20541 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20542 fix leaked refcounts (I hope :)) so unittest works
20546 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20548 * configure.ac: back to HEAD
20550 === release 0.9.1 ===
20552 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
20558 2005-06-17 Andy Wingo <wingo@pobox.com>
20560 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20561 assert; it's always possible that the pad gets deactivated in
20562 between the checks in gstpad.c and the implementation. Rely on
20563 finish_preroll() to return a FLUSHING or similar instead of on the
20566 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20567 clock and post an EOS message if we come out of finish_preroll in
20570 2005-06-16 David Schleef <ds@schleef.org>
20572 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20573 (gst_capsfilter_set_property): Allow NULL as possible value
20574 for filter_caps property, indicating GST_CAPS_ANY.
20576 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
20578 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20580 * gst/schedulers/Makefile.am:
20582 * gstreamer.spec.in:
20585 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
20587 * gstreamer.spec.in:
20590 2005-06-08 Andy Wingo <wingo@pobox.com>
20592 * gst/gstutils.c: RPAD fixes all around.
20593 (gst_element_link_pads): Refcounting fixes.
20595 * tools/gst-inspect.c:
20596 * tools/gst-xmlinspect.c:
20598 * gst/base/gsttypefindhelper.c:
20599 * gst/base/gstbasesink.c:
20600 * gst/gstqueue.c: RPAD fixes.
20602 * gst/gstghostpad.h:
20603 * gst/gstghostpad.c: New ghost pad implementation as full proxy
20604 pads. The tricky thing is they provide both source and sink
20605 interfaces, since they proxy the internal pad for the external
20606 pad, and vice versa. Implement with lower-level ProxyPad objects,
20607 with the interior proxy pad as a child of the exterior ghost pad.
20608 Should write a doc on this.
20610 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20611 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20614 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20615 pads are real pads. No ghost pads in this file. Not documenting
20616 the myriad s/RPAD/PAD/ and REALIZE fixes.
20617 (gst_pad_class_init): Add properties for "direction" and
20618 "template". Both are construct-only, so they can't change during
20619 the life of the pad. Fixes properly deriving from GstPad.
20620 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20621 derived objects, just set properties when creating the objects via
20623 (gst_pad_get_parent): Implement as a function, return NULL if the
20624 parent is not an element.
20625 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20626 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20628 * gst/gstobject.c (gst_object_class_init): Make name a construct
20629 property. Don't set it in the object init.
20631 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20632 with UNKNOWN direction.
20633 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20634 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20635 (gst_element_remove_pad): Remove ghost-pad special cases.
20636 (gst_element_pads_activate): Remove rpad cruft.
20638 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20639 catch the pad's-parent-not-an-element case.
20641 * gst/gst.h: Include gstghostpad.h.
20643 * gst/gst.c (init_post): No more real, ghost pads.
20645 * gst/Makefile.am: Add gstghostpad.[ch].
20647 * check/Makefile.am:
20648 * check/gst/gstbin.c:
20649 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20650 into a bin creates ghost pads, and that the refcounts are right.
20651 Partly moved from gstbin.c.
20653 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
20655 * check/gst-libs/.cvsignore:
20656 * check/gst/.cvsignore:
20657 * check/pipelines/.cvsignore:
20659 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20660 (START_TEST), (cleanup_suite), (main):
20661 add some tests related to cleanup after running pipelines
20663 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
20665 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20666 add a testsuite for GstBuffer
20668 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
20670 * gst/gstminiobject.h:
20671 add defines for accessing the refcount
20673 2005-06-03 Stefan Kost <ensonic@users.sf.net>
20675 * Makefile.am: added support for html unit test coverage reports
20677 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
20679 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20680 Free existing caps if the capsfilter changes. Add a FIXME about
20681 setting those caps on the pads.
20683 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20684 Before adding a ghost pad to a parent bin, check that there isn't
20685 already one for the element on the bin. Prevents infinite recursion
20686 when using decodebin in parse pipelines. Andy says he'll rewrite the
20687 way this works anyway, so ignore the hack.
20689 2005-06-02 Andy Wingo <wingo@pobox.com>
20691 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20692 file size, pass it on to the type find helper.
20694 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20695 segment_start and segment_end properly according to the seek
20696 method. Segment_end is still a bit flaky because offset can be
20697 negative for CUR and END cases, but it takes -1 as an "unset"
20700 2005-06-02 Wim Taymans <wim@fluendo.com>
20702 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20703 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20704 (gst_basesink_activate):
20705 * gst/base/gstbasesink.h:
20706 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20707 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20708 (gst_pad_query), (gst_pad_start_task):
20710 * gst/gstqueue.c: (gst_queue_bufferalloc),
20711 (gst_queue_handle_sink_event), (gst_queue_chain):
20712 Bufferalloc: return GstFlowReturn to more accuratly report
20713 why allocation failed.
20715 2005-06-02 Wim Taymans <wim@fluendo.com>
20717 * gst/gstpipeline.c: (gst_pipeline_send_event):
20718 Take snapshot of state without blocking.
20720 2005-06-02 Wim Taymans <wim@fluendo.com>
20722 * docs/design/part-TODO.txt:
20723 * docs/design/part-caps.txt:
20724 * docs/design/part-clocks.txt:
20725 * docs/design/part-negotiation.txt:
20726 * docs/design/part-preroll.txt:
20729 2005-05-30 Wim Taymans <wim@fluendo.com>
20731 * gst/elements/gstidentity.c: (gst_identity_event),
20732 (gst_identity_transform), (gst_identity_get_property):
20733 Protect last_message property as it is accessed from
20736 2005-05-30 Wim Taymans <wim@fluendo.com>
20738 * gst/gstelement.c: (gst_element_init),
20739 (gst_element_pads_activate), (gst_element_change_state):
20740 Slicker pad activation code.
20742 2005-05-30 Wim Taymans <wim@fluendo.com>
20745 * gst/gstelement.h:
20746 * gst/gstelementfactory.h:
20748 Move elementfactory methods to separate .h file.
20750 2005-05-30 Wim Taymans <wim@fluendo.com>
20752 * docs/design/part-overview.txt:
20753 * gst/gstsystemclock.h:
20754 Small typo fixes, doc updates.
20756 2005-05-30 Wim Taymans <wim@fluendo.com>
20758 * gst/gst.c: (gst_init_get_popt_table), (init_post),
20759 (init_popt_callback):
20760 Remove cpu-opt flag.
20762 2005-05-30 Wim Taymans <wim@fluendo.com>
20764 * gst/gstbuffer.c: (gst_subbuffer_finalize),
20765 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20767 Avoid typechecking in places where not needed.
20768 Added accessor for malloc_data.
20770 2005-05-30 Wim Taymans <wim@fluendo.com>
20772 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20773 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20774 (gst_pad_configure_sink), (gst_pad_configure_src),
20775 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20776 (gst_pad_start_task):
20777 Propagate errors from _set_caps() in configure_src/sink
20778 functions instead of returning TRUE.
20779 FLUSH events can travel up and downstream
20782 2005-05-30 Wim Taymans <wim@fluendo.com>
20784 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20785 (gst_basesink_activate):
20786 Handle EOS in preroll.
20788 2005-05-30 Wim Taymans <wim@fluendo.com>
20790 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20791 (gst_queue_loop), (gst_queue_handle_src_event):
20792 Remove old pieces of code
20793 Flushing the queue in an upstream event is a very bad idea.
20795 2005-05-26 Andy Wingo <wingo@pobox.com>
20797 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
20798 gst_value_set_mini_object so as to add a ref on the object (which
20799 will be removed when the value is unset).
20801 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
20802 arg type in ::handoff.
20804 * gst/gstelement.c (gst_element_change_state): Also deactivate
20805 pads in READY->NULL, just in case the element didn't make it to
20806 PAUSED. Wingo tested, Wim approved.
20808 2005-05-26 Wim Taymans <wim@fluendo.com>
20810 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20811 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20812 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
20813 A flushing pad cannot be used to alloc_buffer from.
20815 2005-05-26 Wim Taymans <wim@fluendo.com>
20817 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
20818 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
20819 (gst_bus_source_dispatch), (gst_bus_source_finalize),
20820 (gst_bus_create_watch), (gst_bus_add_watch_full):
20822 Implement a real GSource and use g_main_context_wakeup() to
20823 signal new messages instead of the socketpair.
20825 2005-05-25 Wim Taymans <wim@fluendo.com>
20827 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
20828 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
20829 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20830 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20831 (gst_pad_send_event), (gst_pad_start_task):
20832 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
20833 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20834 (gst_queue_sink_activate), (gst_queue_src_activate),
20835 (gst_queue_change_state):
20837 Fix state changes for non sinks. We now change sinks, then elements
20838 with unconnected srcpads, then the rest.
20839 More efficient queue unlocking in flush and state changes.
20840 Set the pad activate mode even if it does not have an activate
20843 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20845 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
20846 Don't go in pull mode for non-seekable sources.
20847 * gst/elements/gsttypefindelement.h:
20848 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20849 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
20850 (free_entry), (stop_typefinding),
20851 (gst_type_find_element_handle_event), (find_peek),
20852 (gst_type_find_element_chain), (do_pull_typefind),
20853 (gst_type_find_element_change_state):
20854 Allow typefinding (w/o seeking) in push-mode, simplified version
20855 of what was in 0.8.
20856 * gst/gstutils.c: (gst_buffer_join):
20858 gst_buffer_join() from 0.8.
20860 2005-05-25 Wim Taymans <wim@fluendo.com>
20862 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20863 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20864 (gst_pad_send_event), (gst_pad_start_task):
20865 Disable attempt at mode switching until it is figured out.
20867 2005-05-25 Wim Taymans <wim@fluendo.com>
20869 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
20870 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20871 (gst_basesink_finish_preroll), (gst_basesink_chain),
20872 (gst_basesink_loop), (gst_basesink_activate),
20873 (gst_basesink_change_state):
20874 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
20875 (gst_basesrc_get_range), (gst_basesrc_loop),
20876 (gst_basesrc_activate):
20877 * gst/elements/gsttee.c: (gst_tee_sink_activate):
20878 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20879 (gst_real_pad_init), (gst_real_pad_set_property),
20880 (gst_real_pad_get_property), (gst_pad_set_active),
20881 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
20882 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
20883 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
20884 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
20885 (gst_pad_event_default_dispatch), (gst_pad_event_default),
20886 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
20887 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
20888 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20889 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
20890 (gst_pad_stop_task):
20892 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20893 (gst_queue_loop), (gst_queue_src_activate):
20894 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
20895 (gst_task_get_state):
20897 * gst/schedulers/threadscheduler.c:
20898 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
20899 Implement gst_pad_pause/start/stop_task(), take STREAM lock
20901 Remove ACTIVE pad flag, use FLUSHING everywhere
20902 Added _pad_chain(), _pad_get_range() to call chain/getrange
20904 Add locks around IS_FLUSHING when reading.
20905 Take STREAM lock in chain(), get_range() functions so plugins
20906 don't need to take it anymore.
20910 2005-05-25 Wim Taymans <wim@fluendo.com>
20912 * tools/gst-launch.c: (event_loop):
20913 Unref message after using its contents instead of
20916 2005-05-24 Wim Taymans <wim@fluendo.com>
20918 * docs/design/draft-ghostpads.txt:
20919 * docs/design/draft-push-pull.txt:
20920 * docs/design/draft-query.txt:
20921 * docs/design/part-overview.txt:
20922 Docs updates, added general overview doc.
20924 2005-05-21 David Schleef <ds@schleef.org>
20926 * docs/gst/tmpl/old/GstBin.sgml:
20927 * docs/gst/tmpl/old/GstBuffer.sgml:
20928 * docs/gst/tmpl/old/GstCaps.sgml:
20929 * docs/gst/tmpl/old/GstClock.sgml:
20930 * docs/gst/tmpl/old/GstCompat.sgml:
20931 * docs/gst/tmpl/old/GstData.sgml:
20932 * docs/gst/tmpl/old/GstElement.sgml:
20933 * docs/gst/tmpl/old/GstEvent.sgml:
20934 * docs/gst/tmpl/old/GstIndex.sgml:
20935 * docs/gst/tmpl/old/GstStructure.sgml:
20936 * docs/gst/tmpl/old/GstTag.sgml:
20937 * docs/gst/tmpl/old/cothreads.sgml:
20938 * docs/gst/tmpl/old/cothreads_compat.sgml:
20939 * docs/gst/tmpl/old/gettext.sgml:
20940 * docs/gst/tmpl/old/gobject2gtk.sgml:
20941 * docs/gst/tmpl/old/grammar.tab.sgml:
20942 * docs/gst/tmpl/old/gst-i18n-app.sgml:
20943 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
20944 * docs/gst/tmpl/old/gst_private.sgml:
20945 * docs/gst/tmpl/old/gstaggregator.sgml:
20946 * docs/gst/tmpl/old/gstarch.sgml:
20947 * docs/gst/tmpl/old/gstatomic_impl.sgml:
20948 * docs/gst/tmpl/old/gstbufferstore.sgml:
20949 * docs/gst/tmpl/old/gstdata_private.sgml:
20950 * docs/gst/tmpl/old/gstdisksink.sgml:
20951 * docs/gst/tmpl/old/gstdisksrc.sgml:
20952 * docs/gst/tmpl/old/gstelementfactory.sgml:
20953 * docs/gst/tmpl/old/gstextratypes.sgml:
20954 * docs/gst/tmpl/old/gstfakesink.sgml:
20955 * docs/gst/tmpl/old/gstfakesrc.sgml:
20956 * docs/gst/tmpl/old/gstfdsink.sgml:
20957 * docs/gst/tmpl/old/gstfdsrc.sgml:
20958 * docs/gst/tmpl/old/gstfilesink.sgml:
20959 * docs/gst/tmpl/old/gstfilesrc.sgml:
20960 * docs/gst/tmpl/old/gsthttpsrc.sgml:
20961 * docs/gst/tmpl/old/gstidentity.sgml:
20962 * docs/gst/tmpl/old/gstindexfactory.sgml:
20963 * docs/gst/tmpl/old/gstmarshal.sgml:
20964 * docs/gst/tmpl/old/gstmd5sink.sgml:
20965 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
20966 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
20967 * docs/gst/tmpl/old/gstpadtemplate.sgml:
20968 * docs/gst/tmpl/old/gstpipefilter.sgml:
20969 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
20970 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
20971 * docs/gst/tmpl/old/gstshaper.sgml:
20972 * docs/gst/tmpl/old/gstspider.sgml:
20973 * docs/gst/tmpl/old/gstspideridentity.sgml:
20974 * docs/gst/tmpl/old/gststatistics.sgml:
20975 * docs/gst/tmpl/old/gsttee.sgml:
20976 * docs/gst/tmpl/old/gsttimecache.sgml:
20977 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
20978 * docs/gst/tmpl/old/gstxmlregistry.sgml:
20979 * docs/gst/tmpl/old/gthread-cothreads.sgml:
20980 * docs/gst/tmpl/old/types.sgml:
20981 I didn't intend to add these or check them in.
20983 2005-05-19 David Schleef <ds@schleef.org>
20985 * configure.ac: Use -no-common everywhere. In a sane world, it
20986 would be the default in libtool, because without it, you can't
20987 build DLLs on Windows.
20988 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
20989 * docs/gst/gstreamer-sections.txt:
20990 * docs/gst/tmpl/gstcpu.sgml:
20991 * docs/gst/tmpl/gstdata.sgml:
20992 * docs/gst/tmpl/gstthread.sgml:
20994 2005-05-19 David Schleef <ds@schleef.org>
20996 * gst/gstminiobject.c: (gst_value_set_mini_object),
20997 (gst_value_take_mini_object), (gst_value_get_mini_object):
20998 * gst/gstminiobject.h: Add GValue set/get functions.
21000 2005-05-19 Wim Taymans <wim@fluendo.com>
21002 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
21003 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
21004 (gst_subbuffer_init), (gst_buffer_is_span_fast):
21006 * gst/gstbus.c: (gst_bus_post):
21007 * gst/gstelement.c: (gst_element_get_random_pad):
21008 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
21009 Make subbufer unref the parent in finalize.
21010 some more debugging info.
21013 2005-05-19 Wim Taymans <wim@fluendo.com>
21015 * gst/base/gstbasesink.c: (gst_basesink_class_init),
21016 (gst_basesink_init), (gst_basesink_finalize),
21017 (gst_basesink_activate), (gst_basesink_change_state):
21018 Don't free preroll queue too early.
21020 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21024 Hi, I'm outdated. Please shoot me.
21026 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21028 * gst/gstpipeline.c: (gst_pipeline_send_event):
21029 Do not access variables after they have been deleted.
21031 2005-05-19 Wim Taymans <wim@fluendo.com>
21033 * tools/gst-inspect.c: (print_plugin_features):
21034 A plugin feature does unfortunatly not use the
21037 2005-05-18 Wim Taymans <wim@fluendo.com>
21039 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
21040 Port _span() functions to new subbuffers.
21042 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21044 * gst/gstbin.c: (gst_bin_add_func):
21045 Fix clock settery in bins when adding kids after the clock has
21048 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21050 * gst/elements/gstidentity.c: (gst_identity_class_init):
21051 Workaround until signals support GstMiniObject.
21053 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
21056 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
21058 2005-05-18 Wim Taymans <wim@fluendo.com>
21060 * gst/base/Makefile.am:
21061 * gst/base/gstadapter.c: (gst_adapter_base_init),
21062 (gst_adapter_class_init), (gst_adapter_init),
21063 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
21064 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
21065 (gst_adapter_flush), (gst_adapter_available),
21066 (gst_adapter_available_fast):
21067 * gst/base/gstadapter.h:
21068 Ported and added adapter to the base classes.
21070 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
21073 * gst/gstmessage.c:
21074 Make sure the class is reffed/unreffed once before threads can be
21075 used. Fixes #304551.
21077 2005-05-17 Wim Taymans <wim@fluendo.com>
21079 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
21080 (gst_basesink_chain_unlocked), (gst_basesink_activate):
21081 * gst/gstminiobject.c: (gst_mini_object_get_type),
21082 (gst_mini_object_free):
21083 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
21084 (gst_pad_push), (gst_pad_push_event):
21085 * gst/gstqueue.c: (gst_queue_change_state):
21086 Don't queue buffers in basesink when we are flushing.
21087 Unref buffer when flushing in basesink.
21088 Flush queue when going to READY
21089 Unref buffer when _push() returns an error.
21090 Don't free MiniObject instance when refcount is incremented
21091 in _finalize() so that we can recover objects.
21093 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
21095 * docs/manual/advanced-schedulers.xml:
21096 * docs/manual/appendix-checklist.xml:
21097 * docs/pwg/advanced-clock.xml:
21098 * docs/pwg/advanced-interfaces.xml:
21099 * docs/pwg/advanced-request.xml:
21100 * docs/pwg/advanced-types.xml:
21101 * docs/pwg/intro-preface.xml:
21102 * examples/plugins/example.c: (gst_example_get_type),
21103 (gst_example_class_init), (gst_example_chain),
21104 (gst_example_set_property), (gst_example_get_property),
21105 (gst_example_change_state), (plugin_init):
21106 * examples/plugins/example.h:
21109 2005-05-17 Wim Taymans <wim@fluendo.com>
21111 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
21112 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
21113 * gst/gstqueue.c: (gst_queue_change_state):
21114 Clear queue when going to READY.
21115 Remove IN_SETCAPS flag too.
21117 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
21119 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
21120 Remove implicit cast from gboolean to GstElementStateReturn;
21121 make sure we still return failure in paused => ready case if
21122 the parent class fails to change state and our own stop
21125 2005-05-17 Wim Taymans <wim@fluendo.com>
21127 * tools/gst-launch.c: (event_loop):
21128 Message was unreffed too soon.
21130 2005-05-16 Andy Wingo <wingo@pobox.com>
21132 * gst/gstbin.c (sink_iterator_filter): Err... um...
21134 * check/gst/gstbin.c (test_ghost_pads): New test for the
21135 ghosting-if-elements-not-in-same-bin behavior.
21137 2005-05-16 David Schleef <ds@schleef.org>
21139 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
21140 accessing refcount directly.
21142 2005-05-15 David Schleef <ds@schleef.org>
21144 * check/Makefile.am: remove GstData checks
21145 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
21146 * gst/Makefile.am: add miniobject, remove data
21147 * gst/gst.h: add miniobject, remove data
21148 * gst/gstdata.c: remove
21149 * gst/gstdata.h: remove
21150 * gst/gstdata_private.h: remove
21151 * gst/gsttypes.h: remove GstEvent and GstMessage
21152 * gst/gstelement.c: (gst_element_post_message): fix for API changes
21153 * gst/gstmarshal.list: change BOXED -> OBJECT
21155 Implement GstMiniObject.
21156 * gst/gstminiobject.c:
21157 * gst/gstminiobject.h:
21159 Modify to be subclasses of GstMiniObject.
21160 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
21161 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
21162 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
21163 (gst_subbuffer_get_type), (gst_subbuffer_init),
21164 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
21167 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
21168 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
21169 (_gst_event_copy), (gst_event_new):
21171 * gst/gstmessage.c: (_gst_message_initialize),
21172 (gst_message_get_type), (gst_message_class_init),
21173 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
21174 (gst_message_new), (gst_message_new_error),
21175 (gst_message_new_warning), (gst_message_new_tag),
21176 (gst_message_new_state_changed), (gst_message_new_application):
21177 * gst/gstmessage.h:
21178 * gst/gstprobe.c: (gst_probe_perform),
21179 (gst_probe_dispatcher_dispatch):
21181 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
21182 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
21183 (_gst_query_copy), (gst_query_new):
21185 Update elements for GstData -> GstMiniObject changes
21187 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
21188 (gst_queue_chain), (gst_queue_loop):
21189 * gst/elements/gstbufferstore.c:
21190 (gst_buffer_store_add_buffer_func),
21191 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
21192 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21193 (gst_fakesink_render):
21194 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
21195 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
21196 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
21197 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
21198 (gst_filesrc_create_read):
21199 * gst/elements/gstidentity.c: (gst_identity_class_init):
21200 * gst/elements/gsttypefindelement.c:
21201 (gst_type_find_element_src_event), (free_entry_buffers),
21202 (gst_type_find_element_handle_event):
21203 * libs/gst/dataprotocol/dataprotocol.c:
21204 (gst_dp_header_from_buffer):
21205 * libs/gst/dataprotocol/dataprotocol.h:
21206 * libs/gst/dataprotocol/dp-private.h:
21208 2005-05-15 David Schleef <ds@schleef.org>
21210 * gst/elements/gstelements.c: Don't include headers that were
21213 2005-05-15 David Schleef <ds@schleef.org>
21215 * gst/elements/Makefile.am: Remove some elements that don't
21216 need to be in the core (or even exist at all).
21217 * gst/elements/gstaggregator.c:
21218 * gst/elements/gstaggregator.h:
21219 * gst/elements/gstmd5sink.c:
21220 * gst/elements/gstmd5sink.h:
21221 * gst/elements/gstmultifilesrc.c:
21222 * gst/elements/gstmultifilesrc.h:
21223 * gst/elements/gstpipefilter.c:
21224 * gst/elements/gstpipefilter.h:
21225 * gst/elements/gstshaper.c:
21226 * gst/elements/gstshaper.h:
21227 * gst/elements/gststatistics.c:
21228 * gst/elements/gststatistics.h:
21229 * po/POTFILES.in: Remove above files.
21231 2005-05-14 Andy Wingo <wingo@pobox.com>
21233 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
21234 so as to get the refs right.
21235 (sink_iterator_filter): New function, wraps bin_element_is_sink,
21236 unreffing objects that don't pass the filter.
21238 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
21239 gst_element_set_bus.
21240 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
21241 normal cases, this will destroy the bus.
21243 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
21246 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
21249 2005-05-13 Andy Wingo <wingo@pobox.com>
21251 * gst/gstutils.c (gst_element_link_pads): Instead of calling
21252 gst_pad_link, call pad_link_maybe_ghosting,
21253 (pad_link_maybe_ghosting): Links pads, making sure that the
21254 elements being linked are in the same bin.
21255 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
21256 Helpers for pad_link_maybe_ghosting.
21258 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
21261 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
21263 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
21265 * docs/design/part-element-source.txt:
21268 2005-05-12 Wim Taymans <wim@fluendo.com>
21270 * gst/base/gstbasesink.c: (gst_basesink_init),
21271 (gst_basesink_activate):
21272 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
21273 (gst_basesrc_is_seekable):
21274 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21275 (bin_element_is_sink), (gst_bin_change_state):
21276 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21277 * gst/gstelement.h:
21278 Identify sinks by their flag to avoid overly complicated
21280 Do state changes even for elements not reachable from the
21282 BaseSink is a sink now :)
21283 Some more debugging info in the basesrc.
21286 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21288 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
21289 Implement _query on a bin, similar to _send_event.
21291 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
21293 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
21294 Discont event offset format should be GST_FORMAT_BYTES,
21295 not GST_FORMAT_TIME.
21297 2005-05-12 Wim Taymans <wim@fluendo.com>
21299 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21300 Same fix as Ronald's but without the signal.
21302 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21304 * gst/gstutils.c: (gst_element_query_position):
21305 No, an element is not a pad.
21307 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21309 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21310 (gst_bin_get_state):
21311 If a child is removed from a bin while we remove the child from
21312 the bin and while we're retrieving its state, signal this to the
21313 get_state function so we abort the wait (instead of waiting for
21314 a timeout) and can immediately re-iterate over all other elements.
21316 2005-05-12 Wim Taymans <wim@fluendo.com>
21318 * gst/base/Makefile.am:
21319 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21320 (gst_basesrc_start):
21321 * gst/base/gstbasesrc.h:
21322 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21323 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21324 (gst_pushsrc_init), (gst_pushsrc_create):
21325 * gst/base/gstpushsrc.h:
21326 Added is_seekable to BaseSrc
21327 Added simple PushSrc.
21329 2005-05-11 Wim Taymans <wim@fluendo.com>
21331 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21332 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21333 (gst_element_link_pads), (gst_element_query_position),
21334 (gst_element_query_convert), (intersect_caps_func),
21335 (gst_pad_query_position), (gst_pad_query_convert):
21336 Fix refcounting in utils function.
21337 No point in trying to activate a pad when it's added, it could
21338 be added from the state change function and then we deadlock, the
21339 element has to decide what to do.
21341 2005-05-10 Andy Wingo <wingo@pobox.com>
21343 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21344 *all* the arguments.
21346 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21347 stream lock if it's a FLUSH_DONE; normal flushes don't get the
21348 lock (according to the docs -- if this is wrong change the docs).
21350 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21351 flush messages in the NULL state.
21353 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21354 message immediately and return.
21355 (gst_bus_set_flushing): New function. If a bus is flushing, it
21356 flushes out any queued messages and immediately unrefs new
21357 messages. This is so when an element goes to NULL, all of the
21358 unhandled messages coming from it can be freed, and their
21359 references to the element dropped. In other words: message source
21360 ref considered harmful :P
21362 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21363 we're finished with it.
21365 * gst/gstmessage.c (gst_message_new_state_changed):
21367 2005-05-10 Wim Taymans <wim@fluendo.com>
21369 * gst/gstvalue.c: (gst_value_compare_flags),
21370 (gst_value_serialize_flags), (gst_value_deserialize_flags),
21371 (_gst_value_initialize):
21372 Added flags serialize/deserialize/compare code.
21374 2005-05-09 Andy Wingo <wingo@pobox.com>
21376 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21377 Intersect the peer's caps with our caps.
21379 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21381 * gst/base/gsttypefindhelper.c: (helper_find_peek):
21382 * gst/elements/gsttypefindelement.c: (find_peek):
21383 Handle negative offsets better. Fixes decodebin.
21385 2005-05-09 Wim Taymans <wim@fluendo.com>
21387 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21388 (gst_base_transform_event):
21389 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21390 Implement accept_caps.
21391 Fix silly lock/unlock mismatch in base class.
21393 2005-05-09 Wim Taymans <wim@fluendo.com>
21395 * docs/design/draft-push-pull.txt:
21396 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21397 * gst/elements/gstfilesink.c: (gst_filesink_init),
21398 (gst_filesink_query):
21399 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21400 (gst_type_find_handle_src_query), (find_element_get_length):
21401 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21402 * gst/gstelement.h:
21403 * gst/gstmessage.c:
21404 * gst/gstmessage.h:
21405 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21406 (gst_real_pad_get_caps_unlocked),
21407 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21408 (gst_pad_event_default_dispatch), (gst_pad_event_default),
21409 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21410 (gst_real_pad_dispose), (gst_real_pad_finalize),
21411 (gst_pad_load_and_link), (gst_pad_save_thyself),
21412 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21413 (gst_pad_check_pull_range), (gst_pad_pull_range),
21414 (gst_pad_template_get_type), (gst_pad_template_class_init),
21415 (gst_pad_template_init), (gst_pad_template_dispose),
21416 (name_is_valid), (gst_static_pad_template_get),
21417 (gst_pad_template_new), (gst_static_pad_template_get_caps),
21418 (gst_pad_template_get_caps), (gst_pad_set_element_private),
21419 (gst_pad_get_element_private), (gst_pad_start_task),
21420 (gst_pad_pause_task), (gst_pad_stop_task),
21421 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21422 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21423 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21424 (gst_ghost_pad_new):
21426 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21427 (gst_query_new_position), (gst_query_set_position),
21428 (gst_query_parse_position), (gst_query_new_convert),
21429 (gst_query_set_convert), (gst_query_parse_convert):
21431 * gst/gstqueryutils.c:
21432 * gst/gstqueryutils.h:
21433 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21434 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21435 (gst_queue_handle_src_query):
21436 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21437 (gst_element_query_position), (gst_element_query_convert),
21438 (intersect_caps_func), (gst_pad_query_position),
21439 (gst_pad_query_convert):
21441 * tools/gst-inspect.c: (print_pad_info):
21442 * tools/gst-xmlinspect.c: (print_element_info):
21443 Remove old query functions. Ported old code.
21444 Added position/convert helper functions to gstutils.
21445 Reordered gstpad.c code, grouping relevant things.
21446 Remove gst_message_new(), always need to speficy a specific
21450 2005-05-09 Andy Wingo <wingo@pobox.com>
21452 * gst/gstiterator.h: Add some includes.
21454 * gst/gstqueryutils.h: Include more headers.
21457 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21458 some uses of gst_pad_query.
21460 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21461 NULL out parameters.
21462 (gst_query_new_position): New proc, allocates a new position
21465 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21466 gstqueryutils.c to the build.
21468 * gst/gststructure.c (gst_structure_set_valist): Implement with
21469 the generic G_VALUE_COLLECT.
21471 2005-05-08 Edward Hervey <bilboed@bilboed.com>
21473 * gst/Makefile.am: (gst_headers):
21474 Added gstqueryutils.h to the list of headers to install, that was
21475 a 'nachty' move wingo :)
21477 2005-05-06 Andy Wingo <wingo@pobox.com>
21480 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21481 GstData, init a memchunk.
21482 (standard_definitions): Add a few query types, deprecate a few.
21483 (gst_query_get_type): New proc.
21484 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21486 (gst_query_new_application, gst_query_get_structure): New public
21489 * docs/design/draft-query.txt: Removed LINKS from the query types,
21490 because all the rest can be dispatched to other pads -- seemed
21491 ugly to have a query that couldn't be dispatched. internal_links
21492 is fine as a pad method.
21494 * gst/gstpad.h: Add query2 as a pad method, add the new functions
21495 in gstpad.c, but maintain binary compatibility for the moment.
21496 Will fix before 0.9 is out.
21498 * gst/gstqueryutils.c:
21499 * gst/gstqueryutils.h: New files, implement 3 methods for each
21500 query type: parse_query, parse_response, and set. Probably need an
21503 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21505 * gst/elements/gstfilesink.c (gst_filesink_query2):
21506 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21507 query_types, and formats methods.
21509 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21510 (gst_pad_set_query2_function): New functions.
21511 (gst_real_pad_init): Set query2_default as the default query2
21512 function. Basically just dispatches to internally linked pads.
21516 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21517 without using the atomic operations. Only one thread can possibly
21518 be accessing the data at this point. Changed so as to avoid
21519 gst_atomic operations.
21521 2005-05-06 Wim Taymans <wim@fluendo.com>
21523 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21524 Also set caps if we use the fallback buffer alloc.
21526 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
21528 * docs/gst/Makefile.am:
21529 * docs/gst/gstreamer-docs.sgml:
21530 * docs/gst/gstreamer-sections.txt:
21531 * docs/gst/tmpl/gstatomic.sgml:
21532 * docs/gst/tmpl/gstmemchunk.sgml:
21533 * testsuite/elements/struct_i386.h:
21534 * win32/GStreamer.vcproj:
21536 Purge GstAtomic stuff from docs and win32 makefiles as well
21538 2005-05-06 Wim Taymans <wim@fluendo.com>
21540 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21541 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21542 * gst/gstpad.c: (gst_pad_peer_get_caps):
21543 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21544 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21545 (gst_queue_src_activate), (gst_queue_change_state):
21547 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21548 (intersect_caps_func):
21549 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21550 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21551 Some fixes for the peer_get_caps() change.
21553 2005-05-06 Wim Taymans <wim@fluendo.com>
21555 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21556 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21557 (gst_basesink_activate):
21558 Actually do something with error codes returned from the push
21561 2005-05-06 Wim Taymans <wim@fluendo.com>
21563 * docs/design/part-element-sink.txt:
21564 * docs/design/part-element-source.txt:
21565 * gst/base/gstbasesink.c: (gst_basesink_class_init),
21566 (gst_basesink_event), (gst_basesink_activate):
21567 * gst/base/gstbasesink.h:
21568 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21569 (gst_basesrc_activate):
21570 * gst/base/gstbasesrc.h:
21571 * gst/gstelement.c: (gst_element_pads_activate):
21572 Some more documentation.
21573 Fixed scheduling decision in _pads_activate().
21575 2005-05-05 Andy Wingo <wingo@pobox.com>
21577 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21580 2005-05-05 Wim Taymans <wim@fluendo.com>
21582 * gst/base/Makefile.am:
21583 * gst/base/gstbasesink.h:
21584 * gst/base/gstbasesrc.c: (gst_basesrc_init),
21585 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21586 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21587 (gst_collectpads_class_init), (gst_collectpads_init),
21588 (gst_collectpads_finalize), (gst_collectpads_new),
21589 (gst_collectpads_set_function), (gst_collectpads_add_pad),
21590 (find_pad), (gst_collectpads_remove_pad),
21591 (gst_collectpads_is_active), (gst_collectpads_collect),
21592 (gst_collectpads_collect_range), (gst_collectpads_start),
21593 (gst_collectpads_stop), (gst_collectpads_peek),
21594 (gst_collectpads_pop), (gst_collectpads_available),
21595 (gst_collectpads_read), (gst_collectpads_flush),
21596 (gst_collectpads_chain):
21597 * gst/base/gstcollectpads.h:
21598 * gst/elements/Makefile.am:
21599 * gst/elements/gstelements.c:
21600 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21601 (gst_fakesink_get_times), (gst_fakesink_event),
21602 (gst_fakesink_preroll), (gst_fakesink_render):
21603 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21604 (gst_filesink_init), (gst_filesink_set_location),
21605 (gst_filesink_open_file), (gst_filesink_close_file),
21606 (gst_filesink_pad_query), (gst_filesink_event),
21607 (gst_filesink_render), (gst_filesink_change_state):
21608 * gst/elements/gstfilesink.h:
21609 Added object to help in making collect pad based elements.
21611 Make event function in sink baseclass return gboolean.
21613 2005-05-05 Wim Taymans <wim@fluendo.com>
21615 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21616 (gst_bin_get_by_name):
21618 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21619 (gst_clock_finalize):
21620 * gst/gstdata.c: (gst_data_replace):
21622 * gst/gstelement.c: (gst_element_request_pad),
21623 (gst_element_pads_activate):
21624 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21625 (gst_object_unref):
21626 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21627 (gst_pad_set_checkgetrange_function),
21628 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21629 (gst_pad_check_pull_range), (gst_pad_pull_range),
21630 (gst_static_pad_template_get_caps), (gst_pad_start_task),
21631 (gst_pad_pause_task), (gst_pad_stop_task):
21632 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21633 (gst_element_request_pad), (gst_pad_proxy_getcaps):
21634 Fix name lookup in GstBin.
21635 Added _data_replace() function and _buffer_replace()
21636 Use finalize method to clean up clock.
21637 Fix refcounting on request pads.
21638 Fix pad schedule mode error.
21639 Some more object refcounting debug info,
21642 2005-05-04 Andy Wingo <wingo@pobox.com>
21644 * check/Makefile.am:
21645 * docs/gst/tmpl/gstatomic.sgml:
21646 * docs/gst/tmpl/gstplugin.sgml:
21647 * gst/base/gstbasesink.c: (gst_basesink_activate):
21648 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21649 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21650 (gst_basesrc_query), (gst_basesrc_set_property),
21651 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21652 (gst_basesrc_activate):
21653 * gst/base/gstbasesrc.h:
21654 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21655 (gst_base_transform_src_activate):
21656 * gst/elements/gstelements.c:
21657 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21658 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21659 * gst/elements/gsttee.c: (gst_tee_sink_activate):
21660 * gst/elements/gsttypefindelement.c: (find_element_get_length),
21661 (gst_type_find_element_checkgetrange),
21662 (gst_type_find_element_activate):
21663 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21664 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21665 (gst_caps_load_thyself):
21666 * gst/gstelement.c: (gst_element_pads_activate),
21667 (gst_element_save_thyself), (gst_element_restore_thyself):
21668 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21669 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21671 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21672 (gst_xml_parse_file), (gst_xml_parse_memory),
21673 (gst_xml_get_element), (gst_xml_make_element):
21674 * gst/indexers/gstfileindex.c: (gst_file_index_load),
21675 (_file_index_id_save_xml), (gst_file_index_commit):
21676 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21677 (read_enum), (load_pad_template), (load_feature), (load_plugin),
21679 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21680 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21681 * tools/gst-complete.c: (main):
21682 * tools/gst-compprep.c: (main):
21683 * tools/gst-inspect.c: (print_element_properties_info):
21684 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21685 * tools/gst-xmlinspect.c: (print_element_properties):
21688 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
21690 * gst/gstplugin.c: (gst_plugin_check_module),
21691 (gst_plugin_check_file), (gst_plugin_load_file):
21692 apply patch from #172526 to make register work on MacOSX
21694 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
21696 * docs/gst/tmpl/gstconfig.sgml:
21697 * gst/gstconfig.h.in:
21698 move documentation for some symbols. Add doc for GST_PTR_FORMAT
21699 * testsuite/debug/printf_extension.c: (main):
21700 Do not use GST_PTR_FORMAT on pointers to types with
21701 sizeof < sizeof(gpointer). Fixes test on 64-bit
21702 * testsuite/elements/property.h:
21703 use correct printf format
21705 2005-05-02 Wim Taymans <wim@fluendo.com>
21707 * docs/design/draft-push-pull.txt:
21708 * docs/design/draft-query.txt:
21709 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21710 (gst_basesrc_start):
21711 Added draft for new query API.
21712 Added draft for better selecting scheduling methods.
21713 Make basesrc ignore length if the subclass does not support
21716 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
21719 possible fixes for automake-1.5 - _LIBADD is reserved
21721 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
21723 * docs/faq/Makefile.am:
21724 * docs/manual/Makefile.am:
21725 * docs/manuals.mak:
21726 * docs/pwg/Makefile.am:
21728 possible fixes for automake-1.5
21730 2005-04-28 Wim Taymans <wim@fluendo.com>
21732 * gst/base/gstbasesink.c: (gst_basesink_base_init),
21733 (gst_basesink_pad_getcaps), (gst_basesink_init),
21734 (gst_basesink_do_sync):
21735 * gst/gstclock.c: (gst_clock_entry_new):
21736 * gst/gstevent.c: (gst_event_discont_get_value):
21737 * gst/gstpipeline.c: (pipeline_bus_handler),
21738 (gst_pipeline_change_state):
21739 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21740 Better debugging of clocking info.
21741 Allow NULL values when getting discont values.
21743 2005-04-27 Wim Taymans <wim@fluendo.com>
21745 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21746 * check/gst/gstpad.c: (gst_pad_suite):
21747 Increase timeout for checks.
21749 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
21751 * check/Makefile.am:
21752 fix the broken rule for cleanup. Apparently this rule is
21753 only needed on FC2, so maybe this warrants further autotool
21756 2005-04-26 Wim Taymans <wim@fluendo.com>
21758 * gst/gsttrashstack.h:
21759 Ooohh. a nasty one! After having a failed pop() from the stack,
21760 it's possible that the stack is empty. In that case, don't
21761 follow the NULL pointer.
21763 2005-04-25 Wim Taymans <wim@fluendo.com>
21765 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21766 (gst_pad_set_checkgetrange_function),
21767 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21768 (gst_pad_check_pull_range), (gst_pad_pull_range),
21769 (gst_static_pad_template_get_caps), (gst_pad_start_task),
21770 (gst_pad_pause_task), (gst_pad_stop_task):
21771 * gst/gstplugin.c: (gst_plugin_load):
21773 Remove gst_library_load as it does more harm than good with
21774 the new g_module flags.
21775 Revert bogus caps template check in pad linking, pad caps
21776 are important when linking not the template, which is more
21777 general than the current caps.
21779 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21781 * gst/autoplug/.cvsignore:
21782 * gst/autoplug/Makefile.am:
21783 * gst/autoplug/gstsearchfuncs.c:
21784 * gst/autoplug/gstsearchfuncs.h:
21785 * gst/autoplug/gstspider.c:
21786 * gst/autoplug/gstspider.h:
21787 * gst/autoplug/gstspideridentity.c:
21788 * gst/autoplug/gstspideridentity.h:
21789 * gst/autoplug/spidertest.c:
21792 2005-04-25 Wim Taymans <wim@fluendo.com>
21794 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21795 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21796 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
21797 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
21799 Added stubs for unimplemented functions.
21801 2005-04-24 David Schleef <ds@schleef.org>
21803 * gst/gstpad.h: Disable some unimplemented functions. Wim,
21806 2005-04-24 David Schleef <ds@schleef.org>
21808 Convert everything from GstAtomicInt to g_atomic_int_*, and
21813 * gst/gstatomic_impl.h:
21821 * gst/gstdata_private.h:
21825 * gst/gstmessage.c:
21828 * gst/gststructure.c:
21829 * gst/gststructure.h:
21830 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
21833 2005-04-24 David Schleef <ds@schleef.org>
21835 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
21836 make the regressions tests work. Remove some code that is no
21838 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
21839 Disable warning for pads without templates.
21841 2005-04-24 David Schleef <ds@schleef.org>
21843 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
21844 functions that handle filtered links.
21845 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
21847 * gst/gstutils.c: Fix/remove utility functions that handle
21850 * gst/gstvalue.c: Add serialization/deserialization of caps
21851 * gst/parse/grammar.y: Ignore filtered caps when linking. This
21852 requires fixing so that the filter caps notation creates
21853 a capsfilter element and sets the filter_caps property. I
21854 think everyone probably wants to keep the shorthand notation.
21855 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
21856 * docs/gst/tmpl/gstpad.sgml:
21858 * gst/elements/gstelements.c: Register capsfilter element.
21859 * gst/Makefile.am: fix spacing
21860 * docs/random/ds/0.9-suggested-changes: random
21862 2005-04-23 David Schleef <ds@schleef.org>
21864 * gst/elements/Makefile.am:
21865 * gst/elements/gstcapsfilter.c: New element that acts like an
21866 identity, but filters caps. Will eventually replace filtered
21867 caps in pad linking.
21868 * gst/gstutils.c: (gst_element_create_all_pads): New function
21869 to create all the ALWAYS pads that are registered with an
21870 element class. This functionality should eventually be
21871 merged in with GstElement initialization.
21873 * testsuite/trigger/README: part of trigger test code that should
21874 have been checked in a long time ago.
21876 2005-04-23 David Schleef <ds@schleef.org>
21878 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
21879 needed with new versions of libtool (nobody will confirm this),
21880 and hard to carry around.
21881 * gst/autoplug/Makefile.am:
21882 * gst/base/Makefile.am:
21883 * gst/elements/Makefile.am:
21884 * gst/indexers/Makefile.am:
21885 * gst/schedulers/Makefile.am:
21886 * libs/gst/bytestream/Makefile.am:
21887 * libs/gst/control/Makefile.am:
21888 * libs/gst/dataprotocol/Makefile.am:
21889 * libs/gst/getbits/Makefile.am:
21891 2005-04-21 Wim Taymans <wim@fluendo.com>
21893 * docs/design/draft-push-pull.txt:
21894 * docs/design/part-MT-refcounting.txt:
21895 * docs/design/part-TODO.txt:
21896 * docs/design/part-caps.txt:
21897 * docs/design/part-events.txt:
21898 * docs/design/part-gstbus.txt:
21899 * docs/design/part-gstpipeline.txt:
21900 * docs/design/part-messages.txt:
21901 * docs/design/part-push-pull.txt:
21902 * docs/design/part-query.txt:
21905 2005-04-21 Wim Taymans <wim@fluendo.com>
21907 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
21908 (gst_message_new), (gst_message_new_error),
21909 (gst_message_new_warning), (gst_message_new_tag),
21910 (gst_message_new_state_changed), (gst_message_new_application),
21911 (gst_message_get_structure):
21912 * gst/gstmessage.h:
21913 * gst/gststructure.c: (gst_structure_set_parent_refcount),
21914 (gst_structure_copy_conditional):
21915 Use parent refcount in GstMessage to ensure GstStructure
21917 Cleaned up headers a bit.
21920 2005-04-20 Wim Taymans <wim@fluendo.com>
21922 * gst/base/gstbasesink.c: (gst_basesink_base_init),
21923 (gst_basesink_pad_getcaps), (gst_basesink_init),
21924 (gst_basesink_chain_unlocked):
21925 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
21926 (gst_type_find_helper):
21927 * gst/elements/gsttypefindelement.c:
21928 (gst_type_find_element_have_type), (gst_type_find_element_init),
21929 (stop_typefinding), (gst_type_find_element_handle_event),
21930 (find_suggest), (gst_type_find_element_chain),
21931 (gst_type_find_element_checkgetrange),
21932 (gst_type_find_element_getrange), (do_typefind),
21933 (gst_type_find_element_activate):
21934 * gst/gstbuffer.c: (_gst_buffer_sub_free),
21935 (gst_buffer_default_free), (gst_buffer_default_copy),
21936 (gst_buffer_set_caps):
21937 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
21938 (gst_caps_replace):
21939 * gst/gstmessage.c: (gst_message_new),
21940 (gst_message_new_state_changed):
21941 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21942 (gst_pad_set_checkgetrange_function),
21943 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
21944 (gst_pad_set_caps), (gst_pad_check_pull_range),
21945 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
21947 * gst/gsttypefind.c: (gst_type_find_register):
21948 Make gst_caps_replace() work like other _replace() functions.
21949 Use _caps_replace() where possible.
21950 Make sure _message_new() initialises its field.
21951 Add gst_static_pad_template_get_caps()
21954 2005-04-18 Andy Wingo <wingo@pobox.com>
21956 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
21957 on the peer, not the pad. I think that was a typo. Pass an extra
21958 arg to see if random access is possible. Activate the pads as
21959 PULL_RANGE if possible.
21961 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
21963 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
21964 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
21967 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21969 * docs/faq/using.xml:
21970 Add note on gstreamer-properties (#154996).
21972 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21974 * docs/random/bbb/optional-properties:
21975 Some analysis on optional properties.
21977 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21979 * docs/gst/tmpl/gstelementfactory.sgml:
21980 * gst/gstelement.h:
21981 * gst/gstelementfactory.c: (gst_element_factory_init),
21982 (gst_element_factory_cleanup), (gst_element_register),
21983 (__gst_element_factory_add_static_pad_template),
21984 (gst_element_factory_get_static_pad_templates),
21985 (gst_element_factory_can_src_caps),
21986 (gst_element_factory_can_sink_caps):
21987 * gst/registries/Makefile.am:
21988 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
21989 (gst_xml_registry_class_init), (gst_xml_registry_init),
21990 (gst_xml_registry_new), (gst_xml_registry_set_property),
21991 (gst_xml_registry_get_property), (get_time), (make_dir),
21992 (gst_xml_registry_get_perms_func),
21993 (plugin_times_older_than_recurse), (plugin_times_older_than),
21994 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
21995 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
21996 (add_to_char_array), (read_string), (read_uint), (read_enum),
21997 (load_pad_template), (load_feature), (load_plugin), (load_paths),
21998 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
21999 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
22000 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
22001 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
22002 (gst_xml_registry_rebuild):
22003 * gst/registries/gstlibxmlregistry.h:
22004 * tools/gst-compprep.c: (main):
22005 * tools/gst-inspect.c: (print_pad_templates_info):
22006 * tools/gst-xmlinspect.c: (print_element_info):
22007 Use libxml2 for registry parsing, use staticpadtemplates in
22008 elementfactories. Makes gst_init() +/- 10x faster.
22010 2005-04-12 Wim Taymans <wim@fluendo.com>
22012 * gst/base/Makefile.am:
22013 * gst/base/gstbasesink.c: (gst_basesink_base_init),
22014 (gst_basesink_pad_getcaps), (gst_basesink_init),
22015 (gst_basesink_event), (gst_basesink_change_state):
22016 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22017 (gst_basesrc_init), (gst_basesrc_query),
22018 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22019 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22020 (gst_basesrc_check_get_range), (gst_basesrc_loop),
22021 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22022 (gst_basesrc_stop), (gst_basesrc_activate),
22023 (gst_basesrc_change_state):
22024 * gst/base/gsttypefindhelper.c: (helper_find_peek),
22025 (helper_find_suggest), (gst_type_find_helper):
22026 * gst/base/gsttypefindhelper.h:
22027 * gst/elements/Makefile.am:
22028 * gst/elements/gstelements.c:
22029 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22030 (gst_fakesink_get_times), (gst_fakesink_event),
22031 (gst_fakesink_preroll), (gst_fakesink_render):
22032 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22033 (gst_fakesrc_init), (gst_fakesrc_event_handler),
22034 (gst_fakesrc_get_property), (gst_fakesrc_create),
22035 (gst_fakesrc_start), (gst_fakesrc_stop):
22036 * gst/elements/gstfakesrc.h:
22037 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
22038 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22039 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22040 (gst_filesrc_create_read), (gst_filesrc_create),
22041 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
22042 (gst_filesrc_start):
22043 * gst/elements/gsttypefindelement.c:
22044 (gst_type_find_element_have_type), (gst_type_find_element_init),
22045 (start_typefinding), (stop_typefinding), (push_buffer_store),
22046 (gst_type_find_element_handle_event),
22047 (gst_type_find_element_chain),
22048 (gst_type_find_element_checkgetrange),
22049 (gst_type_find_element_getrange), (do_typefind),
22050 (gst_type_find_element_activate),
22051 (gst_type_find_element_change_state):
22052 * gst/elements/gsttypefindelement.h:
22053 * gst/gstpipeline.c: (pipeline_bus_handler):
22054 Added typefind helper.
22055 Small preroll fix in the base sink.
22056 Disable typefind code in basesrc.
22057 Crude port of typefindelement.
22061 2005-04-11 Wim Taymans <wim@fluendo.com>
22063 * check/gst/gstbus.c: (gstbus_suite):
22064 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
22065 * check/gstcheck.h:
22066 Fix up the timeout so that the test does not fail.
22068 2005-04-06 Wim Taymans <wim@fluendo.com>
22071 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22072 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
22073 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22074 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22075 (gst_basesrc_check_get_range), (gst_basesrc_loop),
22076 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22077 (gst_basesrc_stop), (gst_basesrc_activate),
22078 (gst_basesrc_change_state), (basesrc_find_peek),
22079 (basesrc_find_suggest), (gst_basesrc_type_find):
22080 * gst/base/gstbasesrc.h:
22081 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
22082 (gst_filesrc_class_init), (gst_filesrc_init),
22083 (gst_filesrc_finalize), (gst_filesrc_set_location),
22084 (gst_filesrc_set_property), (gst_filesrc_get_property),
22085 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22086 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22087 (gst_filesrc_create_read), (gst_filesrc_create),
22088 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
22089 * gst/elements/gstfilesrc.h:
22090 * gst/gstelement.c: (gst_element_get_state_func),
22091 (gst_element_lost_state), (gst_element_pads_activate):
22092 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22093 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22094 (gst_pad_pull_range):
22096 More work on the generic source base class, implement seeking,
22098 Make filesrc extend the base source class.
22099 Added gst_pad_set_checkgetrange_function to GstPad.
22101 2005-04-06 Andy Wingo <wingo@pobox.com>
22103 * pkgconfig/gstreamer-base.pc.in:
22104 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
22106 * pkgconfig/Makefile.am:
22107 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
22109 2005-04-04 Wim Taymans <wim@fluendo.com>
22111 * gst/base/Makefile.am:
22113 * gst/base/gstbasesink.c: (gst_basesink_base_init),
22114 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22115 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22116 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
22117 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22118 (gst_basesrc_base_init), (gst_basesrc_class_init),
22119 (gst_basesrc_init), (gst_basesrc_get_formats),
22120 (gst_basesrc_get_query_types), (gst_basesrc_query),
22121 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
22122 (gst_basesrc_set_property), (gst_basesrc_get_property),
22123 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
22124 (gst_basesrc_loop), (gst_basesrc_activate),
22125 (gst_basesrc_change_state):
22126 * gst/base/gstbasesrc.h:
22127 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
22128 (gst_fakesrc_class_init), (gst_fakesrc_init),
22129 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
22130 (gst_fakesrc_get_property), (gst_fakesrc_create):
22131 * gst/elements/gstfakesrc.h:
22132 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
22133 (gst_filesrc_open_file), (gst_filesrc_loop),
22134 (gst_filesrc_activate), (filesrc_find_peek),
22135 (gst_filesrc_type_find):
22136 Made base source class, make fakesrc extend it.
22137 Add comments to basesink class.
22138 Some filesrc cleanup.
22140 2005-03-31 David Schleef <ds@schleef.org>
22142 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
22143 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
22144 expected to link against libgstreamer.
22145 * gst/base/Makefile.am: link against libgstreamer
22146 * gst/elements/Makefile.am: same
22148 2005-03-31 Andy Wingo <wingo@pobox.com>
22150 * tests/instantiate/Makefile.am:
22151 * tests/instantiate/caps.c: Add test to test speed of caps copy
22154 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
22155 GMemChunk to be fair.
22157 * gst/gsttrashstack.h: Remove warning about using the fallback
22158 trash stack implementation, it's still faster than malloc.
22160 2005-03-30 Andy Wingo <wingo@pobox.com>
22162 * tests/complexity.c: Add a copyright.
22164 2005-03-31 Wim Taymans <wim@fluendo.com>
22166 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
22167 (gst_base_transform_class_init), (gst_base_transform_init),
22168 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22169 (gst_base_transform_get_property),
22170 (gst_base_transform_sink_activate),
22171 (gst_base_transform_src_activate),
22172 (gst_base_transform_change_state):
22173 * gst/base/gstbasetransform.h:
22174 * gst/elements/gstidentity.c: (gst_identity_class_init),
22175 (gst_identity_event), (gst_identity_check_perfect),
22176 (gst_identity_transform), (gst_identity_start),
22177 (gst_identity_stop):
22178 Added start/stop methods to transform base class so subclasses
22179 don't need to deal with state changes even.
22181 2005-03-31 Wim Taymans <wim@fluendo.com>
22183 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
22184 (gst_event_new_discontinuous), (gst_event_discont_get_value):
22186 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22187 (gst_pad_pull_range):
22188 Added rate to the discont event to prepare for variable speed
22189 and reverse playback.
22191 2005-03-29 David Schleef <ds@schleef.org>
22194 * testsuite/trigger/Makefile.am:
22195 * testsuite/trigger/trigger.c: A little example program to show
22196 how trigger-based elements can work.
22198 2005-03-29 Wim Taymans <wim@fluendo.com>
22200 * gst/base/Makefile.am:
22202 * gst/base/gstbasesink.c: (gst_basesink_get_type),
22203 (gst_basesink_base_init), (gst_basesink_class_init),
22204 (gst_basesink_pad_getcaps), (gst_basesink_init),
22205 (gst_basesink_activate), (gst_basesink_change_state):
22206 * gst/base/gstbasesink.h:
22207 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
22208 (gst_base_transform_base_init), (gst_base_transform_finalize),
22209 (gst_base_transform_class_init), (gst_base_transform_init),
22210 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
22211 (gst_base_transform_event), (gst_base_transform_getrange),
22212 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
22213 (gst_base_transform_set_property),
22214 (gst_base_transform_get_property),
22215 (gst_base_transform_sink_activate),
22216 (gst_base_transform_src_activate),
22217 (gst_base_transform_change_state):
22218 * gst/base/gstbasetransform.h:
22219 * gst/elements/gstidentity.c: (gst_identity_finalize),
22220 (gst_identity_class_init), (gst_identity_init),
22221 (gst_identity_event), (gst_identity_check_perfect),
22222 (gst_identity_transform), (gst_identity_set_property),
22223 (gst_identity_get_property), (gst_identity_change_state):
22224 * gst/elements/gstidentity.h:
22225 * gst/gstelement.c: (gst_element_get_state_func),
22226 (gst_element_lost_state), (gst_element_pads_activate):
22227 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22228 (gst_pad_check_pull_range), (gst_pad_pull_range):
22230 Simplify pad activation.
22231 Added function to check if pull_range can be performed.
22232 Error out when pulling inactive or flushing pads.
22233 Removed const from refcounted types as it does not make sense.
22234 Simplify pad templates in basesink
22235 Added base class for simple 1-to-1 transforms.
22236 Make identity subclass the base transform.
22238 2005-03-29 Andy Wingo <wingo@pobox.com>
22240 * docs/libs/gstreamer-libs-overrides.txt:
22241 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
22242 really don't understand what's going on, but like whatever. I want
22245 * docs/gst/Makefile.am:
22246 * docs/libs/Makefile.am: Dist the overrides files.
22248 * check/Makefile.am (clean-local): Remove .libs directories.
22250 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
22251 elements to EXTRA_DIST, so po/ files are happy.
22253 * po/POTFILES.in: Er, remove it here.
22255 * po/POTFILES: Remove gstspider.c.
22257 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
22259 * docs/libs/gstreamer-libs-docs.sgml:
22260 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
22263 * tests/complexity.c (main): Set the length of the preroll queue
22264 on the sinks to prevent a lockup.
22266 * libs/gst/dataprotocol/Makefile.am:
22267 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
22268 the same as the one in check/gst-libs/gdp.c.
22270 * po/, docs/gst/: Commit automatic changes to docs and po files.
22272 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
22273 the versioned libgstbase.
22275 * check/Makefile.am: Depend on an unversioned gst-register, seems
22276 to make autoconf happier.
22278 * gst/base/Makefile.am: Make libgstbase a versioned lib.
22280 2005-03-28 Wim Taymans <wim@fluendo.com>
22283 * docs/design/part-gstelement.txt:
22284 * docs/design/part-negotiation.txt:
22285 * docs/design/part-preroll.txt:
22286 * docs/design/part-scheduling.txt:
22287 * docs/design/part-states.txt:
22289 * gst/base/Makefile.am:
22291 * gst/base/gstbasesink.c: (gst_basesink_get_template),
22292 (gst_basesink_base_init), (gst_basesink_class_init),
22293 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22294 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22295 (gst_basesink_set_pad_functions),
22296 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
22297 (gst_basesink_set_property), (gst_basesink_get_property),
22298 (gst_base_sink_get_template), (gst_base_sink_get_caps),
22299 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22300 (gst_basesink_preroll_queue_push),
22301 (gst_basesink_preroll_queue_empty),
22302 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22303 (gst_basesink_event), (gst_basesink_get_times),
22304 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22305 (gst_basesink_chain_unlocked), (gst_basesink_chain),
22306 (gst_basesink_loop), (gst_basesink_activate),
22307 (gst_basesink_change_state):
22308 * gst/base/gstbasesink.h:
22309 * gst/elements/Makefile.am:
22310 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22311 (gst_fakesink_class_init), (gst_fakesink_init),
22312 (gst_fakesink_set_property), (gst_fakesink_get_property),
22313 (gst_fakesink_get_times), (gst_fakesink_event),
22314 (gst_fakesink_preroll), (gst_fakesink_render),
22315 (gst_fakesink_change_state):
22316 * gst/elements/gstfakesink.h:
22317 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22318 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22319 * gst/gstelement.c: (gst_element_add_pad),
22320 (gst_element_get_state_func), (gst_element_abort_state),
22321 (gst_element_commit_state), (gst_element_lost_state),
22322 (gst_element_set_state), (gst_element_pads_activate):
22323 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22324 * gst/gstpipeline.c: (gst_pipeline_send_event),
22325 (gst_pipeline_change_state):
22326 Added state change code.
22327 Added/updated docs.
22328 Added sink base class, make fakesink extend the base class.
22329 Small cleanups in GstPipeline.
22331 2005-03-26 David Schleef <ds@schleef.org>
22333 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
22334 is broken and should be implemented in a different library.
22335 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22336 * gst/gst.h: remove gstcpu.h
22337 * gst/gstcpu.c: remove
22338 * gst/gstcpu.h: remove
22339 * gst/Makefile.am.future: Remove this file. It's ancient.
22341 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22343 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22344 (gst_bin_send_event):
22345 Add default event/set_manager handlers. The set_manager handler
22346 takes care that the manager is distributed over kids that were
22347 already in the bin before the manager was set. The event handler
22348 is a utility virtual function that sends the event over all sinks,
22349 so that gst_element_send_event (bin, event); has the expected
22351 * gst/gstpad.c: (gst_pad_event_default):
22352 Re-install default event handling for discontinuities, so that
22353 seeking works without requiring hacks in applications or extra
22355 * gst/gstpipeline.c: (gst_pipeline_class_init),
22356 (gst_pipeline_send_event):
22357 Half hack, half utility: set a pipeline to PAUSED for seek events,
22358 since that is the only way we can guarantee a/v sync. Means that
22359 you can do gst_element_seek (pipeline, method, pos); on a pipeline
22360 and it "just works".
22362 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22364 * gst/gstpipeline.c: (gst_pipeline_use_clock):
22365 Lock/unlock mismatch.
22367 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
22369 * docs/faq/gst-uninstalled:
22370 add gst-plugins-base
22371 * docs/gst/Makefile.am:
22372 don't error out until docs are fixed
22373 * docs/gst/gstreamer.types:
22376 2005-03-22 Wim Taymans <wim@fluendo.com>
22378 * check/Makefile.am:
22379 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22380 * gst/gststructure.c: (gst_structure_set_valist),
22381 (gst_structure_copy_conditional):
22382 Activated more tests.
22383 Added message test.
22384 Added G_TYPE_POINTER to GstStructure.
22387 2005-03-22 Wim Taymans <wim@fluendo.com>
22389 * docs/design/part-TODO.txt:
22390 * docs/design/part-events.txt:
22391 * docs/design/part-gstbin.txt:
22392 * docs/design/part-gstbus.txt:
22393 * docs/design/part-gstpipeline.txt:
22394 * docs/design/part-messages.txt:
22396 * gst/gstmessage.c:
22399 2005-03-21 Wim Taymans <wim@fluendo.com>
22401 * gst/gstbus.c: (gst_bus_post):
22402 Fix copy-and-paste error.
22404 2005-03-21 Wim Taymans <wim@fluendo.com>
22406 * check/Makefile.am:
22408 * gst/elements/Makefile.am:
22409 * gst/elements/gstelements.c:
22410 * gst/elements/gstfakesink.c: (gst_fakesink_init),
22411 (gst_fakesink_event), (gst_fakesink_chain):
22412 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22413 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22414 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22415 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22416 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22417 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22418 (gst_fakesrc_loop), (gst_fakesrc_activate),
22419 (gst_fakesrc_change_state):
22420 * gst/elements/gstfakesrc.h:
22421 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22422 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22423 (gst_filesrc_open_file), (gst_filesrc_loop),
22424 (gst_filesrc_activate), (gst_filesrc_change_state),
22425 (filesrc_find_peek), (filesrc_find_suggest),
22426 (gst_filesrc_type_find):
22427 * gst/elements/gstidentity.c: (gst_identity_finalize),
22428 (gst_identity_class_init), (gst_identity_init),
22429 (gst_identity_proxy_getcaps), (identity_queue_push),
22430 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22431 (gst_identity_getrange), (gst_identity_chain),
22432 (gst_identity_sink_loop), (gst_identity_src_loop),
22433 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22434 (gst_identity_set_property), (gst_identity_get_property),
22435 (gst_identity_change_state):
22436 * gst/elements/gstidentity.h:
22437 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22438 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22439 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22440 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22441 (gst_tee_sink_activate):
22442 * gst/elements/gsttee.h:
22443 * gst/gst.c: (gst_register_core_elements), (init_post):
22445 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22446 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22447 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22448 (gst_bin_change_state):
22450 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22451 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22452 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22453 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22454 (gst_bus_set_sync_handler), (gst_bus_create_watch),
22455 (bus_watch_callback), (bus_watch_destroy),
22456 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22457 (poll_timeout), (gst_bus_poll):
22461 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22462 (gst_element_post_message), (gst_element_message_full),
22463 (gst_element_get_state_func), (gst_element_get_state),
22464 (gst_element_abort_state), (gst_element_commit_state),
22465 (gst_element_lost_state), (gst_element_set_state),
22466 (gst_element_pads_activate), (gst_element_change_state),
22467 (gst_element_dispose), (gst_element_set_manager_func),
22468 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22469 (gst_element_set_manager), (gst_element_get_manager),
22470 (gst_element_set_bus), (gst_element_get_bus),
22471 (gst_element_set_scheduler), (gst_element_get_scheduler):
22472 * gst/gstelement.h:
22473 * gst/gstevent.c: (gst_event_new_segment_seek),
22474 (gst_event_new_flush):
22476 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22477 (_gst_message_free), (gst_message_get_type), (gst_message_new),
22478 (gst_message_new_eos), (gst_message_new_error),
22479 (gst_message_new_warning), (gst_message_new_tag),
22480 (gst_message_new_state_changed), (gst_message_new_application),
22481 (gst_message_get_structure), (gst_message_parse_tag),
22482 (gst_message_parse_state_changed), (gst_message_parse_error),
22483 (gst_message_parse_warning):
22484 * gst/gstmessage.h:
22485 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22486 (gst_real_pad_set_property), (gst_pad_set_active),
22487 (gst_pad_is_active), (gst_pad_set_blocked_async),
22488 (gst_pad_set_blocked), (gst_pad_is_blocked),
22489 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22490 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22491 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22492 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22493 (gst_pad_link_filtered), (gst_pad_relink_filtered),
22494 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22495 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22496 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22497 (gst_pad_set_caps), (gst_pad_configure_sink),
22498 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22499 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22500 (gst_real_pad_dispose), (gst_real_pad_finalize),
22501 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22502 (gst_pad_event_default_dispatch), (gst_pad_event_default),
22503 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22505 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22506 (pipeline_bus_handler), (gst_pipeline_change_state),
22507 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22508 * gst/gstpipeline.h:
22510 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22511 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22512 (gst_queue_link_src), (gst_queue_bufferalloc),
22513 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22514 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22515 (gst_queue_loop), (gst_queue_handle_src_event),
22516 (gst_queue_handle_src_query), (gst_queue_src_activate),
22517 (gst_queue_change_state):
22519 * gst/gstscheduler.c: (gst_scheduler_init),
22520 (gst_scheduler_dispose), (gst_scheduler_create_task),
22521 (gst_scheduler_factory_create):
22522 * gst/gstscheduler.h:
22523 * gst/gststructure.c: (gst_structure_get_type),
22524 (gst_structure_copy_conditional):
22525 * gst/gststructure.h:
22526 * gst/gsttaginterface.h:
22527 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22528 (gst_task_init), (gst_task_dispose), (gst_task_create),
22529 (gst_task_get_state), (gst_task_start), (gst_task_stop),
22535 * gst/schedulers/Makefile.am:
22536 * gst/schedulers/cothreads_compat.h:
22537 * gst/schedulers/entryscheduler.c:
22538 * gst/schedulers/faircothreads.c:
22539 * gst/schedulers/faircothreads.h:
22540 * gst/schedulers/fairscheduler.c:
22541 * gst/schedulers/gstbasicscheduler.c:
22542 * gst/schedulers/gstoptimalscheduler.c:
22543 * gst/schedulers/gthread-cothreads.h:
22544 * gst/schedulers/threadscheduler.c:
22545 (gst_thread_scheduler_task_get_type),
22546 (gst_thread_scheduler_task_class_init),
22547 (gst_thread_scheduler_task_init),
22548 (gst_thread_scheduler_task_start),
22549 (gst_thread_scheduler_task_stop),
22550 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22551 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22552 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22553 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22555 * libs/gst/Makefile.am:
22556 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22557 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22558 (gst_file_pad_parent_set):
22559 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22560 (gst_dp_event_from_packet):
22561 * tests/complexity.c: (main):
22562 * tests/mass_elements.c: (main):
22563 * testsuite/states/locked.c: (message_received), (main):
22564 * testsuite/states/parent.c: (main):
22565 * tools/gst-inspect.c: (print_element_flag_info),
22566 (print_implementation_info), (print_pad_info):
22567 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22569 * tools/gst-md5sum.c: (event_loop), (main):
22570 * tools/gst-typefind.c: (main):
22571 * tools/gst-xmlinspect.c: (print_element_info):
22573 Added GstBus for mainloop integration.
22574 Added GstMessage for sending notifications on the bus.
22575 Added GstTask as an abstraction for pipeline entry points.
22577 Removed Schedulers.
22578 Simplified GstQueue for multithreaded core.
22579 Made _link threadsafe, removed old capsnego.
22580 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22581 Added pad blocking functions.
22582 Reworked scheduling functions in GstPad to prepare for
22583 scheduling updates soon.
22584 Moved events out of data stream.
22585 Simplified GstEvent types.
22586 Added return values to push/pull.
22587 Removed clocking from GstElement.
22588 Added prototypes for state change function for next merge.
22589 Removed iterate from bins and state change management.
22590 Fixed some elements, disabled others for now.
22591 Fixed -inspect and -launch.
22592 Added check for GstBus.
22594 2005-03-10 Wim Taymans <wim@fluendo.com>
22596 * docs/design/part-MT-refcounting.txt:
22597 * docs/design/part-clocks.txt:
22598 * docs/design/part-gstelement.txt:
22599 * docs/design/part-gstobject.txt:
22600 * docs/design/part-standards.txt:
22601 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22602 (gst_bin_remove_func), (gst_bin_remove):
22606 * testsuite/clock/clock1.c: (main):
22607 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22609 * testsuite/dlopen/loadgst.c: (do_test):
22610 * testsuite/refcounting/bin.c: (add_remove_test1),
22611 (add_remove_test2), (main):
22612 * testsuite/refcounting/element.c: (main):
22613 * testsuite/refcounting/element_pad.c: (main):
22614 * testsuite/refcounting/pad.c: (main):
22615 * tools/gst-launch.c: (sigint_handler_sighandler):
22616 * tools/gst-typefind.c: (main):
22618 Added doc about clock.
22619 removed gst_bin_iterate_recurse_up(), marked methods
22621 Fix more testsuites.
22623 2005-03-09 Wim Taymans <wim@fluendo.com>
22625 * gst/gstpad.c: (gst_pad_get_direction),
22626 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22627 (gst_pad_collect_valist):
22628 * testsuite/bins/interface.c: (main):
22629 * testsuite/caps/audioscale.c: (test_caps):
22630 * testsuite/caps/caps.c: (test1), (test2), (test3):
22631 * testsuite/caps/deserialize.c: (main):
22632 * testsuite/caps/enumcaps.c: (main):
22633 * testsuite/caps/filtercaps.c: (main):
22634 * testsuite/caps/intersect2.c: (main):
22635 * testsuite/caps/random.c: (main):
22636 * testsuite/caps/renegotiate.c: (my_fixate), (main):
22637 * testsuite/caps/sets.c: (check_caps):
22638 * testsuite/caps/simplify.c: (check_caps), (main):
22639 * testsuite/caps/subtract.c: (check_caps):
22640 Fix _pad_get_direction wrt ghostpads.
22641 Fix caps testsuite.
22643 2005-03-09 Wim Taymans <wim@fluendo.com>
22645 * check/Makefile.am:
22646 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22647 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22648 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22649 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22650 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22651 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22652 (gst_bin_remove), (gst_bin_iterate_recurse_up),
22653 (bin_element_is_sink), (gst_bin_iterate_sinks),
22654 (gst_bin_iterate_all_by_interface):
22656 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22657 (gst_element_change_state), (gst_element_dispose),
22658 (gst_element_finalize), (gst_element_set_loop_function):
22659 * gst/gstelement.h:
22660 * gst/gstiterator.c: (find_custom_fold_func):
22661 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22662 (gst_pad_collectv), (gst_pad_collect_valist),
22663 (gst_pad_template_new):
22664 * gst/gstpipeline.c: (gst_pipeline_class_init),
22665 (gst_pipeline_dispose), (gst_pipeline_set_property),
22666 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22667 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22668 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22670 * gst/schedulers/entryscheduler.c:
22671 * gst/schedulers/gstbasicscheduler.c:
22672 (gst_basic_scheduler_cothreaded_chain),
22673 (gst_basic_scheduler_chain_add_element):
22674 * testsuite/bins/interface.c: (main):
22676 Added GstSystemClock test.
22677 Implemented clock distribution code in GstBin.
22678 Implemented iterate sinks method for future use.
22679 Rearranged gstelement.h
22680 Fix GstIterator comparison bug.
22681 Moved some code to GstPipeline, mostly clocking related.
22683 2005-03-09 Wim Taymans <wim@fluendo.com>
22686 * gst/gst_private.h:
22687 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22688 (gst_bin_remove_func), (gst_bin_remove),
22689 (gst_bin_get_by_name_recurse_up):
22690 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22691 (gst_clock_id_compare_func), (gst_clock_id_wait),
22692 (gst_clock_id_wait_async), (gst_clock_init),
22693 (gst_clock_adjust_unlocked), (gst_clock_get_time):
22694 * gst/gstelement.h:
22695 * gst/gstinfo.c: (_gst_debug_init):
22697 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22698 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22700 Bump version number, we're now 0.9.0
22701 Add future debugging category.
22702 Fix NULL _unref() in _get_by_name_recurse_up
22703 Rearrange gstpad.h.
22706 2005-03-08 Wim Taymans <wim@fluendo.com>
22708 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22709 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22710 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22711 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22712 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22713 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22714 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22715 * gst/elements/gstidentity.c: (gst_identity_class_init):
22716 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22717 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22718 * gst/elements/gstshaper.c: (gst_shaper_class_init):
22719 * gst/elements/gststatistics.c: (gst_statistics_class_init):
22720 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22722 * gst/gstelement.c: (gst_element_class_init),
22723 (gst_element_base_class_init), (gst_element_init),
22724 (gst_element_get_random_pad), (gst_element_wait_state_change),
22725 (gst_element_change_state), (gst_element_dispose),
22726 (gst_element_finalize), (gst_element_set_loop_function):
22727 * gst/gstelement.h:
22728 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22729 * gst/gstthread.c: (gst_thread_class_init),
22730 (gst_thread_release_children_locks), (gst_thread_change_state):
22731 * gst/schedulers/gstbasicscheduler.c:
22732 (gst_basic_scheduler_loopfunc_wrapper),
22733 (gst_basic_scheduler_chain_wrapper),
22734 (gst_basic_scheduler_src_wrapper),
22735 (gst_basic_scheduler_remove_element):
22736 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22737 Remove threadsafe properties. Fix elements because GObject
22738 complains when installing a property before declaring a
22739 set/get_property handler.
22740 Rearrange gstelement.h file, use STATE macros for state locks.
22741 Free mutexes in the finalize method instead of dispose.
22743 2005-03-08 Wim Taymans <wim@fluendo.com>
22745 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22746 * gst/gstthread.c: (gst_thread_release_children_locks):
22747 Added parentage check.
22748 Fix build og GstThread again.
22750 2005-03-08 Wim Taymans <wim@fluendo.com>
22752 * docs/design/part-MT-refcounting.txt:
22753 * docs/design/part-conventions.txt:
22754 * docs/design/part-gstobject.txt:
22755 * docs/design/part-relations.txt:
22756 * docs/design/part-standards.txt:
22757 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22758 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22759 (gst_bin_get_by_name), (gst_bin_get_by_interface),
22760 (gst_bin_iterate_all_by_interface):
22763 * gst/gstelement.c: (gst_element_class_init),
22764 (gst_element_change_state), (gst_element_set_loop_function):
22765 * gst/gstelement.h:
22766 * gst/gstiterator.c:
22767 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22768 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22769 (gst_object_dispatch_properties_changed), (gst_object_set_name),
22770 (gst_object_set_parent), (gst_object_unparent),
22771 (gst_object_check_uniqueness):
22773 Docs updates, clean up some headers.
22775 2005-03-07 Wim Taymans <wim@fluendo.com>
22777 * check/.cvsignore:
22778 * check/Makefile.am:
22779 * check/gst-libs/.cvsignore:
22780 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
22781 * check/gst/.cvsignore:
22782 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
22783 (START_TEST), (gstbus_suite), (main):
22784 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
22785 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
22786 (gst_data_suite), (main):
22787 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
22788 (add_fold_func), (gstiterator_suite), (main):
22789 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
22790 (thread_name_object), (thread_name_object_default),
22791 (gst_object_name_compare), (gst_object_suite), (main):
22792 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
22793 (gst_pad_suite), (main):
22794 * check/gstcheck.c: (gst_check_log_message_func),
22795 (gst_check_log_critical_func), (gst_check_init):
22796 * check/gstcheck.h:
22797 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
22798 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
22801 2005-03-07 Wim Taymans <wim@fluendo.com>
22803 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22804 (gst_list_iterator_next), (gst_list_iterator_resync),
22805 (gst_list_iterator_free), (gst_iterator_new_list),
22806 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
22807 (gst_iterator_free), (gst_iterator_push), (filter_next),
22808 (filter_resync), (filter_uninit), (filter_free),
22809 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
22810 (gst_iterator_foreach), (find_custom_fold_func),
22811 (gst_iterator_find_custom):
22812 * gst/gstiterator.h:
22813 Added missing files.
22815 2005-03-07 Wim Taymans <wim@fluendo.com>
22819 * docs/design/part-MT-refcounting.txt:
22820 * docs/design/part-conventions.txt:
22821 * docs/design/part-gstobject.txt:
22822 * docs/design/part-relations.txt:
22823 * examples/mixer/mixer.c: (main):
22824 * examples/thread/thread.c: (eos), (main):
22826 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
22827 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
22828 (gst_spider_plug_from_srcpad):
22829 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
22830 (gst_spider_identity_change_state),
22831 (gst_spider_identity_sink_loop_type_finding):
22832 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
22833 * gst/elements/gstidentity.c: (gst_identity_init):
22834 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
22835 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
22836 * gst/elements/gsttypefindelement.c: (free_entry):
22839 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
22840 (gst_bin_set_clock_func), (gst_bin_auto_clock),
22841 (gst_bin_set_index), (gst_bin_set_element_sched),
22842 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
22843 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
22844 (gst_bin_iterate_elements), (iterate_child_recurse),
22845 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
22846 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
22847 (compare_interface), (gst_bin_get_by_interface),
22848 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
22850 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
22851 (gst_buffer_default_free), (gst_buffer_default_copy),
22852 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
22853 (gst_buffer_create_sub):
22855 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
22856 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
22857 (gst_caps_unref), (gst_static_caps_get),
22858 (gst_caps_remove_and_get_structure), (gst_caps_append),
22859 (gst_caps_append_structure), (gst_caps_remove_structure),
22860 (gst_caps_copy_nth), (gst_caps_set_simple),
22861 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
22862 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
22863 (gst_caps_structure_intersect_field), (gst_caps_intersect),
22864 (gst_caps_structure_subtract_field), (gst_caps_subtract),
22865 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
22866 (gst_caps_structure_figure_out_union),
22867 (gst_caps_switch_structures), (gst_caps_do_simplify),
22868 (gst_caps_replace), (gst_caps_from_string),
22869 (gst_caps_copy_conditional):
22871 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
22872 (_gst_clock_id_free), (gst_clock_id_unref),
22873 (gst_clock_id_compare_func), (gst_clock_id_wait),
22874 (gst_clock_id_wait_async), (gst_clock_class_init),
22875 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
22876 (gst_clock_get_time), (gst_clock_set_time_adjust),
22877 (gst_clock_set_property), (gst_clock_get_property):
22880 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
22881 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
22883 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22884 (gst_element_requires_clock), (gst_element_provides_clock),
22885 (gst_element_set_clock), (gst_element_clock_wait),
22886 (gst_element_wait), (gst_element_set_time_delay),
22887 (gst_element_is_indexable), (gst_element_add_pad),
22888 (gst_element_add_ghost_pad), (gst_element_remove_pad),
22889 (pad_compare_name), (gst_element_get_static_pad),
22890 (gst_element_request_pad), (gst_element_get_request_pad),
22891 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
22892 (gst_element_class_get_pad_template_list),
22893 (gst_element_class_get_pad_template), (gst_element_error_func),
22894 (gst_element_get_random_pad), (gst_element_get_event_masks),
22895 (gst_element_send_event), (gst_element_seek),
22896 (gst_element_get_query_types), (gst_element_query),
22897 (gst_element_get_formats), (gst_element_convert),
22898 (gst_element_is_locked_state), (gst_element_set_locked_state),
22899 (gst_element_sync_state_with_parent), (gst_element_change_state),
22900 (gst_element_finalize), (gst_element_yield),
22901 (gst_element_interrupt), (gst_element_set_scheduler),
22902 (gst_element_get_scheduler), (gst_element_set_loop_function):
22903 * gst/gstelement.h:
22905 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
22906 (gst_format_get_by_nick), (gst_format_get_details),
22907 (gst_format_iterate_definitions):
22909 * gst/gstindex.c: (gst_index_gtype_resolver):
22912 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
22913 (gst_mem_chunk_free):
22914 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22915 (gst_object_ref), (gst_object_unref), (gst_object_sink),
22916 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
22917 (gst_object_dispatch_properties_changed),
22918 (gst_object_set_name_default), (gst_object_set_name),
22919 (gst_object_get_name), (gst_object_set_name_prefix),
22920 (gst_object_get_name_prefix), (gst_object_set_parent),
22921 (gst_object_get_parent), (gst_object_unparent),
22922 (gst_object_check_uniqueness), (gst_object_save_thyself),
22923 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
22924 (gst_object_set_property), (gst_object_get_property),
22925 (gst_object_get_path_string):
22927 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22928 (gst_real_pad_init), (gst_real_pad_get_property),
22929 (gst_pad_custom_new), (gst_pad_get_direction),
22930 (gst_pad_set_active), (gst_pad_is_active),
22931 (gst_pad_set_event_function), (gst_pad_is_linked),
22932 (gst_pad_link_free), (gst_pad_link_intersect),
22933 (gst_pad_link_fixate), (gst_pad_set_caps),
22934 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
22935 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
22936 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
22937 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
22938 (gst_pad_get_caps), (gst_pad_peer_get_caps),
22939 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
22940 (gst_pad_realize), (gst_pad_get_allowed_caps),
22941 (gst_real_pad_dispose), (gst_real_pad_finalize),
22942 (gst_pad_collectv), (gst_pad_collect_valist),
22943 (gst_pad_template_dispose), (gst_pad_template_new),
22944 (gst_pad_get_internal_links):
22946 * gst/gstpipeline.c: (gst_pipeline_dispose),
22947 (gst_pipeline_change_state):
22948 * gst/gstpipeline.h:
22950 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
22951 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
22952 * gst/gstpluginfeature.h:
22953 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
22954 * gst/gstquery.c: (_gst_query_type_initialize),
22955 (gst_query_type_register), (gst_query_type_get_by_nick),
22956 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
22958 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
22959 * gst/gstscheduler.c: (gst_scheduler_add_element),
22960 (gst_scheduler_factory_create):
22961 * gst/gststructure.c: (gst_structure_set_parent_refcount),
22962 (gst_structure_free), (gst_structure_set_name),
22963 (gst_structure_id_set_value), (gst_structure_set_value),
22964 (gst_structure_set_valist), (gst_structure_remove_field),
22965 (gst_structure_remove_fields),
22966 (gst_structure_remove_fields_valist),
22967 (gst_structure_remove_all_fields), (gst_structure_foreach),
22968 (gst_structure_map_in_place),
22969 (gst_caps_structure_fixate_field_nearest_int),
22970 (gst_caps_structure_fixate_field_nearest_double):
22971 * gst/gststructure.h:
22972 * gst/gstsystemclock.c: (gst_system_clock_class_init),
22973 (gst_system_clock_init), (gst_system_clock_dispose),
22974 (gst_system_clock_async_thread),
22975 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
22976 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
22977 * gst/gstsystemclock.h:
22978 * gst/gsttag.c: (gst_tag_list_add_value_internal),
22979 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
22980 * gst/gsttaginterface.c:
22981 * gst/gstthread.c: (gst_thread_dispose),
22982 (gst_thread_release_children_locks), (gst_thread_change_state),
22983 (gst_thread_main_loop):
22984 * gst/gsttrashstack.h:
22985 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
22987 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22988 (gst_element_request_pad), (gst_element_get_pad_from_template),
22989 (gst_element_request_compatible_pad),
22990 (gst_element_get_compatible_pad_filtered),
22991 (gst_element_get_compatible_pad), (gst_element_state_get_name),
22992 (gst_element_link_pads_filtered), (gst_element_link_filtered),
22993 (gst_element_link_many), (gst_element_link),
22994 (gst_element_link_pads), (gst_element_unlink_pads),
22995 (gst_element_unlink_many), (gst_element_unlink),
22996 (gst_pad_can_link_filtered), (gst_pad_can_link),
22997 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
22998 (gst_object_default_error), (gst_bin_add_many),
22999 (gst_bin_remove_many), (gst_element_populate_std_props),
23000 (gst_element_class_install_std_props), (gst_buffer_merge),
23001 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
23002 (link_fold_func), (gst_pad_proxy_setcaps):
23004 * gst/gstvalue.c: (gst_value_deserialize_string):
23005 * gst/parse/grammar.y:
23006 * gst/schedulers/gstbasicscheduler.c:
23007 (gst_basic_scheduler_cothreaded_chain),
23008 (gst_basic_scheduler_chain_recursive_add),
23009 (gst_basic_scheduler_pad_link):
23010 * gst/schedulers/gstoptimalscheduler.c:
23011 (get_group_schedule_function),
23012 (gst_opt_scheduler_state_transition),
23013 (gst_opt_scheduler_add_element), (element_get_reachables_func):
23014 * libs/gst/bytestream/bytestream.c:
23015 * libs/gst/dataprotocol/dataprotocol.c:
23016 (gst_dp_header_from_buffer):
23019 * tests/threadstate/threadstate2.c: (eos):
23020 * tools/gst-compprep.c: (main):
23021 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
23022 (print_pad_info), (print_children_info):
23023 * tools/gst-launch.c: (idle_func), (main):
23024 * tools/gst-md5sum.c: (idle_func), (main):
23025 * tools/gst-xmlinspect.c: (print_element_info):
23026 First THREADED backport attempt, focusing on adding locks and
23027 making sure the API is threadsafe. Needs more work. More docs
23030 2005-02-24 Andy Wingo <wingo@pobox.com>
23032 * tests/bench-complexity.scm:
23033 * tests/complexity.gnuplot: New files, good for running complexity
23036 * tests/Makefile.am:
23037 * tests/complexity.c: New test, sets up N elements, at each level
23038 teeing into M streams per element. Eeeenteresting.
23040 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
23041 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
23042 running bench-mass_elements.scm.
23044 * tests/bench-mass_elements.scm: New script, runs mass_elements
23045 for various numbers of identities, outputting the results to a
23046 file. Requires guile 1.6. Just for testing.
23048 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
23050 * gst/schedulers/fairscheduler.c:
23051 compile with debug disabled
23053 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
23056 hunting season on 0.9 is now OPEN