1 2006-10-16 Wim Taymans <wim@fluendo.com>
3 * docs/design/part-trickmodes.txt:
5 Update some docs regarding reverse playback.
7 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
9 Patch by: Marcus Granado <mrc dot gran at gmail com>
11 * win32/vs8/grammar.vcproj:
12 Error out with a warning if glib-genmarshal.exe is not in path,
13 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
15 2006-10-13 Wim Taymans <wim@fluendo.com>
17 * gst/gstsegment.c: (gst_segment_set_seek):
18 When seeking to stop -1, set last_stop (current position) to the
19 duration of the segment.
21 2006-10-13 Wim Taymans <wim@fluendo.com>
24 Clarify _NO_PREROLL a bit more.
29 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
30 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
31 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
32 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
33 due to wrong locking order. Fixes #361769.
34 Remove some redundant/misplaced checks in pad_block.
36 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
37 For negative rates, count backwards from the duration.
39 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
41 * gst/gsterror.c: (_gst_library_errors_init):
42 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
43 up with something better).
45 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
47 * win32/vs6/libgstreamer.dsp:
48 * win32/vs7/libgstreamer.vcproj:
49 * win32/vs8/libgstreamer.vcproj:
50 Don't reference glib-compat.c which is currently not used and not
51 disted; add gstquark.c which was recently added. Fixes #361730.
53 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
55 * win32/common/libgstbase.def:
56 * win32/common/libgstcontroller.def:
57 * win32/common/libgstreamer.def:
58 Add gst_caps_merge() and a bunch of other recently-added functions.
61 2006-10-11 Wim Taymans <wim@fluendo.com>
63 * docs/plugins/gstreamer-plugins.args:
64 * docs/plugins/inspect/plugin-coreelements.xml:
65 * docs/plugins/inspect/plugin-coreindexers.xml:
68 * gst/gstsystemclock.c:
71 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
72 (gst_tee_request_new_pad), (gst_tee_release_pad),
73 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
74 (gst_tee_sink_activate_pull):
75 * plugins/elements/gsttee.h:
77 Add default property defines.
78 Implement release pad function.
79 Give properties better blubs etc.
80 Activate pads before adding them to a running tee.
81 Do simple buffer_alloc on the first requested pad.
82 Post error when activation fails.
84 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
86 * gst/gst.c: (ensure_current_registry_forking):
87 Check return value of write() to make compiler happy.
89 2006-10-11 Wim Taymans <wim@fluendo.com>
91 Patch by: Sjoerd Simons <sjoerd at luon dot net>
93 * plugins/elements/gstqueue.c: (gst_queue_chain):
94 Recheck queue filledness after signalling the overrun when we're about
95 to leak downstream because we released the lock when emitting the signal
96 and the queue could be empty again. Fixes #352345.
98 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
100 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
101 Fix refcounting here too, just like we did for _new_valist() a few
102 days ago (#357180) (thanks to René Stadler). Also remove all those
103 'Since: 0.9' from the gtk-doc blobs.
105 * tests/check/libs/controller.c: (controller_refcount_new_list),
106 (gst_controller_suite):
107 Unit test for the above.
109 2006-10-10 Wim Taymans <wim@fluendo.com>
111 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
113 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
114 (gst_pad_save_thyself):
116 Write pad direction in XML output. Fixes #345496.
118 2006-10-10 Wim Taymans <wim@fluendo.com>
120 Patch by: René Stadler <mail at renestadler dot de>
122 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
123 (gst_controller_new_list), (_gst_controller_dispose),
124 (_gst_controller_finalize), (_gst_controller_class_init):
125 Take ref to controlled object so that it cannot disappear.
128 2006-10-10 Wim Taymans <wim@fluendo.com>
130 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
131 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
132 (gst_check_teardown_sink_pad):
133 Activate/deactivate pads in setup/teardown respectively.
135 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
137 Patch by: Josep Torre Valles <josep@fluendo.com>
140 Cast values when making gstenumtypes.h. This pacifies Forte
141 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
144 2006-10-09 Wim Taymans <wim@fluendo.com>
146 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
147 Rename some more @cur to @start to fix docs.
149 * gst/gstsegment.c: (gst_segment_set_seek):
151 time and start must always stay in sync as defined in design doc.
153 * gst/gsttaglist.c: (gst_tag_list_is_empty):
154 Rename param to fix docs.
156 * tests/check/gst/gstsegment.c: (GST_START_TEST):
157 Check that start and time are in sync.
159 * tests/check/pipelines/parse-launch.c:
160 (gst_parse_test_element_change_state):
161 Activate pad before adding to the element.
163 2006-10-09 Wim Taymans <wim@fluendo.com>
165 * docs/design/part-qos.txt:
170 Update seek event docs regarding negative rates.
171 Rename @cur to @start.
173 * gst/gstsegment.c: (gst_segment_set_seek):
175 Update set_seek docs regarding negative rates.
176 Correctly update last_stop to @stop when dealing with negative
178 Rename @cur to @start.
180 * tests/check/gst/gstpad.c: (GST_START_TEST):
181 Activate pads before trying to use them.
183 * tests/check/gst/gstsegment.c: (GST_START_TEST),
185 Add simple check for segments and negative rates.
187 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
189 * gst/gsttaglist.c: (gst_tag_list_is_empty):
191 * docs/gst/gstreamer-sections.txt:
192 API: add gst_tag_list_is_empty() (#360467).
194 * tests/check/gst/gsttag.c: (GST_START_TEST):
197 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
200 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
201 a value that doesn't fit on enumeration.
203 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
205 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
206 Remove local debugging system and use Gstreamer's instead.
208 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
210 Patch by: Josep Torre Valles <josep@fluendo.com>
212 * common/m4/gst-error.m4:
213 Disable warning of statement not reached on Forte.
215 Fix warning on Forte (value doesn't fit on enumeration).
216 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
217 Fix warning on Forte (value doesn't fit on enumeration).
218 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
219 DEBUG macro says it takes minimum of 2 args and so Forte
220 complains about the use with just 1 arg.
221 * plugins/elements/gstfdsink.c:
222 * plugins/elements/gstfdsrc.c:
223 * plugins/elements/gstfilesink.c:
224 * plugins/elements/gstfilesrc.c:
225 Use correct return type for the uri handler implementations.
227 All these fix warnings in Forte. Fixes bug #360860.
229 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
232 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
233 format string, so don't use G_GNUC_PRINTF for those versions.
235 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
237 * gst/gsttaglist.c: (gst_is_tag_list):
239 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
241 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
242 Small test for the above.
244 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
247 Less tabs, more spaces.
249 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
252 Those two function declarations do actually belong there, revert
253 commit from yesterday that turned them intro macros.
255 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
257 Patch by: Josep Torre Valles <josep@fluendo.com>
259 * gst/gst.c: (gst_init_get_option_group):
260 Fix empty declaration and type mismatch.
261 * gst/gstbin.c: (gst_bin_change_state_func):
263 * gst/gstelement.c: (gst_element_continue_state),
264 (gst_element_set_state_func), (gst_element_change_state),
265 (gst_element_change_state_func):
267 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
268 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
270 * gst/gstobject.c: (gst_class_signal_connect):
271 Cast as appropriate. The function pointer parameter really
272 has the wrong type but would break API if we change it.
274 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
275 order of including string.h.
276 * gst/gstutils.c: (gst_element_state_get_name):
277 Remove unreachable line.
278 * gst/gstxml.c: (gst_xml_parse_doc):
280 All these caught by Forte.
282 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
284 Patch by: Josep Torre Valles <josep@fluendo.com>
286 * common/m4/gst-error.m4:
288 We need to disable warnings on Forte for empty declarations
289 due to gst-indent adding ;s to lines that just use macros
290 where the macro actually doesn't need a ; at end to end
293 2006-10-06 Wim Taymans <wim@fluendo.com>
295 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
296 (gst_file_sink_close_file), (gst_file_sink_event),
297 (gst_file_sink_render):
298 Add some FIXME for the NEWSEGMENT handling.
300 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
302 * gst/parse/grammar.y:
303 Remove static function gst_parse_element_lock as all it does
304 is return. Looks like cruft from 0.8.
306 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
308 Patch by: Josep Torre Valles <josep@fluendo.com>
310 * common/m4/gst-error.m4:
312 * libs/gst/net/Makefile.am:
313 Fix a compilation issue with Forte on Solaris. inet_aton is in
316 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
318 * gst/gstpad.c: (pre_activate):
319 * gst/gstregistry.c: (gst_registry_scan_path_level):
320 * gst/gstregistryxml.c: (load_plugin):
321 * libs/gst/controller/gstcontroller.c:
322 (gst_controlled_property_set_interpolation_mode):
323 * libs/gst/dataprotocol/dataprotocol.c:
324 (gst_dp_packet_from_event_1_0):
325 * libs/gst/net/gstnetclientclock.c:
326 (gst_net_client_clock_observe_times):
327 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
330 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
333 * docs/gst/gstreamer-sections.txt:
334 * gst/gstconfig.h.in:
337 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
338 whether we can use G_GNUC_PRINTF in other header files and at
339 least check the printf format/arguments of debug messages and
340 GST_ELEMENT_ERROR messages when the printf extension is not
342 Replace more tabs with spaces in gstinfo.h and remove two spurious
343 function declarations in GST_DISABLE_DEBUG part with macros.
345 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
347 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
348 More docs for the sync-message signal (mention that it is not
349 emitted by default); log message structures of messages posted on
352 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
354 * gst/gst.c: (ensure_current_registry_forking):
355 Use a pipe pair to receive status results from the forked child, and
356 ignore the result from waitpid. Fixes #355499
358 2006-10-02 Wim Taymans <wim@fluendo.com>
360 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
361 (gst_ghost_pad_suite):
364 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
367 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
369 2006-10-02 Edward Hervey <edward@fluendo.com>
371 * docs/design/part-block.txt:
372 Further explain the use of flushing on blocked pads.
373 * docs/gst/gstreamer-sections.txt:
374 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
375 (gst_pad_push_event):
377 Added new GstPadFlag : GST_PAD_BLOCKING.
378 Adds the notion of pads really blocking, which enables to properly
379 handle FLUSH_START/FLUSH_STOP events on blocked pads.
381 API: gst_pad_is_blocking()
382 API: GST_PAD_IS_BLOCKING() macro
383 API: GST_PAD_BLOCKING GstPadFlag
385 2006-10-02 Wim Taymans <wim@fluendo.com>
387 Patch by: mrcgran <mrc.gran at gmail dot com>
389 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
390 Filter the proxied caps against the padtemplate if we have one.
392 * gst/gstquery.c: (gst_query_new_segment):
393 Add include for gstinfo.h so that compilation with
394 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
396 2006-10-02 Wim Taymans <wim@fluendo.com>
398 Patch by: Alessandro Decina <alessandro at nnva org>
400 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
401 (gst_file_sink_set_location), (gst_file_sink_open_file),
402 (gst_file_sink_close_file), (gst_file_sink_event),
403 (gst_file_sink_render):
404 Set file to NULL when closing filesink so that we can set a new filename
405 in READY. Fixes #358613.
407 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
409 Patch by: Alessandro Decina <alessandro at nnva org>
411 * gst/gstevent.c: (_gst_event_copy):
412 Fix gst_mini_object_make_writable() and gst_event_copy() for events
413 with event structures by setting the parent refcount address of the
414 copied structure to the address of the refcount member of the newly
415 copied event rather than the address of the refcount member of the
416 original event. Fixes #358737.
418 * tests/check/gst/gstevent.c: (GST_START_TEST):
419 Unit test for the above.
421 2006-09-29 Stefan Kost <ensonic@users.sf.net>
423 * docs/design/Makefile.am:
424 Dist some more files.
426 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
428 * tests/check/libs/controller.c: (GST_START_TEST),
429 (gst_controller_suite):
430 Add test for the previous fix; add some more tests
431 for correct refcounting behaviour; fix a few leaks
432 in test cases; call gst_controller_init() at start
435 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
437 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
438 (gst_controller_set_from_list):
439 Don't g_return_val_if_fail() on timed values with invalid timestamps
440 inside a critical section without unlocking the mutex. Spotted by
441 René Stadler. (#357617)
442 Also, fix up refcounting properly: when returning an existing
443 controller, we should increase the reference only once and not
444 once per property and when trying to control a property again
445 we should also increase the refcount.
447 2006-09-29 Wim Taymans <wim@fluendo.com>
449 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
450 * libs/gst/net/gstnettimeprovider.c:
451 (gst_net_time_provider_thread):
452 Stop reading commands when EOF as well.
454 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
455 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
456 * plugins/elements/gstidentity.c: (gst_identity_class_init):
457 Unify description of the dump property.
459 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
461 * tests/examples/manual/.cvsignore:
462 OK, so it's actually cvsignore that needs changing. Stop laughing.
464 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
466 * tests/examples/manual/Makefile.am:
467 Gah, declare vars *before* using them
469 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
471 * gst/gst.c: (init_pre), (scan_and_update_registry),
472 (ensure_current_registry_nonforking),
473 (ensure_current_registry_forking), (ensure_current_registry),
474 (init_post), (gst_debug_help), (gst_deinit):
476 * gst/gstregistry.c: (gst_registry_finalize),
477 (gst_registry_remove_features_for_plugin_unlocked),
478 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
479 (gst_registry_scan_path),
480 (_priv_gst_registry_remove_cache_plugins),
481 (_priv_gst_registry_cleanup):
483 Re-commit the registry changes, along with an extra fix:
484 When a cached plugin is encountered at a different file path,
485 update the stored path in the registry cache so that the parent
486 process knows where it actually is now when it re-reads the registry
487 cache. Fixes the thing that broke distcheck with the previous commit.
489 * tests/check/Makefile.am:
490 Clean up files named 'core' too when running make clean.
492 * tests/examples/manual/Makefile.am:
493 Set up a registry path for running these tests, and clean it properly
496 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
499 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
500 want gmodule-no-export-2.0.pc instead so that we don't drag in
501 --export-dynamic on every project that links to GStreamer.
503 Also, make our export regex only match the start of symbols, rather
504 than any symbol that contains '_gst' somewhere.
506 * libs/gst/check/Makefile.am:
507 The libgstcheck we build does however need export-dynamic, as it
508 produces some symbols that don't match our _gst... style regex.
511 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
513 * gst/gst.c: (init_pre), (scan_and_update_registry),
514 (ensure_current_registry_nonforking),
515 (ensure_current_registry_forking), (ensure_current_registry),
516 (init_post), (gst_debug_help), (gst_deinit):
518 * gst/gstregistry.c: (gst_registry_finalize),
519 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
520 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
521 (_gst_registry_cleanup):
523 Revert previous change until I figure out why it breaks distcheck.
525 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
527 * gst/gst.c: (init_pre), (scan_and_update_registry),
528 (ensure_current_registry_nonforking),
529 (ensure_current_registry_forking), (ensure_current_registry),
530 (init_post), (gst_debug_help), (gst_deinit):
532 Make init_pre and init_post take the full complement of GOptionFunc
533 args so they can return useful GErrors. Make the registry updating
536 Call _priv_gst_registry_remove_cache_plugins after scanning files to
537 ensure that the registry we're about to write out doesn't contain
538 stale information about old-deleted plugin files.
540 Make _priv_gst_registry_remove_cache_plugins return a boolean so
541 that deletion of plugin files is considered a registry change.
544 * gst/gstregistry.c: (gst_registry_finalize),
545 (gst_registry_remove_features_for_plugin_unlocked),
546 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
547 (gst_registry_scan_path),
548 (_priv_gst_registry_remove_cache_plugins),
549 (_priv_gst_registry_cleanup):
551 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
552 by adding _priv prefix, so that they won't appear in the global
553 symbol table. They still do atm though because of #318031. Move the
554 prototypes to gst_private.h
556 When removing a plugin, remove all features for that plugin too.
559 2006-09-27 Wim Taymans <wim@fluendo.com>
561 * docs/random/moving-plugins:
562 Make it clear that the "compiled-in descriptions" really mean
565 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
566 (gst_base_sink_wait_preroll):
569 * docs/libs/gstreamer-libs-sections.txt:
570 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
571 (gst_base_src_get_range), (gst_base_src_activate_push):
572 * libs/gst/base/gstbasesrc.h:
573 Added function to block while waiting for PLAYING, this function
574 is used by live sources that block on the clock.
575 API: gst_base_src_wait_playing()
577 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
579 Patch by: Peter Kjellerstedt <pkj at axis com>
582 gst-element-check.m4 is generated and should therefore be
583 copied from the build dir rather than the source dir (#357593).
584 'make distcheck' hasn't noticed this because we were disting
585 the file as well, so stop doing that.
587 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
589 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
590 Add some tests for gst_caps_intersect().
592 * tools/gst-launch.c: (event_loop):
593 Print all buffering percentages we get, even the 100% one.
595 2006-09-26 Wim Taymans <wim@fluendo.com>
597 * tools/gst-inspect.c: (print_element_properties_info),
599 Fix printing of flags to match the look of enums.
601 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
603 * gst/gstelementfactory.c:
604 Fix typo in docs blurb.
606 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
608 * gst/gsturi.c: (search_by_entry):
609 Don't assert/crash here if a uri handler doesn't return any
610 supported protocols. The list of protocols could be generated
611 dynamically at runtime or at plugin registration, and an error
612 in the underlying library shouldn't be fatal (#353301).
614 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
617 Fix warning if HAVE_PRINTF_EXTENSION is undefined
618 (spotted by Peter Kjellerstedt).
620 2006-09-23 Wim Taymans <wim@fluendo.com>
622 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
624 * libs/gst/base/gstbasesrc.c:
625 (gst_base_src_default_check_get_range), (gst_base_src_start),
626 (gst_base_src_activate_push), (gst_base_src_activate_pull),
627 (gst_base_src_change_state):
628 Match _start/_stop calls in the activate functions. Remove redundant
629 _stop call from the state change function. Fixes #356910.
630 Turn failure DEBUG into ERROR.
632 2006-09-22 Wim Taymans <wim@fluendo.com>
634 * docs/design/part-buffering.txt:
635 * gst/gstmessage.c: (gst_message_new_buffering),
636 (gst_message_parse_buffering):
637 Update docs about buffering.
639 * docs/design/part-trickmodes.txt:
642 2006-09-22 Stefan Kost <ensonic@users.sf.net>
644 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
645 (gst_controller_new_list):
646 Ref instances when returning them again (fixes #357180)
648 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
650 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
651 Don't forget to release proxy lock when there's an error.
653 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
656 Add extra initialisers for Caps things, to fix some plugin warnings
659 2006-09-18 Wim Taymans <wim@fluendo.com>
661 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
662 Also set template on the internal pad so that a getcaps from the
663 target pad returns the template caps.
665 2006-09-18 Wim Taymans <wim@fluendo.com>
667 * gst/gstelement.c: (gst_element_post_message),
668 (gst_element_dispose):
669 Use _DEBUG_OBJECT some more.
671 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
674 * tools/gst-launch.c: (main):
675 If the toplevel element is not a GstPipeline, it must be put in a
676 pipeline so that a bus and clock is selected.
678 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
680 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
681 JITTER, RATE, and LATENCY query should be handled by the
682 default case and not by the CONVERT query code.
684 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
686 * gst/gstformat.c: (gst_format_register):
687 Fix locking order (must take lock before using n_values).
689 * gst/gstvalue.c: (gst_value_serialize_enum),
690 (gst_value_deserialize_enum_iter_cmp),
691 (gst_value_deserialize_enum):
692 Fix serialisation/deserialisation of custom registered GstFormats.
694 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
695 Unit test for custom format serialisation/deserialisation.
697 2006-09-17 Stefan Kost <ensonic@users.sf.net>
699 * docs/pwg/building-boiler.xml:
700 * plugins/elements/gstcapsfilter.c:
701 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
704 2006-09-16 Edward Hervey <edward@fluendo.com>
706 * libs/gst/base/gstbasetransform.c:
707 (gst_base_transform_buffer_alloc):
708 Check if requested caps are the same as the sinks caps IF
709 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
711 This fixes the renegotiation issues stated in #352827.
713 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
716 * docs/manual/advanced-autoplugging.xml:
717 * tests/examples/Makefile.am:
718 * tests/examples/manual/.cvsignore:
719 * tests/examples/manual/Makefile.am:
720 * tests/examples/manual/extract.pl:
721 Extract the manual examples again like we used to do.
724 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
726 * win32/common/config.h:
729 2006-09-16 Stefan Kost <ensonic@users.sf.net>
732 Documents how to receive errors.
734 2006-09-15 Wim Taymans <wim@fluendo.com>
736 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
737 (event_loop), (main):
738 Added some comments here and there.
739 Post an application message when an interrupt is caught instead of doing
740 an uncontrolled state change.
741 Clean up the event loop.
742 Handle buffering messages, pause/resume the pipeline.
743 Make shutdown because of an interrupt more reliable.
745 2006-09-15 Wim Taymans <wim@fluendo.com>
747 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
748 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
749 (gst_base_sink_preroll_object):
750 Make sure that our internal state is correct when we commit our state
751 asynchronously. This solves a race where a state change to PLAYING
752 could cause the sink to remain blocked in preroll in some situations.
754 2006-09-15 Wim Taymans <wim@fluendo.com>
756 * tools/gst-inspect.c: (print_element_properties_info),
758 List flags as hex so it's easier to deal with.
760 2006-09-15 Wim Taymans <wim@fluendo.com>
762 * docs/libs/gstreamer-libs-sections.txt:
763 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
764 (gst_base_sink_do_sync):
765 * libs/gst/base/gstbasesink.h:
766 Expose logic to wait for preroll so that subclasses such as audiosink
767 can also use this method.
768 API: gst_base_sink_wait_preroll()
770 2006-09-15 Wim Taymans <wim@fluendo.com>
772 * gst/gstobject.c: (gst_object_set_parent):
773 * gst/gstpipeline.c: (do_pipeline_seek):
774 Small cleanups in docs and code.
776 * gst/gstsegment.c: (gst_segment_clip):
777 * tests/check/gst/gstsegment.c: (GST_START_TEST):
778 if stop == start and start is in the segment, no clipping should be
779 done. Also add a test for this.
781 2006-09-15 Wim Taymans <wim@fluendo.com>
783 * docs/design/part-buffering.txt:
784 * docs/gst/gstreamer-sections.txt:
785 * gst/gstmessage.c: (gst_message_new_buffering),
786 (gst_message_parse_buffering):
788 Added methods to create and parse BUFFERING messages.
789 Added preliminary docs about buffering.
790 API: gst_message_new_buffering
791 API: gst_message_parse_buffering
793 2006-09-06 Wim Taymans <wim@fluendo.com>
796 Update documentation.
798 * gst/gstelement.c: (gst_element_class_init),
799 (gst_element_release_request_pad), (gst_element_set_clock),
800 (gst_element_get_index), (gst_element_add_pad),
801 (gst_element_remove_pad), (gst_element_get_random_pad),
802 (gst_element_send_event), (gst_element_get_query_types),
803 (gst_element_query), (gst_element_post_message),
804 (gst_element_message_full), (gst_element_continue_state),
805 (gst_element_lost_state), (gst_element_save_thyself),
806 (gst_element_restore_thyself):
807 Documentation updates.
808 Rename last bit of the new-pad -> pad-added signal rename.
809 Fix the case where an element query would only work if the source
811 Avoid some useless type checking in message handling.
816 Documentation updates.
818 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
820 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
821 add an INFO line for when we actually update the fd
823 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
828 === release 0.10.10 ===
830 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
833 releasing 0.10.10, "Pais"
835 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
837 * docs/manual/advanced-position.xml:
838 Fix typo in sample code.
840 2006-09-05 Wim Taymans <wim@fluendo.com>
842 * libs/gst/net/gstnetclientclock.c: (inet_aton),
843 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
844 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
845 * libs/gst/net/gstnetclientclock.h:
846 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
847 * libs/gst/net/gstnettimepacket.h:
848 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
849 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
850 (gst_net_time_provider_thread), (gst_net_time_provider_new):
851 * libs/gst/net/gstnettimeprovider.h:
852 Make stuff compile on windows. Fixes #345295.
854 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
856 * gst/gst.c: (ensure_current_registry_forking):
857 Print better details when child was terminated by signal.
859 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
861 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
862 Print a warning rather than g_assert() if a plugin feature
863 is a URI handler but returns no protocols (#353976).
865 2006-09-02 Stefan Kost <ensonic@users.sf.net>
867 * docs/random/moving-plugins:
870 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
872 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
873 Fix locking order, handle NULL function values properly.
878 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
879 Initialise variable before using it and fix debug statement to
880 print the address of the function rather than the address of the
881 variable on the stack holding the address of the function.
883 2006-09-01 Wim Taymans <wim@fluendo.com>
885 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
886 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
887 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
888 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
889 (gst_ghost_pad_parent_unset),
890 (gst_ghost_pad_internal_do_activate_push),
891 (gst_ghost_pad_internal_do_activate_pull),
892 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
893 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
894 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
895 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
896 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
897 (gst_ghost_pad_new_no_target_from_template),
898 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
900 Avoid needless typechecking in macros.
901 Since the internal pad is always present and never changes, there is
902 no need to locking or ref when retrieving it.
903 Improve debugging a bit.
904 Handle link errors when setting the target. Fixes #341029.
906 2006-09-01 Wim Taymans <wim@fluendo.com>
908 * docs/libs/gstreamer-libs-sections.txt:
909 * docs/plugins/gstreamer-plugins-sections.txt:
912 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
913 (gst_collect_pads_event):
914 * libs/gst/base/gstcollectpads.h:
915 Documentation updates.
916 Free queued buffer when removing a pad.
918 2006-08-31 Michael Smith <msmith@fluendo.com>
920 * gst/gstutils.c: (gst_element_link_pads),
921 (gst_element_link_pads_filtered):
922 Ensure that we set a capsfilter to NULL if we failed to link it
923 when doing filtered linking, to avoid criticals.
925 No need to check for unreffing srcpad, which is explicly NULLed
926 above (a trivial code cleanup).
928 2006-08-31 Wim Taymans <wim@fluendo.com>
930 * docs/design/part-gstghostpad.txt:
931 Update ascii art in documentation.
933 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
934 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
935 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
936 (gst_ghost_pad_internal_do_activate_push),
937 (gst_ghost_pad_internal_do_activate_pull),
938 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
939 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
940 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
941 (gst_ghost_pad_set_target):
942 Small cleanups and leak fixes.
943 Remove some checks now that the internal pad is never NULL.
944 Fix the case where linking pads without a target would create nasty
945 criticals. Fixes #341029.
946 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
947 value of _set_target().
949 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
950 (gst_ghost_pad_suite):
951 Some more tests for creating and linking untargeted ghostpads.
953 2006-08-31 Edward Hervey <edward@fluendo.com>
955 * docs/gst/gstreamer-sections.txt:
956 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
957 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
958 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
959 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
960 (gst_ghost_pad_new_from_template),
961 (gst_ghost_pad_new_no_target_from_template):
963 Refactored *_new() functions.
964 Templates are now used as a g_object_new() parameter.
965 Use template in _do_getcaps() if we don't have a target.
966 Small documentation cleanups.
967 Added two new constructors:
968 gst_ghost_pad_new_from_template()
969 gst_ghost_pad_new_no_target_from_template()
970 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
971 (gst_ghost_pad_suite):
972 Added tests for new ghostpad instanciation functions.
974 API additions: gst_ghost_pad_new_from_template,
975 gst_ghost_pad_new_no_target_from_template
977 2006-08-30 Stefan Kost <ensonic@users.sf.net>
979 * docs/random/ensonic/profiling.txt:
980 Ideas about qos profiling.
982 2006-08-29 Wim Taymans <wim@fluendo.com>
984 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
988 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
991 Improve and detypofy docs.
993 * tests/check/Makefile.am:
994 * tests/check/gst/.cvsignore:
995 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
996 Add a basic test suite for GstXML.
998 2006-08-29 Wim Taymans <wim@fluendo.com>
1000 * gst/gstelement.c: (activate_pads), (clear_caps),
1001 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1002 Clear the pad caps when the element shut down all of the pads and
1003 is not streaming data that could modify the caps.
1006 2006-08-28 Michael Smith <msmith@fluendo.com>
1008 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1009 Revert previous change; I misunderstood single-segment mode.
1011 2006-08-28 Michael Smith <msmith@fluendo.com>
1013 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1014 Unset DISCONT on buffers when using single-segment mode.
1016 2006-08-28 Wim Taymans <wim@fluendo.com>
1018 * gst/gstcaps.c: (gst_caps_merge_structure):
1020 Fix docs and indentation again.
1022 * tests/check/gst/gstquery.c: (GST_START_TEST):
1023 Fix leak in tests and add some more tests.
1025 2006-08-28 Edward Hervey <edward@fluendo.com>
1027 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1028 Inform GstSegment of the last stop position in order for the current
1029 segment to have a proper duration if it doesn't have a specific stop
1030 position from which a duration could be calculated.
1031 This bug was noticeable when a non-flushing, non-update new segment was
1032 followed by another segment (all buffers from the new segment were being
1035 2006-08-28 Wim Taymans <wim@fluendo.com>
1037 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1038 Small comment update.
1040 * plugins/elements/gstidentity.c: (gst_identity_class_init),
1041 (gst_identity_transform_ip):
1042 Drop-probability is broken, mention this in the code with a
1043 FIXME and also in the property description.
1044 Make silent also be silent about the drop messages.
1046 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
1048 * docs/manual/appendix-win32.xml:
1049 Remove mention of popt, we don't depend on that any
1050 longer (#353136). Add some comments pointing out that
1051 this section is slightly outdated.
1053 2006-08-28 Wim Taymans <wim@fluendo.com>
1055 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
1057 * gst/gstquery.c: (gst_query_new_segment):
1058 * tests/check/gst/gstquery.c: (GST_START_TEST):
1059 Initialize variables when creating a new segment query.
1062 2006-08-28 Wim Taymans <wim@fluendo.com>
1064 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
1066 * gst/gstelement.c: (gst_element_get_bus):
1067 * tests/check/gst/gstelement.c: (GST_START_TEST):
1068 Check for NULL before _reffing the bus. Fixes #353122.
1070 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
1072 * docs/manual/basics-bus.xml:
1073 Docs update: fix wrong callback return value explanation; add
1074 some lines about the implicit relationship between main loop
1075 and main context; remove duplicate main loop variable declaration.
1077 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
1079 * tests/check/gst/gstcaps.c: (GST_START_TEST):
1080 Don't leak caps in unit test; add a few more simple
1083 2006-08-24 Stefan Kost <ensonic@users.sf.net>
1085 * docs/gst/gstreamer-sections.txt:
1086 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
1087 (gst_caps_structure_is_subset), (gst_caps_merge),
1088 (gst_caps_merge_structure):
1090 * libs/gst/base/gstbasetransform.c:
1091 (gst_base_transform_transform_caps):
1092 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
1093 implement caps merging (fixes #352580)
1095 2006-08-23 Stefan Kost <ensonic@users.sf.net>
1097 * tools/Makefile.am:
1098 * tools/gst-plot-timeline.py:
1099 add debug-log plotting developer tool (#340674)
1101 2006-08-23 Wim Taymans <wim@fluendo.com>
1103 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
1104 (gst_pad_stop_task):
1105 Improve debugging for task functions.
1107 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
1108 (gst_task_start), (gst_task_pause), (gst_task_join):
1109 Make sure that the task function started and finished after a
1111 Don't try to push the task function on the threadpool multiple
1113 Improve the g_warning message with some useful suggestions
1114 about how to fix the problem.
1116 2006-08-23 Wim Taymans <wim@fluendo.com>
1118 * gst/gstutils.c: (gst_pad_proxy_getcaps):
1119 Handle RESYNC correctly in _proxy_getcaps.
1121 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
1123 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
1124 (gst_xml_parse_memory), (gst_xml_get_element):
1125 Chain up to parent class in dispose function and also
1126 unref the elements in the toplevel_elements GList.
1127 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
1128 Always return a reference in gst_xml_get_element() rather
1129 than only sometimes.
1131 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1132 Don't leak GstXml object.
1134 2006-08-21 Stefan Kost <ensonic@users.sf.net>
1136 * docs/gst/gstreamer-sections.txt:
1137 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
1140 * libs/gst/base/gstbasetransform.c:
1141 (gst_base_transform_transform_caps):
1142 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
1145 2006-08-21 Edward Hervey <edward@fluendo.com>
1147 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
1148 Implement GObject::dispose virtual method in GstXML so we can free the
1151 2006-08-21 Wim Taymans <wim@fluendo.com>
1153 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
1154 (gst_buffer_create_sub):
1155 Copy duration/offset_end/caps when creating a subbuffer of the
1157 Make the subbuffer read-only when we make the metadata writable for
1160 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1161 Added check for metadata copy when creating subbuffers.
1163 2006-08-21 Edward Hervey <edward@fluendo.com>
1165 * libs/gst/base/gstbasetransform.c:
1166 (gst_base_transform_buffer_alloc):
1167 Only call downstream buffer_alloc if transform element is passthrough
1168 or always_in_place. Closes #350449.
1170 2006-08-20 Stefan Kost <ensonic@users.sf.net>
1173 ChangeLog surgery to add comments to previous changes
1175 2006-08-20 Stefan Kost <ensonic@users.sf.net>
1180 * gst/gstpad.c: (gst_pad_set_active):
1181 Be more verbose in the log
1183 * libs/gst/base/gstbasetransform.c:
1184 (gst_base_transform_transform_caps):
1185 Simplify caps to get rid of duplicates, fixes #345444
1187 2006-08-20 Stefan Kost <ensonic@users.sf.net>
1191 Use these optimizations only internally.
1193 2006-08-20 Stefan Kost <ensonic@users.sf.net>
1195 * gst/gstvalue.c: (gst_value_compare_list),
1196 (gst_value_compare_fraction_range),
1197 (gst_value_intersect_fraction_fraction_range),
1198 (gst_value_intersect_fraction_range_fraction_range),
1199 (gst_value_subtract_fraction_fraction_range),
1200 (gst_value_subtract_fraction_range_fraction_range),
1201 (gst_value_get_compare_func), (gst_value_compare),
1202 (gst_value_compare_with_func):
1204 Saves the expensive lookup of the compare function in many cases
1207 2006-08-18 Edward Hervey <edward@fluendo.com>
1209 * tests/check/gst/gstinfo.c: (gst_info_suite):
1210 Disable test that require gstdebug if it wasn't built in core.
1212 2006-08-18 Stefan Kost <ensonic@users.sf.net>
1214 * docs/random/ensonic/logging.txt:
1217 * gst/gstinfo.c: (gst_debug_log_default):
1218 reorder fields, save some columns, add optional color codes for log
1221 2006-08-18 Stefan Kost <ensonic@users.sf.net>
1223 * docs/random/ensonic/logging.txt:
1224 add ideas about making the logs a bit more useful
1226 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
1228 * docs/pwg/advanced-events.xml:
1229 * docs/pwg/titlepage.xml:
1230 Update for 0.10 API (#340627). Add myself
1233 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
1235 * docs/libs/gstreamer-libs-docs.sgml:
1236 * docs/libs/gstreamer-libs-sections.txt:
1237 * libs/gst/check/gstbufferstraw.c:
1238 Make gstcheck stuff show up in docs (still needs to
1239 be documented properly though).
1241 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
1243 * docs/gst/gstreamer-sections.txt:
1245 * gst/gst.c: (init_post):
1246 * gst/gst_private.h:
1247 * gst/gstquark.c: (_priv_gst_quarks_initialize):
1249 * gst/gstquery.c: (gst_query_new_position),
1250 (gst_query_set_position), (gst_query_parse_position),
1251 (gst_query_new_duration), (gst_query_set_duration),
1252 (gst_query_parse_duration), (gst_query_new_convert),
1253 (gst_query_set_convert), (gst_query_parse_convert),
1254 (gst_query_new_segment), (gst_query_set_segment),
1255 (gst_query_parse_segment), (gst_query_new_seeking),
1256 (gst_query_set_seeking), (gst_query_parse_seeking):
1257 Add internal helpers for pre-registering quarks from static strings
1258 and using the quark values directly instead of looking them up when
1259 creating and parsing queries. Can be used for event construction too.
1262 2006-08-16 Wim Taymans <wim@fluendo.com>
1267 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
1269 * gst/gstutils.c: (gst_util_set_value_from_string):
1270 Fix memleak (#351502).
1272 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1273 Add unit test for most of gst_util_set_value_from_string()
1274 (not that one would want to encourage use of this function).
1276 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
1278 * libs/gst/check/gstcheck.h:
1279 Use const gchar * variables in fail_unless_equals_string
1280 macro to avoid compiler warnings (and don't use tabs for
1283 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
1285 * tools/gst-launch.c: (print_tag):
1286 More space on the left for the tag names, to cater
1287 for the 'extended comment' tag (not touching the
1288 string for the first line since it's translated).
1290 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
1292 * libs/gst/check/gstcheck.h:
1293 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
1294 print something when they fail.
1296 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
1298 * docs/gst/gstreamer-sections.txt:
1299 * gst/gsttaglist.c: (_gst_tag_initialize):
1301 API: add GST_TAG_EXTENDED_COMMENT (#350935).
1302 Also change merge function for GST_TAG_COMMENT to
1305 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
1307 * gst/gstinfo.c: (gst_debug_print_object):
1308 Make GST_PTR_FORMAT print messages as well.
1310 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
1311 (GST_START_TEST), (gst_info_suite):
1314 2006-08-14 Edward Hervey <edward@fluendo.com>
1316 * gst/gstelementfactory.c: (gst_element_register):
1317 If the GstElementClass doesn't have a GstElementDetails with all fields
1318 filled up correctly (longname, description AND author), then error out
1319 nicely instead of crashing.
1321 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
1323 * gst/gststructure.c:
1324 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
1327 Expand on the difference between arrays and lists as we use them.
1329 2006-08-14 Wim Taymans <wim@fluendo.com>
1331 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1332 If the parent state change function failed, don't assume we can safely
1333 stop the source, this will be done when the pads are deactivated.
1335 2006-08-14 Wim Taymans <wim@fluendo.com>
1338 * gst/gsttask.c: (gst_task_join):
1341 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1342 (gst_pad_stop_task):
1343 When pad (de)activation failed for some reason, restore the old
1344 activation mode and set the pad to flushing instead of assuming the
1346 If the _task_join() failed, reinstall the task on the pad so that it can
1347 be stopped later and return an error.
1349 2006-08-11 Andy Wingo <wingo@pobox.com>
1352 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1353 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
1354 is only for users of API that don't want to see deprecated
1355 functions in the headers; people that want to compile out
1356 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
1357 CFLAGS. Fixes the build of multifdsink, or will soon..
1359 2006-08-11 Wim Taymans <wim@fluendo.com>
1361 * docs/gst/gstreamer-sections.txt:
1362 Add GstClockClass vmethod docs.
1365 Mark #endif with comment for associated #if
1367 * gst/gstclock.c: (gst_clock_id_wait):
1369 Add vmethod wait_jitter to avoid an unneeded _get_time() for
1370 most clock implementations.
1372 Flesh out docs about resolution methods.
1373 API: GstClockClass::wait_jitter
1375 * gst/gstsystemclock.c: (gst_system_clock_class_init),
1376 (gst_system_clock_async_thread),
1377 (gst_system_clock_id_wait_jitter_unlocked),
1378 (gst_system_clock_id_wait_jitter):
1379 Use base class wait_jitter variant for improved performance
1380 due to less clock polling.
1382 2006-08-11 Edward Hervey <edward@fluendo.com>
1384 * gst/gst.c: (gst_init_check), (init_post):
1385 Set gst as being initialized before scanning/updating the registry,
1386 since there might be my python plugin loader that calls gst_init() and
1387 we don't want to loop back in.
1390 2006-08-11 Wim Taymans <wim@fluendo.com>
1392 * docs/design/part-qos.txt:
1393 Bring docs in line with the code. Mostly the sign of the jitter was
1394 wrong in the docs. Fixes #349943.
1397 Fix the docs for the jitter.
1399 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
1400 (gst_event_parse_tag), (gst_event_new_buffer_size),
1401 (gst_event_parse_buffer_size), (gst_event_parse_qos),
1402 (gst_event_new_seek), (gst_event_parse_seek),
1403 (gst_event_new_navigation):
1404 Make sure the GstStructure has no parent when creating custom
1406 Add some more argument checking so that we avoid 0.0 rates.
1407 Flesh out the docs for the QoS event some more.
1409 2006-08-11 Wim Taymans <wim@fluendo.com>
1411 * docs/gst/gstreamer-sections.txt:
1412 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1413 (ensure_current_registry_forking), (ensure_current_registry),
1414 (parse_one_option), (parse_goption_arg), (gst_deinit),
1415 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
1418 Added API and command line option to disable registry forking in
1419 addition to the environment variable.
1420 Constify some static arrays.
1421 Added some more debug.
1423 API: gst_registry_fork_is_enabled()
1424 API: gst_registry_fork_set_enabled()
1425 API: --gst-disable-registry-fork command line option
1428 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
1430 * gst/gst.c: (gst_init):
1431 Fix typo in error message.
1433 2006-08-10 Stefan Kost <ensonic@users.sf.net>
1435 * libs/gst/controller/gstcontroller.h:
1436 fix ABI size-correction
1438 * tests/check/libs/gdp.c: (gst_dp_suite):
1439 make tests that use deprecated API conditional
1441 2006-08-10 Stefan Kost <ensonic@users.sf.net>
1443 * docs/libs/gstreamer-libs-sections.txt:
1444 * libs/gst/controller/gstcontroller.c:
1445 (_gst_controller_get_property), (_gst_controller_set_property),
1446 (_gst_controller_init), (_gst_controller_class_init):
1447 * libs/gst/controller/gstcontroller.h:
1448 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
1449 (gst_object_set_control_rate):
1450 API: add gst_object_{s,g}et_control_rate(), add private data section,
1453 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1454 * libs/gst/dataprotocol/dataprotocol.h:
1455 add deprecation guards to make gtk-doc happy and allow disabling cruft
1457 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
1459 * tests/check/Makefile.am:
1460 * tests/check/gst/.cvsignore:
1461 Let's enable the new unit test as well.
1463 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
1466 * docs/gst/gstreamer-sections.txt:
1467 * gst/gstconfig.h.in:
1468 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
1469 (_gst_info_printf_extension_ptr),
1470 (_gst_info_printf_extension_segment):
1471 API: add GST_SEGMENT_FORMAT, which is a printf extension we
1472 register that lets us easily dump GstSegments into debug
1475 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
1476 (info_segment_format_printf_extension), (gst_info_suite):
1477 Add simple unit test that logs a bunch of different segments (not
1478 valgrinded at the moment because of leaks in
1479 gst_debug_add_log_function).
1481 2006-08-09 Edward Hervey <edward@fluendo.com>
1483 * libs/gst/base/gstbasetransform.c:
1484 (gst_base_transform_buffer_alloc):
1485 Even if we can't figure out the proper format to request downstream,
1486 call buffer_alloc() downstream with the input parameters without setting
1487 the caps on the srcpad. This will force negotiation in the chain
1491 2006-08-08 Edward Hervey <edward@fluendo.com>
1493 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
1494 Unlinking from a pad without a target is now a perfectly valid case
1495 which should NOT raise an assertion.
1496 This case would happen if a linked ghostpad its target set to NULL after
1497 it was previously linked.
1499 2006-08-08 Edward Hervey <edward@fluendo.com>
1501 * tests/check/libs/gdp.c:
1502 Also comment out the test (see below).
1504 2006-08-08 Edward Hervey <edward@fluendo.com>
1506 * tests/check/libs/gdp.c: (gst_dp_suite):
1507 Use the architecture information from config.h and not gcc macros
1508 in order to properly disable a test that fails on PPC64.
1510 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
1512 * gst/gstelement.c: (gst_element_remove_pad):
1513 Don't crash printing the warning if the pad has no parent.
1515 2006-08-02 Wim Taymans <wim@fluendo.com>
1517 * libs/gst/dataprotocol/dataprotocol.c:
1518 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1519 (gst_dp_crc), (gst_dp_header_payload_length),
1520 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
1521 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
1522 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
1523 (gst_dp_event_from_packet), (gst_dp_validate_header),
1524 (gst_dp_validate_payload):
1525 Make debug category static
1526 Constify the crc table.
1527 Do some more arg checking in public functions.
1528 Fix some docs and do some small cleanups.
1530 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
1531 Add some more checks to see if GDP deals with bogus input.
1533 2006-07-31 Wim Taymans <wim@fluendo.com>
1535 * gst/gstvalue.c: (gst_value_compare_list):
1536 Fix GstValueList comparison code. Fixes #347293.
1538 * tests/check/gst/gstvalue.c: (GST_START_TEST):
1539 Check to test GstValueList comparison.
1541 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
1543 * gst/gstelementfactory.c: (gst_element_factory_create):
1544 Remove unnecessary ref/unref pair
1546 * gst/parse/grammar.y:
1547 Make sure to free the parse buffer on all code paths.
1548 Move a g_free up to the error handler where it's easier to see.
1550 * tests/check/gst/gstevent.c: (test_event):
1551 Extending timeout for downstream travelling events to 10 seconds to
1552 hopefully avoid intermittent failure on the buildbots.
1554 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
1555 Don't manually set the state of the src element - it will happen as a
1556 natural consequence of the pipeline changing state, and that way it
1557 will do it in the right order too.
1559 2006-07-31 Wim Taymans <wim@fluendo.com>
1561 * libs/gst/base/gstbasetransform.c:
1562 (gst_base_transform_buffer_alloc):
1563 Use OBJECT_LOCK and refcounting to get the pad caps in the
1564 buffer_alloc function because the caps could change while we are
1565 busy with them. Fixes #349105
1567 2006-07-31 Wim Taymans <wim@fluendo.com>
1569 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
1570 Protect _PAD_CAPS with OBJECT_LOCK.
1572 2006-07-31 Wim Taymans <wim@fluendo.com>
1574 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
1575 (gst_pad_get_property), (gst_pad_activate_pull),
1576 (gst_pad_activate_push), (gst_pad_set_blocked_async),
1577 (gst_pad_set_activate_function),
1578 (gst_pad_set_activatepull_function),
1579 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
1580 (gst_pad_set_getrange_function),
1581 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
1582 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1583 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
1584 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
1585 (gst_pad_set_acceptcaps_function),
1586 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
1587 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
1588 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
1589 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
1590 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
1591 (gst_pad_configure_sink), (gst_pad_configure_src),
1592 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
1593 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
1594 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
1595 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
1596 (gst_pad_send_event):
1597 Use _DEBUG_OBJECT when it makes sense.
1598 Protect GST_PAD_CAPS with the OBJECT_LOCK.
1599 Small cleanups and code reflows.
1600 Avoid caps refcounting in _accept_caps.
1601 Refactor alloc_buffer so that the code performed on the peer is in a
1602 separate function. Also if the pad does not implement a buffer alloc
1603 function, we should still check if the pad is flushing before falling
1604 back to the default allocator.
1606 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
1608 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1609 Make all uses of identity and fakesink have silent=true to avoid
1610 serialising every passing data structure, which is breaking tests
1611 on FC4 for some unknown reason.
1613 2006-07-30 Stefan Kost <ensonic@users.sf.net>
1615 * gst/parse/Makefile.am:
1616 * gst/parse/grammar.y:
1617 * gst/parse/parse.l:
1618 Reverted previous patch as it required to bump the flex dependency to
1619 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
1621 2006-07-30 Stefan Kost <ensonic@users.sf.net>
1623 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
1625 * gst/parse/Makefile.am:
1626 * gst/parse/grammar.y:
1627 * gst/parse/parse.l:
1628 push & pop the state of the lexer for reentrant use case
1631 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
1633 * libs/gst/base/gstbasesrc.h:
1634 Note in the docs that the ::newsegment vfunc is not actually used by
1637 2006-07-28 Wim Taymans <wim@fluendo.com>
1639 * libs/gst/base/gstcollectpads.c:
1640 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
1641 (gst_collect_pads_clear), (gst_collect_pads_flush),
1642 (gst_collect_pads_event), (gst_collect_pads_chain):
1643 When flushing a pad, also clear the queued buffer so that we don't
1644 accidentally use it when we shouldn't.
1645 Fix leaks by inreffing incomming buffer.
1646 Flush out queued buffers in case of errors.
1649 2006-07-28 Wim Taymans <wim@fluendo.com>
1651 * docs/random/phonon-gst:
1652 Random notes about a Phonon backend.
1654 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
1656 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1658 * tests/check/libs/gdp.c: (gst_dp_suite):
1659 Take a whack at fixing the ppc compile using a different define to
1660 disable the broken test.
1662 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1663 Remove excess g_print()
1665 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
1667 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1668 Oops, meant to uncomment this line too to dampen the noise a bit.
1670 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
1672 * gst/parse/grammar.y:
1673 * gst/parse/parse.l:
1674 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1675 (GST_START_TEST), (parse_suite):
1676 Fix some of the leaks exposed by extending the parse-launch testsuite,
1677 and move the 3 I can't figure out into a separate test that won't run
1678 the pipelines unless the appropriate line is uncommented.
1680 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
1682 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1683 Requesting 0 bytes before the end of the file should result in
1684 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
1687 2006-07-27 Wim Taymans <wim@fluendo.com>
1689 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
1690 Fix useless assert, a uint is always positive.
1692 * gst/gststructure.c: (gst_structure_nth_field_name),
1693 (gst_structure_foreach), (gst_structure_map_in_place):
1694 Check input arguments for public functions to avoid obvious crashes.
1696 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
1697 * plugins/elements/gstfakesink.h:
1698 Do less useless typechecking.
1700 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
1702 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1703 Do not use mmap() by default since there are a number of error
1704 conditions that we would like to handle in a non-fatal way that
1705 will result in a SIGBUS if we use mmap(). Examples: external
1706 devices (USB harddrive, portable music player) being unplugged
1707 while in use; file on mounted CD/DVD that can't be read because
1708 the medium is partly damaged. Fixes #348455 and #348475.
1710 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
1713 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
1716 2006-07-26 Stefan Kost <ensonic@users.sf.net>
1718 * gst/gstregistry.c:
1719 Move big documentation comment into class section header, so that it
1720 appears in the API docs.
1722 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
1724 * docs/gst/gstreamer-sections.txt:
1725 Oops. Commit the docs additions too for new API.
1726 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
1728 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
1730 * gst/gststructure.c: (gst_structure_id_set),
1731 (gst_structure_id_set_valist):
1732 * gst/gststructure.h:
1733 Add API for setting values into structures without performing
1734 a quark lookup, if the appropriate quark is already known.
1736 API: gst_structure_id_set
1737 API: gst_structure_id_set_valist
1739 * gst/parse/grammar.y:
1740 * gst/parse/parse.l:
1741 Remove some dead code shown by the coverage information.
1742 Don't throw a critical g_warning when encountering a syntax error,
1743 just warn and let the normal error path handle it.
1745 * plugins/elements/gstelements.c:
1746 Bump the rank of filesink up to PRIMARY so that it is preferred over
1747 gnomevfssink for file:// sink uri's
1749 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1750 (GST_START_TEST), (run_delayed_test),
1751 (gst_parse_test_element_base_init),
1752 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
1753 (gst_parse_test_element_change_state),
1754 (gst_register_parse_element), (parse_suite):
1755 Beef up the tests for parse syntax to check that more error cases
1756 fail as they are supposed to. Increases the test coverage a bit.
1758 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
1760 * docs/manual/basics-elements.xml:
1761 Fix gst_element_link() example.
1764 Mention in API docs that one should usually gst_bin_add()
1765 elements to a bin or pipeline before doing the linking.
1767 2006-07-26 Wim Taymans <wim@fluendo.com>
1769 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
1770 (gst_subbuffer_get_type), (gst_buffer_create_sub):
1771 Avoid function call for known types by keeping the buffer and
1772 subbuffer GType global.
1774 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1775 Random silly optimisations in read() path.
1777 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
1779 * tools/gst-launch.c: (main):
1780 If the top-level of the parse is a normal bin, it doesn't do the
1781 right logic to run as a top-level element, so place it inside a
1784 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
1786 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
1787 Remove superfluous g_object_notify() calls, GObject does
1788 that for us automatically.
1790 2006-07-25 Stefan Kost <ensonic@users.sf.net>
1793 on Win32, use dllspec to export the debug category symbols
1795 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
1797 * gst/gsttaglist.c: (_gst_tag_initialize):
1798 Allow more than one GST_TAG_IMAGE per taglist.
1800 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
1802 * gst/gstminiobject.c:
1804 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
1805 (gst_fd_src_create):
1806 log recurring events at LOG level
1807 add more debug for when the fd gets set
1809 2006-07-21 Stefan Kost <ensonic@users.sf.net>
1811 * gst/gstparse.c: (gst_parse_launch):
1812 Also remove reentrance checks if flex is MT safe (#348179)
1813 Fix my empty ChangeLog entry below
1815 2006-07-21 Andy Wingo <wingo@pobox.com>
1817 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
1819 * libs/gst/check/Makefile.am
1820 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
1821 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
1822 * libs/gst/check/gstbufferstraw.h:
1823 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
1824 functions, thus proving I am still a GStreamer haxor. OK I wrote
1825 them a long time ago, but anyways.
1827 2006-07-21 Stefan Kost <ensonic@users.sf.net>
1830 * gst/gstparse.c: (gst_parse_launch):
1831 Check for flex version and omit mutex if we have a MT save flex
1834 2006-07-21 Wim Taymans <wim@fluendo.com>
1836 * gst/gstparse.c: (gst_parse_launch):
1837 Protect recursive calls to _parse with a recursive mutex
1840 2006-07-21 Wim Taymans <wim@fluendo.com>
1842 * tests/check/gst/gstpad.c: (GST_START_TEST):
1845 2006-07-20 Stefan Kost <ensonic@users.sf.net>
1847 * gst/gstparse.c: (gst_parse_launch):
1848 Do not hang on recursive usage of gst_parse_launch()
1850 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
1853 Add some more docs, comments and FIXME 0.11s here and there
1854 and also fix some typos.
1856 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
1859 Convert tabs to spaces for better readability.
1861 2006-07-20 Edward Hervey <edward@fluendo.com>
1863 * tests/check/libs/gdp.c: (gst_dp_suite):
1864 the test_buffer test fails at line 140 on ppc64 at the following
1866 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
1867 GST_BUFFER_FLAG_IN_CAPS),
1868 "GST_BUFFER_IN_CAPS flag should have been copied !");
1869 See bug #348114 for more details.
1871 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
1873 * docs/pwg/advanced-scheduling.xml:
1875 Fix typos (#348000).
1877 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
1879 * docs/pwg/intro-basics.xml:
1880 Fix wrong links (#347927).
1882 2006-07-18 Stefan Kost <ensonic@users.sf.net>
1884 * gst/gstregistry.h:
1885 * gst/gstregistryxml.c: (load_feature),
1886 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1887 * win32/common/config.h:
1888 make --disable-index work (#342564)
1890 2006-07-18 Wim Taymans <wim@fluendo.com>
1892 Patch by: Peter Kjellerstedt <pkj at axis dot com>
1896 The attached patch adds two missing defines to gsttrace.h when tracing
1897 is disabled. It also corrects one existing define.
1900 2006-07-17 Wim Taymans <wim@fluendo.com>
1902 * docs/gst/gstreamer-sections.txt:
1903 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
1905 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
1906 Add two functions to check and change the SIGSEGV behaviour
1907 when loading plugins.
1908 Don't mess with the SIGSEGV handler when we were told not to.
1910 API: gst_segtrap_is_enabled
1911 API: gst_segtrap_set_enabled
1913 2006-07-14 Wim Taymans <wim@fluendo.com>
1915 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1916 * tests/check/elements/filesrc.c: (GST_START_TEST):
1917 Revert fix for regression in #347408 after release.
1919 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
1921 Patch by: Antoine Tremblay <hexa00 at gmail com>
1923 * gst/gstutils.c: (gst_element_unlink):
1924 Free iterator when done (#347311).
1926 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1927 And add a test case for this.
1929 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
1932 Bump nano back to CVS
1934 === release 0.10.9 ===
1936 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
1939 releasing 0.10.9, "On the road again"
1941 2006-07-13 Wim Taymans <wim@fluendo.com>
1943 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1944 * tests/check/elements/filesrc.c: (GST_START_TEST):
1945 Revert pull-0 fix for release. Disable check. Fixes #347408.
1947 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
1949 * libs/gst/dataprotocol/dataprotocol.c:
1950 (gst_dp_event_from_packet_1_0):
1951 Fixes #347337: failure to deserialize event packets with
1952 empty payload (only event type)
1954 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
1957 do not install a .c file in the header directory
1959 2006-07-13 Edward Hervey <edward@fluendo.com>
1961 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1962 GhostPad no longer implicitely use the padtemplates of the targets.
1965 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
1967 * gst/gstvalue.c: (gst_value_compare_list),
1968 (gst_value_compare_array), (_gst_value_initialize):
1969 * tests/check/gst/gstvalue.c: (GST_START_TEST):
1970 Make GstValueArray comparison be order dependent as designed.
1971 Add checks for value lists and value array comparisons.
1974 2006-07-11 Edward Hervey <edward@fluendo.com>
1976 * gst/gstbin.c: (activate_pads),
1977 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
1978 (gst_bin_change_state_func):
1979 (de)activate src pads before calling state_change on the childs.
1980 This is to avoid the case where a src ghostpad is blocked (holding the
1981 stream lock), which would block the deactivation of the ghostpad's
1983 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
1984 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
1985 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
1986 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1987 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1988 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1989 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
1990 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
1991 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
1992 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
1993 (gst_ghost_pad_class_init),
1994 (gst_ghost_pad_internal_do_activate_push),
1995 (gst_ghost_pad_internal_do_activate_pull),
1996 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1997 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1998 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
1999 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
2000 GhostPads now create their internal GstProxyPad at creation (and not
2001 when they're linked, as it was being done previously).
2002 The internal and target pads are linked straight away.
2003 The data will also travel through the other pad in order to make
2004 pad blocking and probes non-hackish (the probe/block now really happens
2005 on the GhostPad and not on the target).
2006 * gst/gstpad.c: (gst_pad_set_blocked_async),
2007 (gst_pad_link_prepare), (gst_pad_push_event):
2008 Remove previous ghostpad cruft.
2009 * gst/gstutils.c: (gst_pad_add_data_probe),
2010 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2011 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2012 (gst_pad_remove_buffer_probe):
2013 Remove previous ghost pad cruft.
2014 Added more detailed debug statements.
2015 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2016 Fix the testsuite for refcounting changes.
2017 The comments about who has references were correct, but the refcount
2018 being checked wasn't the same (!?!).
2022 2006-07-10 Stefan Kost <ensonic@users.sf.net>
2024 * docs/gst/gstreamer-sections.txt:
2025 * gst/gstconfig.h.in:
2026 More docs for configuration options, add docs to gtk-doc.
2028 2006-07-10 Stefan Kost <ensonic@users.sf.net>
2031 * gst/gstconfig.h.in:
2032 * win32/common/config.h:
2033 Fix build when disabling tracing (fixes #344016). Also start to document
2034 the defines that disable the sub-systems.
2036 2006-07-10 Edward Hervey <edward@fluendo.com>
2038 * gst/gst.c: (ensure_current_registry_forking):
2039 let's make valgrind happy...
2041 2006-07-09 Wim Taymans <wim@fluendo.com>
2043 * gst/gstelement.c: (activate_pads),
2044 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
2045 Better pad activation code: Reset the collect value too on resync.
2048 2006-07-09 Wim Taymans <wim@fluendo.com>
2050 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
2051 (gst_pad_activate_push):
2052 Use some more macros where it makes sense.
2053 Allow pad mode switching instead of asserting. When a pad
2054 is activated in one mode and we activate it in another,
2055 deactivate it first before activating it in a different mode.
2058 2006-07-08 Andy Wingo <wingo@pobox.com>
2060 * tools/gst-launch.c (main): Handle err == NULL.
2062 * gst/gst.c (init_post, ensure_current_registry)
2063 (ensure_current_registry_forking)
2064 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
2065 factoring out the registry scanning into separate functions. Don't
2066 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
2067 Better environment var name/interface suggestions accepted.
2069 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
2071 * gst/gstobject.c: (gst_object_set_name_default),
2072 (gst_object_set_name):
2073 Random micro-optimisation: don't use a hash table
2074 with strings as keys and the usual strdup/strcmp
2075 involved, but rather just use the GQuark of the
2076 type name as key, since it needs to be looked up
2077 anyway to get the type name string.
2079 * tests/check/gst/gstobject.c: (GST_START_TEST):
2082 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
2084 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
2085 (gst_bin_iterate_all_by_interface):
2086 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
2087 GTypes are gulongs and thus the top 4 bytes might be cut
2088 off on some platforms when doing GPOINTER_TO_INT, leading
2089 to invalid GTypes and bad things happening (see RH bug #179654).
2090 Also add a check to make sure the type passed in is really
2093 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
2098 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
2102 * gst-element-check.m4:
2103 * gst-element-check.m4.in:
2104 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
2105 instead of the unversioned gst-inspect (#324176, #168659).
2107 2006-07-06 Wim Taymans <wim@fluendo.com>
2110 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
2113 2006-07-06 Wim Taymans <wim@fluendo.com>
2115 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2116 (gst_base_src_wait), (gst_base_src_update_length),
2117 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
2118 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
2119 (gst_base_src_loop), (gst_base_src_start),
2120 (gst_base_src_activate_pull):
2122 blocksize == 0 now means the default blocksize when working in push
2124 Remove some pointless asserts in _wait function.
2125 Fix offset/length calculations and EOS handling. We can now pull 0
2126 bytes as well, which is allowed.
2127 use _check_get_range() to decide if we can operate in _pull based
2129 Fix refcounting leak when check_get_range function was not
2131 API GstBaseSrc::blocksize range can be 0 too now (default)
2133 * tests/check/elements/filesrc.c: (GST_START_TEST),
2135 Added check to test _get_range() behaviour.
2137 2006-07-06 Wim Taymans <wim@fluendo.com>
2139 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2140 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
2141 (gst_pad_pull_range):
2143 Lots of comments and docs added to the pad functions.
2144 Flesh out the expected behaviour of the get_range() functions.
2146 2006-07-06 Wim Taymans <wim@fluendo.com>
2151 * gst/gstiterator.h:
2155 Remove comma at end of enumerator list.
2157 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
2159 * win32/common/libgstbase.def:
2160 * win32/common/libgstdataprotocol.def:
2161 * win32/common/libsgtreamer.def:
2162 Add new exported functions.
2164 2006-07-05 Wim Taymans <wim@fluendo.com>
2166 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
2167 Add some more docs here and there.
2169 2006-07-05 Wim Taymans <wim@fluendo.com>
2171 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
2172 (gst_base_sink_loop), (gst_base_sink_get_position):
2173 When operating in pull mode update the offset so that we
2176 2006-07-05 Wim Taymans <wim@fluendo.com>
2178 * gst/gstregistryxml.c: (read_string):
2179 Avoid strdup. (will happen in libxml, but hey!)
2184 2006-07-05 Wim Taymans <wim@fluendo.com>
2186 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
2187 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2189 No point in checking if the size of the subbuffer > 0, the
2190 code handles it correclty as demonstrated by unit test.
2191 Also add a unit test for the zero sized _new_and_alloc and
2192 _copy. Fixes #346663.
2194 2006-07-05 Wim Taymans <wim@fluendo.com>
2196 * libs/gst/base/gstbasetransform.c:
2197 (gst_base_transform_prepare_output_buffer),
2198 (gst_base_transform_buffer_alloc),
2199 (gst_base_transform_handle_buffer):
2200 Make sure the buffer we pass to transform_ip has a refcount of
2201 1 and thus is writable. Fixes #343196
2203 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
2205 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2206 (gst_file_src_init), (gst_file_src_set_property),
2207 (gst_file_src_get_property), (gst_file_src_map_region):
2208 * plugins/elements/gstfilesrc.h:
2209 Add "sequential" property, off by default, to use madvise and hint
2210 to the kernel that sequential access is desired.
2211 Touch all retrieved pages by default to ensure they are pulled
2212 into memory. (Closes #345720)
2214 2006-07-03 Wim Taymans <wim@fluendo.com>
2216 * docs/design/part-block.txt:
2217 * docs/design/part-dynamic.txt:
2220 2006-07-03 Wim Taymans <wim@fluendo.com>
2222 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
2223 (gst_caps_unref), (gst_static_caps_get),
2224 (gst_caps_append_structure):
2225 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
2226 Use GSlice when the glib we build against is >= 2.10
2228 2006-07-03 Wim Taymans <wim@fluendo.com>
2230 * gst/gstelement.c: (gst_element_pads_activate):
2231 Small cleanup in pad activation code.
2233 2006-07-03 Wim Taymans <wim@fluendo.com>
2235 Patch by: Peter Kjellerstedt <pkj at axis dot com>
2237 * gst/gst-i18n-app.h:
2238 * gst/gst-i18n-lib.h:
2239 * tools/gst-inspect.c: (print_signal_info):
2240 The attached patch will make the inclusion of gettext.h unconditional in
2241 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
2242 libintl.h in tools/gst-inspect.c.
2243 This allows use of --disable-nls again and fixes #344642.
2245 2006-07-03 Edward Hervey <edward@fluendo.com>
2247 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
2248 Implement pad blocking on events according to part-block.txt.
2249 More comments on behaviour.
2250 * tests/check/gst/gstevent.c: (test_event):
2251 Send event to peer pad of blocked pad (else it will block).
2253 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
2255 * libs/gst/check/gstcheck.c: (gst_check_message_error),
2256 (gst_check_run_suite):
2257 if we get the wrong message, give us the types as string
2258 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2260 * tests/check/elements/filesrc.c: (GST_START_TEST):
2261 add a test for trying to open a non-existing file
2263 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
2265 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2266 add a test for adding self
2268 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
2270 * libs/gst/check/gstcheck.h:
2271 add some assert_ as alias for fail_unless_*
2272 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
2273 increase test coverage
2275 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2278 include lcov.mak for lcov coverage generation
2279 * tools/Makefile.am:
2282 2006-07-02 Edward Hervey <edward@fluendo.com>
2284 * tests/check/elements/.cvsignore:
2287 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2290 don't set CFLAGS and friends for gcov, done from GST_GCOV now
2291 * tests/check/Makefile.am:
2294 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2296 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
2297 remove gst_caps_simplify; it was not declared and not used
2298 and deprecated in 0.8
2300 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2302 * docs/faq/gst-uninstalled:
2303 don't put empty paths on PYTHONPATH
2304 * docs/gst/gstreamer-sections.txt:
2305 remove some symbols that are not there
2307 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2309 * gst/gstcaps.c: (gst_caps_compare_structures):
2311 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2312 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
2315 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2317 * libs/gst/dataprotocol/Makefile.am:
2318 build dataprotocol test by linking to the lib, instead of
2319 compiling the source, so we get coverage
2320 * tests/check/Makefile.am:
2321 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
2322 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
2323 add a test for filesrc
2325 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2327 * tests/check/gst/gststructure.c: (GST_START_TEST),
2328 (gst_structure_suite):
2329 Push coverage from 59.04% to 70.00%
2331 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2333 * tests/check/Makefile.am:
2334 gst-inspect every element; this makes sure that we also get
2335 coverage on element's get/set functions
2337 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2340 set CFLAGS and friends to -O0 if gcov is being used
2343 * libs/gst/base/Makefile.am:
2344 * libs/gst/check/Makefile.am:
2345 * libs/gst/controller/Makefile.am:
2346 * libs/gst/dataprotocol/Makefile.am:
2347 * libs/gst/net/Makefile.am:
2348 * plugins/elements/Makefile.am:
2349 * plugins/indexers/Makefile.am:
2350 add makefile rules to generate gcov data and clean up
2351 * tests/check/Makefile.am:
2352 add a coverage target that generates an html overview
2355 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
2357 * tests/check/elements/fakesink.c:
2358 * tests/check/elements/fakesrc.c:
2359 * tests/check/elements/fdsrc.c:
2360 * tests/check/elements/identity.c:
2361 * tests/check/generic/sinks.c: (gst_sinks_suite):
2362 * tests/check/generic/states.c:
2363 * tests/check/gst/gst.c:
2364 * tests/check/gst/gstabi.c:
2365 * tests/check/gst/gstbin.c:
2366 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
2367 * tests/check/gst/gstbus.c: (gst_bus_suite):
2368 * tests/check/gst/gstcaps.c: (GST_START_TEST):
2369 * tests/check/gst/gstelement.c:
2370 * tests/check/gst/gstevent.c: (gst_event_suite):
2371 * tests/check/gst/gstghostpad.c:
2372 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
2373 * tests/check/gst/gstmessage.c: (gst_message_suite):
2374 * tests/check/gst/gstminiobject.c:
2375 * tests/check/gst/gstobject.c:
2376 * tests/check/gst/gstpad.c:
2377 * tests/check/gst/gstpipeline.c:
2378 * tests/check/gst/gstplugin.c:
2379 * tests/check/gst/gstquery.c: (gst_query_suite):
2380 * tests/check/gst/gstsegment.c: (gst_segment_suite):
2381 * tests/check/gst/gststructure.c:
2382 * tests/check/gst/gstsystemclock.c:
2383 * tests/check/gst/gsttag.c:
2384 * tests/check/gst/gsttask.c: (gst_task_suite):
2385 * tests/check/gst/gstutils.c:
2386 * tests/check/gst/gstvalue.c:
2387 * tests/check/libs/adapter.c:
2388 * tests/check/libs/basesrc.c:
2389 * tests/check/libs/collectpads.c:
2390 * tests/check/libs/controller.c:
2391 * tests/check/libs/gdp.c: (gst_dp_suite):
2392 * tests/check/libs/gstnetclientclock.c:
2393 * tests/check/libs/gstnettimeprovider.c:
2394 * tests/check/libs/libsabi.c: (libsabi_suite):
2395 * tests/check/libs/typefindhelper.c:
2396 * tests/check/pipelines/cleanup.c:
2397 * tests/check/pipelines/parse-launch.c:
2398 * tests/check/pipelines/simple-launch-lines.c:
2399 * tests/check/pipelines/stress.c: (stress_suite):
2402 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
2404 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
2405 * libs/gst/check/gstcheck.h:
2406 create a macro and function so that the simple unit test
2407 case can be just one macro to create main()
2409 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
2411 * gst/gstbin.c: (gst_bin_restore_thyself):
2412 * gst/gstxml.c: (gst_xml_make_element):
2413 Fix deserialisation from XML. Set parent manually
2414 instead of using gst_bin_add(), since gst_bin_add()
2415 will unlink all pads of the element being added.
2418 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
2420 Patch by: Peter Kjellerstedt <pkj at axis com>
2422 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
2423 Fix missing g_strdup() and double free when using the
2424 --gst-plugin-load command line option (#346097).
2426 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
2429 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
2431 * libs/gst/net/gstnetclientclock.c:
2432 * libs/gst/net/gstnettimeprovider.c:
2433 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
2435 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
2437 * docs/manual/advanced-dataaccess.xml:
2438 Fix buffer probe example compilation in
2441 2006-06-22 Edward Hervey <edward@fluendo.com>
2443 * gst/gstelement.c: (gst_element_pads_activate):
2444 We need to deactivate src pads first and then sink pads.
2445 The reason is the src pads might be blocking while holding the streaming
2446 lock, so we need to deactivate them first so that deactivating the sink
2447 pads doesn't block (since it will require the streaming lock).
2449 2006-06-22 Wim Taymans <wim@fluendo.com>
2451 * libs/gst/base/gstbasetransform.c:
2452 (gst_base_transform_buffer_alloc):
2453 Forgot to remove two unneeded unrefs.
2454 Simplify a check _is_equal allready checks the obvious case.
2456 2006-06-22 Wim Taymans <wim@fluendo.com>
2458 * docs/design/part-block.txt:
2459 Some docs about what pad_block should do.
2461 2006-06-22 Wim Taymans <wim@fluendo.com>
2463 * gst/gstcaps.c: (gst_caps_replace):
2464 Fix crasher when passed NULL. Doc clarification.
2465 Optimize for the trivial case.
2467 * gst/gstpipeline.c: (gst_pipeline_change_state):
2470 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2471 Small documentation cleanup.
2473 * libs/gst/base/gstbasetransform.c:
2474 (gst_base_transform_buffer_alloc):
2475 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
2476 is what we need and it avoids a whole lot of redundant
2477 refcount operations.
2479 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
2481 Patch by: Philip Jägenstedt <philip at lysator liu se>
2483 * docs/manual/advanced-dataaccess.xml:
2484 Fix 'Embedding static elements' section to use
2485 GST_PLUGIN_DEFINE_STATIC (#345607).
2487 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
2489 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
2490 Attempt to 'fix' spuriously failing test case: it seems like the
2491 timeout of half a second is simply too small when the system is under
2492 load otherwise, and the timeout doesn't really seem to serve any
2493 particular purpose here. Give the pipeline a few seconds to preroll
2494 first, and then give it another half a second to go from PAUSED to
2495 PLAYING and marshal the message into the main thread.
2497 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
2499 * tools/gst-feedback-m.m:
2500 Don't only use unversioned tools, try versioned tools as well
2503 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
2505 * gst/gstbus.c: (gst_bus_class_init):
2506 Fix some typos, make docs more explicit.
2508 2006-06-20 Wim Taymans <wim@fluendo.com>
2510 * tests/check/gst/gstghostpad.c: (block_callback),
2511 (GST_START_TEST), (gst_ghost_pad_suite):
2512 Added some more ghostpad tests, mainly blocking
2515 2006-06-16 Wim Taymans <wim@fluendo.com>
2517 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2518 (gst_file_sink_close_file), (gst_file_sink_do_seek),
2519 (gst_file_sink_event), (gst_file_sink_render):
2520 * plugins/elements/gstfilesink.h:
2521 Check if we can seek in the file instead of assuming
2522 we always can. Post an error when we are asked to seek in a
2523 non-seekable file (like a fifo). Fixes #343312.
2526 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
2528 * tools/gst-launch.1.in:
2529 Un-garble (fourcc) bit in filtered caps section.
2531 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
2533 * docs/manual/advanced-autoplugging.xml:
2534 * docs/manual/basics-helloworld.xml:
2535 * docs/manual/highlevel-components.xml:
2536 Don't leak bus reference in sample code.
2538 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
2541 Add default for new --enable-plugin-docs switch.
2544 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
2548 Use new ENABLE_PLUGIN_DOCS conditional.
2550 2006-06-14 Wim Taymans <wim@fluendo.com>
2552 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
2553 Make it clear with a FIXME and a real define what the #if 0
2554 previously disabled.
2556 2006-06-14 Wim Taymans <wim@fluendo.com>
2558 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2559 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2560 * libs/gst/base/gstbasetransform.c:
2561 (gst_base_transform_sink_eventfunc):
2562 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2563 Don't randomly and silently reset a segment when the format
2564 changes as this is a bug somewhere upstream. Fixes #330379.
2566 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
2568 Patch by: Wouter Paesen <wouter at kangaroot net>
2570 * libs/gst/controller/gstcontroller.c:
2571 (gst_controlled_property_new):
2572 Fix controlling of float properties (#344849).
2574 * tests/check/libs/controller.c:
2575 (gst_test_mono_source_get_property),
2576 (gst_test_mono_source_set_property),
2577 (gst_test_mono_source_class_init), (GST_START_TEST):
2578 While we're at it, add some float stuff to unit test.
2580 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
2583 * docs/images/gdp-header.svg:
2585 * docs/libs/Makefile.am:
2586 * docs/libs/gdp-header.png:
2587 * libs/gst/dataprotocol/dataprotocol.c:
2588 add it to the API docs
2589 * docs/manual/intro-motivation.xml:
2592 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
2594 * gst/gst.c: (scan_and_update_registry), (init_post):
2595 If the fork()'ed child process can't write the updated registry cache
2596 file to disk for some reason, make it exit with a failure exit code,
2597 so that the parent can then re-scan the plugins itself and update the
2598 registry structures in memory and work with that (rather than failing
2599 when creating elements because seemingly no plugins are available).
2600 Refactor registry scanning code into separate function for this and
2601 also separate fork() and non-fork() code paths. Fixes #344748.
2603 2006-06-13 Wim Taymans <wim@fluendo.com>
2605 * docs/manual/advanced-dataaccess.xml:
2606 Fix wrong PluginDesc. Fixes #344755.
2608 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
2610 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2611 Fix silly bug that prevented us from creating
2612 ~/.gstreamer-0.10 and writing the registry in one
2613 go (the first call to g_mkstemp() would overwrite the
2614 placeholder in the template string, so the second call
2615 to g_mkstemp() after creating the missing directory
2616 would then error out with 'invalid argument').
2618 2006-06-13 Edward Hervey <edward@fluendo.com>
2620 * gst/gst.c: (init_post):
2623 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
2625 * gst/glib-compat-private.h:
2626 * gst/glib-compat.c:
2627 * gst/glib-compat.h:
2628 * gst/gstvalue.c: (gst_value_serialize_flags):
2629 remove GLib 2.6 compatibility code
2631 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
2633 * gst/parse/Makefile.am:
2634 Fix build with 'make -j N' even more (#340016).
2636 2006-06-12 Wim Taymans <wim@fluendo.com>
2638 * docs/gst/gstreamer-sections.txt:
2641 2006-06-12 Wim Taymans <wim@fluendo.com>
2643 * gst/gstsegment.c: (gst_segment_set_duration),
2644 (gst_segment_set_last_stop), (gst_segment_set_seek),
2645 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2646 (gst_segment_to_running_time), (gst_segment_clip):
2647 Use G_UNLIKELY to help the compiler a bit.
2649 2006-06-12 Wim Taymans <wim@fluendo.com>
2651 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2653 * gst/gstevent.c: (gst_event_get_type):
2655 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2657 constify quark registration strings. Fixes #344115
2658 Avoid unneeded type checking is _pad_push() by internally
2659 calling gst_pad_chain_unchecked().
2661 2006-06-12 Wim Taymans <wim@fluendo.com>
2663 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
2664 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
2665 (gst_subbuffer_finalize), (gst_buffer_create_sub),
2666 (gst_buffer_is_span_fast), (gst_buffer_span):
2667 Init _type for consistency.
2668 Use _FLAGS macro to avoid type check.
2669 Avoid unneeded type checks in subbufer code.
2671 2006-06-12 Wim Taymans <wim@fluendo.com>
2673 * gst/gst.c: (gst_debug_help):
2674 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
2675 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2676 (gst_plugin_feature_list_free):
2677 * gst/gstregistry.c: (gst_registry_add_plugin),
2678 (gst_registry_add_feature), (gst_registry_plugin_filter),
2679 (gst_registry_feature_filter), (gst_registry_find_plugin),
2680 (gst_registry_find_feature), (gst_registry_get_plugin_list),
2681 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
2682 * gst/gstregistryxml.c: (load_feature),
2683 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
2684 * gst/gstminiobject.c: (gst_mini_object_unref),
2685 (gst_mini_object_replace), (gst_value_mini_object_free),
2686 (gst_value_mini_object_copy):
2687 Use _CAST macros to avoid unneeded type checking.
2688 Added some more G_UNLIKELY.
2690 2006-06-12 Wim Taymans <wim@fluendo.com>
2693 Avoid unneeded type checking.
2694 API: GST_BUFFER_IS_DISCONT
2696 * gst/gstminiobject.h:
2697 Avoid type check in flag accessor.
2699 * gst/gstelementfactory.h:
2701 * gst/gstpluginfeature.h:
2703 API: GST_ELEMENT_FACTORY_CAST
2704 API: GST_PLUGIN_CAST
2705 API: GST_PLUGIN_FEATURE_CAST
2707 2006-06-12 Wim Taymans <wim@fluendo.com>
2709 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
2711 Add G_UNLIKELY in type registration.
2712 Avoid type check in _ref/_unref since that is also
2715 2006-06-12 Wim Taymans <wim@fluendo.com>
2717 * gst/gsterror.c: (gst_g_error_get_type):
2718 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
2719 (gst_static_pad_template_get_type):
2720 * gst/gsttaglist.c: (gst_tag_list_get_type):
2721 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
2722 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
2723 * gst/gsturi.c: (gst_uri_handler_get_type):
2724 * gst/gstvalue.c: (gst_date_get_type):
2725 * gst/gstxml.c: (gst_xml_get_type):
2726 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2727 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2728 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
2729 Add G_UNLIKELY in type registration.
2731 2006-06-12 Wim Taymans <wim@fluendo.com>
2733 * tools/gst-inspect.c: (print_signal_info):
2734 Properly print enum values.
2736 2006-06-12 Wim Taymans <wim@fluendo.com>
2738 * gst/gstinfo.c: (gst_debug_set_active),
2739 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
2741 Add some G_[UN]LIKELY.
2742 Maintain __gst_debug_min to avoid formatting the arguments of
2743 debug messages that will be dropped anyway to avoid a lot of
2744 overhead from the debugging system.
2746 2006-06-11 Stefan Kost <ensonic@users.sf.net>
2750 add missing files containing translatable strings, tell intltool about
2753 2006-06-11 Stefan Kost <ensonic@users.sf.net>
2755 * tests/check/libs/.cvsignore:
2756 add test-binary to ignore list
2758 2006-06-11 Stefan Kost <ensonic@users.sf.net>
2760 * docs/libs/gstreamer-libs-docs.sgml:
2761 reorder (put dp into a chapter) and indent
2763 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
2768 === release 0.10.8 ===
2770 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
2773 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
2775 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
2777 * gst/gst.c: (init_post):
2778 move pid declaration to declaration block
2780 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
2782 * gst/gst.c: (init_post):
2783 use _exit() instead of exit() in our forked child; this ensures
2784 that none of the registered exit handlers from whatever is using
2785 GStreamer get executed. This fixes gnome-mixer-applet failing
2786 to load, because ORBit would shut down.
2787 Spotted by: Edward Hervey <edward@fluendo.com>
2788 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
2791 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
2796 === release 0.10.7 ===
2798 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
2801 releasing 0.10.7, "Soepeke, ik zie ou"
2803 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
2826 * win32/common/config.h:
2829 2006-06-07 Wim Taymans <wim@fluendo.com>
2831 * gst/gstindex.c: (gst_index_gtype_resolver):
2832 * tools/gst-xmlinspect.c: (print_plugin_info):
2833 Fix leak spotted by coverity checker. Fixes #343827
2834 Fix another other leak found by paolo borelli.
2836 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
2838 * libs/gst/dataprotocol/dataprotocol.c:
2839 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
2840 (gst_dp_version_get_type), (gst_dp_init),
2841 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
2842 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
2843 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
2844 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
2845 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
2846 (gst_dp_packetizer_free):
2847 * libs/gst/dataprotocol/dataprotocol.h:
2848 API: add a GstDPPacketizer object, and create/free functions
2849 API: add GstDPVersion enum
2850 Add 1.0 event function that uses the string serialization
2851 Serialize more useful buffer flags
2854 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
2856 * tests/check/Makefile.am:
2857 * tests/check/gst/gstabi.c:
2858 * tests/check/gst/struct_ppc64.h:
2859 * tests/check/libs/libsabi.c:
2860 * tests/check/libs/struct_ppc64.h:
2861 add ppc64 structure sizes
2863 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
2865 * tests/check/Makefile.am:
2866 * tests/check/gst/gstabi.c:
2867 * tests/check/gst/struct_x86_64.h:
2868 * tests/check/libs/libsabi.c:
2869 * tests/check/libs/struct_x86_64.h:
2870 generate and add structure size lists for x86_64
2872 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
2874 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2875 * libs/gst/check/gstcheck.h:
2876 factor out the method from tests that checks size of structures,
2877 and add code to generate the header containing these sizes
2878 * tests/check/gst/gstabi.c: (GST_START_TEST):
2879 * tests/check/gst/struct_i386.h:
2880 * tests/check/libs/libsabi.c: (GST_START_TEST):
2881 * tests/check/libs/struct_i386.h:
2884 2006-06-06 Michael Smith <msmith@fluendo.com>
2887 Don't use c++-style comments, fixes #343929
2889 2006-06-05 Edward Hervey <edward@fluendo.com>
2892 plugin_paths is not used if we build without registry support.
2894 * gst/gstsegment.c: (gst_segment_copy):
2895 _copy() was always returning NULL...
2897 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
2899 * libs/gst/dataprotocol/dataprotocol.c:
2900 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2901 (gst_dp_packet_from_event):
2904 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
2906 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
2907 make sure we unset caps
2909 2006-06-02 Michael Smith <msmith@fluendo.com>
2911 * libs/gst/check/gstcheck.c: (gst_check_init),
2912 (gst_check_chain_func):
2913 * libs/gst/check/gstcheck.h:
2914 Add a cond/mutex to the check support lib, signal this whenever we
2915 add to the buffers list. This will allow tests to not busy-wait on
2918 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
2920 * libs/gst/dataprotocol/dataprotocol.c:
2921 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2922 (gst_dp_packet_from_event):
2923 factor out some common header init code
2925 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
2927 * docs/libs/gstreamer-libs-sections.txt:
2928 * docs/libs/tmpl/gstdataprotocol.sgml:
2929 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
2930 * libs/gst/dataprotocol/dataprotocol.h:
2931 API: make gst_dp_crc() public
2933 2006-06-01 Stefan Kost <ensonic@users.sf.net>
2935 * plugins/indexers/gstindexers.c: (plugin_init):
2936 conditionally register fileindexer (fixes #343598)
2938 2006-06-01 Stefan Kost <ensonic@users.sf.net>
2940 * gst/gsttagsetter.h:
2941 Can't cast ifaces to a class
2943 * libs/gst/net/gstnetclientclock.h:
2944 * libs/gst/net/gstnettimeprovider.h:
2945 * plugins/elements/gstfakesink.h:
2946 * plugins/elements/gstfakesrc.h:
2947 * plugins/elements/gstfdsink.h:
2948 * plugins/elements/gstfdsrc.h:
2949 * plugins/elements/gstfilesink.h:
2950 * plugins/elements/gstfilesrc.h:
2951 * plugins/elements/gstidentity.h:
2952 * plugins/elements/gstqueue.h:
2953 * plugins/elements/gsttee.h:
2954 * plugins/indexers/gstfileindex.c:
2955 * plugins/indexers/gstmemindex.c:
2956 * tests/old/examples/plugins/example.h:
2957 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2959 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
2961 * libs/gst/dataprotocol/dataprotocol.c:
2962 (gst_dp_header_from_buffer):
2963 make sure we zero the whole ABI-compatible area
2965 2006-06-01 Wim Taymans <wim@fluendo.com>
2967 Patch by: Alessandro Decina <alessandro at nnva dot org>
2969 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
2970 Make sure the EOS flag is cleared from pads after a flush
2971 or stop. Fixes #343538.
2973 * tests/check/libs/collectpads.c: (GST_START_TEST),
2974 (gst_collect_pads_suite):
2975 Added test for collectpads reusage after EOS.
2977 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
2980 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
2981 * win32/common/libgstbase.def:
2982 export gst_collect_pads_set_flushing
2983 * win32/common/libgstreamer.def:
2984 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
2985 gst_value_fraction_multiply
2986 * win32/vs6/gst_inspect.dsp:
2987 add a link to intl.lib
2989 2006-05-30 Wim Taymans <wim@fluendo.com>
2991 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2992 (gst_collect_pads_chain):
2993 Handle the case where a pad is removed from the collection
2994 that could cause the other pads to become collectable.
2996 2006-05-30 Wim Taymans <wim@fluendo.com>
2999 Clarify the use of _release_request_pad() and
3000 _get_request_pad() a bit better.
3002 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
3003 (gst_adapter_take_buffer):
3004 Fix some doc and comment typos.
3006 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3008 * docs/gst/gstreamer-sections.txt:
3009 * docs/libs/gstreamer-libs-sections.txt:
3010 add declared symbols
3012 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
3014 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3015 Add debug that can be enabled using a #define at the top of the file,
3016 for dumping stats about how late/early we were when waking up from
3017 waiting on the clock.
3019 2006-05-30 Wim Taymans <wim@fluendo.com>
3021 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
3022 When rebuilding the pad list, don't leak the previous list.
3024 2006-05-30 Wim Taymans <wim@fluendo.com>
3026 Patch by: Lutz Mueller <lutz at topfrose dot de>
3028 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3029 (gst_base_src_get_query_types), (gst_base_src_update_length):
3030 Publish supported query types.
3031 Update last_stop field in get_range mode so the position
3032 query works. Fixes #342321.
3034 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
3036 * docs/gst/gstreamer-sections.txt:
3037 * gst/gsttaglist.c: (_gst_tag_initialize):
3039 API: add GST_TAG_PREVIEW_IMAGE (#343341).
3041 2006-05-30 Wim Taymans <wim@fluendo.com>
3043 Patch by: Alessandro Decina <alessandro at nnva dot org>
3045 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
3046 Unlock mutex when removing an unknown pad.
3049 * tests/check/Makefile.am:
3050 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
3051 (push_event), (setup), (teardown), (GST_START_TEST),
3052 (gst_collect_pads_suite), (main):
3053 Added collecpads check, disabled for now as check crashes for
3056 2006-05-29 Wim Taymans <wim@fluendo.com>
3058 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
3059 Don't leak pads lists.
3061 2006-05-29 Wim Taymans <wim@fluendo.com>
3063 * docs/libs/gstreamer-libs-sections.txt:
3064 * libs/gst/base/gstcollectpads.c:
3065 (gst_collect_pads_set_flushing_unlocked),
3066 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
3067 (gst_collect_pads_stop):
3068 * libs/gst/base/gstcollectpads.h:
3069 API: gst_collect_pads_set_flushing()
3070 Added api to set the pads to flushing, useful for seeking
3071 code in elements using collectpads.
3072 Clear segment when receiving a flush.
3074 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
3076 * gst/gst.c: (add_path_func), (init_post):
3077 Don't scan registry paths passed via --gst-plugin-path immediately
3078 (will crash, because absolutely nothing is set up and no types are
3079 registered etc.); do this later in init_post(). Fixes #343057.
3081 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
3083 * gst/gst.c: (init_post):
3084 if we have fork, fork while reading/rebuilding the registry
3085 so the parent doesn't take the hit of having all plugins loaded
3086 in memory. Fixes #342777.
3088 Check if we have fork()
3089 * win32/common/config.h.in:
3092 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
3094 * plugins/elements/gstelements.c:
3095 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
3096 (gst_file_src_init), (gst_file_src_set_property),
3097 (gst_file_src_get_property), (gst_file_src_start):
3098 * plugins/elements/gstfilesrc.h:
3099 API: GstFileSrc::use-mmap
3101 Add a use-mmap property to enable easier testing of all code paths.
3102 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
3103 in the absence of gnomevfssrc. (Closes #340501)
3105 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
3107 * tools/gst-inspect.c:
3108 Add missing include, removes warning of ngettext not being defined on
3111 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
3113 * gst/gstvalue.c: (gst_value_deserialize_fraction):
3114 Handle NULL input and output pointers silently as a failed conversion,
3115 rather than g_warnings.
3117 2006-05-25 Wim Taymans <wim@fluendo.com>
3119 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
3120 Initialize variable before using. Fixes #342820.
3122 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
3124 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
3125 Fix off-by-one bug that would only allow peeks of N-1 bytes
3126 from the start even if the buffer to typefind on contains
3127 in fact N bytes of data (makes vorbis typefinding from a
3128 vorbis identification header buffer work).
3130 * tests/check/Makefile.am:
3131 * tests/check/libs/.cvsignore:
3132 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
3133 (gst_typefindhelper_suite), (main), (foobar_typefind),
3135 Add very basic unit test for gst_type_find_helper_for_buffer()
3136 that checks for the problem fixed above.
3138 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
3140 * tools/gst-inspect.c: (print_interfaces),
3141 (print_element_properties_info), (print_element_list), (main):
3142 add more translatable strings
3144 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
3146 Patch by: Julien Moutte <julien at moutte net>
3148 * docs/gst/gstreamer-sections.txt:
3149 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
3151 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3152 (gst_fake_sink_preroll):
3153 * plugins/elements/gstfakesink.h:
3154 API: Add new GstFakeSink::preroll-handoff signal (#337100).
3156 2006-05-23 Wim Taymans <wim@fluendo.com>
3158 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
3160 Added _CUSTOM error and success GstFlowReturn that can be
3161 used be elements internally.
3162 Added macro to check for SUCCESS flowreturns.
3163 API: GST_FLOW_CUSTOM_SUCCESS
3164 API: GST_FLOW_CUSTOM_ERROR
3165 API: GST_FLOW_IS_SUCCESS
3167 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3168 Added check for GstFlowReturn sanity.
3170 2006-05-23 Wim Taymans <wim@fluendo.com>
3172 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3174 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3175 (gst_collect_pads_event):
3176 clear/reset segment info in FLUSH_STOP.
3179 2006-05-22 Stefan Kost <ensonic@users.sf.net>
3181 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
3182 (gst_collect_pads_check_collected):
3183 Flush queued buffer on _stop(), fixes playing again (#342454)
3185 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
3187 * tests/check/gst/gststructure.c: (GST_START_TEST),
3188 (gst_structure_suite):
3189 add a test for a complete structure
3191 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
3193 * docs/faq/developing.xml:
3195 * docs/faq/troubleshooting.xml:
3196 * docs/faq/using.xml:
3197 Some minor FAQ updates that won't change the fact that
3198 our FAQ is badly structured, full of information hardly
3199 anyone new to GStreamer needs to know and lacking lots
3200 of information people constantly ask for.
3202 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
3204 * gst/gstpad.c: (gst_pad_set_caps):
3205 Short-circuit gst_pad_set_caps if setting the existing
3206 caps pointer again, and avoid printing debug and
3207 reffing/unreffing the caps.
3209 * plugins/elements/gstqueue.c: (gst_queue_push_one):
3210 There's actually no need to set the caps before pushing -
3211 the acceptcaps method will handle it anyway.
3213 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
3215 * docs/gst/gstreamer-sections.txt:
3216 * win32/common/libgstreamer.def:
3217 * gst/gstutils.c: (gst_element_seek_simple):
3219 API: add gst_element_seek_simple() (#342238).
3221 2006-05-18 Edward Hervey <edward@fluendo.com>
3223 * gst/gsttypefind.c: (gst_type_find_get_type):
3224 * gst/gsttypefind.h:
3225 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
3226 registered for GstTypeFind pointers. This allows wrapping the structure
3227 in bindings (i.e. gst-python).
3229 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
3231 * gst/gsttagsetter.c:
3232 Docs additions and fixes (see #339918).
3234 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
3236 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3237 The caps intersection algorithm can produce multiple copies of the
3238 caps. Until that is fixed, we need to simplify the result to be
3239 sure whether the allowed caps are fixed or not.
3241 * plugins/elements/gstqueue.c: (gst_queue_init),
3242 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
3243 (gst_queue_push_one):
3244 Proxied buffer alloc should not set the caps on the source pad.
3245 When pushing buffers, we always accept the caps change that triggers.
3246 This prevents negotiation errors caused by caps changing mid-stream
3247 and then being refused on our source pad (because upstream is now
3248 refusing those caps).
3250 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
3252 * tests/examples/helloworld/helloworld.c: (main):
3253 Must plug audioconvert and audioresample between decoder
3256 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
3258 * gst/gstregistryxml.c: (read_string), (load_pad_template),
3259 (load_feature), (load_plugin):
3260 Allow empty strings for some of the plugin fields so we don't
3261 drop valid plugin entries that were written out correctly
3264 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
3266 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
3267 Use g_remove and g_rename instead of remove and rename that don't
3268 handle utf8 characters. rename was failing for users who had specific
3269 characters in their name then the registry was built at each
3271 * win32/vs6/gst_inspect.dsp:
3272 * win32/vs6/gst_launch.dsp:
3273 * win32/vs6/libgstbase.dsp:
3274 * win32/vs6/libgstcoreelements.dsp:
3275 * win32/vs6/libgstreamer.dsp:
3276 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
3277 build of libgstreamer and clean unused libraries in projects link
3280 2006-05-17 Edward Hervey <edward@fluendo.com>
3282 * plugins/elements/gstqueue.c: (gst_queue_push_one):
3283 The queue is not responsible for pushing an EOS when receiving a fatal
3284 flow error. It's up to the real element driving the pipeline to do that.
3286 2006-05-16 Edward Hervey <edward@fluendo.com>
3288 * plugins/elements/gstqueue.c: (gst_queue_push_one):
3289 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
3290 buffer returned a fatal error. It should just send an EOS and stop
3292 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
3293 when pushing buffers on the queue and will be able to handle the event.
3295 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
3297 * docs/manual/basics-bins.xml:
3298 * docs/manual/basics-init.xml:
3299 Fix typos and minor errors in sample code (#341856).
3301 2006-05-16 Wim Taymans <wim@fluendo.com>
3303 * docs/design/part-qos.txt:
3304 Fix indexes in formulas to make more sense.
3306 2006-05-15 Wim Taymans <wim@fluendo.com>
3308 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3309 Don't report POSITION based on clock time if sync is
3312 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
3315 Add cast to make compiler happy - refcount variable was a gint
3316 in GstObject but is a guint in GObject and g_atomic_int_get()
3319 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
3321 * gst/parse/Makefile.am:
3322 chain commands using &&, which also makes parallel make work
3324 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
3326 * docs/gst/gstreamer-sections.txt:
3332 === release 0.10.6 ===
3334 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
3337 releasing 0.10.6, "Take the cannoli"
3339 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
3341 * tools/gst-launch.c: (print_tag):
3342 Fix use of uninitialized variable in the hypothetical
3343 case that some broken plugin creates a GST_TAG_IMAGE
3344 tag containing a NULL buffer (#341667).
3346 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
3348 * tools/gst-launch.c: (print_tag):
3349 Print something more intelligible for image tags when
3350 using the -t switch (#341556).
3352 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
3357 define GST_MAJORMINOR so we have it available in win32/common/config.h
3358 Possibly remove it from our Makefile.am files later
3359 * win32/common/config.h:
3360 * win32/common/config.h.in:
3361 added GST_MAJORMINOR
3362 * win32/common/gstenumtypes.c: (register_gst_resource_error):
3363 * win32/common/gstversion.h:
3366 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
3369 Update win32 files listing.
3370 * win32/common/gstversion.h:
3371 Add GST_MAJORMINOR definition.
3372 * win32/common/libgstreamer.def:
3373 Add new exported functions.
3375 2006-05-12 Michael Smith <msmith@fluendo.com>
3377 * gst/gstplugin.c: (gst_plugin_load_file):
3378 If an so file has no plugin entry point, unload the module.
3380 2006-05-11 Wim Taymans <wim@fluendo.com>
3382 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
3383 (gst_queue_set_property):
3384 Don't forget to signal the _chain or _loop function
3385 when the queue size or thresholds change since that might
3386 cause them to make progres again.
3388 2006-05-11 Stefan Kost <ensonic@users.sf.net>
3390 * gst/gstclock.c: (gst_clock_class_init):
3391 * gst/gstindex.c: (gst_index_class_init):
3392 * gst/gstobject.c: (gst_object_class_init):
3393 * gst/gstpad.c: (gst_pad_class_init):
3394 * gst/gstpipeline.c: (gst_pipeline_class_init):
3395 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3396 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3397 * libs/gst/base/gstbasetransform.c:
3398 (gst_base_transform_class_init):
3399 * libs/gst/net/gstnetclientclock.c:
3400 (gst_net_client_clock_class_init):
3401 * libs/gst/net/gstnettimeprovider.c:
3402 (gst_net_time_provider_class_init):
3403 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3404 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3405 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3406 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3407 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3408 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3409 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3410 * plugins/elements/gstidentity.c: (gst_identity_class_init):
3411 * plugins/elements/gsttee.c: (gst_tee_class_init):
3412 * tests/old/examples/plugins/example.c: (gst_example_class_init):
3413 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
3414 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
3416 2006-05-11 Wim Taymans <wim@fluendo.com>
3418 * gst/gstbuffer.c: (_gst_buffer_initialize):
3419 Register subbufer along with the buffer type so that
3420 it does not accidentally gets registered from N
3421 different streaming threads in a non threadsafe way.
3423 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
3428 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
3429 gst_event_ref() and gst_message_ref() functions again
3430 (ugly hack, please do fix if there's a better way besides
3431 overrides.txt, which doesn't seem to work).
3433 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
3435 * libs/gst/check/gstcheck.h:
3436 add an assert for setting state to avoid lots of repetitive code
3439 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
3441 * gst/gstvalue.c: (gst_value_serialize_flags):
3442 fix a leak if no flags are set
3443 * tests/check/gst/gstvalue.c: (GST_START_TEST):
3446 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
3448 * docs/manual/basics-pads.xml:
3449 Expand a bit on caps and filtered links and update
3450 examples that were still using the no longer existing
3451 gst_pad_link_filtered() (#338206).
3453 2006-05-10 Wim Taymans <wim@fluendo.com>
3455 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3456 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3457 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
3458 (gst_collect_pads_stop):
3459 * libs/gst/base/gstcollectpads.h:
3460 No need to call _stop in _finalize.
3461 Iterate the main pad list in _finalize.
3462 Added some more debug.
3463 Free lists and data in the right order.
3464 Also free data whem doing _remove_pad when stopped for
3465 backward compatibility protect ::started with PAD_LOCK as
3468 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
3470 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
3471 (gst_structure_parse_value):
3473 rename a method so that it actually says what it does better
3475 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
3477 * gst/gstevent.c: (_gst_event_initialize):
3478 * gst/gstformat.c: (_gst_format_initialize):
3479 make sure some essential types used by events are registered
3480 as part of gst_init()
3481 * gst/gstvalue.c: (gst_value_serialize_flags):
3482 if no flags are set, serialize them to a value that represents NONE
3483 so that deserializing them works
3484 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3485 add tests for serialization and deserialization of flags
3487 2006-05-10 Wim Taymans <wim@fluendo.com>
3489 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
3490 (gst_collect_pads_collect_range), (gst_collect_pads_available),
3491 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
3492 (gst_collect_pads_event), (gst_collect_pads_chain):
3495 Catch and return errors from the collect function
3496 Refuse data on eos pads.
3498 2006-05-10 Edward Hervey <edward@fluendo.com>
3500 * gst/gstinterface.h:
3501 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
3502 GInterface type checking.
3503 They were previously using non-defined macros.
3505 2006-05-09 Wim Taymans <wim@fluendo.com>
3507 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
3508 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
3509 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
3510 (gst_collect_pads_start), (gst_collect_pads_stop),
3511 (gst_collect_pads_peek), (gst_collect_pads_pop),
3512 (gst_collect_pads_available), (gst_collect_pads_read),
3513 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
3514 (gst_collect_pads_is_collected), (gst_collect_pads_event),
3515 (gst_collect_pads_chain):
3516 * libs/gst/base/gstcollectpads.h:
3517 Clean up the mess that is collectpads, add comments and
3518 FIXMEs where needed.
3519 Maintain a separate pad list so we can add pads while
3520 collecting the other ones. For this we need a new separate
3522 Fix memory leak in finalize.
3523 Refactor some weird code to set/unset pad flushing flags, mark
3525 Don't crash in _available, _read, _flush when we're EOS.
3527 * tests/check/libs/.cvsignore:
3528 Ignore adapter check binary.
3530 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
3532 * gst/gstindex.c: (gst_index_resolver_get_type):
3533 * plugins/elements/gstfakesink.c:
3534 (gst_fake_sink_state_error_get_type):
3535 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3536 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
3537 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
3538 Const-ify GEnumValue arrays.
3540 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
3542 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3543 Add test case for flags + gst_buffer_make_metadata_writable().
3545 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
3547 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
3548 gst_buffer_make_metadata_writable() should maintain the
3549 buffer flags (those that make sense at least) (see #340859).
3551 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
3553 * tools/gst-inspect.c:
3554 * tools/gst-launch.c:
3555 * tools/gst-typefind.c:
3556 * tools/gst-xmlinspect.c:
3558 Fix up includes: need to include stdlib.h in tools.h for exit().
3560 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
3562 * gst/gsttaglist.c: (_gst_tag_initialize):
3564 API: add GST_TAG_IMAGE tag (#340721).
3566 2006-05-08 Wim Taymans <wim@fluendo.com>
3569 Added some docs for the segment query.
3571 2006-05-08 Wim Taymans <wim@fluendo.com>
3573 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3574 (gst_base_src_loop), (gst_base_src_change_state):
3575 Always push non-flushing serialized events in the streaming
3578 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
3580 * gst/gsterror.c: (_gst_stream_errors_init):
3581 Add a missing error string.
3583 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
3585 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
3586 Add applied_rate to the debug
3588 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3589 Copy applied_rate into the outgoing NEWSEGMENT event
3591 2006-05-08 Wim Taymans <wim@fluendo.com>
3593 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
3595 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3596 (gst_base_sink_change_state):
3597 call ::unlock before taking the PREROLL_LOCK so we can safely
3598 handle elements that lock in ::render.
3601 2006-05-08 Edward Hervey <edward@fluendo.com>
3603 * autogen.sh: (CONFIGURE_DEF_OPT):
3604 Darwin's libtoolize is in fact called glibtoolize.
3605 Adding glibtoolize to the list of accepted names for libtoolize.
3607 2006-05-08 Wim Taymans <wim@fluendo.com>
3609 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3610 Unify error handling, don't post an error message
3611 when a push() returns EOS but perform our normal EOS
3612 handling code. Fixes #340772.
3614 2006-05-08 Wim Taymans <wim@fluendo.com>
3616 * docs/design/part-overview.txt:
3617 Make upsteam/downstream concepts more clear.
3618 Give an example of serialized/non-serialized events.
3620 * docs/design/part-events.txt:
3621 * docs/design/part-streams.txt:
3622 Mention applied_rate.
3624 * docs/design/part-trickmodes.txt:
3625 Mention applied rate, flesh out some more use cases.
3627 * gst/gstevent.c: (gst_event_new_new_segment),
3628 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
3629 (gst_event_parse_new_segment_full), (gst_event_new_tag),
3630 (gst_event_parse_tag), (gst_event_new_buffer_size),
3631 (gst_event_parse_buffer_size), (gst_event_new_qos),
3632 (gst_event_parse_qos), (gst_event_parse_seek),
3633 (gst_event_new_navigation):
3635 Add applied_rate field to NEWSEGMENT event.
3636 API: gst_event_new_new_segment_full()
3637 API: gst_event_parse_new_segment_full()
3639 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
3640 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
3641 (gst_segment_to_stream_time), (gst_segment_to_running_time):
3643 Add applied_rate to GstSegment structure.
3644 Make calculation of stream_time and running_time more correct
3645 wrt rate/applied_rate.
3647 API: GstSegment::applied_rate field
3648 API: gst_segment_set_newsegment_full();
3650 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3651 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
3652 * libs/gst/base/gstbasetransform.c:
3653 (gst_base_transform_sink_eventfunc),
3654 (gst_base_transform_handle_buffer):
3655 Parse and use applied_rate in the GstSegment field.
3657 * tests/check/gst/gstevent.c: (GST_START_TEST):
3658 Add check for applied_rate field.
3660 * tests/check/gst/gstsegment.c: (GST_START_TEST),
3661 (gstsegments_suite):
3662 Add more checks for various GstSegment operations.
3664 2006-05-08 Wim Taymans <wim@fluendo.com>
3666 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3667 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
3668 (gst_base_sink_get_position), (gst_base_sink_change_state):
3669 Store the sync time of the buffer end position separatly in a
3670 new variable eos_rtime so we can properly sync the EOS event.
3672 Fix the docs for gst_base_sink_set_qos_enabled().
3673 Don't set segment start to invalid value when we receive a
3674 non TIME newsegment.
3675 get closer to handling position reporting for negative rates
3678 2006-05-07 Stefan Kost <ensonic@users.sf.net>
3681 Docs about how to print caps for debug purposes.
3683 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
3684 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
3686 2006-05-07 Stefan Kost <ensonic@users.sf.net>
3689 use full enum names and preprend a '%' in docs strings to make recent
3690 gtk-doc turn that into a link
3692 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
3694 * docs/manual/basics-bins.xml:
3695 * docs/manual/basics-bus.xml:
3696 * docs/manual/basics-pads.xml:
3697 Some typo fixes, some additions, some clarifications.
3699 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
3701 * tools/gst-inspect.c: (main):
3702 * tools/gst-launch.c: (main):
3703 * tools/gst-run.c: (main):
3704 * tools/gst-typefind.c: (main):
3705 * tools/gst-xmlinspect.c: (main):
3706 Use the string passed to g_option_context_new() for
3707 what it's intended for - the program name is already
3710 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
3712 * tools/Makefile.am:
3713 * tools/gst-inspect.c: (main):
3714 * tools/gst-launch.c: (main):
3715 * tools/gst-xmlinspect.c: (main):
3717 Add back --version command line option (#340460).
3719 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
3720 Add --version option and use GOption for argument parsing; refactor a
3721 bit; accept directories as arguments and recurse into them; lastly,
3722 print a decent error message when things go wrong.
3724 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
3726 * docs/manual/basics-bins.xml:
3727 Don't mention GstThread (#340611)
3728 * docs/manual/basics-elements.xml:
3729 Update link to GObject tutorial (#340607)
3731 2006-05-05 Wim Taymans <wim@fluendo.com>
3734 * gst/gstminiobject.c:
3735 Add note about refcounting and miniobject/buffer writeability
3736 to docs. Fixes #340604
3738 * gst/gstelementfactory.h:
3739 Added some explanation about @klass.
3741 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
3743 * docs/manual/intro-motivation.xml:
3744 * docs/manual/manual.xml:
3745 Avoid CORBA & Bonobo references (#340598)
3747 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
3749 * docs/manual/basics-bus.xml:
3750 * docs/manual/basics-pads.xml:
3751 Fix up some inaccuracies and omissions (#340609)
3753 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
3755 * gst/gstghostpad.c:
3756 Small typo in docs (#340625)
3758 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
3760 * gst/parse/Makefile.am:
3761 Make 'make -j' proof (see #340698).
3763 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
3766 Require GLib-2.8 here as well.
3768 2006-05-05 Wim Taymans <wim@fluendo.com>
3770 * gst/glib-compat.c:
3771 * gst/gst.c: (init_pre):
3772 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3773 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
3774 (gst_object_dispatch_properties_changed):
3776 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3777 * gst/gststructure.c: (gst_structure_set_valist):
3778 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3779 Remove pre glib2.8 compatibility, fixes #340508
3781 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
3784 Mention type of tags in doc blurbs.
3786 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
3788 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3789 (gst_pad_configure_src), (gst_pad_push):
3790 Restore acceptcaps checking behaviour now that good plugins have
3793 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
3795 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
3806 * gst/parse/Makefile.am:
3807 * libs/gst/base/gstadapter.c:
3808 * libs/gst/base/gstbasesrc.c:
3809 * libs/gst/base/gstpushsrc.c:
3810 * libs/gst/base/gsttypefindhelper.c:
3811 * plugins/elements/gstfakesrc.c:
3812 * plugins/elements/gstidentity.c:
3813 Make sure gstprivate.h and/or config.h are
3814 always included first, otherwise some of our
3815 defines (like _FILE_OFFSET_BITS) might be
3816 redefined in the system headers. Fixes build
3817 on opensolaris (#340016).
3819 2006-05-04 Wim Taymans <wim@fluendo.com>
3821 * docs/libs/gstreamer-libs-sections.txt:
3822 API: addition: gst_adapter_take_buffer()
3824 * libs/gst/base/gstadapter.c: (gst_adapter_push),
3825 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
3826 (gst_adapter_available_fast):
3827 * libs/gst/base/gstadapter.h:
3828 Prepare for optimizing the hell out of this hugely inefficient
3830 Added gst_adapter_take_buffer() so we can at least start thinking
3831 about subbuffering and merging.
3832 Added some comments.
3834 * tests/check/Makefile.am:
3835 * tests/check/libs/adapter.c: (GST_START_TEST),
3836 (gst_adapter_suite), (main):
3837 Added GstAdapter check.
3839 2006-05-04 Wim Taymans <wim@fluendo.com>
3841 * docs/design/part-overview.txt:
3842 Fix some typos, add blurb about buffer flags.
3844 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
3846 * docs/libs/gstreamer-libs-sections.txt:
3847 make sure GstBaseTransformClass shows up in the docs
3848 * libs/gst/base/gstbasetransform.c:
3849 * libs/gst/base/gstbasetransform.h:
3850 move docs so gtk-doc picks it up now
3852 2006-05-02 Stefan Kost <ensonic@users.sf.net>
3854 * docs/libs/gstreamer-libs-sections.txt:
3855 add missing symbols to docs
3857 2006-05-02 Stefan Kost <ensonic@users.sf.net>
3859 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3860 back out the newsegment handling change, see #340060 for ongoing
3863 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
3865 * tools/gst-run.c: (get_candidates), (main):
3866 Fix wrong g_file_test() usage (see glib docs for why it doesn't
3867 work); fix typo in error message. Fixes #340079.
3869 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
3871 * common/Makefile.am:
3873 * docs/faq/Makefile.am:
3874 * docs/gst/Makefile.am:
3875 * docs/libs/Makefile.am:
3876 * docs/manual/Makefile.am:
3877 * docs/plugins/Makefile.am:
3878 * docs/pwg/Makefile.am:
3879 * docs/slides/Makefile.am:
3881 * common/upload.mak:
3882 move upload.mak to common
3884 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
3886 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3887 add more asserts on refcounts
3888 do more cleanup at end of tests
3889 fix test leaks showing in FC5
3891 2006-04-29 Stefan Kost <ensonic@users.sf.net>
3893 * plugins/elements/gsttypefindelement.c:
3894 (gst_type_find_element_handle_event):
3895 reverted wrong change and reflowed code to avoid others falling into
3898 2006-04-28 Stefan Kost <ensonic@users.sf.net>
3900 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3901 fix changelog entry about last collectpads change,
3902 add notes about proper fix
3904 2006-04-28 Stefan Kost <ensonic@users.sf.net>
3907 * gst/gstregistry.c: (gst_registry_scan_path_level),
3908 (gst_registry_scan_path):
3909 * gst/gstregistry.h:
3910 only write out registry if it has changed, fixes #338339
3912 2006-04-28 Stefan Kost <ensonic@users.sf.net>
3915 * gst/gstpipeline.c:
3916 * plugins/elements/gstcapsfilter.c:
3917 * plugins/elements/gstfakesink.c:
3918 * plugins/elements/gstfakesrc.c:
3919 * plugins/elements/gstfdsink.c:
3920 * plugins/elements/gstfdsrc.c:
3921 * plugins/elements/gstfilesink.c:
3922 * plugins/elements/gstfilesrc.c:
3923 * plugins/elements/gstidentity.c:
3924 * plugins/elements/gstqueue.c:
3925 * plugins/elements/gsttee.c:
3926 * plugins/elements/gsttypefindelement.c:
3927 (gst_type_find_element_handle_event):
3928 make GstElementDetails const
3930 2006-04-28 Stefan Kost <ensonic@users.sf.net>
3932 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3933 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3934 (gst_collect_pads_is_collected), (gst_collect_pads_event):
3935 more detailed debug and formatting cleanup,
3936 forward newsegments to src-pad (so that e.g. adder not eats them)
3938 2006-04-28 Stefan Kost <ensonic@users.sf.net>
3940 * gst/gstutils.c: (gst_element_link_pads):
3943 2006-04-28 Stefan Kost <ensonic@users.sf.net>
3945 * libs/gst/controller/gstcontroller.c:
3946 (gst_controller_sync_values):
3948 * tests/check/libs/controller.c: (GST_START_TEST),
3949 (gst_controller_suite):
3950 a new test for live value handling
3952 2006-04-28 Wim Taymans <wim@fluendo.com>
3954 * gst/gstutils.c: (push_and_ref):
3955 Added some more docs.
3956 Fix refcount issue whith gst_element_found_tags() helper
3957 function. Fixes #338335
3959 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3960 Added testsuite for gst_element_found_tags().
3962 2006-04-28 Michael Smith <msmith@fluendo.com>
3964 * gst/gstvalue.c: (gst_value_serialize_flags):
3965 Avoid NULL dereference when trying to serialize flags containing
3968 2006-04-28 Michael Smith <msmith@fluendo.com>
3970 * plugins/elements/gsttypefindelement.c:
3971 (gst_type_find_element_handle_event):
3972 If we get EOS before any data is accumulated, don't use
3973 uninitialised local variables.
3975 2006-04-28 Michael Smith <msmith@fluendo.com>
3977 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3978 (gst_dp_event_from_packet):
3979 Fixes in reading/writing events over GDP (not currently used?) -
3980 dereferencing NULL events for unknown/invalid event types, memory
3981 leak, and change g_warning to GST_WARNING.
3983 2006-04-28 Wim Taymans <wim@fluendo.com>
3985 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
3986 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3987 (gst_base_sink_get_position), (gst_base_sink_change_state):
3988 When frame dropping is enabled, we should not ignore frames
3990 Update some documentation.
3992 2006-04-28 Wim Taymans <wim@fluendo.com>
3994 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3995 (gst_base_src_send_event), (gst_base_src_change_state):
3996 Documentation updates.
3998 2006-04-28 Wim Taymans <wim@fluendo.com>
4000 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4001 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
4002 handle EAGAIN, EINTR and short writes correctly. Also clean
4003 up some error cases, avoid a deadlock on bad file descriptors and
4004 use GST_DEBUG_OBJECT.
4007 2006-04-28 Wim Taymans <wim@fluendo.com>
4009 * gst/gstvalue.c: (gst_value_serialize_buffer),
4010 (gst_value_deserialize_buffer):
4011 Don't try to serialize a GValue with a NULL buffer.
4014 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4015 Added check for serialisation of NULL buffers.
4017 2006-04-28 Wim Taymans <wim@fluendo.com>
4019 * gst/gstminiobject.c: (gst_value_take_mini_object):
4020 Taking a NULL miniobject is valid, fix the case where
4021 we try to unref the NULL miniobject.
4023 2006-04-28 Wim Taymans <wim@fluendo.com>
4025 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
4027 * gst/gstbin.c: (gst_bin_handle_message_func):
4029 Don't leak bin refcount when a state recalc is
4030 in progress and we delay another one #339808.
4032 2006-04-28 Wim Taymans <wim@fluendo.com>
4034 * docs/design/part-TODO.txt:
4035 Mention QoS as an ongoing work item.
4037 * docs/design/part-buffering.txt:
4038 New doc about buffering that needs to be fleshed out
4041 * docs/design/part-qos.txt:
4042 More QoS policy for decoders/demuxers/transforms
4044 * docs/design/part-trickmodes.txt:
4047 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
4052 === release 0.10.5 ===
4054 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
4057 releasing 0.10.5, "Fogo"
4059 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
4061 patch by: Wim Taymans
4063 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
4064 (gst_pad_configure_src), (gst_pad_push):
4065 * gst/gstpipeline.c: (gst_pipeline_init):
4066 Fix internal data flow errors. Fixes #338711.
4068 2006-04-12 Wim Taymans <wim@fluendo.com>
4070 * tests/check/gst/gstelement.c: (GST_START_TEST):
4071 Don't leak the factory.
4073 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
4076 * win32/common/config.h:
4079 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
4081 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4082 (gst_controller_unset_all):
4083 Free allocated GstTimedValues when freeing list nodes.
4084 Should fix leaks 'make check-valgrind' complains about.
4086 * win32/common/libgstcontroller.def:
4087 Add gst_controller_unset_all.
4089 2006-04-11 Stefan Kost <ensonic@users.sf.net>
4091 * docs/libs/gstreamer-libs-sections.txt:
4092 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4093 (gst_controller_unset_all):
4094 * libs/gst/controller/gstcontroller.h:
4095 API: Added new method gst_controller_unset_all()
4096 fixed gst_controller_unset()
4097 * tests/check/libs/controller.c: (GST_START_TEST),
4098 (gst_controller_suite):
4099 Added two testcases for new and fixed method
4101 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
4103 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4104 MSG_DONTWAIT is not defined on Cygwin, so work
4105 around that (fixes #317048).
4107 2006-04-11 Wim Taymans <wim@fluendo.com>
4109 * gst/gstelementfactory.c: (gst_element_register),
4110 (gst_element_factory_create), (gst_element_factory_make):
4113 Updated docs (Fixes #131079)
4115 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4118 * tests/check/gst/gstelement.c: (GST_START_TEST),
4119 (gst_element_suite):
4120 Added testcase for elementfactory class field.
4122 2006-04-10 Wim Taymans <wim@fluendo.com>
4125 Added some more docs.
4127 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
4128 (gst_base_sink_reset_qos):
4129 Calculate more accurate rate values.
4131 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
4133 * gst/gst_private.h:
4134 add a new #ifdef to use __declspec(dllimport) only for
4135 other modules and not for gstreamer core
4136 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
4137 use gst_guint64_to_gdouble for conversion
4138 * win32/common/libgstreamer.def:
4139 add new exported functions
4140 * win32/vs6/gst_inspect.dsp:
4141 * win32/vs6/gst_launch.dsp:
4142 * win32/vs6/libgstbase.dsp:
4143 * win32/vs6/libgstcontroller.dsp:
4144 * win32/vs6/libgstcoreelements.dsp:
4145 * win32/vs6/libgstdataprotocol.dsp:
4146 * win32/vs6/libgstnet.dsp:
4147 update project files
4149 2006-04-08 Stefan Kost <ensonic@users.sf.net>
4151 * gst/gstbuffer.c: (gst_subbuffer_class_init):
4152 * gst/gstclock.c: (gst_clock_class_init):
4153 * gst/gstelement.c: (gst_element_class_init):
4154 * gst/gstindex.c: (gst_index_class_init):
4155 * gst/gstindexfactory.c: (gst_index_factory_class_init):
4156 * gst/gstobject.c: (gst_object_class_init),
4157 (gst_signal_object_class_init):
4158 * gst/gstpad.c: (gst_pad_class_init):
4159 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
4160 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
4161 * gst/gstregistry.c: (gst_registry_class_init):
4162 * gst/gstsystemclock.c: (gst_system_clock_class_init):
4163 * gst/gsttask.c: (gst_task_class_init):
4164 * gst/gstxml.c: (gst_xml_class_init):
4165 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4166 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4167 (gst_base_src_loop):
4168 * libs/gst/controller/gstcontroller.c:/
4169 (_gst_controller_class_init):
4170 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4171 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4172 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
4173 * tests/old/examples/plugins/example.c: (gst_example_class_init):
4174 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
4175 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
4177 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
4179 * gst/gstpad.c: (gst_pad_link):
4180 Must set peer pads before calling the link function, otherwise
4181 a task started from a link function might get a flow-not-linked
4182 result when trying to push because the other thread where the
4183 linking happens hasn't had a chance to set the peers yet. This
4184 might happen for example when a queue gets linked to a downstream
4185 element, as queue starts a streaming task when its source pad
4186 gets linked. Happens in real life when playing back flac/musepack
4187 files in playbin (#332390).
4189 2006-04-08 Stefan Kost <ensonic@users.sf.net>
4193 * libs/gst/base/gstadapter.h:
4194 * libs/gst/base/gstbasesink.h:
4195 * libs/gst/base/gstbasesrc.h:
4196 * libs/gst/base/gstbasetransform.h:
4197 * libs/gst/base/gstcollectpads.h:
4198 * libs/gst/base/gstpushsrc.h:
4199 Fix broken GObject macros
4201 2006-04-07 Wim Taymans <wim@fluendo.com>
4203 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4204 Initialize start and stop times, thanks valgrind.
4206 2006-04-07 Wim Taymans <wim@fluendo.com>
4208 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4209 Be a bit nicer to badly behaving upstream elements that expect
4210 us to deal with non TIME segments and timestamps (such as fakesrc
4213 2006-04-07 Wim Taymans <wim@fluendo.com>
4216 Small documentation clarification about the signal watch.
4218 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4219 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4220 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4221 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
4222 (gst_base_sink_get_position_last),
4223 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
4224 Convert and store timestamps in stream time and running time, the
4225 raw timestamps are not usefull, also document this better.
4226 Use different window sizes for good and bad QoS observations so
4227 we react to badness a little quicker.
4228 Keep track of the amount of rendered and dropped buffers.
4229 Send QoS timestamps in running time.
4231 * libs/gst/base/gstbasetransform.c:
4232 (gst_base_transform_sink_eventfunc),
4233 (gst_base_transform_handle_buffer):
4234 Compare QoS timestamps against running time.
4236 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
4241 2006-04-06 Michael Smith <msmith@fluendo.com>
4243 * gst/gstpad.c: (gst_pad_set_property):
4244 Use g_value_get_object() instead of g_value_dup_gst_object(),
4245 to avoid double-reffing the pad template (which we then sink,
4246 so this worked previously if (and only if) the pad template
4249 * gst/gstpadtemplate.c: (gst_pad_template_init),
4250 (gst_pad_template_pad_created):
4251 Never return floating references to pad templates, create
4252 them as initially-sunken.
4254 Document an extra function (and make this stop sinking our
4255 pad template, since that is now guaranteed to do nothing,
4256 since we created it sunken).
4258 * gst/gstghostpad.c:
4261 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
4263 * gst/gstinfo.c: (__gst_in_valgrind):
4266 * plugins/elements/gsttypefindelement.c:
4267 (gst_type_find_element_chain):
4268 Don't leak buffer caps.
4270 2006-04-06 Michael Smith <msmith@fluendo.com>
4272 * gst/parse/grammar.y:
4273 Fix a leak in parse-launch for any source-or-sink named element
4276 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4277 Unref the pipeline if it exists after we've failed parsing.
4279 2006-04-05 Michael Smith <msmith@fluendo.com>
4281 * gst/gstpipeline.c: (gst_pipeline_init):
4282 When we create a pipeline bus, initially create it in flushing mode.
4283 Fixes leaks in at least one test, and makes a new pipeline work the
4284 same as one that has gone to READY and then back to NULL.
4289 2006-04-05 Michael Smith <msmith@fluendo.com>
4291 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4292 Unref a pad we reffed.
4293 * tests/check/gst/gstutils.c: (GST_START_TEST):
4296 2006-04-05 Michael Smith <msmith@fluendo.com>
4298 * gst/gstquery.c: (gst_query_set_formats),
4299 (gst_query_set_formatsv):
4300 Fix leaking GValues in queries, as shown by valgrind/testsuite.
4302 2006-04-05 Michael Smith <msmith@fluendo.com>
4304 * tests/check/generic/sinks.c: (GST_START_TEST):
4305 Fix a variety of memleaks in sinks check, which are only sometimes
4306 shown by running the tests under valgrind (weird?).
4308 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
4310 * docs/version.entities.in:
4311 Fix the substituted entity name after thomas' changes on the
4314 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
4316 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
4319 2006-04-05 Andy Wingo <wingo@pobox.com>
4321 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
4323 * libs/gst/base/gstbasetransform.c
4324 (gst_base_transform_sink_eventfunc): When resetting our segment on
4325 FLUSH_STOP, also update the flag saying we haven't seen a
4328 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
4330 Patch by: Paolo Borelli <pborelli at katamail dot com>
4332 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
4333 (gst_plugin_check_license):
4334 minor clean-ups: G_DEFINE_TYPE already takes care of the
4335 parent_class stuff, no need to do it twice. Mark array of
4336 license strings as constant. (#337103)
4338 2006-04-04 Michael Smith <msmith@fluendo.com>
4340 * tools/gst-inspect.c: (print_element_list):
4341 Free the right plugin list; fixes a memory leak.
4343 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
4345 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
4347 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4348 Don't error out on empty buffers (#336945).
4350 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
4352 * docs/libs/gstreamer-libs-sections.txt:
4354 * libs/gst/base/gstbasesink.c:
4355 * libs/gst/base/gstbasesink.h:
4356 * libs/gst/base/gstbasesrc.c:
4357 * libs/gst/base/gstbasesrc.h:
4358 Documentation updates. Make BaseSink and BaseSrc docs contain the
4359 class structure so that people can actually see the prototypes for
4360 virtual functions they're supposed to be overriding.
4362 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
4364 * plugins/elements/gsttypefindelement.c:
4365 (gst_type_find_element_chain):
4366 More debug info; when skipping typefinding, send cached
4367 events in all cases.
4369 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
4372 use new AS_VERSION and AS_NANO macros
4373 * gst/gst-i18n-lib.h:
4376 * gst/gstversion.h.in:
4377 * win32/common/config.h:
4378 * win32/common/config.h.in:
4381 2006-03-31 Michael Smith <msmith@fluendo.com>
4383 * plugins/elements/gsttypefindelement.c:
4384 (gst_type_find_element_chain):
4385 Do not typefind content if the buffers already have caps.
4386 Neccesary for icydemux (#333657), and the right thing to do anyway.
4388 2006-03-30 Wim Taymans <wim@fluendo.com>
4390 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4391 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
4392 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
4393 (gst_base_sink_record_qos_observation),
4394 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4395 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4396 (gst_base_sink_change_state):
4397 More QoS measurements as described in the design doc.
4398 Get rid of ringbuffer with observations, running average is
4399 more simple and equally good.
4400 Calculates valid proportion now.
4401 Added beginning of flood measurement.
4403 2006-03-29 Wim Taymans <wim@fluendo.com>
4405 * docs/design/part-qos.txt:
4407 Small documentation updates and additions.
4409 2006-03-29 Wim Taymans <wim@fluendo.com>
4411 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4412 (gst_base_src_send_event), (gst_base_src_loop),
4413 (gst_base_src_change_state):
4414 Perform the EOS logic when we reach the segment stop position.
4415 Fix compilation on gcc4.1
4417 2006-03-29 Wim Taymans <wim@fluendo.com>
4419 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
4421 * plugins/elements/gstqueue.c: (gst_queue_init),
4422 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4423 (gst_queue_set_property):
4424 * plugins/elements/gstqueue.h:
4425 In queue, when EOS is received, if minimum threshold > max_size -
4426 current_level, there is chance that queue blocks forever in conditional
4427 item del wait. This is because the queue is not emptied completely due
4428 to minimum threshold. Here is another approach. Instead of setting
4429 cur_levels to max in EOS, just zero all minimum threshold levels. This
4430 should make sure that queue gives out all data. When going to READY
4431 (stop) state, just reset the original minimum threshold levels.
4434 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
4436 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
4437 (gst_type_find_element_handle_event),
4438 (gst_type_find_element_send_cached_events),
4439 (gst_type_find_element_change_state):
4440 * plugins/elements/gsttypefindelement.h:
4441 When typefinding is done in push mode, we should cache
4442 events we receive during typefinding instead of just
4443 dropping them (e.g. newsegment, custom events from
4444 dvdreadsrc etc.) and then send them out once we've
4445 determined the type of the stream (and decodebin
4446 has had a chance to plug in a decoder/demuxer).
4448 2006-03-27 Wim Taymans <wim@fluendo.com>
4450 * docs/design/part-qos.txt:
4453 2006-03-27 Wim Taymans <wim@fluendo.com>
4455 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
4457 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4458 (gst_base_src_send_event), (gst_base_src_change_state):
4459 Handle element seek correctly when we are streaming.
4462 2006-03-24 Michael Smith <msmith@fluendo.com>
4464 * docs/faq/gst-uninstalled:
4465 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
4466 allow you to correctly run intalled applications built against old
4467 core, using plugins that require updated core (e.g. running
4468 installed totem against a full uninstalled gstreamer stack)
4470 2006-03-24 Stefan Kost <ensonic@users.sf.net>
4472 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4475 2006-03-24 Wim Taymans <wim@fluendo.com>
4477 * docs/gst/gstreamer-sections.txt:
4478 Rearrange the order of the methods so that related methods
4479 are grouped together in sections.
4481 2006-03-24 Stefan Kost <ensonic@users.sf.net>
4484 Little clarification in the docs
4486 2006-03-24 Stefan Kost <ensonic@users.sf.net>
4490 * plugins/elements/gstidentity.c:
4491 * plugins/elements/gstqueue.c:
4492 * plugins/elements/gsttee.c:
4493 * plugins/elements/gsttypefindelement.c:
4494 GST_ELEMENT_DETAILS formatting
4496 2006-03-24 Wim Taymans <wim@fluendo.com>
4498 * libs/gst/base/gstbasesink.h:
4499 Only add fields, not insert or we break ABI.
4501 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
4503 * win32/common/libgstbase.def:
4504 * win32/common/libgstreamer.def:
4505 Update, add recently added functions.
4507 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
4509 * docs/gst/gstreamer-sections.txt:
4510 * gst/gstutils.c: (gst_pad_query_peer_position),
4511 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
4513 API: add some new utility functions:
4514 - gst_pad_query_peer_position()
4515 - gst_pad_query_peer_duration()
4516 - gst_pad_query_peer_convert()
4518 2006-03-23 Wim Taymans <wim@fluendo.com>
4520 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4521 (gst_base_sink_init), (gst_base_sink_finalize),
4522 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
4523 (gst_base_sink_set_property), (gst_base_sink_get_property),
4524 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
4525 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4526 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
4527 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4528 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4529 (gst_base_sink_preroll_object), (gst_base_sink_event),
4530 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
4531 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4532 (gst_base_sink_query), (gst_base_sink_change_state):
4533 Decouple max-lateness and the fact that QoS messages are generated
4534 with a new property (qos).
4535 added API: GstBaseSink::async_play()
4536 Add vmethod so subclasses can be notified of ASYNC playing
4538 Collect timestamp start and stop to report better current
4539 position in EOS/PLAYING/PAUSED/READY/NULL.
4540 Refactor QoS/frame dropping and other measurements.
4541 API: GstBaseSrc::qos
4544 * libs/gst/base/gstbasesink.h:
4545 Added Private struct.
4546 API: gst_base_sink_set_qos_enabled()
4547 API: gst_base_sink_is_qos_enabled()
4549 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
4551 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
4552 If compiling against GLib-2.8 or newer, try to read the
4553 registry file using GMappedFile first before falling back
4554 to fopen() + fread() (#332151).
4556 2006-03-22 Wim Taymans <wim@fluendo.com>
4558 * gst/gstinfo.c: (gst_debug_set_active),
4559 (gst_debug_category_set_threshold):
4560 Disable debugging unless explicitly activated.
4563 2006-03-22 Wim Taymans <wim@fluendo.com>
4565 * gst/gstelement.c: (gst_element_set_locked_state),
4566 (gst_element_dispose):
4567 Cleanup the error case.
4569 * gst/gstobject.c: (gst_object_dispose):
4570 print a critical when some object was disposed with
4571 a parent, also revive the object since it might
4574 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
4576 * tools/gst-launch.1.in:
4579 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
4582 * tests/check/Makefile.am:
4583 disable some tests when we don't have a registry
4584 * tests/check/gst/gstutils.c: (gst_utils_suite):
4585 don't build the part that needs parsing
4587 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
4590 * tests/examples/Makefile.am:
4591 fix --disable-parse build
4593 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
4595 * tools/gst-feedback.1.in:
4596 Fix typo: s/feeback/feedback/ (#133494).
4598 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
4600 * tools/Makefile.am:
4601 * tools/gst-launch.1.in:
4602 Add FILES section and correct entry about GST_REGISTRY_PATH
4603 environment variable (#133495; #133494).
4605 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
4607 * tools/Makefile.am:
4608 * tools/gst-md5sum.1.in:
4609 * tools/gst-md5sum.c:
4610 Remove gst-md5sum and man page (the md5sink element
4611 required was removed ages ago)
4613 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
4615 * gst/gststructure.c: (gst_structure_id_set_value):
4616 Make sure that string fields in structures/taglists
4617 contain valid UTF-8 - we don't want to pass rubbish to
4618 applications because of a buggy plugin (cp. #334167).
4620 2006-03-21 Edward Hervey <edward@fluendo.com>
4622 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4623 (gst_bin_handle_message_func):
4624 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
4625 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
4626 (gst_element_set_bus_func):
4627 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
4628 * gst/gstminiobject.c: (gst_value_set_mini_object),
4629 (gst_value_take_mini_object):
4630 * gst/gstpad.c: (gst_pad_set_pad_template):
4631 * gst/gstpipeline.c: (gst_pipeline_dispose),
4632 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4633 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
4634 (gst_collect_pads_chain):
4635 * libs/gst/net/gstnettimeprovider.c:
4636 (gst_net_time_provider_set_property):
4637 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
4638 It's in fact all issues with gst_*object_replace().
4640 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
4642 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
4644 * pkgconfig/gstreamer-check-uninstalled.pc.in:
4645 * pkgconfig/gstreamer-check.pc.in:
4646 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
4648 2006-03-21 Edward Hervey <edward@fluendo.com>
4653 gst_[buffer|event|message]_ref() macros are replaced by a static
4654 inline functions because gcc-4.1 will about if the return value
4656 * tests/check/gst/gstevent.c: (event_probe):
4657 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
4659 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
4662 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
4663 the type' case. (Closes: #335195 for now). In the future, when we
4664 depend on GLib 2.10, we could also intern the type name using
4665 g_intern_static_string()
4667 2006-03-20 Wim Taymans <wim@fluendo.com>
4669 * gst/gstbin.c: (gst_bin_handle_message_func),
4670 (bin_query_max_init), (bin_query_position_fold),
4671 (bin_query_position_done), (gst_bin_query):
4672 Position query should also take max of all streams.
4674 2006-03-20 Wim Taymans <wim@fluendo.com>
4676 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4677 (gst_fake_src_finalize):
4678 Fix leaks in fakesrc.
4680 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4681 Fix leaks in the testcase.
4683 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
4685 * gst/gst_private.h:
4686 add win32 specific import decoration(__declspec(dllimport))
4687 for all extern GstDebugCategory * variables
4688 * win32/common/libgstbase.def:
4689 * win32/common/libgstcontroller.def:
4690 * win32/common/libgstreamer.def:
4691 Add some exports, remove empty lines
4692 * win32/common/libgstdataprotocol.def:
4693 * win32/common/libgstdataprotocol.dsp:
4694 * win32/common/libgstnet.def:
4695 * win32/common/libgstnet.dsp:
4696 new project files and exportation files added
4698 2006-03-19 Wim Taymans <wim@fluendo.com>
4700 * tests/check/libs/basesrc.c: (eos_event_counter):
4701 Use proper return value for probe.
4703 2006-03-17 Wim Taymans <wim@fluendo.com>
4705 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4707 Don't leak buffers, caps and pads on negotiation errors.
4709 2006-03-16 Stefan Kost <ensonic@users.sf.net>
4712 * docs/faq/dependencies.xml:
4713 * docs/faq/developing.xml:
4715 * docs/faq/general.xml:
4716 * docs/faq/getting.xml:
4717 * docs/faq/legal.xml:
4718 * docs/faq/troubleshooting.xml:
4719 * docs/faq/using.xml:
4720 Faq review and update.
4722 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
4724 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4726 Don't pound the cpu to pieces by checking get_caps when accept_caps
4727 is called with the same caps as the pad already has.
4728 Use GST_DEBUG_OBJECT when outputting caps change information.
4730 2006-03-15 Wim Taymans <wim@fluendo.com>
4732 * gst/gstclock.c: (gst_clock_class_init):
4735 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
4740 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
4741 (gst_pad_accept_caps), (gst_pad_configure_sink),
4742 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
4743 Make the default acceptcaps behaviour be to check the requested
4744 caps against the gst_pad_get_caps output.
4746 Ensure that gst_pad_accept_caps is used to check caps when a pad
4747 doesn't have a setcaps function, so that pads automatically refuse
4748 caps that they don't allow in their pad template. (Fixes #332986)
4750 When a buffer with attached caps is pushed, ensure that the source
4751 pad receives those caps even if the element didn't call
4752 gst_pad_set_caps first.
4754 2006-03-15 Wim Taymans <wim@fluendo.com>
4756 * libs/gst/base/gstadapter.c:
4759 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
4761 * win32/common/libgstbase.def:
4762 * win32/common/libgstcontroller.def:
4763 * win32/common/libgstreamer.def:
4764 Add a whole bunch of missing functions (#334434).
4766 2006-03-14 Wim Taymans <wim@fluendo.com>
4768 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4769 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4770 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
4771 Better debug info when we receive a segment event.
4772 Reorganize a bit so we can pass the get_times() results around.
4773 Use the segment format when calculating the running time.
4774 Don't do QoS is sync is disabled or we have no clock or the
4775 element does not want us to sync to the clock.
4776 Don't drop buffers if QoS is disabled for now.
4778 2006-03-14 Wim Taymans <wim@fluendo.com>
4780 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
4781 Marked the stats property as unimplemented so people don't get
4783 Add debug message when regression goes wrong.
4784 Added some more docs.
4786 2006-03-14 Wim Taymans <wim@fluendo.com>
4788 * gst/gstsegment.c: (gst_segment_to_stream_time):
4789 Return correct return type in case of errors.
4791 2006-03-14 Wim Taymans <wim@fluendo.com>
4793 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
4794 Don't segfault on invalid formats.
4796 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
4798 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4799 Can't use gst_segment_to_running_time() when the segment
4800 is not in GST_TIME_FORMAT (like with filesink, for example).
4801 Stops flac encoding pipelines from spewing critical warnings
4804 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
4806 * gst/gstpipeline.c: (gst_pipeline_class_init):
4807 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
4809 * plugins/elements/gsttypefindelement.c:
4810 (gst_type_find_element_handle_event):
4811 Don't try to typefind empty streams.
4813 2006-03-14 Wim Taymans <wim@fluendo.com>
4815 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4816 (gst_base_sink_do_qos):
4817 Separate QoS calculation.
4818 Only drop buffers when lateness is bigger than the
4819 duration of the buffer.
4821 2006-03-13 Wim Taymans <wim@fluendo.com>
4823 * gst/gstpipeline.c: (gst_pipeline_set_property),
4824 (gst_pipeline_get_property), (do_pipeline_seek),
4825 (gst_pipeline_change_state), (gst_pipeline_set_delay),
4826 (gst_pipeline_get_delay):
4827 Don't deadlock when reading properties.
4829 2006-03-13 Wim Taymans <wim@fluendo.com>
4831 * libs/gst/base/gstbasetransform.c:
4832 (gst_base_transform_class_init), (gst_base_transform_init),
4833 (gst_base_transform_sink_event),
4834 (gst_base_transform_sink_eventfunc),
4835 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
4836 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4837 (gst_base_transform_set_property),
4838 (gst_base_transform_get_property),
4839 (gst_base_transform_change_state), (gst_base_transform_update_qos),
4840 (gst_base_transform_set_qos_enabled),
4841 (gst_base_transform_is_qos_enabled):
4842 * libs/gst/base/gstbasetransform.h:
4843 Make basetransform virtual method for src events too.
4844 Handle QOS in basetransform.
4845 API: gst_base_transform_update_qos()
4846 API: gst_base_transform_set_qos_enabled()
4847 API: gst_base_transform_is_qos_enabled()
4849 2006-03-13 Wim Taymans <wim@fluendo.com>
4851 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4852 (gst_base_sink_do_sync):
4854 Use QOS debug category.
4856 2006-03-13 Wim Taymans <wim@fluendo.com>
4858 * plugins/elements/gstqueue.c:
4859 Very small doc update.
4861 2006-03-13 Wim Taymans <wim@fluendo.com>
4863 * gst/gst_private.h:
4864 * gst/gstinfo.c: (_gst_debug_init):
4865 Added QOS debug category
4867 2006-03-13 Wim Taymans <wim@fluendo.com>
4869 * docs/gst/gstreamer-sections.txt:
4870 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
4872 * gst/gstbus.c: (gst_bus_class_init):
4875 * gst/gstelement.c: (gst_element_set_locked_state):
4877 Documentation updates.
4879 * gst/gstpipeline.c: (gst_pipeline_get_type),
4880 (gst_pipeline_class_init), (gst_pipeline_init),
4881 (gst_pipeline_dispose), (gst_pipeline_set_property),
4882 (gst_pipeline_get_property), (do_pipeline_seek),
4883 (gst_pipeline_send_event), (gst_pipeline_change_state),
4884 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
4885 (gst_pipeline_get_delay):
4886 * gst/gstpipeline.h:
4887 Added methods for setting the delay.
4888 API: gst_pipeline_set_delay()
4889 API: gst_pipeline_get_delay()
4890 Add pipeline debug category
4893 Don't reset stream time when seek failed.
4895 2006-03-13 Wim Taymans <wim@fluendo.com>
4897 * docs/design/draft-klass.txt:
4898 * docs/design/part-clocks.txt:
4899 * docs/design/part-events.txt:
4900 * docs/design/part-gstbin.txt:
4901 * docs/design/part-gstpipeline.txt:
4902 * docs/design/part-messages.txt:
4903 * docs/design/part-negotiation.txt:
4904 * docs/design/part-overview.txt:
4905 * docs/design/part-preroll.txt:
4906 * docs/design/part-seeking.txt:
4907 * docs/design/part-states.txt:
4908 * docs/design/part-streams.txt:
4909 Documentation updates.
4911 2006-03-12 Julien MOUTTE <julien@moutte.net>
4913 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
4914 us to leak strings...
4916 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
4918 * libs/gst/net/gstnettimeprovider.c:
4920 * win32/common/config.h:
4923 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
4925 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
4928 Don't check for libgnomeui (leftover from old examples
4929 that aren't built or disted any longer) (#334303).
4931 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
4933 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4934 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4935 Emit RESOURCE_NO_SPACE_LEFT error here as well when
4936 there's no space left on the device.
4938 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
4941 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
4942 to cast the input to GstClockTime before comparing with
4943 another GstClockTime value.
4945 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
4950 === release 0.10.4 ===
4952 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
4955 releasing 0.10.4, "Light"
4957 2006-03-10 Michael Smith <msmith@fluendo.com>
4959 * libs/gst/dataprotocol/dataprotocol.c:
4960 Fix docs for dataprocotol to not get the return types completely
4961 wrong for a few functions.
4963 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
4965 * docs/gst/gstreamer-sections.txt:
4966 * gst/gstpipeline.c: (gst_pipeline_class_init),
4967 (gst_pipeline_init), (gst_pipeline_set_property),
4968 (gst_pipeline_get_property), (gst_pipeline_change_state),
4969 (gst_pipeline_set_auto_flush_bus),
4970 (gst_pipeline_get_auto_flush_bus):
4971 * gst/gstpipeline.h:
4972 Add new API: gst_pipeline_set_auto_flush_bus() and
4973 gst_pipeline_get_auto_flush_bus() to disable automatic
4974 flushing of the pipeline's GstBus when going from READY
4975 to NULL state (#332045).
4977 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
4979 * docs/gst/gstreamer-sections.txt:
4980 * gst/gsturi.c: (gst_uri_has_protocol):
4982 Add new API: gst_uri_has_protocol() (#333779).
4984 2006-03-09 Wim Taymans <wim@fluendo.com>
4986 * gst/gstclock.c: (gst_clock_entry_new),
4987 (gst_clock_id_compare_func), (gst_clock_id_wait),
4988 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
4989 (gst_clock_init), (gst_clock_get_internal_time),
4990 (gst_clock_set_master), (do_linear_regression),
4991 (gst_clock_add_observation), (gst_clock_set_property):
4995 Fix a possible segfault when the window-size is made smaller.
4996 Calculate jitter before performing the clock wait. Ideally
4997 the clock implementation should calculate jitter but we need
4998 API breakage for that.
5000 * gst/gstsystemclock.c: (gst_system_clock_init):
5003 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5004 Remove leftover else
5006 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5007 (gst_systemclock_suite):
5008 Added check to test GST_CLOCK_DIFF.
5010 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
5012 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
5013 (gst_type_find_helper_get_range):
5014 If we are provided with the size, we should implement
5015 GstTypeFind::get_length, so that typefind functions who
5016 want to can actually peek at the middle of a file.
5018 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
5020 * docs/manual/advanced-dataaccess.xml:
5021 Add some very very basic error checking.
5023 * docs/pwg/appendix-checklist.xml:
5024 Some updates to the list of things to check when writing an element.
5026 2006-03-08 Wim Taymans <wim@fluendo.com>
5028 * docs/design/part-element-transform.txt:
5029 Added some docs about the design of tranform elements.
5031 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5032 (gst_base_src_loop), (gst_base_src_change_state):
5033 Mark buffers with the DISCONT flag.
5035 2006-03-08 Michael Smith <msmith@fluendo.com>
5037 * gst/gstregistry.h:
5038 * gst/gstregistryxml.c: (gst_registry_save),
5039 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
5040 (gst_registry_xml_save_pad_template),
5041 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
5042 (gst_registry_xml_write_cache):
5043 Rewrite registry-saving to avoid race conditions and check for
5046 2006-03-08 Wim Taymans <wim@fluendo.com>
5048 * libs/gst/base/gstbasetransform.c:
5049 (gst_base_transform_transform_caps),
5050 (gst_base_transform_transform_size),
5051 (gst_base_transform_prepare_output_buffer),
5052 (gst_base_transform_get_unit_size),
5053 (gst_base_transform_buffer_alloc),
5054 (gst_base_transform_handle_buffer),
5055 (gst_base_transform_change_state):
5056 Cleanups, separate normal flow from errors, add sensible
5058 Don't try to renegotiate when allocating an output buffer.
5059 Also copy DISCONT buffer flag when copying a buffer.
5060 Reset the transform after we finish streaming, not during.
5062 2006-03-08 Wim Taymans <wim@fluendo.com>
5064 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5065 Use last buffer timestamp in qos message.
5067 2006-03-07 Wim Taymans <wim@fluendo.com>
5069 Patch by: Christophe Fergeau
5071 * docs/pwg/advanced-tagging.xml:
5072 * docs/pwg/building-pads.xml:
5075 2006-03-07 Wim Taymans <wim@fluendo.com>
5077 * docs/libs/gstreamer-libs-sections.txt:
5078 Added basesink new methods.
5082 Docs updates. Flesh out the QoS docs.
5084 * libs/gst/base/gstadapter.c:
5085 Small doc clarification about ownership and flushing.
5087 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
5088 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
5089 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
5090 (gst_base_sink_get_property), (gst_base_sink_do_sync):
5091 * libs/gst/base/gstbasesink.h:
5093 Added new methods to allow subclass to control max-lateness
5095 Generate very basic QoS events based on last sync observation.
5096 Updated docs, fix typo, added some QoS blurb.
5098 * libs/gst/base/gstbasesrc.c:
5099 Remove obsolete _get_state() calls from docs.
5101 2006-03-07 Wim Taymans <wim@fluendo.com>
5103 * docs/libs/gstreamer-libs-sections.txt:
5104 * libs/gst/base/gstbasetransform.h:
5105 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
5106 Fix docs for GstBaseSrc.
5108 2006-03-07 Wim Taymans <wim@fluendo.com>
5110 * docs/gst/gstreamer-sections.txt:
5113 * libs/gst/base/gstbasetransform.h:
5114 Small documentation fixes.
5116 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
5119 Document thread-unsafety of gst_value_register_foo_func()
5120 when used at the same time as gst_value_foo() (#322628).
5122 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
5124 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
5125 (gst_push_src_check_get_range):
5126 Push sources don't support pull mode by default.
5128 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
5130 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5131 (gst_base_src_init), (gst_base_src_pad_check_get_range),
5132 (gst_base_src_default_check_get_range):
5133 * libs/gst/base/gstbasesrc.h:
5134 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
5135 provide default implementation, and rename
5136 gst_base_src_check_get_range() to
5137 gst_base_src_pad_check_get_range() for clarity.
5139 2006-03-06 Wim Taymans <wim@fluendo.com>
5141 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5142 Make property overridable.
5144 2006-03-06 Wim Taymans <wim@fluendo.com>
5146 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5147 (gst_base_sink_init), (gst_base_sink_set_property),
5148 (gst_base_sink_get_property), (gst_base_sink_do_sync):
5149 * libs/gst/base/gstbasesink.h:
5150 API addition: Make max-lateness a property.
5152 2006-03-06 Wim Taymans <wim@fluendo.com>
5154 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
5155 (gst_base_sink_do_sync), (gst_base_sink_render_object):
5156 Don't ever draw a frame that is >10ms late.
5158 2006-03-06 Michael Smith <msmith@fluendo.com>
5160 * gst/gstmessage.c: (_gst_message_copy):
5161 When copying a message, set the parent_refcount of the enclosed
5162 structure to point at the copy, not the original message.
5164 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
5166 Patch by: Christophe Fergeau
5169 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
5170 usable in c++ code (#333417)
5172 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
5175 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
5177 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
5179 * libs/gst/base/gstbasetransform.c:
5180 (gst_base_transform_transform_caps):
5181 Make sure caps are writable before passing them to
5184 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
5187 Fix some minor docs errors.
5189 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
5191 Patch by: Ross Burton <ross at burtonini dot com>
5193 * gst/gsterror.c: (_gst_resource_errors_init):
5195 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
5197 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
5200 Add a check and output a g_warning when GStreamer is built
5201 against GLib 2.6 but running against 2.8 or higher, and vice
5202 versa. (Closes: #323542)
5204 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
5206 * gst/parse/parse.l:
5207 Commit patch for parse_launch syntax from #331255. Removes
5208 support for quoted strings and mimetypes when writing filtered
5209 caps. See the bug report for more details - I'm pretty sure this
5210 obscure feature is not in use by _anyone_ anywhere.
5212 With this simple change, the size of the gstreamer.so here
5213 drops from 2193KB to 1565KB.
5215 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
5217 * plugins/elements/gsttypefindelement.h:
5218 * plugins/elements/gsttypefindelement.c:
5219 (gst_type_find_element_src_event), (start_typefinding),
5220 (stop_typefinding), (gst_type_find_element_handle_event),
5221 (gst_type_find_element_chain),
5222 (gst_type_find_element_chain_do_typefinding):
5223 Use gst_type_find_helper_for_buffer() for chain-based
5226 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
5228 * plugins/elements/gsttypefindelement.c:
5229 (gst_type_find_element_class_init),
5230 (gst_type_find_element_set_property),
5231 (gst_type_find_element_get_property):
5232 Deprecate "maximum" property (not only was it only taken into
5233 account for typefinding in push-mode anyway, it also was never
5234 actually possible to set it in the first place because the
5235 property was registered with the numeric property ID for the
5236 "minimum" property). Register "maximum" property correctly,
5237 for the sake of future copy'n'pasters. Remove some cruft
5238 from property get/set functions.
5240 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
5242 * plugins/elements/gsttypefindelement.c:
5243 (gst_type_find_element_activate):
5244 Use gst_type_find_helper_get_range() here, so we
5245 can honour the "minimum" property and also emit
5246 the signal with the correct probability of the found caps.
5248 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
5250 * docs/libs/gstreamer-libs-sections.txt:
5251 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
5252 (helper_find_suggest), (gst_type_find_helper_get_range),
5253 (gst_type_find_helper):
5254 * libs/gst/base/gsttypefindhelper.h:
5255 New API: gst_type_find_helper_get_range() (#333042).
5257 2006-03-02 Michael Smith <msmith@fluendo.com>
5259 * gst/gstregistryxml.c: (load_feature):
5260 Asserting on a failure to read part of the registry is Not Cool.
5261 Just log a warning and return NULL (which is already handled)
5263 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
5265 * win32/common/libgstbase.def:
5266 added export of gst_type_find_helper_for_buffer
5267 * win32/common/libgstbase.def:
5268 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
5269 gst_ghost_pad_get_target
5271 2006-02-28 Wim Taymans <wim@fluendo.com>
5273 * docs/design/draft-klass.txt:
5275 Added Connector to mark elements that are only used to
5276 allow pipeline connections.
5277 Moved Debug to extra feature since most of them are
5278 functionally something else.
5280 2006-02-28 Wim Taymans <wim@fluendo.com>
5282 * docs/design/draft-klass.txt:
5283 Some updates and clarifications.
5285 2006-02-28 Wim Taymans <wim@fluendo.com>
5287 * docs/design/draft-klass.txt:
5288 Proposal for klass field values.
5290 * docs/design/part-streams.txt:
5291 Start of a doc describing stream anatomy.
5293 2006-02-28 Wim Taymans <wim@fluendo.com>
5295 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
5296 Help the compiler a bit with type registration.
5297 Use existing forward cod path instead of duplicating it when
5300 * gst/gstbus.c: (gst_bus_get_type):
5301 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
5302 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
5303 * gst/gstclock.c: (gst_clock_get_type):
5304 * gst/gstelement.c: (gst_element_get_type),
5305 * gst/gstelementfactory.c: (gst_element_factory_get_type):
5306 * gst/gstindexfactory.c: (gst_index_factory_get_type):
5307 * gst/gstminiobject.c: (gst_mini_object_get_type):
5308 * gst/gstpad.c: (gst_pad_get_type):
5309 * gst/gstsegment.c: (gst_segment_get_type):
5310 * gst/gststructure.c: (gst_structure_get_type):
5311 * gst/gstsystemclock.c: (gst_system_clock_get_type):
5312 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
5314 Help compiler with type registration.
5316 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5319 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
5321 * plugins/elements/gsttypefindelement.c:
5322 (gst_type_find_element_handle_event):
5323 When we get an EOS event and have not found a type yet
5324 (most likely because we had not yet accumulated
5325 TYPE_FIND_MIN_SIZE of data yet), try to determine the
5326 type given the data we have so far. Fixes typefinding
5327 for very short streams again, most notably quicktime
5328 redirections as used on Apple's trailer site (#331701).
5330 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
5332 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
5333 (gst_type_find_helper):
5334 Try typefinding factories with the highest rank first.
5336 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
5338 * docs/libs/gstreamer-libs-docs.sgml:
5339 * docs/libs/gstreamer-libs-sections.txt:
5340 * libs/gst/base/gsttypefindhelper.c:
5341 Add section for typefind helper and add documentation
5342 for the old and the new function.
5344 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
5346 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
5347 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
5348 (gst_type_find_helper_for_buffer):
5349 * libs/gst/base/gsttypefindhelper.h:
5350 New API: gst_type_find_helper_for_buffer() (#332723).
5352 2006-02-27 Michael Smith <msmith@fluendo.com>
5354 Patch by: Loïc Minier
5358 * docs/slides/Makefile.am:
5359 prevent CVS directories getting disted.
5361 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
5363 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
5364 Use the REFCOUNTING category for caps refcounting.
5366 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
5368 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5369 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
5371 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
5373 * plugins/elements/gsttypefindelement.c:
5374 (gst_type_find_element_activate):
5375 Use gst_pad_check_pull_range() before _activate_pull()
5376 to avoid unnecessary open/close (see #331690).
5378 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
5381 Docs enhancement: make it crystal clear what the
5382 gst_pad_add_*_probe() callbacks should look like.
5384 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
5386 * libs/gst/base/gstbasesrc.c:
5387 Document how applications can stop recording from
5388 live sources (see #330996).
5390 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
5392 * tests/check/Makefile.am:
5393 * tests/check/libs/basesrc.c: (eos_event_counter),
5394 (basesrc_eos_events_pull), (basesrc_eos_events_push),
5395 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
5396 (gst_basesrc_suite), (main):
5397 ... and add some tests for the base source EOS stuff.
5399 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
5401 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
5402 Test case originally showed the problem fixed below,
5403 but was then amended. Add checks back at the place
5404 where they used to be.
5406 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
5408 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5409 (gst_base_src_init), (gst_base_src_loop),
5410 (gst_base_src_activate_push), (gst_base_src_activate_pull),
5411 (gst_base_src_change_state):
5412 * libs/gst/base/gstbasesrc.h:
5413 Don't unconditionally send EOS when going from PAUSED to
5414 READY state, esp. make sure we don't send two EOS events
5415 in some cases (e.g. one when reaching EOS and one when
5416 going from PAUSED to READY). Also, we don't want to send
5417 EOS events when operating in pull mode. However, we do
5418 want to send an EOS event when shutting down a live
5419 source explicitly, for example (fixes #330996).
5421 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
5423 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5424 Update src->read_position after a seek when not using mmap.
5425 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
5427 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
5433 Make things work with --disable-parse as they do with
5434 --disable-load-save - the symbols involved disappear, but the
5435 header is still installed and GST_DISABLE_PARSE is included via
5438 2006-02-20 Julien MOUTTE <julien@moutte.net>
5440 * libs/gst/base/gstbasetransform.c:
5441 (gst_base_transform_change_state): Fix a stupid bug. I was
5442 sure I compiled that.
5444 2006-02-20 Julien MOUTTE <julien@moutte.net>
5446 * gst/gstpad.c: (gst_pad_set_blocked_async):
5447 * gst/gstutils.c: (gst_pad_add_data_probe),
5448 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5449 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5450 (gst_pad_remove_buffer_probe): Make those function act on the
5451 ghostpad target when it's a ghostpad. (Closes #331727)
5453 2006-02-20 Julien MOUTTE <julien@moutte.net>
5455 * libs/gst/base/gstbasetransform.c:
5456 (gst_base_transform_change_state): Make basetransform reusable.
5459 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
5461 * docs/random/release:
5462 Move the current documentation of how to do a release to the top
5465 * gst/gstbin.c: (gst_bin_class_init),
5466 (gst_bin_handle_message_func):
5467 Allow multiple state-recalculation threads. (Closes #328873)
5469 2006-02-19 Julien MOUTTE <julien@moutte.net>
5471 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
5472 * gst/gstpad.c: (gst_pad_set_event_function),
5473 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5474 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
5475 2 strings. You can't use the STR_NULL macro on that.
5477 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
5479 * gst/gstpad.c: (gst_pad_set_event_function),
5480 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5481 (gst_pad_set_getcaps_function)
5482 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
5483 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
5484 So now, we can use --gst-debug-level=5 on Windows
5485 * win32/common/libgstcontroller.def:
5486 Added export of gst_controller_init
5487 * win32/vs6/libgstcontroller.dsp:
5488 Fixed Release post build configuration
5490 2006-02-17 Wim Taymans <wim@fluendo.com>
5492 * tests/check/gst/gstquery.c: (GST_START_TEST):
5493 Added another check.
5495 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
5497 * plugins/elements/gsttypefindelement.c: (find_peek):
5498 We can do peeks at non-zero offsets, as long as they
5499 fall within the buffer we have.
5501 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
5503 * tests/check/Makefile.am:
5504 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
5505 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
5506 (parse_suite), (main):
5507 Add testsuite for parse launch syntax
5509 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
5511 * plugins/elements/gsttypefindelement.c:
5512 (gst_type_find_element_chain):
5513 When typefinding is unsuccessful in the chain function, don't
5514 error out immediately. Only error out with NO_CAPS_FOUND if
5515 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
5516 otherwise simply wait for more data so we can try typefinding
5517 again with more data later. Also, don't attempt to typefind
5518 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
5519 this should improve typefinding from network sources where the
5520 size of the first buffer can be somewhat random.
5522 2006-02-14 Wim Taymans <wim@fluendo.com>
5524 * docs/gst/gstreamer-sections.txt:
5525 * gst/gstpadtemplate.c:
5526 * gst/gstpadtemplate.h:
5527 Fix padtemplate docs, fixes #328805.
5529 2006-02-14 Wim Taymans <wim@fluendo.com>
5531 * tools/gst-launch.c: (main):
5532 NO_PREROLL is not an ERROR so don't send confusing messages
5535 2006-02-14 Wim Taymans <wim@fluendo.com>
5537 Patch by: Torsten Schoenfeld
5539 * gst/gstregistry.c: (gst_registry_get_default),
5540 (_gst_registry_cleanup):
5541 Protect default registry with lock and ref/sink it.
5544 2006-02-14 Wim Taymans <wim@fluendo.com>
5547 * gst/gstquery.c: (gst_query_list_add_format),
5548 (gst_query_set_formatsv), (gst_query_parse_formats_length),
5549 (gst_query_parse_formats_nth):
5550 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5553 2006-02-14 Wim Taymans <wim@fluendo.com>
5555 * docs/gst/gstreamer-sections.txt:
5556 Reworked query docs.
5558 * gst/gstquery.c: (gst_query_new_formats),
5559 (gst_query_list_add_format), (gst_query_set_formats),
5560 (gst_query_set_formatsv), (gst_query_parse_formats_length),
5561 (gst_query_parse_formats_nth):
5563 Flesh out formats query, added some new methods.
5564 Fix part of #324398.
5566 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
5567 Added query creation tests.
5569 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
5571 * gst/gstpad.c: (fixate_value):
5572 Add a default fixation for fraction lists.
5574 2006-02-13 Wim Taymans <wim@fluendo.com>
5576 * gst/gsttask.c: (gst_task_init), (gst_task_func),
5577 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
5580 Detect and warn for obvious deadlocks. fixes #320340
5581 Fix error case where lock was not released.
5583 * tests/check/Makefile.am:
5584 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
5585 (task_func), (gst_element_suite), (main):
5588 2006-02-13 Wim Taymans <wim@fluendo.com>
5590 * docs/gst/gstreamer-sections.txt:
5592 Add new functions to docs.
5594 2006-02-13 Wim Taymans <wim@fluendo.com>
5596 * docs/design/part-TODO.txt:
5597 Updated TODO list, basesrc supports seeking to non-bytes
5600 * docs/design/part-element-sink.txt:
5603 * gst/gstbin.c: (bin_replace_message),
5604 (gst_bin_handle_message_func):
5605 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
5606 * gst/gstevent.c: (gst_event_finalize):
5607 * gst/gstpad.c: (gst_pad_event_default_dispatch),
5608 (gst_pad_send_event):
5609 Use shiny new _TYPE_NAME macros.
5611 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5612 Move debug statement up.
5614 * gst/gstelement.c: (gst_element_set_locked_state):
5617 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
5619 * docs/gst/gstreamer-sections.txt:
5622 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
5623 macros (#330906). Also, document the already existing
5624 GST_QUERY_TYPE macro.
5626 2006-02-13 Wim Taymans <wim@fluendo.com>
5628 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
5629 (event_probe), (GST_START_TEST):
5630 Only events up to the pipeline EOS are counted, there are
5631 some more when going to NULL currently which we don't care
5634 2006-02-13 Wim Taymans <wim@fluendo.com>
5636 * gst/gstpad.c: (gst_pad_send_event):
5637 Correctly check flushing and emit probes. fixes #330125
5639 2006-02-10 Andy Wingo <wingo@pobox.com>
5641 * gst/gstbus.c (gst_bus_class_init): Declare our private data
5643 (gst_bus_init): Cache the location of the private data in the
5645 (gst_bus_enable_sync_message_emission)
5646 (gst_bus_disable_sync_message_emission): Implement new public
5648 (gst_bus_post): Emit the sync-message signal if the user asked for
5651 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
5652 location of the bus-private structure.
5653 (gst_bus_enable_sync_message_emission)
5654 (gst_bus_disable_sync_message_emission): API addition
5656 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
5658 Patch by: Vincent Torri
5660 * docs/pwg/building-boiler.xml:
5661 PWG patch from #326800
5663 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
5667 * docs/design/Makefile.am:
5670 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
5675 === release 0.10.3 ===
5677 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
5680 releasing 0.10.3, "Like a virgin"
5682 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
5685 2nd prerelease of 0.10.3
5686 Bump libtool versioning.
5688 2006-02-07 Andy Wingo <wingo@pobox.com>
5690 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
5691 update last_stop if we're in TIME format and the timestamp is
5694 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
5695 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
5696 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
5697 If we get a new newsegment with a different format, adapt
5700 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
5701 of 0. Not a problem, really.
5703 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
5706 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
5711 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
5714 project files updated to the default vs7 configuration
5715 * win32/common/libgstbase.def:
5716 * win32/common/libgstreamer.def:
5718 removed empty lines,
5719 sorted all exported symbols alphabetically
5720 * win32/common/dirent.c:
5721 * win32/common/dirent.h:
5722 * win32/common/gchar.h:
5723 use windows line end.
5725 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
5727 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5728 Send EOS event when stopping.
5730 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
5733 Tell folks what to do if the plugin-foobar.xml file
5734 hasn't been generated for a newly-added plugin.
5736 2006-02-05 Julien MOUTTE <julien@moutte.net>
5738 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5739 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5740 (gst_collect_pads_start), (gst_collect_pads_stop),
5741 (gst_collect_pads_event): Collectpads now holds a reference
5742 to the GstPad that was added. Indeed we don't want to look
5743 at pads that might just go away with no warning...
5745 2006-02-05 Julien MOUTTE <julien@moutte.net>
5747 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5748 (gst_collect_pads_start), (gst_collect_pads_stop),
5749 (gst_collect_pads_event), (gst_collect_pads_chain):
5750 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
5751 Mark Nauwelaerts's patch on bug #328491.
5753 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
5755 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
5757 Add some simple tests for gst_parse_bin_from_description() and
5758 gst_bin_find_unconnected_pad() (#329069).
5760 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
5762 * tools/gst-launch.c: (event_loop), (main):
5763 Catch errors during preroll (#320084).
5765 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
5767 * plugins/elements/gsttypefindelement.c:
5768 (gst_type_find_element_activate):
5769 Post TYPE_NOT_FOUND error message when typefinding
5770 is unsuccessful in the activate function as well.
5772 2006-02-02 Wim Taymans <wim@fluendo.com>
5774 * docs/design/part-element-sink.txt:
5777 2006-02-02 Wim Taymans <wim@fluendo.com>
5779 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
5780 (gst_base_sink_render_object),
5781 (gst_base_sink_queue_object_unlocked):
5782 Only keep track of prerollable items when we are
5784 Before rendering after preroll, always check if we
5786 Added some more debugging.
5788 2006-02-02 Wim Taymans <wim@fluendo.com>
5790 * gst/gstelement.c: (gst_element_continue_state),
5791 (gst_element_set_state_func), (gst_element_change_state):
5792 Fixed #326576, been running this for quite some time with
5793 no regressions at all.
5795 2006-02-02 Wim Taymans <wim@fluendo.com>
5798 Added more suppressions
5800 2006-02-02 Wim Taymans <wim@fluendo.com>
5802 * docs/design/part-element-sink.txt:
5805 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5806 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
5807 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
5808 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
5809 (gst_base_sink_do_sync), (gst_base_sink_render_object),
5810 (gst_base_sink_preroll_object),
5811 (gst_base_sink_queue_object_unlocked),
5812 (gst_base_sink_queue_object), (gst_base_sink_event),
5813 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
5814 (gst_base_sink_loop), (gst_base_sink_activate_pull),
5815 (gst_base_sink_get_position), (gst_base_sink_change_state):
5816 * libs/gst/base/gstbasesink.h:
5817 Totally refactored matching the design doc.
5818 Use two segments, one to clip incomming buffers and another to
5820 Handle queueing correctly, bypass the queue when playing.
5821 Make EOS cancelable.
5822 Handle errors correctly when operating in pull based mode.
5824 * tests/check/elements/fakesink.c: (GST_START_TEST),
5826 Added new check for sinks.
5828 2006-02-02 Wim Taymans <wim@fluendo.com>
5830 * gst/gstsegment.c: (gst_segment_clip):
5831 No reason to refuse to clip when start == -1
5833 2006-02-02 Stefan Kost <ensonic@users.sf.net>
5836 * docs/manual/intro-basics.xml:
5837 * docs/manual/intro-preface.xml:
5838 * docs/manual/manual.xml:
5839 * docs/pwg/advanced-dparams.xml:
5840 * docs/pwg/intro-basics.xml:
5841 * docs/pwg/intro-preface.xml:
5843 describe dparams (controller) for plugins
5844 unify docs a little more
5846 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
5848 * docs/gst/gstreamer-sections.txt:
5849 * gst/gstutils.c: (element_find_unconnected_pad),
5850 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
5852 Add new API: gst_parse_bin_from_description() and
5853 gst_bin_find_unconnected_pad() (#329069).
5855 2006-02-01 Stefan Kost <ensonic@users.sf.net>
5857 * docs/manual/README:
5858 uncover a nasty detail of the docs build
5860 2006-01-31 Wim Taymans <wim@fluendo.com>
5862 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
5863 Don't cache duration messages if we're not going to use or
5866 2006-01-31 Stefan Kost <ensonic@users.sf.net>
5868 * docs/manual/advanced-dparams.xml:
5869 * docs/pwg/advanced-dparams.xml:
5873 * libs/gst/controller/lib.c: (gst_controller_init):
5876 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
5878 * gst/gstelement.c: (gst_element_message_full):
5879 also show file/line/func if no additional debug was given
5881 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
5883 * win32/vs7/grammar.vcproj:
5884 activate copy of autogenerated files for Release mode
5886 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
5888 * win32/common/libgstreamer.def:
5889 export gst_value_compare
5891 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
5893 * plugins/elements/Makefile.am:
5894 * plugins/elements/gstelements.c:
5895 * plugins/elements/gstfdsink.c: (_do_init),
5896 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
5897 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
5898 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
5899 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
5900 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
5901 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
5902 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
5903 * plugins/elements/gstfdsink.h:
5904 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
5906 2006-01-30 Stefan Kost <ensonic@users.sf.net>
5908 * docs/manual/advanced-dparams.xml:
5910 * docs/manual/advanced-position.xml:
5911 * docs/manual/basics-init.xml:
5912 * docs/manual/manual.xml:
5913 * docs/manual/titlepage.xml:
5915 * docs/pwg/titlepage.xml:
5916 cleanup xml (more to come)
5917 * libs/gst/controller/gstcontroller.c:
5920 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
5922 * win32/vs6/grammar.dsp:
5923 add autogen of gstmarshal.c,h for Release mode
5925 2006-01-30 Wim Taymans <wim@fluendo.com>
5927 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5928 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
5929 (gst_base_sink_handle_object), (gst_base_sink_event),
5930 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
5931 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5932 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
5933 (gst_base_sink_deactivate), (gst_base_sink_activate),
5934 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5935 (gst_base_sink_query), (gst_base_sink_change_state):
5936 Basesink cleanups, remove some old code.
5937 Handle the case where a subclass can preroll in the render
5938 method (mostly audiosinks).
5940 Remove some locks around variables that are now protected
5941 with the PREROLL_LOCK (clock_id, flushing, ..).
5942 Optimize position query some more, do correct locking.
5943 Remove old code to push queue in state change, this is not
5944 needed anymore since preroll blocks on all prerollable items
5946 Almost implemented as described in design doc.
5948 2006-01-30 Wim Taymans <wim@fluendo.com>
5950 * tests/check/gst/gstbin.c: (GST_START_TEST):
5951 Wait for refcount to settle down before checking.
5953 2006-01-30 Wim Taymans <wim@fluendo.com>
5955 * docs/design/part-element-sink.txt:
5956 Pseudo code overview of desired sink behaviour regarding
5959 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
5960 * win32/vs6/grammar.dsp:
5961 fix some bugs in Release mode for autogenerated files
5963 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
5964 * win32/common/libgstbase.def:
5965 * win32/common/libgstreamer.def:
5966 export some new symbols: gst_base_src_set_format,
5967 gst_iterator_next, gst_structure_set_valist
5969 2006-01-29 Julien MOUTTE <julien@moutte.net>
5971 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5972 Set pad functions unconditionally. Fixes #329105.
5974 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
5976 add vs8 project files created by Sergey Scobich
5978 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
5980 * gst/gstutils.c: (gst_element_unlink_pads):
5981 Don't leak pad references.
5983 * tests/check/elements/fakesink.c: (GST_START_TEST):
5984 * tests/check/generic/sinks.c: (GST_START_TEST):
5985 * tests/check/generic/states.c: (GST_START_TEST):
5986 * tests/check/gst/gstbin.c: (GST_START_TEST):
5987 * tests/check/gst/gstcaps.c: (GST_START_TEST):
5988 * tests/check/gst/gstelement.c: (GST_START_TEST):
5989 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5990 * tests/check/gst/gstiterator.c: (GST_START_TEST):
5991 * tests/check/gst/gstvalue.c: (GST_START_TEST):
5992 Fix a bunch of leaks. Make generic/sinks.c
5993 use a bit less cpu by slowing the buffer rate
5994 between fakesrc and fakesink.
5996 2006-01-27 Stefan Kost <ensonic@users.sf.net>
5998 * gst/gstelement.c: (gst_element_send_event):
6001 * gst/gstiterator.c:
6002 * gst/gstiterator.h:
6003 * gst/gstpad.c: (gst_pad_send_event):
6004 * gst/gststructure.c:
6008 * libs/gst/base/gstadapter.c:
6009 doc fixes, to link to function, just write gst_cool_function(), don't
6012 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
6014 * plugins/elements/gsttee.c: (gst_tee_do_push),
6015 (gst_tee_handle_buffer):
6016 Always prefer an actual return value from a src
6017 pad in place of NOT_LINKED. This means we return
6018 WRONG_STATE when all src pads are WRONG_STATE
6019 instead of NOT_LINKED.
6021 Lock when replacing the last message to prevent
6022 racing with the get_property method.
6026 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
6028 * tests/check/Makefile.am:
6029 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
6031 Add a very simple check that should have caught the memleak I fixed
6032 last night (if not for the slice allocator hiding it)
6034 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
6036 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6037 (gst_bin_remove_func), (gst_bin_handle_message_func),
6038 (bin_query_duration_fold), (bin_query_generic_fold):
6039 Clean up references to the clock provider when disposed or when
6040 handling a clock-lost message from it.
6042 Unref sinks when performing a query via gst_iterator_fold, as the
6043 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
6045 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
6046 (gst_clock_set_master):
6047 Drop our reference to the master clock, if any, when we are disposed.
6049 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
6050 Chain up in dispose.
6052 2006-01-26 Wim Taymans <wim@fluendo.com>
6054 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
6057 2006-01-26 Julien MOUTTE <julien@moutte.net>
6059 * plugins/elements/gsttee.c: (gst_tee_do_push),
6060 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
6061 handles pad being NOT_LINKED or in WRONG_STATE.
6063 2006-01-26 Stefan Kost <ensonic@users.sf.net>
6068 2006-01-26 Stefan Kost <ensonic@users.sf.net>
6071 remove obsolete entry
6073 2006-01-26 Stefan Kost <ensonic@users.sf.net>
6075 * docs/gst/gstreamer-sections.txt:
6076 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
6077 (gst_bin_iterate_sources), (gst_bin_send_event):
6079 * gst/gstelement.c: (gst_element_send_event):
6081 * gst/gstpad.c: (gst_pad_send_event):
6082 added code for downstream events, reviewed docs in gstevent.c
6084 2006-01-25 Julien MOUTTE <julien@moutte.net>
6086 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6087 We only query position using the clock in the playing state.
6088 Query peer in the other cases.
6089 * win32/common/config.h: Updates.
6091 2006-01-24 Wim Taymans <wim@fluendo.com>
6093 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
6094 A clock entry that is scheduled for the exact time of the
6095 clock is still in time.
6097 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6098 (gst_base_sink_do_sync):
6099 Add some more debug info.
6101 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
6104 Add new vs7 project files and solution.
6106 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
6109 all files removed as they were out-dated.
6111 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
6113 * docs/random/release:
6115 * gst/gstbin.c: (gst_bin_init):
6116 * gst/gstbus.c: (gst_bus_new):
6118 * gst/gstpipeline.c: (gst_pipeline_init):
6119 use gst_bus_new(), improve logging, fix docs
6120 * win32/common/config.h:
6121 update for cvs build
6123 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
6126 up required version of automake to 1.7
6128 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
6130 * win32/common/libgstreamer.def:
6131 export gst_buffer_is_metadata_writable
6133 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
6135 * docs/gst/gstreamer-sections.txt:
6137 Add gst_event_replace() (#327001)
6139 2006-01-20 Wim Taymans <wim@fluendo.com>
6141 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
6142 Make it actually compile too..
6144 2006-01-20 Wim Taymans <wim@fluendo.com>
6147 Clarify behaviour of _is_equal() when passing NULL parameters.
6149 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6151 Cleanups. Don't unref NULL caps.
6152 When setting the same caps, protect caps of the pad with
6154 Use full functionality of _is_equal() when comparing caps.
6156 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
6158 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6159 Don't loop infinitely if there are no buffers to present. Partially
6160 fixes #327197, but collectpads is just broken for reusing elements
6161 to do multiple encodes atm.
6163 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
6165 * tools/gst-inspect.c: (print_element_features):
6166 * tools/gst-xmlinspect.c: (main):
6167 URL_HANDLER is not a plugin feature we can search for in
6170 2006-01-19 Edward Hervey <edward@fluendo.com>
6172 * gst/gstelement.c: (gst_element_pads_activate):
6173 When activating, do src pads first, then sink pads.
6174 When de-activating, do sink pads first, then src pads.
6176 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
6178 * docs/gst/gstreamer-sections.txt:
6179 Add gst_index_add_associationv to the docs
6181 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
6186 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
6187 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
6188 Do some refactoring. Doesn't actually change functionality,
6189 but makes landing the DRAIN event easier later.
6191 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
6193 * docs/pwg/advanced-scheduling.xml:
6194 Update from 0.9.x to 0.10 API and make example a bit
6197 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
6199 * docs/gst/gstreamer-sections.txt:
6200 Add gst_buffer_(is|make)_metadata_writable methods.
6202 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
6204 * docs/design/part-sparsestreams.txt:
6205 Update sparse streams doc, hopefully for greater clarity
6207 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
6209 * docs/design/part-events.txt:
6210 Remove mention of FILLER events.
6213 * docs/design/part-sparsestreams.txt:
6214 Write some things about using NEWSEGMENT to keep sparse streams
6217 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
6219 * gst/gstbin.c: (gst_bin_dispose):
6220 Guard gst_object_unref call against a NULL object (dispose
6221 can theoretically be called multiple times).
6223 2006-01-18 Wim Taymans <wim@fluendo.com>
6225 * gst/gstbin.c: (gst_bin_element_set_state):
6226 * gst/gstclock.c: (gst_clock_id_wait):
6227 Added some more debug info.
6229 * libs/gst/base/gstadapter.c:
6232 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6233 (gst_base_sink_do_sync), (gst_base_sink_chain):
6234 Added some comments.
6236 2006-01-18 Wim Taymans <wim@fluendo.com>
6238 * tests/check/Makefile.am:
6239 * tests/check/elements/fakesink.c: (chain_async_buffer),
6240 (chain_async), (chain_async_return), (GST_START_TEST),
6241 (fakesink_suite), (main):
6242 Added fakesink test that checks prerolling and clipping
6245 * tests/check/gst/gstutils.c: (GST_START_TEST):
6246 Make check run faster so that buildbots don't timeout.
6248 2006-01-18 Wim Taymans <wim@fluendo.com>
6250 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6251 (gst_base_sink_do_sync):
6253 When the sink finishes blocking on the preroll buffer, it can
6254 immediatly render it instead of rendering when the next buffer
6257 2006-01-18 Wim Taymans <wim@fluendo.com>
6259 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
6260 (gst_base_sink_get_property), (gst_base_sink_do_sync),
6261 (gst_base_sink_chain):
6263 GST_ELEMENT_CLOCK and sync are protected with LOCK.
6264 Don't store _last_stop if the buffer is dropped.
6266 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
6268 * plugins/elements/gsttypefindelement.c:
6269 (gst_type_find_element_class_init):
6270 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
6271 object method handler that sets the caps on the pad and we want
6272 that to happen before we emit the signal (fixes e.g. feeding a
6273 plain text file to decodebin).
6275 2006-01-18 Christian Schaller <Christian@fluendo.com>
6277 * gst/gstplugin.c: Add MPL and Proprietary as license options
6279 2006-01-18 Andy Wingo <wingo@pobox.com>
6281 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
6282 symbol was exported before, it appears this was just an oversight.
6284 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
6286 * gst/gstindex.c (gst_index_add_associationv): Changed int in
6287 prototype to gint. OK since this prototype was not in the header.
6289 2006-01-17 Andy Wingo <wingo@pobox.com>
6291 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
6292 registry while we remove plugins.
6294 * tools/gst-inspect.c (print_element_info): Don't unref the
6295 factory arg, that should be the responsibility of whatever code
6296 received the ref. Fixes a double-free when called from
6297 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
6298 (main): Unref the factory if we have one.
6299 (print_element_list): No change -- relies on the
6300 plugin_feature_list_free to free the list of features.
6302 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
6304 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6305 (gst_buffer_make_metadata_writable):
6307 * libs/gst/base/gstbasetransform.c:
6308 (gst_base_transform_prepare_output_buf):
6309 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6310 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6311 Replace gst_buffer_(make|is)_metadata_writable patch now
6312 that the release is out.
6314 2006-01-17 Andy Wingo <wingo@pobox.com>
6316 * gst/gstregistry.c: Reflow design comment. Update so as to speak
6317 in the present tense without reference to versions.
6319 * gst/gstregistry.c (gst_registry_add_plugin)
6320 (gst_registry_remove_plugin, gst_registry_remove_feature)
6321 (gst_registry_find_feature, gst_registry_get_feature_list)
6322 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
6323 (gst_registry_lookup, gst_registry_scan_path)
6324 (_gst_registry_remove_cache_plugins)
6325 (gst_registry_get_feature_list_by_plugin): Add argument
6328 === release 0.10.2 ===
6330 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
6333 releasing 0.10.2, "If man is five"
6335 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
6339 * libs/gst/base/gstbasetransform.c:
6340 (gst_base_transform_prepare_output_buf):
6341 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6342 * tests/check/gst/gstbuffer.c: (gst_test_suite):
6343 Back out patch until after the release.
6345 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
6347 * gst/gstminiobject.c:
6348 Spelling fix in docs.
6349 * ChangeLog - remove conflict indicator
6351 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
6353 Reviewed By: Andy Wingo
6355 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6356 (gst_buffer_make_metadata_writable):
6358 Add gst_buffer_(is|make)_metadata_writable as analogues of
6359 gst_buffer_(is|make)_writable.
6361 * libs/gst/base/gstbasetransform.c:
6362 (gst_base_transform_prepare_output_buf):
6363 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6364 Use name gst_buffer_(is|make)_metadata_writable functions.
6366 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6367 Test gst_buffer_(is|make)_metadata_writable
6371 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
6373 * docs/manual/Makefile.am:
6374 don't do parallel make
6377 * win32/common/config.h.in:
6378 add generations for HOST_CPU and GST_MAJORMINOR
6379 * win32/common/config.h:
6380 commit generated result
6382 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
6384 * docs/manual/appendix-integration.xml:
6385 Update GNOME integration section to use gst_init_get_option_group()
6386 instead of the old popt stuff (#322911). Also, GNOME applications
6387 should now use gconf*sink and gconf*src instead of the old gconf
6390 2006-01-13 Stefan Kost <ensonic@users.sf.net>
6393 * docs/gst/gstreamer-docs.sgml:
6394 * docs/gst/gstreamer-sections.txt:
6395 * docs/libs/gstreamer-libs-sections.txt:
6396 add new API entries to the docs
6397 * libs/gst/controller/Makefile.am:
6398 * libs/gst/controller/gstcontroller.c:
6399 * libs/gst/controller/gstcontroller.h:
6400 * libs/gst/controller/gstcontrollerprivate.h:
6401 * libs/gst/controller/gsthelper.c:
6402 * libs/gst/controller/gstinterpolation.c:
6403 move private structs to private header
6405 gstreamer-0.7 -> gstreamer-0.10
6406 * tests/check/libs/struct_i386.h:
6407 remove private structs
6409 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
6411 * plugins/indexers/Makefile.am:
6412 Fixes as part of #317048
6414 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
6416 * plugins/indexers/Makefile.am:
6417 fix #316086 - compilation when mmap is missing
6419 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
6421 * libs/gst/base/gstbasesink.c:
6422 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
6423 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
6424 * win32/common/config.h:
6425 added some defines GST_MAJORMINOR and HOST_CPU
6426 * win32/common/libgstbase.def:
6427 * win32/common/libgstreamer.def:
6428 added some exported functions.
6430 2006-01-12 Stefan Kost <ensonic@users.sf.net>
6432 * libs/gst/controller/gstcontroller.c:
6433 (gst_controlled_property_set_interpolation_mode),
6434 (gst_controlled_property_new):
6435 * libs/gst/controller/gstcontroller.h:
6436 * libs/gst/controller/gstinterpolation.c:
6437 (interpolate_none_get_string_value_array):
6438 make G_TYPE_STRING controlable
6440 2006-01-12 Stefan Kost <ensonic@users.sf.net>
6443 * tools/gst-feedback.1.in:
6444 * tools/gst-inspect.1.in:
6445 * tools/gst-launch.1.in:
6446 * tools/gst-md5sum.1.in:
6447 * tools/gst-typefind.1.in:
6448 * tools/gst-xmlinspect.1.in:
6449 * tools/gst-xmllaunch.1.in:
6450 cleanup man-pages, remove reference to gst-register, document env-vars
6452 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
6454 * gst/gstbuffer.c: (gst_buffer_span):
6455 gst_buffer_span should copy the timestamp of the first buffer
6456 if they were both originally overlapping subbuffers of the
6457 same parent, using the same logic as the 'slow copy' case.
6459 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
6461 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
6462 Need to awaken ALL the pads when we pop a buffer, otherwise
6463 collectpads only works when there is 2 input streams.
6465 2006-01-11 Stefan Kost <ensonic@users.sf.net>
6467 * docs/random/ensonic/media-device-daemon.txt:
6470 fix doc example, add clarification
6471 * tools/gst-launch.1.in:
6472 add initial info about GST_PLUGIN_PATH, needs more work
6474 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
6476 * docs/manual/basics-bins.xml:
6477 * docs/manual/basics-elements.xml:
6478 * docs/manual/intro-basics.xml:
6479 Some more minor docs additions and updates.
6481 2006-01-11 Wim Taymans <wim@fluendo.com>
6483 * docs/manual/basics-bins.xml:
6484 * docs/manual/basics-elements.xml:
6485 Some small fixes as pointed out by Ser-ver on IRC.
6487 2006-01-10 Edward Hervey <edward@fluendo.com>
6489 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6490 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
6491 the single-segment mode.
6493 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
6495 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6497 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
6498 (gst_base_src_perform_seek), (gst_base_src_send_event),
6499 (gst_base_src_set_property), (gst_base_src_get_property),
6500 (gst_base_src_loop), (gst_base_src_start),
6501 (gst_base_src_activate_push):
6502 * libs/gst/base/gstbasesrc.h:
6503 Name (private) union; makes Sun's Forte compiler happy (#324900).
6505 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
6508 gst-register is gone.
6510 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
6512 * gst/gstvalue.c: (_gst_value_initialize):
6513 make the G_TYPE_DATE instantiation work if debug is disabled
6515 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
6517 * gst/gstmessage.c: (gst_message_parse_tag),
6518 (gst_message_parse_error), (gst_message_parse_warning):
6519 Don't crash when return location for error/warning debug
6520 string is NULL; add fact that return locations can be
6521 NULL to docs where appropriate.
6523 2006-01-05 Wim Taymans <wim@fluendo.com>
6525 * gst/gstplugin.c: (gst_plugin_load_file):
6526 Replace strdup by g_strdup.
6528 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
6530 * docs/pwg/advanced-types.xml:
6533 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
6535 submitted by: Abel Cheung
6539 Added Chinese (traditional) translation
6541 2006-01-04 Wim Taymans <wim@fluendo.com>
6543 * docs/manual/basics-pads.xml:
6544 * docs/plugins/Makefile.am:
6545 * docs/plugins/gstreamer-plugins-docs.sgml:
6546 * docs/plugins/gstreamer-plugins-sections.txt:
6547 * docs/pwg/advanced-clock.xml:
6548 * docs/pwg/advanced-scheduling.xml:
6549 * docs/pwg/advanced-types.xml:
6550 * plugins/elements/gstfdsink.c:
6551 * plugins/elements/gstfdsrc.c:
6552 * plugins/elements/gstfdsrc.h:
6553 * plugins/elements/gstidentity.c: (gst_identity_class_init):
6554 * plugins/elements/gstidentity.h:
6555 * plugins/elements/gstqueue.h:
6556 * plugins/elements/gsttee.c:
6557 * plugins/elements/gsttee.h:
6558 * plugins/elements/gsttypefindelement.c:
6559 (gst_type_find_element_class_init):
6560 * plugins/elements/gsttypefindelement.h:
6561 Small updates to various docs.
6562 Added core plugins to docs.
6564 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
6567 add a suppression for liboil's uninitialized variable
6569 2006-01-02 James Livingston <jrl at ids dot org dot au>
6571 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6574 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
6575 macro, so that gcc doesn't complain if the -Wmissing-prototypes
6576 compiler switch is being used (#325429).
6578 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
6580 * gst/gstbin.c: (gst_bin_query):
6581 Disable duration query caching in bins until it gets
6582 fixed (see #324807).
6584 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
6586 * tools/gst-inspect.c: (print_element_properties_info):
6587 Handle properties of POINTER and BOXED type.
6589 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
6591 * gst/gst.c: (init_post):
6592 Init tags stuff and some other things before loading
6593 any static plugins (there may be other static plugins
6594 than just the GStreamer ones, and they may want to
6595 register their own tags or formats or whatever, and
6596 preferably without segfaulting).
6598 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6599 Print at least a warning in the debug logs if we drop a
6600 query just because we don't know how to adjust the value
6601 in the particular format.
6603 2005-12-24 David Schleef <ds@schleef.org>
6605 * tools/gstreamer-completion:
6606 Replacement for gst-complete written in sh and sed. Only
6607 completes names of features, but that's 90% of what I want
6608 it for. Properties are not available in registry.xml. (Maybe
6611 === release 0.10.1 ===
6613 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
6616 releasing 0.10.1, "Nollaig chridheil"
6618 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
6621 Add missing quote, should be make ERROR_CFLAGS="".
6623 2005-12-20 Wim Taymans <wim@fluendo.com>
6625 * docs/design/part-trickmodes.txt:
6626 More documentation on trickmodes.
6628 2005-12-20 Edward Hervey <edward@fluendo.com>
6630 * gst/gstcaps.c: (gst_static_caps_get_type):
6632 API addition: GST_TYPE_STATIC_CAPS
6633 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
6634 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
6635 * gst/gstpadtemplate.h:
6636 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
6637 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
6640 2005-12-18 Wim Taymans <wim@fluendo.com>
6642 * libs/gst/base/gstadapter.c:
6643 * libs/gst/base/gstadapter.h:
6644 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6645 (gst_base_sink_get_position):
6646 * libs/gst/base/gstbasesink.h:
6647 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6648 (gst_base_src_default_query), (gst_base_src_default_do_seek),
6649 (gst_base_src_do_seek), (gst_base_src_perform_seek),
6650 (gst_base_src_send_event), (gst_base_src_update_length),
6651 (gst_base_src_get_range), (gst_base_src_loop),
6652 (gst_base_src_start):
6653 * libs/gst/base/gstbasesrc.h:
6654 * libs/gst/base/gstbasetransform.h:
6655 * libs/gst/base/gstcollectpads.h:
6656 * libs/gst/base/gstpushsrc.c:
6657 * libs/gst/base/gstpushsrc.h:
6658 * libs/gst/dataprotocol/dataprotocol.c:
6659 * libs/gst/dataprotocol/dataprotocol.h:
6660 * libs/gst/net/gstnetclientclock.h:
6661 * libs/gst/net/gstnettimeprovider.h:
6662 Documentation updates.
6664 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
6666 * docs/manual/basics-helloworld.xml:
6667 Remove superfluous closing bracket in helloworld example.
6669 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
6671 * tools/gst-launch.1.in:
6672 Update gst-launch man page; add a section with useful
6673 environment variables. Fixes #323882.
6675 2005-12-16 Stefan Kost <ensonic@users.sf.net>
6678 * gst/gst_private.h:
6679 change some char* into char[]
6681 2005-12-16 Wim Taymans <wim@fluendo.com>
6683 * gst/gstregistryxml.c: (load_feature):
6685 Don't use g_object_unref on GstObjects so that we avoid
6686 leaks on unsafe glibs.
6688 2005-12-16 Wim Taymans <wim@fluendo.com>
6690 * gst/gstbin.c: (gst_bin_recalc_state):
6693 2005-12-16 Wim Taymans <wim@fluendo.com>
6696 Added make forever target for check.
6698 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
6700 * gst/gst.c: (init_post):
6701 make the registry cache file HOST_CPU-dependent
6703 2005-12-16 Andy Wingo <wingo@pobox.com>
6705 * plugins/elements/gstbufferstore.c
6706 (gst_buffer_store_cleared_func): Pay attention to g_list_append
6709 * tests/check/gst/gstobject.c
6710 (test_fake_object_name_threaded_unique): Pay attention to
6711 g_list_sort return value.
6713 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
6715 * tools/gst-feedback-m.m:
6716 Update for 0.9/0.10 (fixes #323870).
6718 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
6720 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
6721 Fix lcopy for mini objects, the mini object needs to be ref'ed.
6723 * tests/check/gst/gstminiobject.c: (my_foo_init),
6724 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
6725 (test_value_collection), (gst_mini_object_suite):
6726 Add test to ensure refcounts end up as expected when passing
6727 GstMiniObjects through g_object_get() and g_object_set().
6729 2005-12-14 Julien MOUTTE <julien@moutte.net>
6731 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6732 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
6733 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
6734 of collectpads. This version removes a lot of races without
6735 touching API/ABI. Yay !
6737 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
6739 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
6740 Don't allow activation of a srcpad in pull_range if it has no
6742 Change some debug statements to be a little clearer
6744 * plugins/elements/gsttypefindelement.c:
6745 (gst_type_find_handle_src_query):
6746 Check that we have a peer before executing queries thereupon.
6748 * tests/examples/metadata/read-metadata.c: (message_loop):
6749 Use gst_bus_pop instead of gst_bus_poll when we just want it to
6750 immediately return us any available message with 0 timeout.
6752 2005-12-12 Michael Smith <msmith@fluendo.com>
6754 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6755 Don't unref factories after calling them.
6756 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
6757 * plugins/elements/gsttypefindelement.c:
6758 (gst_type_find_element_chain):
6759 Free lists of factories after using them. Fixing typefinding memory
6762 2005-12-12 Stefan Kost <ensonic@users.sf.net>
6764 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6765 (gst_plugin_feature_load):
6766 more meaningful debug output
6768 * tests/Makefile.am:
6769 * tests/old/examples/Makefile.am:
6770 make make distcheck happy again
6772 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
6774 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
6775 Catch the special case where we are operating chain-based,
6776 but the downstream peer pad has no chain function. Emit a
6777 custom error message in this case instead of letting the
6778 core generate one implying that this is some sort of core
6779 bug. It's not, it just means that whatever got plugged
6780 into the pipeline downstream when we announced the type
6781 can only operate pull-based, while our source can only
6782 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
6783 Error string has not been marked for translation yet, as
6784 it probably needs some more work first.
6786 (gst_type_find_element_get_best_possibility):
6787 Add helper function to find the best of all available
6788 found possibilities that qualify given the min. threshold.
6790 (gst_type_find_element_handle_event):
6791 Fix the case where we get an EOS while still in TYPEFIND
6792 mode (we want to chose the best of all possible types,
6793 not just the first type that happens to be in our unsorted
6794 list of possible types).
6796 (gst_type_find_element_chain):
6797 Make sure we return GST_FLOW_ERROR when we errored out
6798 in stop_typefinding(); also, don't just find the best of
6799 all found type entries and then use the last examined
6800 type entry, but actually use the best entry.
6802 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
6804 * tests/examples/typefind/typefind.c: (type_found):
6805 * tests/examples/xml/runxml.c: (xml_loaded):
6806 More gcc4 fixes and a mem leak fix.
6808 2005-12-12 Stefan Kost <ensonic@users.sf.net>
6810 * tests/examples/xml/createxml.c: (object_saved):
6813 2005-12-12 Stefan Kost <ensonic@users.sf.net>
6815 * tests/Makefile.am:
6816 enable the examples even more
6818 2005-12-12 Andy Wingo <wingo@pobox.com>
6820 * libs/gst/net/gstnettimeprovider.c
6821 (gst_net_time_provider_class_init, gst_net_time_provider_init)
6822 (gst_net_time_provider_set_property)
6823 (gst_net_time_provider_get_property):
6824 API addition: Export "active" as a GObject property.
6825 (gst_net_time_provider_thread): Only respond to time queries if
6826 the time provider is active.
6828 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
6829 NetTimeProvider, preserving binary compat.
6831 2005-12-12 Stefan Kost <ensonic@users.sf.net>
6833 * tests/examples/controller/audio-example.c: (main):
6834 * tests/examples/launch/Makefile.am:
6835 convert comments again
6837 2005-12-12 Wim Taymans <wim@fluendo.com>
6839 * libs/gst/base/gstpushsrc.c:
6842 2005-12-12 Wim Taymans <wim@fluendo.com>
6844 * docs/libs/gstreamer-libs-sections.txt:
6845 Added new symbol to docs.
6847 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6848 (gst_base_src_init), (gst_base_src_set_format),
6849 (gst_base_src_default_query), (gst_base_src_query),
6850 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
6851 (gst_base_src_perform_seek), (gst_base_src_send_event),
6852 (gst_base_src_default_event), (gst_base_src_event_handler),
6853 (gst_base_src_set_property), (gst_base_src_get_property),
6854 (gst_base_src_wait), (gst_base_src_do_sync),
6855 (gst_base_src_update_length), (gst_base_src_get_range),
6856 (gst_base_src_check_get_range), (gst_base_src_loop),
6857 (gst_base_src_default_negotiate), (gst_base_src_start),
6858 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6859 (gst_base_src_change_state):
6860 * libs/gst/base/gstbasesrc.h:
6861 Implement seeking to other formats than _BYTES.
6862 Implement more seeking methods correctly.
6864 Added query vmethod.
6865 Added do_seek vmethod to make life easier for subclasses
6867 API addition: gst_base_src_set_format()
6869 2005-12-12 Stefan Kost <ensonic@users.sf.net>
6871 * tests/examples/Makefile.am:
6874 2005-12-12 Stefan Kost <ensonic@users.sf.net>
6877 * docs/random/ensonic/media-device-daemon.txt:
6878 * tests/examples/controller/.cvsignore:
6879 * tests/examples/controller/Makefile.am:
6880 * tests/examples/controller/audio-example.c: (main):
6881 * tests/examples/helloworld/.cvsignore:
6882 * tests/examples/helloworld/Makefile.am:
6883 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
6884 * tests/examples/launch/.cvsignore:
6885 * tests/examples/launch/Makefile.am:
6886 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
6887 * tests/examples/metadata/.cvsignore:
6888 * tests/examples/metadata/Makefile.am:
6889 * tests/examples/metadata/read-metadata.c: (message_loop),
6890 (make_pipeline), (print_tag), (main):
6891 * tests/examples/queue/.cvsignore:
6892 * tests/examples/queue/Makefile.am:
6893 * tests/examples/queue/queue.c: (event_loop), (main):
6894 * tests/examples/typefind/.cvsignore:
6895 * tests/examples/typefind/Makefile.am:
6896 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
6898 * tests/examples/xml/.cvsignore:
6899 * tests/examples/xml/Makefile.am:
6900 * tests/examples/xml/createxml.c: (object_saved), (main):
6901 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
6902 * tests/old/examples/Makefile.am:
6903 * tests/old/examples/TODO:
6904 * tests/old/examples/controller/.cvsignore:
6905 * tests/old/examples/controller/Makefile.am:
6906 * tests/old/examples/controller/audio-example.c:
6907 * tests/old/examples/helloworld/.cvsignore:
6908 * tests/old/examples/helloworld/Makefile.am:
6909 * tests/old/examples/helloworld/helloworld.c:
6910 * tests/old/examples/launch/.cvsignore:
6911 * tests/old/examples/launch/Makefile.am:
6912 * tests/old/examples/launch/mp3parselaunch.c:
6913 * tests/old/examples/launch/mp3play:
6914 * tests/old/examples/manual/Makefile.am:
6915 * tests/old/examples/metadata/Makefile.am:
6916 * tests/old/examples/metadata/read-metadata.c:
6917 * tests/old/examples/queue/.cvsignore:
6918 * tests/old/examples/queue/Makefile.am:
6919 * tests/old/examples/queue/queue.c:
6920 * tests/old/examples/typefind/.cvsignore:
6921 * tests/old/examples/typefind/Makefile.am:
6922 * tests/old/examples/typefind/typefind.c:
6923 * tests/old/examples/xml/.cvsignore:
6924 * tests/old/examples/xml/Makefile.am:
6925 * tests/old/examples/xml/createxml.c:
6926 * tests/old/examples/xml/runxml.c:
6927 applied some simple fixing to some examples
6928 re-enabled the working examples
6930 2005-12-12 Wim Taymans <wim@fluendo.com>
6932 * gst/gstsegment.c: (gst_segment_init),
6933 (gst_segment_set_last_stop), (gst_segment_set_seek),
6934 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6935 (gst_segment_to_running_time):
6936 Added more documentation.
6937 Make sure the last_pos value is updated properly.
6938 Make sure to_stream_time and to_running_time don't
6939 operate on wrong values.
6941 * tests/check/gst/gstsegment.c: (GST_START_TEST):
6944 2005-12-12 Michael Smith <msmith@fluendo.com>
6946 * plugins/elements/gsttypefindelement.c: (free_entry),
6947 (gst_type_find_element_chain):
6948 Now that we're not leaking factories, make sure we keep references
6949 to them while we need them.
6951 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
6953 * tests/check/gst/struct_i386.h:
6954 ifdef out the XML structs
6956 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
6958 * gst/gstvalue.c: (gst_value_transform_double_fraction):
6959 floor is not needed, F is always positive; this obviates the
6960 need for adding -lm when building without libxml
6962 2005-12-12 Wim Taymans <wim@fluendo.com>
6964 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6965 Take current playback rate into account when reporting
6968 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
6970 * docs/manual/mime-world.fig:
6971 Let's try this again, this time with a file that is
6972 actually in XFig format.
6974 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
6976 * docs/manual/mime-world.fig:
6977 Add audioconvert element to diagram so that it
6978 matches the text and the code (fixes #319526).
6980 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
6982 * docs/pwg/building-chainfn.xml:
6983 * docs/pwg/building-pads.xml:
6984 * docs/pwg/building-state.xml:
6985 * docs/pwg/other-source.xml:
6986 Update state change stuff for 0.10 (fixes #322969).
6988 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
6990 * docs/manual/advanced-dataaccess.xml:
6991 * docs/manual/appendix-checklist.xml:
6992 * docs/manual/appendix-programs.xml:
6993 * docs/manual/basics-pads.xml:
6994 * docs/manual/highlevel-components.xml:
6995 * docs/manual/manual.xml:
6996 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
6997 add converters in front of pipelines; remove curly
6998 brackets for threads stuff, they no longer exist; use
6999 GST_TYPE_FRACTION for framerates; update some pieces of
7000 code to 0.10, but there's plenty more to do.
7002 * docs/manual/appendix-porting.xml:
7003 Expand on asynchroneous state changes; s/0.9/0.10/;
7004 mention disappearance of gst_init_get_popt_table()
7007 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
7009 * docs/faq/using.xml:
7010 Spider no longer exists, and neither does gst-launch-ext.
7011 Update examples to use decodebin and playbin and put
7012 converters in front of sinks (fixes #323726).
7014 2005-12-09 Michael Smith <msmith@fluendo.com>
7016 * plugins/elements/gsttypefindelement.c: (find_peek),
7017 (gst_type_find_element_chain):
7018 Fix leaking element factories in typefinding.
7019 Fix problem where we forgot about a probable type on non-seekable
7020 files, and thus later mis-typefound it.
7022 2005-12-09 Michael Smith <msmith@fluendo.com>
7024 * common/m4/gst-makecontext.m4:
7025 * common/m4/gst-mcsc.m4:
7027 * win32/common/config.h:
7028 * win32/common/config.h.in:
7029 Remove makecontext stuff; not used in 0.10 and causes problems on
7030 HPUX according to bug #322441
7032 2005-12-07 Wim Taymans <wim@fluendo.com>
7034 * tests/check/Makefile.am:
7035 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
7037 * tests/check/libs/struct_i386.h:
7038 Added ABI check for libs
7040 2005-12-07 Wim Taymans <wim@fluendo.com>
7042 * tests/check/Makefile.am:
7043 And add the struct_i386.h to dist.
7045 2005-12-07 Wim Taymans <wim@fluendo.com>
7047 * tests/check/Makefile.am:
7048 * tests/check/gst/.cvsignore:
7049 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
7051 * tests/check/gst/struct_i386.h:
7052 Added check for ABI compatibility.
7054 2005-12-07 Wim Taymans <wim@fluendo.com>
7056 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7057 (gst_fake_src_get_times), (gst_fake_src_create):
7058 Fix broken sync option, fixes #323259
7060 2005-12-07 Wim Taymans <wim@fluendo.com>
7065 * gst/gstcaps.c: (gst_caps_is_equal):
7066 Don't assert on NULL <--> X. Fixes #323260
7068 * gst/gstminiobject.c: (gst_mini_object_replace):
7069 If we're doing atomic operations, we might just as well use
7070 the proper way to get an atomic pointer.
7072 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7075 2005-12-07 Michael Smith <msmith@fluendo.com>
7077 * gst/parse/grammar.y:
7078 Remove handling of { } for threads.
7080 2005-12-06 David Schleef <ds@schleef.org>
7082 * libs/gst/base/gstbasetransform.c: speling fix.
7084 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
7086 * docs/libs/tmpl/gstdataprotocol.sgml:
7087 * docs/random/omega/testing/gstobject.c:
7091 * gst/gstelementfactory.c:
7094 * gst/gstghostpad.c:
7096 * gst/gstpadtemplate.c:
7097 * gst/gstregistryxml.c:
7099 * gst/gsttagsetter.c:
7100 * gst/gsttypefind.c:
7102 * libs/gst/base/gstbasesrc.c:
7103 * libs/gst/net/gstnetclientclock.c:
7104 * libs/gst/net/gstnettimeprovider.c:
7105 * plugins/elements/gstfakesrc.c:
7106 * plugins/elements/gstfdsrc.c:
7107 * plugins/elements/gstfilesrc.c:
7108 * plugins/elements/gstidentity.c:
7109 * plugins/elements/gstqueue.c:
7110 * plugins/elements/gsttypefindelement.c:
7111 * plugins/indexers/gstfileindex.c:
7112 * plugins/indexers/gstmemindex.c:
7113 * tests/check/gst/gsttag.c:
7114 * tests/old/examples/cutter/cutter.c:
7115 * tests/old/examples/mixer/mixer.c:
7116 * tests/old/examples/xml/runxml.c: (main):
7117 * tests/old/testsuite/caps/normalisation.c:
7118 * tests/old/testsuite/debug/global.c:
7119 * tests/old/testsuite/parse/parse1.c:
7120 * tools/gst-xmlinspect.c:
7121 * win32/common/dirent.c:
7124 === release 0.10.0 ===
7126 2005-12-05 <thomas (at) apestaart (dot) org>
7129 releasing 0.10.0, "Maroilles"
7131 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
7133 submitted by: Funda Wang <fundawang@linux.net.cn>
7137 added Chinese (Traditional) translation
7139 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
7141 * docs/gst/gstreamer-sections.txt:
7142 * docs/libs/tmpl/gstdataprotocol.sgml:
7143 * docs/random/thomasvs/TODO:
7148 2005-12-05 Andy Wingo <wingo@pobox.com>
7150 patch by: Wim Taymans <wim@fluendo.com>
7152 * libs/gst/base/gstbasetransform.c
7153 (gst_base_transform_prepare_output_buf)
7154 (gst_base_transform_buffer_alloc):
7155 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
7156 alloc_buffer_and_set_caps.
7158 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
7159 set_caps on the source pad.
7160 (gst_pad_alloc_buffer_and_set_caps): New function, does what
7161 alloc_buffer used to do. Fixes #322874.
7163 * docs/gst/gstreamer-sections.txt:
7164 * docs/design/part-negotiation.txt:
7165 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
7168 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
7170 patch by: Sebastien Moutte
7173 * win32/common/config.h.in:
7174 * win32/vs6/libgstcontroller.dsp:
7177 2005-12-05 Wim Taymans <wim@fluendo.com>
7179 * gst/gstcaps.c: (gst_caps_is_equal):
7180 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7181 (gst_fake_src_create):
7182 Back out previous code changes, leave doc updates, file bugs
7185 2005-12-05 Wim Taymans <wim@fluendo.com>
7187 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7188 (gst_fake_src_get_times), (gst_fake_src_create):
7189 * plugins/elements/gstfakesrc.h:
7190 Fix broken sync code.
7192 2005-12-05 Wim Taymans <wim@fluendo.com>
7194 * gst/gstcaps.c: (gst_caps_is_equal):
7195 Comparing NULL against !NULL yields different caps, not a
7198 2005-12-05 Wim Taymans <wim@fluendo.com>
7200 * gst/gstpipeline.c:
7201 Fix small typo in docs.
7203 2005-12-05 Andy Wingo <wingo@pobox.com>
7205 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
7207 * gst/gst.c (init_post): remove hard-coded 0.9 location for
7208 registries/plugins with a MAJORMINOR one.
7209 (plugin_desc): Rename library from gstcoreleements to
7210 staticelements. Fixes #323222.
7212 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
7214 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
7215 Change debug category to 'collectpads' from 'collect_pads'
7218 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
7220 patch by: Sebastien Moutte
7222 * libs/gst/controller/gstinterpolation.c:
7223 use convert function for uint64/double
7224 * win32/vs6/libgstcontroller.dsp:
7227 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
7229 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
7230 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
7232 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7233 add tests that seem to show that the guint64/gdouble conversions
7236 2005-12-02 Wim Taymans <wim@fluendo.com>
7238 * gst/gstregistry.c: (gst_registry_add_path):
7239 * gst/gstregistry.h:
7240 * gst/gstregistryxml.c:
7243 2005-12-02 Wim Taymans <wim@fluendo.com>
7245 * gst/gstutils.c: (gst_util_uint64_scale_int64),
7246 (gst_util_uint64_scale_int):
7249 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7252 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
7255 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
7258 * win32/common/config.h:
7259 * win32/vs6/gstreamer.dsw:
7260 * win32/vs6/libgstcoreelements.dsp:
7261 * win32/vs6/libgstelements.dsp:
7262 renamed core elements plugin
7264 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
7266 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
7268 do piece-wise major/minor comparison so 0.9 < 0.10
7269 also allow .exe extensions for tools
7271 2005-12-02 Michael Smith <msmith@fluendo.com>
7274 Escape a % to make gtkdoc happier; bug 322958.
7276 === release 0.9.7 ===
7278 2005-12-01 <thomas (at) apestaart (dot) org>
7281 releasing 0.9.7, "My Dog Has No Nose"
7283 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7285 * common/gst-xmlinspect.py:
7287 * docs/libs/tmpl/gstdataprotocol.sgml:
7288 * docs/random/release:
7307 * win32/common/config.h:
7308 * win32/common/config.h.in:
7309 * win32/vs6/gst_inspect.dsp:
7310 * win32/vs6/gst_launch.dsp:
7311 * win32/vs6/libgstbase.dsp:
7312 * win32/vs6/libgstelements.dsp:
7313 * win32/vs6/libgstreamer.dsp:
7314 * win32/vs7/GStreamer.vcproj:
7315 * win32/vs7/gst-inspect.vcproj:
7316 * win32/vs7/gst-launch.vcproj:
7317 * win32/vs7/libgstbase.vcproj:
7318 bump GST_MAJORMINOR to 0.10
7319 reset libtool version
7321 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7325 Added Bulgarian translation by (Alexander Shopov)
7327 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7329 * tests/check/gst/gstplugin.c:
7332 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7334 * common/gst-xmlinspect.py:
7335 * common/gtk-doc-plugins.mak:
7338 * docs/gst/Makefile.am:
7339 * docs/gst/gstreamer-docs.sgml:
7340 * docs/gst/gstreamer-sections.txt:
7341 * docs/gst/gstreamer.types:
7342 * docs/gst/gstreamer.types.in:
7343 * docs/plugins/Makefile.am:
7344 * docs/plugins/gstreamer-plugins-docs.sgml:
7345 * docs/plugins/gstreamer-plugins-sections.txt:
7346 * docs/plugins/gstreamer-plugins.types:
7347 * docs/plugins/inspect.stamp:
7348 * docs/plugins/inspect/plugin-coreelements.xml:
7349 * docs/plugins/inspect/plugin-coreindexers.xml:
7350 * docs/plugins/scanobj-build.stamp:
7351 * gstreamer.spec.in:
7352 * plugins/elements/Makefile.am:
7353 * plugins/elements/gstelements.c:
7354 * plugins/elements/gstfakesink.c:
7355 * plugins/elements/gstfakesrc.c:
7356 * plugins/elements/gstfilesink.c:
7357 * plugins/elements/gstfilesrc.c:
7358 * plugins/elements/gstqueue.c:
7359 * plugins/indexers/Makefile.am:
7360 * plugins/indexers/gstindexers.c:
7361 document core plugins in a separate document just like all the
7363 rename these plugins to something starting with core
7365 2005-12-01 Andy Wingo <wingo@pobox.com>
7367 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
7368 padding here before, but it missed the commit.
7370 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
7372 * libs/gst/controller/gstinterpolation.c:
7373 whitespace prices have crashed, we should feel free to use some now
7374 use gst_guint64_to_gdouble
7376 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
7378 * libs/gst/controller/gstcontroller.c:
7379 * libs/gst/controller/gsthelper.c:
7380 * libs/gst/controller/gstinterpolation.c:
7381 * libs/gst/controller/lib.c:
7382 wrap config.h include
7384 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
7386 * docs/gst/gstreamer-sections.txt:
7389 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
7391 * plugins/elements/gstelements.c:
7392 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
7393 (gst_fd_sink__class_init), (gst_fd_sink__init),
7394 (gst_fd_sink__chain), (gst_fd_sink__set_property),
7395 (gst_fd_sink__get_property):
7396 * plugins/elements/gstfdsink.h:
7397 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
7398 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
7399 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
7400 (gst_fd_src_unlock), (gst_fd_src_set_property),
7401 (gst_fd_src_get_property), (gst_fd_src_create),
7402 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
7403 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
7404 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
7405 (gst_fd_src_uri_handler_init):
7406 * plugins/elements/gstfdsrc.h:
7407 * plugins/elements/gstqueue.c: (gst_queue_get_type):
7410 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7412 * docs/gst/Makefile.am:
7413 * docs/gst/gstreamer.types.in:
7417 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7423 * gst/gstregistry.h:
7424 * tests/benchmarks/complexity.c:
7425 * tests/benchmarks/mass-elements.c:
7426 * tests/check/Makefile.am:
7427 * tools/Makefile.am:
7428 * tools/gst-inspect.c:
7429 * tools/gst-xmlinspect.c:
7430 various fixes to make
7431 --disable-nls --disable-registry --disable-loadsave
7432 --disable-parse --disable-gst-debug
7433 work and get the core .so down to 360444 bytes after stripping
7435 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7440 * docs/random/thomasvs/TODO:
7441 * tests/Makefile.am:
7445 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7447 * win32/GStreamer.vcproj:
7450 * win32/Makefile.inspect:
7451 * win32/Makefile.launch:
7452 * win32/Makefile.register:
7454 * win32/gst-inspect.vcproj:
7455 * win32/gst-launch.vcproj:
7456 * win32/gst-register.vcproj:
7457 * win32/gstelements.vcproj:
7458 * win32/gstgetbits.def:
7459 * win32/gstgetbits.vcproj:
7460 * win32/gstreamer-dbg.def:
7461 * win32/gstreamer.def:
7462 * win32/libgstbase.def:
7463 * win32/libgstbase.vcproj:
7464 * win32/link_oldruntime.c:
7469 move even more stuff, win32/ is nice and clean now
7471 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7473 * libs/gst/control/.cvsignore:
7478 * win32/gstbytestream.def:
7479 * win32/gstbytestream.vcproj:
7480 * win32/gstconfig.h:
7481 * win32/gstenumtypes.c:
7482 * win32/gstenumtypes.h:
7483 * win32/gstoptimalscheduler.vcproj:
7484 * win32/gstversion.h:
7486 * win32/testsuite/bins.vcproj:
7487 * win32/testsuite/bytestream.vcproj:
7488 * win32/testsuite/caps.vcproj:
7489 * win32/testsuite/cleanup.vcproj:
7490 * win32/testsuite/clock.vcproj:
7491 * win32/testsuite/debug.vcproj:
7492 * win32/testsuite/dlopen.vcproj:
7493 * win32/testsuite/dynparams.vcproj:
7494 * win32/testsuite/elements.vcproj:
7495 * win32/testsuite/ghostpads.vcproj:
7496 * win32/testsuite/indexers.vcproj:
7497 * win32/testsuite/negotiation.vcproj:
7498 * win32/testsuite/parse.vcproj:
7499 * win32/testsuite/plugin.vcproj:
7500 * win32/testsuite/refcounting.vcproj:
7501 * win32/testsuite/schedulers.vcproj:
7502 * win32/testsuite/states.vcproj:
7503 * win32/testsuite/tags.vcproj:
7504 * win32/testsuite/threads.vcproj:
7505 remove old win32 stuff that isn't maintained and should be
7508 2005-11-30 Andy Wingo <wingo@pobox.com>
7510 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
7511 loading the gst.interfaces python module bork.
7513 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
7514 available since GLib 2.2. Fixes #318031.
7516 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7520 * check/Makefile.am:
7521 * check/elements/.cvsignore:
7522 * check/elements/fakesrc.c:
7523 * check/elements/fdsrc.c:
7524 * check/elements/identity.c:
7525 * check/generic/.cvsignore:
7526 * check/generic/states.c:
7527 * check/gst-libs/.cvsignore:
7528 * check/gst-libs/controller.c:
7529 * check/gst-libs/gdp.c:
7530 * check/gst/.cvsignore:
7531 * check/gst/capslist.h:
7533 * check/gst/gstbin.c:
7534 * check/gst/gstbuffer.c:
7535 * check/gst/gstbus.c:
7536 * check/gst/gstcaps.c:
7537 * check/gst/gstelement.c:
7538 * check/gst/gstevent.c:
7539 * check/gst/gstghostpad.c:
7540 * check/gst/gstiterator.c:
7541 * check/gst/gstmessage.c:
7542 * check/gst/gstminiobject.c:
7543 * check/gst/gstobject.c:
7544 * check/gst/gstpad.c:
7545 * check/gst/gstpipeline.c:
7546 * check/gst/gstplugin.c:
7547 * check/gst/gstsegment.c:
7548 * check/gst/gststructure.c:
7549 * check/gst/gstsystemclock.c:
7550 * check/gst/gsttag.c:
7551 * check/gst/gstutils.c:
7552 * check/gst/gstvalue.c:
7553 * check/net/.cvsignore:
7554 * check/net/gstnetclientclock.c:
7555 * check/net/gstnettimeprovider.c:
7556 * check/pipelines/.cvsignore:
7557 * check/pipelines/cleanup.c:
7558 * check/pipelines/simple_launch_lines.c:
7559 * check/pipelines/stress.c:
7560 * check/states/.cvsignore:
7561 * check/states/sinks.c:
7563 * examples/Makefile.am:
7564 * examples/appreader/.cvsignore:
7565 * examples/appreader/Makefile.am:
7566 * examples/appreader/appreader.c:
7567 * examples/controller/.cvsignore:
7568 * examples/controller/Makefile.am:
7569 * examples/controller/audio-example.c:
7570 * examples/cutter/.cvsignore:
7571 * examples/cutter/Makefile.am:
7572 * examples/cutter/cutter.c:
7573 * examples/cutter/cutter.h:
7574 * examples/events/Makefile.am:
7575 * examples/events/seek.c:
7576 * examples/helloworld/.cvsignore:
7577 * examples/helloworld/Makefile.am:
7578 * examples/helloworld/helloworld.c:
7579 * examples/helloworld2/.cvsignore:
7580 * examples/helloworld2/Makefile.am:
7581 * examples/helloworld2/helloworld2.c:
7582 * examples/launch/.cvsignore:
7583 * examples/launch/Makefile.am:
7584 * examples/launch/mp3parselaunch.c:
7585 * examples/launch/mp3play:
7586 * examples/manual/.cvsignore:
7587 * examples/manual/Makefile.am:
7588 * examples/manual/extract.pl:
7589 * examples/metadata/Makefile.am:
7590 * examples/metadata/read-metadata.c:
7591 * examples/mixer/.cvsignore:
7592 * examples/mixer/Makefile.am:
7593 * examples/mixer/mixer.c:
7594 * examples/mixer/mixer.h:
7595 * examples/pingpong/.cvsignore:
7596 * examples/pingpong/Makefile.am:
7597 * examples/pingpong/pingpong.c:
7598 * examples/plugins/.cvsignore:
7599 * examples/plugins/Makefile.am:
7600 * examples/plugins/example.c:
7601 * examples/plugins/example.h:
7602 * examples/pwg/.cvsignore:
7603 * examples/pwg/Makefile.am:
7604 * examples/pwg/extract.pl:
7605 * examples/queue/.cvsignore:
7606 * examples/queue/Makefile.am:
7607 * examples/queue/queue.c:
7608 * examples/queue2/.cvsignore:
7609 * examples/queue2/Makefile.am:
7610 * examples/queue2/queue2.c:
7611 * examples/queue3/.cvsignore:
7612 * examples/queue3/Makefile.am:
7613 * examples/queue3/queue3.c:
7614 * examples/queue4/.cvsignore:
7615 * examples/queue4/Makefile.am:
7616 * examples/queue4/queue4.c:
7617 * examples/retag/.cvsignore:
7618 * examples/retag/Makefile.am:
7619 * examples/retag/retag.c:
7620 * examples/retag/transcode.c:
7621 * examples/thread/.cvsignore:
7622 * examples/thread/Makefile.am:
7623 * examples/thread/thread.c:
7624 * examples/typefind/.cvsignore:
7625 * examples/typefind/Makefile.am:
7626 * examples/typefind/typefind.c:
7627 * examples/xml/.cvsignore:
7628 * examples/xml/Makefile.am:
7629 * examples/xml/createxml.c:
7630 * examples/xml/runxml.c:
7631 * tests/Makefile.am:
7632 * tests/check/Makefile.am:
7633 * testsuite/.cvsignore:
7634 * testsuite/Makefile.am:
7636 * testsuite/caps/.cvsignore:
7637 * testsuite/caps/Makefile.am:
7638 * testsuite/caps/app_fixate.c:
7639 * testsuite/caps/audioscale.c:
7640 * testsuite/caps/caps.c:
7641 * testsuite/caps/caps.h:
7642 * testsuite/caps/caps_strings:
7643 * testsuite/caps/compatibility.c:
7644 * testsuite/caps/deserialize.c:
7645 * testsuite/caps/enumcaps.c:
7646 * testsuite/caps/eratosthenes.c:
7647 * testsuite/caps/filtercaps.c:
7648 * testsuite/caps/fixed.c:
7649 * testsuite/caps/fraction-convert.c:
7650 * testsuite/caps/fraction-multiply-and-zero.c:
7651 * testsuite/caps/intersect2.c:
7652 * testsuite/caps/intersection.c:
7653 * testsuite/caps/normalisation.c:
7654 * testsuite/caps/random.c:
7655 * testsuite/caps/renegotiate.c:
7656 * testsuite/caps/sets.c:
7657 * testsuite/caps/simplify.c:
7658 * testsuite/caps/string-conversions.c:
7659 * testsuite/caps/structure.c:
7660 * testsuite/caps/subtract.c:
7661 * testsuite/caps/union.c:
7662 * testsuite/debug/.cvsignore:
7663 * testsuite/debug/Makefile.am:
7664 * testsuite/debug/category.c:
7665 * testsuite/debug/commandline.c:
7666 * testsuite/debug/global.c:
7667 * testsuite/debug/output.c:
7668 * testsuite/debug/printf_extension.c:
7669 * testsuite/dlopen/.cvsignore:
7670 * testsuite/dlopen/Makefile.am:
7671 * testsuite/dlopen/dlopen_gst.c:
7672 * testsuite/dlopen/loadgst.c:
7673 * testsuite/elements/.cvsignore:
7674 * testsuite/elements/Makefile.am:
7675 * testsuite/elements/gst-inspect-check.in:
7676 * testsuite/elements/struct_i386.h:
7677 * testsuite/elements/struct_size.c:
7678 * testsuite/indexers/.cvsignore:
7679 * testsuite/indexers/Makefile.am:
7680 * testsuite/indexers/cache1.c:
7681 * testsuite/indexers/indexdump.c:
7682 * testsuite/parse/.cvsignore:
7683 * testsuite/parse/Makefile.am:
7684 * testsuite/parse/parse1.c:
7685 * testsuite/parse/parse2.c:
7686 * testsuite/plugin/.cvsignore:
7687 * testsuite/plugin/Makefile.am:
7688 * testsuite/plugin/README:
7689 * testsuite/plugin/dynamic.c:
7690 * testsuite/plugin/linked.c:
7691 * testsuite/plugin/loading.c:
7692 * testsuite/plugin/registry.c:
7693 * testsuite/plugin/static.c:
7694 * testsuite/plugin/static2.c:
7695 * testsuite/plugin/testplugin.c:
7696 * testsuite/plugin/testplugin2.c:
7697 * testsuite/plugin/testplugin2_s.c:
7698 * testsuite/plugin/testplugin_s.c:
7699 * testsuite/refcounting/.cvsignore:
7700 * testsuite/refcounting/Makefile.am:
7701 * testsuite/refcounting/bin.c:
7702 * testsuite/refcounting/element.c:
7703 * testsuite/refcounting/element_pad.c:
7704 * testsuite/refcounting/mainloop.c:
7705 * testsuite/refcounting/mem.c:
7706 * testsuite/refcounting/mem.h:
7707 * testsuite/refcounting/object.c:
7708 * testsuite/refcounting/pad.c:
7709 * testsuite/refcounting/sched.c:
7710 * testsuite/refcounting/thread.c:
7711 * testsuite/states/.cvsignore:
7712 * testsuite/states/Makefile.am:
7713 * testsuite/states/bin.c:
7714 * testsuite/states/locked.c:
7715 * testsuite/states/parent.c:
7716 * testsuite/threads/.cvsignore:
7717 * testsuite/threads/159566.c:
7718 * testsuite/threads/159852.c:
7719 * testsuite/threads/Makefile.am:
7720 * testsuite/threads/queue.c:
7721 * testsuite/threads/signals.c:
7722 * testsuite/threads/staticrec.c:
7723 * testsuite/threads/thread.c:
7724 * testsuite/threads/threadb.c:
7725 * testsuite/threads/threadc.c:
7726 * testsuite/threads/threadd.c:
7727 * testsuite/threads/threade.c:
7728 * testsuite/threads/threadf.c:
7729 * testsuite/threads/threadg.c:
7730 * testsuite/threads/threadh.c:
7731 * testsuite/threads/threadi.c:
7732 move all of these under tests
7734 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7737 * tests/Makefile.am:
7740 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7742 * docs/gst/gstreamer-sections.txt:
7743 * tests/sched/.cvsignore:
7744 * tests/sched/Makefile.am:
7745 * tests/sched/cases/(fs-fs).xml:
7746 * tests/sched/cases/(fs-i-fs).xml:
7747 * tests/sched/cases/(fs-i-i-fs).xml:
7748 * tests/sched/cases/(fs-i-q[i-fs]).xml:
7749 * tests/sched/dynamic-pipeline.c:
7750 * tests/sched/interrupt1.c:
7751 * tests/sched/interrupt2.c:
7752 * tests/sched/interrupt3.c:
7753 * tests/sched/runtestcases:
7754 * tests/sched/runxml.c:
7755 * tests/sched/sched-stress.c:
7756 * tests/sched/sort.c:
7757 * tests/sched/testcases:
7758 * tests/sched/testcases1.tc:
7759 * tests/seeking/.cvsignore:
7760 * tests/seeking/Makefile.am:
7761 * tests/seeking/seeking1.c:
7762 * tests/threadstate/.cvsignore:
7763 * tests/threadstate/Makefile.am:
7764 * tests/threadstate/test1.c:
7765 * tests/threadstate/test2.c:
7766 * tests/threadstate/threadstate1.c:
7767 * tests/threadstate/threadstate2.c:
7768 * tests/threadstate/threadstate3.c:
7769 * tests/threadstate/threadstate4.c:
7770 * tests/threadstate/threadstate5.c:
7771 remove obsolete tests
7773 * tests/bench-complexity.scm:
7774 * tests/bench-mass_elements.scm:
7775 * tests/complexity.c:
7776 * tests/complexity.gnuplot:
7777 * tests/instantiate/.cvsignore:
7778 * tests/instantiate/Makefile.am:
7779 * tests/instantiate/caps.c:
7780 * tests/mass_elements.c:
7781 * tests/network-clock-utils.scm:
7782 * tests/network-clock.scm:
7784 First pass at cleaning up tests/ dir before moving the rest
7785 Combined with CVS surgery
7787 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7790 queue has moved, update
7792 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7794 * docs/gst/gstreamer-sections.txt:
7795 remove double entries from the docs
7796 * gst/gst_private.h:
7797 * gst/gstinfo.c: (_gst_debug_init):
7798 remove the THREAD debug category
7802 * docs/gst/gstreamer.types:
7803 * plugins/elements/gstqueue.c: (gst_queue_get_type),
7804 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
7805 completely move queue and fix up debugging categories
7807 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7809 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7810 make initialization portable, using LL is not
7812 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7814 * win32/common/gstconfig.h:
7817 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7819 * win32/common/libgstreamer.def:
7820 rename symbols; sort base section
7822 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7824 * gst/gstclock.c: (do_linear_regression):
7825 remove crack non-portable handrolled DEBUG macro
7827 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7829 * docs/random/release:
7831 * win32/common/gstenumtypes.c: (register_gst_object_flags),
7832 (gst_object_flags_get_type), (register_gst_bin_flags),
7833 (gst_bin_flags_get_type), (register_gst_buffer_flag),
7834 (gst_buffer_flag_get_type), (register_gst_bus_flags),
7835 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7836 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
7837 (gst_caps_flags_get_type), (register_gst_clock_return),
7838 (gst_clock_return_get_type), (register_gst_clock_entry_type),
7839 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7840 (gst_clock_flags_get_type), (register_gst_state),
7841 (gst_state_get_type), (register_gst_state_change_return),
7842 (gst_state_change_return_get_type), (register_gst_state_change),
7843 (gst_state_change_get_type), (register_gst_element_flags),
7844 (gst_element_flags_get_type), (register_gst_core_error),
7845 (gst_core_error_get_type), (register_gst_library_error),
7846 (gst_library_error_get_type), (register_gst_resource_error),
7847 (gst_resource_error_get_type), (register_gst_stream_error),
7848 (gst_stream_error_get_type), (register_gst_event_type_flags),
7849 (gst_event_type_flags_get_type), (register_gst_event_type),
7850 (gst_event_type_get_type), (register_gst_seek_type),
7851 (gst_seek_type_get_type), (register_gst_seek_flags),
7852 (gst_seek_flags_get_type), (register_gst_format),
7853 (gst_format_get_type), (register_gst_index_certainty),
7854 (gst_index_certainty_get_type), (register_gst_index_entry_type),
7855 (gst_index_entry_type_get_type),
7856 (register_gst_index_lookup_method),
7857 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7858 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7859 (gst_index_resolver_method_get_type), (register_gst_index_flags),
7860 (gst_index_flags_get_type), (register_gst_debug_level),
7861 (gst_debug_level_get_type), (register_gst_debug_color_flags),
7862 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7863 (gst_iterator_result_get_type), (register_gst_iterator_item),
7864 (gst_iterator_item_get_type), (register_gst_message_type),
7865 (gst_message_type_get_type), (register_gst_mini_object_flags),
7866 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7867 (gst_pad_link_return_get_type), (register_gst_flow_return),
7868 (gst_flow_return_get_type), (register_gst_activate_mode),
7869 (gst_activate_mode_get_type), (register_gst_pad_direction),
7870 (gst_pad_direction_get_type), (register_gst_pad_flags),
7871 (gst_pad_flags_get_type), (register_gst_pad_presence),
7872 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7873 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7874 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7875 (gst_plugin_error_get_type), (register_gst_plugin_flags),
7876 (gst_plugin_flags_get_type), (register_gst_rank),
7877 (gst_rank_get_type), (register_gst_query_type),
7878 (gst_query_type_get_type), (register_gst_tag_merge_mode),
7879 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7880 (gst_tag_flag_get_type), (register_gst_task_state),
7881 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7882 (gst_alloc_trace_flags_get_type),
7883 (register_gst_type_find_probability),
7884 (gst_type_find_probability_get_type), (register_gst_uri_type),
7885 (gst_uri_type_get_type), (register_gst_parse_error),
7886 (gst_parse_error_get_type):
7887 * win32/common/gstenumtypes.h:
7888 * win32/common/gstversion.h:
7889 update visual studio generated files
7891 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7893 * win32/vs6/libgstbase.dsp:
7894 * win32/vs6/libgstelements.dsp:
7895 update project files for new locations
7897 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7902 reinstate and update
7907 * docs/random/LICENSE:
7910 2005-11-30 Edward Hervey <edward@fluendo.com>
7912 * gst/gsttypefind.c: (gst_type_find_register):
7913 * gst/gsttypefind.h:
7914 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
7915 (gst_type_find_factory_dispose):
7916 * gst/gsttypefindfactory.h:
7917 Fix memory leak in GstTypeFindFactory.
7919 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7922 * plugins/elements/Makefile.am:
7923 * plugins/elements/gstelements.c:
7924 * plugins/elements/gstqueue.c:
7925 move queue from core to the elements plugin
7927 2005-11-29 Andy Wingo <wingo@pobox.com>
7929 * libs/gst/base/gstbasetransform.h:
7930 * libs/gst/base/gstbasesrc.h:
7931 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
7933 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
7934 of pointers by which to pad very extensible base classes (like the
7935 ones in libs/gst/base).
7937 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7939 * docs/gst/gstreamer-docs.sgml:
7940 * docs/gst/gstreamer-sections.txt:
7941 * docs/libs/gstreamer-libs-docs.sgml:
7942 * docs/libs/gstreamer-libs-sections.txt:
7943 moving documentation from core to lib
7945 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7947 * check/Makefile.am:
7949 * docs/gst/Makefile.am:
7951 * gst/base/.cvsignore:
7952 * gst/base/Makefile.am:
7954 * gst/base/gstadapter.c:
7955 * gst/base/gstadapter.h:
7956 * gst/base/gstbasesink.c:
7957 * gst/base/gstbasesink.h:
7958 * gst/base/gstbasesrc.c:
7959 * gst/base/gstbasesrc.h:
7960 * gst/base/gstbasetransform.c:
7961 * gst/base/gstbasetransform.h:
7962 * gst/base/gstcollectpads.c:
7963 * gst/base/gstcollectpads.h:
7964 * gst/base/gstpushsrc.c:
7965 * gst/base/gstpushsrc.h:
7966 * gst/base/gsttypefindhelper.c:
7967 * gst/base/gsttypefindhelper.h:
7968 * gst/check/Makefile.am:
7969 * gst/check/gstcheck.c:
7970 * gst/check/gstcheck.h:
7971 * gst/net/Makefile.am:
7973 * gst/net/gstnetclientclock.c:
7974 * gst/net/gstnetclientclock.h:
7975 * gst/net/gstnettimepacket.c:
7976 * gst/net/gstnettimepacket.h:
7977 * gst/net/gstnettimeprovider.c:
7978 * gst/net/gstnettimeprovider.h:
7979 * libs/gst/Makefile.am:
7980 * libs/gst/base/Makefile.am:
7981 * libs/gst/base/gstbasetransform.c:
7982 * libs/gst/check/Makefile.am:
7983 * plugins/elements/Makefile.am:
7985 CVS surgery + support to move base, check, and net out of gst
7988 2005-11-29 Andy Wingo <wingo@pobox.com>
7990 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
7992 * gst/gststructure.h (struct _GstStructure): Only one pointer of
7995 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
7997 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
7999 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
8001 * gst/gstobject.h: (struct _GstObject): Only one pointer of
8002 padding; reduces object size by about 30%. We don't expect
8003 anything else to go into gstobject.
8005 * gst/gstminiobject.h (struct _GstMiniObject)
8006 (struct _GstMiniObjectClass): Only one pointer of padding; the
8007 payload is only a pointer and two ints anyway. For the class there
8008 are only two methods as well.
8010 * gst/gstelement.h (struct _GstElementClass): Removed
8011 the state_changed signal callback, it is not used.
8013 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
8015 * docs/gst/gstreamer.types:
8016 fix includes, though they are a little dinky
8018 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
8020 * check/Makefile.am:
8021 look in the right place for elements, a lot more chance of
8024 remove indexers and elements subdirs
8025 * plugins/Makefile.am:
8026 make indexers conditional
8028 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
8032 * plugins/elements/Makefile.am:
8033 * plugins/elements/gstcapsfilter.c:
8034 * plugins/elements/gstfilesink.c:
8035 * plugins/elements/gstfilesrc.c:
8036 * plugins/elements/gstidentity.c:
8037 * plugins/indexers/Makefile.am:
8038 do CVS surgery and related build fixery to move elements
8039 and indexers in a new gstreamer/plugins directory, out of the
8042 2005-11-29 Andy Wingo <wingo@pobox.com>
8044 * check/Makefile.am:
8045 * pkgconfig/gstreamer-net-uninstalled.pc.in:
8046 * pkgconfig/gstreamer-net.pc.in:
8047 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
8050 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
8052 * tools/Makefile.am:
8053 * tools/gst-complete.1.in:
8054 * tools/gst-complete.c:
8055 * tools/gst-compprep.1.in:
8056 * tools/gst-compprep.c:
8057 removing -compprep and -complete
8059 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
8061 * gst/gstevent.c: (gst_event_new_new_segment),
8062 (gst_event_parse_new_segment):
8064 fix #320529 - clean up new_segment API and structure.
8065 Let's hope everyone was using the methods, and not the structure.
8067 2005-11-29 Edward Hervey <edward@fluendo.com>
8069 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8070 (gst_base_sink_event), (gst_base_sink_do_sync),
8071 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8072 Properly handle non GST_FORMAT_TIME segment
8073 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8074 Properly handle non GST_FORMAT_TIME segment
8076 This function is valid if the accumulator is 0 and the format
8077 is different from the requested format.
8079 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
8081 * docs/gst/gstreamer-sections.txt:
8082 Add gst_query_new_seeking and gst_query_parse_seeking to the
8085 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
8087 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8088 Treat a pad alloc with new caps the same as if we were not
8089 negotiated, in order to allow a changing upstream output
8090 to produce a new format of data.
8092 2005-11-29 Edward Hervey <edward@fluendo.com>
8094 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8095 (gst_base_transform_event), (gst_base_transform_eventfunc):
8096 The event virtual method is now properly implemented, with a default
8098 Sub classes should call the parent_class event method. They should
8099 return FALSE if they had a problem handling the given event, or don't
8100 want GstBaseTransform to send that even downstream
8101 * gst/elements/gstidentity.c: (gst_identity_class_init),
8102 (gst_identity_init), (gst_identity_event),
8103 (gst_identity_transform_ip), (gst_identity_set_property),
8104 (gst_identity_get_property):
8105 * gst/elements/gstidentity.h:
8106 Added the single-segment boolean property.
8107 If set to TRUE, it will output a single segment of data, starting from
8108 0, will eat up all incoming newsegment, and modify the timestamp of the
8111 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
8113 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
8114 Don't ref NULL target pad (#322751). Improve docs.
8116 2005-11-29 Michael Smith <msmith@fluendo.com>
8118 * gst/gstregistryxml.c: (load_plugin):
8119 Don't crash if we failed to load a feature from a plugin.
8121 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
8123 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
8125 use more check API and less GLib API
8127 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
8130 don't run checks if we don't have check
8132 remove the registry when running make torture
8133 * docs/gst/gstreamer-sections.txt:
8134 remove second multiply
8135 * gst/gstqueue.c: (gst_queue_loop):
8136 fix a compile warning when disabling debug
8138 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
8141 Hey! Let's print the pad name if the pointer != NULL instead
8142 of when it == NULL :-)
8144 2005-11-28 Wim Taymans <wim@fluendo.com>
8146 * check/gst/gstutils.c: (GST_START_TEST):
8147 Updated check, add some scaling accuracy checking code.
8149 * gst/gstutils.c: (gst_util_div128_64),
8150 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
8151 (gst_util_uint64_scale_int):
8152 Fix 6 times faster division code. Optimize for common
8153 1/1 and less common X/1 cases.
8155 2005-11-28 Wim Taymans <wim@fluendo.com>
8157 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8160 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
8161 (do_linear_regression), (gst_clock_add_observation):
8163 Release lock when the clock cannot be slaved.
8164 Catch the case where the regression returned an invalid denominator.
8166 * gst/gstutils.c: (gst_util_div128_64_iterate),
8167 (gst_util_div128_64), (gst_util_uint64_scale_int64),
8168 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8169 Add protentially more performant non-iterative 128/64 divide function
8170 that unfortunatly does not work yet.
8171 Shortcut the trivial 0/X = 0 case.
8172 Remove the warnings on overflow.
8174 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
8176 * gst/gstplugin.c: (gst_plugin_register_func):
8177 everything causing a plugin not to load should be at least a WARNING
8179 2005-11-28 Stefan Kost <ensonic@users.sf.net>
8181 * docs/random/ensonic/dparams.txt:
8182 some TODOs for the next dev cycle
8183 * libs/gst/controller/gstcontroller.c:
8184 (gst_controlled_property_set_interpolation_mode),
8185 (gst_controlled_property_new):
8186 * libs/gst/controller/gstcontroller.h:
8187 use base type to assign acccessor functions
8189 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
8191 * check/Makefile.am:
8192 Oops, that should have been top_srcdir
8194 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
8196 * check/Makefile.am:
8197 * check/elements/fdsrc.c: (GST_START_TEST):
8198 Use a cmdline define to specify the location of a file to use for
8199 testing, to avoid breaking distcheck.
8201 2005-11-28 Andy Wingo <wingo@pobox.com>
8203 * gst/gstpad.c (fixate_value): Use array functions for arrays.
8205 2005-11-28 Edward Hervey <edward@fluendo.com>
8207 * tools/gst-launch.c: (main):
8208 Clarify the output strings, makes it easier to translate.
8211 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
8214 don't try and build net if we don't even have <sys/socket.h>
8216 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
8218 * check/Makefile.am:
8219 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
8220 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
8221 Add tests for fdsrc seekability
8223 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8224 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
8225 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
8226 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
8227 * gst/elements/gstfdsrc.h:
8228 fdsrc should not be a 'live' source.
8229 Implement seeking on seekable fd's.
8231 * gst/gstquery.c: (gst_query_new_seeking),
8232 (gst_query_parse_seeking):
8234 Implement SEEKING query functions:
8235 *_new_seeking and *_parse_seeking
8237 2005-11-27 Stefan Kost <ensonic@users.sf.net>
8239 * gst/gstelement.c: (gst_element_dispose):
8242 * gst/gstiterator.c:
8243 * gst/gststructure.c:
8246 * libs/gst/controller/gstcontroller.c:
8247 (gst_controlled_property_set_interpolation_mode):
8248 * libs/gst/controller/gstcontroller.h:
8249 * libs/gst/controller/gstinterpolation.c:
8250 (interpolate_none_get_enum_value_array):
8251 support controlling enums
8253 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
8256 Improve documentation for gst_value_union().
8259 Change return value for union, intersect and subtract functions
8260 from gint to gboolean.
8262 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
8264 * gst/gstvalue.c: (gst_value_serialize_any_list),
8265 (gst_value_transform_any_list_string),
8266 (gst_value_deserialize_list), (gst_value_deserialize_array),
8267 (gst_value_set_int_range), (gst_value_deserialize_int_range),
8268 (gst_value_set_double_range), (gst_value_deserialize_double_range),
8269 (gst_value_set_fraction_range_full),
8270 (gst_value_deserialize_fraction_range),
8271 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
8272 (gst_value_deserialize_boolean),
8273 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
8274 (gst_value_serialize_float), (gst_value_deserialize_float),
8275 (gst_string_wrap), (gst_value_deserialize_string),
8276 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
8277 (gst_value_union_int_range_int_range),
8278 (gst_value_intersect_int_range_int_range),
8279 (gst_value_intersect_double_range_double_range),
8280 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
8281 (gst_value_subtract_int_range_int_range),
8282 (gst_value_subtract_double_double_range),
8283 (gst_value_subtract_double_range_double_range),
8284 (gst_value_deserialize_fraction):
8286 Use gint, gdouble and gchar in our API instead of int, double and
8287 char (and make usage in gstvalue.c more consistent).
8289 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
8291 * check/Makefile.am:
8292 * libs/gst/controller/Makefile.am:
8293 * libs/gst/dataprotocol/Makefile.am:
8294 fix up Makefile.am and remove GST_ENABLE_NEW
8296 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
8300 * gst/base/Makefile.am:
8301 * gst/check/Makefile.am:
8302 * gst/elements/Makefile.am:
8303 * gst/net/Makefile.am:
8304 update LDFLAGS use some more
8306 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
8308 * common/m4/gst-doc.m4:
8311 2005-11-26 Edward Hervey <edward@fluendo.com>
8313 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8314 This shouldn't issue a g_warning since it returns NULL if it
8315 couldn't find the plugin, and all functions using this behave
8316 properly on a NULL return. Switching to a GST_WARNING.
8318 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
8320 * gst/gstbin.c: (gst_bin_handle_message_func):
8321 Don't leak clock messages.
8323 2005-11-25 Wim Taymans <wim@fluendo.com>
8325 * gst/gstutils.c: (gst_util_uint64_scale_int64),
8326 (gst_util_uint64_scale_int):
8327 Optimisations, remove unneeded vars.
8329 2005-11-25 Wim Taymans <wim@fluendo.com>
8331 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8332 Added more checks for the high precision uint64 cases.
8334 * gst/gstutils.c: (gst_util_uint64_scale_int64),
8335 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8336 Implement high precision (guint64 * guint64) / guint64.
8338 2005-11-24 Wim Taymans <wim@fluendo.com>
8340 * gst/base/gstbasesrc.c: (gst_base_src_query):
8341 Fix wrong percentage query.
8343 * gst/gstutils.c: (gst_util_uint64_scale),
8344 (gst_util_uint64_scale_int):
8345 Add some more common cases that can be handled
8346 efficiently to _scale.
8348 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
8350 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
8351 (gst_mini_object_suite):
8352 don't use check calls from threads; check probably isn't
8353 threadsafe and using a lock to make it threadsafe would
8354 defeat the purpose of this check
8355 * gst/check/gstcheck.c:
8356 * gst/check/gstcheck.h:
8357 use GST_DEBUG some more
8359 2005-11-24 Wim Taymans <wim@fluendo.com>
8361 * gst/gstutils.c: (gst_util_uint64_scale),
8362 (gst_util_uint64_scale_int):
8363 Chain trivial case to _scale_int.
8365 2005-11-24 Wim Taymans <wim@fluendo.com>
8367 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8368 Added test for scaling.
8373 * gst/gstutils.c: (gst_util_uint64_scale_int):
8374 Implemented high precision scaling code.
8376 2005-11-24 Stefan Kost <ensonic@users.sf.net>
8379 do not crash on pad==NULL
8381 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
8383 Patch by: Stefan Kost
8385 * common/gtk-doc.mak:
8386 * docs/gst/Makefile.am:
8387 * docs/libs/Makefile.am:
8388 Fix distcheck issues for the libraries docs build
8391 2005-11-24 Michael Smith <msmith@fluendo.com>
8393 * docs/manual/basics-helloworld.xml:
8394 Fix bug #315027: memory leak in example code in docs.
8396 2005-11-24 Michael Smith <msmith@fluendo.com>
8398 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8399 Unlock the PREROLL_LOCK in a failure case.
8401 2005-11-24 Wim Taymans <wim@fluendo.com>
8403 * docs/gst/gstreamer-sections.txt:
8404 * gst/base/gstadapter.h:
8405 * gst/base/gstbasesink.h:
8406 * gst/base/gstbasesrc.h:
8407 * gst/base/gstbasetransform.h:
8408 * gst/base/gstpushsrc.h:
8409 * gst/elements/gstfakesink.h:
8410 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
8411 * gst/elements/gstfakesrc.h:
8412 * gst/elements/gstfilesink.h:
8413 * gst/elements/gstfilesrc.h:
8416 * gst/gstbuffer.c: (_gst_buffer_copy):
8419 * gst/gstchildproxy.c:
8422 * gst/gstelementfactory.c:
8423 * gst/gstelementfactory.h:
8425 * gst/gstghostpad.h:
8427 * gst/gstinterface.h:
8428 * gst/gstminiobject.c:
8429 * gst/gstminiobject.h:
8432 * gst/gstpadtemplate.h:
8433 * gst/gstpipeline.h:
8434 * gst/gstpluginfeature.h:
8439 * gst/gsttagsetter.c:
8440 * gst/gsttagsetter.h:
8443 * gst/gsttypefind.h:
8446 * gst/net/gstnetclientclock.c:
8447 * gst/net/gstnetclientclock.h:
8448 * gst/net/gstnettimepacket.c:
8449 * gst/net/gstnettimeprovider.c:
8450 * gst/net/gstnettimeprovider.h:
8453 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
8455 * configure.ac: back to HEAD
8457 === release 0.9.6 ===
8459 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
8462 releasing 0.9.6, "Always On Time"
8464 2005-11-23 Wim Taymans <wim@fluendo.com>
8466 * docs/gst/gstreamer-sections.txt:
8467 * gst/glib-compat.c:
8468 * gst/gsttagsetter.c:
8470 * gst/net/gstnetclientclock.c:
8471 * gst/net/gstnettimepacket.h:
8474 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
8476 * docs/faq/using.xml:
8477 * docs/libs/tmpl/gstcontrol.sgml:
8478 * docs/manual/advanced-dparams.xml:
8479 * docs/manual/appendix-checklist.xml:
8480 * docs/manual/basics-elements.xml:
8481 * docs/pwg/other-source.xml:
8482 * docs/random/moving-plugins:
8484 * tools/gst-launch.1.in:
8485 remove mentions of sinesrc
8487 2005-11-23 Michael Smith <msmith@fluendo.com>
8489 * docs/gst/gstreamer-sections.txt:
8490 Update for new API and API changes.
8492 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
8494 Documentation typo fix.
8495 * gst/net/gstnettimepacket.c:
8496 Documentation fixes for arguments.
8498 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
8500 * gst/gststructure.c: (gst_structure_get_fraction),
8501 (gst_structure_parse_value),
8502 (gst_structure_fixate_field_nearest_fraction):
8503 * gst/gststructure.h:
8504 * gst/gstutils.c: (gst_util_uint64_scale_int):
8506 * scripts/update-funcnames:
8508 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
8509 Make gst_structure_fixate_field_nearest_fraction take a numerator
8510 and denominator argument instead of a GValue
8511 add gst_structure_get_fraction helper function.
8513 2005-11-23 Wim Taymans <wim@fluendo.com>
8515 * docs/design/part-TODO.txt:
8518 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8519 * gst/net/gstnetclientclock.h:
8520 Use parent fields for timeout and window_size.
8522 2005-11-23 Andy Wingo <wingo@pobox.com>
8524 * check/net/gstnetclientclock.c (test_functioning): Adjust to
8525 rate_num/rate_denom change.
8527 * gst/net/gstnetclientclock.c
8528 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
8529 OBJECT_LOCK. Don't call add_observation with the lock.
8531 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
8533 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
8535 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
8536 deal with rate as a fraction whose numerator and denominator are
8537 GstClockTime values.
8538 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
8539 master; the other fields are protected by the SLAVE_LOCK.
8540 (do_linear_regression): Note that this must be called with the
8542 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
8543 OBJECT_LOCK. Call set_calibration instead of touching the
8545 (gst_clock_set_property, gst_clock_get_property): Protect
8546 master/slave parameters with the SLAVE_LOCK.
8548 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
8549 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
8550 note that all of the instance variables that add_observation and
8551 the set_master functions use are protected by that lock and not
8553 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
8555 * gst/gstclock.c (gst_clock_add_observation): No longer requires
8556 the caller to take the object lock.
8558 2005-11-23 Wim Taymans <wim@fluendo.com>
8560 * gst/gsterror.c: (_gst_core_errors_init):
8562 Add error for clock stuff.
8564 * gst/gstpipeline.c: (gst_pipeline_change_state),
8565 (gst_pipeline_set_clock):
8566 Post clock error when clock cannot be used in a pipeline.
8568 2005-11-23 Stefan Kost <ensonic@users.sf.net>
8570 * docs/gst/gstreamer-sections.txt:
8571 make two symbols from gstinfo private for the docs
8572 * gst/base/gstcollectpads.h:
8574 fix doc typos, update docs
8576 2005-11-22 Wim Taymans <wim@fluendo.com>
8578 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8579 (gst_base_sink_wait), (gst_base_sink_do_sync),
8580 (gst_base_sink_handle_event):
8581 * gst/base/gstbasesink.h:
8582 No need to store the clock, the parent element class already
8585 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
8586 Updates for clock_set returning a gboolean
8588 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
8589 (gst_clock_id_wait_async), (gst_clock_class_init),
8590 (gst_clock_init), (gst_clock_finalize),
8591 (gst_clock_get_internal_time), (gst_clock_get_time),
8592 (gst_clock_slave_callback), (gst_clock_set_master),
8593 (gst_clock_get_master), (do_linear_regression),
8594 (gst_clock_add_observation), (gst_clock_set_property),
8595 (gst_clock_get_property):
8597 Implement master/slave. When setting a clock as a slave, a
8598 periodic timeout is scheduled to sample master and slave times.
8599 Then the slave clock is recalibrated to match offset and rate
8600 of the master clock.
8601 Update logging a bit.
8602 Add flag so that a clock can state that is cannot be slaved to
8605 * gst/gstelement.c: (gst_element_set_clock):
8607 The set clock returns a gboolean for when an element cannot
8608 deal with the selected clock in the pipeline.
8610 * gst/gstpipeline.c: (gst_pipeline_change_state),
8611 (gst_pipeline_set_clock):
8612 * gst/gstpipeline.h:
8613 Handle the case where the selected clock cannot be set on
8616 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
8617 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8618 (gst_net_client_clock_set_property),
8619 (gst_net_client_clock_get_property),
8620 (gst_net_client_clock_observe_times):
8621 * gst/net/gstnetclientclock.h:
8622 Use regression code in GstClock parent, remove duplicated
8625 2005-11-22 Michael Smith <msmith@fluendo.com>
8627 * gst/gstutils.c: (gst_util_clock_time_scale):
8629 * docs/gst/gstreamer-sections.txt:
8630 Rename method to have extra underscore.
8632 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
8634 * gst/elements/Makefile.am:
8635 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
8636 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8637 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8638 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
8639 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
8640 * gst/elements/gstfakesrc.h:
8641 * gst/gstqueue.c: (queue_leaky_get_type):
8642 correctly fix GEnumValues so that nick is the short lowercase
8644 * tools/gst-inspect.c: (print_element_properties_info):
8645 also show the nick, since it's useful to use from parse_launch
8649 2005-11-22 Michael Smith <msmith@fluendo.com>
8651 * gst/gstutils.c: (gst_util_clocktime_scale):
8653 * docs/gst/gstreamer-sections.txt:
8654 Add util method for scaling a clocktime by a fraction. Useful
8655 implementation is left as an exercise for the reader.
8657 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
8659 * gst/gstvalue.c: (gst_value_collect_fraction_range):
8660 If needed, allocate storage in the destination value during
8663 2005-11-22 Edward Hervey <edward@fluendo.com>
8665 * docs/gst/gstreamer-sections.txt:
8670 * gst/gstutils.c: (gst_util_set_object_arg):
8671 * tools/gst-compprep.c: (main):
8672 * tools/gst-inspect.c: (print_element_properties_info):
8673 Removed GstURI, closes bug #321061
8675 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
8677 * check/gst/gststructure.c: (GST_START_TEST):
8678 * gst/gststructure.c: (gst_structure_parse_value):
8679 Oops, broke automatic string type parsing.
8680 Add a test to catch it in future.
8682 2005-11-22 Andy Wingo <wingo@pobox.com>
8684 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
8685 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
8686 Actually rename the function implementations. Grr.
8688 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
8690 * check/gst/capslist.h:
8692 * check/gst/gststructure.c: (GST_START_TEST),
8693 (gst_structure_suite):
8694 Test automatic value type detection in gst_structure_from_string.
8695 * gst/gststructure.c: (gst_structure_parse_value):
8696 Add fraction as a type we try and guess automatically in
8697 caps/structure strings.
8699 2005-11-22 Andy Wingo <wingo@pobox.com>
8701 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
8703 * gst/gsttagsetter.h:
8704 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
8705 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
8706 (gst_tag_setter_add_tag_valist)
8707 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
8708 _add_values, _add_valist, and _add_valist_values. Since this is an
8709 interface the function suffixes should be more explicit so
8710 language binding don't end up with element.add_valist ->
8711 gst_tag_setter_add_valist, for example. Fixes #322069.
8713 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
8715 * check/gst/gstcaps.c: (GST_START_TEST):
8716 Extend caps string tests to check that a caps to string
8717 conversion is reversible and produces the same caps.
8719 * gst/gststructure.c: (gst_structure_value_get_generic_type):
8720 Output "fraction" as the generic type fraction range, so caps
8721 serialisation and deserialisation works.
8722 * check/gst/capslist.h:
8723 * gst/gstvalue.c: (gst_value_deserialize_fraction):
8724 Support 'MIN' and 'MAX' for deserialising fractions.
8726 2005-11-22 Andy Wingo <wingo@pobox.com>
8728 * gst/gstevent.h (gst_event_new_new_segment)
8729 (gst_event_parse_new_segment, gst_event_new_buffer_size)
8730 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
8731 Renamed from *_newsegment, *_buffersize, *_notarget.
8733 * scripts/update-funcnames: New script, performs the changes
8736 2005-11-22 Wim Taymans <wim@fluendo.com>
8738 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8739 Make sure the GstFlowReturn is returned.
8741 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
8742 (gst_bus_add_signal_watch):
8744 add gst_bus_add_signal_watch_full.
8746 * gst/gstplugin.c: (gst_plugin_load_file):
8747 Small style cleanup.
8749 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
8751 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
8752 Block the fakesrc srcpad when we send an event, to avoid
8753 contention on the stream_lock causing random test failures.
8755 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
8757 * check/gst/gstvalue.c: (GST_START_TEST):
8758 * gst/gstvalue.c: (gst_value_fraction_subtract):
8761 2005-11-22 Stefan Kost <ensonic@users.sf.net>
8764 include "gstchildproxy.h"
8765 * gst/gstchildproxy.h:
8766 * libs/gst/controller/gstcontroller.h:
8767 use G_GNUC_NULL_TERMINATED
8769 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
8771 * check/gst/capslist.h:
8772 * check/gst/gstcaps.c: (GST_START_TEST):
8773 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8774 * gst/gststructure.c: (gst_structure_parse_range),
8775 (gst_structure_fixate_field_nearest_fraction):
8776 * gst/gststructure.h:
8777 * gst/gstvalue.c: (gst_value_init_fraction_range),
8778 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
8779 (gst_value_collect_fraction_range),
8780 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
8781 (gst_value_set_fraction_range_full),
8782 (gst_value_get_fraction_range_min),
8783 (gst_value_get_fraction_range_max),
8784 (gst_value_serialize_fraction_range),
8785 (gst_value_transform_fraction_range_string),
8786 (gst_value_compare_fraction_range),
8787 (gst_value_deserialize_fraction_range),
8788 (gst_value_intersect_fraction_fraction_range),
8789 (gst_value_intersect_fraction_range_fraction_range),
8790 (gst_value_subtract_fraction_fraction_range),
8791 (gst_value_subtract_fraction_range_fraction),
8792 (gst_value_subtract_fraction_range_fraction_range),
8793 (gst_value_collect_fraction), (gst_value_fraction_multiply),
8794 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
8795 (gst_value_transform_string_fraction), (_gst_value_initialize):
8797 Implement fraction ranges and extend GstFraction to support
8798 arithmetic subtraction, as well as deserialization from integer
8799 strings such as "100"
8800 Add a testsuite as for int and double range set operations
8802 2005-11-21 Andy Wingo <wingo@pobox.com>
8806 * gst/gststructure.h: Add glib-compat.h.
8808 2005-11-21 Wim Taymans <wim@fluendo.com>
8810 * gst/gstbin.c: (gst_bin_change_state_func):
8813 2005-11-21 Wim Taymans <wim@fluendo.com>
8816 And add a nice define too.
8818 2005-11-21 Wim Taymans <wim@fluendo.com>
8820 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
8821 (gst_segment_new), (gst_segment_free), (gst_segment_init),
8822 (gst_segment_set_duration), (gst_segment_set_last_stop),
8823 (gst_segment_set_seek), (gst_segment_set_newsegment),
8824 (gst_segment_to_stream_time), (gst_segment_to_running_time),
8827 Make binding friendly.
8829 2005-11-21 Andy Wingo <wingo@pobox.com>
8831 * gst/gsttagsetter.h:
8833 * gst/gststructure.h:
8835 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
8838 * gst/gsterror.c (_gst_core_errors_init):
8839 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
8842 * gst/Makefile.am (gst_headers): Add glib-compat.h.
8843 (noinst_HEADERS): noinst the -private.
8845 2005-11-21 Michael Smith <msmith@fluendo.com>
8848 * gst/gstregistry.h:
8849 Remove unimplemented declarations for which we can see no sensible
8852 2005-11-21 Andy Wingo <wingo@pobox.com>
8854 * gst/gst.h: Include glib-compat.h.
8856 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
8858 * gst/glib-compat.c: Include the public and the private header.
8860 * gst/glib-compat-private.h: Copied here from glib-compat.h.
8864 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
8866 * check/gst/gstevent.c (create_custom_events): Check that
8867 FLUSH_STOP is serialized.
8869 * check/elements/identity.c (event_func):
8870 * check/elements/fakesrc.c (event_func): No stream lock, the core
8873 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
8874 stream lock taking, yay.
8876 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
8877 ensure that core takes the stream lock.
8879 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
8882 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
8883 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
8884 it already. For the flush start we do take it though so we get the
8885 right preroll state change messages.
8887 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
8888 the stream lock here, the core does it for us.
8890 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
8891 GST_STREAM_GET_LOCK.
8892 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
8893 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
8894 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
8895 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
8896 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
8897 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
8899 * gst/gstpad.c: Update for stream lock name change.
8901 * gst/base/gstbasesink.c: Update for preroll lock name change.
8903 2005-11-21 Wim Taymans <wim@fluendo.com>
8905 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
8906 (gst_clock_get_master):
8908 * gst/gstsystemclock.c: (gst_system_clock_init):
8909 Convert Clock flags to object flags.
8910 Added methods to manage master/slave clocks.
8912 2005-11-21 Wim Taymans <wim@fluendo.com>
8914 * check/gst/gstsegment.c: (GST_START_TEST):
8915 * docs/design/part-TODO.txt:
8916 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8917 (gst_base_sink_event), (gst_base_sink_do_sync),
8918 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8919 (gst_base_sink_query), (gst_base_sink_change_state):
8920 * gst/base/gstbasesink.h:
8921 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8922 (gst_base_src_default_newsegment),
8923 (gst_base_src_configure_segment), (gst_base_src_do_seek),
8924 (gst_base_src_get_range), (gst_base_src_loop),
8925 (gst_base_src_change_state):
8926 * gst/base/gstbasesrc.h:
8927 * gst/base/gstbasetransform.c:
8928 (gst_base_transform_prepare_output_buf),
8929 (gst_base_transform_event), (gst_base_transform_change_state):
8930 * gst/base/gstbasetransform.h:
8931 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8932 (gst_collect_pads_event):
8933 * gst/base/gstcollectpads.h:
8934 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
8935 (gst_fake_src_create):
8936 * gst/elements/gstfakesrc.h:
8937 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8938 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8939 (gst_segment_set_last_stop), (gst_segment_set_seek),
8940 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
8941 (gst_segment_to_running_time), (gst_segment_clip):
8943 More segment updates, replace code in plugins with segment
8946 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
8948 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
8949 Don't ignore sscanf results
8951 2005-11-21 Andy Wingo <wingo@pobox.com>
8953 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
8956 * *.c: Ran scripts/update-macros. Oh yes.
8958 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
8959 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
8962 * scripts/update-macros: New script. Run it on your files to
8963 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
8966 2005-11-21 Stefan Kost <ensonic@users.sf.net>
8968 * docs/gst/Makefile.am:
8969 * docs/gst/gstreamer-docs.sgml:
8970 * docs/gst/gstreamer-sections.txt:
8971 * docs/gst/gstreamer.types:
8973 more docs fixes, add new api to the docs
8975 2005-11-21 Andy Wingo <wingo@pobox.com>
8977 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
8978 state_broadcast call.
8980 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
8982 2005-11-21 Julien MOUTTE <julien@moutte.net>
8984 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
8985 function calls for arrays.
8987 2005-11-21 Stefan Kost <ensonic@users.sf.net>
8989 * docs/random/ensonic/media-device-daemon.txt:
8990 wild idea, can this be done?
8991 * docs/gst/gstreamer-sections.txt:
8996 * gst/gstpluginfeature.c:
9000 doc fixes and additions
9002 2005-11-21 Andy Wingo <wingo@pobox.com>
9004 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
9005 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
9006 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
9007 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
9008 private to the basesrc implementation.
9010 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
9011 behalf of event function if necessary. It should no longer be
9012 necessary to take the stream lock in pad's event functions. Fixes
9015 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
9016 * docs/gst/gstreamer-sections.txt:
9017 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
9018 (gst_structure_fixate_field_nearest_double),
9019 (gst_structure_fixate_field_boolean):
9020 * gst/gststructure.h:
9021 * win32/common/libgstreamer.def:
9022 * win32/gstreamer.def:
9024 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
9027 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
9029 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
9030 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
9031 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
9032 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
9033 (gst_fdsrc_uri_handler_init):
9034 * gst/elements/gstfdsrc.h:
9035 Port fd:// URI handler from 0.8 to fdsrc
9037 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
9039 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
9040 (gst_value_serialize_fourcc):
9042 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
9043 consistent with our other format defines (#320324).
9045 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
9047 * gst/gstvalue.c: (gst_value_is_fixed):
9048 Revert previous commit. Value lists are by definition
9049 not fixed, as they are a list of possible values.
9051 2005-11-21 Andy Wingo <wingo@pobox.com>
9053 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
9054 during the stable series if we need it. Fixes #319178.
9056 * gst/gstevent.c (gst_event_new_filler): Removed.
9058 * check/gst/gstevent.c: Update comment about filler events.
9060 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
9062 * gst/gstvalue.c: (gst_value_is_fixed):
9063 Should handle both value arrays and value lists.
9065 2005-11-21 Andy Wingo <wingo@pobox.com>
9067 patch by: Alessandro Dessina <alessandro nnva org>
9069 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
9070 functions to access arrays. Fixes #321962.
9072 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
9074 * docs/gst/gstreamer.types:
9075 gst_collectpads_get_type => gst_collect_pads_get_type.
9077 * gst/base/gstbasetransform.c:
9078 Remove unused SIGNAL_HANDOFF enum.
9080 2005-11-21 Andy Wingo <wingo@pobox.com>
9082 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
9083 the event type (upstream, downstream, serialized). Renamed
9084 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
9085 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
9086 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
9088 * gst/gstevent.c: Update for new CUSTOM event names.
9090 * check/gst/gstevent.c: Update check for new CUSTOM event names.
9093 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
9096 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
9098 * docs/gst/gstreamer-sections.txt:
9099 * win32/common/libgstbase.def:
9100 * win32/libgstbase.def:
9101 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9102 (gst_collect_pads_class_init), (gst_collect_pads_init),
9103 (gst_collect_pads_finalize), (gst_collect_pads_new),
9104 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
9105 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
9106 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
9107 (gst_collect_pads_start), (gst_collect_pads_stop),
9108 (gst_collect_pads_peek), (gst_collect_pads_pop),
9109 (gst_collect_pads_available), (gst_collect_pads_read),
9110 (gst_collect_pads_flush), (gst_collect_pads_event),
9111 (gst_collect_pads_chain):
9112 * gst/base/gstcollectpads.h:
9113 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
9114 unimplemented functions as unimplemented. Add padding to
9115 GstCollectData. (#320766, #320423)
9117 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
9120 Improve docs for DURATION message (usage of duration parameter)
9123 2005-11-20 Wim Taymans <wim@fluendo.com>
9125 * check/Makefile.am:
9126 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
9130 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
9131 (gst_segment_set_seek), (gst_segment_set_newsegment),
9132 (gst_segment_to_stream_time), (gst_segment_to_running_time),
9135 Added segment helper structure and methods. Not fully implemented
9137 Added segment check.
9139 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
9141 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9142 Add a deserialisation test for fractions
9143 * examples/metadata/read-metadata.c: (message_loop),
9144 (make_pipeline), (main):
9145 Fix up metadata reading sample.
9146 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9148 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9149 Don't try and fixate empty caps
9150 * gst/gst_private.h:
9151 Wrap in G_BEGIN_DECLS/G_END_DECLS
9152 * gst/gstvalue.c: (gst_value_collect_fraction),
9153 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
9154 (gst_value_transform_string_fraction),
9155 (gst_value_compare_fraction):
9156 Add some extra guards to ensure that we don't end up
9157 with an invalid denominator of 0 in a gstfraction and
9158 that fractions always get reduced.
9160 2005-11-20 Wim Taymans <wim@fluendo.com>
9162 * docs/gst/gstreamer-sections.txt:
9173 2005-11-20 Wim Taymans <wim@fluendo.com>
9175 * docs/design/part-TODO.txt:
9177 Make a proper enum of the flag.
9179 2005-11-19 Wim Taymans <wim@fluendo.com>
9181 * docs/design/part-TODO.txt:
9182 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
9183 (gst_format_to_quark), (gst_format_register):
9185 * gst/gstquery.c: (_gst_query_initialize),
9186 (gst_query_type_get_name), (gst_query_type_to_quark),
9187 (gst_query_type_register):
9189 Add type to quark and type to string conversions.
9191 2005-11-19 Andy Wingo <wingo@pobox.com>
9193 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
9196 2005-11-19 Wim Taymans <wim@fluendo.com>
9198 * docs/design/part-TODO.txt:
9199 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9200 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
9201 (gst_bin_handle_message_func):
9203 Make message handling overridable.
9205 2005-11-19 Andy Wingo <wingo@pobox.com>
9207 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
9210 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
9212 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
9213 is a GstClockTime. Fixes #321710.
9215 * gst/gstclock.h (GstClock): Remove offset property. Add
9216 internal_calibration and external_calibration. Fix padding. Pad
9217 also by GstClockTime so we don't run into problems.
9219 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
9220 (gst_clock_get_rate_offset): Remove.
9221 (gst_clock_set_time_adjust): Remove. Fixes #321712.
9224 * gst/gstutils.c (g_static_rec_cond_wait)
9225 (g_static_rec_cond_timed_wait): Removed, no longer needed.
9227 * gst/gstbin.c: Remove terrible continue_state prototype.
9229 * gst/gstelement.h (gst_element_continue_state): Make public.
9232 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
9233 by continue_state. Fixes #319389.
9235 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
9236 Really fixes #168438. However I don't see anywhere where the
9237 filter function is called... stupid GStreamer...
9239 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
9240 don't have a dispose function, so it won't get called when the
9241 object is unreffed, but oh well!
9243 * gst/gstindex.c (gst_index_set_filter_full): New API function,
9244 allows a destroy function to be set so user_data can be freed.
9246 (gst_index_set_filter): Call gst_index_set_filter_full.
9248 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
9250 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
9251 string should produce an error, given the lack of a way to
9252 represent NULL strings. Fixes #165650.
9255 * gst/gstvalue.c (gst_value_array_append_value)
9256 (gst_value_array_prepend_value, gst_value_array_get_size)
9257 (gst_value_array_get_value): New API, copied from
9258 gst_value_list_*, only operates on arrays.
9259 (gst_value_list_append_value, gst_value_list_prepend_value)
9260 (gst_value_list_concat, gst_value_list_get_size)
9261 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
9263 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
9264 init_list, because it works on both.
9265 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
9266 (gst_value_copy_list_or_array): Renamed from copy_list.
9267 (gst_value_free_list_or_array): Renamed from free_list.
9268 (gst_value_collect_list_or_array): Renamed from collect_list.
9269 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
9270 (gst_value_list_or_array_peek_pointer): Renamed from
9272 (_gst_value_array_value_table, _gst_value_list_value_table):
9273 Update value table functions.
9274 (gst_value_compare_list_or_array): Renamed from compare_list.
9276 * gsttaglist.h: Whoops, foreach function returns void. Also fix
9280 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
9281 GstTagList*. Fixes #143472.
9283 * gst/gststructure.h: Clarify what the foreach/map functions can
9284 or can't do to their arguments.
9286 2005-11-18 Wim Taymans <wim@fluendo.com>
9288 * gst/gstclock.c: (gst_clock_set_calibration),
9289 (gst_clock_get_calibration):
9291 Calibration can be set with internal time equal to current
9294 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
9300 2005-11-18 Andy Wingo <wingo@pobox.com>
9303 * pkgconfig/gstreamer-net.pc.in:
9304 * pkgconfig/gstreamer-net-uninstalled.pc.in:
9305 * pkgconfig/Makefile.am: Add net pkgconfig files.
9307 2005-11-18 Stefan Kost <ensonic@users.sf.net>
9310 * gst/gstghostpad.c:
9316 2005-11-18 Andy Wingo <wingo@pobox.com>
9318 * gst/net/gstnetclientclock.c: Turn off debugging.
9320 * check/net/gstnetclientclock.c (test_functioning): Assert that the
9321 times connverge somewhat. Can't make a real test.
9323 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
9324 integer arithmetic. Return the minimum of the domain, which can be
9325 set as "internal" for gst_clock_set_calibration.
9326 (gst_net_client_clock_observe_times): Call _set_calibration.
9327 (gst_net_client_clock_new): Call _set_calibration instead of
9330 * check/net/gstnetclientclock.c (test_functioning): Use the right
9334 * gst/gstclock.c (gst_clock_get_calibration)
9335 (gst_clock_set_calibration): New functions, obsolete the ones I
9336 added yesterday. Doh. Precision issues mean we have to extrapolate
9337 from a point in the more recent past than 1970.
9338 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
9340 (gst_clock_adjust_unlocked): Use the right calibration data.
9342 2005-11-18 Edward Hervey <edward@fluendo.com>
9344 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9345 Also reset the ->current_* values in READY->PAUSED
9347 2005-11-18 Andy Wingo <wingo@pobox.com>
9349 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
9350 Whoops, check the right fd. Also add some debugging.
9351 (gst_net_client_clock_observe_times): Adjust for int64 offset.
9352 (do_linear_regression): Add a crapload of debugging. Subtract off
9353 the minimum values from the input series to discard unneeded bits.
9354 Use only int arithmetic. There is still double arithmetic when
9355 calculating the intercept that needs fixing. Return boolean to
9356 indicate success; FALSE would mean the domain or range is too
9357 great. Still needs fixes.
9359 2005-11-18 Wim Taymans <wim@fluendo.com>
9361 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9362 For the current position in stream time, we need to subtract
9365 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9366 Release lock before calling the callback function of async
9369 2005-11-18 Andy Wingo <wingo@pobox.com>
9371 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
9372 Port goes all the way to MAXUINT16.
9374 * gst/net/gstnettimeprovider.c: Make the port range the same as
9375 for the kernel: 0 assigns, otherwise ports are less than
9378 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
9381 * check/net/gstnetclientclock.c (test_functioning): Add the start
9384 2005-11-18 Wim Taymans <wim@fluendo.com>
9386 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9387 (gst_bin_remove_func), (bin_bus_handler):
9389 Removing a clock provider from a bin, triggers a clock lost message
9390 so that a new clock will be selected.
9391 Adding a clock to a bin triggers a clock provider message.
9392 Make sure we reselect a clock when we received a clock lost message.
9393 Keep a reference to the element that provided the clock.
9395 2005-11-18 Andy Wingo <wingo@pobox.com>
9397 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
9398 the clock initially so it produces values around the base time.
9399 (gst_net_client_clock_class_init): Typo fix.
9400 (gst_net_client_clock_thread): Add note on when the socket gets
9403 2005-11-17 Wim Taymans <wim@fluendo.com>
9405 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
9406 Free remote and local time arrays.
9408 2005-11-17 Wim Taymans <wim@fluendo.com>
9410 * gst/net/gstnetclientclock.c: (do_linear_regression),
9411 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
9412 Fix compilation, uninitialized vars and a forgotten continue.
9414 2005-11-17 Andy Wingo <wingo@pobox.com>
9416 * check/Makefile.am (check_PROGRAMS):
9417 * check/net/gstnetclientclock.c: Add a most minimal test for the
9418 net client clock. More to come later.
9421 * gst/net/Makefile.am: Add netclientclock.
9423 * gst/net/gstnetclientclock.h:
9424 * gst/net/gstnetclientclock.c: New files, implement an untested
9425 GstClock that takes its time from a network time provider.
9426 Implements the algorithm in network-clock.scm.
9428 * tests/network-clock.scm (*window-size*): Rename from
9430 * tests/network-clock.scm (network-time):
9431 * tests/network-clock-utils.scm (q-push): Update callers.
9433 2005-11-17 Wim Taymans <wim@fluendo.com>
9435 * gst/gstbin.c: (gst_bin_provide_clock_func),
9436 (gst_bin_sort_iterator_new):
9437 And unref the child too..
9439 2005-11-17 Wim Taymans <wim@fluendo.com>
9441 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9442 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
9443 Refactor the sort iterator so it can be used while holding the
9445 Make clock selection select a clock closest to the source.
9447 2005-11-17 Michael Smith <msmith@fluendo.com>
9449 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
9450 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
9452 Anonymous structs are a gcc (and some other compilers) extension, so
9453 don't use them. Since this is only for ABI-compatibility, and our
9454 API/ABI freeze is over in a few days, this whole thing will only
9455 last a few days, so don't bother trying to think up a meaningful
9456 name for the struct.
9458 2005-11-17 Andy Wingo <wingo@pobox.com>
9460 * gst/gstclock.h (GstClock): Add rate and offset properties,
9461 preserving ABI stability. Add rate/offset accessors. Will file bug
9462 for the freeze break.
9464 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
9465 and offset, trying to keep precision and avoiding
9467 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
9468 functions. Make gst_clock_set_time_adjust obsolete.
9469 (gst_clock_set_time_adjust): Note that this function is obsolete.
9472 * gst/base/gstbasetransform.h: Make the ABI-stability hack
9473 greppable by using GST_PADDING-1+1.
9475 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
9477 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9479 * gst/gstmessage.c: (gst_message_parse_clock_lost):
9480 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
9482 * gst/gstpadtemplate.h:
9483 * gst/gstpluginfeature.h:
9484 Don't use c++ style comments in headers (#321638).
9486 2005-11-16 Andy Wingo <wingo@pobox.com>
9488 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
9491 * check/net/gstnettimeprovider.c: Check to see that the time
9492 provider actually provides times. Works, yo!
9494 2005-11-16 Wim Taymans <wim@fluendo.com>
9496 * check/Makefile.am:
9499 * check/elements/fakesrc.c: (GST_START_TEST):
9500 Set element to NULL before disposing it.
9502 2005-11-16 Andy Wingo <wingo@pobox.com>
9504 * gst/net/Makefile.am:
9506 * gst/net/gstnettimeprovider.c:
9507 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
9508 provider, include it from gstnet.h, and add it to the build.
9510 * gst/net/gstnettimepacket.h:
9511 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
9512 sending and receiving.
9514 2005-11-16 Wim Taymans <wim@fluendo.com>
9516 * check/Makefile.am:
9517 Enable valgrind check.
9519 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
9520 (gst_fake_src_alloc_buffer):
9523 2005-11-16 Wim Taymans <wim@fluendo.com>
9525 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
9526 Call parent finalize too.
9528 2005-11-16 Wim Taymans <wim@fluendo.com>
9530 * check/Makefile.am:
9531 Enable valgrind check that should work fine now.
9533 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9534 * gst/gstqueue.c: (gst_queue_init):
9535 Fix memleaks in pad allocation.
9537 2005-11-16 Andy Wingo <wingo@pobox.com>
9539 * gst/net/Makefile.am:
9540 * gst/net/gstnet.h: New part of core to hold network elements and
9541 objects. Put in core because it exposes API that applications want
9542 to use. The library is named libgstnet-tempname right now because
9543 of the existing libgstnet in gst-plugins-base. Solution is
9544 probably to rename the one in plugins-base; will file a bug for
9547 * gst/net/gstnettimeprovider.c:
9548 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
9549 get_time call over the network.
9552 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
9554 * check/Makefile.am:
9555 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
9556 get additions shortly.
9558 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
9560 * gst/gstpad.c: (gst_pad_new_from_static_template):
9562 add gst_pad_new_from_static_template functions
9563 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
9564 (gst_check_setup_sink_pad):
9565 * gst/elements/gsttee.c: (gst_tee_init):
9568 2005-11-16 Wim Taymans <wim@fluendo.com>
9570 * gst/gstpad.c: (gst_pad_pause_task):
9571 Removed warning, it's not really an error either.
9573 2005-11-16 Wim Taymans <wim@fluendo.com>
9575 * gst/base/gstbasetransform.c:
9576 (gst_base_transform_prepare_output_buf),
9577 (gst_base_transform_event):
9578 Check if the caps are NULL, this can happen if the element
9579 is shutting down and the pad caps are set to NULL.
9581 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
9583 * gst/elements/gsttee.c: (gst_tee_init):
9584 fix pad template leak in tee
9586 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
9588 * gst/glib-compat.c: (g_value_dup_gst_object):
9589 * gst/glib-compat.h:
9590 * gst/gstpad.c: (gst_pad_set_property):
9591 use gst_object_ref when setting the pad template; this will
9592 trigger the pad template leaks on GLib 2.6 and the slaves
9594 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
9596 * gst/glib-compat.c: (gst_flags_get_first_value):
9597 * gst/glib-compat.h:
9598 * gst/gstregistryxml.c:
9599 remove functions copied from GLib 2.6
9601 2005-11-16 Michael Smith <msmith@fluendo.com>
9604 Don't link against VALGRIND_LIBS. That was always the wrong thing to
9605 do, but only breaks with newer valgrind versions. We're not a
9606 valgrind tool, we have no link-time dependencies on libcoregrind.
9608 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
9610 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9615 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
9617 * gst/base/gstbasesrc.c: (gst_base_src_init):
9618 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9619 * gst/gstqueue.c: (gst_queue_init):
9620 * gst/gstregistryxml.c: (load_feature):
9621 Revert all these unrefs, they don't even pass make check !
9623 2005-11-15 Johan Dahlin <johan@gnome.org>
9625 * gst/base/gstbasesrc.c: (gst_base_src_init):
9626 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9627 * gst/gstqueue.c: (gst_queue_init):
9628 Free pad templates, fixes a couple of leaks.
9630 2005-11-15 Daniel Fischer <dan at f3c dot com>
9632 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9634 * gst/gstpad.c: (gst_pad_get_property):
9635 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
9636 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
9639 2005-11-15 Wim Taymans <wim@fluendo.com>
9644 2005-11-15 Andy Wingo <wingo@pobox.com>
9646 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
9648 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
9649 using GST_CLOCK_TIME_NONE to disable base time management.
9650 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
9651 time if it was NONE before.
9652 (gst_pipeline_change_state): Only munge the base time if
9653 stream_time != GST_CLOCK_TIME_NONE.
9655 * check/gst/gstpipeline.c (test_base_time): Punt around the
9656 problem of the probe not being called, because that's not the
9657 issue I'm looking at. Add a check that setting stream_time to NONE
9658 disables base time management.
9660 2005-11-15 Wim Taymans <wim@fluendo.com>
9662 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9663 segment_stop == -1 at startup.
9665 * gst/base/gstbasetransform.c: (gst_base_transform_event),
9666 (gst_base_transform_change_state):
9667 Init segment values at start.
9669 2005-11-15 Wim Taymans <wim@fluendo.com>
9671 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9672 0 segment values are 0 in any format.
9674 * gst/base/gstbasetransform.c: (gst_base_transform_event):
9675 * gst/base/gstbasetransform.h:
9676 Parse newsegment correctly in basetransform
9678 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
9679 Sync to clock using updated segment values.
9681 2005-11-15 Andy Wingo <wingo@pobox.com>
9683 * check/gst/gstpipeline.c (test_base_time): Add check that the
9684 base time and stream time are reset correctly.
9686 2005-11-15 Wim Taymans <wim@fluendo.com>
9688 * docs/design/part-TODO.txt:
9689 Some more TODO items.
9691 2005-11-15 Andy Wingo <wingo@pobox.com>
9693 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
9694 error if the user selected "no clock" as the clocking method.
9696 * check/gst/gstpipeline.c (test_base_time): New test for buffer
9697 timestamps with live capture.
9699 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
9700 is 0 but we are a live source, timestamp the buffers using the
9703 2005-11-14 Stefan Kost <ensonic@users.sf.net>
9705 * docs/gst/gstreamer-sections.txt:
9707 * gst/gstghostpad.c:
9712 2005-11-14 Wim Taymans <wim@fluendo.com>
9715 add suppressions from Wim's Debian machine
9717 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
9720 add suppressions from Andy's AMD64 Ubuntu machine
9722 2005-11-14 Andy Wingo <wingo@pobox.com>
9724 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
9725 STATE_LOCK not necessary. Fixes #311489.
9727 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
9730 * gst/gstindex.c (gst_index_add_object): Note in the docs that
9731 this function is not implemented.
9733 2005-11-14 Julien MOUTTE <julien@moutte.net>
9735 * gst/base/gstbasetransform.c:
9736 (gst_base_transform_prepare_output_buf):
9737 Ref the source pad caps while we need them.
9740 2005-11-11 Wim Taymans <wim@fluendo.com>
9742 * docs/gst/gstreamer-sections.txt:
9743 Added some docs for GstCollectData.
9745 * gst/base/gstadapter.c:
9746 Some small code example fix.
9748 * gst/base/gstcollectpads.c:
9749 * gst/base/gstcollectpads.h:
9752 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
9754 * configure.ac: back to HEAD
9756 === release 0.9.5 ===
9758 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
9761 releasing 0.9.5, "Bike Lunch Day"
9763 2005-11-11 Wim Taymans <wim@fluendo.com>
9765 * gst/gstbuffer.c: (_gst_buffer_copy):
9768 * gst/gstcaps.c: (gst_caps_is_equal):
9770 Make _is_equal fast in the trivial cases.
9772 * gst/gstminiobject.c:
9773 * gst/gstminiobject.h:
9774 More docs. Spifify .h file.
9779 2005-11-11 Wim Taymans <wim@fluendo.com>
9781 * gst/base/gstbasetransform.c:
9782 (gst_base_transform_prepare_output_buf),
9783 (gst_base_transform_handle_buffer):
9785 If we're processing a buffer and need to allocate an output
9786 buffer, we cannot accept a format change. If we did get a
9787 format change, we have to alloc a buffer ourselves of the
9790 2005-11-11 Wim Taymans <wim@fluendo.com>
9792 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
9793 While checking the flag for reentrancy in the gstcaps function
9794 is nice to detect recursive invocations, it also makes it
9795 impossible to call getcaps from multiple threads, which must be
9796 possible. So, checking for recursive calls has to go.
9798 2005-11-11 Michael Smith <msmith@fluendo.com>
9800 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9801 Don't sync on buffers that fall partially outside our current
9802 segment. Prevents an assertion failure/abort playing some files.
9804 2005-11-10 Andy Wingo <wingo@pobox.com>
9806 * check/gst/gstbin.c (test_message_state_changed_children): Style
9809 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
9810 gst_bus_poll with the signal watch. Ensures that poll and a signal
9811 watch see the same messages.
9813 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
9814 a poll and a watch at the same time get the same messages.
9816 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
9818 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
9819 * gst/gstcaps.c: (gst_caps_intersect):
9820 Don't call gst_caps_do_simplify - it doesn't respect order of caps
9821 and it's not needed.
9823 2005-11-10 Wim Taymans <wim@fluendo.com>
9825 * docs/design/part-TODO.txt:
9828 2005-11-10 Wim Taymans <wim@fluendo.com>
9830 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9831 * gst/base/gstbasesrc.c: (gst_base_src_wait),
9832 (gst_base_src_do_sync), (gst_base_src_get_range):
9833 Implement clock sync in base class.
9835 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
9837 patch by: Tim-Philipp Müller <tim at centricular dot net>
9839 * gst/gststructure.c: (gst_structure_parse_field),
9840 (gst_structure_from_string):
9841 Forward-port a 0.8 patch to handle escaped spaces in structure string,
9842 so that gst_parse_launch() can deal with spaces in filtered link
9843 caps (fixes #164479)
9844 * check/gst/capslist.h:
9845 * check/gst/gststructure.c: (GST_START_TEST):
9846 add unit tests for this change
9848 2005-11-10 Wim Taymans <wim@fluendo.com>
9850 * docs/gst/gstreamer-sections.txt:
9853 Fix docs, move some STATE macros to private.
9855 2005-11-10 Wim Taymans <wim@fluendo.com>
9857 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9858 Added check for bug #317341
9862 Some more spiffifying.
9864 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
9865 Call peer linkfunction if we are a source pad. Totally fixes
9869 Update docs, source pads should call the peer linkfunction
9870 so they can atomically perform the pad link.
9872 2005-11-09 Wim Taymans <wim@fluendo.com>
9876 Uber-spiffy-spiffify some more.
9878 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
9880 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
9881 * gst/elements/gstfilesink.c: (gst_file_sink_init):
9882 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9883 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
9884 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
9885 * gst/gstpad.c: (gst_pad_init):
9886 Use GST_DEBUG_FUNCPTR() more extensively.
9888 2005-11-09 Wim Taymans <wim@fluendo.com>
9890 * gst/gstobject.c: (gst_object_class_init):
9892 Documentation fixes.
9894 2005-11-09 Edward Hervey <edward@fluendo.com>
9896 * gst/gsttypefindfactory.c:
9899 2005-11-09 Edward Hervey <edward@fluendo.com>
9901 * gst/base/gsttypefindhelper.c:
9902 * gst/gsttypefind.c:
9903 * gst/gsttypefind.h:
9906 2005-11-09 Wim Taymans <wim@fluendo.com>
9908 * gst/gstiterator.c:
9915 2005-11-09 Wim Taymans <wim@fluendo.com>
9921 2005-11-09 Wim Taymans <wim@fluendo.com>
9923 * docs/gst/gstreamer-sections.txt:
9924 Moved the message async delivery private lock and cond
9925 to the private section.
9931 2005-11-09 Edward Hervey <edward@fluendo.com>
9933 * docs/gst/gstreamer-sections.txt:
9936 Document GstURIHandler
9938 2005-11-09 Wim Taymans <wim@fluendo.com>
9940 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
9941 (gst_iterator_find_custom):
9942 * gst/gstiterator.h:
9945 2005-11-09 Wim Taymans <wim@fluendo.com>
9948 Document another field.
9950 * gst/gststructure.c:
9951 * gst/gststructure.h:
9954 2005-11-09 Wim Taymans <wim@fluendo.com>
9959 2005-11-09 Wim Taymans <wim@fluendo.com>
9961 * docs/gst/gstreamer-sections.txt:
9962 Added some new macros.
9969 2005-11-09 Wim Taymans <wim@fluendo.com>
9971 * docs/design/part-TODO.txt:
9972 Some more items for the TODO
9978 2005-11-09 Andy Wingo <wingo@pobox.com>
9980 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
9981 to work on something else now tho...
9983 * gst/base/gstadapter.c: More adapter docs.
9985 * gst/elements/gstfilesink.c (gst_file_sink_start)
9986 (gst_file_sink_stop): New functions, replace the state change
9988 (gst_file_sink_class_init): Hook up the start and stop functions.
9989 (gst_file_sink_base_init): Don't set the state change handler any
9990 more. It was a bit ugly too, being set from here...
9991 (gst_file_sink_get_property, gst_file_sink_set_property):
9993 (gst_file_sink_set_location): More robust check that doesn't call
9996 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
9998 * gst/base/gstbasetransform.c: (gst_base_transform_event):
9999 Hold STREAM_LOCK while pushing newsegment or tag events as well.
10001 2005-11-08 Wim Taymans <wim@fluendo.com>
10003 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10004 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10005 (gst_base_sink_chain), (gst_base_sink_change_state):
10006 * gst/base/gstbasesink.h:
10007 * gst/base/gstbasesrc.h:
10008 * gst/gstelement.h:
10010 Avoid excessive typechecking in macros.
10012 * gst/gstminiobject.c: (gst_mini_object_get_type),
10013 (gst_mini_object_init), (gst_mini_object_new),
10014 (gst_mini_object_free):
10015 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
10016 (gst_object_finalize):
10017 Remove cruft code, optimize alloc_trace.
10019 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
10021 * docs/faq/gst-uninstalled:
10022 fix up PS1 for systems that try to reset it
10024 2005-11-07 Wim Taymans <wim@fluendo.com>
10026 * gst/base/gstbasesrc.c: (gst_base_src_init),
10027 (gst_base_src_get_range):
10028 Set the segment_end to -1 initially. Fixed typefind.
10030 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
10032 * gst/base/gstadapter.c:
10033 Debug category should be 'adapter', not 'GstAdapter'.
10035 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
10036 (gst_collectpads_class_init), (gst_collectpads_init),
10037 (gst_collectpads_peek), (gst_collectpads_pop),
10038 (gst_collectpads_event), (gst_collectpads_chain):
10039 Add debug category and some debugging output. Use boilerplate
10040 macros. Remove some extraneous words from docs.
10042 2005-11-05 Andy Wingo <wingo@pobox.com>
10044 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
10047 2005-11-04 Stefan Kost <ensonic@users.sf.net>
10049 * docs/gst/gstreamer-sections.txt:
10052 * gst/gstminiobject.h:
10057 2005-11-04 Wim Taymans <wim@fluendo.com>
10059 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10060 Small update to stop at the configured segment_end
10063 2005-11-04 Stefan Kost <ensonic@users.sf.net>
10065 * gst/gstregistry.c:
10066 * gst/gstregistry.h:
10069 2005-11-04 Edward Hervey <edward@fluendo.com>
10071 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10072 Check if we are doing a segment seek and have arrived at the
10073 end of that segment.
10075 2005-11-04 Wim Taymans <wim@fluendo.com>
10077 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
10078 Don't leak a mutex unlock in case of an error.
10083 2005-11-04 Wim Taymans <wim@fluendo.com>
10085 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
10087 Get the context to wake up only once.
10089 2005-11-03 Wim Taymans <wim@fluendo.com>
10091 * check/states/sinks.c: (GST_START_TEST):
10092 Uncomment fixed check.
10094 * docs/design/part-TODO.txt:
10097 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10098 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
10099 (gst_base_sink_get_position):
10100 If we are going to PLAYING, post the right pending state
10101 when we post the intermediate paused message.
10103 * gst/gstelement.c: (gst_element_continue_state),
10104 (gst_element_set_state_func), (gst_element_change_state):
10105 Don't post state changes that were between the same state
10106 and were not ASYNC.
10108 2005-11-03 Stefan Kost <ensonic@users.sf.net>
10110 * docs/gst/gstreamer-sections.txt:
10113 * gst/gstminiobject.h:
10116 more docs and doc style fixes
10118 2005-11-03 Stefan Kost <ensonic@users.sf.net>
10120 * docs/gst/gstreamer-sections.txt:
10121 * gst/gstelement.c:
10122 * gst/gstminiobject.c:
10125 2005-11-03 Andy Wingo <wingo@pobox.com>
10127 * check/states/sinks.c (test_livesrc_sink): Add checks that the
10128 state-changed messages actually have the right order and the right
10131 2005-11-03 Wim Taymans <wim@fluendo.com>
10133 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
10134 Added some more checks. Specifically the case where NO_PREROLL
10135 elements are in the pipeline.
10137 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10138 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
10139 (gst_base_sink_get_position):
10140 Post READY->PAUSED state change messages too.
10141 Fix bug where VOID was posted as pending state...
10143 * gst/gstbin.c: (gst_bin_recalc_state):
10144 use _element_continue_state() to continue the state change.
10146 * gst/gstelement.c: (gst_element_continue_state),
10147 (gst_element_commit_state), (gst_element_set_state_func),
10148 (gst_element_change_state), (gst_element_change_state_func):
10149 Lots of state change cleanups, assign the STATE_RETURN in
10150 a new continue_state() function that also propagates the
10151 last return value from a state change to the app.
10152 Update some debug statements with proper category.
10154 2005-11-03 Wim Taymans <wim@fluendo.com>
10156 * docs/design/part-events.txt:
10157 * docs/design/part-gstpipeline.txt:
10158 * docs/design/part-messages.txt:
10159 * docs/design/part-overview.txt:
10160 * docs/design/part-seeking.txt:
10161 * docs/design/part-states.txt:
10162 * docs/design/part-trickmodes.txt:
10163 * docs/manual/advanced-position.xml:
10164 Small docs updates.
10167 People think !! is ugly, this looks better.
10169 * gst/gstpad.c: (gst_pad_set_blocked_async):
10170 Remove !! since it's fixed elsewhere now.
10172 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
10174 * gst/gstminiobject.h:
10176 Add !! to _FLAG_IS_SET macros to make the result boolean.
10178 2005-11-03 Edward Hervey <edward@fluendo.com>
10180 * gst/gstpad.c: (gst_pad_set_blocked_async):
10181 comparing a flag and a gboolean rarely returns coherent results...
10182 Added two characters (!!) to make that work correctly.
10184 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
10186 * gst/gstbus.c: (gst_bus_class_init):
10189 * gst/gstqueue.c: (gst_queue_loop):
10190 Don't assume a miniobject that isn't a buffer is an
10191 event (it could be that there is a refcounting
10192 problem somewhere and the pointer is stale and
10193 refers to an already destroyed miniobject).
10195 2005-11-03 Julien MOUTTE <julien@moutte.net>
10197 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
10199 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
10201 * docs/manual/advanced-position.xml:
10202 Update seek example and explanations to current 0.9 API.
10204 * gst/elements/gsttypefindelement.c:
10205 (gst_type_find_element_activate):
10206 Remove FIXME comment now that the found caps
10209 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
10211 * gst/gstregistryxml.c: (load_feature):
10212 Add another GST_STR_NULL instance
10214 2005-11-02 Edward Hervey <edward@fluendo.com>
10216 * gst/gstpad.c: (handle_pad_block):
10217 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
10219 2005-11-02 Wim Taymans <wim@fluendo.com>
10224 * gst/gstelement.c: (gst_element_commit_state):
10225 Remove unused value.
10227 * gst/gstiterator.c:
10228 Mention that the returned element is reffed in the docs.
10230 2005-11-02 Wim Taymans <wim@fluendo.com>
10232 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
10233 (gst_pad_push), (gst_pad_push_event):
10234 Unlock blocked pads when they are flushed.
10236 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
10239 * docs/gst/gstreamer-sections.txt:
10242 * gst/gstregistry.c: (gst_registry_scan_path_level):
10243 fix for a nasty little missed situation where an installed plug-in
10244 which was in the cache did not get overridden by an uninstalled one
10245 which was earlier in the plugin path because the newly created plugin
10246 for the uninstalled one (not in the registry) didn't get its
10247 ->registered set to TRUE
10249 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
10251 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
10252 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
10253 (gst_collectpads_is_active), (gst_collectpads_collect),
10254 (gst_collectpads_collect_range), (gst_collectpads_start),
10255 (gst_collectpads_stop), (gst_collectpads_peek),
10256 (gst_collectpads_pop), (gst_collectpads_available),
10257 (gst_collectpads_read), (gst_collectpads_flush):
10258 Guard public API with assertions.
10261 Fix docs for gst_pad_set_link_function().
10263 2005-11-02 Johan Dahlin <johan@gnome.org>
10265 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
10266 Unref found_caps after we used it.
10268 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
10270 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
10271 Don't try to ref NULL.
10273 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
10275 * win32/common/config.h.in:
10276 provide a GST_FUNCTION that just gives a string for now
10278 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
10280 * win32/common/gstenumtypes.c: (register_gst_object_flags),
10281 (gst_object_flags_get_type), (register_gst_bin_flags),
10282 (gst_bin_flags_get_type), (register_gst_buffer_flag),
10283 (gst_buffer_flag_get_type), (register_gst_bus_flags),
10284 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10285 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
10286 (gst_clock_return_get_type), (register_gst_clock_entry_type),
10287 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10288 (gst_clock_flags_get_type), (register_gst_state),
10289 (gst_state_get_type), (register_gst_state_change_return),
10290 (gst_state_change_return_get_type), (register_gst_state_change),
10291 (gst_state_change_get_type), (register_gst_element_flags),
10292 (gst_element_flags_get_type), (register_gst_core_error),
10293 (gst_core_error_get_type), (register_gst_library_error),
10294 (gst_library_error_get_type), (register_gst_resource_error),
10295 (gst_resource_error_get_type), (register_gst_stream_error),
10296 (gst_stream_error_get_type), (register_gst_event_type),
10297 (gst_event_type_get_type), (register_gst_seek_type),
10298 (gst_seek_type_get_type), (register_gst_seek_flags),
10299 (gst_seek_flags_get_type), (register_gst_format),
10300 (gst_format_get_type), (register_gst_index_certainty),
10301 (gst_index_certainty_get_type), (register_gst_index_entry_type),
10302 (gst_index_entry_type_get_type),
10303 (register_gst_index_lookup_method),
10304 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10305 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10306 (gst_index_resolver_method_get_type), (register_gst_index_flags),
10307 (gst_index_flags_get_type), (register_gst_debug_level),
10308 (gst_debug_level_get_type), (register_gst_debug_color_flags),
10309 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10310 (gst_iterator_result_get_type), (register_gst_iterator_item),
10311 (gst_iterator_item_get_type), (register_gst_message_type),
10312 (gst_message_type_get_type), (register_gst_mini_object_flags),
10313 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10314 (gst_pad_link_return_get_type), (register_gst_flow_return),
10315 (gst_flow_return_get_type), (register_gst_activate_mode),
10316 (gst_activate_mode_get_type), (register_gst_pad_direction),
10317 (gst_pad_direction_get_type), (register_gst_pad_flags),
10318 (gst_pad_flags_get_type), (register_gst_pad_presence),
10319 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10320 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10321 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10322 (gst_plugin_error_get_type), (register_gst_plugin_flags),
10323 (gst_plugin_flags_get_type), (register_gst_rank),
10324 (gst_rank_get_type), (register_gst_query_type),
10325 (gst_query_type_get_type), (register_gst_tag_merge_mode),
10326 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10327 (gst_tag_flag_get_type), (register_gst_task_state),
10328 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10329 (gst_alloc_trace_flags_get_type),
10330 (register_gst_type_find_probability),
10331 (gst_type_find_probability_get_type), (register_gst_uri_type),
10332 (gst_uri_type_get_type), (register_gst_parse_error),
10333 (gst_parse_error_get_type):
10334 * win32/common/gstversion.h:
10335 update win32 copies
10337 2005-11-01 Luca Ognibene <luogni@tin.it>
10340 fix docs. popt is dead, long live GOption.
10342 2005-10-31 Wim Taymans <wim@fluendo.com>
10347 2005-10-31 Andy Wingo <wingo@pobox.com>
10351 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
10353 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
10354 need to serialize property notifications on GLib 2.8. GLib 2.6 has
10355 the possibility of deadlocks here if code calling notify() or
10356 set() has a lock that can be taken in another notify handler (ABBA
10357 with class lock and e.g. python GIL state lock).
10359 2005-10-28 Julien MOUTTE <julien@moutte.net>
10361 * gst/gstbus.c: Doc updates.
10363 2005-10-28 Wim Taymans <wim@fluendo.com>
10365 * docs/design/part-TODO.txt:
10366 * gst/gstiterator.c:
10367 * gst/gstsystemclock.c:
10368 * gst/gstsystemclock.h:
10371 2005-10-28 Edward Hervey <edward@fluendo.com>
10373 * docs/gst/gstreamer-docs.sgml:
10374 * docs/gst/gstreamer-sections.txt:
10375 the GstURIType documentation page is private, it only defines GstURIType
10376 which should be defined in the GstURIHandler page
10378 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
10380 * gst/gstbin.c: (gst_bin_class_init):
10383 Documentation updates.
10385 2005-10-28 Wim Taymans <wim@fluendo.com>
10387 * docs/gst/gstreamer-sections.txt:
10390 Documented the clocks.
10392 2005-10-28 Stefan Kost <ensonic@users.sf.net>
10394 * docs/gst/gstreamer-sections.txt:
10395 move some macros to private sections
10396 * gst/gstminiobject.c:
10397 * gst/gstminiobject.h:
10398 add descriptions provided by ds and some more
10400 mark macro as to be removed
10402 2005-10-28 Wim Taymans <wim@fluendo.com>
10404 * docs/design/part-TODO.txt:
10405 Add an item to TODO.
10407 * gst/gstiterator.c: (gst_iterator_fold),
10408 (gst_iterator_find_custom):
10409 * gst/gstiterator.h:
10412 2005-10-28 Wim Taymans <wim@fluendo.com>
10414 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10415 (gst_base_transform_init):
10418 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
10419 An EOS event marks the queue as completely filled.
10421 2005-10-27 Wim Taymans <wim@fluendo.com>
10423 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10424 (gst_base_sink_do_sync), (gst_base_sink_get_position):
10425 Some more debugging.
10427 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
10428 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
10429 (gst_base_transform_event), (gst_base_transform_getrange),
10430 (gst_base_transform_chain):
10431 * gst/base/gstbasetransform.h:
10433 Protect transform and concurrent buffer alloc with a new lock.
10434 Try not to break ABI/API.
10436 2005-10-27 Wim Taymans <wim@fluendo.com>
10438 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10439 (gst_base_src_init), (gst_base_src_query),
10440 (gst_base_src_default_newsegment),
10441 (gst_base_src_configure_segment), (gst_base_src_do_seek),
10442 (gst_base_src_send_event), (gst_base_src_event_handler),
10443 (gst_base_src_pad_get_range), (gst_base_src_loop),
10444 (gst_base_src_unlock), (gst_base_src_default_negotiate),
10445 (gst_base_src_start), (gst_base_src_deactivate),
10446 (gst_base_src_activate_push), (gst_base_src_change_state):
10447 Move some stuff around and cleanup things.
10449 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
10451 * gst/base/gstbasesrc.c: (gst_base_src_query):
10452 Add missing break statements.
10454 2005-10-27 Wim Taymans <wim@fluendo.com>
10456 * check/gst/gstbin.c: (GST_START_TEST):
10457 An extra refcount is taken in basesrc.
10459 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
10460 (gst_base_src_get_range), (gst_base_src_pad_get_range),
10461 (gst_base_src_loop):
10462 Small cleanups, check for flushing after being unlocked from the
10463 LIVE_LOCK. take refcounts correctly (not yet everywhere).
10464 Don't send out EOS when going to READY.
10466 2005-10-27 Wim Taymans <wim@fluendo.com>
10468 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10469 (gst_base_sink_get_position):
10472 * gst/gstbin.c: (message_check), (bin_replace_message),
10473 (bin_remove_messages), (is_eos), (gst_bin_add_func),
10474 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10475 (bin_query_duration_init), (bin_query_duration_fold),
10476 (bin_query_duration_done), (bin_query_generic_fold),
10478 * tools/gst-launch.c: (main):
10481 2005-10-26 Stefan Kost <ensonic@users.sf.net>
10483 * examples/controller/audio-example.c: (main):
10484 * examples/queue/queue.c: (event_loop):
10485 * gst/base/gstbasetransform.h:
10486 * gst/gstelement.c: (gst_element_send_event):
10488 * gst/gstpad.c: (gst_pad_send_event):
10491 changing log priority in error situations
10493 2005-10-25 Wim Taymans <wim@fluendo.com>
10495 * gst/gstbin.c: (message_check), (bin_replace_message),
10496 (bin_remove_messages), (is_eos), (gst_bin_add_func),
10497 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10498 (bin_query_duration_init), (bin_query_duration_fold),
10499 (bin_query_duration_done), (bin_query_generic_fold),
10501 Some doc and debug updates.
10502 Cache previously requested query DURATION for speed. invalidate
10503 cached duration if element posts a DURATION message.
10505 2005-10-25 Wim Taymans <wim@fluendo.com>
10507 * docs/design/part-TODO.txt:
10510 * gst/gstbin.c: (message_check), (bin_replace_message),
10511 (bin_remove_messages), (is_eos), (gst_bin_add_func),
10512 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10513 (bin_query_duration_init), (bin_query_duration_fold),
10514 (bin_query_duration_done), (bin_query_generic_fold),
10516 Handle SEGMENT_START/DONE messages correctly.
10517 More evolved query algorithm that handles duration queries
10520 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
10521 (gst_element_get_state_func), (gst_element_abort_state),
10522 (gst_element_commit_state), (gst_element_lost_state):
10523 Some more debugging.
10525 * gst/gstmessage.h:
10528 2005-10-25 Wim Taymans <wim@fluendo.com>
10530 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
10531 Don't use invalid stream_time.
10533 * gst/gstevent.c: (gst_event_new_newsegment):
10534 stream_time in newsegment cannot be undefined.
10536 2005-10-24 Wim Taymans <wim@fluendo.com>
10541 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10543 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
10545 2005-10-24 Stefan Kost <ensonic@users.sf.net>
10547 * docs/libs/tmpl/gstdparam.sgml:
10548 * docs/libs/tmpl/gstdplinint.sgml:
10549 * docs/libs/tmpl/gstdpman.sgml:
10550 * docs/libs/tmpl/gstdpsmooth.sgml:
10551 * docs/libs/tmpl/gstunitconvert.sgml:
10554 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
10559 === release 0.9.4 ===
10561 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
10564 releasing 0.9.4, "Tyrannosaurus Rex"
10566 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
10568 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10569 (gst_file_sink_get_current_offset):
10570 Use fseeko() and ftello() if available. When falling back on
10571 lseek() to get the current offset, fflush() first to make sure
10572 everything is up-to-date and we get the right offset.
10574 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
10576 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10577 * gst/base/gstbasesrc.c: (gst_base_src_loop):
10578 * gst/gsterror.c: (_gst_stream_errors_init):
10580 * gst/gstqueue.c: (gst_queue_loop):
10582 remove prematurely added error category and clean up the instances
10584 2005-10-21 Wim Taymans <wim@fluendo.com>
10586 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10587 (gst_base_sink_get_position), (gst_base_sink_query),
10588 (gst_base_sink_change_state):
10589 Simply set the right flag when going to playing, that's all
10590 we need to do instead of calling a function inside the object
10591 lock (that could take the lock as well and deadlock)
10593 2005-10-21 Wim Taymans <wim@fluendo.com>
10595 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
10596 (gst_base_src_loop):
10597 Don't warn, the peer element knows what to do best when
10598 the seek failed, it might try something else.
10600 2005-10-21 Wim Taymans <wim@fluendo.com>
10602 * gst/base/gstbasesrc.c: (gst_base_src_init),
10603 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10606 2005-10-21 Wim Taymans <wim@fluendo.com>
10608 * docs/design/part-segments.txt:
10611 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10612 Correctly set caps, even on the subbufer.
10614 2005-10-21 Wim Taymans <wim@fluendo.com>
10616 * docs/gst/gstreamer-docs.sgml:
10617 * docs/gst/gstreamer-sections.txt:
10618 * gst/gstelement.h:
10621 * gst/gstmessage.h:
10624 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
10628 And 2% more doc coverage.
10630 2005-10-21 Andy Wingo <wingo@pobox.com>
10632 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
10633 position reporting.
10635 2005-10-20 Wim Taymans <wim@fluendo.com>
10637 * gst/gsterror.c: (gst_error_get_message):
10640 * gst/gststructure.c:
10645 2005-10-20 Wim Taymans <wim@fluendo.com>
10650 Another 1% more coverage.
10652 2005-10-20 Wim Taymans <wim@fluendo.com>
10654 * docs/gst/gstreamer-sections.txt:
10655 * gst/gstelement.c: (gst_element_get_state_func),
10656 (gst_element_abort_state), (gst_element_commit_state),
10657 (gst_element_lost_state):
10659 * gst/gstquery.c: (gst_query_set_position),
10660 (gst_query_parse_position), (gst_query_set_duration),
10661 (gst_query_parse_duration), (gst_query_new_convert):
10663 Yay! 1% more docs coverage.
10665 2005-10-20 Wim Taymans <wim@fluendo.com>
10668 * gst/gstquery.c: (gst_query_set_position),
10669 (gst_query_parse_position), (gst_query_set_duration),
10670 (gst_query_parse_duration), (gst_query_new_convert):
10672 * gst/gstutils.c: (gst_element_query_convert):
10674 Docs and consistency fixes.
10676 2005-10-20 Wim Taymans <wim@fluendo.com>
10682 2005-10-20 Wim Taymans <wim@fluendo.com>
10684 * gst/gstbin.c: (message_check), (bin_replace_message),
10685 (bin_remove_messages), (is_eos), (gst_bin_add_func),
10686 (update_degree), (gst_bin_sort_iterator_next),
10687 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
10688 Reworked the message handling a bit, cache the messages instead of
10689 only the senders. alows us to do more in the future.
10691 2005-10-20 Wim Taymans <wim@fluendo.com>
10693 * docs/design/part-TODO.txt:
10696 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10697 (gst_base_sink_query):
10698 Don't use clock time to report position when in EOS.
10700 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
10702 * tools/gst-inspect.c: (print_interfaces),
10703 (print_element_properties_info), (print_element_info):
10704 Fix interface output with gst-inspect -a; don't print
10705 newlines after double/float properties.
10707 2005-10-20 Wim Taymans <wim@fluendo.com>
10709 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10710 (gst_base_sink_query):
10711 Speed up current position calculation.
10713 * gst/base/gstbasesrc.c: (gst_base_src_query),
10714 (gst_base_src_default_newsegment):
10715 Correctly set stream position in newsegment.
10717 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
10718 (update_degree), (gst_bin_sort_iterator_next),
10719 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
10720 * gst/gstmessage.c: (gst_message_new_custom):
10721 Clean up debugging info
10723 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10724 (gst_queue_loop), (gst_queue_handle_src_query):
10727 2005-10-19 Wim Taymans <wim@fluendo.com>
10729 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10730 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10731 Fix query handling again.
10733 2005-10-19 Wim Taymans <wim@fluendo.com>
10735 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10736 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10737 * gst/base/gstbasesrc.c: (gst_base_src_query):
10738 * gst/elements/gstfilesink.c: (gst_file_sink_query):
10739 * gst/elements/gsttypefindelement.c:
10740 (gst_type_find_handle_src_query), (find_element_get_length),
10741 (gst_type_find_element_activate):
10744 * gst/gstquery.c: (gst_query_new_position),
10745 (gst_query_set_position), (gst_query_parse_position),
10746 (gst_query_new_duration), (gst_query_set_duration),
10747 (gst_query_parse_duration), (gst_query_set_segment),
10748 (gst_query_parse_segment):
10750 Bundling query position/duration is not a good idea since duration
10751 does not change much and we don't want to recalculate it for every
10752 position query, so they are separated again..
10753 Base value in segment query is not needed.
10755 * gst/gstqueue.c: (gst_queue_handle_src_query):
10756 * gst/gstutils.c: (gst_element_query_position),
10757 (gst_element_query_duration), (gst_pad_query_position),
10758 (gst_pad_query_duration):
10760 Updates for query API change.
10761 Added some docs here and there.
10763 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
10765 * check/gst/gstbin.c: (GST_START_TEST):
10766 * check/gst/gstghostpad.c: (GST_START_TEST):
10767 * check/pipelines/cleanup.c: (GST_START_TEST):
10768 wait on thread to die so we can check refcount correctly
10770 2005-10-18 Wim Taymans <wim@fluendo.com>
10772 * check/pipelines/stress.c: (GST_START_TEST):
10773 Make check a little more time consuming.
10775 2005-10-18 Wim Taymans <wim@fluendo.com>
10777 * check/Makefile.am:
10778 * check/pipelines/stress.c: (GST_START_TEST),
10779 (simple_launch_lines_suite), (main):
10780 Small state change torture test.
10782 * docs/design/part-states.txt:
10783 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10784 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
10785 (gst_base_sink_change_state):
10786 Never take state lock from streaming thread, clean up ugly
10787 hacks. Unfortunatly core does not yet support nice ways to
10788 async commit state.
10790 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
10792 Start state recalc if a STATE_DIRTY message is posted, but only
10793 on the toplevel bin.
10795 * gst/gstelement.c: (gst_element_sync_state_with_parent),
10796 (gst_element_get_state_func), (gst_element_abort_state),
10797 (gst_element_commit_state), (gst_element_lost_state),
10798 (gst_element_set_state_func), (gst_element_change_state):
10799 * gst/gstelement.h:
10800 State variables are now protected with the LOCK, the state
10801 lock is only used to serialize _set_state().
10803 2005-10-18 Wim Taymans <wim@fluendo.com>
10805 * check/gst/gstbin.c: (GST_START_TEST):
10806 * check/gst/gstmessage.c: (GST_START_TEST):
10807 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10808 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
10810 * gst/gstelement.c: (gst_element_abort_state),
10811 (gst_element_commit_state), (gst_element_lost_state):
10812 * gst/gstmessage.c: (gst_message_new_state_changed),
10813 (gst_message_new_state_dirty), (gst_message_new_segment_start),
10814 (gst_message_new_segment_done), (gst_message_new_duration),
10815 (gst_message_parse_state_changed),
10816 (gst_message_parse_segment_start),
10817 (gst_message_parse_segment_done), (gst_message_parse_duration):
10818 * gst/gstmessage.h:
10819 * tools/gst-launch.c: (event_loop):
10820 Seriously, this is better than a previous commit as we only need
10821 to notify the fact that an element changed state in a streaming
10822 thread, marking the state of the parents dirty, hence the
10823 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
10826 2005-10-18 Wim Taymans <wim@fluendo.com>
10828 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
10829 (gst_bin_recalc_func):
10830 * gst/gstelement.c: (gst_element_set_clock),
10831 (gst_element_abort_state), (gst_element_lost_state):
10832 Cleanups, prepare for state change fixes.
10834 2005-10-18 Wim Taymans <wim@fluendo.com>
10837 * gst/gstelement.c: (gst_element_class_init),
10838 (gst_element_set_state), (gst_element_set_state_func):
10839 * gst/gstelement.h:
10840 Pending ABI changes.
10841 GThreadPool in GstBinClass to monitor async state changes.
10842 state_cookie in GstElement to detect concurrent gst/set state.
10843 set_state is now virtual too in case a very complicated element
10844 has to be constructed.
10846 2005-10-18 Wim Taymans <wim@fluendo.com>
10848 * check/gst/gstbin.c: (GST_START_TEST):
10849 * check/gst/gstmessage.c: (GST_START_TEST):
10850 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10851 * gst/gstbin.c: (bin_bus_handler):
10852 * gst/gstelement.c: (gst_element_commit_state),
10853 (gst_element_lost_state):
10854 * gst/gstmessage.c: (gst_message_new_state_changed),
10855 (gst_message_new_segment_start), (gst_message_new_segment_done),
10856 (gst_message_new_duration), (gst_message_parse_state_changed),
10857 (gst_message_parse_segment_start),
10858 (gst_message_parse_segment_done), (gst_message_parse_duration):
10859 * gst/gstmessage.h:
10860 * tools/gst-launch.c: (event_loop):
10861 Make messages future proof.
10862 state-change gets a flag if it was a message comming from the
10864 segment-start/stop can also be specified in other formats.
10865 A message to notify an app that a pipeline changed playback
10867 Also fix a GstMessage leak in -launch
10869 2005-10-18 Andy Wingo <wingo@pobox.com>
10871 * gst/gstelement.c (gst_element_dispose): More helpful message.
10873 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
10875 reviewed by: <delete if not using a buddy>
10877 * common/gtk-doc.mak:
10879 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
10881 * gst/gstregistry.c: (gst_registry_scan_path_level):
10882 unref a plug-in we get that was already initialized
10884 2005-10-18 Stefan Kost <ensonic@users.sf.net>
10886 * docs/gst/gstreamer-sections.txt:
10887 * docs/libs/gstreamer-libs-sections.txt:
10888 * gst/gstelement.h:
10889 add new api entries
10890 hide internal macro
10892 2005-10-17 Andy Wingo <wingo@pobox.com>
10894 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
10897 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
10899 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
10901 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
10902 (gst_element_get_state_func): Better debug message.
10903 (gst_element_commit_state): s/INFO/DEBUG/.
10904 (gst_element_lost_state, gst_element_change_state):
10906 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
10907 (gst_message_new_custom): s/INFO/LOG/.
10909 2005-10-17 Michael Smith <msmith@fluendo.com>
10911 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10912 Check if end time is valid using end time, not start time.
10914 2005-10-17 Stefan Kost <ensonic@users.sf.net>
10916 * check/gst-libs/controller.c: (GST_START_TEST),
10917 (gst_controller_suite):
10918 * libs/gst/controller/gstcontroller.c:
10919 (gst_controlled_property_set_interpolation_mode):
10920 * libs/gst/controller/gstcontroller.h:
10921 * libs/gst/controller/gstinterpolation.c:
10922 * testsuite/controller/.cvsignore:
10923 * testsuite/controller/Makefile.am:
10924 * testsuite/controller/interpolator.c:
10925 merge controller testsuites
10927 remove mem-chunk from docs
10929 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
10931 * gst/gstmemchunk.c:
10932 * gst/gstmemchunk.h:
10933 * gst/gsttrashstack.c:
10934 * gst/gsttrashstack.h:
10935 out. get out. you're fired. to the Attic !
10937 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
10939 * gst/gstcaps.c: (gst_caps_intersect):
10940 fix signedness issues in a (hopefully) correct way
10941 * gst/gstelement.c: (gst_element_pads_activate):
10943 * gst/gstobject.c: (gst_object_set_parent):
10946 2005-10-17 Julien MOUTTE <julien@moutte.net>
10948 * gst/gstvalue.h: Fix prototypes.
10950 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
10952 * docs/gst/gstreamer-sections.txt:
10953 * gst/gst.c: (gst_version_string):
10955 * gst/gstversion.h.in:
10956 * win32/common/libgstreamer.def:
10957 add gst_version_string ()
10959 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
10963 * gst/gst.c: (init_post):
10964 * win32/common/config.h.in:
10966 * gst/gstcaps.c: (gst_caps_intersect):
10967 use gint64, the range could be bigger than a guint
10969 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
10972 document potential problem in 2038
10974 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
10976 * gst/gstcaps.c: (gst_caps_intersect):
10977 Fix guint j diving under 0
10979 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
10982 * win32/common/config.h:
10983 * win32/common/config.h.in:
10984 check for process.h, declares getpid() on Windows
10986 include process.h if we have it
10987 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
10988 * gst/gstmemchunk.h:
10989 fix signedness issues
10990 * win32/common/libgstreamer.def:
10993 2005-10-16 Julien MOUTTE <julien@moutte.net>
10995 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
10996 fix. Because of unsigned ints, caps intersection was going nuts and
10997 trying to access structures with G_MAXUINT index. That fixes
10998 videotestsrc ! ffmpegcolorspace ! fakesink
10999 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
11002 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
11005 use the gettext macro
11006 * gst/elements/gstelements.c:
11008 * gst/indexers/gstindexers.c:
11009 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
11010 * win32/common/config.h:
11012 * win32/common/config.h.in:
11013 add the template to generate config.h
11014 * win32/common/gstenumtypes.c:
11015 * win32/common/gstversion.h:
11018 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
11020 * gst/gst.c: (gst_version):
11021 * gst/gstversion.h.in:
11024 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
11027 Oops, add missing closing bracket.
11029 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
11032 use common m4's for argument checking
11034 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
11036 * docs/gst/gstreamer-sections.txt:
11038 Add GST_EVENT_TYPE_NAME() macro.
11040 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
11043 * gst/gstpluginfeature.c:
11045 privatize more symbols
11047 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
11050 add srcdir, builddir includes to GST_ALL_CFLAGS, since
11051 everything that uses GStreamer API should have the includes
11053 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
11055 * docs/gst/gstreamer-sections.txt:
11056 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
11058 give each value a _get_type, removes the DATA exports
11060 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
11064 remove _gst_registry_auto_load, not used anymore
11065 * gst/gstbin.c: (gst_bin_get_type):
11067 * gst/gstelement.c: (gst_element_get_type):
11068 * gst/gstelement.h:
11069 * gst/gstobject.c: (gst_object_get_type):
11071 * gst/gstpad.c: (gst_pad_get_type):
11073 make _get_type functions similar, fixes data export from library
11075 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
11078 correctly make conditionals
11079 * gst/elements/Makefile.am:
11080 * gst/elements/gstelements.c:
11081 fix typo causing fdsrc not to build
11083 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
11085 * testsuite/Makefile.am:
11086 * testsuite/bytestream/.cvsignore:
11087 * testsuite/bytestream/Makefile.am:
11088 * testsuite/bytestream/filepadsink.c:
11089 * testsuite/bytestream/gstbstest.c:
11090 * testsuite/bytestream/test1.c:
11091 * testsuite/bytestream/testfile1:
11092 * testsuite/caps/normalisation.c:
11093 * testsuite/caps/random.c: (main):
11094 * testsuite/cleanup/.cvsignore:
11095 * testsuite/cleanup/Makefile.am:
11096 * testsuite/cleanup/cleanup1.c:
11097 * testsuite/cleanup/cleanup2.c:
11098 * testsuite/cleanup/cleanup3.c:
11099 * testsuite/cleanup/cleanup4.c:
11100 * testsuite/cleanup/cleanup5.c:
11101 * testsuite/controller/interpolator.c:
11102 * testsuite/debug/printf_extension.c: (main):
11103 * testsuite/elements/tee.c:
11104 * testsuite/negotiation/.cvsignore:
11105 * testsuite/negotiation/Makefile.am:
11106 * testsuite/negotiation/pad_link.c:
11107 * testsuite/pad/Makefile.am:
11108 * testsuite/pad/chainnopull.c:
11109 * testsuite/pad/getnopush.c:
11110 * testsuite/pad/link.c:
11111 * testsuite/refcounting/sched.c: (create_pipeline):
11112 * testsuite/registry/Makefile.am:
11113 * testsuite/registry/gst-print-formats.c:
11114 * testsuite/schedulers/.cvsignore:
11115 * testsuite/schedulers/142183-2.c:
11116 * testsuite/schedulers/142183.c:
11117 * testsuite/schedulers/143777-2.c:
11118 * testsuite/schedulers/143777.c:
11119 * testsuite/schedulers/147713.c:
11120 * testsuite/schedulers/147819.c:
11121 * testsuite/schedulers/147894-2.c:
11122 * testsuite/schedulers/147894.c:
11123 * testsuite/schedulers/Makefile.am:
11124 * testsuite/schedulers/group_link.c:
11125 * testsuite/schedulers/queue_link.c:
11126 * testsuite/schedulers/relink.c:
11127 * testsuite/schedulers/unlink.c:
11128 * testsuite/schedulers/unref.c:
11129 * testsuite/schedulers/useless_iteration.c:
11130 * testsuite/states/bin.c:
11131 clean out/remove some stuff from the testsuite directories
11133 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
11136 check for some headers
11137 * gst/elements/Makefile.am:
11138 * gst/elements/gstelements.c:
11139 don't compile fdsrc without sys/socket.h
11140 * gst/indexers/Makefile.am:
11141 * gst/indexers/gstindexers.c: (plugin_init):
11142 don't compile fileindex without mmap
11144 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
11151 * check/Makefile.am:
11152 * docs/gst/Makefile.am:
11153 * examples/helloworld/Makefile.am:
11155 * gst/base/Makefile.am:
11156 * gst/check/Makefile.am:
11157 * gst/elements/Makefile.am:
11158 * gst/indexers/Makefile.am:
11159 * gst/parse/Makefile.am:
11160 * libs/gst/controller/Makefile.am:
11161 * libs/gst/dataprotocol/Makefile.am:
11162 * examples/helloworld/helloworld.c: (event_loop):
11163 compile fixes, though it's not being compiled currently
11165 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
11167 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
11168 Add some simple tests for the new taglist date API.
11170 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
11172 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
11173 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
11174 Beautify 'last-message' output: print 'none' for buffer timestamps
11175 and durations if none is set; improve alignment with next messages.
11177 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
11179 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
11180 * gst/gstpluginfeature.h:
11181 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
11182 * gst/gstregistry.h:
11183 * docs/gst/gstreamer-sections.txt:
11184 Add new API to check plugin feature version requirements.
11186 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
11187 Some basic tests for the above.
11189 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
11191 * gst/gststructure.c: (gst_structure_to_string):
11192 guard against NULL printf - happens when for example
11193 a message structure with GstClock gets serialized
11195 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
11197 * gst/base/gstcollectpads.c: (gst_collectpads_event):
11198 Fix presumable copy'n'pasto.
11200 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
11202 * gst/elements/gstfakesrc.h:
11203 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
11204 * gst/elements/gsttypefindelement.c:
11205 fix some signedness
11206 * gst/elements/gstfilesink.c: (gst_file_sink_render):
11207 I wonder if this could actually write +2GB files before
11209 2005-10-13 Andy Wingo <wingo@pobox.com>
11211 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
11212 Fix Timmeke Waymans bug.
11213 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
11214 string of the proper length to gst_caps_from_string. There's a
11215 potential for, before this fix, that this could cause someone
11216 connecting over the network to cause a segfault if the payload is
11217 not NUL-terminated.
11219 2005-10-13 Stefan Kost <ensonic@users.sf.net>
11221 * docs/design/draft-push-pull.txt:
11222 * docs/design/part-overview.txt:
11223 * docs/random/TODO-pre-0.9:
11224 * docs/random/old/ChangeLog.gstreamer:
11225 * gst/base/gstpushsrc.c:
11229 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
11231 * gst/glib-compat.c: (gst_flags_get_first_value):
11232 * gst/glib-compat.h:
11233 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
11234 (gst_value_compare_double), (gst_value_serialize_flags):
11235 GLib 2.6 g_flags_get_first_value has a bug that triggers an
11238 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
11240 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11241 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11243 * tools/gst-launch.c: (event_loop):
11244 print out clock nicely
11246 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
11248 * docs/gst/gstreamer-sections.txt:
11249 * gst/gsttaglist.h:
11250 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
11251 (gst_tag_list_get_date_index):
11252 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
11253 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
11255 2005-10-13 Julien MOUTTE <julien@moutte.net>
11257 * gst/base/gstcollectpads.c: (gst_collectpads_event),
11258 (gst_collectpads_chain):
11259 * gst/base/gstcollectpads.h: Handle newsegment and store informations
11262 2005-10-13 Stefan Kost <ensonic@users.sf.net>
11264 * docs/gst/gstreamer-sections.txt:
11267 * tools/gst-inspect.c: (main):
11268 * tools/gst-launch.c: (main):
11269 * tools/gst-run.c: (main):
11270 * tools/gst-xmlinspect.c: (main):
11271 fix GOption context leaks
11274 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
11278 * win32/common/config.h:
11280 * win32/vs6/grammar.dsp:
11281 * win32/vs6/libgstelements.dsp:
11282 * win32/vs6/libgstreamer.dsp:
11285 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
11287 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11288 * gst/base/gstbasesrc.c: (gst_base_src_query):
11289 fix more guint64<->gdouble conversions
11291 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
11294 add win32-update target
11295 * win32/common/gstconfig.h:
11296 * win32/common/gstenumtypes.c:
11297 * win32/common/gstenumtypes.h:
11298 * win32/common/gstversion.h:
11299 add files that visual studio can't generate
11301 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
11304 add a win32-update target
11307 2005-10-12 Wim Taymans <wim@fluendo.com>
11309 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11310 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
11311 * gst/gstelement.c: (gst_element_commit_state),
11312 (gst_element_set_state):
11313 Protect flags with proper lock.
11314 unref provided cached clock in dispose.
11316 2005-10-12 Stefan Kost <ensonic@users.sf.net>
11319 * gst/gstminiobject.h:
11321 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
11322 removed unused flags from miniobject
11325 2005-10-12 Wim Taymans <wim@fluendo.com>
11327 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
11328 (gst_file_sink_event), (gst_file_sink_render):
11329 Flush before seeking.
11331 2005-10-12 Andy Wingo <wingo@pobox.com>
11333 * gst/gst.c (gst_init_check): Ignore unknown options, as has
11334 always been the case.
11336 2005-10-12 Stefan Kost <ensonic@users.sf.net>
11338 * check/gst/gstbin.c: (GST_START_TEST):
11339 * docs/gst/gstreamer-sections.txt:
11340 * gst/base/gstbasesink.c: (gst_base_sink_init):
11341 * gst/base/gstbasesrc.c: (gst_base_src_init),
11342 (gst_base_src_get_range), (gst_base_src_check_get_range),
11343 (gst_base_src_start), (gst_base_src_stop):
11344 * gst/base/gstbasesrc.h:
11345 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
11346 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11347 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
11351 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
11353 * gst/gstelement.c: (gst_element_is_locked_state),
11354 (gst_element_set_locked_state), (gst_element_commit_state),
11355 (gst_element_set_state):
11356 * gst/gstelement.h:
11357 * gst/gstindex.c: (gst_index_init):
11359 * gst/gstminiobject.h:
11360 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
11361 (gst_object_set_parent):
11363 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
11364 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
11366 * gst/gstpadtemplate.h:
11367 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
11368 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
11369 * gst/gstpipeline.h:
11370 * gst/indexers/gstfileindex.c: (gst_file_index_load),
11371 (gst_file_index_commit):
11372 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
11373 * testsuite/pad/link.c: (gst_test_src_init),
11374 (gst_test_filter_init), (gst_test_sink_init):
11375 * testsuite/states/locked.c: (main):
11376 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
11377 moved bitshift from macro to enum definition
11379 2005-10-12 Wim Taymans <wim@fluendo.com>
11381 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
11382 * gst/elements/gstfilesink.c: (gst_file_sink_event),
11383 (gst_file_sink_render):
11384 Some more debugging info.
11386 2005-10-12 Wim Taymans <wim@fluendo.com>
11388 * docs/design/part-states.txt:
11389 * tools/gst-launch.c: (main):
11391 Revert non-intentional change.
11393 2005-10-12 Wim Taymans <wim@fluendo.com>
11395 * check/gst/gstbin.c: (GST_START_TEST):
11396 * check/gst/gstelement.c: (GST_START_TEST):
11397 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
11398 * check/gst/gstghostpad.c: (GST_START_TEST):
11399 * check/gst/gstpipeline.c: (GST_START_TEST):
11400 * check/pipelines/simple_launch_lines.c: (run_pipeline):
11401 * check/states/sinks.c: (GST_START_TEST):
11402 * gst/elements/gsttypefindelement.c: (stop_typefinding):
11403 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11404 (gst_bin_remove_func), (gst_bin_get_state_func),
11405 (gst_bin_recalc_state), (gst_bin_change_state_func),
11407 * gst/gstelement.c: (gst_element_get_state_func),
11408 (gst_element_get_state), (gst_element_abort_state),
11409 (gst_element_commit_state), (gst_element_set_state),
11410 (gst_element_change_state), (gst_element_change_state_func):
11411 * gst/gstelement.h:
11412 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
11413 (gst_pipeline_provide_clock_func):
11414 * gst/gstutils.c: (gst_element_link_pads_filtered):
11415 * tools/gst-launch.c: (main):
11416 * tools/gst-typefind.c: (main):
11417 Use GstClockTime in _get_state() instead of GTimeVal.
11418 Remove old code in gstutils.c
11420 2005-10-12 Andy Wingo <wingo@pobox.com>
11422 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
11425 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
11426 there is no task. Shouldn't affect any code, as nothing in our
11427 plugins checks this return value.
11428 (gst_pad_stop_task): Also take the stream lock if the pad has no
11429 task. Docs updated.
11431 2005-10-12 Wim Taymans <wim@fluendo.com>
11433 * gst/gstpad.c: (pre_activate), (post_activate),
11434 (gst_pad_activate_pull), (gst_pad_activate_push):
11435 Cleanup activation code. Reset old state if
11438 2005-10-12 Wim Taymans <wim@fluendo.com>
11440 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11441 (gst_base_sink_change_state):
11442 No need to prerol after receiving EOS.
11444 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11445 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
11446 * gst/elements/gstidentity.c: (gst_identity_event):
11447 Print events more verbosely.
11449 2005-10-12 Wim Taymans <wim@fluendo.com>
11451 * check/Makefile.am:
11452 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
11453 * check/states/sinks2.c:
11454 Moved sinks2 testcode in sinks check.
11456 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11457 (gst_bin_remove_func), (gst_bin_recalc_state),
11458 (gst_bin_change_state_func), (bin_bus_handler):
11459 Fix potential race condition when _get_state() iterated over an
11460 ASYNC element right before it posted a state completion.
11463 Do proper cast here.
11465 * gst/gstevent.c: (gst_event_new_newsegment),
11466 (gst_event_parse_newsegment):
11467 A playback rate of 0.0 is not allowed.
11469 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
11471 * win32/common/config.h:
11472 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
11473 (_trewinddir), (_ttelldir), (_tseekdir):
11474 * win32/common/dirent.h:
11475 * win32/common/gtchar.h:
11476 * win32/common/libgstbase.def:
11477 * win32/common/libgstreamer.def:
11478 * win32/vs6/grammar.dsp:
11479 * win32/vs6/gst_inspect.dsp:
11480 * win32/vs6/gst_launch.dsp:
11481 * win32/vs6/gstreamer.dsw:
11482 * win32/vs6/libgstbase.dsp:
11483 * win32/vs6/libgstelements.dsp:
11484 * win32/vs6/libgstreamer.dsp:
11485 Visual Studio 6 project files, and a new common directory.
11488 2005-10-11 Wim Taymans <wim@fluendo.com>
11490 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11491 (gst_base_sink_do_sync), (gst_base_sink_query),
11492 (gst_base_sink_change_state):
11493 * gst/base/gstbasesink.h:
11494 Correctly parse newsegment info.
11496 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
11498 * gst/gst.c: (init_post):
11499 split plugin paths correctly
11501 2005-10-11 Wim Taymans <wim@fluendo.com>
11503 * check/gst/gstevent.c: (GST_START_TEST):
11504 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11505 (gst_base_sink_change_state):
11506 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
11507 * gst/base/gstbasetransform.c: (gst_base_transform_event):
11508 * gst/elements/gstfilesink.c: (gst_file_sink_event):
11509 * gst/gstevent.c: (gst_event_new_newsegment),
11510 (gst_event_parse_newsegment):
11512 Added extra flag to newsegment for future API freeze.
11513 Updated check and base elements.
11515 2005-10-11 Julien MOUTTE <julien@moutte.net>
11517 * gst/base/gstcollectpads.c: (gst_collectpads_init),
11518 (gst_collectpads_add_pad), (gst_collectpads_pop),
11519 (gst_collectpads_event), (gst_collectpads_chain):
11520 * gst/base/gstcollectpads.h: Handle EOS correctly.
11522 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
11524 * tools/gst-launch.c: (main):
11525 more null protecting
11527 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
11529 * gst/gst-i18n-lib.h:
11530 check for ENABLE_NLS, not GETTEXT_PACKAGE
11531 * gst/gstregistry.c: (gst_registry_add_plugin),
11532 (gst_registry_scan_path_level),
11533 (_gst_registry_remove_cache_plugins):
11534 protect possibly NULL strings
11535 * gst/parse/types.h:
11536 config.h already included before
11537 * tools/gst-inspect.c: (main):
11538 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
11539 check for ENABLE_NLS, not GETTEXT_PACKAGE
11540 * tools/gst-launch.c: (main):
11541 check for ENABLE_NLS, not GETTEXT_PACKAGE
11543 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
11546 if we don't have glib, fail before testing 2.8
11547 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
11548 fix a leak, should fix plugins-base testsuite
11550 2005-10-11 Andy Wingo <wingo@pobox.com>
11552 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
11553 take the mode we're going to as an arg. Go head and set the mode
11554 and flushing flags now, so that if the activate function starts a
11555 thread all the flags will be in the right state.
11556 (post_activate): Renamed also. Just handle making sure streaming
11557 finishes for the deactivation case, and setting the deactivated
11559 (gst_pad_set_active): Complain loudly if deactivation fails.
11560 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
11561 (gst_pad_activate_push): Adapt to pre/post_activate changes,
11562 remove the terrible hack.
11564 2005-10-11 Wim Taymans <wim@fluendo.com>
11566 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11567 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
11568 (gst_bin_recalc_state), (gst_bin_change_state_func),
11569 (gst_bin_dispose), (bin_bus_handler):
11571 Prepare to make current EOS message queue more generic.
11574 * gst/gstevent.c: (gst_event_new_newsegment),
11575 (gst_event_parse_newsegment):
11577 Rename base to stream_time.
11579 * gst/gstmessage.h:
11582 2005-10-11 Wim Taymans <wim@fluendo.com>
11584 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11585 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
11586 (gst_bin_change_state_func), (bin_bus_handler):
11588 Work on proper clock selection.
11590 2005-10-11 Edward Hervey <edward@fluendo.com>
11592 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
11593 * libs/gst/controller/gstcontroller.h:
11594 Added GList* version of _remove_properties() in order to be able to wrap
11597 2005-10-11 Wim Taymans <wim@fluendo.com>
11599 * docs/design/part-states.txt:
11602 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
11603 (gst_bin_change_state_func), (bin_bus_handler):
11604 Doc updates. Don't distribute the same clock over and over again.
11610 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
11611 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
11612 (gst_pad_send_event):
11614 Make probe emission threadsafe again.
11615 Register quarks and move _get_name() from utils.
11618 * gst/gstpipeline.c: (gst_pipeline_class_init),
11619 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11620 Only redistribute the clock of it changed.
11622 * gst/gstsystemclock.h:
11627 Moved the _flow_get_name() to GstPad.
11629 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
11631 * check/gst-libs/gdp.c: (GST_START_TEST):
11632 * check/gst/gstcaps.c: (GST_START_TEST):
11633 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
11634 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
11635 (gst_dp_packet_from_caps):
11636 fix more valgrind warnings before turning up the heat
11638 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
11640 * gst/parse/grammar.y:
11641 some cleanup before the hacking
11643 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
11645 * gst/base/gstbasesrc.c: (gst_base_src_query):
11647 * gst/gstutils.c: (gst_guint64_to_gdouble),
11648 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
11650 externalize, basesrc uses it
11651 obviously the implementation needs testing
11653 2005-10-10 Wim Taymans <wim@fluendo.com>
11655 * tests/sched/Makefile.am:
11656 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
11657 (make_pipeline3), (make_pipeline4), (print_elem), (main):
11659 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
11661 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
11662 apparently converting from guint64 to double is not implemented
11665 2005-10-10 Wim Taymans <wim@fluendo.com>
11667 * check/Makefile.am:
11668 * check/generic/states.c: (GST_START_TEST):
11669 * check/gst/gstbin.c: (GST_START_TEST):
11670 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11671 * check/states/sinks.c: (GST_START_TEST):
11672 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
11674 Check fixes, use API as stated in design docs, remove hacks.
11676 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11677 (gst_base_sink_change_state):
11678 Catch stopping our task while we're shutting down.
11680 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
11681 (gst_bin_remove_func), (gst_bin_get_state_func),
11682 (gst_bin_recalc_state), (gst_bin_change_state_func),
11685 * gst/gstelement.c: (gst_element_init),
11686 (gst_element_get_state_func), (gst_element_abort_state),
11687 (gst_element_commit_state), (gst_element_lost_state),
11688 (gst_element_set_state), (gst_element_change_state),
11689 (gst_element_change_state_func):
11690 * gst/gstelement.h:
11691 New state change algorithm (see #318116)
11693 * gst/gstpipeline.c: (gst_pipeline_class_init),
11694 (gst_pipeline_init), (gst_pipeline_set_property),
11695 (gst_pipeline_get_property), (do_pipeline_seek),
11696 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11697 * gst/gstpipeline.h:
11698 Remove crude state change hacks.
11701 Remove crude hacks.
11703 * tools/gst-launch.c: (main):
11704 Fixes for state change. Needs some more work to fully use the
11707 2005-10-10 Andy Wingo <wingo@pobox.com>
11709 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
11711 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
11712 this flag, but it's not even in GLib 2.6. Odd. Hack around the
11715 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
11717 * gst/gstiterator.c: (gst_iterator_new):
11718 Fix my previous commit: GTypes passed to gst_iterator_new()
11719 can be fundamental types.
11721 2005-10-10 Wim Taymans <wim@fluendo.com>
11723 * gst/gstelement.c: (gst_element_iterate_pad_list),
11724 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
11725 (gst_element_iterate_sink_pads):
11726 Use src/sink pads lists for the respective iterators instead
11729 2005-10-10 Andy Wingo <wingo@pobox.com>
11731 Merged in popt removal + GOption addition patch from Ronald, bug
11734 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
11735 GstElement macros around, remove popt-related symbols, add goption
11738 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
11740 * docs/gst/Makefile.am:
11741 * docs/libs/Makefile.am: No POPT_CFLAGS.
11743 * examples/manual/Makefile.am:
11744 * docs/manual/basics-init.xml: Doc updates with an example.
11746 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11747 (gst_init), (parse_one_option), (parse_goption_arg):
11748 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
11749 bit of hand merging and debugging to get the GOption stuff working
11752 * tests/Makefile.am:
11753 * tools/Makefile.am:
11754 * tools/gst-inspect.c: (main):
11755 * tools/gst-launch.c: (main):
11756 * tools/gst-run.c: (main):
11757 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
11759 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
11761 * gst/gstiterator.c: (gst_iterator_new):
11762 Add assertions to make sure passed GType is likely to really
11763 be a GType (as the compiler won't catch it if the size and
11764 GType arguments get mixed up, see #318447).
11766 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
11768 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
11770 * gst/gstbin.c: (gst_bin_iterate_sorted):
11771 Pass GType and size arguments to gst_iterator_new() in the right
11772 order (maybe we should make _new() take the GType as first argument
11773 just like _new_list()?) (#318447).
11776 2005-10-10 Wim Taymans <wim@fluendo.com>
11778 * gst/gstelement.c: (gst_element_finalize):
11779 And free the GStaticRecMutex too
11781 2005-10-10 Andy Wingo <wingo@pobox.com>
11783 * gst/gstelement.c (gst_element_init, gst_element_finalize):
11784 Allocate and free the mutex properly.
11786 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
11788 (GstElement): The state_lock is now recursive. Rebuild your
11789 plugins, suckers. Old macros adapted.
11791 * docs/gst/gstreamer-sections.txt: Doc updates.
11794 * gst/gstutils.c (g_static_rec_cond_timed_wait)
11795 (g_static_rec_cond_wait): Ported from state changes patch, while
11796 we wait on bug #317802 to be solved in a well-distributed GLib.
11798 * gst/gstelement.c (gst_element_change_state_func): Renamed from
11799 gst_element_change_state, variable name changes.
11800 (gst_element_change_state): Split out of gst_element_set_state in
11801 preparation for the state change merge. Doesn't pay attention to
11802 the 'transition' argument.
11803 (gst_element_set_state): Updates, hopefully purely cosmetic.
11804 (gst_element_sync_state_with_parent): MT-safety. Ported from the
11805 state change patch.
11806 (gst_element_get_state_func): Renamed from get_state, cosmetic
11809 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
11811 * gst/elements/gstelements.c:
11812 * win32/GStreamer.vcproj:
11814 * win32/dirent.c: (_tseekdir):
11815 * win32/gst-inspect.vcproj:
11816 * win32/gst-launch.vcproj:
11817 * win32/gstconfig.h:
11818 * win32/gstelements.vcproj:
11819 * win32/gstenumtypes.c: (gst_object_flags_get_type):
11820 * win32/gstreamer.def:
11821 * win32/msvc71.sln:
11822 updates for the win32 build (patch from Sebastien Moutte)
11824 2005-10-10 Andy Wingo <wingo@pobox.com>
11826 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
11827 gst_bin_get_state, cleaned up (but no logic changes).
11828 (bin_element_is_sink): Comment updates.
11829 (sink_iterator_filter): Remove needless cast.
11830 (gst_bin_iterate_sinks): Doc update.
11831 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
11832 cleaned up (but no logic changes).
11834 * check/states/sinks.c (test_src_sink): Cleanups from the state
11836 (test_livesrc_sink): Sync on the state.
11838 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
11839 the state change patch.
11841 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
11844 * check/gst/gstbin.c: Merge in some style fixes and additional
11845 checks from Wim's state change patch.
11847 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
11849 * gst/base/gsttypefindhelper.c: (helper_find_peek),
11850 (gst_type_find_helper):
11851 Check whether we have the requested data already in our list of
11852 cached buffers before pulling a new buffer; also make the buffer
11853 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
11855 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
11860 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11861 don't use long long, it's not portable. Replacing with
11862 gint64 seems to work; let's hope no skeletons fall out of the closet.
11864 2005-10-10 Andy Wingo <wingo@pobox.com>
11866 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
11868 2005-10-09 Stefan Kost <ensonic@users.sf.net>
11870 * docs/gst/gstreamer-sections.txt:
11875 * gst/gstmessage.c: (gst_message_parse_state_changed):
11878 more docs, fix compilation
11880 2005-10-09 Philippe Khalaf <burger@speedy.org>
11881 * gst/gstmessage.c:
11882 Fixed a few forgotten variables on previous commit
11884 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
11886 * gst/base/gsttypefindhelper.c: (helper_find_peek):
11887 Fix evil typefind crasher: getrange() might return a short
11888 buffer at the end of a file, but gst_type_find_peek() must
11889 either return the full data as requested or NULL, but
11890 never a short buffer.
11892 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
11894 * gst/gstmessage.c: (gst_message_new_state_changed),
11895 (gst_message_parse_state_changed):
11896 * gst/gstmessage.h:
11897 don't use "new", it's a C++ keyword
11899 2005-10-08 Wim Taymans <wim@fluendo.com>
11901 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
11902 * gst/gstelement.c: (gst_element_post_message):
11903 * gst/gstpipeline.c: (gst_pipeline_change_state):
11904 Small docs and debug updates.
11906 2005-10-08 Stefan Kost <ensonic@users.sf.net>
11908 * docs/gst/gstreamer-sections.txt:
11909 * gst/gstelementfactory.c:
11911 * gst/gsttaglist.c:
11914 2005-10-08 Wim Taymans <wim@fluendo.com>
11916 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
11917 (gst_bin_dispose), (bin_bus_handler):
11918 Fix typos, add comments.
11919 Clear EOS list when going to PAUSED from any direction and do it
11920 in a threadsafe way.
11921 Get base time in a threadsafe way too.
11922 Fix confusing debug in the change_state function.
11923 Various other small cleanups.
11925 * gst/gstelement.c: (gst_element_post_message):
11926 Fix very verbose bus posting code.
11928 * gst/gstpipeline.c: (gst_pipeline_class_init),
11929 (gst_pipeline_set_property), (gst_pipeline_get_property),
11930 (gst_pipeline_change_state):
11931 Small ARG_ -> PROP_ cleanup
11933 2005-10-08 Wim Taymans <wim@fluendo.com>
11935 * gst/gstbin.c: (is_eos), (bin_bus_handler):
11936 Do a less CPU demanding EOS check because we can.
11938 2005-10-08 Wim Taymans <wim@fluendo.com>
11940 * libs/gst/dataprotocol/dataprotocol.c:
11941 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11942 (gst_dp_packet_from_event):
11943 * libs/gst/dataprotocol/dataprotocol.h:
11944 * libs/gst/dataprotocol/dp-private.h:
11945 It's about time we bump the version number.
11946 Since event types don't fit in the guint8 anymore describing
11947 the payload type, make payload type 16 bits wide.
11949 2005-10-08 Wim Taymans <wim@fluendo.com>
11951 * docs/design/part-TODO.txt:
11952 * docs/design/part-clocks.txt:
11953 * docs/design/part-events.txt:
11954 * docs/design/part-gstbin.txt:
11955 * docs/design/part-gstelement.txt:
11956 * docs/design/part-gstpipeline.txt:
11957 * docs/design/part-live-source.txt:
11958 * docs/design/part-messages.txt:
11959 * docs/design/part-overview.txt:
11960 * docs/design/part-states.txt:
11963 2005-10-08 Wim Taymans <wim@fluendo.com>
11967 Fix event quark registration.
11968 Add some space between events so we can insert them in the
11971 2005-10-08 Wim Taymans <wim@fluendo.com>
11973 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11974 (gst_base_sink_handle_buffer):
11975 Better log message.
11978 * gst/gstelement.h:
11981 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11982 (gst_queue_set_property), (gst_queue_get_property):
11984 Remove old unused properties.
11986 2005-10-08 Stefan Kost <ensonic@users.sf.net>
11987 * docs/gst/gstreamer-sections.txt:
11988 * gst/gstmessage.c:
11989 * gst/gstmessage.h:
11990 * gst/gstminiobject.c:
11991 * gst/gstminiobject.h:
11995 lots of new docs and doc fixes
11997 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
11999 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
12001 * gst/gstregistry.c: (gst_registry_lookup_locked),
12002 (gst_registry_scan_path_level):
12003 * gst/gstregistryxml.c: (load_plugin):
12004 Only ever load one plugin for a given plugin basename.
12005 This ensures correct overriding of GST_PLUGIN_PATH over
12006 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
12007 system installed plugins.
12009 2005-10-08 Wim Taymans <wim@fluendo.com>
12011 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12012 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
12013 Prepare for doing QOS.
12015 2005-10-08 Wim Taymans <wim@fluendo.com>
12017 * check/gst/gstbin.c: (GST_START_TEST):
12018 * check/pipelines/cleanup.c: (GST_START_TEST):
12019 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12020 Allow new clock message too.
12022 2005-10-08 Wim Taymans <wim@fluendo.com>
12024 * gst/gstmessage.c: (gst_message_new_error),
12025 (gst_message_new_warning), (gst_message_new_tag),
12026 (gst_message_new_state_changed), (gst_message_new_clock_provide),
12027 (gst_message_new_clock_lost), (gst_message_new_new_clock),
12028 (gst_message_new_segment_start), (gst_message_new_segment_done),
12029 (gst_message_parse_state_changed),
12030 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
12031 (gst_message_parse_new_clock):
12032 * gst/gstmessage.h:
12033 Also carry the clock in question.
12035 2005-10-08 Wim Taymans <wim@fluendo.com>
12037 * gst/gstmessage.c: (gst_message_new_custom),
12038 (gst_message_new_eos), (gst_message_new_error),
12039 (gst_message_new_warning), (gst_message_new_tag),
12040 (gst_message_new_state_changed), (gst_message_new_clock_provide),
12041 (gst_message_new_new_clock), (gst_message_new_segment_start),
12042 (gst_message_new_segment_done), (gst_message_parse_state_changed),
12043 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
12044 * gst/gstmessage.h:
12046 Added clock related messages.
12048 * gst/gstpipeline.c: (gst_pipeline_change_state):
12049 Post message when the clock changed.
12051 * tools/gst-launch.c: (event_loop):
12054 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
12056 * tools/gst-inspect.c: (print_element_properties_info):
12057 Can't pass NULL strings to g_print() on windows.
12059 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
12061 * docs/Makefile.am:
12062 * docs/gst/Makefile.am:
12063 * docs/gst/gstreamer-docs.sgml:
12064 * docs/gst/running.xml:
12065 * docs/version.entities.in:
12066 add a chapter on running GStreamer.
12067 document GST_DEBUG and GST_PLUGIN* env vars
12069 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
12074 remove PLUGINS_BUILDDIR stuff
12075 * gst/gst.c: (init_post):
12076 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
12078 remove, it was condescending and not needed
12080 2005-10-08 Wim Taymans <wim@fluendo.com>
12082 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
12083 (gst_base_sink_handle_object), (gst_base_sink_event),
12084 (gst_base_sink_wait), (gst_base_sink_handle_event),
12085 (gst_base_sink_change_state):
12086 * gst/base/gstbasesink.h:
12087 Repost EOS message while going to PLAYING if still EOS.
12088 Make sure that when receiving a FLUSH_START we don't attempt
12089 to sync on the clock anymore.
12091 2005-10-08 Wim Taymans <wim@fluendo.com>
12093 * tools/gst-launch.c: (event_loop):
12094 Better message printout.
12096 2005-10-08 Wim Taymans <wim@fluendo.com>
12098 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
12099 (gst_bin_child_proxy_get_children_count):
12100 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12101 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
12102 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
12103 (gst_child_proxy_set_valist):
12104 * gst/parse/grammar.y:
12105 Make ChildProxy threadsafe and fix mem leaks.
12107 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
12109 * gst/gst.c: (init_post):
12110 debug the GST_PLUGIN_ env vars
12112 2005-10-08 Wim Taymans <wim@fluendo.com>
12114 * check/gst/gstbin.c: (GST_START_TEST):
12115 * check/gst/gstmessage.c: (GST_START_TEST):
12116 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
12117 * gst/gstelement.c: (gst_element_commit_state),
12118 (gst_element_lost_state):
12119 * gst/gstmessage.c: (gst_message_new_state_changed),
12120 (gst_message_parse_state_changed):
12121 * gst/gstmessage.h:
12122 * tools/gst-launch.c: (event_loop):
12123 Added extra field to STATE_CHANGE message with the pending
12124 state, which will be different from the new state soon.
12126 2005-10-08 Wim Taymans <wim@fluendo.com>
12128 * gst/gstbus.c: (gst_bus_pop):
12130 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12131 Small cleanups and doc updates.
12133 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
12135 * gst/gst.c: (init_pre):
12136 * gst/gstbin.c: (gst_bin_add_func):
12137 log distributing clocks and base time
12138 * gst/gstregistry.c: (gst_registry_add_plugin),
12139 (gst_registry_scan_path_level), (gst_registry_scan_path):
12140 clean up the debugging output a little
12141 * gst/gstutils.c: (gst_element_state_get_name):
12142 warn about a memleak (I've actually seen this be used, though
12143 it was probably a bug)
12145 2005-10-07 Wim Taymans <wim@fluendo.com>
12147 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12148 (gst_base_src_init), (gst_base_src_default_newsegment),
12149 (gst_base_src_newsegment), (gst_base_src_do_seek),
12150 (gst_base_src_loop), (gst_base_src_start):
12151 * gst/base/gstbasesrc.h:
12152 Make the newsegment event customizable by subclasses.
12154 2005-10-07 Wim Taymans <wim@fluendo.com>
12156 * gst/gstevent.c: (gst_event_new_buffersize),
12157 (gst_event_parse_buffersize):
12159 New event for future idea.
12161 2005-10-07 Andy Wingo <wingo@pobox.com>
12163 * gst/gstelement.c (gst_element_post_message): Doc update.
12165 * docs/gst/gstreamer-sections.txt: Update.
12167 * gst/gstmessage.c (gst_message_new_application): Made into a
12168 function like honest API calls.
12169 (gst_message_new_element): New message type.
12171 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
12173 * check/elements/fakesrc.c (test_no_preroll): New check, checks
12174 that setting a live fakesrc to PAUSED returns NO_PREROLL both
12177 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
12178 NO_PREROLL from gst_element_change_state to fall through.
12180 2005-10-07 Wim Taymans <wim@fluendo.com>
12182 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
12183 (gst_ghost_pad_do_activate_push):
12184 Activating a ghostpad with no internal pad in push mode
12187 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
12190 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
12191 Fixes compilation on Windows.
12193 2005-10-07 Michael Smith <msmith@fluendo.com>
12195 * tools/gst-inspect.c:
12196 Print out feature and plugin count at the end when printing out
12199 2005-10-04 Michael Smith <msmith@fluendo.com>
12201 * gst/gsterror.c: (_gst_stream_errors_init):
12202 Add another error string used in a few existing plugins.
12205 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12206 * tools/gst-inspect.c: (print_element_info):
12207 When a feature disappears from a plugin (and the feature exists in
12208 the cached registry file), things went horribly wrong. This isn't a
12209 complete fix, we should actually be removing the 'missing' features
12210 from the features list when we load the actual plugin. That's not
12213 2005-10-04 Johan Dahlin <johan@gnome.org>
12215 * check/gst/gstiterator.c: (GST_START_TEST):
12216 * gst/gstbin.c: (gst_bin_iterate_elements),
12217 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
12218 * gst/gstelement.c: (gst_element_iterate_pads):
12219 * gst/gstformat.c: (gst_format_iterate_definitions):
12220 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12221 (gst_iterator_new_list), (gst_iterator_filter):
12222 * gst/gstiterator.h:
12223 * gst/gstquery.c: (gst_query_type_iterate_definitions):
12224 Add a GType to GstIterator, update callsites and tests.
12226 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
12228 * gst/gstpad.c: (gst_pad_event_default_dispatch):
12229 give events a chance to be handled by event probes when the pad
12232 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
12234 * gst/gstevent.c: (gst_event_type_get_name),
12235 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
12237 add string representations for event types
12239 2005-10-06 Wim Taymans <wim@fluendo.com>
12241 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
12242 Don't use NULL pointers.
12244 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
12246 * gst/gst_private.h:
12248 * gst/gstelement.c:
12250 * gst/gstpluginfeature.c:
12251 widen the debug category in output to fit the biggest one we have
12252 add a bus category and use it
12253 play with the colors
12254 fix up some categories
12256 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
12258 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
12259 add push activation of sink ghost pads.
12260 Andye, please verify
12262 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
12264 * gst/gstutils.c: (gst_element_link_pads):
12265 fix a bug in the case where neither element has a pad
12266 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12267 add a test for that case
12269 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
12271 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
12272 emit have-data before checking for peers. This allows
12273 for probe handlers to connect elements. This helps autopluggers.
12274 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
12276 add six checks, linked/unlinked with no/true/false probe
12278 2005-10-04 Wim Taymans <wim@fluendo.com>
12280 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
12281 (gst_fake_sink_event), (gst_fake_sink_preroll),
12282 (gst_fake_sink_render), (gst_fake_sink_change_state):
12283 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
12284 (gst_fake_src_get_property), (gst_fake_src_create),
12285 (gst_fake_src_stop):
12286 * gst/elements/gstidentity.c: (gst_identity_stop):
12287 Protect last_message with lock.
12289 2005-10-04 Edward Hervey <edward@fluendo.com>
12292 Added precision in the comments for GST_FORMAT_DEFAULT
12294 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
12296 * tools/gst-launch.c: (main):
12297 Don't try to run erroneous pipelines.
12299 2005-10-04 Julien MOUTTE <julien@moutte.net>
12301 * gst/gstbus.c: We don't need this header.
12303 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
12306 back to development
12308 === release 0.9.3 ===
12310 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
12314 Releasing 0.9.3, "Unregistered"
12316 2005-10-03 Andy Wingo <wingo@pobox.com>
12318 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
12319 whereby calling a pad's activatepush() function can start a thread
12320 that starts to push or pull before the pad gets the FLUSHING flag
12321 unset. Hack around it by holding the stream lock until the flag is
12322 set. Need to replace this with a proper solution. Together with
12323 the ghost pad fixes, this fixes mp3 playing/tagreading.
12325 * docs/design/part-gstghostpad.txt: Add a note about activation of
12326 proxy pads outside of ghost pads.
12328 * gst/gstghostpad.c: Implement the ghost pad activation design.
12330 2005-10-02 Andy Wingo <wingo@pobox.com>
12332 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
12333 It is volatile, after all.
12335 * docs/design/part-gstghostpad.txt: Flesh out activation with
12338 * gst/base/gstbasesrc.c (gst_base_src_init): Use
12341 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
12344 Fix (unused) AM_CONDITIONAL tests.
12346 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
12348 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
12350 * gst/gstutils.c: (gst_pad_query_convert):
12351 Add assertion that makes sure src_val is >=0, just like
12352 gst_query_new_convert() has. (#315895)
12354 2005-09-30 Edward Hervey <edward@fluendo.com>
12356 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
12357 Let's not iterate pads we're not interested in, it avoids getting
12358 sky-high refcounts on sinkpad.
12360 2005-09-30 Wim Taymans <wim@fluendo.com>
12362 * gst/gstelement.c: (gst_element_set_state),
12363 (gst_element_change_state):
12364 Small tweak, element in ASYNC remains ASYNC.
12366 2005-09-30 Wim Taymans <wim@fluendo.com>
12368 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12369 Only error is an error.
12371 * gst/gstbin.c: (gst_bin_change_state):
12374 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
12375 Also call pad_block in pad alloc.
12377 * gst/gstutils.c: (gst_flow_get_name):
12380 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
12382 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12383 (gst_base_src_get_range):
12384 Fix documentation typos. Add some more debug info.
12386 2005-09-29 David Schleef <ds@schleef.org>
12388 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
12389 more end-user friendly.
12390 * tools/gst-inspect.c: (main): Check if command-line argument is
12391 a file and attempt to load that file as a plugin.
12393 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
12395 * check/gst/gstbin.c:
12396 * check/states/sinks.c:
12397 fix tests for the new warning
12398 * check/gst/gstpipeline.c:
12399 add a test for pipeline and bus interaction
12400 * gst/gstelement.c:
12401 elements should be NULL if they get disposed; add a warning if not
12403 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
12406 for 2.6 refcounting, make debug log more correct by printing
12407 the actual refcounts at the time of swap (Wim)
12409 2005-09-29 Andy Wingo <wingo@pobox.com>
12411 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
12412 removes signal watches previously added via
12413 gst_bus_add_signal_watch.
12414 (gst_bus_add_signal_watch): Don't return the source id, just store
12415 it on the bus if there wasn't an id already.
12417 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
12418 add_signal_watch and remove_signal_watch.
12420 2005-09-29 Edward Hervey <edward@fluendo.com>
12422 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
12423 Better if we actually iterate the list :)
12425 2005-09-29 Wim Taymans <wim@fluendo.com>
12427 * check/gst/gstbin.c: (GST_START_TEST):
12428 Change for new bus API.
12430 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12431 (send_messages), (GST_START_TEST), (gstbus_suite):
12432 Change for new bus signal API.
12434 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
12435 (gst_bus_source_prepare), (gst_bus_source_check),
12436 (gst_bus_create_watch), (gst_bus_add_watch_full),
12437 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
12438 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
12440 Remove support for multiple GSources operating on different
12441 message types as it is too complex and unneeded when using
12443 Added support for receiving signals from the bus.
12445 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
12447 * docs/libs/tmpl/gstdataprotocol.sgml:
12448 * docs/manual/advanced-dataaccess.xml:
12449 * gst/elements/gstcapsfilter.c:
12451 rename filter-caps to caps property
12453 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
12455 * gst/gstvalue.c: (gst_value_deserialize_fraction):
12456 More robust fraction string parsing.
12458 * docs/pwg/appendix-porting.xml:
12459 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
12461 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
12463 * gst/gstcaps.c: (gst_caps_do_simplify):
12464 Thou shalt not free a structure and then continue using it
12465 in the next loop iteration.
12467 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
12469 Add test case for caps simplification.
12471 2005-09-29 Wim Taymans <wim@fluendo.com>
12473 * check/gst/gstbin.c: (GST_START_TEST):
12476 2005-09-29 Wim Taymans <wim@fluendo.com>
12478 * check/gst/gstbin.c: (GST_START_TEST):
12481 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
12482 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12483 (find_element), (gst_bin_sort_iterator_next),
12484 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12485 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12486 (gst_bin_change_state), (gst_bin_dispose):
12487 A bin does not have a bus, it gets the bus from the parent.
12489 * gst/gstelement.c: (gst_element_requires_clock),
12490 (gst_element_provides_clock), (gst_element_is_indexable),
12491 (gst_element_is_locked_state), (gst_element_change_state),
12492 (gst_element_set_bus_func):
12495 * gst/gstpipeline.c: (gst_pipeline_class_init),
12496 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
12497 The pipeline provides a bus.
12499 2005-09-28 Johan Dahlin <johan@gnome.org>
12501 * gst/gstmessage.c (gst_message_parse_state_changed): Use
12502 gst_structure_get_enum instead of gst_structure_get_int
12504 * gst/gststructure.c (gst_structure_get_enum): Impl.
12506 * gst/gststructure.h (gst_structure_get_enum): Add
12508 * docs/gst/gstreamer-sections.txt: Ditto
12510 * gst/gstmessage.c (gst_message_new_state_changed): Use
12511 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
12512 which does introspection.
12513 Reviewed by Christian Schaller
12515 2005-09-28 Stefan Kost <ensonic@users.sf.net>
12517 * gst/gstinfo.c: (gst_debug_log_default):
12518 don't do dummy g_strdup()s
12519 * libs/gst/controller/gstcontroller.c:
12520 (on_object_controlled_property_changed),
12521 (gst_controlled_property_new), (gst_controller_new_valist),
12522 (gst_controller_new_list),
12523 (gst_controller_remove_properties_valist), (gst_controller_set),
12524 (gst_controller_get), (gst_controller_sync_values),
12525 (gst_controller_get_value_array), (_gst_controller_class_init),
12526 (gst_controller_get_type):
12527 * libs/gst/controller/gstcontroller.h:
12528 * libs/gst/controller/gstinterpolation.c:
12529 (gst_controlled_property_find_timed_value_node):
12530 convert // to /**/ comments
12532 2005-09-28 Wim Taymans <wim@fluendo.com>
12534 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
12535 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
12536 (gst_bus_sync_signal_handler):
12538 Added async-message and sync-message signals to the bus.
12539 Added helper BusFunc to emit signals for all posted messages.
12541 * gst/gstmessage.c: (gst_message_type_get_name),
12542 (gst_message_type_to_quark), (gst_message_get_type):
12543 * gst/gstmessage.h:
12544 Register quarks for message names.
12546 2005-09-28 Stefan Kost <ensonic@users.sf.net>
12548 * docs/libs/gstreamer-libs-sections.txt:
12549 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12550 (gst_controller_new_list):
12551 * libs/gst/controller/gstcontroller.h:
12552 added another constructor for language bindings
12554 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
12556 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12560 * gst/gstinfo.c: (_gst_debug_init):
12561 slightly more readable color for refcount debugging
12563 2005-09-28 Wim Taymans <wim@fluendo.com>
12565 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12566 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12567 (find_element), (gst_bin_sort_iterator_next),
12568 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12569 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12570 (gst_bin_change_state), (gst_bin_dispose):
12571 Small doc fixes. get_clock -> provide_clock.
12573 * gst/gstelement.c: (gst_element_class_init),
12574 (gst_element_provides_clock), (gst_element_provide_clock),
12575 (gst_element_get_clock), (gst_element_commit_state),
12576 (gst_element_lost_state):
12577 * gst/gstelement.h:
12578 Make get/set_clock() symetric. Add provide_clock vmethod since
12579 that is actually what this function does.
12581 * gst/gstpipeline.c: (gst_pipeline_class_init),
12582 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
12583 (gst_pipeline_get_clock):
12584 get_clock -> provide_clock.
12586 2005-09-28 Andy Wingo <wingo@pobox.com>
12588 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
12589 lieu of real docs...
12591 * gst/elements/gstfdsrc.c: Cleaned up a bit.
12593 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
12595 * gst/elements/gstcapsfilter.c:
12596 * gst/elements/gstfakesink.c:
12597 * gst/elements/gstfakesrc.c:
12598 * gst/elements/gstfdsink.c:
12599 * gst/elements/gstfdsrc.c:
12600 * gst/elements/gstfilesink.c:
12601 * gst/elements/gstfilesrc.c:
12602 * gst/elements/gstidentity.c:
12603 * gst/elements/gsttee.c:
12604 * gst/elements/gsttypefindelement.c:
12605 Make element details static.
12607 2005-09-28 Wim Taymans <wim@fluendo.com>
12609 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12610 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12611 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12612 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12613 (gst_bin_change_state), (gst_bin_dispose):
12614 Some documentation updates.
12615 Clean up dispose handlers.
12617 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
12618 * gst/gstpad.c: (gst_pad_dispose):
12619 Clean up dispose handler.
12621 * gst/gstpipeline.c: (gst_pipeline_change_state):
12622 Removed spurious UNLOCK.
12624 2005-09-27 Stefan Kost <ensonic@users.sf.net>
12626 * docs/gst/gstreamer-sections.txt:
12627 * gst/base/gstbasesrc.h:
12628 * gst/gstelement.h:
12632 * gst/gstpipeline.c:
12633 * gst/gstpipeline.h:
12636 added two new functions to the docs
12637 documents all undocumented GstXXXFlags
12638 completed some incomplete docs
12640 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
12642 * gst/gstbin.c: (gst_bin_dispose):
12643 * gst/gstelement.c: (gst_element_dispose):
12644 remove now useless and leaky resurrection code in dispose
12645 * gst/base/gstbasesrc.c: (gst_base_src_init):
12646 * gst/gstelementfactory.c: (gst_element_factory_create):
12647 * gst/gstobject.c: (gst_object_set_parent):
12650 2005-09-27 Wim Taymans <wim@fluendo.com>
12652 * docs/design/part-TODO.txt:
12655 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12656 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12657 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12658 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12659 (gst_bin_change_state):
12660 * gst/gstelement.h:
12661 Remove element variable, we keep element info in the iterator now.
12663 2005-09-27 Andy Wingo <wingo@pobox.com>
12665 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
12668 2005-09-27 Wim Taymans <wim@fluendo.com>
12670 * check/gst/gstbin.c: (GST_START_TEST):
12671 Enable check that works now.
12673 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12674 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12675 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12676 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12677 (gst_bin_change_state):
12679 Redid the state change algorithm using a topological sort algo.
12680 Handles all cases correctly.
12681 Exposed iterator for state change order.
12683 * gst/gstelement.h:
12684 Temp storage for state changes. Need to get rid of this soon.
12686 2005-09-27 Wim Taymans <wim@fluendo.com>
12688 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
12689 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
12690 (link_fold_func), (gst_pad_proxy_setcaps):
12691 Leak fixes, the fold functions need to unref the passed object and
12692 _get_parent_*() returns ref to parent.
12694 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
12696 * check/gst/gstbuffer.c: (test_make_writable):
12697 Plug leak in test case and fix 'make check-valgrind'
12699 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
12701 * gst/gstbuffer.c: (gst_subbuffer_init):
12702 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
12703 works correctly in all circumstances (we could have just copied
12704 the parent buffer's readonly flag, but conceptually it seems
12705 cleaner to mark all subbuffers as read-only). (based on patch
12706 by Alessandro Decina, #314710).
12708 * check/gst/gstbuffer.c: (create_read_only_buffer),
12709 (test_make_writable), (test_subbuffer_make_writable),
12711 Add some tests for gst_buffer_make_writable().
12713 2005-09-27 Wim Taymans <wim@fluendo.com>
12715 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
12716 use gst_object_has_ancestor().
12718 * gst/gstobject.c: (gst_object_has_ancestor):
12720 gst_object_has_ancestor() copied from gstbin.c as it is a
12723 * tests/instantiate/create.c: (create_all_elements):
12724 * tests/lat.c: (handoff_src), (handoff_sink):
12725 * tests/sched/runxml.c: (main):
12726 * tests/seeking/seeking1.c: (main):
12727 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12729 Fix compilation of some tests.
12731 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
12734 Remove comment. GST_TYPE_G_ERROR is here to stay,
12735 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
12736 (#316961, #300610).
12738 2005-09-26 Wim Taymans <wim@fluendo.com>
12740 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12741 Added check that shows error in state change order.
12743 2005-09-26 Wim Taymans <wim@fluendo.com>
12745 * gst/gstbin.c: (gst_bin_change_state):
12746 Make state change function use 3 queues again, we were
12747 adding elements in the wrong order.
12749 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12752 * gst/gstpad.c: (gst_pad_dispose):
12753 Added some debug info first.
12755 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
12757 * docs/design/draft-push-pull.txt:
12758 * docs/design/part-events.txt:
12759 * docs/design/part-overview.txt:
12760 * docs/design/part-scheduling.txt:
12761 Replace all _pull_region() with _pull_range()
12763 2005-09-26 Andy Wingo <wingo@pobox.com>
12765 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
12767 * check/gst-libs/controller.c: Update for controller api change.
12770 * tests/Makefile.am:
12771 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
12772 over by GLib bug 118439.
12774 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
12775 routines to a function.
12777 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
12779 * libs/gst/controller/gsthelper.c:
12780 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
12781 (gst_object_sync_values): Renamed from sink_values. Ugh.
12783 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
12785 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
12786 Renamed from controller_key, as it is exported.
12788 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
12790 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
12795 * gst/gstpadtemplate.h:
12798 * gst/gstqueryutils.c:
12799 * gst/gstqueryutils.h:
12800 remove queryutils headers after moving the two used functions
12801 to gstquery. also fixes build problem for gstsiddec
12803 2005-09-26 Michael Smith <msmith@fluendo.com>
12805 * tools/gst-launch.1.in:
12806 Correct documentation in manpage of debug syntax
12808 2005-09-26 Wim Taymans <wim@fluendo.com>
12810 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12811 (gst_base_src_is_seekable), (gst_base_src_change_state):
12812 Some more debugging info.
12814 2005-09-25 Stefan Kost <ensonic@users.sf.net>
12816 * docs/gst/gstreamer-sections.txt:
12817 * gst/base/gstbasetransform.h:
12821 2005-09-25 Stefan Kost <ensonic@users.sf.net>
12823 * docs/gst/.cvsignore:
12824 * docs/gst/tmpl/.cvsignore:
12825 * docs/gst/tmpl/gstpipeline.sgml:
12826 * docs/gst/tmpl/gstplugin.sgml:
12827 * gst/gstpipeline.c:
12830 inlined the last two docs files
12831 removed the tmpl directory from cvs (no more conflicts here!)
12833 2005-09-25 Stefan Kost <ensonic@users.sf.net>
12835 * docs/gst/gstreamer-sections.txt:
12836 * docs/gst/tmpl/.cvsignore:
12837 * docs/gst/tmpl/gstpad.sgml:
12838 * docs/gst/tmpl/gstpadtemplate.sgml:
12840 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12841 (gst_pad_finalize), (gst_pad_set_pad_template):
12843 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12844 (gst_pad_template_class_init), (gst_pad_template_init),
12845 (gst_pad_template_dispose), (name_is_valid),
12846 (gst_static_pad_template_get), (gst_pad_template_new),
12847 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
12848 (gst_pad_template_pad_created):
12849 * gst/gstpadtemplate.h:
12850 inlined two more docs
12851 factored gstpadtemplate out of gstpad
12853 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
12855 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12856 (test_children_state_change_order_semi_sink):
12857 Fix test case: we can't rely on a fixed state change order when
12858 going from READY => PAUSED because the sink might commit its
12859 new state first when the first buffer created by the source
12860 reaches the sink before the source has finished its change state.
12861 (Test case still fails at times, see #316856, comment 5 onwards)
12863 2005-09-24 Wim Taymans <wim@fluendo.com>
12865 * docs/design/part-events.txt:
12866 * docs/design/part-gstbus.txt:
12867 * docs/design/part-gstpipeline.txt:
12868 * docs/design/part-messages.txt:
12869 * docs/design/part-overview.txt:
12870 * docs/design/part-segments.txt:
12874 * gst/gstelement.c:
12877 * gst/gstiterator.c:
12878 Various documentation updates.
12880 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
12883 Well, that's embarassing. Luckily we weren't using
12884 GST_CLOCK_DIFF anywhere.
12886 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
12888 * common/gtk-doc.mak:
12889 don't fail on building XML, FC4 slave shows a bunch of doc
12890 missing bits that I don't get
12892 * gst/gstpipeline.c:
12893 * gst/gststructure.c:
12896 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
12898 * docs/design/part-gstbin.txt:
12899 * docs/design/part-gstbus.txt:
12901 Add blurb about how the bus goes into flushing mode and
12902 drops all messages when its bin goes from READY into NULL
12905 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
12907 * docs/gst/gstreamer-sections.txt:
12908 * gst/gststructure.c: (gst_structure_get_clock_time):
12909 * gst/gststructure.h:
12910 add a method to get a GstClockTime out of a structure
12912 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
12914 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12915 (test_children_state_change_order_semi_sink), (gst_bin_suite):
12916 Added test to check state change order in bins (can still be made
12917 to fail here under heavy disk load; bails out with 'Push on pad
12918 fakesink:sink0, but it was not activated in push mode').
12920 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
12921 Fix state change order when there is only a semi sink (#316856)
12923 * gst/gstbus.c: (gst_bus_class_init):
12924 Use _class_peek_parent(), not _class_ref(); fix docs to say
12925 'default main context' instead of 'mainloop' where that is
12928 * gst/gstelement.c: (gst_element_commit_state),
12929 (gst_element_set_state):
12930 Fix typos in debug messages
12932 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
12935 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
12936 * gst/gstpluginfeature.c:
12938 various doc updates
12939 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12940 change an assert into an error until it gets fixed properly
12942 2005-09-23 Stefan Kost <ensonic@users.sf.net>
12944 * docs/gst/gstreamer-sections.txt:
12945 * docs/gst/tmpl/.cvsignore:
12946 * docs/gst/tmpl/gstelement.sgml:
12947 * docs/gst/tmpl/gstinfo.sgml:
12948 * docs/gst/tmpl/gstobject.sgml:
12949 * gst/gstelement.c:
12950 * gst/gstelement.h:
12953 * gst/gstobject.c: (gst_object_class_init):
12955 inlined 3 more biiiig doc files and added some missing docs on the fly
12957 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
12959 * check/gst/.cvsignore:
12960 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
12961 * gst/gstregistryxml.c: (load_plugin),
12962 (gst_registry_xml_save_plugin):
12963 put back source in registry. add checks for find_plugin.
12964 * testsuite/states/bin.c: (assert_state), (empty_bin),
12965 (test_adding_one_element), (main):
12966 * testsuite/states/locked.c: (main):
12967 some compile/run fixes
12969 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
12971 * check/gst/gstvalue.c: (GST_START_TEST):
12972 fix leaks in the test itself
12974 2005-09-22 Wim Taymans <wim@fluendo.com>
12976 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12977 (gst_base_sink_send_event), (gst_base_sink_peer_query),
12978 (gst_base_sink_query):
12979 Prepare for more accurate position reporting and query
12982 * gst/gstelement.c: (gst_element_send_event),
12983 (gst_element_set_state):
12986 2005-09-22 Wim Taymans <wim@fluendo.com>
12988 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
12989 (gst_query_parse_segment):
12991 More documentation.
12992 Add segment query for future use.
12994 2005-09-22 Wim Taymans <wim@fluendo.com>
12996 * gst/gstbin.c: (gst_bin_add_func):
12997 Some more debug info.
12999 * gst/gstelement.c: (gst_element_send_event):
13000 Simplify send_event
13002 * gst/gstelement.h:
13003 Don't know how flags got broken.
13008 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
13010 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
13011 Add simplistic test suite for GST_TYPE_DATE serialisation and
13014 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
13016 * docs/gst/gstreamer-sections.txt:
13017 * gst/gststructure.c: (gst_structure_set_valist),
13018 (gst_structure_get_date):
13019 * gst/gststructure.h:
13020 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
13021 (gst_date_copy), (gst_value_compare_date),
13022 (gst_value_serialize_date), (gst_value_deserialize_date),
13023 (gst_value_transform_date_string),
13024 (gst_value_transform_string_date), (_gst_value_initialize):
13026 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
13027 bunch of utility functions along with a hack that checks that
13028 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
13029 is required. Part of the grand scheme in #170777.
13031 2005-09-22 Andy Wingo <wingo@pobox.com>
13033 * gst/gstconfig.h.in: Psych out gtk-doc.
13035 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
13037 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
13039 * tools/gst-inspect.c (print_element_list): Plug some
13040 inconsequential leaks.
13042 * gst/gstregistry.c (gst_registry_get_default): Doc.
13044 * check/gst/gstplugin.c:
13045 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
13046 * gst/gstelementfactory.c (gst_element_factory_create):
13047 * gst/gstindexfactory.c (gst_index_factory_create): Update for
13050 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
13051 (gst_plugin_feature_load): Doc, don't eat refs.
13053 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
13054 (gst_plugin_list_free): Doc.
13055 (gst_plugin_load_file): Doc updates.
13057 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
13058 accessors returning refcounted objects, return a ref.
13060 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
13061 accessor for caps. IDEMPOTENCE. Oh yes.
13063 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
13065 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
13067 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13068 (_gst_debug_register_funcptr):
13069 Add mutex to serialise access to the hash table with
13070 the function pointer => function name string mapping;
13071 make that hash table static scope (#316809).
13073 * gst/registries/.cvsignore:
13074 Remove left-over file.
13076 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
13078 * docs/pwg/appendix-porting.xml:
13079 And something about newsegment events and caps-on-buffers to
13080 the porting guide (feel free to improve).
13082 2005-09-21 Andy Wingo <wingo@pobox.com>
13084 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
13085 data and event probes on the same pad.
13086 (test_buffer_probe_once): Test that removing probes from within
13087 the probe functions works.
13089 2005-09-21 Andy Wingo <wingo@pobox.com>
13091 * check/gst/gstutils.c: New file.
13092 (test_buffer_probe_n_times): A simple buffer probe test. More to
13095 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
13096 have-data::buffer, not have-data.
13097 (gst_pad_add_event_probe): Likewise for have-data::event.
13098 (gst_pad_add_data_probe): More docs. The part about 'resolving the
13099 peer' isn't quite right yet though.
13100 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
13101 (gst_pad_remove_data_probe): Change to take the guint handler_id
13102 as their arg, not the function+data, which is more glib-like.
13104 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
13105 the signal emission to indicate if the data is a buffer or an
13107 (gst_pad_get_type): Initialize buffer and event quarks.
13108 (gst_pad_class_init): have-data is now a detailed signal, yes it
13111 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
13113 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
13114 * gst/gstutils.c: (gst_util_set_value_from_string),
13115 (gst_util_set_object_arg):
13116 Don't put functional code in g_return_if_fail() or
13117 g_return_val_if_fail() statements, otherwise things will
13118 break when G_DISABLE_CHECKS is defined during compilation.
13120 2005-09-21 Stefan Kost <ensonic@users.sf.net>
13122 * docs/gst/tmpl/.cvsignore:
13123 * docs/gst/tmpl/gstvalue.sgml:
13126 inlied another one and added some obvious docs
13128 2005-09-21 Wim Taymans <wim@fluendo.com>
13130 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13131 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
13132 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
13133 (gst_fdsrc_get_property), (gst_fdsrc_create):
13134 * gst/elements/gstfdsrc.h:
13135 Properly implement fdsrc. Removed signal and timeout,
13136 better implemented somewhere else.
13138 2005-09-21 Stefan Kost <ensonic@users.sf.net>
13140 * docs/gst/tmpl/.cvsignore:
13141 * docs/gst/tmpl/gstimplementsinterface.sgml:
13142 * gst/gstinterface.c:
13145 2005-09-21 Stefan Kost <ensonic@users.sf.net>
13147 * docs/gst/gstreamer-sections.txt:
13148 * docs/gst/tmpl/.cvsignore:
13149 * docs/gst/tmpl/gstenumtypes.sgml:
13150 remove obsolete doc file
13152 2005-09-21 David Schleef <ds@schleef.org>
13154 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
13155 little beer, fix a little leak.
13157 2005-09-21 Stefan Kost <ensonic@users.sf.net>
13159 * docs/gst/gstreamer-docs.sgml:
13160 * docs/gst/gstreamer-sections.txt:
13161 * docs/gst/tmpl/.cvsignore:
13165 * gst/gstelement.h:
13166 * gst/gstindex.c: (gst_index_class_init):
13168 * gst/gstindexfactory.c: (gst_index_factory_get_type),
13169 (gst_index_factory_class_init), (gst_index_factory_init),
13170 (gst_index_factory_finalize), (gst_index_factory_new),
13171 (gst_index_factory_destroy), (gst_index_factory_find),
13172 (gst_index_factory_create), (gst_index_factory_make):
13173 * gst/gstindexfactory.h:
13174 * gst/gstpluginfeature.c:
13175 * gst/gstpluginfeature.h:
13176 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13177 more docs inlined, splitted gstindex.{c,h}
13179 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
13181 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13184 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
13186 * gst/elements/gstfilesink.c: (gst_file_sink_init):
13187 Set sync to FALSE by default.
13189 2005-09-20 Wim Taymans <wim@fluendo.com>
13191 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13192 (gst_base_sink_init):
13193 Make sync property settable from subclass.
13195 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13196 (gst_fake_sink_change_state):
13197 Set sync to FALSE by default.
13199 2005-09-20 Wim Taymans <wim@fluendo.com>
13201 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
13202 * tools/gst-launch.c: (main):
13203 The timeout handler should have lower priority than the source
13204 so we don't timeout before popping a message with 0 timeout.
13205 Dump error messages after failed state change.
13207 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
13209 * tools/gst-inspect.c: (print_element_properties_info):
13212 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
13214 * check/gst/gstevent.c:
13215 * gst/elements/gstfakesink.c:
13216 * gst/elements/gstfakesink.h:
13217 remove the sync property from fakesink.
13218 has the side effect of setting sync TRUE
13219 for fakesink, which is a change. Anyone who knows how
13220 to fix this nicely in a GObject-y way, feel free.
13222 2005-09-20 Stefan Kost <ensonic@users.sf.net>
13224 * docs/gst/gstreamer-docs.sgml:
13225 remove probe refsection
13227 2005-09-20 Stefan Kost <ensonic@users.sf.net>
13229 * check/Makefile.am:
13230 disable valgrinding the controller test again
13231 * docs/gst/gstreamer-sections.txt:
13232 update for api-changes
13234 2005-09-20 Wim Taymans <wim@fluendo.com>
13236 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13237 (gst_base_sink_set_property), (gst_base_sink_get_property),
13238 (gst_base_sink_do_sync):
13239 * gst/base/gstbasesink.h:
13240 Added sync property to basesink to disable clock sync.
13242 2005-09-20 Andy Wingo <wingo@pobox.com>
13244 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
13245 eating the caller's refcount.
13247 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
13248 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
13251 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
13252 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
13253 of GLib 2.8 public, so we can know which refcount to check in
13256 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
13257 (gst_object_init): Only set the gst refcount if we're going ahead
13258 with the refcount hack.
13260 2005-09-20 Stefan Kost <ensonic@users.sf.net>
13262 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13263 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13264 more leaks plumbed, added more debug-logging
13268 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
13270 * gst/gstmessage.c:
13271 remove include of gstmemchunk.h
13273 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
13275 * gst/gstclock.c: (_gst_clock_id_free):
13276 Commit from the Political Party For More Atomic CVS Commits,
13277 so that people don't waste too much of their day fishing
13278 out obvious leaks out of massive commits.
13279 Oh, and fix a pretty damn obvious leak in the memchunk
13282 2005-09-20 Stefan Kost <ensonic@users.sf.net>
13284 * check/Makefile.am:
13285 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13286 plug mem-leak, re-add to valgrindable tests
13288 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
13291 unbreak the build for those who have chronic arthritis
13292 and typing "make check" is just too taxing on the hands
13294 2005-09-20 Andy Wingo <wingo@pobox.com>
13296 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
13297 really want it out, you should fix plugins at the same time.
13299 2005-09-19 Stefan Kost <ensonic@users.sf.net>
13302 * docs/gst/gstreamer-sections.txt:
13304 added missing symbols to api docs
13305 disable ref-count hack if we have glib >= 2.8
13307 2005-09-19 David Schleef <ds@schleef.org>
13309 * docs/gst/Makefile.am: Ignore a few more internal headers
13310 * docs/gst/gstreamer-docs.sgml: Remove old sections
13311 * docs/gst/gstreamer-sections.txt: Remove old sections
13312 * docs/gst/tmpl/gstobject.sgml: update
13313 * docs/gst/tmpl/gstplugin.sgml: update
13314 * docs/gst/tmpl/gstpluginfeature.sgml: update
13315 * docs/random/ds/0.9-suggested-changes: update.
13316 * gst/Makefile.am: remove memchunk and trashstack, since they're
13318 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
13319 * gst/gst.h: don't include some headers
13320 * gst/gstchildproxy.c: add gstmarshal.h
13321 * gst/gstclock.c: Don't use memchunks
13322 * gst/gstminiobject.c: Add some docs
13323 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
13324 * gst/gstobject.h: same
13325 * gst/gstplugin.c: include gstmacros.h
13326 * gst/gstplugin.h: don't include gstmacros.h, since it's private
13327 * gst/gstquery.c: don't use memchunks
13328 * gst/gstregistry.c: rename gst_registry_deinit()
13329 * gst/gstregistry.h: same
13331 2005-09-19 David Schleef <ds@schleef.org>
13333 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
13334 * docs/libs/gstreamer-libs-sections.txt:
13335 * docs/libs/tmpl/gstgetbits.sgml:
13336 * docs/libs/tmpl/gstputbits.sgml:
13338 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
13340 * win32/gstenumtypes.c:
13341 * win32/gstenumtypes.h:
13344 2005-09-19 Wim Taymans <wim@fluendo.com>
13346 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
13347 Automatically PAUSE and RESUME a pipeline when a flushing seek
13350 2005-09-19 Andy Wingo <wingo@pobox.com>
13352 * gst/gstregistry.h: Spacing fixen.
13354 2005-09-19 Wim Taymans <wim@fluendo.com>
13356 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
13357 Handle state change failure more correctly.
13359 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
13361 * check/Makefile.am:
13362 * check/pipelines/cleanup.c: (run_pipeline):
13363 * check/pipelines/simple_launch_lines.c: (run_pipeline),
13365 enable cleanup again after fixing the leak
13367 some more info on docs
13369 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
13371 * check/Makefile.am:
13372 re-enable tests now that leaks are plugged
13374 * check/gst/gstbin.c:
13375 * check/gst/gstpipeline.c:
13376 add some more tests while fixing leaks
13377 * common/check.mak:
13378 make sure binaries are uptodate when valgrinding/gdbing
13380 * gst/gstelementfactory.c:
13381 remove a ref too many, and add a FIXME for when we get
13382 round to disposing of classes
13384 fix the refcounting when loading a plugin from a file and
13385 the code pretends that the pointer is the same even though
13386 of course it can change
13387 * gst/gstpluginfeature.c:
13388 unref plugins marked cached (a bit confusing as a name)
13389 as the docs state should be done
13390 various doc additions to explain refcounting
13391 * gst/gstregistry.c:
13392 * gst/gstregistryxml.c:
13395 2005-09-19 Wim Taymans <wim@fluendo.com>
13397 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13398 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
13399 (send_messages), (GST_START_TEST), (gstbus_suite):
13400 * check/gst/gstpipeline.c: (GST_START_TEST):
13401 * check/pipelines/cleanup.c: (run_pipeline):
13402 * check/pipelines/simple_launch_lines.c: (run_pipeline),
13404 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
13405 (gst_bus_source_check), (gst_bus_source_dispatch),
13406 (gst_bus_create_watch), (gst_bus_add_watch_full),
13407 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
13409 * tools/gst-launch.c: (event_loop):
13410 * tools/gst-md5sum.c: (event_loop):
13411 GstBusHandler -> GstBusFunc, return value has the same meaning as
13412 any other GSource (FALSE == remove source).
13413 _add_watch() and _add_watch_full() now take a MessageType mask to
13414 only handle specific types of messages.
13415 _poll() returns the GstMessage instead of the message type to avoid
13417 _have_pending() takes a MessageType mask now too.
13418 Added testsuite for multiple bus watches.
13419 Fix testsuites and applications for new bus API.
13421 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
13423 * check/Makefile.am:
13424 mark a bunch of the tests as to fix until we fix them
13426 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
13428 * common/check.mak:
13429 use GST_PLUGIN settings for valgrind tests as well, so we're
13430 valgrinding the correct thing
13431 * gst/gst.c: (init_post):
13434 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
13436 * gst/gst.c: (init_post), (gst_deinit):
13437 * gst/gstelementfactory.c: (gst_element_factory_class_init),
13438 (gst_element_factory_finalize), (gst_element_factory_cleanup):
13439 * gst/gstindex.c: (gst_index_factory_class_init),
13440 (gst_index_factory_finalize):
13441 * gst/gstobject.c: (gst_object_dispose):
13442 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
13443 (gst_plugin_load_file), (gst_plugin_desc_free):
13444 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
13445 (gst_plugin_feature_finalize):
13446 * gst/gstregistry.c: (gst_registry_class_init),
13447 (gst_registry_init), (gst_registry_finalize),
13448 (gst_registry_get_default), (gst_registry_deinit):
13449 * gst/gstregistry.h:
13450 * gst/gstregistryxml.c: (load_feature), (load_plugin):
13451 various cleanups and memleak plugging. make valgrind is happy now.
13453 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
13455 * common/check.mak:
13456 add a check-valgrind target
13458 2005-09-18 David Schleef <ds@schleef.org>
13460 * tools/gst-inspect.c: Revert the GOption code.
13462 2005-09-17 David Schleef <ds@schleef.org>
13464 * check/Makefile.am: Fix environment variables.
13465 * check/gst/gstplugin.c: Fix for API changes.
13466 * tools/gst-inspect.c: Fix for API changes.
13467 * tools/gst-xmlinspect.c: Fix for API changes.
13468 * gst/gstelementfactory.c:
13471 * gst/gstpluginfeature.c:
13472 * gst/gstpluginfeature.h:
13473 * gst/gstregistry.c:
13474 * gst/gstregistry.h:
13475 * gst/gstregistryxml.c:
13476 * gst/gsttypefind.c:
13477 * gst/gsttypefindfactory.c:
13478 * gst/indexers/gstfileindex.c:
13479 * gst/indexers/gstmemindex.c:
13480 * gst/schedulers/Makefile.am:
13481 Change registry to keep track of both plugins and features,
13482 removing the feature tracking from plugins themselves.
13484 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
13486 * check/Makefile.am:
13487 * tools/gst-register.1.in:
13488 remove gst-register
13490 2005-09-15 David Schleef <ds@schleef.org>
13492 * check/gst/gstplugin.c:
13493 * gst/gstelementfactory.c:
13495 * gst/gstpluginfeature.c:
13496 * gst/gstregistry.c:
13497 Getting tired of debugging. Disabled all the unreffing of
13498 plugins and features, which fixes the segfaults, but of
13499 course leaks like crazy. At least playbin works.
13501 2005-09-15 David Schleef <ds@schleef.org>
13503 * check/gst/gstplugin.c: (register_check_elements),
13504 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
13506 * gst/elements/gsttypefindelement.c: Fix refcounting.
13507 * gst/gsttypefind.c:
13508 * gst/gsttypefindfactory.c:
13509 * gst/gsttypefindfactory.h:
13511 2005-09-15 David Schleef <ds@schleef.org>
13513 * gst/gstindex.c: get refcounting correct.
13514 * gst/gstregistry.c: Handle the case where a feature/plugin is
13517 2005-09-15 David Schleef <ds@schleef.org>
13519 * check/Makefile.am:
13520 * check/gst/gstplugin.c: Add test
13521 * gst/gstplugin.c: Fix problems noticed by testsuite
13523 * gst/gstregistry.c:
13524 * gst/gstregistry.h:
13526 2005-09-15 David Schleef <ds@schleef.org>
13528 * gst/gstplugin.c: Implement semi-decent recounting and locking
13529 in plugins and plugin features.
13531 * gst/gstpluginfeature.c:
13532 * gst/gstpluginfeature.h:
13533 * gst/gstregistry.c:
13535 2005-09-15 Michael Smith <msmith@fluendo.com>
13537 * gst/gstregistry.c: (gst_registry_get_feature_list):
13538 Implement this. Makes oggdemux work; decodebin still broken.
13540 2005-09-14 David Schleef <ds@schleef.org>
13542 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
13544 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
13545 * gst/check/Makefile.am:
13546 * libs/gst/controller/Makefile.am:
13547 * libs/gst/dataprotocol/Makefile.am:
13549 2005-09-14 David Schleef <ds@schleef.org>
13551 * configure.ac: Remove getbits library. Nothing uses it, and
13552 it should be in something like liboil if someone did want
13554 * libs/gst/Makefile.am:
13555 * libs/gst/getbits/Makefile.am:
13556 * libs/gst/getbits/gbtest.c:
13557 * libs/gst/getbits/getbits.c:
13558 * libs/gst/getbits/getbits.h:
13559 * libs/gst/getbits/gstgetbits_generic.c:
13560 * libs/gst/getbits/gstgetbits_i386.s:
13561 * libs/gst/getbits/gstgetbits_inl.h:
13563 2005-09-14 David Schleef <ds@schleef.org>
13565 * gst/Makefile.am: Dist glib-compat.h
13567 2005-09-14 David Schleef <ds@schleef.org>
13569 * configure.ac: Remove gst/registries, since it's no longer used.
13570 * gst/registries/Makefile.am:
13571 * gst/registries/gstlibxmlregistry.c:
13572 * gst/registries/gstlibxmlregistry.h:
13573 * gst/registries/gstxmlregistry.c:
13574 * gst/registries/gstxmlregistry.h:
13575 * gst/registries/registrytest.c:
13577 2005-09-14 David Schleef <ds@schleef.org>
13579 * gst/glib-compat.h:
13580 * gst/gstregistryxml.c:
13581 Convergence is near. Seriously.
13583 2005-09-14 David Schleef <ds@schleef.org>
13585 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13586 * gst/glib-compat.h:
13587 Attempt #4 to appease the buildbots.
13589 2005-09-14 David Schleef <ds@schleef.org>
13591 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13594 2005-09-14 David Schleef <ds@schleef.org>
13596 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13599 2005-09-14 David Schleef <ds@schleef.org>
13601 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
13604 2005-09-14 David Schleef <ds@schleef.org>
13606 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13607 * gst/glib-compat.h: Add some functions that are in newer versions
13608 of glib than we care to require.
13609 * gst/gstregistryxml.c: Use them.
13611 2005-09-14 David Schleef <ds@schleef.org>
13613 * po/POTFILES.in: remove gst-register.c
13615 2005-09-14 David Schleef <ds@schleef.org>
13617 * docs/gst/gstreamer-docs.sgml:
13618 * docs/gst/gstreamer-sections.txt:
13619 * docs/gst/gstreamer.types:
13620 * docs/gst/tmpl/gstelement.sgml:
13621 * docs/gst/tmpl/gstplugin.sgml:
13622 * docs/gst/tmpl/gstpluginfeature.sgml:
13623 Documentation updates for registry changes.
13625 2005-09-14 David Schleef <ds@schleef.org>
13627 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
13628 because we don't require glib-2.8.
13630 2005-09-14 David Schleef <ds@schleef.org>
13632 * gst/gstregistryxml.c: Added. Essentially moved out of the
13633 registries directory.
13635 2005-09-14 David Schleef <ds@schleef.org>
13637 * check/Makefile.am:
13638 * check/generic/states.c:
13642 * gst/gst_private.h:
13643 * gst/gstelementfactory.c:
13648 * gst/gstpluginfeature.c:
13649 * gst/gstpluginfeature.h:
13650 * gst/gstregistry.c:
13651 * gst/gstregistry.h:
13652 * gst/gstregistrypool.c: remove
13653 * gst/gstregistrypool.h: remove
13654 * gst/gsttypefind.c:
13655 * gst/gsttypefindfactory.c:
13657 * tools/Makefile.am:
13658 * tools/gst-compprep.c:
13659 * tools/gst-inspect.c:
13660 * tools/gst-register.c: remove
13661 * tools/gst-xmlinspect.c:
13662 Registry rewrite. Changes registry from being a file created
13663 by a tool into a simple cache file created automatically by
13664 libgstreamer. Removed gst-register (because it's no longer
13665 needed). Remove registry pools, because we only have one
13666 registry implementation (XML). Fix up other subsystems as
13669 2005-09-13 Michael Smith <msmith@fluendo.com>
13671 * gst/gstconfig.h.in:
13672 Don't Use windows linking attributes for MinGW. Fixes #316157
13674 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
13676 * gst/gstutils.c: (set_state_async_thread_func),
13677 (gst_element_set_state_async):
13678 Apparently people think it's better if this function doesn't
13679 try to set the state to whatever state was asked for on the first
13680 call to this function for any object. Seriously.
13682 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
13684 * check/gst/gstpipeline.c: (GST_START_TEST):
13685 * docs/gst/gstreamer-sections.txt:
13686 * gst/gstutils.c: (set_state_async_thread_func),
13687 (gst_element_set_state_async):
13689 add a "gst_element_set_state_async" method that
13690 sets the state and starts a thread to make sure the state
13691 change completes as best as it can
13693 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
13695 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
13696 codify design+behaviour in testsuite after discussion
13698 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
13700 * docs/gst/tmpl/gstelement.sgml:
13701 * docs/manual/appendix-quotes.xml:
13703 * gst/gstelement.c: (gst_element_set_state):
13706 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
13708 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13709 (gst_base_transform_prepare_output_buf),
13710 (gst_base_transform_handle_buffer):
13711 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
13712 (gst_capsfilter_prepare_buf):
13713 Remove the requirement for sub-classes to call the parent
13714 implementation of prepare_output_buffer with a wrapper function.
13716 * gst/gsttaglist.h:
13717 * gst/gsttagsetter.h:
13718 Fix #define wrapper
13720 2005-09-11 Stefan Kost <ensonic@users.sf.net>
13722 * docs/gst/gstreamer-sections.txt:
13725 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
13727 * docs/gst/gstreamer-sections.txt:
13728 * docs/gst/tmpl/gstelement.sgml:
13729 * docs/gst/tmpl/gstplugin.sgml:
13730 * gst/gstminiobject.c:
13732 docs now stop throwing warnings
13734 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
13736 * docs/gst/gstreamer-sections.txt:
13737 * docs/gst/gstreamer.types:
13738 * docs/gst/tmpl/gstpad.sgml:
13739 * docs/gst/tmpl/gsttypes.sgml:
13740 * gst/base/gstadapter.h:
13741 * gst/base/gstbasesink.h:
13742 * gst/base/gstbasesrc.h:
13748 * gst/gstelement.h:
13750 * gst/gstmessage.h:
13752 * gst/gststructure.c:
13753 * gst/registries/gstlibxmlregistry.h:
13754 various documentation fixes
13756 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
13758 * docs/gst/gstreamer-sections.txt:
13759 * docs/gst/tmpl/gstvalue.sgml:
13760 rearrange gstvalue section
13761 * gst/gstutils.c: (gst_element_state_get_name):
13763 * gst/gstvalue.c: (_gst_value_initialize):
13767 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
13769 * check/gst-libs/controller.c:
13770 Header include fix.
13771 * gst/base/gstbasetransform.c:
13772 (gst_base_transform_default_prepare_buf),
13773 (gst_base_transform_handle_buffer):
13774 * gst/base/gstbasetransform.h:
13775 Some more basetransform changes and fixes to enable sub-classes
13776 that modify buffer metadata only.
13777 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13778 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
13779 (gst_capsfilter_prepare_buf):
13780 If the output pad has fixed allowed caps and input buffers
13781 don't have any, set the fixed caps on outgoing buffers.
13783 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
13784 * check/elements/identity.c: (GST_START_TEST):
13785 Make the error a little clearer when the test fails because
13786 identity made a copy of the buffer.
13787 * docs/gst/gstreamer-sections.txt:
13788 New symbols in gstbasetransform.h
13789 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13790 (gst_base_transform_init), (gst_base_transform_transform_size),
13791 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13792 (gst_base_transform_default_prepare_buf),
13793 (gst_base_transform_get_unit_size),
13794 (gst_base_transform_buffer_alloc),
13795 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13796 (gst_base_transform_change_state),
13797 (gst_base_transform_set_passthrough),
13798 (gst_base_transform_set_in_place),
13799 (gst_base_transform_is_in_place):
13800 * gst/base/gstbasetransform.h:
13801 Change BaseTransform to separate in_place operate from same_caps
13802 output. in_place implies that the element can perform the transform
13803 on incoming buffers in-place, even if the caps on the output are
13805 Sub-class elements can now implement special buffer allocation
13806 methods for outgoing buffers if they wish to.
13807 Big documentation addition.
13808 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
13809 * gst/elements/gstelements.c:
13810 Changes for basetransform modifications.
13811 * gst/elements/Makefile.am:
13812 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
13813 Compile fix. Extra debug output.
13815 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
13817 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
13819 add tests for valid pad naming
13820 * gst/check/gstcheck.c: (gst_check_log_message_func),
13821 (gst_check_log_critical_func):
13823 remove printing of code, it is fragile when the code contains
13824 % and the line number is enough info
13825 * gst/check/gstcheck.h:
13826 * gst/gstpad.c: (gst_pad_template_new):
13829 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
13832 say what CHECK flags we use
13833 * docs/libs/gstreamer-libs.types:
13834 * libs/gst/controller/Makefile.am:
13835 * libs/gst/controller/gst-controller.c:
13836 * libs/gst/controller/gst-controller.h:
13837 * libs/gst/controller/gst-helper.c:
13838 * libs/gst/controller/gst-interpolation.c:
13839 * libs/gst/controller/gstcontroller.c:
13840 * libs/gst/controller/gsthelper.c:
13841 * libs/gst/controller/gstinterpolation.c:
13842 * tools/gst-inspect.c: (print_plugin_info):
13843 we don't use dashes in header names
13845 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
13847 * check/Makefile.am:
13848 * check/gst/.cvsignore:
13849 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
13850 (gst_pipeline_suite), (main):
13851 adding a test for pipelines and state changes
13852 * gst/gstutils.c: (get_state_func):
13854 * gstreamer.spec.in:
13857 2005-09-08 Michael Smith <msmith@fluendo.com>
13859 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
13860 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
13861 (gst_file_src_is_seekable), (gst_file_src_get_size),
13862 (gst_file_src_start):
13863 * gst/elements/gstfilesrc.h:
13864 Various fixes for unseekable, unmmapable, and non-normal files, so
13865 that fallback to read() rather than mmap() works.
13866 * gst/gstevent.c: (gst_event_new_newsegment):
13867 Allow newsegment events with segment_start == segment_end, as will
13868 correctly happen if you use filesrc on a zero-size file, for
13871 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
13873 * gst/gstplugin.c: (gst_plugin_load_file):
13874 Call g_module_close when we don't load the module
13876 * gst/registries/gstlibxmlregistry.c:
13877 (gst_xml_registry_get_property):
13878 Port leak fix from 0.8
13880 2005-09-07 Stefan Kost <ensonic@users.sf.net>
13882 * docs/gst/gstreamer-docs.sgml:
13883 * docs/gst/tmpl/.cvsignore:
13884 * docs/gst/tmpl/gsttrace.sgml:
13885 * docs/gst/tmpl/gsttrashstack.sgml:
13888 * gst/gstelement.h:
13890 * gst/gstmessage.c:
13891 * gst/gstmessage.h:
13894 * gst/gsttaginterface.c:
13895 * gst/gsttaginterface.h:
13896 * gst/gsttaglist.c:
13897 * gst/gsttaglist.h:
13898 * gst/gsttagsetter.c:
13899 * gst/gsttagsetter.h:
13902 * gst/gsttrashstack.c:
13903 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
13904 inlined docs for gsttrace, gsttrashstack
13906 2005-09-07 Stefan Kost <ensonic@users.sf.net>
13909 * gst/elements/gstbufferstore.h:
13910 * gst/elements/gsttypefindelement.c:
13911 * gst/elements/gsttypefindelement.h:
13913 * gst/gsttypefind.c:
13914 * gst/gsttypefind.h:
13915 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
13916 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
13917 (gst_type_find_factory_dispose),
13918 (gst_type_find_factory_unload_thyself),
13919 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
13920 (gst_type_find_factory_get_caps),
13921 (gst_type_find_factory_get_extensions),
13922 (gst_type_find_factory_call_function):
13923 * gst/gsttypefindfactory.h:
13924 * gst/registries/gstlibxmlregistry.c:
13925 * gst/registries/gstxmlregistry.c:
13926 splitted gsttypefind into gsttypefind, gsttypefindfactory
13928 2005-09-07 Andy Wingo <wingo@pobox.com>
13930 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
13931 condition whereby the pad's task function is entered before the
13932 pad_mode variable was set.
13934 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
13936 * gst/gstpad.c: (gst_pad_alloc_buffer):
13937 Catch misbehaving pad_alloc functions that don't
13938 set up caps and do it for them.
13940 2005-09-07 Stefan Kost <ensonic@users.sf.net>
13942 * check/pipelines/simple_launch_lines.c: (run_pipeline):
13943 test for pipe!=NULL
13944 * docs/gst/tmpl/.cvsignore:
13945 * docs/gst/tmpl/gstmemchunk.sgml:
13946 * docs/gst/tmpl/gstparse.sgml:
13947 * docs/gst/tmpl/gsttaglist.sgml:
13948 * docs/gst/tmpl/gsttagsetter.sgml:
13949 * docs/gst/tmpl/gsttypefind.sgml:
13950 * docs/gst/tmpl/gsttypefindfactory.sgml:
13951 * gst/gstmemchunk.c:
13954 * gst/gsttaginterface.c:
13955 * gst/gsttypefind.c:
13956 * gst/gsttypefind.h:
13959 === release 0.9.2 ===
13961 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
13966 releasing 0.9.2, "South"
13968 2005-09-05 Andy Wingo <wingo@pobox.com>
13970 * gst/registries/gstxmlregistry.h:
13971 * gst/registries/gstxmlregistry.c: Um... resurrect...
13973 * gst/registries/gstxmlregistry.h:
13974 * gst/registries/gstxmlregistry.c: and update to newer API.
13975 Incidentally they should be a bit faster now that they don't have
13978 2005-09-05 Andy Wingo <wingo@pobox.com>
13980 * gst/registries/gstxmlregistry.h:
13981 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
13982 replaced by the libxml registry a while back
13984 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
13986 * docs/gst/tmpl/gstplugin.sgml:
13987 * gst/elements/gstelements.c:
13989 * gst/gstplugin.c: (gst_plugin_register_func),
13990 (gst_plugin_desc_copy), (gst_plugin_desc_free),
13991 (gst_plugin_get_source):
13993 * gst/registries/gstlibxmlregistry.c: (load_plugin),
13994 (gst_xml_registry_save_plugin):
13995 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
13996 (gst_xml_registry_save_plugin):
13997 * tools/gst-inspect.c: (print_plugin_info):
13998 add a "source" plugin description field, to represent the source
13999 module this plugin is a part of. By default GST_PLUGIN_DEFINE
14000 will set it to PACKAGE, which is automake's idea of the name of
14001 the source project.
14003 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
14008 * docs/Makefile.am:
14009 * docs/faq/Makefile.am:
14010 * docs/gst/tmpl/gstelement.sgml:
14011 * docs/gst/tmpl/gsttypes.sgml:
14012 * docs/htmlinstall.mak:
14013 * docs/manual/Makefile.am:
14014 * docs/pwg/Makefile.am:
14015 reorganize doc build a little
14016 split out docbook and gtk-doc stuff
14017 have two separate --enable's and enable them through autogen
14018 but disable by default in configure (to be similar to other
14020 * gstreamer.spec.in:
14021 clean up docs install
14039 translation updates
14041 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
14043 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
14046 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
14047 (gst_fake_sink_change_state):
14048 Make state change function thread-safe.
14050 * gst/gstpad.c: (gst_pad_alloc_buffer):
14051 Set offset on generic buffer allocated by fallback.
14053 2005-09-03 Stefan Kost <ensonic@users.sf.net>
14055 * docs/gst/gstreamer-sections.txt:
14056 * docs/gst/tmpl/gstelement.sgml:
14058 * libs/gst/controller/gst-controller.c:
14059 (gst_controlled_property_set_interpolation_mode),
14060 (gst_controlled_property_new),
14061 (gst_controller_find_controlled_property):
14062 run the wingo-magic script against the docs
14064 2005-09-02 Stefan Kost <ensonic@users.sf.net>
14066 * docs/gst/gstreamer-docs.sgml:
14067 * docs/gst/gstreamer-sections.txt:
14068 * docs/gst/tmpl/.cvsignore:
14069 * docs/gst/tmpl/gstelementdetails.sgml:
14070 * docs/gst/tmpl/gstelementfactory.sgml:
14073 * gst/gstelementfactory.c:
14074 * gst/gstelementfactory.h:
14075 merged elementdetails docs into elementfactory docs
14078 2005-09-02 Andy Wingo <wingo@pobox.com>
14080 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
14081 consider this enum an enum and not a flags.
14083 2005-09-02 Stefan Kost <ensonic@users.sf.net>
14085 * docs/gst/gstreamer-docs.sgml:
14086 * docs/gst/tmpl/.cvsignore:
14087 * docs/gst/tmpl/gstghostpad.sgml:
14088 * docs/gst/tmpl/gstiterator.sgml:
14089 * docs/gst/tmpl/gstmacros.sgml:
14090 * docs/gst/tmpl/gstrealpad.sgml:
14091 * docs/gst/tmpl/gstregistry.sgml:
14092 * docs/gst/tmpl/gstregistrypool.sgml:
14093 * docs/gst/tmpl/gststructure.sgml:
14094 * docs/gst/tmpl/gstsystemclock.sgml:
14095 * docs/gst/tmpl/gsttrace.sgml:
14096 * gst/gstghostpad.c:
14098 * gst/gstmemchunk.c:
14099 * gst/gstmemchunk.h:
14101 * gst/gstregistry.c:
14102 * gst/gstregistrypool.c:
14103 * gst/gststructure.c:
14104 * gst/gstsystemclock.c:
14107 2005-09-02 Andy Wingo <wingo@pobox.com>
14109 * gst/gstelement.h (GstState): Renamed from GstElementState,
14110 changed to be a normal enum instead of flags.
14111 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
14112 munged to be GST_STATE_CHANGE_*.
14113 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
14114 work with the new state representation.
14115 (GstStateChange): New enumeration of possible state transitions.
14116 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
14117 (GstElementClass::change_state): Pass the GstStateChange along as
14118 an argument. Helps language bindings, so they don't have to use
14119 tricky lock-needing macros like GST_STATE_CHANGE ().
14121 * scripts/update-states (file): New script. Run it on a file to
14122 update it for state naming and API changes. Updates files in
14125 * All files updated for the new API.
14127 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
14129 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
14130 * gst/gstutils.c: (gst_util_set_value_from_string),
14131 (gst_util_set_object_arg):
14132 fix a bunch of unchecked return values
14133 * tools/gst-complete.c: (main):
14134 * gstreamer.spec.in:
14137 2005-09-01 Wim Taymans <wim@fluendo.com>
14139 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14140 (gst_base_sink_event), (gst_base_sink_do_sync),
14141 (gst_base_sink_handle_event):
14142 * gst/base/gstbasesink.h:
14143 Handle newsegments more correctly.
14148 * gst/gstevent.c: (gst_event_new_newsegment):
14149 A newsegment cannot have a start_time of -1
14151 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
14153 * win32/gstenumtypes.c:
14154 * win32/gstenumtypes.h:
14157 2005-08-31 Stefan Kost <ensonic@users.sf.net>
14159 * libs/gst/controller/gst-controller.c:
14160 (gst_controlled_property_set_interpolation_mode),
14161 (gst_controlled_property_new):
14162 fixed boolean again
14164 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
14166 * docs/faq/gst-uninstalled:
14171 * gst/gstutils.c: (gst_element_link_filtered):
14173 add gst_element_link_filtered
14175 2005-08-31 Stefan Kost <ensonic@users.sf.net>
14177 * docs/gst/gstreamer-docs.sgml:
14178 * docs/gst/gstreamer-sections.txt:
14179 * docs/gst/tmpl/.cvsignore:
14180 * docs/gst/tmpl/gsterror.sgml:
14181 * docs/gst/tmpl/gstfilter.sgml:
14182 * docs/gst/tmpl/gsturihandler.sgml:
14183 * docs/gst/tmpl/gsturitype.sgml:
14184 * docs/gst/tmpl/gstutils.sgml:
14185 * docs/gst/tmpl/gstxml.sgml:
14190 * gst/gsturitype.c:
14193 inlined more docs, fixed double id-ref
14195 2005-08-31 Wim Taymans <wim@fluendo.com>
14197 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14198 (gst_base_transform_handle_buffer):
14199 Passthrough elements don't need the caps as they don't care.
14201 2005-08-31 Wim Taymans <wim@fluendo.com>
14203 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14204 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
14205 Don't leak refcounts on buffers.
14207 2005-08-31 Wim Taymans <wim@fluendo.com>
14209 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
14210 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14211 (gst_base_transform_chain), (gst_base_transform_change_state):
14212 * gst/base/gstbasetransform.h:
14213 Handle the case where we are not negotiated more gracefully.
14215 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
14217 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
14218 (gst_file_src_map_region):
14219 Set READONLY flag on mmap'ed buffers, otherwise
14220 gst_buffer_make_writable() won't work properly (#314708).
14222 2005-08-31 Wim Taymans <wim@fluendo.com>
14224 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
14225 passthrough elements can even do inplace on non writable
14226 buffers (as they don't touch them).
14228 2005-08-31 Stefan Kost <ensonic@users.sf.net>
14230 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14231 (gst_test_mono_source_set_property),
14232 (gst_test_mono_source_class_init), (GST_START_TEST),
14233 (gst_controller_suite):
14234 more tests (hehe I have the most)
14236 describe popping messages whenusing mulltiple sources
14237 * libs/gst/controller/gst-controller.c:
14238 (gst_controlled_property_set_interpolation_mode),
14239 (gst_controlled_property_new):
14240 * libs/gst/controller/gst-controller.h:
14241 * libs/gst/controller/gst-interpolation.c:
14242 implement boolean properties
14244 2005-08-31 Wim Taymans <wim@fluendo.com>
14246 * gst/gstminiobject.c: (gst_mini_object_ref):
14247 Cannot assert that the refcount has to be positive
14248 since a disposed object can be resurrected.
14250 2005-08-31 Wim Taymans <wim@fluendo.com>
14252 * gst/gstpad.c: (gst_pad_init):
14253 Revert change, need to first fix badly behaving
14256 2005-08-30 Wim Taymans <wim@fluendo.com>
14258 * check/elements/fakesrc.c: (setup_fakesrc):
14259 * check/elements/identity.c: (setup_identity):
14260 Activate pads before using them.
14262 2005-08-30 Wim Taymans <wim@fluendo.com>
14264 * gst/base/gstadapter.c: (gst_adapter_flush):
14265 Flushing out 0 bytes is ok for this function.
14267 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14268 no newsegment gives a warning and sets the start/stop to
14271 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
14272 (gst_base_transform_set_passthrough):
14275 * gst/gstminiobject.c: (gst_mini_object_ref):
14276 Check refcount here too.
14278 * gst/gstpad.c: (gst_pad_init):
14279 Pads are initially flushing and refusing data.
14281 * gst/gstutils.c: (gst_element_link_pads_filtered):
14282 When adding a capsfilter element make sure it has the
14283 same state as the parent bin.
14285 2005-08-30 Stefan Kost <ensonic@users.sf.net>
14287 * docs/gst/tmpl/.cvsignore:
14288 * docs/gst/tmpl/gstformat.sgml:
14289 * docs/gst/tmpl/gstversion.sgml:
14293 * gst/gstversion.h.in:
14294 more docs and two more inlined
14296 2005-08-30 Wim Taymans <wim@fluendo.com>
14298 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
14299 Don't sync to clock.
14301 2005-08-30 Stefan Kost <ensonic@users.sf.net>
14303 * docs/gst/gstreamer-sections.txt:
14304 ultral33t func10ns deserve to appear in the docs actually
14305 * docs/gst/tmpl/.cvsignore:
14306 * docs/gst/tmpl/gstcompat.sgml:
14307 * docs/gst/tmpl/gstconfig.sgml:
14308 * gst/check/gstcheck.c:
14310 * gst/gstconfig.h.in:
14313 2005-08-30 Stefan Kost <ensonic@users.sf.net>
14315 * docs/gst/tmpl/.cvsignore:
14316 * docs/gst/tmpl/gstquery.sgml:
14317 * docs/gst/tmpl/gstutils.sgml:
14320 inlined and extended docs
14322 2005-08-30 Stefan Kost <ensonic@users.sf.net>
14324 * check/gst-libs/controller.c: (GST_START_TEST),
14325 (gst_controller_suite):
14327 * docs/gst/tmpl/gstutils.sgml:
14328 * docs/libs/gstreamer-libs-sections.txt:
14329 * docs/libs/tmpl/gstdataprotocol.sgml:
14331 * examples/controller/audio-example.c: (main):
14332 controller example works now
14335 * tools/gst-inspect.c: (print_element_properties_info):
14336 show param spec flags
14338 2005-08-29 Andy Wingo <wingo@pobox.com>
14340 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
14342 2005-08-28 Andy Wingo <wingo@pobox.com>
14344 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
14345 as having two arguments instead of just one. Allows superclasses
14346 to access information on subclasses -- see the terrible for() loop
14347 in gtype.c:g_type_create_instance for the reason why. All callers
14350 2005-08-27 Stefan Kost <ensonic@users.sf.net>
14352 * docs/design/part-messages.txt:
14354 * docs/gst/tmpl/.cvsignore:
14355 * docs/gst/tmpl/gstcaps.sgml:
14356 * docs/gst/tmpl/gstclock.sgml:
14362 * gst/gstmessage.c:
14363 added descriptions for bus and message
14364 inline caps and clock docs
14366 2005-08-27 Stefan Kost <ensonic@users.sf.net>
14368 * gst/gstmessage.c:
14369 * gst/gstmessage.h:
14372 2005-08-27 Stefan Kost <ensonic@users.sf.net>
14374 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
14377 2005-08-26 Andy Wingo <wingo@pobox.com>
14379 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
14380 element_set_state's return val.
14381 (test_2_elements): Add test that's been disabled for months.
14383 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
14384 can-activate-pull properties.
14386 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
14387 can-activate-pull properties. Implement is_seekable so fakesrc can
14388 operate in pull mode.
14390 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
14392 (gst_base_sink_activate, gst_base_sink_activate_pull)
14393 (gst_base_sink_activate_push): Make activation mode choosing work.
14395 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
14396 is right. Make pull mode work. Post an eos before pausing in pull
14398 (gst_base_sink_change_state): Pay attention to the core's
14399 change_state() return val.
14401 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
14402 has-getrange properties. Cleanups.
14404 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
14405 has_getrange and replace with can_activate_pull and
14408 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
14409 locking comments. Remove has_loop, has_chain and replace with
14410 can_activate_pull and can_activate_push.
14412 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
14415 * examples/Makefile.am:
14416 * examples/metadata/Makefile.am:
14417 * examples/metadata/read-metadata.c: (message_loop),
14418 (have_pad_handler), (make_pipeline), (print_tag), (main):
14419 Add metadata reading example that loops over a list of filenames,
14420 dumping any tags found.
14422 * gst/gstbus.c: (gst_bus_dispose):
14423 * gst/gstelement.c: (gst_element_dispose):
14424 Release a few potentially-held references in dispose.
14426 2005-08-26 Stefan Kost <ensonic@users.sf.net>
14428 * docs/gst/tmpl/gstminiobject.sgml:
14429 do *not* add tmpl/*.sgml files to CVS!
14431 2005-08-26 Stefan Kost <ensonic@users.sf.net>
14433 * libs/gst/bytestream/.cvsignore:
14434 * libs/gst/bytestream/Makefile.am:
14435 * libs/gst/bytestream/adapter.c:
14436 * libs/gst/bytestream/adapter.h:
14437 * libs/gst/bytestream/bytestream.c:
14438 * libs/gst/bytestream/bytestream.h:
14439 * libs/gst/bytestream/filepad.c:
14440 * libs/gst/bytestream/filepad.h:
14441 removing obsolete files
14443 2005-08-26 Stefan Kost <ensonic@users.sf.net>
14445 * docs/gst/gstreamer-docs.sgml:
14446 * docs/libs/gstreamer-libs-docs.sgml:
14447 disabed additional index entries again, as this makes docs-gen just
14448 slow and they aren't useful yet
14449 * docs/libs/gstreamer-libs-sections.txt:
14450 little -section.txt cleanup for libs
14452 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
14454 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14455 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
14456 fix up some debugging
14457 (gst_base_transform_get_unit_size),
14458 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14459 (gst_base_transform_handle_buffer):
14460 * gst/base/gstbasetransform.h:
14461 handle and store timed NEWSEGMENT events so that subclasses that
14462 calculate time by counting samples have a segment_start time they
14463 need to add to their timestamps - see audioresample
14465 2005-08-26 Stefan Kost <ensonic@users.sf.net>
14468 removed ';' from the end of macro defs
14469 * docs/gst/gstreamer-docs.sgml:
14470 * docs/gst/gstreamer-sections.txt:
14471 * docs/gst/tmpl/.cvsignore:
14473 * gst/gstelement.c: (gst_element_class_init),
14474 (gst_element_set_state), (activate_pads),
14475 (gst_element_save_thyself):
14476 * gst/gstevent.c: (gst_event_new_newsegment):
14478 * gst/gstiterator.c:
14479 * gst/gstiterator.h:
14482 * gst/gstutils.c: (gst_pad_query_convert):
14484 fixed parameter name mismatches between source, header and docs
14485 added some more docs, resolved the last batch of unused elements in
14486 docs (now someone needs to doc them)
14488 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
14490 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
14491 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
14492 don't walk through the plugins backwards. Where is all this
14493 reversed logic coming from ?
14495 2005-08-25 Wim Taymans <wim@fluendo.com>
14497 * gst/base/gstbasetransform.c: (gst_base_transform_init),
14498 (gst_base_transform_transform_size),
14499 (gst_base_transform_configure_caps),
14500 (gst_base_transform_get_unit_size),
14501 (gst_base_transform_buffer_alloc),
14502 (gst_base_transform_change_state):
14503 * gst/base/gstbasetransform.h:
14504 Cache caps unit_size.
14505 Make sure we cannot negotiate up and downstream at the
14508 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
14510 * gst/gst.c: (init_pre), (init_post):
14511 register the installed plugin path after the env var
14512 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
14513 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
14514 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
14515 directories, so the tests can prefer uninstalled over installed
14517 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
14519 * gst/base/gstbasetransform.h:
14524 2005-08-25 Wim Taymans <wim@fluendo.com>
14526 * gst/gstbin.c: (bin_bus_handler):
14527 Be a bit more conservative about the posted message.
14529 * gst/gstbus.c: (gst_bus_post):
14530 Some cleanups, warn wrong return values.
14532 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
14534 * check/gst/gstbin.c: (GST_START_TEST):
14535 * gst/gstbin.c: (bin_bus_handler):
14536 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14537 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14538 (gst_message_new_warning), (gst_message_new_tag),
14539 (gst_message_new_state_changed), (gst_message_new_segment_start),
14540 (gst_message_new_segment_done), (gst_message_new_custom):
14541 * gst/gstmessage.h:
14542 * tools/gst-launch.c: (event_loop):
14543 * tools/gst-md5sum.c: (event_loop):
14544 Revert unpopular change for GST_MESSAGE_SRC to GObject.
14546 2005-08-25 Wim Taymans <wim@fluendo.com>
14548 * check/generic/states.c: (GST_START_TEST):
14549 Cleanup can be done at the end.
14551 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
14552 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14553 (gst_task_get_state), (gst_task_start), (gst_task_pause):
14554 Oh boy.. Thanks for finding this, Thomas.
14556 2005-08-25 Stefan Kost <ensonic@users.sf.net>
14558 * docs/gst/gstreamer.types:
14559 added missing types
14561 2005-08-25 Stefan Kost <ensonic@users.sf.net>
14563 * docs/gst/gstreamer-docs.sgml:
14564 * docs/gst/gstreamer-sections.txt:
14565 * docs/gst/tmpl/.cvsignore:
14567 * gst/gstiterator.c:
14569 * gst/registries/gstxmlregistry.h:
14570 added missing classes and symbols (123 more to go)
14571 removed removed symbols from section file
14572 fixed many doc-comments
14574 2005-08-24 Wim Taymans <wim@fluendo.com>
14576 * check/generic/states.c: (GST_START_TEST):
14577 Make sure all tasks are stopped.
14579 * check/gst/gstbin.c: (GST_START_TEST):
14580 Unref after usage for proper valgrinding.
14582 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
14583 Really wait for the task to stop before destroying the
14586 * gst/gstqueue.c: (gst_queue_sink_activate_push),
14587 (gst_queue_src_activate_push):
14588 Small cleanups. Don't stop the task when we did not start
14591 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
14592 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14593 (gst_task_get_state), (gst_task_start), (gst_task_pause),
14596 Protect the stream lock with the object lock.
14597 Disallow setting the stream lock when running.
14598 Add cleanup_all to wait for the threadpool to finish.
14599 Remove code to autoallocate a mutex if none was provided.
14600 Add _join() to wait for a task to stop.
14601 Protect the thread pool with a global lock.
14603 2005-08-24 Wim Taymans <wim@fluendo.com>
14605 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14606 (gst_base_sink_get_times), (gst_base_sink_do_sync),
14607 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
14608 * gst/base/gstbasesink.h:
14609 Handle newsegment events correctly.
14610 Drop buffers out of the segment range.
14612 2005-08-22 Andy Wingo <wingo@pobox.com>
14614 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
14615 macro, implements an interface and gstimplementsinterface for a
14618 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
14620 * check/Makefile.am:
14621 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
14622 add a test that does a bunch of state changes on elements
14623 needs some fixing for valgrind
14624 * check/states/sinks.c: (gst_object_suite):
14627 add prototype for gst_caps_is_equal_fixed
14629 * gst/gstregistrypool.c:
14632 2005-08-24 Andy Wingo <wingo@pobox.com>
14634 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
14635 convert a negative value. Doesn't make much sense. Mostly this is
14636 here to force callers to ensure -1 maps to -1.
14638 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
14640 * docs/pwg/advanced-types.xml:
14641 Well done to Michael for catching my deliberate introduction
14642 of this spelling mistake.
14643 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
14644 * gst/gstelement.h:
14645 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
14646 unlink pads before removing the element from the bin.
14648 2005-08-24 Andy Wingo <wingo@pobox.com>
14650 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
14651 the same thing as GST_DEBUG=*:4.
14652 (parse_debug_level, parse_debug_category): New helper parsers.
14654 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
14656 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14657 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
14658 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
14659 (gst_base_transform_buffer_alloc),
14660 (gst_base_transform_handle_buffer):
14661 use gboolean return values and pointers to size so we can use the
14662 full GST_BUFFER_SIZE range (guint) for buffer sizes
14663 use GstPadDirection for transform_caps
14664 * gst/base/gstbasetransform.h:
14665 rename get_size to get_unit_size since that's what it is
14666 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
14667 use GstPadDirection for transform_caps
14668 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14670 cleanup and debugging
14672 2005-08-24 Stefan Kost <ensonic@users.sf.net>
14674 * gst/gstelement.c: (gst_element_class_init),
14675 (gst_element_set_state), (activate_pads),
14676 (gst_element_save_thyself):
14677 * tools/gst-compprep.c: (main):
14678 * tools/gst-inspect.c: (print_element_properties_info):
14679 * tools/gst-xmlinspect.c: (print_element_properties):
14680 Fixed long standing mem-leak
14682 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
14684 * check/gst/gstbin.c: (GST_START_TEST):
14685 * gst/gstbin.c: (bin_bus_handler):
14686 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14687 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14688 (gst_message_new_warning), (gst_message_new_tag),
14689 (gst_message_new_state_changed), (gst_message_new_segment_start),
14690 (gst_message_new_segment_done), (gst_message_new_custom):
14691 * gst/gstmessage.h:
14692 * tools/gst-launch.c: (event_loop):
14693 * tools/gst-md5sum.c: (event_loop):
14694 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
14695 that applications can sensibly post custom messages with references
14696 to their own objects.
14698 2005-08-24 Andy Wingo <wingo@pobox.com>
14700 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
14703 2005-08-24 Wim Taymans <wim@fluendo.com>
14705 * gst/base/gstbasetransform.c: (gst_base_transform_init),
14706 (gst_base_transform_transform_caps),
14707 (gst_base_transform_transform_size),
14708 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14709 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14710 (gst_base_transform_handle_buffer):
14711 * gst/base/gstbasetransform.h:
14712 Many fixes and new features added by Thomas. Can now also do
14713 transforms with variable sizes and a custom fixate_caps function.
14715 2005-08-24 Wim Taymans <wim@fluendo.com>
14717 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14721 Cast to ClockTime before formatting to time.
14726 2005-08-24 Stefan Kost <ensonic@users.sf.net>
14728 * check/gst-libs/controller.c: (GST_START_TEST),
14729 (gst_controller_suite):
14730 * docs/gst/tmpl/gstcaps.sgml:
14731 * docs/gst/tmpl/gstghostpad.sgml:
14732 * docs/gst/tmpl/gstquery.sgml:
14733 * docs/gst/tmpl/gstutils.sgml:
14734 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
14735 (gst_object_sink_values), (gst_object_get_value_arrays),
14736 (gst_object_get_value_array):
14737 gracefully handle helper method calls to objects that are not beeing
14738 controlled, added test case for that
14740 2005-08-23 Wim Taymans <wim@fluendo.com>
14742 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
14743 (gst_event_new_newsegment), (gst_event_parse_newsegment),
14744 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
14745 (gst_event_parse_qos), (gst_event_new_seek),
14746 (gst_event_parse_seek):
14748 Some more debugging output and doc cleanups.
14750 * gst/gstqueue.c: (gst_queue_handle_sink_event):
14751 Fix possible deadlock.
14753 2005-08-23 Stefan Kost <ensonic@users.sf.net>
14755 * docs/gst/gstreamer-docs.sgml:
14756 * docs/gst/gstreamer-sections.txt:
14757 * docs/gst/gstreamer.types:
14758 * docs/gst/tmpl/.cvsignore:
14761 * gst/gstelement.c:
14763 added 100 symbols from gstreamer-unused.txt to the right sections
14764 fixed more broken comments
14765 added GstBus to docs
14767 2005-08-23 Stefan Kost <ensonic@users.sf.net>
14769 * docs/gst/gstreamer-sections.txt:
14770 * docs/gst/tmpl/.cvsignore:
14771 * docs/gst/tmpl/gstbin.sgml:
14772 * docs/gst/tmpl/gstbuffer.sgml:
14773 * gst/base/gstbasesrc.c:
14774 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
14777 * tools/gst-launch.1.in:
14778 inlined more doc comments, added missing comments and fixed comments
14781 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
14783 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14787 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
14789 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
14790 * gst/gststructure.h:
14791 add a fixate function for booleans; add a FIXME that these func
14792 names should probably be gst_structure_fixate_*
14794 2005-08-23 Stefan Kost <ensonic@users.sf.net>
14796 * docs/gst/gstreamer-docs.sgml:
14797 * docs/gst/gstreamer-sections.txt:
14799 * gst/gstbin.c: (gst_bin_get_type),
14800 (gst_bin_child_proxy_get_child_by_index),
14801 (gst_bin_child_proxy_get_children_count),
14802 (gst_bin_child_proxy_init):
14803 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14804 (gst_child_proxy_get_child_by_index),
14805 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
14806 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
14807 (gst_child_proxy_get), (gst_child_proxy_set_property),
14808 (gst_child_proxy_set_valist), (gst_child_proxy_set),
14809 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
14810 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
14811 * gst/gstchildproxy.h:
14812 * gst/parse/grammar.y:
14813 * tools/gst-inspect.c: (print_interfaces),
14814 (print_element_properties_info), (print_element_info):
14815 ported gstchildproxy over from 0.8
14816 ported gst-inspect fixes and enhancements over from 0.8
14818 2005-08-22 Wim Taymans <wim@fluendo.com>
14820 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14821 (gst_base_transform_handle_buffer):
14822 Also call the transform function if we have ANY caps.
14824 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
14827 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
14829 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
14830 Don't pretend to handle seek events if the source is not seekable
14832 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
14834 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14835 Remove extra parameter to debug output
14837 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14838 (gst_base_src_do_seek), (gst_base_src_activate_push):
14839 Fix seek event handling.
14841 * gst/gstpipeline.c: (gst_pipeline_change_state):
14842 * gst/gstqueue.c: (gst_queue_handle_sink_event),
14843 (gst_queue_src_activate_push):
14844 Don't start the src pad task on FLUSH_STOP if the pad
14848 2005-08-22 Wim Taymans <wim@fluendo.com>
14850 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14851 Added check for gst_static_caps_get() refcounting.
14853 2005-08-22 Wim Taymans <wim@fluendo.com>
14855 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
14856 Make _static_caps_get() refcounting sane.
14858 * gst/gstelement.c: (gst_element_set_state):
14859 Add g_return_val_if_fail() to protect against segfaults.
14861 2005-08-22 Stefan Kost <ensonic@users.sf.net>
14863 * docs/gst/tmpl/gstevent.sgml:
14866 inlined remaining docs, added missing doc comments
14868 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
14870 * check/gst/gstbin.c: (GST_START_TEST):
14871 since we don't know when preroll is done, use refcount range
14873 * gst/check/gstcheck.h:
14874 add macro for checking refcount range
14876 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
14878 * check/Makefile.am:
14879 clean up environment for when registry gets built versus
14880 when actual tests are run; valgrind seems to not report
14881 leaks if GST_PLUGIN_PATH is set to some specific values
14882 * check/gst/gstbin.c: (GST_START_TEST):
14883 add more refcounting checks; maybe this exposes a
14885 * common/check.mak:
14886 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14887 * gst/check/gstcheck.h:
14888 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14889 (gst_bin_change_state):
14890 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
14891 add/fix debugging/whitespace
14893 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
14895 * check/gst/gstevent.c: (event_probe), (test_event),
14897 Er, don't call gst_bin_watch_for_state_change you idiot.
14899 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
14901 * check/Makefile.am:
14902 Use CHECK_CFLAGS and CHECK_LIBS
14903 * check/gst/gstevent.c: (event_probe), (test_event),
14906 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14907 (gst_base_src_start), (gst_base_src_stop),
14908 (gst_base_src_activate_push), (gst_base_src_activate_pull),
14909 (gst_base_src_change_state):
14910 Sprinkle gst_base_src_stop liberally around error paths to fix
14911 problems reusing a source after failed state changes.
14912 * gst/base/gsttypefindhelper.c: (helper_find_peek),
14913 (helper_find_suggest), (gst_type_find_helper):
14914 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
14916 * docs/gst/tmpl/gstevent.sgml:
14917 Migrate part of the docs from the SGML file. Wait for ensonic to
14918 tell me how I did it wrong ;)
14919 * tools/gst-typefind.c: (main):
14920 Extra robustness to state changes between files.
14922 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
14924 * check/Makefile.am:
14925 don't valgrind the controller test - it's leaking - Stefan, HELP
14926 * gst/check/gstcheck.c: (gst_check_message_error),
14927 (gst_check_chain_func), (gst_check_setup_element),
14928 (gst_check_teardown_element), (gst_check_setup_src_pad),
14929 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
14930 (gst_check_teardown_sink_pad):
14931 * gst/check/gstcheck.h:
14932 add a bunch of methods to set up elements, and src and sink pads
14933 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
14934 * check/elements/identity.c: (setup_identity), (cleanup_identity),
14937 * gst/gstmessage.c:
14939 whitespace/doc fixes
14941 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
14943 * gst/gstelement.h:
14944 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
14945 be handled by the application and not always printed as well
14947 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
14949 * check/Makefile.am:
14951 * gst/check/gstcheck.c: (gst_check_message_error):
14952 * gst/check/gstcheck.h:
14953 add a fail_unless_equals_int
14954 add fail_unless for error messages
14956 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
14958 * check/Makefile.am:
14960 * common/Makefile.am:
14961 * common/check.mak:
14963 factor out some of the common stuff so we can use it
14965 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
14967 * check/Makefile.am:
14968 * check/gst/gstiterator.c: (GST_START_TEST):
14969 * check/gst/gstsystemclock.c: (GST_START_TEST),
14970 (gst_systemclock_suite):
14971 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14973 valgrind more tests
14975 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
14977 * check/elements/.cvsignore:
14978 * check/elements/gstfakesrc.c:
14979 rename to name of element
14980 * check/elements/identity.c: (chain_func), (event_func),
14981 (setup_identity), (cleanup_identity), (GST_START_TEST),
14982 (identity_suite), (main):
14983 add a test for identity
14984 * check/Makefile.am:
14985 * pkgconfig/Makefile.am:
14986 * pkgconfig/gstreamer-check.pc.in:
14987 * pkgconfig/gstreamer-check-uninstalled.pc.in:
14991 move the check stuff to a library that gets installed
14992 * check/gst-libs/controller.c: (GST_START_TEST):
14993 * check/gst-libs/gdp.c:
14994 * check/gst/gst.c: (GST_START_TEST):
14995 * check/gst/gstbin.c:
14996 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14997 * check/gst/gstbus.c:
14998 * check/gst/gstcaps.c: (GST_START_TEST):
14999 * check/gst/gstelement.c:
15000 * check/gst/gstghostpad.c:
15001 * check/gst/gstiterator.c:
15002 * check/gst/gstmessage.c:
15003 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
15004 * check/gst/gstobject.c:
15005 * check/gst/gstpad.c: (GST_START_TEST):
15006 * check/gst/gststructure.c: (GST_START_TEST):
15007 * check/gst/gstsystemclock.c: (GST_START_TEST),
15008 (gst_systemclock_suite):
15009 * check/gst/gsttag.c: (gst_tag_suite):
15010 * check/gst/gstvalue.c:
15011 * check/pipelines/cleanup.c:
15012 * check/pipelines/simple_launch_lines.c:
15013 * check/states/sinks.c:
15014 change include statement
15016 * docs/gst/gstreamer-sections.txt:
15017 * docs/gst/tmpl/gstpad.sgml:
15018 document more pad stuff
15019 * gst/gstminiobject.c: (gst_mini_object_ref),
15020 (gst_mini_object_unref):
15023 2005-08-19 Stefan Kost <ensonic@users.sf.net>
15025 * docs/gst/tmpl/gst.sgml:
15027 eliminate another tmpl file, fix spelling in the long-description
15029 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
15031 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15032 (test_event), (timediff), (gstevents_suite):
15033 Should fix build on 64-bit arch's
15035 2005-08-18 Andy Wingo <wingo@pobox.com>
15037 Make sure that when a pipeline goes to PLAYING, that data has
15038 actually hit the sink.
15040 * check/states/sinks.c (test_sink): A sink that doesn't get any
15041 data shouldn't return SUCCESS for going to either PLAYING or
15042 PAUSED. Test also the return values on the way back down.
15044 * gst/gstelement.c (gst_element_set_state): When changing the
15045 state of an element currently changing state asynchronously, go to
15046 lost-state after commiting the pending state. Makes future calls
15047 to get_state continue to return ASYNC.
15049 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
15050 ASYNC when going to PLAYING if we still don't have preroll, as can
15051 happen with live sources.
15053 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
15055 * docs/pwg/advanced-types.xml:
15056 Hack long paragraph into 2 chunks as a workaround for buggy
15057 jadetex version in sid and breezy that loops infinitely and
15060 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
15062 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15063 (test_event), (timediff), (gstevents_suite):
15064 Provide more error margin in clock measurements to allow for
15065 g_get_current_time inaccuracies.
15067 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
15069 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15070 (test_event), (timediff), (gstevents_suite):
15071 Fix error message output so I might be able to tell why the
15072 test works here but fails on the build farm.
15074 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
15076 * check/Makefile.am:
15077 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15078 (test_event), (timediff), (gstevents_suite), (main):
15081 * docs/design/part-seeking.txt:
15082 Spelling correction
15084 * docs/gst/tmpl/gstevent.sgml:
15085 * docs/gst/tmpl/gstfakesrc.sgml:
15088 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15089 Treat a buffer-without-newsegment the same as a receiving
15090 a newsegment not in time format, and disable syncing to the clock
15093 * gst/gstbus.c: (gst_bus_set_sync_handler):
15094 Assert if anyone tries to replace the existing sync_handler for bus,
15095 as only the owner should be setting it.
15098 Have a fixed set of custom event enums with events identified by
15099 their structure name (as in 0.8), rather than a free-for-all
15100 allowing collisions between enum values from different plugins.
15102 * gst/gstpad.c: (gst_pad_class_init):
15105 * gst/gstqueue.c: (gst_queue_handle_sink_event):
15106 Handle out-of-band downstream events from the sending thread.
15108 2005-08-17 Andy Wingo <wingo@pobox.com>
15110 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
15111 play-timeout==0 to mean no timeout at all. In that case, don't
15112 bother with a get_state or a warning, just return directly, even
15115 * gst/base/gstbasetransform.c: Debug changes.
15118 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
15119 ensure bins post state change messages. A bit of a hack but I can't
15120 think of a way to avoid it.
15122 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
15124 2005-08-16 Andy Wingo <wingo@pobox.com>
15126 * gst/base/gstadapter.h:
15127 * gst/base/gstadapter.c (gst_adapter_take): New function, like
15128 peek() but you own the data. Not terribly efficient atm.
15130 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15132 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
15133 (gst_element_found_tags):
15135 Add two utility functions for tag handling.
15137 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15139 * docs/manual/advanced-dataaccess.xml:
15140 * docs/manual/basics-helloworld.xml:
15141 Fix docs to use _bin_add() before _link(), which fixes the examples
15142 with recent core versions (reported by Madhan Raj M
15143 <raj_madan@rediffmail.com>, #313199).
15145 2005-08-16 Wim Taymans <wim@fluendo.com>
15147 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15148 Added subtract checks.
15150 * docs/design/part-events.txt:
15151 Some more docs about newsegment
15153 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15156 * gst/gstcaps.c: (gst_caps_to_string):
15157 Add comments, cleanups.
15159 * gst/gstelement.c: (gst_element_save_thyself):
15162 * gst/gstvalue.c: (gst_value_collect_int_range),
15163 (gst_string_unwrap), (gst_value_union_int_int_range),
15164 (gst_value_union_int_range_int_range),
15165 (gst_value_intersect_int_int_range),
15166 (gst_value_intersect_int_range_int_range),
15167 (gst_value_intersect_double_double_range),
15168 (gst_value_intersect_double_range_double_range),
15169 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
15170 (gst_value_subtract_int_range_int),
15171 (gst_value_subtract_double_range_double),
15172 (gst_value_subtract_double_range_double_range),
15173 (gst_value_subtract_from_list), (gst_value_subtract_list),
15174 (gst_value_can_compare), (gst_value_compare_fraction):
15175 Cleanups, add comments, remove unneeded asserts.
15177 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
15179 * tools/gst-launch.c: (event_loop):
15180 don't convert NULL structures to strings
15182 2005-08-15 Stefan Kost <ensonic@users.sf.net>
15184 * docs/gst/gstreamer-sections.txt:
15185 made some defines private
15186 * docs/gst/tmpl/gstconfig.sgml:
15187 * docs/gst/tmpl/gstqueue.sgml:
15188 * docs/gst/tmpl/gsttaglist.sgml:
15189 * docs/gst/tmpl/gsttypes.sgml:
15190 * docs/gst/tmpl/gstutils.sgml:
15191 * docs/pwg/appendix-porting.xml:
15192 * gst/base/gstbasesink.h:
15193 * gst/base/gstbasesrc.c:
15194 * gst/base/gstbasesrc.h:
15195 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
15196 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
15197 * gst/gstelement.c: (gst_element_class_init):
15198 * gst/gstpad.c: (gst_pad_class_init):
15199 * gst/gstqueue.c: (gst_queue_class_init):
15200 * gst/gstxml.c: (gst_xml_class_init):
15201 documented all undocumented signal inline
15202 * libs/gst/controller/gst-controller.h:
15205 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15207 * docs/pwg/appendix-porting.xml:
15208 Document _set_link_function -> _set_setcaps_function.
15210 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
15212 * check/Makefile.am:
15213 add a .check target for running the check
15214 * check/gst-libs/controller.c: (GST_START_TEST):
15216 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15217 complete checks for gstbuffer; would be nice if I could get the
15218 gcov stuff to work so I can see if I actually completed gstbuffer.c
15219 * check/gstcheck.h:
15220 add ASSERT_BUFFER_REFCOUNT
15222 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
15224 * docs/gst/gstreamer-sections.txt:
15225 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
15227 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
15228 spew out a warning if a tag that is already registered
15229 is re-registered, unless it is re-registered with a
15230 different type (#308438).
15232 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
15234 * docs/pwg/appendix-porting.xml:
15235 * docs/pwg/building-state.xml:
15236 Add some paragraphs about state changes in 0.9 to the PWG
15237 and the porting guide, in particular about the new meaning
15238 of GST_STATE_PAUSED and how to write state change functions
15239 with concurrent access by multiple threads in mind.
15241 2005-08-11 Stefan Kost <ensonic@users.sf.net>
15243 * docs/gst/gstreamer-docs.sgml:
15244 * docs/libs/gstreamer-libs-docs.sgml:
15245 added deprecation and since indexes
15246 * libs/gst/controller/gst-controller.c:
15247 * libs/gst/controller/gst-helper.c:
15251 2005-08-11 Wim Taymans <wim@fluendo.com>
15253 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
15254 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
15255 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
15256 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
15257 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
15258 (gst_ghost_pad_set_target):
15259 Actually implement (re)setting the target on a ghostpad
15260 as described in the docs.
15262 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
15264 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
15265 Check whether GST_DEBUG_NO_COLOR environment variable is
15266 set and disable coloured debug output if that is the case.
15268 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
15270 * gst/base/gsttypefindhelper.c: (helper_find_peek),
15271 (gst_type_find_helper):
15272 The memory returned by gst_type_find_peek() needs to
15273 stay valid until the end of a typefind function, and
15274 typefind functions may keep results from different
15275 offsets around, so we can't just unref the buffer from
15276 the previous _peek(), but have to save all buffers
15277 returned by _peek() until typefinding is done and only
15280 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
15282 * docs/gst/gstreamer-sections.txt:
15284 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
15286 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15288 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
15289 Fix a pretty good memleak.
15291 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
15293 * gst/gstiterator.h:
15294 Fix wrong include and 'make distcheck'.
15296 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15298 * gst/gstbin.c: (bin_bus_handler):
15299 Use gst_element_post_message() instead.
15301 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
15303 * gst/base/gstadapter.h:
15304 * gst/base/gstbasesink.h:
15305 * gst/base/gstbasesrc.h:
15306 * gst/base/gstbasetransform.h:
15307 * gst/base/gstcollectpads.h:
15308 * gst/base/gstpushsrc.h:
15309 * gst/gstiterator.h:
15310 Add padding to our base elements' class and instance structs and
15311 to GstIterator (you will need to rebuild all plugins and apps!)
15313 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15315 * gst/gstbin.c: (bin_bus_handler):
15316 Make default message forwarding from child->bus to bin->bus
15317 threadsafe and make it not emit warnings if the parent has no bus.
15319 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15321 * gst/gstelement.c: (activate_pads):
15322 On paused->ready, set pad->caps to NULL, as is the documented
15323 behaviour in this state change. Fixes playback of series of
15324 media files when visualization is enabled in Totem.
15326 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15328 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15329 Allow NULL as filter-caps (which means "any").
15331 2005-08-05 Stefan Kost <ensonic@users.sf.net>
15333 * docs/libs/gstreamer-libs-sections.txt:
15334 * libs/gst/controller/gst-controller.c:
15335 * libs/gst/controller/gst-controller.h:
15336 * libs/gst/controller/gst-helper.c:
15337 adding more entries to the docs and fix small doc-bugs
15339 2005-08-05 Stefan Kost <ensonic@users.sf.net>
15341 * docs/gst/gstreamer-docs.sgml:
15342 * docs/gst/gstreamer-sections.txt:
15343 * docs/gst/gstreamer.types:
15344 * docs/gst/tmpl/gstbasesink.sgml:
15345 * docs/gst/tmpl/gstbasesrc.sgml:
15346 * docs/gst/tmpl/gstbasetransform.sgml:
15347 * docs/gst/tmpl/gstfakesrc.sgml:
15348 * gst/base/gstcollectpads.c:
15349 * gst/base/gstcollectpads.h:
15350 * libs/gst/controller/gst-controller.c:
15351 * libs/gst/controller/gst-controller.h:
15352 * libs/gst/controller/gst-helper.c:
15353 * libs/gst/controller/gst-interpolation.c:
15354 * libs/gst/controller/lib.c:
15355 added long/short desc for controller docs
15356 added collectpads base class docs
15357 added correct includes to base-class docs
15359 2005-08-05 Stefan Kost <ensonic@users.sf.net>
15361 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
15362 (gst_test_mono_source_set_property),
15363 (gst_test_mono_source_class_init), (GST_START_TEST),
15364 (gst_controller_suite):
15365 * docs/gst/gstreamer-docs.sgml:
15366 * docs/gst/gstreamer-sections.txt:
15367 * docs/gst/gstreamer.types:
15368 * docs/libs/gstreamer-libs-docs.sgml:
15369 * docs/libs/gstreamer-libs-sections.txt:
15370 * gst/base/gstadapter.c:
15371 * libs/gst/controller/gst-controller.c:
15372 (gst_controlled_property_new), (gst_controlled_property_free),
15373 (gst_controller_new_valist),
15374 (gst_controller_remove_properties_valist),
15375 (gst_controller_sink_values), (_gst_controller_finalize):
15376 * libs/gst/controller/gst-controller.h:
15377 * libs/gst/controller/gst-helper.c:
15378 (gst_object_control_properties), (gst_object_uncontrol_properties),
15379 (gst_object_get_controller), (gst_object_set_controller),
15380 (gst_object_sink_values), (gst_object_get_value_arrays),
15381 (gst_object_get_value_array):
15382 more tests (and fixes) for the controller
15383 more docs for the controller
15384 integrated companies docs for the adapter
15386 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
15388 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
15389 (GST_START_TEST), (fakesrc_suite):
15390 add tests for sizetype
15392 2005-08-04 Andy Wingo <wingo@pobox.com>
15394 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
15395 fixes buffer_alloc proxying among other things.
15397 * gst/base/gstbasetransform.c:
15398 * gst/base/gstbasetransform.h:
15399 Revert patch to gstbasetransform from 7-28 removing
15402 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
15403 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
15404 Semantics changed, should return not the size of the output buffer
15405 but the byte size of a buffer with a given caps.
15407 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
15409 (gst_base_transform_configure_caps): Don't set out_size here: (in,
15410 out) are not the pad caps until setcaps finishes.
15411 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
15412 not-in-place case as well. Deal with changing from in-place to
15413 not-in-place within calling pad_alloc_buffer. Still a bit
15414 concerned about the overhead here...
15416 2005-08-03 Andy Wingo <wingo@pobox.com>
15418 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
15419 fixating is an error.
15421 2005-08-04 Edward Hervey <edward@fluendo.com>
15423 * gst/base/gstadapter.h:
15424 Added gst_adapter_get_type() to the header
15426 2005-08-03 Stefan Kost <ensonic@users.sf.net>
15428 * check/Makefile.am:
15429 * check/gst-libs/controller.c:
15430 * libs/gst/controller/gst-controller.c:
15431 (gst_controller_new_valist):
15432 added check test suite for the controller
15433 * gst/base/gstpushsrc.c:
15436 2005-08-03 Stefan Kost <ensonic@users.sf.net>
15438 * docs/gst/Makefile.am:
15439 * docs/gst/gstreamer-docs.sgml:
15440 * docs/gst/gstreamer-sections.txt:
15441 * docs/gst/gstreamer.types:
15442 * docs/gst/tmpl/gstfakesrc.sgml:
15444 * gst/base/gstbasesink.c:
15445 * gst/base/gstbasesink.h:
15446 * gst/base/gstbasesrc.c:
15447 * gst/base/gstbasesrc.h:
15448 * gst/base/gstbasetransform.c:
15449 * gst/base/gstpushsrc.c:
15450 * gst/base/gstpushsrc.h:
15451 add short/long description docs to base classes
15452 add pushsrc to the docs
15453 remove consolidated doc fragments
15455 2005-08-03 Stefan Kost <ensonic@users.sf.net>
15458 * docs/libs/Makefile.am:
15459 * docs/libs/gstreamer-libs-docs.sgml:
15460 * docs/libs/gstreamer-libs-sections.txt:
15461 * docs/libs/gstreamer-libs.types:
15462 * examples/Makefile.am:
15463 * examples/controller/.cvsignore:
15464 * examples/controller/Makefile.am:
15465 * examples/controller/audio-example.c: (main):
15466 * libs/gst/Makefile.am:
15467 * libs/gst/controller/.cvsignore:
15468 * libs/gst/controller/Makefile.am:
15469 * libs/gst/controller/gst-controller.c:
15470 (on_object_controlled_property_changed), (gst_timed_value_compare),
15471 (gst_timed_value_find),
15472 (gst_controlled_property_set_interpolation_mode),
15473 (gst_controlled_property_new), (gst_controlled_property_free),
15474 (gst_controller_find_controlled_property),
15475 (gst_controller_new_valist), (gst_controller_new),
15476 (gst_controller_remove_properties_valist),
15477 (gst_controller_remove_properties), (gst_controller_set),
15478 (gst_controller_set_from_list), (gst_controller_unset),
15479 (gst_controller_get), (gst_controller_get_all),
15480 (gst_controller_sink_values), (gst_controller_get_value_arrays),
15481 (gst_controller_get_value_array),
15482 (gst_controller_set_interpolation_mode),
15483 (_gst_controller_finalize), (_gst_controller_init),
15484 (_gst_controller_class_init), (gst_controller_get_type):
15485 * libs/gst/controller/gst-controller.h:
15486 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
15487 (g_object_uncontrol_properties), (g_object_get_controller),
15488 (g_object_set_controller), (g_object_sink_values),
15489 (g_object_get_value_arrays), (g_object_get_value_array):
15490 * libs/gst/controller/gst-interpolation.c:
15491 (gst_controlled_property_find_timed_value_node),
15492 (interpolate_none_get), (interpolate_trigger_get),
15493 (interpolate_trigger_get_value_array):
15494 * libs/gst/controller/lib.c: (gst_controller_init):
15495 * pkgconfig/Makefile.am:
15496 * pkgconfig/gstreamer-control-uninstalled.pc.in:
15497 * pkgconfig/gstreamer-control.pc.in:
15498 * testsuite/Makefile.am:
15499 * testsuite/controller/.cvsignore:
15500 * testsuite/controller/Makefile.am:
15501 * testsuite/controller/interpolator.c: (main):
15502 added controller code
15503 removed dparam pc files
15505 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
15506 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
15507 (gst_collectpads_stop):
15508 Broadcast the condition when shutting down, to make sure we wake all
15509 threads up. Shut down pads on finalize, for safety.
15511 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
15512 * gst/base/gstbasetransform.c: (gst_base_transform_init),
15513 (gst_base_transform_handle_buffer),
15514 (gst_base_transform_change_state):
15515 Handle PAUSED->READY->PAUSED transition after negotiation
15517 * gst/gstmessage.c: (gst_message_init):
15518 Extra piece of debug for new messages.
15520 2005-08-01 Stefan Kost <ensonic@users.sf.net>
15523 * docs/gst/tmpl/gstbasesrc.sgml:
15524 * docs/gst/tmpl/gstelement.sgml:
15525 * docs/gst/tmpl/gstevent.sgml:
15526 * docs/gst/tmpl/gstfakesrc.sgml:
15527 * docs/gst/tmpl/gstformat.sgml:
15528 * docs/gst/tmpl/gstghostpad.sgml:
15529 * docs/gst/tmpl/gstpad.sgml:
15530 * docs/gst/tmpl/gstquery.sgml:
15531 * docs/gst/tmpl/gststructure.sgml:
15532 * docs/gst/tmpl/gsttaglist.sgml:
15533 * docs/gst/tmpl/gstvalue.sgml:
15534 * docs/libs/gstreamer-libs-docs.sgml:
15535 * docs/libs/gstreamer-libs-sections.txt:
15536 * docs/libs/gstreamer-libs.types:
15537 * libs/gst/Makefile.am:
15538 * libs/gst/control/.cvsignore:
15539 * libs/gst/control/Makefile.am:
15540 * libs/gst/control/control.c:
15541 * libs/gst/control/control.h:
15542 * libs/gst/control/dparam.c:
15543 * libs/gst/control/dparam.h:
15544 * libs/gst/control/dparam_smooth.c:
15545 * libs/gst/control/dparam_smooth.h:
15546 * libs/gst/control/dparamcommon.h:
15547 * libs/gst/control/dparammanager.c:
15548 * libs/gst/control/dparammanager.h:
15549 * libs/gst/control/dplinearinterp.c:
15550 * libs/gst/control/dplinearinterp.h:
15551 * libs/gst/control/unitconvert.c:
15552 * libs/gst/control/unitconvert.h:
15553 * testsuite/Makefile.am:
15554 * testsuite/dynparams/.cvsignore:
15555 * testsuite/dynparams/Makefile.am:
15556 * testsuite/dynparams/dparamstest.c:
15557 * tools/Makefile.am:
15558 * tools/gst-inspect.c: (print_element_info), (main):
15559 * tools/gst-xmlinspect.c: (print_element_info), (main):
15560 deactivate and remove dparams (libgstcontrol)
15562 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
15564 * gst/elements/gsttypefindelement.c:
15565 (gst_type_find_element_have_type), (gst_type_find_element_init),
15566 (stop_typefinding), (gst_type_find_element_handle_event),
15567 (gst_type_find_element_chain), (gst_type_find_element_getrange):
15568 * gst/elements/gsttypefindelement.h:
15569 Set caps on all outgoing buffers, not just the first one.
15571 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
15573 * gst/elements/gsttypefindelement.c:
15574 (gst_type_find_element_have_type),
15575 (gst_type_find_element_check_set_buffer_caps),
15576 (gst_type_find_element_init), (stop_typefinding),
15577 (gst_type_find_element_handle_event),
15578 (gst_type_find_element_chain), (gst_type_find_element_getrange):
15579 * gst/elements/gsttypefindelement.h:
15580 Set caps on first outgoing buffer when we've found the type.
15582 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
15584 * docs/gst/gstreamer-docs.sgml:
15585 * docs/gst/gstreamer-sections.txt:
15586 * docs/gst/tmpl/gstscheduler.sgml:
15587 * docs/gst/tmpl/gstschedulerfactory.sgml:
15588 Remove some old cruft from docs.
15590 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
15593 Fix inline docs for GstPadLinkReturn.
15595 * gst/gststructure.c: (gst_structure_has_name):
15596 * gst/gststructure.h:
15597 * docs/gst/gstreamer-sections.txt:
15598 New API: gst_structure_has_name().
15600 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
15603 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
15604 and _LARGEFILE_SOURCE in config.h as required. Do not
15605 export those flags in our .pc files any longer (#142209).
15607 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
15609 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
15610 (gst_file_sink_do_seek), (gst_file_sink_event),
15611 (gst_file_sink_get_current_offset), (gst_file_sink_render):
15612 Redo seek/tell calls with large file support in mind; add some
15613 debugging messages; add log message that tells us when large
15614 file support is unavailable or not enabled for some reason.
15616 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
15617 Add log message that tells us when large file support
15618 is unavailable or not enabled for some reason.
15620 2005-07-29 Wim Taymans <wim@fluendo.com>
15622 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15623 Added test for removing an element with ghostpad from a bin.
15624 Fixed test as current implementation does the right thing.
15626 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
15627 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
15628 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
15629 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
15630 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
15631 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
15632 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
15633 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15634 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
15635 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
15636 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
15637 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
15638 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
15639 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
15640 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
15641 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
15642 * gst/gstghostpad.h:
15643 Clean up ghostpads, remove properties for internal stuff.
15646 Prepare for switching targets, not all use cases work yet.
15648 2005-07-29 Wim Taymans <wim@fluendo.com>
15650 * docs/design/part-gstghostpad.txt:
15653 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15654 (gst_bin_remove_func):
15655 Unlinking pads while holding the bin LOCK is not a good
15658 * gst/gstpad.c: (gst_pad_class_init),
15659 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
15660 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
15661 No prob setting template after creating the pad.
15663 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
15665 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
15666 (gst_bus_peek), (gst_bus_source_dispatch),
15667 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
15668 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
15669 gst_bus_poll may be called from other threads. Handle
15670 this nicely by not making poll_data disappear off the
15671 stack once gst_bus_poll returns.
15672 gst_bus_peek now increments the refcount on the returned
15675 2005-07-29 Wim Taymans <wim@fluendo.com>
15677 * docs/design/part-gstghostpad.txt:
15678 Overview of current GhostPad datastructures and use
15679 cases for changing the target.
15681 2005-07-28 Wim Taymans <wim@fluendo.com>
15683 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15684 Added checks for hierarchy consistency whan adding linked
15687 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15688 Added check to test element scheduling without bin/pipeline.
15690 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15691 First add elements to bin, then link.
15693 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15694 (gst_bin_remove_func):
15695 Unlink pads from elements added/removed from bin to maintain
15696 hierarchy consistency.
15698 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15700 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
15701 (gst_base_transform_handle_buffer):
15702 * gst/base/gstbasetransform.h:
15703 Remove broken delay_configure (fixes renegotiation of software
15704 scaling pipelines); remove some leftover printf()s.
15706 2005-07-28 Wim Taymans <wim@fluendo.com>
15708 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15709 Added some more tests for wrong hierarchy
15711 * docs/design/part-overview.txt:
15714 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
15717 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
15718 (gst_element_dispose):
15719 Some more cleanups.
15721 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15722 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
15723 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15724 (gst_pad_set_caps), (gst_pad_send_event):
15725 Check for correct hierarchy when linking pads. Moving to
15726 strict requirement for ghostpads when linking elements in
15730 Clean ups. Added WRONG_HIERARCHY return value.
15732 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15734 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15735 Better debug if no transform is possible.
15737 2005-07-27 Wim Taymans <wim@fluendo.com>
15739 * docs/random/wtay/network-transp:
15740 Some old doc I had.
15742 2005-07-27 Wim Taymans <wim@fluendo.com>
15744 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15745 (gst_dp_event_from_packet):
15746 Fix serialization of seek events.
15748 2005-07-27 Wim Taymans <wim@fluendo.com>
15750 * check/gst-libs/gdp.c: (GST_START_TEST):
15751 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15752 Fix compilation and fix event serialization.
15754 2005-07-27 Wim Taymans <wim@fluendo.com>
15757 * docs/design/part-TODO.txt:
15758 * docs/design/part-events.txt:
15761 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15762 (gst_base_sink_event), (gst_base_sink_do_sync),
15763 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15764 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15765 (gst_base_src_do_seek), (gst_base_src_event_handler),
15766 (gst_base_src_loop):
15767 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15768 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15769 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15770 (gst_base_transform_event), (gst_base_transform_handle_buffer),
15771 (gst_base_transform_set_passthrough),
15772 (gst_base_transform_is_passthrough):
15773 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15774 * gst/elements/gstfilesink.c: (gst_file_sink_event):
15780 * gst/gstelement.c: (gst_element_seek):
15781 * gst/gstelement.h:
15782 Update gst_element_seek.
15784 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
15785 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
15786 (gst_event_new_flush_start), (gst_event_new_flush_stop),
15787 (gst_event_new_eos), (gst_event_new_newsegment),
15788 (gst_event_parse_newsegment), (gst_event_new_tag),
15789 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
15790 (gst_event_parse_qos), (gst_event_new_seek),
15791 (gst_event_parse_seek), (gst_event_new_navigation):
15793 Make GstEvent use GstStructure. Add parsing code, make sure the
15794 API is sufficiently generic.
15795 Mark possible directions of events and serialization.
15797 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
15798 (_gst_message_copy), (gst_message_new_segment_start),
15799 (gst_message_new_segment_done), (gst_message_new_custom),
15800 (gst_message_parse_segment_start),
15801 (gst_message_parse_segment_done):
15804 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15805 (gst_pad_set_caps), (gst_pad_send_event):
15806 Update for new events.
15807 Catch events sent in wrong directions.
15809 * gst/gstqueue.c: (gst_queue_link_src),
15810 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15811 (gst_queue_handle_src_query):
15816 Remove event code from this file.
15818 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15819 (gst_dp_event_from_packet):
15822 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15824 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
15825 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15826 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
15827 Make debugging actually useful.
15829 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15831 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
15832 (gst_pad_fixate_caps):
15833 Implement default fixation once again, so that gst_pad_fixate()
15834 actually does anything at all. This probably needs to be some
15835 sort of a last resort, and use profile-based fixation first, but
15836 since that doesn't exist yet, this is the best we have. Fixes
15837 visualization in Totem.
15839 2005-07-22 Wim Taymans <wim@fluendo.com>
15841 * docs/design/part-events.txt:
15844 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15845 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
15846 (gst_base_sink_activate_pull):
15847 Some more comments.
15849 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
15850 (gst_fake_src_create):
15851 Fix handoff marshall.
15853 * gst/elements/gstidentity.c: (gst_identity_class_init),
15854 (gst_identity_transform_ip):
15855 We're a real inplace element.
15857 * gst/gstbus.c: (gst_bus_post):
15858 Added some comments.
15860 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
15861 * tests/muxing/case1.c: (main):
15862 * tests/sched/dynamic-pipeline.c: (main):
15863 * tests/sched/interrupt1.c: (main):
15864 * tests/sched/interrupt2.c: (main):
15865 * tests/sched/interrupt3.c: (main):
15866 * tests/sched/runxml.c: (main):
15867 * tests/sched/sched-stress.c: (main):
15868 * tests/seeking/seeking1.c: (event_received), (main):
15869 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15871 * tests/threadstate/threadstate3.c: (main):
15872 * tests/threadstate/threadstate4.c: (main):
15873 * tests/threadstate/threadstate5.c: (main):
15876 2005-07-21 Wim Taymans <wim@fluendo.com>
15878 * docs/design/part-seeking.txt:
15879 Some small additions.
15881 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15882 (gst_base_sink_get_times), (gst_base_sink_do_sync),
15883 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15884 * gst/base/gstbasesink.h:
15885 discont values are gint64, handle the math correctly.
15887 * gst/base/gstbasesrc.c: (gst_base_src_loop):
15888 Make the basesrc report error if the source pad is not linked.
15890 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15891 (gst_queue_loop), (gst_queue_handle_src_query),
15892 (gst_queue_src_activate_push):
15893 Make queue collect data even if the srcpad is not linked.
15894 Start pushing out data as soon as it is linked.
15896 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
15898 Added gst_flow_get_name() to ease error reporting.
15900 2005-07-20 Wim Taymans <wim@fluendo.com>
15902 * gst/gstmessage.c: (gst_message_new_segment_start),
15903 (gst_message_new_segment_done), (gst_message_parse_segment_start),
15904 (gst_message_parse_segment_done):
15905 * gst/gstmessage.h:
15906 Added a bunch of messages for advanced seeking.
15908 * gst/parse/grammar.y:
15909 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
15910 (gst_dpman_state_changed):
15911 Fix some new-pad -> pad-added signals
15913 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15915 * docs/manual/appendix-porting.xml:
15916 * docs/pwg/appendix-porting.xml:
15917 Document new-pad/state-change signal renames and the FixedList
15920 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15922 * docs/manual/advanced-autoplugging.xml:
15923 * docs/manual/basics-helloworld.xml:
15924 * docs/manual/basics-pads.xml:
15925 * docs/random/ds/0.9-suggested-changes:
15926 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15927 * gst/gstelement.h:
15931 * gst/gststructure.c: (gst_structure_value_get_generic_type),
15932 (gst_structure_parse_array), (gst_structure_parse_value):
15933 * gst/gstvalue.c: (gst_type_is_fixed),
15934 (gst_value_list_prepend_value), (gst_value_list_append_value),
15935 (gst_value_list_get_size), (gst_value_list_get_value),
15936 (gst_value_transform_array_string), (gst_value_serialize_array),
15937 (gst_value_deserialize_array), (gst_value_intersect_array),
15938 (gst_value_is_fixed), (_gst_value_initialize):
15940 GstElement::new-pad -> pad-added, GstElement::state-change ->
15941 state-changed, GstValueFixedList -> GstValueArray, add format and
15942 flags as their own arguments in gst_element_seek() (should improve
15943 "bindeability"), remove function generators since they don't work
15944 under a whole bunch of compilers (they were deprecated already
15947 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15949 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15950 (_gst_debug_register_funcptr):
15952 Fix illegal cast on some platforms (#309253).
15954 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15956 * gst/gstmessage.c: (gst_message_new_custom):
15957 * gst/gstmessage.h:
15958 Add _new_custom, make _new_application a macro to _new_custom.
15960 2005-07-20 Wim Taymans <wim@fluendo.com>
15962 * gst/base/gstbasesrc.c: (gst_base_src_init),
15963 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15964 * gst/base/gstbasesrc.h:
15965 Add a gboolean to decide when to push out a discont.
15967 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15968 (gst_queue_loop), (gst_queue_handle_src_query),
15969 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
15970 (gst_queue_set_property), (gst_queue_get_property):
15973 * tests/threadstate/threadstate1.c: (main):
15974 Make a thread test compile and run... very silly..
15977 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15979 * docs/manual/appendix-porting.xml:
15980 Mention removal of libgstgconf-0.9.la and existence of gconf
15983 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15985 * docs/pwg/advanced-clock.xml:
15986 * docs/pwg/appendix-porting.xml:
15987 * docs/pwg/intro-preface.xml:
15988 * docs/pwg/other-base.xml:
15989 * docs/pwg/other-manager.xml:
15990 * docs/pwg/other-nton.xml:
15991 * docs/pwg/other-ntoone.xml:
15992 * docs/pwg/other-oneton.xml:
15993 * docs/pwg/pwg.xml:
15994 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
15995 demuxer), remove n-to-n (was never written), fix some code examples
15996 and links and update the porting section to include all this.
15998 2005-07-19 Wim Taymans <wim@fluendo.com>
16000 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
16001 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
16002 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
16003 (gst_queue_src_activate_push), (gst_queue_change_state),
16004 (gst_queue_get_property):
16006 Propagate GstFlowReturn more intelligently upstream and output
16007 an ERROR/EOS when streaming stopped due to fatal error.
16009 2005-07-19 Wim Taymans <wim@fluendo.com>
16011 * tools/gst-launch.c: (check_intr), (event_loop), (main):
16012 Don't block forever for the state change to complete, the
16013 pipeline already did with a sensible timeout.
16015 2005-07-19 Wim Taymans <wim@fluendo.com>
16017 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16018 Make sure we never call the create function is we
16021 2005-07-19 Andy Wingo <wingo@pobox.com>
16023 * gst/parse/parse.l: Attempt to solve bug #172815.
16025 2005-07-19 Wim Taymans <wim@fluendo.com>
16027 * docs/design/part-clocks.txt:
16028 * docs/design/part-events.txt:
16029 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
16030 Small docs updates.
16031 Only update the seeking values when we are not
16034 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
16036 * gst/base/gstbasesrc.c: (gst_base_src_loop):
16037 Oops, ignore the result of gst_pad_push_event here.
16039 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
16041 * gst/base/gstbasesrc.c: (gst_base_src_loop),
16042 (gst_base_src_activate_push):
16043 Send discont event from the loop function, as pads
16044 aren't activated yet in the activate_push handler.
16046 * gst/gstbin.c: (bin_bus_handler):
16047 Don't leak element name.
16049 2005-07-18 Andy Wingo <wingo@pobox.com>
16051 * configure.ac: Use AS_LIBTOOL_TAGS.
16053 2005-07-18 Wim Taymans <wim@fluendo.com>
16055 * docs/gst/gstreamer.types:
16056 Remove deleted types.
16058 2005-07-18 Wim Taymans <wim@fluendo.com>
16060 * check/elements/gstfakesrc.c: (GST_START_TEST):
16063 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
16064 (init_popt_callback):
16066 * gst/gst_private.h:
16067 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
16068 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
16071 * gst/gstconfig.h.in:
16072 * gst/gstelement.c: (gst_element_class_init),
16073 (gst_element_set_base_time), (gst_element_get_base_time),
16074 (iterator_fold_with_resync), (gst_element_change_state),
16075 (gst_element_dispose), (gst_element_get_bus):
16076 * gst/gstelement.h:
16077 * gst/gstelementfactory.h:
16078 * gst/gsterror.c: (_gst_core_errors_init):
16081 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
16083 * gst/gstinfo.c: (_gst_debug_init):
16084 * gst/gstmessage.c: (_gst_message_copy):
16085 * gst/gstmessage.h:
16086 * gst/gstminiobject.h:
16089 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16090 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
16093 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16094 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
16095 (gst_pipeline_get_last_stream_time):
16096 * gst/gstpipeline.h:
16097 * gst/gstpluginfeature.h:
16099 * gst/gstscheduler.c:
16100 * gst/gstscheduler.h:
16101 * gst/gststructure.h:
16102 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16103 (gst_task_finalize), (gst_task_func), (gst_task_create),
16104 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
16105 (gst_task_stop), (gst_task_pause):
16107 * gst/gsttypefind.h:
16109 * gst/registries/gstlibxmlregistry.c: (load_feature),
16110 (gst_xml_registry_load), (gst_xml_registry_save_feature):
16111 * gst/registries/gstxmlregistry.c:
16112 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
16113 * gst/schedulers/threadscheduler.c:
16114 * libs/gst/control/dparammanager.h:
16115 * tools/gst-inspect.c: (print_element_list),
16116 (print_plugin_features), (print_element_features):
16117 * tools/gst-xmlinspect.c: (print_element_list),
16118 (print_plugin_info), (main):
16119 Removed plugable schedulers.
16120 Removed Scheduler/Manager from elements.
16121 Removed gsttypes.h, rearranged includes.
16122 Removed dependency pad<->element, element<>pipeline, and
16123 various others, fix includes.
16124 implement gst_pad_get_parent() with gst_object_get_parent()
16125 Make GstTask sefcontained.
16126 Fix _get_state() on GstBin, it did not return ASYNC with a 0
16128 Fix endless loop in iterator_fold_with_resync.
16131 2005-07-18 Wim Taymans <wim@fluendo.com>
16137 2005-07-18 Wim Taymans <wim@fluendo.com>
16140 No more cothreads.h
16142 2005-07-18 Wim Taymans <wim@fluendo.com>
16146 Let's remove these.
16148 2005-07-18 Wim Taymans <wim@fluendo.com>
16150 * docs/design/part-dynamic.txt:
16151 * docs/design/part-events.txt:
16152 * docs/design/part-seeking.txt:
16153 Some more docs in the works.
16155 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
16156 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
16157 (gst_base_transform_setcaps), (gst_base_transform_get_size),
16158 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16159 (gst_base_transform_handle_buffer),
16160 (gst_base_transform_sink_activate_push),
16161 (gst_base_transform_src_activate_pull),
16162 (gst_base_transform_set_passthrough),
16163 (gst_base_transform_is_passthrough):
16166 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
16169 * gst/gstevent.c: (gst_event_finalize):
16172 * gst/gstutils.c: (gst_element_unlink),
16173 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
16174 (gst_pad_proxy_setcaps):
16176 Add _get_parent_element() to get a pads parent as an element.
16178 2005-07-18 Wim Taymans <wim@fluendo.com>
16180 * check/gst/gstbin.c: (GST_START_TEST):
16183 2005-07-18 Wim Taymans <wim@fluendo.com>
16185 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16186 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16187 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16188 (gst_base_sink_event), (gst_base_sink_do_sync),
16189 (gst_base_sink_chain), (gst_base_sink_loop),
16190 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
16191 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
16193 Fix logic for returning ASYNC when not prerolled.
16195 2005-07-18 Wim Taymans <wim@fluendo.com>
16197 * gst/gstqueue.c: (gst_queue_handle_sink_event):
16198 Fix nasty refcount bug.
16200 2005-07-16 Philippe Khalaf <burger@speedy.org>
16202 * gst/elements/gstfdsrc.c:
16203 * gst/elements/gstfdsrc.h:
16204 * gst/elements/gstelements.c:
16205 * gst/elements/Makefile.am:
16206 Ported fdsrc to 0.9.
16208 2005-07-16 Wim Taymans <wim@fluendo.com>
16210 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16211 (gst_base_sink_do_sync):
16214 2005-07-16 Wim Taymans <wim@fluendo.com>
16216 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16217 (gst_base_sink_event), (gst_base_sink_get_times),
16218 (gst_base_sink_do_sync), (gst_base_sink_change_state):
16219 * gst/base/gstbasesink.h:
16220 Store and use discont values when syncing buffers as described
16223 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
16224 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
16225 (gst_base_src_activate_push):
16226 Push discont event when starting.
16228 * gst/elements/gstidentity.c: (gst_identity_transform):
16231 * gst/gstbin.c: (gst_bin_change_state):
16232 Small cleanups in base_time distribution.
16234 * gst/gstelement.c: (gst_element_set_base_time),
16235 (gst_element_get_base_time), (gst_element_change_state):
16236 * gst/gstelement.h:
16237 Added methods for the base_time of the element.
16240 * gst/gstpipeline.c: (gst_pipeline_send_event),
16241 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
16242 (gst_pipeline_get_last_stream_time):
16243 * gst/gstpipeline.h:
16245 Handle seeking as described in design doc, remove stream_time
16247 Cleanups clock and stream_time selection code. Added accessors
16248 for the stream_time.
16251 2005-07-16 Andy Wingo <wingo@pobox.com>
16253 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
16256 2005-07-16 Wim Taymans <wim@fluendo.com>
16258 * check/gst/gstbin.c: (GST_START_TEST):
16259 Make elements silent as the deep_notify refs the
16260 parent, which might make the test fail.
16262 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
16263 Don't hold the lock for too long.
16265 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
16267 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
16268 Don't unref the caps we passed to gst_caps_make_writable() after
16269 passing them. gst_caps_make_writable() will do that for us.
16271 2005-07-15 Andy Wingo <wingo@pobox.com>
16273 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
16276 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
16277 own marshalling function for the handoff signal. Properly type the
16278 buffer as a buffer. Fixes some warnings. Should do a more general
16280 (gst_identity_class_init): Plug into the right marshaller.
16282 2005-07-15 Wim Taymans <wim@fluendo.com>
16284 * docs/design/part-TODO.txt:
16285 * docs/design/part-clocks.txt:
16286 * docs/design/part-element-sink.txt:
16287 * docs/design/part-events.txt:
16288 * docs/design/part-gstpipeline.txt:
16289 Updated docs, mostly DISCONT related.
16291 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
16293 * docs/pwg/building-pads.xml:
16294 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
16296 2005-07-15 Andy Wingo <wingo@pobox.com>
16298 * tools/gst-typefind.c: Update, add copyright block.
16300 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
16301 Normalize and truncate caps before fixation.
16304 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
16305 discards all but the first structure from its argument.
16307 2005-07-15 Wim Taymans <wim@fluendo.com>
16309 * gst/base/gstbasetransform.c: (gst_base_transform_init),
16310 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
16311 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16312 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
16313 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
16314 (gst_base_transform_chain), (gst_base_transform_change_state),
16315 (gst_base_transform_set_passthrough),
16316 (gst_base_transform_is_passthrough):
16317 * gst/base/gstbasetransform.h:
16318 Make passthrough work using the bufferpools.
16319 Changed API a bit, subclasses have to write into a buffer
16320 provided by the base class.
16321 More debug info in nego functions.
16323 * gst/elements/gstidentity.c: (gst_identity_init),
16324 (gst_identity_transform):
16325 Port to new base class.
16327 2005-07-15 Wim Taymans <wim@fluendo.com>
16329 * gst/gstmessage.c: (gst_message_new_state_changed):
16330 * tools/gst-launch.c: (event_loop), (main):
16331 Totally dump messages in -launch with the -m option.
16332 Fix message name for State messages,
16334 2005-07-14 Wim Taymans <wim@fluendo.com>
16336 * gst/base/gstbasesrc.c: (gst_base_src_loop):
16337 Post error messages on errors.
16339 2005-07-14 Wim Taymans <wim@fluendo.com>
16341 * gst/gstcaps.c: (gst_caps_do_simplify):
16345 Define error for stream stopped.
16347 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16348 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
16349 Do proper return values.
16351 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16352 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
16353 (gst_pad_get_range):
16354 Better return values.
16357 Reorganise return values, add macro to check for fatal errors.
16359 * gst/gstqueue.c: (gst_queue_chain):
16360 Return proper GstFlowReturn values,
16362 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
16364 * docs/gst/gstreamer-sections.txt:
16365 * docs/gst/gstreamer.types:
16366 * docs/gst/tmpl/gst.sgml:
16367 * docs/gst/tmpl/gstbasesink.sgml:
16368 * docs/gst/tmpl/gstbasesrc.sgml:
16369 * docs/gst/tmpl/gstbasetransform.sgml:
16370 * docs/gst/tmpl/gstbin.sgml:
16371 * docs/gst/tmpl/gstbuffer.sgml:
16372 * docs/gst/tmpl/gstcaps.sgml:
16373 * docs/gst/tmpl/gstclock.sgml:
16374 * docs/gst/tmpl/gstcompat.sgml:
16375 * docs/gst/tmpl/gstconfig.sgml:
16376 * docs/gst/tmpl/gstelement.sgml:
16377 * docs/gst/tmpl/gstelementdetails.sgml:
16378 * docs/gst/tmpl/gstelementfactory.sgml:
16379 * docs/gst/tmpl/gstenumtypes.sgml:
16380 * docs/gst/tmpl/gsterror.sgml:
16381 * docs/gst/tmpl/gstevent.sgml:
16382 * docs/gst/tmpl/gstfakesink.sgml:
16383 * docs/gst/tmpl/gstfakesrc.sgml:
16384 * docs/gst/tmpl/gstfilesink.sgml:
16385 * docs/gst/tmpl/gstfilesrc.sgml:
16386 * docs/gst/tmpl/gstfilter.sgml:
16387 * docs/gst/tmpl/gstformat.sgml:
16388 * docs/gst/tmpl/gstghostpad.sgml:
16389 * docs/gst/tmpl/gstimplementsinterface.sgml:
16390 * docs/gst/tmpl/gstindex.sgml:
16391 * docs/gst/tmpl/gstindexfactory.sgml:
16392 * docs/gst/tmpl/gstinfo.sgml:
16393 * docs/gst/tmpl/gstiterator.sgml:
16394 * docs/gst/tmpl/gstmacros.sgml:
16395 * docs/gst/tmpl/gstmemchunk.sgml:
16396 * docs/gst/tmpl/gstminiobject.sgml:
16397 * docs/gst/tmpl/gstobject.sgml:
16398 * docs/gst/tmpl/gstpad.sgml:
16399 * docs/gst/tmpl/gstpadtemplate.sgml:
16400 * docs/gst/tmpl/gstparse.sgml:
16401 * docs/gst/tmpl/gstpipeline.sgml:
16402 * docs/gst/tmpl/gstplugin.sgml:
16403 * docs/gst/tmpl/gstpluginfeature.sgml:
16404 * docs/gst/tmpl/gstquery.sgml:
16405 * docs/gst/tmpl/gstqueue.sgml:
16406 * docs/gst/tmpl/gstregistry.sgml:
16407 * docs/gst/tmpl/gstregistrypool.sgml:
16408 * docs/gst/tmpl/gstscheduler.sgml:
16409 * docs/gst/tmpl/gstschedulerfactory.sgml:
16410 * docs/gst/tmpl/gststructure.sgml:
16411 * docs/gst/tmpl/gstsystemclock.sgml:
16412 * docs/gst/tmpl/gsttaglist.sgml:
16413 * docs/gst/tmpl/gsttagsetter.sgml:
16414 * docs/gst/tmpl/gsttrace.sgml:
16415 * docs/gst/tmpl/gsttrashstack.sgml:
16416 * docs/gst/tmpl/gsttypefind.sgml:
16417 * docs/gst/tmpl/gsttypefindfactory.sgml:
16418 * docs/gst/tmpl/gsttypes.sgml:
16419 * docs/gst/tmpl/gsturihandler.sgml:
16420 * docs/gst/tmpl/gsturitype.sgml:
16421 * docs/gst/tmpl/gstutils.sgml:
16422 * docs/gst/tmpl/gstvalue.sgml:
16423 * docs/gst/tmpl/gstversion.sgml:
16424 * docs/gst/tmpl/gstxml.sgml:
16425 * docs/libs/tmpl/gstcontrol.sgml:
16426 * docs/libs/tmpl/gstdataprotocol.sgml:
16427 * docs/libs/tmpl/gstdparam.sgml:
16428 * docs/libs/tmpl/gstdplinint.sgml:
16429 * docs/libs/tmpl/gstdpman.sgml:
16430 * docs/libs/tmpl/gstdpsmooth.sgml:
16431 * docs/libs/tmpl/gstgetbits.sgml:
16432 * docs/libs/tmpl/gstunitconvert.sgml:
16433 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
16434 (gst_push_src_base_init), (gst_push_src_class_init),
16435 (gst_push_src_init), (gst_push_src_create):
16436 * gst/base/gstpushsrc.h:
16437 * gst/elements/gstelements.c:
16438 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
16439 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
16440 (gst_fake_sink_init), (gst_fake_sink_set_property),
16441 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
16442 (gst_fake_sink_event), (gst_fake_sink_preroll),
16443 (gst_fake_sink_render), (gst_fake_sink_change_state):
16444 * gst/elements/gstfakesink.h:
16445 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16446 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16447 (gst_fake_src_base_init), (gst_fake_src_class_init),
16448 (gst_fake_src_init), (gst_fake_src_event_handler),
16449 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
16450 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
16451 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
16452 (gst_fake_src_create_buffer), (gst_fake_src_create),
16453 (gst_fake_src_start), (gst_fake_src_stop):
16454 * gst/elements/gstfakesrc.h:
16455 * gst/elements/gstfilesink.c: (_do_init),
16456 (gst_file_sink_base_init), (gst_file_sink_class_init),
16457 (gst_file_sink_init), (gst_file_sink_dispose),
16458 (gst_file_sink_set_location), (gst_file_sink_set_property),
16459 (gst_file_sink_get_property), (gst_file_sink_open_file),
16460 (gst_file_sink_close_file), (gst_file_sink_query),
16461 (gst_file_sink_event), (gst_file_sink_render),
16462 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
16463 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
16464 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
16465 * gst/elements/gstfilesink.h:
16466 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
16467 (gst_file_src_class_init), (gst_file_src_init),
16468 (gst_file_src_finalize), (gst_file_src_set_location),
16469 (gst_file_src_set_property), (gst_file_src_get_property),
16470 (gst_file_src_map_region), (gst_file_src_map_small_region),
16471 (gst_file_src_create_mmap), (gst_file_src_create_read),
16472 (gst_file_src_create), (gst_file_src_is_seekable),
16473 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
16474 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
16475 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
16476 (gst_file_src_uri_handler_init):
16477 * gst/elements/gstfilesrc.h:
16478 more autistic cleanliness in functions/names/defines
16480 2005-07-13 Andy Wingo <wingo@pobox.com>
16482 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
16483 source couldn't negotiate.
16485 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
16489 * gst/gstutils.c (gst_element_link_pads_filtered): New old
16490 function. I am channeling Hades. Put your boots on suckers!!!
16492 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
16494 * testsuite/caps/Makefile.am:
16495 * testsuite/caps/value_compare.c:
16496 * testsuite/caps/value_intersect.c:
16497 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16498 move two testsuite apps over to the check dir
16500 2005-07-12 Wim Taymans <wim@fluendo.com>
16502 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
16503 Added more debug info in the negotiate process.
16505 * gst/gstmessage.h:
16506 Prepare for segment playback.
16508 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
16514 * tools/gst-launch.c: (main):
16515 NULL pipeline on errors.
16517 2005-07-12 Andy Wingo <wingo@pobox.com>
16519 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
16520 not it comes from a malloc region. Make sure our copy gets freed.
16522 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
16524 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
16525 * check/gst/gstmessage.c: (GST_START_TEST):
16526 * check/gst/gststructure.c: (GST_START_TEST),
16527 (gst_structure_suite), (main):
16529 * gst/gstelement.c: (gst_element_message_full):
16530 clean up GError and debug string now that they get copied
16531 * gst/gstmessage.c: (gst_message_new_error),
16532 (gst_message_new_warning), (gst_message_parse_error),
16533 (gst_message_parse_warning):
16534 use GST_TYPE_G_ERROR for structure_new, and take copies of
16535 arguments, so that we don't mess up refcounting
16537 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
16539 * check/Makefile.am:
16540 add per-test valgrind targets
16541 * check/gst-libs/gdp.c: (GST_START_TEST),
16542 (gst_data_protocol_suite), (main):
16545 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
16547 * check/Makefile.am:
16548 instate more valgrindable tests
16549 * check/elements/gstfakesrc.c: (chain_func), (event_func),
16550 (GST_START_TEST), (fakesrc_suite):
16551 * check/gst/gstpad.c: (GST_START_TEST):
16552 * check/gst/gststructure.c: (GST_START_TEST):
16554 * docs/gst/tmpl/gstminiobject.sgml:
16555 * gst/gstpad.c: (gst_pad_finalize):
16556 fix the static mutex leak
16558 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
16560 * check/Makefile.am:
16561 add two more tests for valgrinding
16562 * check/gst/gstvalue.c: (GST_START_TEST):
16563 test refcount of deserialized buffer, found a leak
16564 * docs/gst/gstreamer-docs.sgml:
16565 * docs/gst/gstreamer-sections.txt:
16566 * docs/gst/gstreamer.types:
16567 * docs/gst/tmpl/gstminiobject.sgml:
16568 add miniobject to docs
16569 * gst/gstminiobject.c:
16571 * gst/gstvalue.c: (gst_value_deserialize_buffer),
16572 (gst_string_unwrap):
16573 fix a hard-to-find invalid write for one of the tests
16574 fix a leak for deserialized buffers
16576 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16578 * docs/pwg/advanced-events.xml:
16579 * docs/pwg/advanced-request.xml:
16580 * docs/pwg/advanced-scheduling.xml:
16581 * docs/pwg/appendix-porting.xml:
16582 * docs/pwg/building-boiler.xml:
16583 * docs/pwg/intro-preface.xml:
16584 * docs/pwg/other-ntoone.xml:
16585 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
16586 of example code and explanation for pad activation, loop() and
16587 getrange() functions and a bit more. Remove old comments pointing
16589 * examples/pwg/Makefile.am:
16590 Add loop/getrange examples.
16592 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
16595 check for valgrind binary + some fixes
16597 valgrind suppressions for the tests
16598 * check/Makefile.am:
16599 add a valgrind: target that valgrinds the unit tests
16600 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
16601 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16602 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16603 * check/gst/gstghostpad.c:
16605 * check/gst/gstdata.c:
16607 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
16608 (thread_unref), (gst_mini_object_suite), (main):
16610 * gst/gst.c: (gst_deinit):
16612 add a method to clean up.
16613 * gst/gstsystemclock.c: (gst_system_clock_dispose),
16614 (gst_system_clock_obtain):
16615 allow for disposing the system clock.
16616 * tools/gst-launch.c: (main):
16619 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
16621 * docs/gst/tmpl/gstbasesrc.sgml:
16622 * docs/gst/tmpl/gstfakesrc.sgml:
16623 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16624 (gst_base_src_init), (gst_base_src_set_property),
16625 (gst_base_src_get_property), (gst_base_src_get_range),
16626 (gst_base_src_start):
16627 * gst/base/gstbasesrc.h:
16628 add num-buffers property
16629 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16630 (gst_fakesrc_init), (gst_fakesrc_set_property),
16631 (gst_fakesrc_get_property), (gst_fakesrc_create),
16632 (gst_fakesrc_start):
16633 remove num-buffers property
16635 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
16637 * docs/gst/gstreamer-sections.txt:
16638 * docs/gst/tmpl/gstbasesink.sgml:
16639 * docs/gst/tmpl/gstbasesrc.sgml:
16640 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16641 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16642 (gst_base_sink_finalize), (gst_base_sink_set_clock),
16643 (gst_base_sink_set_property), (gst_base_sink_get_property),
16644 (gst_base_sink_handle_object), (gst_base_sink_event),
16645 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16646 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
16647 (gst_base_sink_loop), (gst_base_sink_deactivate),
16648 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
16649 (gst_base_sink_change_state):
16650 * gst/base/gstbasesink.h:
16651 * gst/base/gstbasesrc.h:
16652 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
16653 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16654 (gst_filesink_init):
16655 more macro splitting
16657 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
16659 * gst/gstelement.c: (gst_element_get_bus):
16661 * tools/gst-launch.c: (check_intr), (event_loop):
16664 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
16666 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16669 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
16671 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16672 (gst_base_src_finalize):
16673 add finalize method and clean up properly
16674 * gst/gstpipeline.c: (gst_pipeline_dispose):
16677 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
16679 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
16681 add more things to check
16682 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
16683 * gst/gstelement.c:
16686 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
16688 * check/elements/gstfakesrc.c: (chain_func), (event_func),
16689 (GST_START_TEST), (fakesrc_suite):
16690 * check/gst-libs/gdp.c: (GST_START_TEST):
16691 * check/gst/gst.c: (GST_START_TEST):
16692 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16693 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16694 * check/gst/gstbus.c: (GST_START_TEST):
16695 * check/gst/gstcaps.c: (GST_START_TEST):
16696 * check/gst/gstdata.c: (GST_START_TEST):
16697 * check/gst/gstelement.c: (GST_START_TEST):
16698 * check/gst/gstghostpad.c: (GST_START_TEST):
16699 * check/gst/gstiterator.c: (GST_START_TEST):
16700 * check/gst/gstmessage.c: (GST_START_TEST):
16701 * check/gst/gstobject.c: (GST_START_TEST):
16702 * check/gst/gstpad.c: (GST_START_TEST):
16703 * check/gst/gststructure.c: (GST_START_TEST):
16704 * check/gst/gstsystemclock.c: (GST_START_TEST),
16705 (gst_systemclock_suite):
16706 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
16707 * check/gst/gstvalue.c: (GST_START_TEST):
16708 * check/pipelines/cleanup.c: (GST_START_TEST):
16709 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16710 * check/states/sinks.c: (GST_START_TEST):
16711 * check/gstcheck.c: (gst_check_init):
16712 * check/gstcheck.h:
16713 add debugging category
16714 use GST_START_TEST now, so we add a debug line
16716 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
16718 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
16719 add test for state change message on a bin
16720 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
16722 * gst/gstbin.c: (gst_bin_init):
16723 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
16724 * gst/gstelement.c: (gst_element_post_message),
16725 (gst_element_set_state):
16726 * gst/gstelementfactory.c: (gst_element_factory_create):
16727 * gst/gstmessage.c: (gst_message_new):
16728 * gst/gstscheduler.c:
16729 various debugging additions and cleanups
16731 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
16733 * check/Makefile.am:
16734 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
16736 adding tests for elements
16737 * gst/gstelement.c: (gst_element_dispose):
16739 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
16741 * gst/registries/gstlibxmlregistry.c: (load_feature):
16742 plug more leaks. A simple gst_init() now is leakfree, yay.
16744 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
16746 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
16747 (gst_xml_registry_load):
16748 plug another memleak
16750 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
16753 use GST_SET_ERROR_CFLAGS
16754 * docs/faq/cvs.xml:
16755 change to ERROR_CFLAGS
16757 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
16760 make GST_ERROR_CFLAGS overridable and re-enable Werror
16761 * docs/faq/cvs.xml:
16762 add a note about error CFLAGS
16763 * docs/gst/tmpl/gstfakesrc.sgml:
16764 * gst/elements/gstfakesrc.c:
16765 comment out some unused code
16766 * gst/gst.c: (split_and_iterate):
16767 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
16771 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
16773 * common/Makefile.am:
16774 * common/gtk-doc.mak:
16775 * docs/gst/Makefile.am:
16776 factor out gtk-doc.mak
16778 2005-07-07 Wim Taymans <wim@fluendo.com>
16780 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
16781 (gst_thread_scheduler_dispose):
16782 Unlock the STREAM_LOCK completely.
16784 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
16786 * check/Makefile.am:
16787 * check/elements/.cvsignore:
16788 * check/elements/gstfakesrc.c: (chain_func), (event_func),
16789 (START_TEST), (fakesrc_suite), (main):
16790 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16791 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16792 (gst_fakesrc_create), (gst_fakesrc_start):
16793 * gst/elements/gstfakesrc.h:
16794 adding a first element test
16796 2005-07-07 Andy Wingo <wingo@pobox.com>
16798 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
16801 2005-07-07 Wim Taymans <wim@fluendo.com>
16807 2005-07-07 Wim Taymans <wim@fluendo.com>
16809 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16810 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
16811 Allow subclasses to implement their own negotiation.
16813 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
16815 * docs/design/part-gstbin.txt:
16816 * docs/design/part-gstpipeline.txt:
16817 Update design notes to reflect the movement of
16818 responsibility for bus handling from GstPipeline to
16821 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
16824 Remove unnecessary queue2/3/4 examples.
16826 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
16828 * examples/Makefile.am:
16829 * examples/helloworld/helloworld.c: (event_loop), (main):
16830 * examples/queue/queue.c: (event_loop), (main):
16831 * examples/queue2/queue2.c: (main):
16832 Update a couple of the examples to work again.
16834 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16835 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
16836 Spelling corrections and extra debug.
16838 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
16839 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
16840 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
16842 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16843 (gst_pipeline_change_state):
16844 * gst/gstpipeline.h:
16845 Move the bus handler for children to the GstBin, and create a
16846 separate bus for receiving messages from children to the one the
16847 bus sends 'upwards' on.
16849 2005-07-06 Wim Taymans <wim@fluendo.com>
16852 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16853 (gst_base_sink_handle_object), (gst_base_sink_loop),
16854 (gst_base_sink_change_state):
16855 * gst/base/gstbasesink.h:
16856 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16857 (gst_base_src_init), (gst_base_src_setcaps),
16858 (gst_base_src_getcaps), (gst_base_src_loop),
16859 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
16860 (gst_base_src_start), (gst_base_src_change_state):
16861 * gst/base/gstbasesrc.h:
16862 Make basesrc negotiate.
16863 Handle the case where preroll fails in basesink.
16866 2005-07-06 Wim Taymans <wim@fluendo.com>
16868 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
16869 Implement the fixate function.
16870 Clean up acceptcaps.
16872 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16874 * docs/pwg/building-filterfactory.xml:
16875 * docs/pwg/pwg.xml:
16876 Remove never-written filter-factory chapter; I'll add the various
16877 base classes to part 4 ("other element types") later on.
16879 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16881 * docs/pwg/advanced-negotiation.xml:
16882 * docs/pwg/building-boiler.xml:
16883 * docs/pwg/building-pads.xml:
16884 * docs/pwg/pwg.xml:
16885 * examples/pwg/Makefile.am:
16886 Add a chapter on caps negotiation, simplify the original code
16887 samples a bit w.r.t. caps negotiation, add link to the advanced
16888 section. Add a bunch of examples showing different use cases of
16889 different types of caps negotiation. Upstream renegotiation isn't
16890 fully documented yet since nobody knows how that works.
16892 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
16894 * check/gst/gstpad.c:
16895 * check/gstcheck.c:
16896 * gst/gstpad.c: (gst_pad_get_internal_links_default):
16897 if pad has no parent, return NULL as list of internal links
16899 2005-07-05 Andy Wingo <wingo@pobox.com>
16901 * gst/elements/gstfilesrc.c:
16902 * gst/elements/gstfakesrc.c:
16903 * gst/base/gstpushsrc.c:
16904 * gst/base/gstbasesrc.h:
16905 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
16907 2005-07-05 Stefan Kost <ensonic@users.sf.net>
16910 better report generation target (lcov needs a patch)
16912 2005-07-05 Andy Wingo <wingo@pobox.com>
16914 * gst/elements, testsuite: Null if we got it...
16916 2005-07-05 Wim Taymans <wim@fluendo.com>
16919 * libs/gst/dataprotocol/Makefile.am:
16920 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
16921 * libs/gst/dataprotocol/dataprotocol.h:
16922 * pkgconfig/Makefile.am:
16923 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
16924 * pkgconfig/gstreamer-dataprotocol.pc.in:
16925 Ported dataprotol to 0.9.
16926 Added pkgconfig files.
16928 2005-07-05 Andy Wingo <wingo@pobox.com>
16930 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16931 Default to returning TRUE for the case when tranform_caps returns
16932 a fixed caps, like for identity or volume.
16934 * check/gst/gstbus.c (pound_bus_with_messages):
16935 * check/gst/gstmessage.c (START_TEST):
16936 * check/pipelines/simple_launch_lines.c (got_handoff): Application
16937 message API change.
16939 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
16940 logic weaks here: always run transform_caps, trying passthrough
16941 operation only if the original caps intersects with the transform.
16943 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
16944 source and sink caps.
16946 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
16947 Intersect the peer caps with the pad template before going into
16949 (gst_base_transform_transform_caps): More debugging.
16951 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
16954 2005-07-04 Edward Hervey <edward@fluendo.com>
16958 (gst_pad_add_*_probe): now returns the signal id for better wrapping
16961 2005-07-04 Andy Wingo <wingo@pobox.com>
16963 * check/gst/gstpad.c: Only set explicit caps on pads.
16965 2005-07-01 Andy Wingo <wingo@pobox.com>
16967 * tests/network-clock.scm: Commentary update.
16969 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
16970 Didn't really make sense, not implementable with basetransform,
16972 (gst_identity_transform): Unref inbuf via make_writable. Feeble
16973 attempt at implementing the sync property, needs an unlock method.
16975 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
16976 New func, by default returns the same caps (the identity
16978 (gst_base_transform_getcaps): Uses transform_caps to return
16979 something sensible.
16980 (gst_base_transform_setcaps): Complicated logic to get caps on
16981 both pads, even if they are different, and to call set_caps once
16982 for every time both pads get their caps set.
16983 (gst_base_transform_handle_buffer): Give the ref to the transform
16984 function. Allows in-place modification of the buffer.
16986 * gst/base/gstbasetransform.h (transform_caps): New class method.
16987 Given caps on one side, what can I do on the other.
16988 (set_caps): Take two caps, one for each side of the element.
16991 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
16992 caps in place. This is safe because we can check the mutability of
16993 the caps, and a good idea because fixate functions are just called
16994 as a matter of last resort. (Not actually implemented.)
16995 (gst_pad_set_caps): If the caps we're setting is actually the same
16996 as the existing pad caps, just update the pointer without calling
16997 setcaps. Assert that caps is either NULL or fixed, as per the
17000 * gst/gstghostpad.c: Update for fixate changes.
17002 2005-07-02 Andy Wingo <wingo@pobox.com>
17005 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
17006 two refcounts makes it immutable, which is enough. Doc more.
17008 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
17010 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
17011 Put the mini_object into GValue as a mini_object,
17012 not a gpointer, since that's how we declared
17015 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17017 * examples/pwg/Makefile.am:
17018 Fix buildbot again.
17020 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17022 * docs/pwg/building-testapp.xml:
17024 * examples/pwg/Makefile.am:
17027 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17030 * examples/Makefile.am:
17031 * examples/pwg/Makefile.am:
17032 * examples/pwg/extract.pl:
17033 Enable building the PWG examples.
17034 * docs/pwg/advanced-interfaces.xml:
17035 Add URI interface stub.
17036 * docs/pwg/advanced-types.xml:
17037 * docs/pwg/other-autoplugger.xml:
17038 * docs/pwg/appendix-porting.xml:
17039 * docs/pwg/pwg.xml:
17040 Add porting guide (mostly stubs), remove autoplugging (see ADM).
17041 * docs/pwg/building-boiler.xml:
17042 * docs/pwg/building-chainfn.xml:
17043 * docs/pwg/building-pads.xml:
17044 * docs/pwg/building-props.xml:
17045 * docs/pwg/building-state.xml:
17046 * docs/pwg/building-testapp.xml:
17047 Update the building-*.xml parts for 0.9 changes. All examples
17048 code blocks compile in examples/pwg/*.
17050 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17052 * docs/manual/advanced-autoplugging.xml:
17053 * docs/manual/appendix-checklist.xml:
17054 * docs/manual/appendix-integration.xml:
17055 * docs/manual/highlevel-components.xml:
17056 Fix playbin/decodebin examples, update docs a bit, mention bus
17057 instead of signals in various places, mention kmplayer and
17058 kaffeine since they have a working GStreamer backend in the KDE
17061 2005-06-30 Wim Taymans <wim@fluendo.com>
17064 * docs/design/draft-ghostpads.txt:
17065 * docs/design/draft-push-pull.txt:
17066 * docs/design/draft-query.txt:
17067 * docs/design/part-TODO.txt:
17068 * docs/design/part-query.txt:
17069 Added CHANGES-0.9 doc, updated status of other docs.
17074 2005-06-30 Wim Taymans <wim@fluendo.com>
17076 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
17077 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
17078 (gst_base_sink_change_state):
17079 * gst/base/gstbasesink.h:
17080 Some tweaks, only EOS and a buffer complete a preroll.
17082 2005-06-30 Andy Wingo <wingo@pobox.com>
17084 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
17085 activate_push down to the internal pad as well.
17087 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
17089 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17091 * gst/gsttaginterface.c:
17092 Some documentation fixes (#307394 and #307397).
17094 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
17096 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17098 * gst/gstvalue.c: (gst_value_intersect_list):
17099 Fix memleak (#309125).
17101 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17103 * docs/manual/advanced-dataaccess.xml:
17104 Fix fakesrc example to compile; doesn't work, bug somewhere...?
17105 * docs/manual/basics-pads.xml:
17106 Add reference for filtered caps to above chapter.
17108 2005-06-30 Wim Taymans <wim@fluendo.com>
17110 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
17111 (gst_bin_change_state):
17113 Lame attempt at making the state change function a bit
17116 2005-06-30 Wim Taymans <wim@fluendo.com>
17118 * docs/design/part-clocks.txt:
17119 * docs/design/part-element-sink.txt:
17120 * docs/design/part-events.txt:
17121 * docs/design/part-preroll.txt:
17122 * docs/design/part-states.txt:
17123 Some more tweeks and additions to the docs.
17125 2005-06-30 Wim Taymans <wim@fluendo.com>
17127 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17128 (default_have_data), (gst_pad_class_init), (gst_pad_init),
17129 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17130 (gst_pad_check_pull_range), (gst_pad_get_range),
17131 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
17133 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
17134 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17135 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17136 (gst_pad_remove_buffer_probe):
17137 Removed atomic operations, use existing LOCK.
17138 Move exception handling out of main code path.
17140 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17142 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17143 (silly_return_true_function), (gst_pad_class_init),
17144 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17145 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
17146 (gst_pad_send_event):
17147 Fix accumulator, add default value by using _emitv() instead
17148 of _emit() for signal emission.
17150 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17152 * docs/manual/advanced-dataaccess.xml:
17153 * examples/manual/Makefile.am:
17155 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
17158 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
17160 * gst/elements/gstfilesink.c: (gst_filesink_render):
17161 Simplify code so that we don't have to handle short
17162 writes and return GST_FLOW_ERROR if an error occured.
17164 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17166 * docs/gst/gstreamer-docs.sgml:
17167 Remove probes more.
17169 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17171 * docs/gst/gstreamer-sections.txt:
17172 * docs/gst/tmpl/gstpad.sgml:
17173 * docs/gst/tmpl/gstprobe.sgml:
17175 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17176 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
17177 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
17178 (gst_pad_push_event), (gst_pad_send_event):
17180 * gst/gstutils.c: (gst_pad_add_data_probe),
17181 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17182 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17183 (gst_pad_remove_buffer_probe):
17185 Remove old probes, add new g-signal-based probes and some utility
17188 2005-06-29 Edward Hervey <edward@fluendo.com>
17190 * gst/gstelementfactory.c:
17193 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
17194 the definition to the header file.
17196 2005-06-29 Andy Wingo <wingo@pobox.com>
17198 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
17199 plugins from the source directory.
17201 2005-06-29 Wim Taymans <wim@fluendo.com>
17203 * docs/gst/tmpl/gstbuffer.sgml:
17204 * docs/gst/tmpl/gstclock.sgml:
17205 Some fixings for blantently wrong text.
17207 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
17209 * check/Makefile.am:
17210 * gst/gst.c: (add_path_func), (init_pre):
17211 * gst/gstregistry.c: (gst_registry_add_path):
17212 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
17213 only scan the GST_PLUGIN_PATH locations, and not add
17216 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
17218 * docs/gst/gstreamer-sections.txt:
17219 * docs/gst/tmpl/gstbasesrc.sgml:
17220 * gst/gstelement.c:
17221 * gst/gstelement.h:
17226 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17228 * docs/manual/advanced-autoplugging.xml:
17229 Fix autoplugging example.
17231 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17233 * docs/manual/advanced-autoplugging.xml:
17234 * docs/manual/mime-world.fig:
17235 Try to get autoplugging working, fix type detection. Fix text
17236 in hello-world image.
17238 2005-06-29 Wim Taymans <wim@fluendo.com>
17240 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17241 (gst_base_sink_change_state):
17245 map SIGNAL and BROADCAST to the right function.
17248 Remove redundant braces.
17250 * gst/gstpad.c: (gst_pad_set_caps):
17251 Don't call setcaps function when reseting caps to NULL.
17253 * gst/gstsystemclock.c: (gst_system_clock_dispose),
17254 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
17255 (gst_system_clock_id_unschedule):
17256 Use BROADCAST as this is what we do.
17258 2005-06-29 Wim Taymans <wim@fluendo.com>
17260 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17261 We are actually prerolling before commiting the state
17264 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17266 * docs/manual/advanced-clocks.xml:
17267 * docs/manual/advanced-interfaces.xml:
17268 * docs/manual/advanced-metadata.xml:
17269 * docs/manual/advanced-position.xml:
17270 * docs/manual/advanced-schedulers.xml:
17271 * docs/manual/advanced-threads.xml:
17272 * docs/manual/appendix-porting.xml:
17273 * docs/manual/basics-bins.xml:
17274 * docs/manual/basics-bus.xml:
17275 * docs/manual/basics-elements.xml:
17276 * docs/manual/basics-helloworld.xml:
17277 * docs/manual/basics-pads.xml:
17278 * docs/manual/highlevel-components.xml:
17279 * docs/manual/manual.xml:
17280 * docs/manual/thread.fig:
17281 Update (until threads/scheduling) Application Development Manual;
17282 remove GstThread, add GstBus, add simple porting checklist, add
17283 documentation for tag writing, clocks, make all examples until this
17284 part compile and run.
17285 * examples/manual/Makefile.am:
17286 Update from changes to Application Development Manual; add bus
17287 example, remove thread example.
17289 2005-06-28 Wim Taymans <wim@fluendo.com>
17291 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
17292 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
17293 (gst_bus_source_dispatch):
17294 Add debugging messages.
17295 Make internal methods static.
17296 Handle the case where the bus is flushed in the handler.
17298 * gst/gstelement.c: (gst_element_get_bus):
17299 Fix refcount in _get_bus();
17301 * gst/gstpipeline.c: (gst_pipeline_change_state),
17302 (gst_pipeline_get_clock_func):
17303 Clock refcounting fixes.
17304 Handle the case where preroll timed out more gracefully.
17306 * gst/gstsystemclock.c: (gst_system_clock_dispose):
17307 Clean up the internal thread in dispose. This is needed
17308 for subclasses that actually get disposed.
17310 * gst/schedulers/threadscheduler.c:
17311 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17312 (gst_thread_scheduler_dispose):
17313 Free thread pool in dispose.
17315 2005-06-28 Andy Wingo <wingo@pobox.com>
17317 * tests/network-clock-utils.scm (debug, print-event): New utils.
17319 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
17320 (*packet-loss*): Unified loss probability.
17321 (network-time): Report out-of-band events.
17323 * tests/plot-data: Add support for out-of-band events. Hack it
17324 into this script instead of passing it down the pipe; should fix
17327 2005-06-28 Wim Taymans <wim@fluendo.com>
17329 * docs/gst/gstreamer.types:
17330 * docs/gst/tmpl/gstbasesrc.sgml:
17331 * docs/gst/tmpl/gstpad.sgml:
17334 2005-06-28 Wim Taymans <wim@fluendo.com>
17336 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17337 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
17338 (gst_proxy_pad_do_fixatecaps):
17339 Correctly proxy the check_pull_range function.
17341 2005-06-28 Andy Wingo <wingo@pobox.com>
17343 * tests/network-clock.scm: Removed need for slib.
17345 2005-06-28 Wim Taymans <wim@fluendo.com>
17347 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
17348 (gst_basesink_preroll_queue_flush):
17349 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
17350 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
17351 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17352 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
17353 (gst_proxy_pad_set_property):
17356 * gst/gstqueue.c: (gst_queue_init):
17357 The deprecated pad loop function is removed now.
17359 2005-06-28 Andy Wingo <wingo@pobox.com>
17361 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
17362 New parameters, simulate network packet loss.
17364 * tests/network-clock-utils.scm: Initialize the RNG.
17366 2005-06-28 Wim Taymans <wim@fluendo.com>
17368 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
17369 (gst_basesink_event), (gst_basesink_deactivate):
17370 Flushing the preroll queue always needs to unlock the waiters.
17372 2005-06-28 Edward Hervey <edward@fluendo.com>
17374 * gst/gstpipeline.c: (gst_pipeline_send_event):
17375 Wheen a seek was successful on a pipeline, set the stream_time to the
17376 seek offset in order to have a synchronized stream_time.
17378 2005-06-28 Wim Taymans <wim@fluendo.com>
17380 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17381 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
17382 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
17383 (gst_proxy_pad_do_fixatecaps):
17384 Call wrapper function instead of just calling the function
17385 pointers. This takes care of any locking and whatmore.
17387 2005-06-28 Wim Taymans <wim@fluendo.com>
17389 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
17390 (gst_pad_pull_range):
17392 CONNECTED -> LINKED.
17394 2005-06-28 Andy Wingo <wingo@pobox.com>
17396 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
17397 source-munging commit!!!
17399 * gst/gstobject.c (gst_object_unref, gst_object_ref)
17400 (gst_object_sink): Take gpointer arguments, not GstObject --
17401 avoids casts. Like GLib.
17403 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
17406 2005-06-27 Andy Wingo <wingo@pobox.com>
17408 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
17411 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
17412 returns a sorted copy of the trace list.
17413 (gst_alloc_trace_print_live): New API, only prints traces with
17414 live objects. Sort the list.
17415 (gst_alloc_trace_print_all): Sort the list.
17416 (gst_alloc_trace_print): Align columns.
17418 * gst/elements/gstttypefindelement.c:
17419 * gst/elements/gsttee.c:
17420 * gst/base/gstbasesrc.c:
17421 * gst/base/gstbasesink.c:
17422 * gst/base/gstbasetransform.c:
17423 * gst/gstqueue.c: Adapt for pad activation changes.
17425 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
17427 (gst_pipeline_dispose): Drop ref on sched.
17429 * gst/gstpad.c (gst_pad_init): Set the default activate func.
17430 (gst_pad_activate_default): Push mode by default.
17431 (pre_activate_switch, post_activate_switch): New stubs, things to
17432 do before and after switching activation modes on pads.
17433 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
17434 the pad's activate function to choose which mode to activate.
17435 Shortcut on deactivation and call the right function directly.
17436 (gst_pad_activate_pull): New API, (de)activates a pad in pull
17438 (gst_pad_activate_push): New API, same for push mode.
17439 (gst_pad_set_activate_function)
17440 (gst_pad_set_activatepull_function)
17441 (gst_pad_set_activatepush_function): Setters for new API.
17443 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
17444 Trace all miniobjects.
17445 (gst_mini_object_make_writable): Unref the arg if we copy, like
17446 gst_caps_make_writable.
17448 * gst/gstmessage.c (_gst_message_initialize): No trace init.
17450 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
17451 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
17452 Adapt for new pad API.
17454 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
17456 * gst/gstelement.h:
17457 * gst/gstelement.c (gst_element_iterate_src_pads)
17458 (gst_element_iterate_sink_pads): New API functions.
17460 * gst/gstelement.c (iterator_fold_with_resync): New utility,
17461 should fold into gstiterator.c in some form.
17462 (gst_element_pads_activate): Simplified via use of fold and
17463 delegation of decisions to gstpad->activate.
17465 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
17468 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
17469 class once in init, like gstmessage. Didn't run into this issue
17470 but it seems correct. Don't initialize a trace, gstminiobject does
17473 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
17474 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
17476 (assert_live_count): New util function, uses alloc traces to check
17479 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
17480 To be modified when unlink drops the internal pad.
17482 2005-06-27 Wim Taymans <wim@fluendo.com>
17484 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
17485 (gst_bin_change_state):
17486 Cleanup the get_state() function a little, make sure it
17487 iterates the same set of elements.
17488 Added stub iterate_state_order().
17490 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
17492 * docs/gst/gstreamer-docs.sgml:
17493 * docs/gst/gstreamer-sections.txt:
17494 * docs/gst/gstreamer.types:
17495 * docs/gst/tmpl/gstbasesink.sgml:
17496 * docs/gst/tmpl/gstbasesrc.sgml:
17497 * docs/gst/tmpl/gstbasetransform.sgml:
17498 * docs/gst/tmpl/gstelement.sgml:
17499 * docs/gst/tmpl/gstiterator.sgml:
17500 * gst/base/gstbasesrc.c:
17501 * gst/base/gstbasesrc.h:
17502 * gst/base/gstbasetransform.h:
17503 * gst/gstelement.c:
17504 * gst/gstiterator.h:
17505 adding basetransform and iterator docs
17507 2005-06-27 Andy Wingo <wingo@pobox.com>
17509 * docs/design/part-activation.txt: Notes on how activation should
17510 work -- not quite implemented yet.
17512 2005-06-25 Wim Taymans <wim@fluendo.com>
17514 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
17515 At least get the chain function correct, needs more
17518 2005-06-25 Wim Taymans <wim@fluendo.com>
17520 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17521 (gst_basesink_handle_object), (gst_basesink_event),
17522 (gst_basesink_do_sync), (gst_basesink_handle_event),
17523 (gst_basesink_change_state):
17525 Right, two problems here: ghostpads don't take locks and
17526 glib _rec_mutex_lock_full() with depth==0 still locks.
17527 Catch illegal locking and g_warn them.
17529 2005-06-25 Wim Taymans <wim@fluendo.com>
17531 * check/states/sinks.c: (START_TEST), (gst_object_suite):
17532 Have to check for completion now...
17534 2005-06-25 Wim Taymans <wim@fluendo.com>
17536 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17537 (gst_basesink_handle_object), (gst_basesink_event),
17538 (gst_basesink_do_sync), (gst_basesink_handle_event),
17539 (gst_basesink_change_state):
17541 Unlock STREAM_LOCK whatever the recursion was.
17543 2005-06-25 Wim Taymans <wim@fluendo.com>
17545 * gst/base/gstbasesink.c: (gst_basesink_set_property),
17546 (gst_basesink_preroll_queue_empty),
17547 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
17548 (gst_basesink_event), (gst_basesink_do_sync),
17549 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
17550 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
17551 (gst_basesink_change_state):
17552 Reworked the base sink, handle event and buffer serialisation
17553 correctly and removed possible deadlock.
17554 Handle EOS correctly.
17556 2005-06-25 Wim Taymans <wim@fluendo.com>
17558 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
17559 (gst_pipeline_change_state):
17560 * tools/gst-launch.c: (check_intr), (event_loop), (main):
17561 Allow elements to post EOS in the state change function.
17562 Fix up -launch, make it exit the poll loop when the
17563 pipeline actually changed state.
17564 Fix up warning parsing in -launch.
17566 2005-06-25 Wim Taymans <wim@fluendo.com>
17568 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
17569 (gst_tee_sink_activate):
17570 Core takes STREAM_LOCK for us now.
17572 2005-06-25 Wim Taymans <wim@fluendo.com>
17574 * gst/gstelement.c: (gst_element_get_state_func),
17575 (gst_element_set_state):
17576 * gst/gstelement.h:
17577 * gst/gstmessage.c: (gst_message_parse_error),
17578 (gst_message_parse_warning):
17579 Keep track of current target state while performing a state
17580 change so that subclasses can do something interesting.
17581 Fix parsing of warning/error messages when GError is NULL.
17583 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
17585 * docs/gst/Makefile.am:
17586 * docs/gst/gstreamer-docs.sgml:
17587 * docs/gst/gstreamer-sections.txt:
17588 * docs/gst/gstreamer.types:
17589 * docs/gst/tmpl/gstbasesink.sgml:
17590 * docs/gst/tmpl/gstbasesrc.sgml:
17591 * docs/gst/tmpl/gstbin.sgml:
17592 * docs/gst/tmpl/gstcompat.sgml:
17593 * docs/gst/tmpl/gstfakesink.sgml:
17594 * docs/gst/tmpl/gstfakesrc.sgml:
17595 * docs/gst/tmpl/gstfilesink.sgml:
17596 * docs/gst/tmpl/gstfilesrc.sgml:
17597 * docs/gst/tmpl/gstindex.sgml:
17598 * docs/manual/appendix-quotes.xml:
17599 * gst/base/gstbasesrc.h:
17600 * gst/elements/gstfakesrc.h:
17601 * gst/gstmessage.h:
17602 start pulling in base classes and elements in our docs
17604 2005-06-24 Stefan Kost <ensonic@users.sf.net>
17606 * docs/gst/Makefile.am:
17607 * docs/libs/Makefile.am:
17608 fixed make distcheck with gtk-doc 1.3
17610 2005-06-23 Wim Taymans <wim@fluendo.com>
17612 * gst/gstelement.c: (gst_element_get_state_func),
17613 (gst_element_set_state), (gst_element_change_state):
17614 When the state did not change, also report NO_PREROLL
17617 2005-06-23 Wim Taymans <wim@fluendo.com>
17619 * gst/gstpad.c: (gst_pad_event_default):
17620 * gst/gstqueue.c: (gst_queue_loop):
17621 No unsafe task pausing please.
17623 2005-06-23 Wim Taymans <wim@fluendo.com>
17625 * gst/schedulers/threadscheduler.c:
17626 (gst_thread_scheduler_task_start),
17627 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
17628 Ref the task before pushing it on the threadpool. This
17629 makes sure that we have a ref when the threadfunction is
17632 2005-06-23 Andy Wingo <wingo@pobox.com>
17634 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
17635 offset is greater than the file's size.
17637 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
17638 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
17639 * gst/gstobject.c (gst_object_class_init): Make the class lock
17640 recursive. Wim won't let me drop deep_notify. Decodebin works
17641 again, whoopdy doo.
17643 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
17644 internal pad, and hacks accordingly. Doesn't do it on the target
17645 pad because we change its caps. Probably catches all cases of
17647 (gst_ghost_pad_set_property): Connect to notify::caps as
17650 * tests/network-clock.scm (plot-simulation): Pipe data to the
17651 elite python skript.
17653 * tests/network-clock-utils.scm (define-parameter): New macro,
17654 defines a parameter that can be set via the command line.
17655 (set-parameter!, parse-parameter-arguments): Command line args
17658 * tests/plot-data: Simple matplotlib-based plotter, takes input on
17661 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
17663 * gst/elements/gsttypefindelement.c:
17664 (gst_type_find_element_handle_event):
17665 Don't restart typefinding on a discont.
17666 * gst/gstelement.c: (gst_element_set_state):
17667 Debug spelling fix.
17668 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
17669 Allow changing mode of an active pad.
17670 Debug output fixes.
17671 * gst/registries/gstlibxmlregistry.c: (load_feature):
17672 Don't cast a static pad template to a normal pad template.
17674 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
17676 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17677 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17678 remove gst_strtoll completely, since it didn't actually do
17679 anything more than what g_ascii_strtoull already does.
17680 check for range errors when deserializing
17681 do a cast for the unsigned cases; but further fixing needs
17682 a decision on what the interpretation of "(int)" and
17683 deserialization should be for values that fall outside the
17684 type's boundaries (ie, refuse, or interpret as casting)
17686 2005-06-23 Wim Taymans <wim@fluendo.com>
17688 * check/Makefile.am:
17689 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
17690 * docs/design/part-live-source.txt:
17691 * docs/design/part-states.txt:
17692 * gst/base/gstbasesrc.c: (gst_basesrc_init),
17693 (gst_basesrc_set_live), (gst_basesrc_is_live),
17694 (gst_basesrc_get_range), (gst_basesrc_activate),
17695 (gst_basesrc_change_state):
17696 * gst/base/gstbasesrc.h:
17697 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17698 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17699 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
17700 * gst/gstelement.c: (gst_element_get_state_func),
17701 (gst_element_set_state):
17702 * gst/gstelement.h:
17704 * tools/gst-launch.c: (event_loop), (main):
17705 Added support for live sources and other elements that
17707 Updated design docs, added live-source design doc.
17708 Implemented live source functionality in basesrc
17709 Fix error condition in _bin_get_state()
17710 Implement live source handling in -launch.
17711 Added check for live sources.
17712 Fixed case in GstBin where elements were changed state
17716 2005-06-23 Andy Wingo <wingo@pobox.com>
17718 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
17719 borken refcounting.
17721 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
17722 gst_caps_replace takes care of this for us.
17724 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
17725 gst_pad_set_caps on the target, not just its setcaps() function.
17727 * tests/network-clock.scm:
17728 * tests/network-clock-utils.scm: A network clock simulator.
17729 Something of an algorithmic testbed before doing something in C.
17731 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
17733 * check/Makefile.am:
17734 * check/gst/capslist.h:
17735 copy over from 0.8, and add two with bitmasks specified with
17737 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17738 add test to parse everything from capslist.h
17739 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
17741 add test for structure deserialization
17742 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17743 add tests for deserialization of strings to int types
17744 * gst/gststructure.c: (gst_structure_nth_field_name):
17745 * gst/gststructure.h:
17746 add a way to get the name of a field referenced by index
17747 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17748 instead of checking if the resulting long long lies between
17749 min and max, we check if the long long would fit into
17750 a number of bytes for the final type.
17751 This fixes cases where a string represents 2^32 - 1, which
17752 when cast to int would be the (valid) -1, but is bigger than
17755 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
17757 * gst/parse/grammar.y:
17758 add a log line for type deserialization
17760 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
17762 * check/gst/gstvalue.c: (START_TEST):
17763 * gst/gstvalue.c: (gst_value_deserialize):
17764 return long long, not int, so gint64 deserialization actually
17765 works. Is there any flag that makes the compiler check this ?
17768 2005-06-22 Wim Taymans <wim@fluendo.com>
17771 Added convenience macros for setting buffers in GValue.
17773 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
17775 * check/gst/.cvsignore:
17776 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17777 add a test deserializing int64, and comment part out because
17780 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
17782 * check/Makefile.am:
17783 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
17784 * testsuite/Makefile.am:
17785 * testsuite/caps/Makefile.am:
17786 * testsuite/caps/value_serialize.c:
17787 * testsuite/test_gst_init.c:
17788 move a value_serialize test over
17790 2005-06-20 Wim Taymans <wim@fluendo.com>
17795 * gst/gstvalue.c: (gst_value_compare_buffer),
17796 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
17797 (gst_value_compare_flags), (gst_value_serialize_flags),
17798 (gst_value_deserialize_flags), (_gst_value_initialize):
17799 Fix serialisation of buffers, they are not boxed types anymore
17801 2005-06-20 Wim Taymans <wim@fluendo.com>
17803 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17804 Testcase to show error in buffer-on-caps serialisation.
17806 2005-06-20 Andy Wingo <wingo@pobox.com>
17808 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
17809 will be adding to later.
17811 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
17812 if its socks fill with rocks.
17813 (gst_system_clock_obtain): Set the name on object construction.
17814 Avoid double-checked locking.
17816 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
17818 * gst/gsturi.c: (gst_element_make_from_uri):
17819 Fix potential endless loop.
17821 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
17823 * check/Makefile.am:
17825 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
17827 move over from testsuite dir and clean up
17830 * testsuite/Makefile.am:
17831 * testsuite/tags/.cvsignore:
17832 * testsuite/tags/Makefile.am:
17833 * testsuite/tags/merge.c:
17834 remove testsuite/tags
17836 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
17838 * docs/gst/gstreamer-sections.txt:
17839 * docs/gst/tmpl/gstenumtypes.sgml:
17840 * win32/gstenumtypes.c:
17841 clean up documentation build a little
17843 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
17845 * check/gstcheck.h:
17846 add macros for checking refcounts on objects and caps
17847 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
17848 add some more unit tests
17849 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17850 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
17851 fix leaked refcounts (I hope :)) so unittest works
17855 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
17857 * configure.ac: back to HEAD
17859 === release 0.9.1 ===
17861 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
17867 2005-06-17 Andy Wingo <wingo@pobox.com>
17869 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
17870 assert; it's always possible that the pad gets deactivated in
17871 between the checks in gstpad.c and the implementation. Rely on
17872 finish_preroll() to return a FLUSHING or similar instead of on the
17875 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
17876 clock and post an EOS message if we come out of finish_preroll in
17879 2005-06-16 David Schleef <ds@schleef.org>
17881 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17882 (gst_capsfilter_set_property): Allow NULL as possible value
17883 for filter_caps property, indicating GST_CAPS_ANY.
17885 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
17887 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
17889 * gst/schedulers/Makefile.am:
17891 * gstreamer.spec.in:
17894 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
17896 * gstreamer.spec.in:
17899 2005-06-08 Andy Wingo <wingo@pobox.com>
17901 * gst/gstutils.c: RPAD fixes all around.
17902 (gst_element_link_pads): Refcounting fixes.
17904 * tools/gst-inspect.c:
17905 * tools/gst-xmlinspect.c:
17907 * gst/base/gsttypefindhelper.c:
17908 * gst/base/gstbasesink.c:
17909 * gst/gstqueue.c: RPAD fixes.
17911 * gst/gstghostpad.h:
17912 * gst/gstghostpad.c: New ghost pad implementation as full proxy
17913 pads. The tricky thing is they provide both source and sink
17914 interfaces, since they proxy the internal pad for the external
17915 pad, and vice versa. Implement with lower-level ProxyPad objects,
17916 with the interior proxy pad as a child of the exterior ghost pad.
17917 Should write a doc on this.
17919 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
17920 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
17923 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
17924 pads are real pads. No ghost pads in this file. Not documenting
17925 the myriad s/RPAD/PAD/ and REALIZE fixes.
17926 (gst_pad_class_init): Add properties for "direction" and
17927 "template". Both are construct-only, so they can't change during
17928 the life of the pad. Fixes properly deriving from GstPad.
17929 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
17930 derived objects, just set properties when creating the objects via
17932 (gst_pad_get_parent): Implement as a function, return NULL if the
17933 parent is not an element.
17934 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
17935 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
17937 * gst/gstobject.c (gst_object_class_init): Make name a construct
17938 property. Don't set it in the object init.
17940 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
17941 with UNKNOWN direction.
17942 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
17943 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
17944 (gst_element_remove_pad): Remove ghost-pad special cases.
17945 (gst_element_pads_activate): Remove rpad cruft.
17947 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
17948 catch the pad's-parent-not-an-element case.
17950 * gst/gst.h: Include gstghostpad.h.
17952 * gst/gst.c (init_post): No more real, ghost pads.
17954 * gst/Makefile.am: Add gstghostpad.[ch].
17956 * check/Makefile.am:
17957 * check/gst/gstbin.c:
17958 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
17959 into a bin creates ghost pads, and that the refcounts are right.
17960 Partly moved from gstbin.c.
17962 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
17964 * check/gst-libs/.cvsignore:
17965 * check/gst/.cvsignore:
17966 * check/pipelines/.cvsignore:
17968 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
17969 (START_TEST), (cleanup_suite), (main):
17970 add some tests related to cleanup after running pipelines
17972 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
17974 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
17975 add a testsuite for GstBuffer
17977 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
17979 * gst/gstminiobject.h:
17980 add defines for accessing the refcount
17982 2005-06-03 Stefan Kost <ensonic@users.sf.net>
17984 * Makefile.am: added support for html unit test coverage reports
17986 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
17988 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17989 Free existing caps if the capsfilter changes. Add a FIXME about
17990 setting those caps on the pads.
17992 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
17993 Before adding a ghost pad to a parent bin, check that there isn't
17994 already one for the element on the bin. Prevents infinite recursion
17995 when using decodebin in parse pipelines. Andy says he'll rewrite the
17996 way this works anyway, so ignore the hack.
17998 2005-06-02 Andy Wingo <wingo@pobox.com>
18000 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
18001 file size, pass it on to the type find helper.
18003 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
18004 segment_start and segment_end properly according to the seek
18005 method. Segment_end is still a bit flaky because offset can be
18006 negative for CUR and END cases, but it takes -1 as an "unset"
18009 2005-06-02 Wim Taymans <wim@fluendo.com>
18011 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
18012 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
18013 (gst_basesink_activate):
18014 * gst/base/gstbasesink.h:
18015 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18016 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
18017 (gst_pad_query), (gst_pad_start_task):
18019 * gst/gstqueue.c: (gst_queue_bufferalloc),
18020 (gst_queue_handle_sink_event), (gst_queue_chain):
18021 Bufferalloc: return GstFlowReturn to more accuratly report
18022 why allocation failed.
18024 2005-06-02 Wim Taymans <wim@fluendo.com>
18026 * gst/gstpipeline.c: (gst_pipeline_send_event):
18027 Take snapshot of state without blocking.
18029 2005-06-02 Wim Taymans <wim@fluendo.com>
18031 * docs/design/part-TODO.txt:
18032 * docs/design/part-caps.txt:
18033 * docs/design/part-clocks.txt:
18034 * docs/design/part-negotiation.txt:
18035 * docs/design/part-preroll.txt:
18038 2005-05-30 Wim Taymans <wim@fluendo.com>
18040 * gst/elements/gstidentity.c: (gst_identity_event),
18041 (gst_identity_transform), (gst_identity_get_property):
18042 Protect last_message property as it is accessed from
18045 2005-05-30 Wim Taymans <wim@fluendo.com>
18047 * gst/gstelement.c: (gst_element_init),
18048 (gst_element_pads_activate), (gst_element_change_state):
18049 Slicker pad activation code.
18051 2005-05-30 Wim Taymans <wim@fluendo.com>
18054 * gst/gstelement.h:
18055 * gst/gstelementfactory.h:
18057 Move elementfactory methods to separate .h file.
18059 2005-05-30 Wim Taymans <wim@fluendo.com>
18061 * docs/design/part-overview.txt:
18062 * gst/gstsystemclock.h:
18063 Small typo fixes, doc updates.
18065 2005-05-30 Wim Taymans <wim@fluendo.com>
18067 * gst/gst.c: (gst_init_get_popt_table), (init_post),
18068 (init_popt_callback):
18069 Remove cpu-opt flag.
18071 2005-05-30 Wim Taymans <wim@fluendo.com>
18073 * gst/gstbuffer.c: (gst_subbuffer_finalize),
18074 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
18076 Avoid typechecking in places where not needed.
18077 Added accessor for malloc_data.
18079 2005-05-30 Wim Taymans <wim@fluendo.com>
18081 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
18082 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
18083 (gst_pad_configure_sink), (gst_pad_configure_src),
18084 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
18085 (gst_pad_start_task):
18086 Propagate errors from _set_caps() in configure_src/sink
18087 functions instead of returning TRUE.
18088 FLUSH events can travel up and downstream
18091 2005-05-30 Wim Taymans <wim@fluendo.com>
18093 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
18094 (gst_basesink_activate):
18095 Handle EOS in preroll.
18097 2005-05-30 Wim Taymans <wim@fluendo.com>
18099 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18100 (gst_queue_loop), (gst_queue_handle_src_event):
18101 Remove old pieces of code
18102 Flushing the queue in an upstream event is a very bad idea.
18104 2005-05-26 Andy Wingo <wingo@pobox.com>
18106 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
18107 gst_value_set_mini_object so as to add a ref on the object (which
18108 will be removed when the value is unset).
18110 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
18111 arg type in ::handoff.
18113 * gst/gstelement.c (gst_element_change_state): Also deactivate
18114 pads in READY->NULL, just in case the element didn't make it to
18115 PAUSED. Wingo tested, Wim approved.
18117 2005-05-26 Wim Taymans <wim@fluendo.com>
18119 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18120 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
18121 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
18122 A flushing pad cannot be used to alloc_buffer from.
18124 2005-05-26 Wim Taymans <wim@fluendo.com>
18126 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
18127 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
18128 (gst_bus_source_dispatch), (gst_bus_source_finalize),
18129 (gst_bus_create_watch), (gst_bus_add_watch_full):
18131 Implement a real GSource and use g_main_context_wakeup() to
18132 signal new messages instead of the socketpair.
18134 2005-05-25 Wim Taymans <wim@fluendo.com>
18136 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
18137 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
18138 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18139 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18140 (gst_pad_send_event), (gst_pad_start_task):
18141 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
18142 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18143 (gst_queue_sink_activate), (gst_queue_src_activate),
18144 (gst_queue_change_state):
18146 Fix state changes for non sinks. We now change sinks, then elements
18147 with unconnected srcpads, then the rest.
18148 More efficient queue unlocking in flush and state changes.
18149 Set the pad activate mode even if it does not have an activate
18152 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18154 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
18155 Don't go in pull mode for non-seekable sources.
18156 * gst/elements/gsttypefindelement.h:
18157 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18158 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
18159 (free_entry), (stop_typefinding),
18160 (gst_type_find_element_handle_event), (find_peek),
18161 (gst_type_find_element_chain), (do_pull_typefind),
18162 (gst_type_find_element_change_state):
18163 Allow typefinding (w/o seeking) in push-mode, simplified version
18164 of what was in 0.8.
18165 * gst/gstutils.c: (gst_buffer_join):
18167 gst_buffer_join() from 0.8.
18169 2005-05-25 Wim Taymans <wim@fluendo.com>
18171 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18172 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18173 (gst_pad_send_event), (gst_pad_start_task):
18174 Disable attempt at mode switching until it is figured out.
18176 2005-05-25 Wim Taymans <wim@fluendo.com>
18178 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
18179 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
18180 (gst_basesink_finish_preroll), (gst_basesink_chain),
18181 (gst_basesink_loop), (gst_basesink_activate),
18182 (gst_basesink_change_state):
18183 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
18184 (gst_basesrc_get_range), (gst_basesrc_loop),
18185 (gst_basesrc_activate):
18186 * gst/elements/gsttee.c: (gst_tee_sink_activate):
18187 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18188 (gst_real_pad_init), (gst_real_pad_set_property),
18189 (gst_real_pad_get_property), (gst_pad_set_active),
18190 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
18191 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
18192 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
18193 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
18194 (gst_pad_event_default_dispatch), (gst_pad_event_default),
18195 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
18196 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
18197 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
18198 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
18199 (gst_pad_stop_task):
18201 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18202 (gst_queue_loop), (gst_queue_src_activate):
18203 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
18204 (gst_task_get_state):
18206 * gst/schedulers/threadscheduler.c:
18207 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
18208 Implement gst_pad_pause/start/stop_task(), take STREAM lock
18210 Remove ACTIVE pad flag, use FLUSHING everywhere
18211 Added _pad_chain(), _pad_get_range() to call chain/getrange
18213 Add locks around IS_FLUSHING when reading.
18214 Take STREAM lock in chain(), get_range() functions so plugins
18215 don't need to take it anymore.
18219 2005-05-25 Wim Taymans <wim@fluendo.com>
18221 * tools/gst-launch.c: (event_loop):
18222 Unref message after using its contents instead of
18225 2005-05-24 Wim Taymans <wim@fluendo.com>
18227 * docs/design/draft-ghostpads.txt:
18228 * docs/design/draft-push-pull.txt:
18229 * docs/design/draft-query.txt:
18230 * docs/design/part-overview.txt:
18231 Docs updates, added general overview doc.
18233 2005-05-21 David Schleef <ds@schleef.org>
18235 * docs/gst/tmpl/old/GstBin.sgml:
18236 * docs/gst/tmpl/old/GstBuffer.sgml:
18237 * docs/gst/tmpl/old/GstCaps.sgml:
18238 * docs/gst/tmpl/old/GstClock.sgml:
18239 * docs/gst/tmpl/old/GstCompat.sgml:
18240 * docs/gst/tmpl/old/GstData.sgml:
18241 * docs/gst/tmpl/old/GstElement.sgml:
18242 * docs/gst/tmpl/old/GstEvent.sgml:
18243 * docs/gst/tmpl/old/GstIndex.sgml:
18244 * docs/gst/tmpl/old/GstStructure.sgml:
18245 * docs/gst/tmpl/old/GstTag.sgml:
18246 * docs/gst/tmpl/old/cothreads.sgml:
18247 * docs/gst/tmpl/old/cothreads_compat.sgml:
18248 * docs/gst/tmpl/old/gettext.sgml:
18249 * docs/gst/tmpl/old/gobject2gtk.sgml:
18250 * docs/gst/tmpl/old/grammar.tab.sgml:
18251 * docs/gst/tmpl/old/gst-i18n-app.sgml:
18252 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
18253 * docs/gst/tmpl/old/gst_private.sgml:
18254 * docs/gst/tmpl/old/gstaggregator.sgml:
18255 * docs/gst/tmpl/old/gstarch.sgml:
18256 * docs/gst/tmpl/old/gstatomic_impl.sgml:
18257 * docs/gst/tmpl/old/gstbufferstore.sgml:
18258 * docs/gst/tmpl/old/gstdata_private.sgml:
18259 * docs/gst/tmpl/old/gstdisksink.sgml:
18260 * docs/gst/tmpl/old/gstdisksrc.sgml:
18261 * docs/gst/tmpl/old/gstelementfactory.sgml:
18262 * docs/gst/tmpl/old/gstextratypes.sgml:
18263 * docs/gst/tmpl/old/gstfakesink.sgml:
18264 * docs/gst/tmpl/old/gstfakesrc.sgml:
18265 * docs/gst/tmpl/old/gstfdsink.sgml:
18266 * docs/gst/tmpl/old/gstfdsrc.sgml:
18267 * docs/gst/tmpl/old/gstfilesink.sgml:
18268 * docs/gst/tmpl/old/gstfilesrc.sgml:
18269 * docs/gst/tmpl/old/gsthttpsrc.sgml:
18270 * docs/gst/tmpl/old/gstidentity.sgml:
18271 * docs/gst/tmpl/old/gstindexfactory.sgml:
18272 * docs/gst/tmpl/old/gstmarshal.sgml:
18273 * docs/gst/tmpl/old/gstmd5sink.sgml:
18274 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
18275 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
18276 * docs/gst/tmpl/old/gstpadtemplate.sgml:
18277 * docs/gst/tmpl/old/gstpipefilter.sgml:
18278 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
18279 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
18280 * docs/gst/tmpl/old/gstshaper.sgml:
18281 * docs/gst/tmpl/old/gstspider.sgml:
18282 * docs/gst/tmpl/old/gstspideridentity.sgml:
18283 * docs/gst/tmpl/old/gststatistics.sgml:
18284 * docs/gst/tmpl/old/gsttee.sgml:
18285 * docs/gst/tmpl/old/gsttimecache.sgml:
18286 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
18287 * docs/gst/tmpl/old/gstxmlregistry.sgml:
18288 * docs/gst/tmpl/old/gthread-cothreads.sgml:
18289 * docs/gst/tmpl/old/types.sgml:
18290 I didn't intend to add these or check them in.
18292 2005-05-19 David Schleef <ds@schleef.org>
18294 * configure.ac: Use -no-common everywhere. In a sane world, it
18295 would be the default in libtool, because without it, you can't
18296 build DLLs on Windows.
18297 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
18298 * docs/gst/gstreamer-sections.txt:
18299 * docs/gst/tmpl/gstcpu.sgml:
18300 * docs/gst/tmpl/gstdata.sgml:
18301 * docs/gst/tmpl/gstthread.sgml:
18303 2005-05-19 David Schleef <ds@schleef.org>
18305 * gst/gstminiobject.c: (gst_value_set_mini_object),
18306 (gst_value_take_mini_object), (gst_value_get_mini_object):
18307 * gst/gstminiobject.h: Add GValue set/get functions.
18309 2005-05-19 Wim Taymans <wim@fluendo.com>
18311 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
18312 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
18313 (gst_subbuffer_init), (gst_buffer_is_span_fast):
18315 * gst/gstbus.c: (gst_bus_post):
18316 * gst/gstelement.c: (gst_element_get_random_pad):
18317 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
18318 Make subbufer unref the parent in finalize.
18319 some more debugging info.
18322 2005-05-19 Wim Taymans <wim@fluendo.com>
18324 * gst/base/gstbasesink.c: (gst_basesink_class_init),
18325 (gst_basesink_init), (gst_basesink_finalize),
18326 (gst_basesink_activate), (gst_basesink_change_state):
18327 Don't free preroll queue too early.
18329 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18333 Hi, I'm outdated. Please shoot me.
18335 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18337 * gst/gstpipeline.c: (gst_pipeline_send_event):
18338 Do not access variables after they have been deleted.
18340 2005-05-19 Wim Taymans <wim@fluendo.com>
18342 * tools/gst-inspect.c: (print_plugin_features):
18343 A plugin feature does unfortunatly not use the
18346 2005-05-18 Wim Taymans <wim@fluendo.com>
18348 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
18349 Port _span() functions to new subbuffers.
18351 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18353 * gst/gstbin.c: (gst_bin_add_func):
18354 Fix clock settery in bins when adding kids after the clock has
18357 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18359 * gst/elements/gstidentity.c: (gst_identity_class_init):
18360 Workaround until signals support GstMiniObject.
18362 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
18365 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
18367 2005-05-18 Wim Taymans <wim@fluendo.com>
18369 * gst/base/Makefile.am:
18370 * gst/base/gstadapter.c: (gst_adapter_base_init),
18371 (gst_adapter_class_init), (gst_adapter_init),
18372 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
18373 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
18374 (gst_adapter_flush), (gst_adapter_available),
18375 (gst_adapter_available_fast):
18376 * gst/base/gstadapter.h:
18377 Ported and added adapter to the base classes.
18379 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18382 * gst/gstmessage.c:
18383 Make sure the class is reffed/unreffed once before threads can be
18384 used. Fixes #304551.
18386 2005-05-17 Wim Taymans <wim@fluendo.com>
18388 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
18389 (gst_basesink_chain_unlocked), (gst_basesink_activate):
18390 * gst/gstminiobject.c: (gst_mini_object_get_type),
18391 (gst_mini_object_free):
18392 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
18393 (gst_pad_push), (gst_pad_push_event):
18394 * gst/gstqueue.c: (gst_queue_change_state):
18395 Don't queue buffers in basesink when we are flushing.
18396 Unref buffer when flushing in basesink.
18397 Flush queue when going to READY
18398 Unref buffer when _push() returns an error.
18399 Don't free MiniObject instance when refcount is incremented
18400 in _finalize() so that we can recover objects.
18402 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
18404 * docs/manual/advanced-schedulers.xml:
18405 * docs/manual/appendix-checklist.xml:
18406 * docs/pwg/advanced-clock.xml:
18407 * docs/pwg/advanced-interfaces.xml:
18408 * docs/pwg/advanced-request.xml:
18409 * docs/pwg/advanced-types.xml:
18410 * docs/pwg/intro-preface.xml:
18411 * examples/plugins/example.c: (gst_example_get_type),
18412 (gst_example_class_init), (gst_example_chain),
18413 (gst_example_set_property), (gst_example_get_property),
18414 (gst_example_change_state), (plugin_init):
18415 * examples/plugins/example.h:
18418 2005-05-17 Wim Taymans <wim@fluendo.com>
18420 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
18421 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
18422 * gst/gstqueue.c: (gst_queue_change_state):
18423 Clear queue when going to READY.
18424 Remove IN_SETCAPS flag too.
18426 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
18428 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
18429 Remove implicit cast from gboolean to GstElementStateReturn;
18430 make sure we still return failure in paused => ready case if
18431 the parent class fails to change state and our own stop
18434 2005-05-17 Wim Taymans <wim@fluendo.com>
18436 * tools/gst-launch.c: (event_loop):
18437 Message was unreffed too soon.
18439 2005-05-16 Andy Wingo <wingo@pobox.com>
18441 * gst/gstbin.c (sink_iterator_filter): Err... um...
18443 * check/gst/gstbin.c (test_ghost_pads): New test for the
18444 ghosting-if-elements-not-in-same-bin behavior.
18446 2005-05-16 David Schleef <ds@schleef.org>
18448 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
18449 accessing refcount directly.
18451 2005-05-15 David Schleef <ds@schleef.org>
18453 * check/Makefile.am: remove GstData checks
18454 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
18455 * gst/Makefile.am: add miniobject, remove data
18456 * gst/gst.h: add miniobject, remove data
18457 * gst/gstdata.c: remove
18458 * gst/gstdata.h: remove
18459 * gst/gstdata_private.h: remove
18460 * gst/gsttypes.h: remove GstEvent and GstMessage
18461 * gst/gstelement.c: (gst_element_post_message): fix for API changes
18462 * gst/gstmarshal.list: change BOXED -> OBJECT
18464 Implement GstMiniObject.
18465 * gst/gstminiobject.c:
18466 * gst/gstminiobject.h:
18468 Modify to be subclasses of GstMiniObject.
18469 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
18470 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
18471 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
18472 (gst_subbuffer_get_type), (gst_subbuffer_init),
18473 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
18476 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
18477 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
18478 (_gst_event_copy), (gst_event_new):
18480 * gst/gstmessage.c: (_gst_message_initialize),
18481 (gst_message_get_type), (gst_message_class_init),
18482 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
18483 (gst_message_new), (gst_message_new_error),
18484 (gst_message_new_warning), (gst_message_new_tag),
18485 (gst_message_new_state_changed), (gst_message_new_application):
18486 * gst/gstmessage.h:
18487 * gst/gstprobe.c: (gst_probe_perform),
18488 (gst_probe_dispatcher_dispatch):
18490 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
18491 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
18492 (_gst_query_copy), (gst_query_new):
18494 Update elements for GstData -> GstMiniObject changes
18496 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
18497 (gst_queue_chain), (gst_queue_loop):
18498 * gst/elements/gstbufferstore.c:
18499 (gst_buffer_store_add_buffer_func),
18500 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
18501 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18502 (gst_fakesink_render):
18503 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18504 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
18505 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
18506 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
18507 (gst_filesrc_create_read):
18508 * gst/elements/gstidentity.c: (gst_identity_class_init):
18509 * gst/elements/gsttypefindelement.c:
18510 (gst_type_find_element_src_event), (free_entry_buffers),
18511 (gst_type_find_element_handle_event):
18512 * libs/gst/dataprotocol/dataprotocol.c:
18513 (gst_dp_header_from_buffer):
18514 * libs/gst/dataprotocol/dataprotocol.h:
18515 * libs/gst/dataprotocol/dp-private.h:
18517 2005-05-15 David Schleef <ds@schleef.org>
18519 * gst/elements/gstelements.c: Don't include headers that were
18522 2005-05-15 David Schleef <ds@schleef.org>
18524 * gst/elements/Makefile.am: Remove some elements that don't
18525 need to be in the core (or even exist at all).
18526 * gst/elements/gstaggregator.c:
18527 * gst/elements/gstaggregator.h:
18528 * gst/elements/gstmd5sink.c:
18529 * gst/elements/gstmd5sink.h:
18530 * gst/elements/gstmultifilesrc.c:
18531 * gst/elements/gstmultifilesrc.h:
18532 * gst/elements/gstpipefilter.c:
18533 * gst/elements/gstpipefilter.h:
18534 * gst/elements/gstshaper.c:
18535 * gst/elements/gstshaper.h:
18536 * gst/elements/gststatistics.c:
18537 * gst/elements/gststatistics.h:
18538 * po/POTFILES.in: Remove above files.
18540 2005-05-14 Andy Wingo <wingo@pobox.com>
18542 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
18543 so as to get the refs right.
18544 (sink_iterator_filter): New function, wraps bin_element_is_sink,
18545 unreffing objects that don't pass the filter.
18547 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
18548 gst_element_set_bus.
18549 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
18550 normal cases, this will destroy the bus.
18552 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
18555 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
18558 2005-05-13 Andy Wingo <wingo@pobox.com>
18560 * gst/gstutils.c (gst_element_link_pads): Instead of calling
18561 gst_pad_link, call pad_link_maybe_ghosting,
18562 (pad_link_maybe_ghosting): Links pads, making sure that the
18563 elements being linked are in the same bin.
18564 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
18565 Helpers for pad_link_maybe_ghosting.
18567 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
18570 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
18572 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
18574 * docs/design/part-element-source.txt:
18577 2005-05-12 Wim Taymans <wim@fluendo.com>
18579 * gst/base/gstbasesink.c: (gst_basesink_init),
18580 (gst_basesink_activate):
18581 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
18582 (gst_basesrc_is_seekable):
18583 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18584 (bin_element_is_sink), (gst_bin_change_state):
18585 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18586 * gst/gstelement.h:
18587 Identify sinks by their flag to avoid overly complicated
18589 Do state changes even for elements not reachable from the
18591 BaseSink is a sink now :)
18592 Some more debugging info in the basesrc.
18595 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18597 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
18598 Implement _query on a bin, similar to _send_event.
18600 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
18602 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
18603 Discont event offset format should be GST_FORMAT_BYTES,
18604 not GST_FORMAT_TIME.
18606 2005-05-12 Wim Taymans <wim@fluendo.com>
18608 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
18609 Same fix as Ronald's but without the signal.
18611 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18613 * gst/gstutils.c: (gst_element_query_position):
18614 No, an element is not a pad.
18616 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18618 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
18619 (gst_bin_get_state):
18620 If a child is removed from a bin while we remove the child from
18621 the bin and while we're retrieving its state, signal this to the
18622 get_state function so we abort the wait (instead of waiting for
18623 a timeout) and can immediately re-iterate over all other elements.
18625 2005-05-12 Wim Taymans <wim@fluendo.com>
18627 * gst/base/Makefile.am:
18628 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
18629 (gst_basesrc_start):
18630 * gst/base/gstbasesrc.h:
18631 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
18632 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
18633 (gst_pushsrc_init), (gst_pushsrc_create):
18634 * gst/base/gstpushsrc.h:
18635 Added is_seekable to BaseSrc
18636 Added simple PushSrc.
18638 2005-05-11 Wim Taymans <wim@fluendo.com>
18640 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18641 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18642 (gst_element_link_pads), (gst_element_query_position),
18643 (gst_element_query_convert), (intersect_caps_func),
18644 (gst_pad_query_position), (gst_pad_query_convert):
18645 Fix refcounting in utils function.
18646 No point in trying to activate a pad when it's added, it could
18647 be added from the state change function and then we deadlock, the
18648 element has to decide what to do.
18650 2005-05-10 Andy Wingo <wingo@pobox.com>
18652 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
18653 *all* the arguments.
18655 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
18656 stream lock if it's a FLUSH_DONE; normal flushes don't get the
18657 lock (according to the docs -- if this is wrong change the docs).
18659 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
18660 flush messages in the NULL state.
18662 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
18663 message immediately and return.
18664 (gst_bus_set_flushing): New function. If a bus is flushing, it
18665 flushes out any queued messages and immediately unrefs new
18666 messages. This is so when an element goes to NULL, all of the
18667 unhandled messages coming from it can be freed, and their
18668 references to the element dropped. In other words: message source
18669 ref considered harmful :P
18671 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
18672 we're finished with it.
18674 * gst/gstmessage.c (gst_message_new_state_changed):
18676 2005-05-10 Wim Taymans <wim@fluendo.com>
18678 * gst/gstvalue.c: (gst_value_compare_flags),
18679 (gst_value_serialize_flags), (gst_value_deserialize_flags),
18680 (_gst_value_initialize):
18681 Added flags serialize/deserialize/compare code.
18683 2005-05-09 Andy Wingo <wingo@pobox.com>
18685 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
18686 Intersect the peer's caps with our caps.
18688 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18690 * gst/base/gsttypefindhelper.c: (helper_find_peek):
18691 * gst/elements/gsttypefindelement.c: (find_peek):
18692 Handle negative offsets better. Fixes decodebin.
18694 2005-05-09 Wim Taymans <wim@fluendo.com>
18696 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
18697 (gst_base_transform_event):
18698 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
18699 Implement accept_caps.
18700 Fix silly lock/unlock mismatch in base class.
18702 2005-05-09 Wim Taymans <wim@fluendo.com>
18704 * docs/design/draft-push-pull.txt:
18705 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
18706 * gst/elements/gstfilesink.c: (gst_filesink_init),
18707 (gst_filesink_query):
18708 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18709 (gst_type_find_handle_src_query), (find_element_get_length):
18710 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
18711 * gst/gstelement.h:
18712 * gst/gstmessage.c:
18713 * gst/gstmessage.h:
18714 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
18715 (gst_real_pad_get_caps_unlocked),
18716 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
18717 (gst_pad_event_default_dispatch), (gst_pad_event_default),
18718 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
18719 (gst_real_pad_dispose), (gst_real_pad_finalize),
18720 (gst_pad_load_and_link), (gst_pad_save_thyself),
18721 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
18722 (gst_pad_check_pull_range), (gst_pad_pull_range),
18723 (gst_pad_template_get_type), (gst_pad_template_class_init),
18724 (gst_pad_template_init), (gst_pad_template_dispose),
18725 (name_is_valid), (gst_static_pad_template_get),
18726 (gst_pad_template_new), (gst_static_pad_template_get_caps),
18727 (gst_pad_template_get_caps), (gst_pad_set_element_private),
18728 (gst_pad_get_element_private), (gst_pad_start_task),
18729 (gst_pad_pause_task), (gst_pad_stop_task),
18730 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
18731 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
18732 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
18733 (gst_ghost_pad_new):
18735 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
18736 (gst_query_new_position), (gst_query_set_position),
18737 (gst_query_parse_position), (gst_query_new_convert),
18738 (gst_query_set_convert), (gst_query_parse_convert):
18740 * gst/gstqueryutils.c:
18741 * gst/gstqueryutils.h:
18742 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18743 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18744 (gst_queue_handle_src_query):
18745 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18746 (gst_element_query_position), (gst_element_query_convert),
18747 (intersect_caps_func), (gst_pad_query_position),
18748 (gst_pad_query_convert):
18750 * tools/gst-inspect.c: (print_pad_info):
18751 * tools/gst-xmlinspect.c: (print_element_info):
18752 Remove old query functions. Ported old code.
18753 Added position/convert helper functions to gstutils.
18754 Reordered gstpad.c code, grouping relevant things.
18755 Remove gst_message_new(), always need to speficy a specific
18759 2005-05-09 Andy Wingo <wingo@pobox.com>
18761 * gst/gstiterator.h: Add some includes.
18763 * gst/gstqueryutils.h: Include more headers.
18766 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
18767 some uses of gst_pad_query.
18769 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
18770 NULL out parameters.
18771 (gst_query_new_position): New proc, allocates a new position
18774 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
18775 gstqueryutils.c to the build.
18777 * gst/gststructure.c (gst_structure_set_valist): Implement with
18778 the generic G_VALUE_COLLECT.
18780 2005-05-08 Edward Hervey <bilboed@bilboed.com>
18782 * gst/Makefile.am: (gst_headers):
18783 Added gstqueryutils.h to the list of headers to install, that was
18784 a 'nachty' move wingo :)
18786 2005-05-06 Andy Wingo <wingo@pobox.com>
18789 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
18790 GstData, init a memchunk.
18791 (standard_definitions): Add a few query types, deprecate a few.
18792 (gst_query_get_type): New proc.
18793 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
18795 (gst_query_new_application, gst_query_get_structure): New public
18798 * docs/design/draft-query.txt: Removed LINKS from the query types,
18799 because all the rest can be dispatched to other pads -- seemed
18800 ugly to have a query that couldn't be dispatched. internal_links
18801 is fine as a pad method.
18803 * gst/gstpad.h: Add query2 as a pad method, add the new functions
18804 in gstpad.c, but maintain binary compatibility for the moment.
18805 Will fix before 0.9 is out.
18807 * gst/gstqueryutils.c:
18808 * gst/gstqueryutils.h: New files, implement 3 methods for each
18809 query type: parse_query, parse_response, and set. Probably need an
18812 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
18814 * gst/elements/gstfilesink.c (gst_filesink_query2):
18815 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
18816 query_types, and formats methods.
18818 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
18819 (gst_pad_set_query2_function): New functions.
18820 (gst_real_pad_init): Set query2_default as the default query2
18821 function. Basically just dispatches to internally linked pads.
18825 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
18826 without using the atomic operations. Only one thread can possibly
18827 be accessing the data at this point. Changed so as to avoid
18828 gst_atomic operations.
18830 2005-05-06 Wim Taymans <wim@fluendo.com>
18832 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
18833 Also set caps if we use the fallback buffer alloc.
18835 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
18837 * docs/gst/Makefile.am:
18838 * docs/gst/gstreamer-docs.sgml:
18839 * docs/gst/gstreamer-sections.txt:
18840 * docs/gst/tmpl/gstatomic.sgml:
18841 * docs/gst/tmpl/gstmemchunk.sgml:
18842 * testsuite/elements/struct_i386.h:
18843 * win32/GStreamer.vcproj:
18845 Purge GstAtomic stuff from docs and win32 makefiles as well
18847 2005-05-06 Wim Taymans <wim@fluendo.com>
18849 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
18850 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
18851 * gst/gstpad.c: (gst_pad_peer_get_caps):
18852 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18853 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18854 (gst_queue_src_activate), (gst_queue_change_state):
18856 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18857 (intersect_caps_func):
18858 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
18859 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
18860 Some fixes for the peer_get_caps() change.
18862 2005-05-06 Wim Taymans <wim@fluendo.com>
18864 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
18865 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
18866 (gst_basesink_activate):
18867 Actually do something with error codes returned from the push
18870 2005-05-06 Wim Taymans <wim@fluendo.com>
18872 * docs/design/part-element-sink.txt:
18873 * docs/design/part-element-source.txt:
18874 * gst/base/gstbasesink.c: (gst_basesink_class_init),
18875 (gst_basesink_event), (gst_basesink_activate):
18876 * gst/base/gstbasesink.h:
18877 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
18878 (gst_basesrc_activate):
18879 * gst/base/gstbasesrc.h:
18880 * gst/gstelement.c: (gst_element_pads_activate):
18881 Some more documentation.
18882 Fixed scheduling decision in _pads_activate().
18884 2005-05-05 Andy Wingo <wingo@pobox.com>
18886 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
18889 2005-05-05 Wim Taymans <wim@fluendo.com>
18891 * gst/base/Makefile.am:
18892 * gst/base/gstbasesink.h:
18893 * gst/base/gstbasesrc.c: (gst_basesrc_init),
18894 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
18895 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
18896 (gst_collectpads_class_init), (gst_collectpads_init),
18897 (gst_collectpads_finalize), (gst_collectpads_new),
18898 (gst_collectpads_set_function), (gst_collectpads_add_pad),
18899 (find_pad), (gst_collectpads_remove_pad),
18900 (gst_collectpads_is_active), (gst_collectpads_collect),
18901 (gst_collectpads_collect_range), (gst_collectpads_start),
18902 (gst_collectpads_stop), (gst_collectpads_peek),
18903 (gst_collectpads_pop), (gst_collectpads_available),
18904 (gst_collectpads_read), (gst_collectpads_flush),
18905 (gst_collectpads_chain):
18906 * gst/base/gstcollectpads.h:
18907 * gst/elements/Makefile.am:
18908 * gst/elements/gstelements.c:
18909 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18910 (gst_fakesink_get_times), (gst_fakesink_event),
18911 (gst_fakesink_preroll), (gst_fakesink_render):
18912 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18913 (gst_filesink_init), (gst_filesink_set_location),
18914 (gst_filesink_open_file), (gst_filesink_close_file),
18915 (gst_filesink_pad_query), (gst_filesink_event),
18916 (gst_filesink_render), (gst_filesink_change_state):
18917 * gst/elements/gstfilesink.h:
18918 Added object to help in making collect pad based elements.
18920 Make event function in sink baseclass return gboolean.
18922 2005-05-05 Wim Taymans <wim@fluendo.com>
18924 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
18925 (gst_bin_get_by_name):
18927 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
18928 (gst_clock_finalize):
18929 * gst/gstdata.c: (gst_data_replace):
18931 * gst/gstelement.c: (gst_element_request_pad),
18932 (gst_element_pads_activate):
18933 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
18934 (gst_object_unref):
18935 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18936 (gst_pad_set_checkgetrange_function),
18937 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
18938 (gst_pad_check_pull_range), (gst_pad_pull_range),
18939 (gst_static_pad_template_get_caps), (gst_pad_start_task),
18940 (gst_pad_pause_task), (gst_pad_stop_task):
18941 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18942 (gst_element_request_pad), (gst_pad_proxy_getcaps):
18943 Fix name lookup in GstBin.
18944 Added _data_replace() function and _buffer_replace()
18945 Use finalize method to clean up clock.
18946 Fix refcounting on request pads.
18947 Fix pad schedule mode error.
18948 Some more object refcounting debug info,
18951 2005-05-04 Andy Wingo <wingo@pobox.com>
18953 * check/Makefile.am:
18954 * docs/gst/tmpl/gstatomic.sgml:
18955 * docs/gst/tmpl/gstplugin.sgml:
18956 * gst/base/gstbasesink.c: (gst_basesink_activate):
18957 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
18958 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
18959 (gst_basesrc_query), (gst_basesrc_set_property),
18960 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
18961 (gst_basesrc_activate):
18962 * gst/base/gstbasesrc.h:
18963 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
18964 (gst_base_transform_src_activate):
18965 * gst/elements/gstelements.c:
18966 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18967 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
18968 * gst/elements/gsttee.c: (gst_tee_sink_activate):
18969 * gst/elements/gsttypefindelement.c: (find_element_get_length),
18970 (gst_type_find_element_checkgetrange),
18971 (gst_type_find_element_activate):
18972 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
18973 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
18974 (gst_caps_load_thyself):
18975 * gst/gstelement.c: (gst_element_pads_activate),
18976 (gst_element_save_thyself), (gst_element_restore_thyself):
18977 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
18978 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
18980 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
18981 (gst_xml_parse_file), (gst_xml_parse_memory),
18982 (gst_xml_get_element), (gst_xml_make_element):
18983 * gst/indexers/gstfileindex.c: (gst_file_index_load),
18984 (_file_index_id_save_xml), (gst_file_index_commit):
18985 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
18986 (read_enum), (load_pad_template), (load_feature), (load_plugin),
18988 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
18989 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
18990 * tools/gst-complete.c: (main):
18991 * tools/gst-compprep.c: (main):
18992 * tools/gst-inspect.c: (print_element_properties_info):
18993 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
18994 * tools/gst-xmlinspect.c: (print_element_properties):
18997 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
18999 * gst/gstplugin.c: (gst_plugin_check_module),
19000 (gst_plugin_check_file), (gst_plugin_load_file):
19001 apply patch from #172526 to make register work on MacOSX
19003 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
19005 * docs/gst/tmpl/gstconfig.sgml:
19006 * gst/gstconfig.h.in:
19007 move documentation for some symbols. Add doc for GST_PTR_FORMAT
19008 * testsuite/debug/printf_extension.c: (main):
19009 Do not use GST_PTR_FORMAT on pointers to types with
19010 sizeof < sizeof(gpointer). Fixes test on 64-bit
19011 * testsuite/elements/property.h:
19012 use correct printf format
19014 2005-05-02 Wim Taymans <wim@fluendo.com>
19016 * docs/design/draft-push-pull.txt:
19017 * docs/design/draft-query.txt:
19018 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
19019 (gst_basesrc_start):
19020 Added draft for new query API.
19021 Added draft for better selecting scheduling methods.
19022 Make basesrc ignore length if the subclass does not support
19025 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
19028 possible fixes for automake-1.5 - _LIBADD is reserved
19030 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
19032 * docs/faq/Makefile.am:
19033 * docs/manual/Makefile.am:
19034 * docs/manuals.mak:
19035 * docs/pwg/Makefile.am:
19037 possible fixes for automake-1.5
19039 2005-04-28 Wim Taymans <wim@fluendo.com>
19041 * gst/base/gstbasesink.c: (gst_basesink_base_init),
19042 (gst_basesink_pad_getcaps), (gst_basesink_init),
19043 (gst_basesink_do_sync):
19044 * gst/gstclock.c: (gst_clock_entry_new):
19045 * gst/gstevent.c: (gst_event_discont_get_value):
19046 * gst/gstpipeline.c: (pipeline_bus_handler),
19047 (gst_pipeline_change_state):
19048 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
19049 Better debugging of clocking info.
19050 Allow NULL values when getting discont values.
19052 2005-04-27 Wim Taymans <wim@fluendo.com>
19054 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19055 * check/gst/gstpad.c: (gst_pad_suite):
19056 Increase timeout for checks.
19058 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19060 * check/Makefile.am:
19061 fix the broken rule for cleanup. Apparently this rule is
19062 only needed on FC2, so maybe this warrants further autotool
19065 2005-04-26 Wim Taymans <wim@fluendo.com>
19067 * gst/gsttrashstack.h:
19068 Ooohh. a nasty one! After having a failed pop() from the stack,
19069 it's possible that the stack is empty. In that case, don't
19070 follow the NULL pointer.
19072 2005-04-25 Wim Taymans <wim@fluendo.com>
19074 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19075 (gst_pad_set_checkgetrange_function),
19076 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
19077 (gst_pad_check_pull_range), (gst_pad_pull_range),
19078 (gst_static_pad_template_get_caps), (gst_pad_start_task),
19079 (gst_pad_pause_task), (gst_pad_stop_task):
19080 * gst/gstplugin.c: (gst_plugin_load):
19082 Remove gst_library_load as it does more harm than good with
19083 the new g_module flags.
19084 Revert bogus caps template check in pad linking, pad caps
19085 are important when linking not the template, which is more
19086 general than the current caps.
19088 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19090 * gst/autoplug/.cvsignore:
19091 * gst/autoplug/Makefile.am:
19092 * gst/autoplug/gstsearchfuncs.c:
19093 * gst/autoplug/gstsearchfuncs.h:
19094 * gst/autoplug/gstspider.c:
19095 * gst/autoplug/gstspider.h:
19096 * gst/autoplug/gstspideridentity.c:
19097 * gst/autoplug/gstspideridentity.h:
19098 * gst/autoplug/spidertest.c:
19101 2005-04-25 Wim Taymans <wim@fluendo.com>
19103 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19104 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
19105 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
19106 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
19108 Added stubs for unimplemented functions.
19110 2005-04-24 David Schleef <ds@schleef.org>
19112 * gst/gstpad.h: Disable some unimplemented functions. Wim,
19115 2005-04-24 David Schleef <ds@schleef.org>
19117 Convert everything from GstAtomicInt to g_atomic_int_*, and
19122 * gst/gstatomic_impl.h:
19130 * gst/gstdata_private.h:
19134 * gst/gstmessage.c:
19137 * gst/gststructure.c:
19138 * gst/gststructure.h:
19139 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
19142 2005-04-24 David Schleef <ds@schleef.org>
19144 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
19145 make the regressions tests work. Remove some code that is no
19147 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
19148 Disable warning for pads without templates.
19150 2005-04-24 David Schleef <ds@schleef.org>
19152 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
19153 functions that handle filtered links.
19154 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
19156 * gst/gstutils.c: Fix/remove utility functions that handle
19159 * gst/gstvalue.c: Add serialization/deserialization of caps
19160 * gst/parse/grammar.y: Ignore filtered caps when linking. This
19161 requires fixing so that the filter caps notation creates
19162 a capsfilter element and sets the filter_caps property. I
19163 think everyone probably wants to keep the shorthand notation.
19164 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
19165 * docs/gst/tmpl/gstpad.sgml:
19167 * gst/elements/gstelements.c: Register capsfilter element.
19168 * gst/Makefile.am: fix spacing
19169 * docs/random/ds/0.9-suggested-changes: random
19171 2005-04-23 David Schleef <ds@schleef.org>
19173 * gst/elements/Makefile.am:
19174 * gst/elements/gstcapsfilter.c: New element that acts like an
19175 identity, but filters caps. Will eventually replace filtered
19176 caps in pad linking.
19177 * gst/gstutils.c: (gst_element_create_all_pads): New function
19178 to create all the ALWAYS pads that are registered with an
19179 element class. This functionality should eventually be
19180 merged in with GstElement initialization.
19182 * testsuite/trigger/README: part of trigger test code that should
19183 have been checked in a long time ago.
19185 2005-04-23 David Schleef <ds@schleef.org>
19187 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
19188 needed with new versions of libtool (nobody will confirm this),
19189 and hard to carry around.
19190 * gst/autoplug/Makefile.am:
19191 * gst/base/Makefile.am:
19192 * gst/elements/Makefile.am:
19193 * gst/indexers/Makefile.am:
19194 * gst/schedulers/Makefile.am:
19195 * libs/gst/bytestream/Makefile.am:
19196 * libs/gst/control/Makefile.am:
19197 * libs/gst/dataprotocol/Makefile.am:
19198 * libs/gst/getbits/Makefile.am:
19200 2005-04-21 Wim Taymans <wim@fluendo.com>
19202 * docs/design/draft-push-pull.txt:
19203 * docs/design/part-MT-refcounting.txt:
19204 * docs/design/part-TODO.txt:
19205 * docs/design/part-caps.txt:
19206 * docs/design/part-events.txt:
19207 * docs/design/part-gstbus.txt:
19208 * docs/design/part-gstpipeline.txt:
19209 * docs/design/part-messages.txt:
19210 * docs/design/part-push-pull.txt:
19211 * docs/design/part-query.txt:
19214 2005-04-21 Wim Taymans <wim@fluendo.com>
19216 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
19217 (gst_message_new), (gst_message_new_error),
19218 (gst_message_new_warning), (gst_message_new_tag),
19219 (gst_message_new_state_changed), (gst_message_new_application),
19220 (gst_message_get_structure):
19221 * gst/gstmessage.h:
19222 * gst/gststructure.c: (gst_structure_set_parent_refcount),
19223 (gst_structure_copy_conditional):
19224 Use parent refcount in GstMessage to ensure GstStructure
19226 Cleaned up headers a bit.
19229 2005-04-20 Wim Taymans <wim@fluendo.com>
19231 * gst/base/gstbasesink.c: (gst_basesink_base_init),
19232 (gst_basesink_pad_getcaps), (gst_basesink_init),
19233 (gst_basesink_chain_unlocked):
19234 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
19235 (gst_type_find_helper):
19236 * gst/elements/gsttypefindelement.c:
19237 (gst_type_find_element_have_type), (gst_type_find_element_init),
19238 (stop_typefinding), (gst_type_find_element_handle_event),
19239 (find_suggest), (gst_type_find_element_chain),
19240 (gst_type_find_element_checkgetrange),
19241 (gst_type_find_element_getrange), (do_typefind),
19242 (gst_type_find_element_activate):
19243 * gst/gstbuffer.c: (_gst_buffer_sub_free),
19244 (gst_buffer_default_free), (gst_buffer_default_copy),
19245 (gst_buffer_set_caps):
19246 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
19247 (gst_caps_replace):
19248 * gst/gstmessage.c: (gst_message_new),
19249 (gst_message_new_state_changed):
19250 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19251 (gst_pad_set_checkgetrange_function),
19252 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
19253 (gst_pad_set_caps), (gst_pad_check_pull_range),
19254 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
19256 * gst/gsttypefind.c: (gst_type_find_register):
19257 Make gst_caps_replace() work like other _replace() functions.
19258 Use _caps_replace() where possible.
19259 Make sure _message_new() initialises its field.
19260 Add gst_static_pad_template_get_caps()
19263 2005-04-18 Andy Wingo <wingo@pobox.com>
19265 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
19266 on the peer, not the pad. I think that was a typo. Pass an extra
19267 arg to see if random access is possible. Activate the pads as
19268 PULL_RANGE if possible.
19270 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
19272 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
19273 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
19276 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19278 * docs/faq/using.xml:
19279 Add note on gstreamer-properties (#154996).
19281 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19283 * docs/random/bbb/optional-properties:
19284 Some analysis on optional properties.
19286 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19288 * docs/gst/tmpl/gstelementfactory.sgml:
19289 * gst/gstelement.h:
19290 * gst/gstelementfactory.c: (gst_element_factory_init),
19291 (gst_element_factory_cleanup), (gst_element_register),
19292 (__gst_element_factory_add_static_pad_template),
19293 (gst_element_factory_get_static_pad_templates),
19294 (gst_element_factory_can_src_caps),
19295 (gst_element_factory_can_sink_caps):
19296 * gst/registries/Makefile.am:
19297 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
19298 (gst_xml_registry_class_init), (gst_xml_registry_init),
19299 (gst_xml_registry_new), (gst_xml_registry_set_property),
19300 (gst_xml_registry_get_property), (get_time), (make_dir),
19301 (gst_xml_registry_get_perms_func),
19302 (plugin_times_older_than_recurse), (plugin_times_older_than),
19303 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
19304 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
19305 (add_to_char_array), (read_string), (read_uint), (read_enum),
19306 (load_pad_template), (load_feature), (load_plugin), (load_paths),
19307 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
19308 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
19309 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
19310 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
19311 (gst_xml_registry_rebuild):
19312 * gst/registries/gstlibxmlregistry.h:
19313 * tools/gst-compprep.c: (main):
19314 * tools/gst-inspect.c: (print_pad_templates_info):
19315 * tools/gst-xmlinspect.c: (print_element_info):
19316 Use libxml2 for registry parsing, use staticpadtemplates in
19317 elementfactories. Makes gst_init() +/- 10x faster.
19319 2005-04-12 Wim Taymans <wim@fluendo.com>
19321 * gst/base/Makefile.am:
19322 * gst/base/gstbasesink.c: (gst_basesink_base_init),
19323 (gst_basesink_pad_getcaps), (gst_basesink_init),
19324 (gst_basesink_event), (gst_basesink_change_state):
19325 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19326 (gst_basesrc_init), (gst_basesrc_query),
19327 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19328 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19329 (gst_basesrc_check_get_range), (gst_basesrc_loop),
19330 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19331 (gst_basesrc_stop), (gst_basesrc_activate),
19332 (gst_basesrc_change_state):
19333 * gst/base/gsttypefindhelper.c: (helper_find_peek),
19334 (helper_find_suggest), (gst_type_find_helper):
19335 * gst/base/gsttypefindhelper.h:
19336 * gst/elements/Makefile.am:
19337 * gst/elements/gstelements.c:
19338 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
19339 (gst_fakesink_get_times), (gst_fakesink_event),
19340 (gst_fakesink_preroll), (gst_fakesink_render):
19341 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19342 (gst_fakesrc_init), (gst_fakesrc_event_handler),
19343 (gst_fakesrc_get_property), (gst_fakesrc_create),
19344 (gst_fakesrc_start), (gst_fakesrc_stop):
19345 * gst/elements/gstfakesrc.h:
19346 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
19347 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19348 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19349 (gst_filesrc_create_read), (gst_filesrc_create),
19350 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
19351 (gst_filesrc_start):
19352 * gst/elements/gsttypefindelement.c:
19353 (gst_type_find_element_have_type), (gst_type_find_element_init),
19354 (start_typefinding), (stop_typefinding), (push_buffer_store),
19355 (gst_type_find_element_handle_event),
19356 (gst_type_find_element_chain),
19357 (gst_type_find_element_checkgetrange),
19358 (gst_type_find_element_getrange), (do_typefind),
19359 (gst_type_find_element_activate),
19360 (gst_type_find_element_change_state):
19361 * gst/elements/gsttypefindelement.h:
19362 * gst/gstpipeline.c: (pipeline_bus_handler):
19363 Added typefind helper.
19364 Small preroll fix in the base sink.
19365 Disable typefind code in basesrc.
19366 Crude port of typefindelement.
19370 2005-04-11 Wim Taymans <wim@fluendo.com>
19372 * check/gst/gstbus.c: (gstbus_suite):
19373 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
19374 * check/gstcheck.h:
19375 Fix up the timeout so that the test does not fail.
19377 2005-04-06 Wim Taymans <wim@fluendo.com>
19380 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19381 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
19382 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19383 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19384 (gst_basesrc_check_get_range), (gst_basesrc_loop),
19385 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19386 (gst_basesrc_stop), (gst_basesrc_activate),
19387 (gst_basesrc_change_state), (basesrc_find_peek),
19388 (basesrc_find_suggest), (gst_basesrc_type_find):
19389 * gst/base/gstbasesrc.h:
19390 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
19391 (gst_filesrc_class_init), (gst_filesrc_init),
19392 (gst_filesrc_finalize), (gst_filesrc_set_location),
19393 (gst_filesrc_set_property), (gst_filesrc_get_property),
19394 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19395 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19396 (gst_filesrc_create_read), (gst_filesrc_create),
19397 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
19398 * gst/elements/gstfilesrc.h:
19399 * gst/gstelement.c: (gst_element_get_state_func),
19400 (gst_element_lost_state), (gst_element_pads_activate):
19401 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19402 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
19403 (gst_pad_pull_range):
19405 More work on the generic source base class, implement seeking,
19407 Make filesrc extend the base source class.
19408 Added gst_pad_set_checkgetrange_function to GstPad.
19410 2005-04-06 Andy Wingo <wingo@pobox.com>
19412 * pkgconfig/gstreamer-base.pc.in:
19413 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
19415 * pkgconfig/Makefile.am:
19416 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
19418 2005-04-04 Wim Taymans <wim@fluendo.com>
19420 * gst/base/Makefile.am:
19422 * gst/base/gstbasesink.c: (gst_basesink_base_init),
19423 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19424 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19425 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
19426 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19427 (gst_basesrc_base_init), (gst_basesrc_class_init),
19428 (gst_basesrc_init), (gst_basesrc_get_formats),
19429 (gst_basesrc_get_query_types), (gst_basesrc_query),
19430 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
19431 (gst_basesrc_set_property), (gst_basesrc_get_property),
19432 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
19433 (gst_basesrc_loop), (gst_basesrc_activate),
19434 (gst_basesrc_change_state):
19435 * gst/base/gstbasesrc.h:
19436 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
19437 (gst_fakesrc_class_init), (gst_fakesrc_init),
19438 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
19439 (gst_fakesrc_get_property), (gst_fakesrc_create):
19440 * gst/elements/gstfakesrc.h:
19441 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
19442 (gst_filesrc_open_file), (gst_filesrc_loop),
19443 (gst_filesrc_activate), (filesrc_find_peek),
19444 (gst_filesrc_type_find):
19445 Made base source class, make fakesrc extend it.
19446 Add comments to basesink class.
19447 Some filesrc cleanup.
19449 2005-03-31 David Schleef <ds@schleef.org>
19451 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
19452 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
19453 expected to link against libgstreamer.
19454 * gst/base/Makefile.am: link against libgstreamer
19455 * gst/elements/Makefile.am: same
19457 2005-03-31 Andy Wingo <wingo@pobox.com>
19459 * tests/instantiate/Makefile.am:
19460 * tests/instantiate/caps.c: Add test to test speed of caps copy
19463 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
19464 GMemChunk to be fair.
19466 * gst/gsttrashstack.h: Remove warning about using the fallback
19467 trash stack implementation, it's still faster than malloc.
19469 2005-03-30 Andy Wingo <wingo@pobox.com>
19471 * tests/complexity.c: Add a copyright.
19473 2005-03-31 Wim Taymans <wim@fluendo.com>
19475 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
19476 (gst_base_transform_class_init), (gst_base_transform_init),
19477 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19478 (gst_base_transform_get_property),
19479 (gst_base_transform_sink_activate),
19480 (gst_base_transform_src_activate),
19481 (gst_base_transform_change_state):
19482 * gst/base/gstbasetransform.h:
19483 * gst/elements/gstidentity.c: (gst_identity_class_init),
19484 (gst_identity_event), (gst_identity_check_perfect),
19485 (gst_identity_transform), (gst_identity_start),
19486 (gst_identity_stop):
19487 Added start/stop methods to transform base class so subclasses
19488 don't need to deal with state changes even.
19490 2005-03-31 Wim Taymans <wim@fluendo.com>
19492 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
19493 (gst_event_new_discontinuous), (gst_event_discont_get_value):
19495 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19496 (gst_pad_pull_range):
19497 Added rate to the discont event to prepare for variable speed
19498 and reverse playback.
19500 2005-03-29 David Schleef <ds@schleef.org>
19503 * testsuite/trigger/Makefile.am:
19504 * testsuite/trigger/trigger.c: A little example program to show
19505 how trigger-based elements can work.
19507 2005-03-29 Wim Taymans <wim@fluendo.com>
19509 * gst/base/Makefile.am:
19511 * gst/base/gstbasesink.c: (gst_basesink_get_type),
19512 (gst_basesink_base_init), (gst_basesink_class_init),
19513 (gst_basesink_pad_getcaps), (gst_basesink_init),
19514 (gst_basesink_activate), (gst_basesink_change_state):
19515 * gst/base/gstbasesink.h:
19516 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
19517 (gst_base_transform_base_init), (gst_base_transform_finalize),
19518 (gst_base_transform_class_init), (gst_base_transform_init),
19519 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
19520 (gst_base_transform_event), (gst_base_transform_getrange),
19521 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
19522 (gst_base_transform_set_property),
19523 (gst_base_transform_get_property),
19524 (gst_base_transform_sink_activate),
19525 (gst_base_transform_src_activate),
19526 (gst_base_transform_change_state):
19527 * gst/base/gstbasetransform.h:
19528 * gst/elements/gstidentity.c: (gst_identity_finalize),
19529 (gst_identity_class_init), (gst_identity_init),
19530 (gst_identity_event), (gst_identity_check_perfect),
19531 (gst_identity_transform), (gst_identity_set_property),
19532 (gst_identity_get_property), (gst_identity_change_state):
19533 * gst/elements/gstidentity.h:
19534 * gst/gstelement.c: (gst_element_get_state_func),
19535 (gst_element_lost_state), (gst_element_pads_activate):
19536 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19537 (gst_pad_check_pull_range), (gst_pad_pull_range):
19539 Simplify pad activation.
19540 Added function to check if pull_range can be performed.
19541 Error out when pulling inactive or flushing pads.
19542 Removed const from refcounted types as it does not make sense.
19543 Simplify pad templates in basesink
19544 Added base class for simple 1-to-1 transforms.
19545 Make identity subclass the base transform.
19547 2005-03-29 Andy Wingo <wingo@pobox.com>
19549 * docs/libs/gstreamer-libs-overrides.txt:
19550 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
19551 really don't understand what's going on, but like whatever. I want
19554 * docs/gst/Makefile.am:
19555 * docs/libs/Makefile.am: Dist the overrides files.
19557 * check/Makefile.am (clean-local): Remove .libs directories.
19559 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
19560 elements to EXTRA_DIST, so po/ files are happy.
19562 * po/POTFILES.in: Er, remove it here.
19564 * po/POTFILES: Remove gstspider.c.
19566 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
19568 * docs/libs/gstreamer-libs-docs.sgml:
19569 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
19572 * tests/complexity.c (main): Set the length of the preroll queue
19573 on the sinks to prevent a lockup.
19575 * libs/gst/dataprotocol/Makefile.am:
19576 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
19577 the same as the one in check/gst-libs/gdp.c.
19579 * po/, docs/gst/: Commit automatic changes to docs and po files.
19581 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
19582 the versioned libgstbase.
19584 * check/Makefile.am: Depend on an unversioned gst-register, seems
19585 to make autoconf happier.
19587 * gst/base/Makefile.am: Make libgstbase a versioned lib.
19589 2005-03-28 Wim Taymans <wim@fluendo.com>
19592 * docs/design/part-gstelement.txt:
19593 * docs/design/part-negotiation.txt:
19594 * docs/design/part-preroll.txt:
19595 * docs/design/part-scheduling.txt:
19596 * docs/design/part-states.txt:
19598 * gst/base/Makefile.am:
19600 * gst/base/gstbasesink.c: (gst_basesink_get_template),
19601 (gst_basesink_base_init), (gst_basesink_class_init),
19602 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19603 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19604 (gst_basesink_set_pad_functions),
19605 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
19606 (gst_basesink_set_property), (gst_basesink_get_property),
19607 (gst_base_sink_get_template), (gst_base_sink_get_caps),
19608 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
19609 (gst_basesink_preroll_queue_push),
19610 (gst_basesink_preroll_queue_empty),
19611 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
19612 (gst_basesink_event), (gst_basesink_get_times),
19613 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
19614 (gst_basesink_chain_unlocked), (gst_basesink_chain),
19615 (gst_basesink_loop), (gst_basesink_activate),
19616 (gst_basesink_change_state):
19617 * gst/base/gstbasesink.h:
19618 * gst/elements/Makefile.am:
19619 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
19620 (gst_fakesink_class_init), (gst_fakesink_init),
19621 (gst_fakesink_set_property), (gst_fakesink_get_property),
19622 (gst_fakesink_get_times), (gst_fakesink_event),
19623 (gst_fakesink_preroll), (gst_fakesink_render),
19624 (gst_fakesink_change_state):
19625 * gst/elements/gstfakesink.h:
19626 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19627 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
19628 * gst/gstelement.c: (gst_element_add_pad),
19629 (gst_element_get_state_func), (gst_element_abort_state),
19630 (gst_element_commit_state), (gst_element_lost_state),
19631 (gst_element_set_state), (gst_element_pads_activate):
19632 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
19633 * gst/gstpipeline.c: (gst_pipeline_send_event),
19634 (gst_pipeline_change_state):
19635 Added state change code.
19636 Added/updated docs.
19637 Added sink base class, make fakesink extend the base class.
19638 Small cleanups in GstPipeline.
19640 2005-03-26 David Schleef <ds@schleef.org>
19642 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
19643 is broken and should be implemented in a different library.
19644 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
19645 * gst/gst.h: remove gstcpu.h
19646 * gst/gstcpu.c: remove
19647 * gst/gstcpu.h: remove
19648 * gst/Makefile.am.future: Remove this file. It's ancient.
19650 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19652 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19653 (gst_bin_send_event):
19654 Add default event/set_manager handlers. The set_manager handler
19655 takes care that the manager is distributed over kids that were
19656 already in the bin before the manager was set. The event handler
19657 is a utility virtual function that sends the event over all sinks,
19658 so that gst_element_send_event (bin, event); has the expected
19660 * gst/gstpad.c: (gst_pad_event_default):
19661 Re-install default event handling for discontinuities, so that
19662 seeking works without requiring hacks in applications or extra
19664 * gst/gstpipeline.c: (gst_pipeline_class_init),
19665 (gst_pipeline_send_event):
19666 Half hack, half utility: set a pipeline to PAUSED for seek events,
19667 since that is the only way we can guarantee a/v sync. Means that
19668 you can do gst_element_seek (pipeline, method, pos); on a pipeline
19669 and it "just works".
19671 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19673 * gst/gstpipeline.c: (gst_pipeline_use_clock):
19674 Lock/unlock mismatch.
19676 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
19678 * docs/faq/gst-uninstalled:
19679 add gst-plugins-base
19680 * docs/gst/Makefile.am:
19681 don't error out until docs are fixed
19682 * docs/gst/gstreamer.types:
19685 2005-03-22 Wim Taymans <wim@fluendo.com>
19687 * check/Makefile.am:
19688 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
19689 * gst/gststructure.c: (gst_structure_set_valist),
19690 (gst_structure_copy_conditional):
19691 Activated more tests.
19692 Added message test.
19693 Added G_TYPE_POINTER to GstStructure.
19696 2005-03-22 Wim Taymans <wim@fluendo.com>
19698 * docs/design/part-TODO.txt:
19699 * docs/design/part-events.txt:
19700 * docs/design/part-gstbin.txt:
19701 * docs/design/part-gstbus.txt:
19702 * docs/design/part-gstpipeline.txt:
19703 * docs/design/part-messages.txt:
19705 * gst/gstmessage.c:
19708 2005-03-21 Wim Taymans <wim@fluendo.com>
19710 * gst/gstbus.c: (gst_bus_post):
19711 Fix copy-and-paste error.
19713 2005-03-21 Wim Taymans <wim@fluendo.com>
19715 * check/Makefile.am:
19717 * gst/elements/Makefile.am:
19718 * gst/elements/gstelements.c:
19719 * gst/elements/gstfakesink.c: (gst_fakesink_init),
19720 (gst_fakesink_event), (gst_fakesink_chain):
19721 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19722 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
19723 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
19724 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
19725 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19726 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
19727 (gst_fakesrc_loop), (gst_fakesrc_activate),
19728 (gst_fakesrc_change_state):
19729 * gst/elements/gstfakesrc.h:
19730 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
19731 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
19732 (gst_filesrc_open_file), (gst_filesrc_loop),
19733 (gst_filesrc_activate), (gst_filesrc_change_state),
19734 (filesrc_find_peek), (filesrc_find_suggest),
19735 (gst_filesrc_type_find):
19736 * gst/elements/gstidentity.c: (gst_identity_finalize),
19737 (gst_identity_class_init), (gst_identity_init),
19738 (gst_identity_proxy_getcaps), (identity_queue_push),
19739 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
19740 (gst_identity_getrange), (gst_identity_chain),
19741 (gst_identity_sink_loop), (gst_identity_src_loop),
19742 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
19743 (gst_identity_set_property), (gst_identity_get_property),
19744 (gst_identity_change_state):
19745 * gst/elements/gstidentity.h:
19746 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
19747 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
19748 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
19749 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
19750 (gst_tee_sink_activate):
19751 * gst/elements/gsttee.h:
19752 * gst/gst.c: (gst_register_core_elements), (init_post):
19754 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
19755 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
19756 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
19757 (gst_bin_change_state):
19759 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
19760 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
19761 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
19762 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
19763 (gst_bus_set_sync_handler), (gst_bus_create_watch),
19764 (bus_watch_callback), (bus_watch_destroy),
19765 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
19766 (poll_timeout), (gst_bus_poll):
19770 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19771 (gst_element_post_message), (gst_element_message_full),
19772 (gst_element_get_state_func), (gst_element_get_state),
19773 (gst_element_abort_state), (gst_element_commit_state),
19774 (gst_element_lost_state), (gst_element_set_state),
19775 (gst_element_pads_activate), (gst_element_change_state),
19776 (gst_element_dispose), (gst_element_set_manager_func),
19777 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
19778 (gst_element_set_manager), (gst_element_get_manager),
19779 (gst_element_set_bus), (gst_element_get_bus),
19780 (gst_element_set_scheduler), (gst_element_get_scheduler):
19781 * gst/gstelement.h:
19782 * gst/gstevent.c: (gst_event_new_segment_seek),
19783 (gst_event_new_flush):
19785 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
19786 (_gst_message_free), (gst_message_get_type), (gst_message_new),
19787 (gst_message_new_eos), (gst_message_new_error),
19788 (gst_message_new_warning), (gst_message_new_tag),
19789 (gst_message_new_state_changed), (gst_message_new_application),
19790 (gst_message_get_structure), (gst_message_parse_tag),
19791 (gst_message_parse_state_changed), (gst_message_parse_error),
19792 (gst_message_parse_warning):
19793 * gst/gstmessage.h:
19794 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
19795 (gst_real_pad_set_property), (gst_pad_set_active),
19796 (gst_pad_is_active), (gst_pad_set_blocked_async),
19797 (gst_pad_set_blocked), (gst_pad_is_blocked),
19798 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
19799 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
19800 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
19801 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
19802 (gst_pad_link_filtered), (gst_pad_relink_filtered),
19803 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
19804 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
19805 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
19806 (gst_pad_set_caps), (gst_pad_configure_sink),
19807 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
19808 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
19809 (gst_real_pad_dispose), (gst_real_pad_finalize),
19810 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
19811 (gst_pad_event_default_dispatch), (gst_pad_event_default),
19812 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
19814 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
19815 (pipeline_bus_handler), (gst_pipeline_change_state),
19816 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
19817 * gst/gstpipeline.h:
19819 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19820 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
19821 (gst_queue_link_src), (gst_queue_bufferalloc),
19822 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
19823 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
19824 (gst_queue_loop), (gst_queue_handle_src_event),
19825 (gst_queue_handle_src_query), (gst_queue_src_activate),
19826 (gst_queue_change_state):
19828 * gst/gstscheduler.c: (gst_scheduler_init),
19829 (gst_scheduler_dispose), (gst_scheduler_create_task),
19830 (gst_scheduler_factory_create):
19831 * gst/gstscheduler.h:
19832 * gst/gststructure.c: (gst_structure_get_type),
19833 (gst_structure_copy_conditional):
19834 * gst/gststructure.h:
19835 * gst/gsttaginterface.h:
19836 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19837 (gst_task_init), (gst_task_dispose), (gst_task_create),
19838 (gst_task_get_state), (gst_task_start), (gst_task_stop),
19844 * gst/schedulers/Makefile.am:
19845 * gst/schedulers/cothreads_compat.h:
19846 * gst/schedulers/entryscheduler.c:
19847 * gst/schedulers/faircothreads.c:
19848 * gst/schedulers/faircothreads.h:
19849 * gst/schedulers/fairscheduler.c:
19850 * gst/schedulers/gstbasicscheduler.c:
19851 * gst/schedulers/gstoptimalscheduler.c:
19852 * gst/schedulers/gthread-cothreads.h:
19853 * gst/schedulers/threadscheduler.c:
19854 (gst_thread_scheduler_task_get_type),
19855 (gst_thread_scheduler_task_class_init),
19856 (gst_thread_scheduler_task_init),
19857 (gst_thread_scheduler_task_start),
19858 (gst_thread_scheduler_task_stop),
19859 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
19860 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19861 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
19862 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
19864 * libs/gst/Makefile.am:
19865 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
19866 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
19867 (gst_file_pad_parent_set):
19868 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19869 (gst_dp_event_from_packet):
19870 * tests/complexity.c: (main):
19871 * tests/mass_elements.c: (main):
19872 * testsuite/states/locked.c: (message_received), (main):
19873 * testsuite/states/parent.c: (main):
19874 * tools/gst-inspect.c: (print_element_flag_info),
19875 (print_implementation_info), (print_pad_info):
19876 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
19878 * tools/gst-md5sum.c: (event_loop), (main):
19879 * tools/gst-typefind.c: (main):
19880 * tools/gst-xmlinspect.c: (print_element_info):
19882 Added GstBus for mainloop integration.
19883 Added GstMessage for sending notifications on the bus.
19884 Added GstTask as an abstraction for pipeline entry points.
19886 Removed Schedulers.
19887 Simplified GstQueue for multithreaded core.
19888 Made _link threadsafe, removed old capsnego.
19889 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
19890 Added pad blocking functions.
19891 Reworked scheduling functions in GstPad to prepare for
19892 scheduling updates soon.
19893 Moved events out of data stream.
19894 Simplified GstEvent types.
19895 Added return values to push/pull.
19896 Removed clocking from GstElement.
19897 Added prototypes for state change function for next merge.
19898 Removed iterate from bins and state change management.
19899 Fixed some elements, disabled others for now.
19900 Fixed -inspect and -launch.
19901 Added check for GstBus.
19903 2005-03-10 Wim Taymans <wim@fluendo.com>
19905 * docs/design/part-MT-refcounting.txt:
19906 * docs/design/part-clocks.txt:
19907 * docs/design/part-gstelement.txt:
19908 * docs/design/part-gstobject.txt:
19909 * docs/design/part-standards.txt:
19910 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19911 (gst_bin_remove_func), (gst_bin_remove):
19915 * testsuite/clock/clock1.c: (main):
19916 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
19918 * testsuite/dlopen/loadgst.c: (do_test):
19919 * testsuite/refcounting/bin.c: (add_remove_test1),
19920 (add_remove_test2), (main):
19921 * testsuite/refcounting/element.c: (main):
19922 * testsuite/refcounting/element_pad.c: (main):
19923 * testsuite/refcounting/pad.c: (main):
19924 * tools/gst-launch.c: (sigint_handler_sighandler):
19925 * tools/gst-typefind.c: (main):
19927 Added doc about clock.
19928 removed gst_bin_iterate_recurse_up(), marked methods
19930 Fix more testsuites.
19932 2005-03-09 Wim Taymans <wim@fluendo.com>
19934 * gst/gstpad.c: (gst_pad_get_direction),
19935 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
19936 (gst_pad_collect_valist):
19937 * testsuite/bins/interface.c: (main):
19938 * testsuite/caps/audioscale.c: (test_caps):
19939 * testsuite/caps/caps.c: (test1), (test2), (test3):
19940 * testsuite/caps/deserialize.c: (main):
19941 * testsuite/caps/enumcaps.c: (main):
19942 * testsuite/caps/filtercaps.c: (main):
19943 * testsuite/caps/intersect2.c: (main):
19944 * testsuite/caps/random.c: (main):
19945 * testsuite/caps/renegotiate.c: (my_fixate), (main):
19946 * testsuite/caps/sets.c: (check_caps):
19947 * testsuite/caps/simplify.c: (check_caps), (main):
19948 * testsuite/caps/subtract.c: (check_caps):
19949 Fix _pad_get_direction wrt ghostpads.
19950 Fix caps testsuite.
19952 2005-03-09 Wim Taymans <wim@fluendo.com>
19954 * check/Makefile.am:
19955 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
19956 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
19957 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
19958 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
19959 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
19960 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
19961 (gst_bin_remove), (gst_bin_iterate_recurse_up),
19962 (bin_element_is_sink), (gst_bin_iterate_sinks),
19963 (gst_bin_iterate_all_by_interface):
19965 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
19966 (gst_element_change_state), (gst_element_dispose),
19967 (gst_element_finalize), (gst_element_set_loop_function):
19968 * gst/gstelement.h:
19969 * gst/gstiterator.c: (find_custom_fold_func):
19970 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19971 (gst_pad_collectv), (gst_pad_collect_valist),
19972 (gst_pad_template_new):
19973 * gst/gstpipeline.c: (gst_pipeline_class_init),
19974 (gst_pipeline_dispose), (gst_pipeline_set_property),
19975 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
19976 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
19977 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
19979 * gst/schedulers/entryscheduler.c:
19980 * gst/schedulers/gstbasicscheduler.c:
19981 (gst_basic_scheduler_cothreaded_chain),
19982 (gst_basic_scheduler_chain_add_element):
19983 * testsuite/bins/interface.c: (main):
19985 Added GstSystemClock test.
19986 Implemented clock distribution code in GstBin.
19987 Implemented iterate sinks method for future use.
19988 Rearranged gstelement.h
19989 Fix GstIterator comparison bug.
19990 Moved some code to GstPipeline, mostly clocking related.
19992 2005-03-09 Wim Taymans <wim@fluendo.com>
19995 * gst/gst_private.h:
19996 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19997 (gst_bin_remove_func), (gst_bin_remove),
19998 (gst_bin_get_by_name_recurse_up):
19999 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
20000 (gst_clock_id_compare_func), (gst_clock_id_wait),
20001 (gst_clock_id_wait_async), (gst_clock_init),
20002 (gst_clock_adjust_unlocked), (gst_clock_get_time):
20003 * gst/gstelement.h:
20004 * gst/gstinfo.c: (_gst_debug_init):
20006 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
20007 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
20009 Bump version number, we're now 0.9.0
20010 Add future debugging category.
20011 Fix NULL _unref() in _get_by_name_recurse_up
20012 Rearrange gstpad.h.
20015 2005-03-08 Wim Taymans <wim@fluendo.com>
20017 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
20018 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
20019 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
20020 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
20021 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
20022 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
20023 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
20024 * gst/elements/gstidentity.c: (gst_identity_class_init):
20025 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
20026 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
20027 * gst/elements/gstshaper.c: (gst_shaper_class_init):
20028 * gst/elements/gststatistics.c: (gst_statistics_class_init):
20029 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
20031 * gst/gstelement.c: (gst_element_class_init),
20032 (gst_element_base_class_init), (gst_element_init),
20033 (gst_element_get_random_pad), (gst_element_wait_state_change),
20034 (gst_element_change_state), (gst_element_dispose),
20035 (gst_element_finalize), (gst_element_set_loop_function):
20036 * gst/gstelement.h:
20037 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
20038 * gst/gstthread.c: (gst_thread_class_init),
20039 (gst_thread_release_children_locks), (gst_thread_change_state):
20040 * gst/schedulers/gstbasicscheduler.c:
20041 (gst_basic_scheduler_loopfunc_wrapper),
20042 (gst_basic_scheduler_chain_wrapper),
20043 (gst_basic_scheduler_src_wrapper),
20044 (gst_basic_scheduler_remove_element):
20045 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
20046 Remove threadsafe properties. Fix elements because GObject
20047 complains when installing a property before declaring a
20048 set/get_property handler.
20049 Rearrange gstelement.h file, use STATE macros for state locks.
20050 Free mutexes in the finalize method instead of dispose.
20052 2005-03-08 Wim Taymans <wim@fluendo.com>
20054 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
20055 * gst/gstthread.c: (gst_thread_release_children_locks):
20056 Added parentage check.
20057 Fix build og GstThread again.
20059 2005-03-08 Wim Taymans <wim@fluendo.com>
20061 * docs/design/part-MT-refcounting.txt:
20062 * docs/design/part-conventions.txt:
20063 * docs/design/part-gstobject.txt:
20064 * docs/design/part-relations.txt:
20065 * docs/design/part-standards.txt:
20066 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
20067 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
20068 (gst_bin_get_by_name), (gst_bin_get_by_interface),
20069 (gst_bin_iterate_all_by_interface):
20072 * gst/gstelement.c: (gst_element_class_init),
20073 (gst_element_change_state), (gst_element_set_loop_function):
20074 * gst/gstelement.h:
20075 * gst/gstiterator.c:
20076 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
20077 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
20078 (gst_object_dispatch_properties_changed), (gst_object_set_name),
20079 (gst_object_set_parent), (gst_object_unparent),
20080 (gst_object_check_uniqueness):
20082 Docs updates, clean up some headers.
20084 2005-03-07 Wim Taymans <wim@fluendo.com>
20086 * check/.cvsignore:
20087 * check/Makefile.am:
20088 * check/gst-libs/.cvsignore:
20089 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
20090 * check/gst/.cvsignore:
20091 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
20092 (START_TEST), (gstbus_suite), (main):
20093 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
20094 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
20095 (gst_data_suite), (main):
20096 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
20097 (add_fold_func), (gstiterator_suite), (main):
20098 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
20099 (thread_name_object), (thread_name_object_default),
20100 (gst_object_name_compare), (gst_object_suite), (main):
20101 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
20102 (gst_pad_suite), (main):
20103 * check/gstcheck.c: (gst_check_log_message_func),
20104 (gst_check_log_critical_func), (gst_check_init):
20105 * check/gstcheck.h:
20106 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
20107 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
20110 2005-03-07 Wim Taymans <wim@fluendo.com>
20112 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
20113 (gst_list_iterator_next), (gst_list_iterator_resync),
20114 (gst_list_iterator_free), (gst_iterator_new_list),
20115 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
20116 (gst_iterator_free), (gst_iterator_push), (filter_next),
20117 (filter_resync), (filter_uninit), (filter_free),
20118 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
20119 (gst_iterator_foreach), (find_custom_fold_func),
20120 (gst_iterator_find_custom):
20121 * gst/gstiterator.h:
20122 Added missing files.
20124 2005-03-07 Wim Taymans <wim@fluendo.com>
20128 * docs/design/part-MT-refcounting.txt:
20129 * docs/design/part-conventions.txt:
20130 * docs/design/part-gstobject.txt:
20131 * docs/design/part-relations.txt:
20132 * examples/mixer/mixer.c: (main):
20133 * examples/thread/thread.c: (eos), (main):
20135 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
20136 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
20137 (gst_spider_plug_from_srcpad):
20138 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
20139 (gst_spider_identity_change_state),
20140 (gst_spider_identity_sink_loop_type_finding):
20141 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
20142 * gst/elements/gstidentity.c: (gst_identity_init):
20143 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
20144 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
20145 * gst/elements/gsttypefindelement.c: (free_entry):
20148 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
20149 (gst_bin_set_clock_func), (gst_bin_auto_clock),
20150 (gst_bin_set_index), (gst_bin_set_element_sched),
20151 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
20152 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
20153 (gst_bin_iterate_elements), (iterate_child_recurse),
20154 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
20155 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
20156 (compare_interface), (gst_bin_get_by_interface),
20157 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
20159 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
20160 (gst_buffer_default_free), (gst_buffer_default_copy),
20161 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
20162 (gst_buffer_create_sub):
20164 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
20165 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
20166 (gst_caps_unref), (gst_static_caps_get),
20167 (gst_caps_remove_and_get_structure), (gst_caps_append),
20168 (gst_caps_append_structure), (gst_caps_remove_structure),
20169 (gst_caps_copy_nth), (gst_caps_set_simple),
20170 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
20171 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
20172 (gst_caps_structure_intersect_field), (gst_caps_intersect),
20173 (gst_caps_structure_subtract_field), (gst_caps_subtract),
20174 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
20175 (gst_caps_structure_figure_out_union),
20176 (gst_caps_switch_structures), (gst_caps_do_simplify),
20177 (gst_caps_replace), (gst_caps_from_string),
20178 (gst_caps_copy_conditional):
20180 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
20181 (_gst_clock_id_free), (gst_clock_id_unref),
20182 (gst_clock_id_compare_func), (gst_clock_id_wait),
20183 (gst_clock_id_wait_async), (gst_clock_class_init),
20184 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
20185 (gst_clock_get_time), (gst_clock_set_time_adjust),
20186 (gst_clock_set_property), (gst_clock_get_property):
20189 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
20190 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
20192 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
20193 (gst_element_requires_clock), (gst_element_provides_clock),
20194 (gst_element_set_clock), (gst_element_clock_wait),
20195 (gst_element_wait), (gst_element_set_time_delay),
20196 (gst_element_is_indexable), (gst_element_add_pad),
20197 (gst_element_add_ghost_pad), (gst_element_remove_pad),
20198 (pad_compare_name), (gst_element_get_static_pad),
20199 (gst_element_request_pad), (gst_element_get_request_pad),
20200 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
20201 (gst_element_class_get_pad_template_list),
20202 (gst_element_class_get_pad_template), (gst_element_error_func),
20203 (gst_element_get_random_pad), (gst_element_get_event_masks),
20204 (gst_element_send_event), (gst_element_seek),
20205 (gst_element_get_query_types), (gst_element_query),
20206 (gst_element_get_formats), (gst_element_convert),
20207 (gst_element_is_locked_state), (gst_element_set_locked_state),
20208 (gst_element_sync_state_with_parent), (gst_element_change_state),
20209 (gst_element_finalize), (gst_element_yield),
20210 (gst_element_interrupt), (gst_element_set_scheduler),
20211 (gst_element_get_scheduler), (gst_element_set_loop_function):
20212 * gst/gstelement.h:
20214 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
20215 (gst_format_get_by_nick), (gst_format_get_details),
20216 (gst_format_iterate_definitions):
20218 * gst/gstindex.c: (gst_index_gtype_resolver):
20221 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
20222 (gst_mem_chunk_free):
20223 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
20224 (gst_object_ref), (gst_object_unref), (gst_object_sink),
20225 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
20226 (gst_object_dispatch_properties_changed),
20227 (gst_object_set_name_default), (gst_object_set_name),
20228 (gst_object_get_name), (gst_object_set_name_prefix),
20229 (gst_object_get_name_prefix), (gst_object_set_parent),
20230 (gst_object_get_parent), (gst_object_unparent),
20231 (gst_object_check_uniqueness), (gst_object_save_thyself),
20232 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
20233 (gst_object_set_property), (gst_object_get_property),
20234 (gst_object_get_path_string):
20236 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20237 (gst_real_pad_init), (gst_real_pad_get_property),
20238 (gst_pad_custom_new), (gst_pad_get_direction),
20239 (gst_pad_set_active), (gst_pad_is_active),
20240 (gst_pad_set_event_function), (gst_pad_is_linked),
20241 (gst_pad_link_free), (gst_pad_link_intersect),
20242 (gst_pad_link_fixate), (gst_pad_set_caps),
20243 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
20244 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
20245 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
20246 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
20247 (gst_pad_get_caps), (gst_pad_peer_get_caps),
20248 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
20249 (gst_pad_realize), (gst_pad_get_allowed_caps),
20250 (gst_real_pad_dispose), (gst_real_pad_finalize),
20251 (gst_pad_collectv), (gst_pad_collect_valist),
20252 (gst_pad_template_dispose), (gst_pad_template_new),
20253 (gst_pad_get_internal_links):
20255 * gst/gstpipeline.c: (gst_pipeline_dispose),
20256 (gst_pipeline_change_state):
20257 * gst/gstpipeline.h:
20259 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
20260 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
20261 * gst/gstpluginfeature.h:
20262 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
20263 * gst/gstquery.c: (_gst_query_type_initialize),
20264 (gst_query_type_register), (gst_query_type_get_by_nick),
20265 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
20267 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
20268 * gst/gstscheduler.c: (gst_scheduler_add_element),
20269 (gst_scheduler_factory_create):
20270 * gst/gststructure.c: (gst_structure_set_parent_refcount),
20271 (gst_structure_free), (gst_structure_set_name),
20272 (gst_structure_id_set_value), (gst_structure_set_value),
20273 (gst_structure_set_valist), (gst_structure_remove_field),
20274 (gst_structure_remove_fields),
20275 (gst_structure_remove_fields_valist),
20276 (gst_structure_remove_all_fields), (gst_structure_foreach),
20277 (gst_structure_map_in_place),
20278 (gst_caps_structure_fixate_field_nearest_int),
20279 (gst_caps_structure_fixate_field_nearest_double):
20280 * gst/gststructure.h:
20281 * gst/gstsystemclock.c: (gst_system_clock_class_init),
20282 (gst_system_clock_init), (gst_system_clock_dispose),
20283 (gst_system_clock_async_thread),
20284 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
20285 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
20286 * gst/gstsystemclock.h:
20287 * gst/gsttag.c: (gst_tag_list_add_value_internal),
20288 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
20289 * gst/gsttaginterface.c:
20290 * gst/gstthread.c: (gst_thread_dispose),
20291 (gst_thread_release_children_locks), (gst_thread_change_state),
20292 (gst_thread_main_loop):
20293 * gst/gsttrashstack.h:
20294 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
20296 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
20297 (gst_element_request_pad), (gst_element_get_pad_from_template),
20298 (gst_element_request_compatible_pad),
20299 (gst_element_get_compatible_pad_filtered),
20300 (gst_element_get_compatible_pad), (gst_element_state_get_name),
20301 (gst_element_link_pads_filtered), (gst_element_link_filtered),
20302 (gst_element_link_many), (gst_element_link),
20303 (gst_element_link_pads), (gst_element_unlink_pads),
20304 (gst_element_unlink_many), (gst_element_unlink),
20305 (gst_pad_can_link_filtered), (gst_pad_can_link),
20306 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
20307 (gst_object_default_error), (gst_bin_add_many),
20308 (gst_bin_remove_many), (gst_element_populate_std_props),
20309 (gst_element_class_install_std_props), (gst_buffer_merge),
20310 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
20311 (link_fold_func), (gst_pad_proxy_setcaps):
20313 * gst/gstvalue.c: (gst_value_deserialize_string):
20314 * gst/parse/grammar.y:
20315 * gst/schedulers/gstbasicscheduler.c:
20316 (gst_basic_scheduler_cothreaded_chain),
20317 (gst_basic_scheduler_chain_recursive_add),
20318 (gst_basic_scheduler_pad_link):
20319 * gst/schedulers/gstoptimalscheduler.c:
20320 (get_group_schedule_function),
20321 (gst_opt_scheduler_state_transition),
20322 (gst_opt_scheduler_add_element), (element_get_reachables_func):
20323 * libs/gst/bytestream/bytestream.c:
20324 * libs/gst/dataprotocol/dataprotocol.c:
20325 (gst_dp_header_from_buffer):
20328 * tests/threadstate/threadstate2.c: (eos):
20329 * tools/gst-compprep.c: (main):
20330 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
20331 (print_pad_info), (print_children_info):
20332 * tools/gst-launch.c: (idle_func), (main):
20333 * tools/gst-md5sum.c: (idle_func), (main):
20334 * tools/gst-xmlinspect.c: (print_element_info):
20335 First THREADED backport attempt, focusing on adding locks and
20336 making sure the API is threadsafe. Needs more work. More docs
20339 2005-02-24 Andy Wingo <wingo@pobox.com>
20341 * tests/bench-complexity.scm:
20342 * tests/complexity.gnuplot: New files, good for running complexity
20345 * tests/Makefile.am:
20346 * tests/complexity.c: New test, sets up N elements, at each level
20347 teeing into M streams per element. Eeeenteresting.
20349 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
20350 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
20351 running bench-mass_elements.scm.
20353 * tests/bench-mass_elements.scm: New script, runs mass_elements
20354 for various numbers of identities, outputting the results to a
20355 file. Requires guile 1.6. Just for testing.
20357 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
20359 * gst/schedulers/fairscheduler.c:
20360 compile with debug disabled
20362 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
20365 hunting season on 0.9 is now OPEN