1 2006-10-09 Wim Taymans <wim@fluendo.com>
3 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
4 Rename some more @cur to @start to fix docs.
6 * gst/gstsegment.c: (gst_segment_set_seek):
8 time and start must always stay in sync as defined in design doc.
10 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11 Rename param to fix docs.
13 * tests/check/gst/gstsegment.c: (GST_START_TEST):
14 Check that start and time are in sync.
16 * tests/check/pipelines/parse-launch.c:
17 (gst_parse_test_element_change_state):
18 Activate pad before adding to the element.
20 2006-10-09 Wim Taymans <wim@fluendo.com>
22 * docs/design/part-qos.txt:
27 Update seek event docs regarding negative rates.
28 Rename @cur to @start.
30 * gst/gstsegment.c: (gst_segment_set_seek):
32 Update set_seek docs regarding negative rates.
33 Correctly update last_stop to @stop when dealing with negative
35 Rename @cur to @start.
37 * tests/check/gst/gstpad.c: (GST_START_TEST):
38 Activate pads before trying to use them.
40 * tests/check/gst/gstsegment.c: (GST_START_TEST),
42 Add simple check for segments and negative rates.
44 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
46 * gst/gsttaglist.c: (gst_tag_list_is_empty):
48 * docs/gst/gstreamer-sections.txt:
49 API: add gst_tag_list_is_empty() (#360467).
51 * tests/check/gst/gsttag.c: (GST_START_TEST):
54 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
57 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
58 a value that doesn't fit on enumeration.
60 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
62 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
63 Remove local debugging system and use Gstreamer's instead.
65 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
67 Patch by: Josep Torre Valles <josep@fluendo.com>
69 * common/m4/gst-error.m4:
70 Disable warning of statement not reached on Forte.
72 Fix warning on Forte (value doesn't fit on enumeration).
73 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
74 Fix warning on Forte (value doesn't fit on enumeration).
75 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
76 DEBUG macro says it takes minimum of 2 args and so Forte
77 complains about the use with just 1 arg.
78 * plugins/elements/gstfdsink.c:
79 * plugins/elements/gstfdsrc.c:
80 * plugins/elements/gstfilesink.c:
81 * plugins/elements/gstfilesrc.c:
82 Use correct return type for the uri handler implementations.
84 All these fix warnings in Forte. Fixes bug #360860.
86 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
89 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
90 format string, so don't use G_GNUC_PRINTF for those versions.
92 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
94 * gst/gsttaglist.c: (gst_is_tag_list):
96 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
98 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
99 Small test for the above.
101 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
104 Less tabs, more spaces.
106 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
109 Those two function declarations do actually belong there, revert
110 commit from yesterday that turned them intro macros.
112 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
114 Patch by: Josep Torre Valles <josep@fluendo.com>
116 * gst/gst.c: (gst_init_get_option_group):
117 Fix empty declaration and type mismatch.
118 * gst/gstbin.c: (gst_bin_change_state_func):
120 * gst/gstelement.c: (gst_element_continue_state),
121 (gst_element_set_state_func), (gst_element_change_state),
122 (gst_element_change_state_func):
124 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
125 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
127 * gst/gstobject.c: (gst_class_signal_connect):
128 Cast as appropriate. The function pointer parameter really
129 has the wrong type but would break API if we change it.
131 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
132 order of including string.h.
133 * gst/gstutils.c: (gst_element_state_get_name):
134 Remove unreachable line.
135 * gst/gstxml.c: (gst_xml_parse_doc):
137 All these caught by Forte.
139 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
141 Patch by: Josep Torre Valles <josep@fluendo.com>
143 * common/m4/gst-error.m4:
145 We need to disable warnings on Forte for empty declarations
146 due to gst-indent adding ;s to lines that just use macros
147 where the macro actually doesn't need a ; at end to end
150 2006-10-06 Wim Taymans <wim@fluendo.com>
152 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
153 (gst_file_sink_close_file), (gst_file_sink_event),
154 (gst_file_sink_render):
155 Add some FIXME for the NEWSEGMENT handling.
157 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
159 * gst/parse/grammar.y:
160 Remove static function gst_parse_element_lock as all it does
161 is return. Looks like cruft from 0.8.
163 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
165 Patch by: Josep Torre Valles <josep@fluendo.com>
167 * common/m4/gst-error.m4:
169 * libs/gst/net/Makefile.am:
170 Fix a compilation issue with Forte on Solaris. inet_aton is in
173 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
175 * gst/gstpad.c: (pre_activate):
176 * gst/gstregistry.c: (gst_registry_scan_path_level):
177 * gst/gstregistryxml.c: (load_plugin):
178 * libs/gst/controller/gstcontroller.c:
179 (gst_controlled_property_set_interpolation_mode):
180 * libs/gst/dataprotocol/dataprotocol.c:
181 (gst_dp_packet_from_event_1_0):
182 * libs/gst/net/gstnetclientclock.c:
183 (gst_net_client_clock_observe_times):
184 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
187 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
190 * docs/gst/gstreamer-sections.txt:
191 * gst/gstconfig.h.in:
194 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
195 whether we can use G_GNUC_PRINTF in other header files and at
196 least check the printf format/arguments of debug messages and
197 GST_ELEMENT_ERROR messages when the printf extension is not
199 Replace more tabs with spaces in gstinfo.h and remove two spurious
200 function declarations in GST_DISABLE_DEBUG part with macros.
202 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
204 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
205 More docs for the sync-message signal (mention that it is not
206 emitted by default); log message structures of messages posted on
209 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
211 * gst/gst.c: (ensure_current_registry_forking):
212 Use a pipe pair to receive status results from the forked child, and
213 ignore the result from waitpid. Fixes #355499
215 2006-10-02 Wim Taymans <wim@fluendo.com>
217 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
218 (gst_ghost_pad_suite):
221 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
224 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
226 2006-10-02 Edward Hervey <edward@fluendo.com>
228 * docs/design/part-block.txt:
229 Further explain the use of flushing on blocked pads.
230 * docs/gst/gstreamer-sections.txt:
231 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
232 (gst_pad_push_event):
234 Added new GstPadFlag : GST_PAD_BLOCKING.
235 Adds the notion of pads really blocking, which enables to properly
236 handle FLUSH_START/FLUSH_STOP events on blocked pads.
238 API: gst_pad_is_blocking()
239 API: GST_PAD_IS_BLOCKING() macro
240 API: GST_PAD_BLOCKING GstPadFlag
242 2006-10-02 Wim Taymans <wim@fluendo.com>
244 Patch by: mrcgran <mrc.gran at gmail dot com>
246 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
247 Filter the proxied caps against the padtemplate if we have one.
249 * gst/gstquery.c: (gst_query_new_segment):
250 Add include for gstinfo.h so that compilation with
251 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
253 2006-10-02 Wim Taymans <wim@fluendo.com>
255 Patch by: Alessandro Decina <alessandro at nnva org>
257 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
258 (gst_file_sink_set_location), (gst_file_sink_open_file),
259 (gst_file_sink_close_file), (gst_file_sink_event),
260 (gst_file_sink_render):
261 Set file to NULL when closing filesink so that we can set a new filename
262 in READY. Fixes #358613.
264 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
266 Patch by: Alessandro Decina <alessandro at nnva org>
268 * gst/gstevent.c: (_gst_event_copy):
269 Fix gst_mini_object_make_writable() and gst_event_copy() for events
270 with event structures by setting the parent refcount address of the
271 copied structure to the address of the refcount member of the newly
272 copied event rather than the address of the refcount member of the
273 original event. Fixes #358737.
275 * tests/check/gst/gstevent.c: (GST_START_TEST):
276 Unit test for the above.
278 2006-09-29 Stefan Kost <ensonic@users.sf.net>
280 * docs/design/Makefile.am:
281 Dist some more files.
283 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
285 * tests/check/libs/controller.c: (GST_START_TEST),
286 (gst_controller_suite):
287 Add test for the previous fix; add some more tests
288 for correct refcounting behaviour; fix a few leaks
289 in test cases; call gst_controller_init() at start
292 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
294 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
295 (gst_controller_set_from_list):
296 Don't g_return_val_if_fail() on timed values with invalid timestamps
297 inside a critical section without unlocking the mutex. Spotted by
298 René Stadler. (#357617)
299 Also, fix up refcounting properly: when returning an existing
300 controller, we should increase the reference only once and not
301 once per property and when trying to control a property again
302 we should also increase the refcount.
304 2006-09-29 Wim Taymans <wim@fluendo.com>
306 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
307 * libs/gst/net/gstnettimeprovider.c:
308 (gst_net_time_provider_thread):
309 Stop reading commands when EOF as well.
311 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
312 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
313 * plugins/elements/gstidentity.c: (gst_identity_class_init):
314 Unify description of the dump property.
316 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
318 * tests/examples/manual/.cvsignore:
319 OK, so it's actually cvsignore that needs changing. Stop laughing.
321 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
323 * tests/examples/manual/Makefile.am:
324 Gah, declare vars *before* using them
326 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
328 * gst/gst.c: (init_pre), (scan_and_update_registry),
329 (ensure_current_registry_nonforking),
330 (ensure_current_registry_forking), (ensure_current_registry),
331 (init_post), (gst_debug_help), (gst_deinit):
333 * gst/gstregistry.c: (gst_registry_finalize),
334 (gst_registry_remove_features_for_plugin_unlocked),
335 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
336 (gst_registry_scan_path),
337 (_priv_gst_registry_remove_cache_plugins),
338 (_priv_gst_registry_cleanup):
340 Re-commit the registry changes, along with an extra fix:
341 When a cached plugin is encountered at a different file path,
342 update the stored path in the registry cache so that the parent
343 process knows where it actually is now when it re-reads the registry
344 cache. Fixes the thing that broke distcheck with the previous commit.
346 * tests/check/Makefile.am:
347 Clean up files named 'core' too when running make clean.
349 * tests/examples/manual/Makefile.am:
350 Set up a registry path for running these tests, and clean it properly
353 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
356 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
357 want gmodule-no-export-2.0.pc instead so that we don't drag in
358 --export-dynamic on every project that links to GStreamer.
360 Also, make our export regex only match the start of symbols, rather
361 than any symbol that contains '_gst' somewhere.
363 * libs/gst/check/Makefile.am:
364 The libgstcheck we build does however need export-dynamic, as it
365 produces some symbols that don't match our _gst... style regex.
368 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
370 * gst/gst.c: (init_pre), (scan_and_update_registry),
371 (ensure_current_registry_nonforking),
372 (ensure_current_registry_forking), (ensure_current_registry),
373 (init_post), (gst_debug_help), (gst_deinit):
375 * gst/gstregistry.c: (gst_registry_finalize),
376 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
377 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
378 (_gst_registry_cleanup):
380 Revert previous change until I figure out why it breaks distcheck.
382 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
384 * gst/gst.c: (init_pre), (scan_and_update_registry),
385 (ensure_current_registry_nonforking),
386 (ensure_current_registry_forking), (ensure_current_registry),
387 (init_post), (gst_debug_help), (gst_deinit):
389 Make init_pre and init_post take the full complement of GOptionFunc
390 args so they can return useful GErrors. Make the registry updating
393 Call _priv_gst_registry_remove_cache_plugins after scanning files to
394 ensure that the registry we're about to write out doesn't contain
395 stale information about old-deleted plugin files.
397 Make _priv_gst_registry_remove_cache_plugins return a boolean so
398 that deletion of plugin files is considered a registry change.
401 * gst/gstregistry.c: (gst_registry_finalize),
402 (gst_registry_remove_features_for_plugin_unlocked),
403 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
404 (gst_registry_scan_path),
405 (_priv_gst_registry_remove_cache_plugins),
406 (_priv_gst_registry_cleanup):
408 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
409 by adding _priv prefix, so that they won't appear in the global
410 symbol table. They still do atm though because of #318031. Move the
411 prototypes to gst_private.h
413 When removing a plugin, remove all features for that plugin too.
416 2006-09-27 Wim Taymans <wim@fluendo.com>
418 * docs/random/moving-plugins:
419 Make it clear that the "compiled-in descriptions" really mean
422 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
423 (gst_base_sink_wait_preroll):
426 * docs/libs/gstreamer-libs-sections.txt:
427 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
428 (gst_base_src_get_range), (gst_base_src_activate_push):
429 * libs/gst/base/gstbasesrc.h:
430 Added function to block while waiting for PLAYING, this function
431 is used by live sources that block on the clock.
432 API: gst_base_src_wait_playing()
434 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
436 Patch by: Peter Kjellerstedt <pkj at axis com>
439 gst-element-check.m4 is generated and should therefore be
440 copied from the build dir rather than the source dir (#357593).
441 'make distcheck' hasn't noticed this because we were disting
442 the file as well, so stop doing that.
444 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
446 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
447 Add some tests for gst_caps_intersect().
449 * tools/gst-launch.c: (event_loop):
450 Print all buffering percentages we get, even the 100% one.
452 2006-09-26 Wim Taymans <wim@fluendo.com>
454 * tools/gst-inspect.c: (print_element_properties_info),
456 Fix printing of flags to match the look of enums.
458 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
460 * gst/gstelementfactory.c:
461 Fix typo in docs blurb.
463 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
465 * gst/gsturi.c: (search_by_entry):
466 Don't assert/crash here if a uri handler doesn't return any
467 supported protocols. The list of protocols could be generated
468 dynamically at runtime or at plugin registration, and an error
469 in the underlying library shouldn't be fatal (#353301).
471 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
474 Fix warning if HAVE_PRINTF_EXTENSION is undefined
475 (spotted by Peter Kjellerstedt).
477 2006-09-23 Wim Taymans <wim@fluendo.com>
479 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
481 * libs/gst/base/gstbasesrc.c:
482 (gst_base_src_default_check_get_range), (gst_base_src_start),
483 (gst_base_src_activate_push), (gst_base_src_activate_pull),
484 (gst_base_src_change_state):
485 Match _start/_stop calls in the activate functions. Remove redundant
486 _stop call from the state change function. Fixes #356910.
487 Turn failure DEBUG into ERROR.
489 2006-09-22 Wim Taymans <wim@fluendo.com>
491 * docs/design/part-buffering.txt:
492 * gst/gstmessage.c: (gst_message_new_buffering),
493 (gst_message_parse_buffering):
494 Update docs about buffering.
496 * docs/design/part-trickmodes.txt:
499 2006-09-22 Stefan Kost <ensonic@users.sf.net>
501 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
502 (gst_controller_new_list):
503 Ref instances when returning them again (fixes #357180)
505 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
507 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
508 Don't forget to release proxy lock when there's an error.
510 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
513 Add extra initialisers for Caps things, to fix some plugin warnings
516 2006-09-18 Wim Taymans <wim@fluendo.com>
518 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
519 Also set template on the internal pad so that a getcaps from the
520 target pad returns the template caps.
522 2006-09-18 Wim Taymans <wim@fluendo.com>
524 * gst/gstelement.c: (gst_element_post_message),
525 (gst_element_dispose):
526 Use _DEBUG_OBJECT some more.
528 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
531 * tools/gst-launch.c: (main):
532 If the toplevel element is not a GstPipeline, it must be put in a
533 pipeline so that a bus and clock is selected.
535 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
537 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
538 JITTER, RATE, and LATENCY query should be handled by the
539 default case and not by the CONVERT query code.
541 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
543 * gst/gstformat.c: (gst_format_register):
544 Fix locking order (must take lock before using n_values).
546 * gst/gstvalue.c: (gst_value_serialize_enum),
547 (gst_value_deserialize_enum_iter_cmp),
548 (gst_value_deserialize_enum):
549 Fix serialisation/deserialisation of custom registered GstFormats.
551 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
552 Unit test for custom format serialisation/deserialisation.
554 2006-09-17 Stefan Kost <ensonic@users.sf.net>
556 * docs/pwg/building-boiler.xml:
557 * plugins/elements/gstcapsfilter.c:
558 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
561 2006-09-16 Edward Hervey <edward@fluendo.com>
563 * libs/gst/base/gstbasetransform.c:
564 (gst_base_transform_buffer_alloc):
565 Check if requested caps are the same as the sinks caps IF
566 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
568 This fixes the renegotiation issues stated in #352827.
570 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
573 * docs/manual/advanced-autoplugging.xml:
574 * tests/examples/Makefile.am:
575 * tests/examples/manual/.cvsignore:
576 * tests/examples/manual/Makefile.am:
577 * tests/examples/manual/extract.pl:
578 Extract the manual examples again like we used to do.
581 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
583 * win32/common/config.h:
586 2006-09-16 Stefan Kost <ensonic@users.sf.net>
589 Documents how to receive errors.
591 2006-09-15 Wim Taymans <wim@fluendo.com>
593 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
594 (event_loop), (main):
595 Added some comments here and there.
596 Post an application message when an interrupt is caught instead of doing
597 an uncontrolled state change.
598 Clean up the event loop.
599 Handle buffering messages, pause/resume the pipeline.
600 Make shutdown because of an interrupt more reliable.
602 2006-09-15 Wim Taymans <wim@fluendo.com>
604 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
605 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
606 (gst_base_sink_preroll_object):
607 Make sure that our internal state is correct when we commit our state
608 asynchronously. This solves a race where a state change to PLAYING
609 could cause the sink to remain blocked in preroll in some situations.
611 2006-09-15 Wim Taymans <wim@fluendo.com>
613 * tools/gst-inspect.c: (print_element_properties_info),
615 List flags as hex so it's easier to deal with.
617 2006-09-15 Wim Taymans <wim@fluendo.com>
619 * docs/libs/gstreamer-libs-sections.txt:
620 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
621 (gst_base_sink_do_sync):
622 * libs/gst/base/gstbasesink.h:
623 Expose logic to wait for preroll so that subclasses such as audiosink
624 can also use this method.
625 API: gst_base_sink_wait_preroll()
627 2006-09-15 Wim Taymans <wim@fluendo.com>
629 * gst/gstobject.c: (gst_object_set_parent):
630 * gst/gstpipeline.c: (do_pipeline_seek):
631 Small cleanups in docs and code.
633 * gst/gstsegment.c: (gst_segment_clip):
634 * tests/check/gst/gstsegment.c: (GST_START_TEST):
635 if stop == start and start is in the segment, no clipping should be
636 done. Also add a test for this.
638 2006-09-15 Wim Taymans <wim@fluendo.com>
640 * docs/design/part-buffering.txt:
641 * docs/gst/gstreamer-sections.txt:
642 * gst/gstmessage.c: (gst_message_new_buffering),
643 (gst_message_parse_buffering):
645 Added methods to create and parse BUFFERING messages.
646 Added preliminary docs about buffering.
647 API: gst_message_new_buffering
648 API: gst_message_parse_buffering
650 2006-09-06 Wim Taymans <wim@fluendo.com>
653 Update documentation.
655 * gst/gstelement.c: (gst_element_class_init),
656 (gst_element_release_request_pad), (gst_element_set_clock),
657 (gst_element_get_index), (gst_element_add_pad),
658 (gst_element_remove_pad), (gst_element_get_random_pad),
659 (gst_element_send_event), (gst_element_get_query_types),
660 (gst_element_query), (gst_element_post_message),
661 (gst_element_message_full), (gst_element_continue_state),
662 (gst_element_lost_state), (gst_element_save_thyself),
663 (gst_element_restore_thyself):
664 Documentation updates.
665 Rename last bit of the new-pad -> pad-added signal rename.
666 Fix the case where an element query would only work if the source
668 Avoid some useless type checking in message handling.
673 Documentation updates.
675 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
677 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
678 add an INFO line for when we actually update the fd
680 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
685 === release 0.10.10 ===
687 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
690 releasing 0.10.10, "Pais"
692 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
694 * docs/manual/advanced-position.xml:
695 Fix typo in sample code.
697 2006-09-05 Wim Taymans <wim@fluendo.com>
699 * libs/gst/net/gstnetclientclock.c: (inet_aton),
700 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
701 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
702 * libs/gst/net/gstnetclientclock.h:
703 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
704 * libs/gst/net/gstnettimepacket.h:
705 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
706 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
707 (gst_net_time_provider_thread), (gst_net_time_provider_new):
708 * libs/gst/net/gstnettimeprovider.h:
709 Make stuff compile on windows. Fixes #345295.
711 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
713 * gst/gst.c: (ensure_current_registry_forking):
714 Print better details when child was terminated by signal.
716 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
718 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
719 Print a warning rather than g_assert() if a plugin feature
720 is a URI handler but returns no protocols (#353976).
722 2006-09-02 Stefan Kost <ensonic@users.sf.net>
724 * docs/random/moving-plugins:
727 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
729 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
730 Fix locking order, handle NULL function values properly.
735 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
736 Initialise variable before using it and fix debug statement to
737 print the address of the function rather than the address of the
738 variable on the stack holding the address of the function.
740 2006-09-01 Wim Taymans <wim@fluendo.com>
742 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
743 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
744 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
745 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
746 (gst_ghost_pad_parent_unset),
747 (gst_ghost_pad_internal_do_activate_push),
748 (gst_ghost_pad_internal_do_activate_pull),
749 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
750 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
751 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
752 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
753 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
754 (gst_ghost_pad_new_no_target_from_template),
755 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
757 Avoid needless typechecking in macros.
758 Since the internal pad is always present and never changes, there is
759 no need to locking or ref when retrieving it.
760 Improve debugging a bit.
761 Handle link errors when setting the target. Fixes #341029.
763 2006-09-01 Wim Taymans <wim@fluendo.com>
765 * docs/libs/gstreamer-libs-sections.txt:
766 * docs/plugins/gstreamer-plugins-sections.txt:
769 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
770 (gst_collect_pads_event):
771 * libs/gst/base/gstcollectpads.h:
772 Documentation updates.
773 Free queued buffer when removing a pad.
775 2006-08-31 Michael Smith <msmith@fluendo.com>
777 * gst/gstutils.c: (gst_element_link_pads),
778 (gst_element_link_pads_filtered):
779 Ensure that we set a capsfilter to NULL if we failed to link it
780 when doing filtered linking, to avoid criticals.
782 No need to check for unreffing srcpad, which is explicly NULLed
783 above (a trivial code cleanup).
785 2006-08-31 Wim Taymans <wim@fluendo.com>
787 * docs/design/part-gstghostpad.txt:
788 Update ascii art in documentation.
790 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
791 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
792 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
793 (gst_ghost_pad_internal_do_activate_push),
794 (gst_ghost_pad_internal_do_activate_pull),
795 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
796 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
797 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
798 (gst_ghost_pad_set_target):
799 Small cleanups and leak fixes.
800 Remove some checks now that the internal pad is never NULL.
801 Fix the case where linking pads without a target would create nasty
802 criticals. Fixes #341029.
803 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
804 value of _set_target().
806 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
807 (gst_ghost_pad_suite):
808 Some more tests for creating and linking untargeted ghostpads.
810 2006-08-31 Edward Hervey <edward@fluendo.com>
812 * docs/gst/gstreamer-sections.txt:
813 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
814 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
815 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
816 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
817 (gst_ghost_pad_new_from_template),
818 (gst_ghost_pad_new_no_target_from_template):
820 Refactored *_new() functions.
821 Templates are now used as a g_object_new() parameter.
822 Use template in _do_getcaps() if we don't have a target.
823 Small documentation cleanups.
824 Added two new constructors:
825 gst_ghost_pad_new_from_template()
826 gst_ghost_pad_new_no_target_from_template()
827 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
828 (gst_ghost_pad_suite):
829 Added tests for new ghostpad instanciation functions.
831 API additions: gst_ghost_pad_new_from_template,
832 gst_ghost_pad_new_no_target_from_template
834 2006-08-30 Stefan Kost <ensonic@users.sf.net>
836 * docs/random/ensonic/profiling.txt:
837 Ideas about qos profiling.
839 2006-08-29 Wim Taymans <wim@fluendo.com>
841 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
845 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
848 Improve and detypofy docs.
850 * tests/check/Makefile.am:
851 * tests/check/gst/.cvsignore:
852 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
853 Add a basic test suite for GstXML.
855 2006-08-29 Wim Taymans <wim@fluendo.com>
857 * gst/gstelement.c: (activate_pads), (clear_caps),
858 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
859 Clear the pad caps when the element shut down all of the pads and
860 is not streaming data that could modify the caps.
863 2006-08-28 Michael Smith <msmith@fluendo.com>
865 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
866 Revert previous change; I misunderstood single-segment mode.
868 2006-08-28 Michael Smith <msmith@fluendo.com>
870 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
871 Unset DISCONT on buffers when using single-segment mode.
873 2006-08-28 Wim Taymans <wim@fluendo.com>
875 * gst/gstcaps.c: (gst_caps_merge_structure):
877 Fix docs and indentation again.
879 * tests/check/gst/gstquery.c: (GST_START_TEST):
880 Fix leak in tests and add some more tests.
882 2006-08-28 Edward Hervey <edward@fluendo.com>
884 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
885 Inform GstSegment of the last stop position in order for the current
886 segment to have a proper duration if it doesn't have a specific stop
887 position from which a duration could be calculated.
888 This bug was noticeable when a non-flushing, non-update new segment was
889 followed by another segment (all buffers from the new segment were being
892 2006-08-28 Wim Taymans <wim@fluendo.com>
894 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
895 Small comment update.
897 * plugins/elements/gstidentity.c: (gst_identity_class_init),
898 (gst_identity_transform_ip):
899 Drop-probability is broken, mention this in the code with a
900 FIXME and also in the property description.
901 Make silent also be silent about the drop messages.
903 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
905 * docs/manual/appendix-win32.xml:
906 Remove mention of popt, we don't depend on that any
907 longer (#353136). Add some comments pointing out that
908 this section is slightly outdated.
910 2006-08-28 Wim Taymans <wim@fluendo.com>
912 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
914 * gst/gstquery.c: (gst_query_new_segment):
915 * tests/check/gst/gstquery.c: (GST_START_TEST):
916 Initialize variables when creating a new segment query.
919 2006-08-28 Wim Taymans <wim@fluendo.com>
921 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
923 * gst/gstelement.c: (gst_element_get_bus):
924 * tests/check/gst/gstelement.c: (GST_START_TEST):
925 Check for NULL before _reffing the bus. Fixes #353122.
927 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
929 * docs/manual/basics-bus.xml:
930 Docs update: fix wrong callback return value explanation; add
931 some lines about the implicit relationship between main loop
932 and main context; remove duplicate main loop variable declaration.
934 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
936 * tests/check/gst/gstcaps.c: (GST_START_TEST):
937 Don't leak caps in unit test; add a few more simple
940 2006-08-24 Stefan Kost <ensonic@users.sf.net>
942 * docs/gst/gstreamer-sections.txt:
943 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
944 (gst_caps_structure_is_subset), (gst_caps_merge),
945 (gst_caps_merge_structure):
947 * libs/gst/base/gstbasetransform.c:
948 (gst_base_transform_transform_caps):
949 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
950 implement caps merging (fixes #352580)
952 2006-08-23 Stefan Kost <ensonic@users.sf.net>
955 * tools/gst-plot-timeline.py:
956 add debug-log plotting developer tool (#340674)
958 2006-08-23 Wim Taymans <wim@fluendo.com>
960 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
962 Improve debugging for task functions.
964 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
965 (gst_task_start), (gst_task_pause), (gst_task_join):
966 Make sure that the task function started and finished after a
968 Don't try to push the task function on the threadpool multiple
970 Improve the g_warning message with some useful suggestions
971 about how to fix the problem.
973 2006-08-23 Wim Taymans <wim@fluendo.com>
975 * gst/gstutils.c: (gst_pad_proxy_getcaps):
976 Handle RESYNC correctly in _proxy_getcaps.
978 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
980 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
981 (gst_xml_parse_memory), (gst_xml_get_element):
982 Chain up to parent class in dispose function and also
983 unref the elements in the toplevel_elements GList.
984 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
985 Always return a reference in gst_xml_get_element() rather
988 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
989 Don't leak GstXml object.
991 2006-08-21 Stefan Kost <ensonic@users.sf.net>
993 * docs/gst/gstreamer-sections.txt:
994 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
997 * libs/gst/base/gstbasetransform.c:
998 (gst_base_transform_transform_caps):
999 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
1002 2006-08-21 Edward Hervey <edward@fluendo.com>
1004 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
1005 Implement GObject::dispose virtual method in GstXML so we can free the
1008 2006-08-21 Wim Taymans <wim@fluendo.com>
1010 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
1011 (gst_buffer_create_sub):
1012 Copy duration/offset_end/caps when creating a subbuffer of the
1014 Make the subbuffer read-only when we make the metadata writable for
1017 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1018 Added check for metadata copy when creating subbuffers.
1020 2006-08-21 Edward Hervey <edward@fluendo.com>
1022 * libs/gst/base/gstbasetransform.c:
1023 (gst_base_transform_buffer_alloc):
1024 Only call downstream buffer_alloc if transform element is passthrough
1025 or always_in_place. Closes #350449.
1027 2006-08-20 Stefan Kost <ensonic@users.sf.net>
1030 ChangeLog surgery to add comments to previous changes
1032 2006-08-20 Stefan Kost <ensonic@users.sf.net>
1037 * gst/gstpad.c: (gst_pad_set_active):
1038 Be more verbose in the log
1040 * libs/gst/base/gstbasetransform.c:
1041 (gst_base_transform_transform_caps):
1042 Simplify caps to get rid of duplicates, fixes #345444
1044 2006-08-20 Stefan Kost <ensonic@users.sf.net>
1048 Use these optimizations only internally.
1050 2006-08-20 Stefan Kost <ensonic@users.sf.net>
1052 * gst/gstvalue.c: (gst_value_compare_list),
1053 (gst_value_compare_fraction_range),
1054 (gst_value_intersect_fraction_fraction_range),
1055 (gst_value_intersect_fraction_range_fraction_range),
1056 (gst_value_subtract_fraction_fraction_range),
1057 (gst_value_subtract_fraction_range_fraction_range),
1058 (gst_value_get_compare_func), (gst_value_compare),
1059 (gst_value_compare_with_func):
1061 Saves the expensive lookup of the compare function in many cases
1064 2006-08-18 Edward Hervey <edward@fluendo.com>
1066 * tests/check/gst/gstinfo.c: (gst_info_suite):
1067 Disable test that require gstdebug if it wasn't built in core.
1069 2006-08-18 Stefan Kost <ensonic@users.sf.net>
1071 * docs/random/ensonic/logging.txt:
1074 * gst/gstinfo.c: (gst_debug_log_default):
1075 reorder fields, save some columns, add optional color codes for log
1078 2006-08-18 Stefan Kost <ensonic@users.sf.net>
1080 * docs/random/ensonic/logging.txt:
1081 add ideas about making the logs a bit more useful
1083 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
1085 * docs/pwg/advanced-events.xml:
1086 * docs/pwg/titlepage.xml:
1087 Update for 0.10 API (#340627). Add myself
1090 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
1092 * docs/libs/gstreamer-libs-docs.sgml:
1093 * docs/libs/gstreamer-libs-sections.txt:
1094 * libs/gst/check/gstbufferstraw.c:
1095 Make gstcheck stuff show up in docs (still needs to
1096 be documented properly though).
1098 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
1100 * docs/gst/gstreamer-sections.txt:
1102 * gst/gst.c: (init_post):
1103 * gst/gst_private.h:
1104 * gst/gstquark.c: (_priv_gst_quarks_initialize):
1106 * gst/gstquery.c: (gst_query_new_position),
1107 (gst_query_set_position), (gst_query_parse_position),
1108 (gst_query_new_duration), (gst_query_set_duration),
1109 (gst_query_parse_duration), (gst_query_new_convert),
1110 (gst_query_set_convert), (gst_query_parse_convert),
1111 (gst_query_new_segment), (gst_query_set_segment),
1112 (gst_query_parse_segment), (gst_query_new_seeking),
1113 (gst_query_set_seeking), (gst_query_parse_seeking):
1114 Add internal helpers for pre-registering quarks from static strings
1115 and using the quark values directly instead of looking them up when
1116 creating and parsing queries. Can be used for event construction too.
1119 2006-08-16 Wim Taymans <wim@fluendo.com>
1124 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
1126 * gst/gstutils.c: (gst_util_set_value_from_string):
1127 Fix memleak (#351502).
1129 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1130 Add unit test for most of gst_util_set_value_from_string()
1131 (not that one would want to encourage use of this function).
1133 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
1135 * libs/gst/check/gstcheck.h:
1136 Use const gchar * variables in fail_unless_equals_string
1137 macro to avoid compiler warnings (and don't use tabs for
1140 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
1142 * tools/gst-launch.c: (print_tag):
1143 More space on the left for the tag names, to cater
1144 for the 'extended comment' tag (not touching the
1145 string for the first line since it's translated).
1147 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
1149 * libs/gst/check/gstcheck.h:
1150 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
1151 print something when they fail.
1153 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
1155 * docs/gst/gstreamer-sections.txt:
1156 * gst/gsttaglist.c: (_gst_tag_initialize):
1158 API: add GST_TAG_EXTENDED_COMMENT (#350935).
1159 Also change merge function for GST_TAG_COMMENT to
1162 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
1164 * gst/gstinfo.c: (gst_debug_print_object):
1165 Make GST_PTR_FORMAT print messages as well.
1167 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
1168 (GST_START_TEST), (gst_info_suite):
1171 2006-08-14 Edward Hervey <edward@fluendo.com>
1173 * gst/gstelementfactory.c: (gst_element_register):
1174 If the GstElementClass doesn't have a GstElementDetails with all fields
1175 filled up correctly (longname, description AND author), then error out
1176 nicely instead of crashing.
1178 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
1180 * gst/gststructure.c:
1181 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
1184 Expand on the difference between arrays and lists as we use them.
1186 2006-08-14 Wim Taymans <wim@fluendo.com>
1188 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1189 If the parent state change function failed, don't assume we can safely
1190 stop the source, this will be done when the pads are deactivated.
1192 2006-08-14 Wim Taymans <wim@fluendo.com>
1195 * gst/gsttask.c: (gst_task_join):
1198 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1199 (gst_pad_stop_task):
1200 When pad (de)activation failed for some reason, restore the old
1201 activation mode and set the pad to flushing instead of assuming the
1203 If the _task_join() failed, reinstall the task on the pad so that it can
1204 be stopped later and return an error.
1206 2006-08-11 Andy Wingo <wingo@pobox.com>
1209 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1210 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
1211 is only for users of API that don't want to see deprecated
1212 functions in the headers; people that want to compile out
1213 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
1214 CFLAGS. Fixes the build of multifdsink, or will soon..
1216 2006-08-11 Wim Taymans <wim@fluendo.com>
1218 * docs/gst/gstreamer-sections.txt:
1219 Add GstClockClass vmethod docs.
1222 Mark #endif with comment for associated #if
1224 * gst/gstclock.c: (gst_clock_id_wait):
1226 Add vmethod wait_jitter to avoid an unneeded _get_time() for
1227 most clock implementations.
1229 Flesh out docs about resolution methods.
1230 API: GstClockClass::wait_jitter
1232 * gst/gstsystemclock.c: (gst_system_clock_class_init),
1233 (gst_system_clock_async_thread),
1234 (gst_system_clock_id_wait_jitter_unlocked),
1235 (gst_system_clock_id_wait_jitter):
1236 Use base class wait_jitter variant for improved performance
1237 due to less clock polling.
1239 2006-08-11 Edward Hervey <edward@fluendo.com>
1241 * gst/gst.c: (gst_init_check), (init_post):
1242 Set gst as being initialized before scanning/updating the registry,
1243 since there might be my python plugin loader that calls gst_init() and
1244 we don't want to loop back in.
1247 2006-08-11 Wim Taymans <wim@fluendo.com>
1249 * docs/design/part-qos.txt:
1250 Bring docs in line with the code. Mostly the sign of the jitter was
1251 wrong in the docs. Fixes #349943.
1254 Fix the docs for the jitter.
1256 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
1257 (gst_event_parse_tag), (gst_event_new_buffer_size),
1258 (gst_event_parse_buffer_size), (gst_event_parse_qos),
1259 (gst_event_new_seek), (gst_event_parse_seek),
1260 (gst_event_new_navigation):
1261 Make sure the GstStructure has no parent when creating custom
1263 Add some more argument checking so that we avoid 0.0 rates.
1264 Flesh out the docs for the QoS event some more.
1266 2006-08-11 Wim Taymans <wim@fluendo.com>
1268 * docs/gst/gstreamer-sections.txt:
1269 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1270 (ensure_current_registry_forking), (ensure_current_registry),
1271 (parse_one_option), (parse_goption_arg), (gst_deinit),
1272 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
1275 Added API and command line option to disable registry forking in
1276 addition to the environment variable.
1277 Constify some static arrays.
1278 Added some more debug.
1280 API: gst_registry_fork_is_enabled()
1281 API: gst_registry_fork_set_enabled()
1282 API: --gst-disable-registry-fork command line option
1285 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
1287 * gst/gst.c: (gst_init):
1288 Fix typo in error message.
1290 2006-08-10 Stefan Kost <ensonic@users.sf.net>
1292 * libs/gst/controller/gstcontroller.h:
1293 fix ABI size-correction
1295 * tests/check/libs/gdp.c: (gst_dp_suite):
1296 make tests that use deprecated API conditional
1298 2006-08-10 Stefan Kost <ensonic@users.sf.net>
1300 * docs/libs/gstreamer-libs-sections.txt:
1301 * libs/gst/controller/gstcontroller.c:
1302 (_gst_controller_get_property), (_gst_controller_set_property),
1303 (_gst_controller_init), (_gst_controller_class_init):
1304 * libs/gst/controller/gstcontroller.h:
1305 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
1306 (gst_object_set_control_rate):
1307 API: add gst_object_{s,g}et_control_rate(), add private data section,
1310 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1311 * libs/gst/dataprotocol/dataprotocol.h:
1312 add deprecation guards to make gtk-doc happy and allow disabling cruft
1314 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
1316 * tests/check/Makefile.am:
1317 * tests/check/gst/.cvsignore:
1318 Let's enable the new unit test as well.
1320 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
1323 * docs/gst/gstreamer-sections.txt:
1324 * gst/gstconfig.h.in:
1325 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
1326 (_gst_info_printf_extension_ptr),
1327 (_gst_info_printf_extension_segment):
1328 API: add GST_SEGMENT_FORMAT, which is a printf extension we
1329 register that lets us easily dump GstSegments into debug
1332 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
1333 (info_segment_format_printf_extension), (gst_info_suite):
1334 Add simple unit test that logs a bunch of different segments (not
1335 valgrinded at the moment because of leaks in
1336 gst_debug_add_log_function).
1338 2006-08-09 Edward Hervey <edward@fluendo.com>
1340 * libs/gst/base/gstbasetransform.c:
1341 (gst_base_transform_buffer_alloc):
1342 Even if we can't figure out the proper format to request downstream,
1343 call buffer_alloc() downstream with the input parameters without setting
1344 the caps on the srcpad. This will force negotiation in the chain
1348 2006-08-08 Edward Hervey <edward@fluendo.com>
1350 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
1351 Unlinking from a pad without a target is now a perfectly valid case
1352 which should NOT raise an assertion.
1353 This case would happen if a linked ghostpad its target set to NULL after
1354 it was previously linked.
1356 2006-08-08 Edward Hervey <edward@fluendo.com>
1358 * tests/check/libs/gdp.c:
1359 Also comment out the test (see below).
1361 2006-08-08 Edward Hervey <edward@fluendo.com>
1363 * tests/check/libs/gdp.c: (gst_dp_suite):
1364 Use the architecture information from config.h and not gcc macros
1365 in order to properly disable a test that fails on PPC64.
1367 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
1369 * gst/gstelement.c: (gst_element_remove_pad):
1370 Don't crash printing the warning if the pad has no parent.
1372 2006-08-02 Wim Taymans <wim@fluendo.com>
1374 * libs/gst/dataprotocol/dataprotocol.c:
1375 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1376 (gst_dp_crc), (gst_dp_header_payload_length),
1377 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
1378 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
1379 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
1380 (gst_dp_event_from_packet), (gst_dp_validate_header),
1381 (gst_dp_validate_payload):
1382 Make debug category static
1383 Constify the crc table.
1384 Do some more arg checking in public functions.
1385 Fix some docs and do some small cleanups.
1387 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
1388 Add some more checks to see if GDP deals with bogus input.
1390 2006-07-31 Wim Taymans <wim@fluendo.com>
1392 * gst/gstvalue.c: (gst_value_compare_list):
1393 Fix GstValueList comparison code. Fixes #347293.
1395 * tests/check/gst/gstvalue.c: (GST_START_TEST):
1396 Check to test GstValueList comparison.
1398 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
1400 * gst/gstelementfactory.c: (gst_element_factory_create):
1401 Remove unnecessary ref/unref pair
1403 * gst/parse/grammar.y:
1404 Make sure to free the parse buffer on all code paths.
1405 Move a g_free up to the error handler where it's easier to see.
1407 * tests/check/gst/gstevent.c: (test_event):
1408 Extending timeout for downstream travelling events to 10 seconds to
1409 hopefully avoid intermittent failure on the buildbots.
1411 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
1412 Don't manually set the state of the src element - it will happen as a
1413 natural consequence of the pipeline changing state, and that way it
1414 will do it in the right order too.
1416 2006-07-31 Wim Taymans <wim@fluendo.com>
1418 * libs/gst/base/gstbasetransform.c:
1419 (gst_base_transform_buffer_alloc):
1420 Use OBJECT_LOCK and refcounting to get the pad caps in the
1421 buffer_alloc function because the caps could change while we are
1422 busy with them. Fixes #349105
1424 2006-07-31 Wim Taymans <wim@fluendo.com>
1426 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
1427 Protect _PAD_CAPS with OBJECT_LOCK.
1429 2006-07-31 Wim Taymans <wim@fluendo.com>
1431 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
1432 (gst_pad_get_property), (gst_pad_activate_pull),
1433 (gst_pad_activate_push), (gst_pad_set_blocked_async),
1434 (gst_pad_set_activate_function),
1435 (gst_pad_set_activatepull_function),
1436 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
1437 (gst_pad_set_getrange_function),
1438 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
1439 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1440 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
1441 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
1442 (gst_pad_set_acceptcaps_function),
1443 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
1444 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
1445 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
1446 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
1447 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
1448 (gst_pad_configure_sink), (gst_pad_configure_src),
1449 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
1450 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
1451 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
1452 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
1453 (gst_pad_send_event):
1454 Use _DEBUG_OBJECT when it makes sense.
1455 Protect GST_PAD_CAPS with the OBJECT_LOCK.
1456 Small cleanups and code reflows.
1457 Avoid caps refcounting in _accept_caps.
1458 Refactor alloc_buffer so that the code performed on the peer is in a
1459 separate function. Also if the pad does not implement a buffer alloc
1460 function, we should still check if the pad is flushing before falling
1461 back to the default allocator.
1463 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
1465 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1466 Make all uses of identity and fakesink have silent=true to avoid
1467 serialising every passing data structure, which is breaking tests
1468 on FC4 for some unknown reason.
1470 2006-07-30 Stefan Kost <ensonic@users.sf.net>
1472 * gst/parse/Makefile.am:
1473 * gst/parse/grammar.y:
1474 * gst/parse/parse.l:
1475 Reverted previous patch as it required to bump the flex dependency to
1476 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
1478 2006-07-30 Stefan Kost <ensonic@users.sf.net>
1480 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
1482 * gst/parse/Makefile.am:
1483 * gst/parse/grammar.y:
1484 * gst/parse/parse.l:
1485 push & pop the state of the lexer for reentrant use case
1488 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
1490 * libs/gst/base/gstbasesrc.h:
1491 Note in the docs that the ::newsegment vfunc is not actually used by
1494 2006-07-28 Wim Taymans <wim@fluendo.com>
1496 * libs/gst/base/gstcollectpads.c:
1497 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
1498 (gst_collect_pads_clear), (gst_collect_pads_flush),
1499 (gst_collect_pads_event), (gst_collect_pads_chain):
1500 When flushing a pad, also clear the queued buffer so that we don't
1501 accidentally use it when we shouldn't.
1502 Fix leaks by inreffing incomming buffer.
1503 Flush out queued buffers in case of errors.
1506 2006-07-28 Wim Taymans <wim@fluendo.com>
1508 * docs/random/phonon-gst:
1509 Random notes about a Phonon backend.
1511 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
1513 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1515 * tests/check/libs/gdp.c: (gst_dp_suite):
1516 Take a whack at fixing the ppc compile using a different define to
1517 disable the broken test.
1519 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1520 Remove excess g_print()
1522 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
1524 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1525 Oops, meant to uncomment this line too to dampen the noise a bit.
1527 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
1529 * gst/parse/grammar.y:
1530 * gst/parse/parse.l:
1531 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1532 (GST_START_TEST), (parse_suite):
1533 Fix some of the leaks exposed by extending the parse-launch testsuite,
1534 and move the 3 I can't figure out into a separate test that won't run
1535 the pipelines unless the appropriate line is uncommented.
1537 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
1539 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1540 Requesting 0 bytes before the end of the file should result in
1541 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
1544 2006-07-27 Wim Taymans <wim@fluendo.com>
1546 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
1547 Fix useless assert, a uint is always positive.
1549 * gst/gststructure.c: (gst_structure_nth_field_name),
1550 (gst_structure_foreach), (gst_structure_map_in_place):
1551 Check input arguments for public functions to avoid obvious crashes.
1553 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
1554 * plugins/elements/gstfakesink.h:
1555 Do less useless typechecking.
1557 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
1559 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1560 Do not use mmap() by default since there are a number of error
1561 conditions that we would like to handle in a non-fatal way that
1562 will result in a SIGBUS if we use mmap(). Examples: external
1563 devices (USB harddrive, portable music player) being unplugged
1564 while in use; file on mounted CD/DVD that can't be read because
1565 the medium is partly damaged. Fixes #348455 and #348475.
1567 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
1570 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
1573 2006-07-26 Stefan Kost <ensonic@users.sf.net>
1575 * gst/gstregistry.c:
1576 Move big documentation comment into class section header, so that it
1577 appears in the API docs.
1579 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
1581 * docs/gst/gstreamer-sections.txt:
1582 Oops. Commit the docs additions too for new API.
1583 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
1585 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
1587 * gst/gststructure.c: (gst_structure_id_set),
1588 (gst_structure_id_set_valist):
1589 * gst/gststructure.h:
1590 Add API for setting values into structures without performing
1591 a quark lookup, if the appropriate quark is already known.
1593 API: gst_structure_id_set
1594 API: gst_structure_id_set_valist
1596 * gst/parse/grammar.y:
1597 * gst/parse/parse.l:
1598 Remove some dead code shown by the coverage information.
1599 Don't throw a critical g_warning when encountering a syntax error,
1600 just warn and let the normal error path handle it.
1602 * plugins/elements/gstelements.c:
1603 Bump the rank of filesink up to PRIMARY so that it is preferred over
1604 gnomevfssink for file:// sink uri's
1606 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1607 (GST_START_TEST), (run_delayed_test),
1608 (gst_parse_test_element_base_init),
1609 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
1610 (gst_parse_test_element_change_state),
1611 (gst_register_parse_element), (parse_suite):
1612 Beef up the tests for parse syntax to check that more error cases
1613 fail as they are supposed to. Increases the test coverage a bit.
1615 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
1617 * docs/manual/basics-elements.xml:
1618 Fix gst_element_link() example.
1621 Mention in API docs that one should usually gst_bin_add()
1622 elements to a bin or pipeline before doing the linking.
1624 2006-07-26 Wim Taymans <wim@fluendo.com>
1626 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
1627 (gst_subbuffer_get_type), (gst_buffer_create_sub):
1628 Avoid function call for known types by keeping the buffer and
1629 subbuffer GType global.
1631 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1632 Random silly optimisations in read() path.
1634 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
1636 * tools/gst-launch.c: (main):
1637 If the top-level of the parse is a normal bin, it doesn't do the
1638 right logic to run as a top-level element, so place it inside a
1641 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
1643 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
1644 Remove superfluous g_object_notify() calls, GObject does
1645 that for us automatically.
1647 2006-07-25 Stefan Kost <ensonic@users.sf.net>
1650 on Win32, use dllspec to export the debug category symbols
1652 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
1654 * gst/gsttaglist.c: (_gst_tag_initialize):
1655 Allow more than one GST_TAG_IMAGE per taglist.
1657 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
1659 * gst/gstminiobject.c:
1661 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
1662 (gst_fd_src_create):
1663 log recurring events at LOG level
1664 add more debug for when the fd gets set
1666 2006-07-21 Stefan Kost <ensonic@users.sf.net>
1668 * gst/gstparse.c: (gst_parse_launch):
1669 Also remove reentrance checks if flex is MT safe (#348179)
1670 Fix my empty ChangeLog entry below
1672 2006-07-21 Andy Wingo <wingo@pobox.com>
1674 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
1676 * libs/gst/check/Makefile.am
1677 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
1678 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
1679 * libs/gst/check/gstbufferstraw.h:
1680 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
1681 functions, thus proving I am still a GStreamer haxor. OK I wrote
1682 them a long time ago, but anyways.
1684 2006-07-21 Stefan Kost <ensonic@users.sf.net>
1687 * gst/gstparse.c: (gst_parse_launch):
1688 Check for flex version and omit mutex if we have a MT save flex
1691 2006-07-21 Wim Taymans <wim@fluendo.com>
1693 * gst/gstparse.c: (gst_parse_launch):
1694 Protect recursive calls to _parse with a recursive mutex
1697 2006-07-21 Wim Taymans <wim@fluendo.com>
1699 * tests/check/gst/gstpad.c: (GST_START_TEST):
1702 2006-07-20 Stefan Kost <ensonic@users.sf.net>
1704 * gst/gstparse.c: (gst_parse_launch):
1705 Do not hang on recursive usage of gst_parse_launch()
1707 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
1710 Add some more docs, comments and FIXME 0.11s here and there
1711 and also fix some typos.
1713 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
1716 Convert tabs to spaces for better readability.
1718 2006-07-20 Edward Hervey <edward@fluendo.com>
1720 * tests/check/libs/gdp.c: (gst_dp_suite):
1721 the test_buffer test fails at line 140 on ppc64 at the following
1723 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
1724 GST_BUFFER_FLAG_IN_CAPS),
1725 "GST_BUFFER_IN_CAPS flag should have been copied !");
1726 See bug #348114 for more details.
1728 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
1730 * docs/pwg/advanced-scheduling.xml:
1732 Fix typos (#348000).
1734 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
1736 * docs/pwg/intro-basics.xml:
1737 Fix wrong links (#347927).
1739 2006-07-18 Stefan Kost <ensonic@users.sf.net>
1741 * gst/gstregistry.h:
1742 * gst/gstregistryxml.c: (load_feature),
1743 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1744 * win32/common/config.h:
1745 make --disable-index work (#342564)
1747 2006-07-18 Wim Taymans <wim@fluendo.com>
1749 Patch by: Peter Kjellerstedt <pkj at axis dot com>
1753 The attached patch adds two missing defines to gsttrace.h when tracing
1754 is disabled. It also corrects one existing define.
1757 2006-07-17 Wim Taymans <wim@fluendo.com>
1759 * docs/gst/gstreamer-sections.txt:
1760 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
1762 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
1763 Add two functions to check and change the SIGSEGV behaviour
1764 when loading plugins.
1765 Don't mess with the SIGSEGV handler when we were told not to.
1767 API: gst_segtrap_is_enabled
1768 API: gst_segtrap_set_enabled
1770 2006-07-14 Wim Taymans <wim@fluendo.com>
1772 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1773 * tests/check/elements/filesrc.c: (GST_START_TEST):
1774 Revert fix for regression in #347408 after release.
1776 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
1778 Patch by: Antoine Tremblay <hexa00 at gmail com>
1780 * gst/gstutils.c: (gst_element_unlink):
1781 Free iterator when done (#347311).
1783 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1784 And add a test case for this.
1786 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
1789 Bump nano back to CVS
1791 === release 0.10.9 ===
1793 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
1796 releasing 0.10.9, "On the road again"
1798 2006-07-13 Wim Taymans <wim@fluendo.com>
1800 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1801 * tests/check/elements/filesrc.c: (GST_START_TEST):
1802 Revert pull-0 fix for release. Disable check. Fixes #347408.
1804 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
1806 * libs/gst/dataprotocol/dataprotocol.c:
1807 (gst_dp_event_from_packet_1_0):
1808 Fixes #347337: failure to deserialize event packets with
1809 empty payload (only event type)
1811 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
1814 do not install a .c file in the header directory
1816 2006-07-13 Edward Hervey <edward@fluendo.com>
1818 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1819 GhostPad no longer implicitely use the padtemplates of the targets.
1822 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
1824 * gst/gstvalue.c: (gst_value_compare_list),
1825 (gst_value_compare_array), (_gst_value_initialize):
1826 * tests/check/gst/gstvalue.c: (GST_START_TEST):
1827 Make GstValueArray comparison be order dependent as designed.
1828 Add checks for value lists and value array comparisons.
1831 2006-07-11 Edward Hervey <edward@fluendo.com>
1833 * gst/gstbin.c: (activate_pads),
1834 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
1835 (gst_bin_change_state_func):
1836 (de)activate src pads before calling state_change on the childs.
1837 This is to avoid the case where a src ghostpad is blocked (holding the
1838 stream lock), which would block the deactivation of the ghostpad's
1840 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
1841 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
1842 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
1843 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1844 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1845 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1846 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
1847 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
1848 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
1849 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
1850 (gst_ghost_pad_class_init),
1851 (gst_ghost_pad_internal_do_activate_push),
1852 (gst_ghost_pad_internal_do_activate_pull),
1853 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1854 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1855 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
1856 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
1857 GhostPads now create their internal GstProxyPad at creation (and not
1858 when they're linked, as it was being done previously).
1859 The internal and target pads are linked straight away.
1860 The data will also travel through the other pad in order to make
1861 pad blocking and probes non-hackish (the probe/block now really happens
1862 on the GhostPad and not on the target).
1863 * gst/gstpad.c: (gst_pad_set_blocked_async),
1864 (gst_pad_link_prepare), (gst_pad_push_event):
1865 Remove previous ghostpad cruft.
1866 * gst/gstutils.c: (gst_pad_add_data_probe),
1867 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1868 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1869 (gst_pad_remove_buffer_probe):
1870 Remove previous ghost pad cruft.
1871 Added more detailed debug statements.
1872 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1873 Fix the testsuite for refcounting changes.
1874 The comments about who has references were correct, but the refcount
1875 being checked wasn't the same (!?!).
1879 2006-07-10 Stefan Kost <ensonic@users.sf.net>
1881 * docs/gst/gstreamer-sections.txt:
1882 * gst/gstconfig.h.in:
1883 More docs for configuration options, add docs to gtk-doc.
1885 2006-07-10 Stefan Kost <ensonic@users.sf.net>
1888 * gst/gstconfig.h.in:
1889 * win32/common/config.h:
1890 Fix build when disabling tracing (fixes #344016). Also start to document
1891 the defines that disable the sub-systems.
1893 2006-07-10 Edward Hervey <edward@fluendo.com>
1895 * gst/gst.c: (ensure_current_registry_forking):
1896 let's make valgrind happy...
1898 2006-07-09 Wim Taymans <wim@fluendo.com>
1900 * gst/gstelement.c: (activate_pads),
1901 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1902 Better pad activation code: Reset the collect value too on resync.
1905 2006-07-09 Wim Taymans <wim@fluendo.com>
1907 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
1908 (gst_pad_activate_push):
1909 Use some more macros where it makes sense.
1910 Allow pad mode switching instead of asserting. When a pad
1911 is activated in one mode and we activate it in another,
1912 deactivate it first before activating it in a different mode.
1915 2006-07-08 Andy Wingo <wingo@pobox.com>
1917 * tools/gst-launch.c (main): Handle err == NULL.
1919 * gst/gst.c (init_post, ensure_current_registry)
1920 (ensure_current_registry_forking)
1921 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
1922 factoring out the registry scanning into separate functions. Don't
1923 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
1924 Better environment var name/interface suggestions accepted.
1926 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
1928 * gst/gstobject.c: (gst_object_set_name_default),
1929 (gst_object_set_name):
1930 Random micro-optimisation: don't use a hash table
1931 with strings as keys and the usual strdup/strcmp
1932 involved, but rather just use the GQuark of the
1933 type name as key, since it needs to be looked up
1934 anyway to get the type name string.
1936 * tests/check/gst/gstobject.c: (GST_START_TEST):
1939 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
1941 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
1942 (gst_bin_iterate_all_by_interface):
1943 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
1944 GTypes are gulongs and thus the top 4 bytes might be cut
1945 off on some platforms when doing GPOINTER_TO_INT, leading
1946 to invalid GTypes and bad things happening (see RH bug #179654).
1947 Also add a check to make sure the type passed in is really
1950 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
1955 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
1959 * gst-element-check.m4:
1960 * gst-element-check.m4.in:
1961 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
1962 instead of the unversioned gst-inspect (#324176, #168659).
1964 2006-07-06 Wim Taymans <wim@fluendo.com>
1967 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
1970 2006-07-06 Wim Taymans <wim@fluendo.com>
1972 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1973 (gst_base_src_wait), (gst_base_src_update_length),
1974 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
1975 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
1976 (gst_base_src_loop), (gst_base_src_start),
1977 (gst_base_src_activate_pull):
1979 blocksize == 0 now means the default blocksize when working in push
1981 Remove some pointless asserts in _wait function.
1982 Fix offset/length calculations and EOS handling. We can now pull 0
1983 bytes as well, which is allowed.
1984 use _check_get_range() to decide if we can operate in _pull based
1986 Fix refcounting leak when check_get_range function was not
1988 API GstBaseSrc::blocksize range can be 0 too now (default)
1990 * tests/check/elements/filesrc.c: (GST_START_TEST),
1992 Added check to test _get_range() behaviour.
1994 2006-07-06 Wim Taymans <wim@fluendo.com>
1996 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
1997 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
1998 (gst_pad_pull_range):
2000 Lots of comments and docs added to the pad functions.
2001 Flesh out the expected behaviour of the get_range() functions.
2003 2006-07-06 Wim Taymans <wim@fluendo.com>
2008 * gst/gstiterator.h:
2012 Remove comma at end of enumerator list.
2014 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
2016 * win32/common/libgstbase.def:
2017 * win32/common/libgstdataprotocol.def:
2018 * win32/common/libsgtreamer.def:
2019 Add new exported functions.
2021 2006-07-05 Wim Taymans <wim@fluendo.com>
2023 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
2024 Add some more docs here and there.
2026 2006-07-05 Wim Taymans <wim@fluendo.com>
2028 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
2029 (gst_base_sink_loop), (gst_base_sink_get_position):
2030 When operating in pull mode update the offset so that we
2033 2006-07-05 Wim Taymans <wim@fluendo.com>
2035 * gst/gstregistryxml.c: (read_string):
2036 Avoid strdup. (will happen in libxml, but hey!)
2041 2006-07-05 Wim Taymans <wim@fluendo.com>
2043 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
2044 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2046 No point in checking if the size of the subbuffer > 0, the
2047 code handles it correclty as demonstrated by unit test.
2048 Also add a unit test for the zero sized _new_and_alloc and
2049 _copy. Fixes #346663.
2051 2006-07-05 Wim Taymans <wim@fluendo.com>
2053 * libs/gst/base/gstbasetransform.c:
2054 (gst_base_transform_prepare_output_buffer),
2055 (gst_base_transform_buffer_alloc),
2056 (gst_base_transform_handle_buffer):
2057 Make sure the buffer we pass to transform_ip has a refcount of
2058 1 and thus is writable. Fixes #343196
2060 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
2062 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2063 (gst_file_src_init), (gst_file_src_set_property),
2064 (gst_file_src_get_property), (gst_file_src_map_region):
2065 * plugins/elements/gstfilesrc.h:
2066 Add "sequential" property, off by default, to use madvise and hint
2067 to the kernel that sequential access is desired.
2068 Touch all retrieved pages by default to ensure they are pulled
2069 into memory. (Closes #345720)
2071 2006-07-03 Wim Taymans <wim@fluendo.com>
2073 * docs/design/part-block.txt:
2074 * docs/design/part-dynamic.txt:
2077 2006-07-03 Wim Taymans <wim@fluendo.com>
2079 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
2080 (gst_caps_unref), (gst_static_caps_get),
2081 (gst_caps_append_structure):
2082 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
2083 Use GSlice when the glib we build against is >= 2.10
2085 2006-07-03 Wim Taymans <wim@fluendo.com>
2087 * gst/gstelement.c: (gst_element_pads_activate):
2088 Small cleanup in pad activation code.
2090 2006-07-03 Wim Taymans <wim@fluendo.com>
2092 Patch by: Peter Kjellerstedt <pkj at axis dot com>
2094 * gst/gst-i18n-app.h:
2095 * gst/gst-i18n-lib.h:
2096 * tools/gst-inspect.c: (print_signal_info):
2097 The attached patch will make the inclusion of gettext.h unconditional in
2098 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
2099 libintl.h in tools/gst-inspect.c.
2100 This allows use of --disable-nls again and fixes #344642.
2102 2006-07-03 Edward Hervey <edward@fluendo.com>
2104 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
2105 Implement pad blocking on events according to part-block.txt.
2106 More comments on behaviour.
2107 * tests/check/gst/gstevent.c: (test_event):
2108 Send event to peer pad of blocked pad (else it will block).
2110 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
2112 * libs/gst/check/gstcheck.c: (gst_check_message_error),
2113 (gst_check_run_suite):
2114 if we get the wrong message, give us the types as string
2115 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2117 * tests/check/elements/filesrc.c: (GST_START_TEST):
2118 add a test for trying to open a non-existing file
2120 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
2122 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2123 add a test for adding self
2125 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
2127 * libs/gst/check/gstcheck.h:
2128 add some assert_ as alias for fail_unless_*
2129 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
2130 increase test coverage
2132 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2135 include lcov.mak for lcov coverage generation
2136 * tools/Makefile.am:
2139 2006-07-02 Edward Hervey <edward@fluendo.com>
2141 * tests/check/elements/.cvsignore:
2144 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2147 don't set CFLAGS and friends for gcov, done from GST_GCOV now
2148 * tests/check/Makefile.am:
2151 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2153 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
2154 remove gst_caps_simplify; it was not declared and not used
2155 and deprecated in 0.8
2157 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2159 * docs/faq/gst-uninstalled:
2160 don't put empty paths on PYTHONPATH
2161 * docs/gst/gstreamer-sections.txt:
2162 remove some symbols that are not there
2164 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2166 * gst/gstcaps.c: (gst_caps_compare_structures):
2168 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2169 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
2172 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2174 * libs/gst/dataprotocol/Makefile.am:
2175 build dataprotocol test by linking to the lib, instead of
2176 compiling the source, so we get coverage
2177 * tests/check/Makefile.am:
2178 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
2179 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
2180 add a test for filesrc
2182 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2184 * tests/check/gst/gststructure.c: (GST_START_TEST),
2185 (gst_structure_suite):
2186 Push coverage from 59.04% to 70.00%
2188 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2190 * tests/check/Makefile.am:
2191 gst-inspect every element; this makes sure that we also get
2192 coverage on element's get/set functions
2194 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
2197 set CFLAGS and friends to -O0 if gcov is being used
2200 * libs/gst/base/Makefile.am:
2201 * libs/gst/check/Makefile.am:
2202 * libs/gst/controller/Makefile.am:
2203 * libs/gst/dataprotocol/Makefile.am:
2204 * libs/gst/net/Makefile.am:
2205 * plugins/elements/Makefile.am:
2206 * plugins/indexers/Makefile.am:
2207 add makefile rules to generate gcov data and clean up
2208 * tests/check/Makefile.am:
2209 add a coverage target that generates an html overview
2212 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
2214 * tests/check/elements/fakesink.c:
2215 * tests/check/elements/fakesrc.c:
2216 * tests/check/elements/fdsrc.c:
2217 * tests/check/elements/identity.c:
2218 * tests/check/generic/sinks.c: (gst_sinks_suite):
2219 * tests/check/generic/states.c:
2220 * tests/check/gst/gst.c:
2221 * tests/check/gst/gstabi.c:
2222 * tests/check/gst/gstbin.c:
2223 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
2224 * tests/check/gst/gstbus.c: (gst_bus_suite):
2225 * tests/check/gst/gstcaps.c: (GST_START_TEST):
2226 * tests/check/gst/gstelement.c:
2227 * tests/check/gst/gstevent.c: (gst_event_suite):
2228 * tests/check/gst/gstghostpad.c:
2229 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
2230 * tests/check/gst/gstmessage.c: (gst_message_suite):
2231 * tests/check/gst/gstminiobject.c:
2232 * tests/check/gst/gstobject.c:
2233 * tests/check/gst/gstpad.c:
2234 * tests/check/gst/gstpipeline.c:
2235 * tests/check/gst/gstplugin.c:
2236 * tests/check/gst/gstquery.c: (gst_query_suite):
2237 * tests/check/gst/gstsegment.c: (gst_segment_suite):
2238 * tests/check/gst/gststructure.c:
2239 * tests/check/gst/gstsystemclock.c:
2240 * tests/check/gst/gsttag.c:
2241 * tests/check/gst/gsttask.c: (gst_task_suite):
2242 * tests/check/gst/gstutils.c:
2243 * tests/check/gst/gstvalue.c:
2244 * tests/check/libs/adapter.c:
2245 * tests/check/libs/basesrc.c:
2246 * tests/check/libs/collectpads.c:
2247 * tests/check/libs/controller.c:
2248 * tests/check/libs/gdp.c: (gst_dp_suite):
2249 * tests/check/libs/gstnetclientclock.c:
2250 * tests/check/libs/gstnettimeprovider.c:
2251 * tests/check/libs/libsabi.c: (libsabi_suite):
2252 * tests/check/libs/typefindhelper.c:
2253 * tests/check/pipelines/cleanup.c:
2254 * tests/check/pipelines/parse-launch.c:
2255 * tests/check/pipelines/simple-launch-lines.c:
2256 * tests/check/pipelines/stress.c: (stress_suite):
2259 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
2261 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
2262 * libs/gst/check/gstcheck.h:
2263 create a macro and function so that the simple unit test
2264 case can be just one macro to create main()
2266 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
2268 * gst/gstbin.c: (gst_bin_restore_thyself):
2269 * gst/gstxml.c: (gst_xml_make_element):
2270 Fix deserialisation from XML. Set parent manually
2271 instead of using gst_bin_add(), since gst_bin_add()
2272 will unlink all pads of the element being added.
2275 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
2277 Patch by: Peter Kjellerstedt <pkj at axis com>
2279 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
2280 Fix missing g_strdup() and double free when using the
2281 --gst-plugin-load command line option (#346097).
2283 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
2286 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
2288 * libs/gst/net/gstnetclientclock.c:
2289 * libs/gst/net/gstnettimeprovider.c:
2290 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
2292 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
2294 * docs/manual/advanced-dataaccess.xml:
2295 Fix buffer probe example compilation in
2298 2006-06-22 Edward Hervey <edward@fluendo.com>
2300 * gst/gstelement.c: (gst_element_pads_activate):
2301 We need to deactivate src pads first and then sink pads.
2302 The reason is the src pads might be blocking while holding the streaming
2303 lock, so we need to deactivate them first so that deactivating the sink
2304 pads doesn't block (since it will require the streaming lock).
2306 2006-06-22 Wim Taymans <wim@fluendo.com>
2308 * libs/gst/base/gstbasetransform.c:
2309 (gst_base_transform_buffer_alloc):
2310 Forgot to remove two unneeded unrefs.
2311 Simplify a check _is_equal allready checks the obvious case.
2313 2006-06-22 Wim Taymans <wim@fluendo.com>
2315 * docs/design/part-block.txt:
2316 Some docs about what pad_block should do.
2318 2006-06-22 Wim Taymans <wim@fluendo.com>
2320 * gst/gstcaps.c: (gst_caps_replace):
2321 Fix crasher when passed NULL. Doc clarification.
2322 Optimize for the trivial case.
2324 * gst/gstpipeline.c: (gst_pipeline_change_state):
2327 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2328 Small documentation cleanup.
2330 * libs/gst/base/gstbasetransform.c:
2331 (gst_base_transform_buffer_alloc):
2332 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
2333 is what we need and it avoids a whole lot of redundant
2334 refcount operations.
2336 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
2338 Patch by: Philip Jägenstedt <philip at lysator liu se>
2340 * docs/manual/advanced-dataaccess.xml:
2341 Fix 'Embedding static elements' section to use
2342 GST_PLUGIN_DEFINE_STATIC (#345607).
2344 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
2346 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
2347 Attempt to 'fix' spuriously failing test case: it seems like the
2348 timeout of half a second is simply too small when the system is under
2349 load otherwise, and the timeout doesn't really seem to serve any
2350 particular purpose here. Give the pipeline a few seconds to preroll
2351 first, and then give it another half a second to go from PAUSED to
2352 PLAYING and marshal the message into the main thread.
2354 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
2356 * tools/gst-feedback-m.m:
2357 Don't only use unversioned tools, try versioned tools as well
2360 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
2362 * gst/gstbus.c: (gst_bus_class_init):
2363 Fix some typos, make docs more explicit.
2365 2006-06-20 Wim Taymans <wim@fluendo.com>
2367 * tests/check/gst/gstghostpad.c: (block_callback),
2368 (GST_START_TEST), (gst_ghost_pad_suite):
2369 Added some more ghostpad tests, mainly blocking
2372 2006-06-16 Wim Taymans <wim@fluendo.com>
2374 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2375 (gst_file_sink_close_file), (gst_file_sink_do_seek),
2376 (gst_file_sink_event), (gst_file_sink_render):
2377 * plugins/elements/gstfilesink.h:
2378 Check if we can seek in the file instead of assuming
2379 we always can. Post an error when we are asked to seek in a
2380 non-seekable file (like a fifo). Fixes #343312.
2383 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
2385 * tools/gst-launch.1.in:
2386 Un-garble (fourcc) bit in filtered caps section.
2388 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
2390 * docs/manual/advanced-autoplugging.xml:
2391 * docs/manual/basics-helloworld.xml:
2392 * docs/manual/highlevel-components.xml:
2393 Don't leak bus reference in sample code.
2395 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
2398 Add default for new --enable-plugin-docs switch.
2401 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
2405 Use new ENABLE_PLUGIN_DOCS conditional.
2407 2006-06-14 Wim Taymans <wim@fluendo.com>
2409 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
2410 Make it clear with a FIXME and a real define what the #if 0
2411 previously disabled.
2413 2006-06-14 Wim Taymans <wim@fluendo.com>
2415 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2416 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2417 * libs/gst/base/gstbasetransform.c:
2418 (gst_base_transform_sink_eventfunc):
2419 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2420 Don't randomly and silently reset a segment when the format
2421 changes as this is a bug somewhere upstream. Fixes #330379.
2423 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
2425 Patch by: Wouter Paesen <wouter at kangaroot net>
2427 * libs/gst/controller/gstcontroller.c:
2428 (gst_controlled_property_new):
2429 Fix controlling of float properties (#344849).
2431 * tests/check/libs/controller.c:
2432 (gst_test_mono_source_get_property),
2433 (gst_test_mono_source_set_property),
2434 (gst_test_mono_source_class_init), (GST_START_TEST):
2435 While we're at it, add some float stuff to unit test.
2437 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
2440 * docs/images/gdp-header.svg:
2442 * docs/libs/Makefile.am:
2443 * docs/libs/gdp-header.png:
2444 * libs/gst/dataprotocol/dataprotocol.c:
2445 add it to the API docs
2446 * docs/manual/intro-motivation.xml:
2449 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
2451 * gst/gst.c: (scan_and_update_registry), (init_post):
2452 If the fork()'ed child process can't write the updated registry cache
2453 file to disk for some reason, make it exit with a failure exit code,
2454 so that the parent can then re-scan the plugins itself and update the
2455 registry structures in memory and work with that (rather than failing
2456 when creating elements because seemingly no plugins are available).
2457 Refactor registry scanning code into separate function for this and
2458 also separate fork() and non-fork() code paths. Fixes #344748.
2460 2006-06-13 Wim Taymans <wim@fluendo.com>
2462 * docs/manual/advanced-dataaccess.xml:
2463 Fix wrong PluginDesc. Fixes #344755.
2465 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
2467 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2468 Fix silly bug that prevented us from creating
2469 ~/.gstreamer-0.10 and writing the registry in one
2470 go (the first call to g_mkstemp() would overwrite the
2471 placeholder in the template string, so the second call
2472 to g_mkstemp() after creating the missing directory
2473 would then error out with 'invalid argument').
2475 2006-06-13 Edward Hervey <edward@fluendo.com>
2477 * gst/gst.c: (init_post):
2480 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
2482 * gst/glib-compat-private.h:
2483 * gst/glib-compat.c:
2484 * gst/glib-compat.h:
2485 * gst/gstvalue.c: (gst_value_serialize_flags):
2486 remove GLib 2.6 compatibility code
2488 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
2490 * gst/parse/Makefile.am:
2491 Fix build with 'make -j N' even more (#340016).
2493 2006-06-12 Wim Taymans <wim@fluendo.com>
2495 * docs/gst/gstreamer-sections.txt:
2498 2006-06-12 Wim Taymans <wim@fluendo.com>
2500 * gst/gstsegment.c: (gst_segment_set_duration),
2501 (gst_segment_set_last_stop), (gst_segment_set_seek),
2502 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2503 (gst_segment_to_running_time), (gst_segment_clip):
2504 Use G_UNLIKELY to help the compiler a bit.
2506 2006-06-12 Wim Taymans <wim@fluendo.com>
2508 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2510 * gst/gstevent.c: (gst_event_get_type):
2512 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2514 constify quark registration strings. Fixes #344115
2515 Avoid unneeded type checking is _pad_push() by internally
2516 calling gst_pad_chain_unchecked().
2518 2006-06-12 Wim Taymans <wim@fluendo.com>
2520 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
2521 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
2522 (gst_subbuffer_finalize), (gst_buffer_create_sub),
2523 (gst_buffer_is_span_fast), (gst_buffer_span):
2524 Init _type for consistency.
2525 Use _FLAGS macro to avoid type check.
2526 Avoid unneeded type checks in subbufer code.
2528 2006-06-12 Wim Taymans <wim@fluendo.com>
2530 * gst/gst.c: (gst_debug_help):
2531 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
2532 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2533 (gst_plugin_feature_list_free):
2534 * gst/gstregistry.c: (gst_registry_add_plugin),
2535 (gst_registry_add_feature), (gst_registry_plugin_filter),
2536 (gst_registry_feature_filter), (gst_registry_find_plugin),
2537 (gst_registry_find_feature), (gst_registry_get_plugin_list),
2538 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
2539 * gst/gstregistryxml.c: (load_feature),
2540 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
2541 * gst/gstminiobject.c: (gst_mini_object_unref),
2542 (gst_mini_object_replace), (gst_value_mini_object_free),
2543 (gst_value_mini_object_copy):
2544 Use _CAST macros to avoid unneeded type checking.
2545 Added some more G_UNLIKELY.
2547 2006-06-12 Wim Taymans <wim@fluendo.com>
2550 Avoid unneeded type checking.
2551 API: GST_BUFFER_IS_DISCONT
2553 * gst/gstminiobject.h:
2554 Avoid type check in flag accessor.
2556 * gst/gstelementfactory.h:
2558 * gst/gstpluginfeature.h:
2560 API: GST_ELEMENT_FACTORY_CAST
2561 API: GST_PLUGIN_CAST
2562 API: GST_PLUGIN_FEATURE_CAST
2564 2006-06-12 Wim Taymans <wim@fluendo.com>
2566 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
2568 Add G_UNLIKELY in type registration.
2569 Avoid type check in _ref/_unref since that is also
2572 2006-06-12 Wim Taymans <wim@fluendo.com>
2574 * gst/gsterror.c: (gst_g_error_get_type):
2575 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
2576 (gst_static_pad_template_get_type):
2577 * gst/gsttaglist.c: (gst_tag_list_get_type):
2578 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
2579 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
2580 * gst/gsturi.c: (gst_uri_handler_get_type):
2581 * gst/gstvalue.c: (gst_date_get_type):
2582 * gst/gstxml.c: (gst_xml_get_type):
2583 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2584 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2585 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
2586 Add G_UNLIKELY in type registration.
2588 2006-06-12 Wim Taymans <wim@fluendo.com>
2590 * tools/gst-inspect.c: (print_signal_info):
2591 Properly print enum values.
2593 2006-06-12 Wim Taymans <wim@fluendo.com>
2595 * gst/gstinfo.c: (gst_debug_set_active),
2596 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
2598 Add some G_[UN]LIKELY.
2599 Maintain __gst_debug_min to avoid formatting the arguments of
2600 debug messages that will be dropped anyway to avoid a lot of
2601 overhead from the debugging system.
2603 2006-06-11 Stefan Kost <ensonic@users.sf.net>
2607 add missing files containing translatable strings, tell intltool about
2610 2006-06-11 Stefan Kost <ensonic@users.sf.net>
2612 * tests/check/libs/.cvsignore:
2613 add test-binary to ignore list
2615 2006-06-11 Stefan Kost <ensonic@users.sf.net>
2617 * docs/libs/gstreamer-libs-docs.sgml:
2618 reorder (put dp into a chapter) and indent
2620 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
2625 === release 0.10.8 ===
2627 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
2630 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
2632 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
2634 * gst/gst.c: (init_post):
2635 move pid declaration to declaration block
2637 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
2639 * gst/gst.c: (init_post):
2640 use _exit() instead of exit() in our forked child; this ensures
2641 that none of the registered exit handlers from whatever is using
2642 GStreamer get executed. This fixes gnome-mixer-applet failing
2643 to load, because ORBit would shut down.
2644 Spotted by: Edward Hervey <edward@fluendo.com>
2645 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
2648 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
2653 === release 0.10.7 ===
2655 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
2658 releasing 0.10.7, "Soepeke, ik zie ou"
2660 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
2683 * win32/common/config.h:
2686 2006-06-07 Wim Taymans <wim@fluendo.com>
2688 * gst/gstindex.c: (gst_index_gtype_resolver):
2689 * tools/gst-xmlinspect.c: (print_plugin_info):
2690 Fix leak spotted by coverity checker. Fixes #343827
2691 Fix another other leak found by paolo borelli.
2693 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
2695 * libs/gst/dataprotocol/dataprotocol.c:
2696 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
2697 (gst_dp_version_get_type), (gst_dp_init),
2698 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
2699 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
2700 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
2701 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
2702 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
2703 (gst_dp_packetizer_free):
2704 * libs/gst/dataprotocol/dataprotocol.h:
2705 API: add a GstDPPacketizer object, and create/free functions
2706 API: add GstDPVersion enum
2707 Add 1.0 event function that uses the string serialization
2708 Serialize more useful buffer flags
2711 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
2713 * tests/check/Makefile.am:
2714 * tests/check/gst/gstabi.c:
2715 * tests/check/gst/struct_ppc64.h:
2716 * tests/check/libs/libsabi.c:
2717 * tests/check/libs/struct_ppc64.h:
2718 add ppc64 structure sizes
2720 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
2722 * tests/check/Makefile.am:
2723 * tests/check/gst/gstabi.c:
2724 * tests/check/gst/struct_x86_64.h:
2725 * tests/check/libs/libsabi.c:
2726 * tests/check/libs/struct_x86_64.h:
2727 generate and add structure size lists for x86_64
2729 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
2731 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2732 * libs/gst/check/gstcheck.h:
2733 factor out the method from tests that checks size of structures,
2734 and add code to generate the header containing these sizes
2735 * tests/check/gst/gstabi.c: (GST_START_TEST):
2736 * tests/check/gst/struct_i386.h:
2737 * tests/check/libs/libsabi.c: (GST_START_TEST):
2738 * tests/check/libs/struct_i386.h:
2741 2006-06-06 Michael Smith <msmith@fluendo.com>
2744 Don't use c++-style comments, fixes #343929
2746 2006-06-05 Edward Hervey <edward@fluendo.com>
2749 plugin_paths is not used if we build without registry support.
2751 * gst/gstsegment.c: (gst_segment_copy):
2752 _copy() was always returning NULL...
2754 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
2756 * libs/gst/dataprotocol/dataprotocol.c:
2757 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2758 (gst_dp_packet_from_event):
2761 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
2763 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
2764 make sure we unset caps
2766 2006-06-02 Michael Smith <msmith@fluendo.com>
2768 * libs/gst/check/gstcheck.c: (gst_check_init),
2769 (gst_check_chain_func):
2770 * libs/gst/check/gstcheck.h:
2771 Add a cond/mutex to the check support lib, signal this whenever we
2772 add to the buffers list. This will allow tests to not busy-wait on
2775 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
2777 * libs/gst/dataprotocol/dataprotocol.c:
2778 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2779 (gst_dp_packet_from_event):
2780 factor out some common header init code
2782 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
2784 * docs/libs/gstreamer-libs-sections.txt:
2785 * docs/libs/tmpl/gstdataprotocol.sgml:
2786 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
2787 * libs/gst/dataprotocol/dataprotocol.h:
2788 API: make gst_dp_crc() public
2790 2006-06-01 Stefan Kost <ensonic@users.sf.net>
2792 * plugins/indexers/gstindexers.c: (plugin_init):
2793 conditionally register fileindexer (fixes #343598)
2795 2006-06-01 Stefan Kost <ensonic@users.sf.net>
2797 * gst/gsttagsetter.h:
2798 Can't cast ifaces to a class
2800 * libs/gst/net/gstnetclientclock.h:
2801 * libs/gst/net/gstnettimeprovider.h:
2802 * plugins/elements/gstfakesink.h:
2803 * plugins/elements/gstfakesrc.h:
2804 * plugins/elements/gstfdsink.h:
2805 * plugins/elements/gstfdsrc.h:
2806 * plugins/elements/gstfilesink.h:
2807 * plugins/elements/gstfilesrc.h:
2808 * plugins/elements/gstidentity.h:
2809 * plugins/elements/gstqueue.h:
2810 * plugins/elements/gsttee.h:
2811 * plugins/indexers/gstfileindex.c:
2812 * plugins/indexers/gstmemindex.c:
2813 * tests/old/examples/plugins/example.h:
2814 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2816 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
2818 * libs/gst/dataprotocol/dataprotocol.c:
2819 (gst_dp_header_from_buffer):
2820 make sure we zero the whole ABI-compatible area
2822 2006-06-01 Wim Taymans <wim@fluendo.com>
2824 Patch by: Alessandro Decina <alessandro at nnva dot org>
2826 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
2827 Make sure the EOS flag is cleared from pads after a flush
2828 or stop. Fixes #343538.
2830 * tests/check/libs/collectpads.c: (GST_START_TEST),
2831 (gst_collect_pads_suite):
2832 Added test for collectpads reusage after EOS.
2834 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
2837 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
2838 * win32/common/libgstbase.def:
2839 export gst_collect_pads_set_flushing
2840 * win32/common/libgstreamer.def:
2841 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
2842 gst_value_fraction_multiply
2843 * win32/vs6/gst_inspect.dsp:
2844 add a link to intl.lib
2846 2006-05-30 Wim Taymans <wim@fluendo.com>
2848 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2849 (gst_collect_pads_chain):
2850 Handle the case where a pad is removed from the collection
2851 that could cause the other pads to become collectable.
2853 2006-05-30 Wim Taymans <wim@fluendo.com>
2856 Clarify the use of _release_request_pad() and
2857 _get_request_pad() a bit better.
2859 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
2860 (gst_adapter_take_buffer):
2861 Fix some doc and comment typos.
2863 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
2865 * docs/gst/gstreamer-sections.txt:
2866 * docs/libs/gstreamer-libs-sections.txt:
2867 add declared symbols
2869 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
2871 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2872 Add debug that can be enabled using a #define at the top of the file,
2873 for dumping stats about how late/early we were when waking up from
2874 waiting on the clock.
2876 2006-05-30 Wim Taymans <wim@fluendo.com>
2878 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
2879 When rebuilding the pad list, don't leak the previous list.
2881 2006-05-30 Wim Taymans <wim@fluendo.com>
2883 Patch by: Lutz Mueller <lutz at topfrose dot de>
2885 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2886 (gst_base_src_get_query_types), (gst_base_src_update_length):
2887 Publish supported query types.
2888 Update last_stop field in get_range mode so the position
2889 query works. Fixes #342321.
2891 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
2893 * docs/gst/gstreamer-sections.txt:
2894 * gst/gsttaglist.c: (_gst_tag_initialize):
2896 API: add GST_TAG_PREVIEW_IMAGE (#343341).
2898 2006-05-30 Wim Taymans <wim@fluendo.com>
2900 Patch by: Alessandro Decina <alessandro at nnva dot org>
2902 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
2903 Unlock mutex when removing an unknown pad.
2906 * tests/check/Makefile.am:
2907 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
2908 (push_event), (setup), (teardown), (GST_START_TEST),
2909 (gst_collect_pads_suite), (main):
2910 Added collecpads check, disabled for now as check crashes for
2913 2006-05-29 Wim Taymans <wim@fluendo.com>
2915 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
2916 Don't leak pads lists.
2918 2006-05-29 Wim Taymans <wim@fluendo.com>
2920 * docs/libs/gstreamer-libs-sections.txt:
2921 * libs/gst/base/gstcollectpads.c:
2922 (gst_collect_pads_set_flushing_unlocked),
2923 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2924 (gst_collect_pads_stop):
2925 * libs/gst/base/gstcollectpads.h:
2926 API: gst_collect_pads_set_flushing()
2927 Added api to set the pads to flushing, useful for seeking
2928 code in elements using collectpads.
2929 Clear segment when receiving a flush.
2931 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
2933 * gst/gst.c: (add_path_func), (init_post):
2934 Don't scan registry paths passed via --gst-plugin-path immediately
2935 (will crash, because absolutely nothing is set up and no types are
2936 registered etc.); do this later in init_post(). Fixes #343057.
2938 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
2940 * gst/gst.c: (init_post):
2941 if we have fork, fork while reading/rebuilding the registry
2942 so the parent doesn't take the hit of having all plugins loaded
2943 in memory. Fixes #342777.
2945 Check if we have fork()
2946 * win32/common/config.h.in:
2949 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
2951 * plugins/elements/gstelements.c:
2952 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2953 (gst_file_src_init), (gst_file_src_set_property),
2954 (gst_file_src_get_property), (gst_file_src_start):
2955 * plugins/elements/gstfilesrc.h:
2956 API: GstFileSrc::use-mmap
2958 Add a use-mmap property to enable easier testing of all code paths.
2959 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
2960 in the absence of gnomevfssrc. (Closes #340501)
2962 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2964 * tools/gst-inspect.c:
2965 Add missing include, removes warning of ngettext not being defined on
2968 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
2970 * gst/gstvalue.c: (gst_value_deserialize_fraction):
2971 Handle NULL input and output pointers silently as a failed conversion,
2972 rather than g_warnings.
2974 2006-05-25 Wim Taymans <wim@fluendo.com>
2976 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
2977 Initialize variable before using. Fixes #342820.
2979 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
2981 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
2982 Fix off-by-one bug that would only allow peeks of N-1 bytes
2983 from the start even if the buffer to typefind on contains
2984 in fact N bytes of data (makes vorbis typefinding from a
2985 vorbis identification header buffer work).
2987 * tests/check/Makefile.am:
2988 * tests/check/libs/.cvsignore:
2989 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
2990 (gst_typefindhelper_suite), (main), (foobar_typefind),
2992 Add very basic unit test for gst_type_find_helper_for_buffer()
2993 that checks for the problem fixed above.
2995 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
2997 * tools/gst-inspect.c: (print_interfaces),
2998 (print_element_properties_info), (print_element_list), (main):
2999 add more translatable strings
3001 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
3003 Patch by: Julien Moutte <julien at moutte net>
3005 * docs/gst/gstreamer-sections.txt:
3006 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
3008 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3009 (gst_fake_sink_preroll):
3010 * plugins/elements/gstfakesink.h:
3011 API: Add new GstFakeSink::preroll-handoff signal (#337100).
3013 2006-05-23 Wim Taymans <wim@fluendo.com>
3015 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
3017 Added _CUSTOM error and success GstFlowReturn that can be
3018 used be elements internally.
3019 Added macro to check for SUCCESS flowreturns.
3020 API: GST_FLOW_CUSTOM_SUCCESS
3021 API: GST_FLOW_CUSTOM_ERROR
3022 API: GST_FLOW_IS_SUCCESS
3024 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3025 Added check for GstFlowReturn sanity.
3027 2006-05-23 Wim Taymans <wim@fluendo.com>
3029 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3031 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3032 (gst_collect_pads_event):
3033 clear/reset segment info in FLUSH_STOP.
3036 2006-05-22 Stefan Kost <ensonic@users.sf.net>
3038 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
3039 (gst_collect_pads_check_collected):
3040 Flush queued buffer on _stop(), fixes playing again (#342454)
3042 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
3044 * tests/check/gst/gststructure.c: (GST_START_TEST),
3045 (gst_structure_suite):
3046 add a test for a complete structure
3048 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
3050 * docs/faq/developing.xml:
3052 * docs/faq/troubleshooting.xml:
3053 * docs/faq/using.xml:
3054 Some minor FAQ updates that won't change the fact that
3055 our FAQ is badly structured, full of information hardly
3056 anyone new to GStreamer needs to know and lacking lots
3057 of information people constantly ask for.
3059 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
3061 * gst/gstpad.c: (gst_pad_set_caps):
3062 Short-circuit gst_pad_set_caps if setting the existing
3063 caps pointer again, and avoid printing debug and
3064 reffing/unreffing the caps.
3066 * plugins/elements/gstqueue.c: (gst_queue_push_one):
3067 There's actually no need to set the caps before pushing -
3068 the acceptcaps method will handle it anyway.
3070 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
3072 * docs/gst/gstreamer-sections.txt:
3073 * win32/common/libgstreamer.def:
3074 * gst/gstutils.c: (gst_element_seek_simple):
3076 API: add gst_element_seek_simple() (#342238).
3078 2006-05-18 Edward Hervey <edward@fluendo.com>
3080 * gst/gsttypefind.c: (gst_type_find_get_type):
3081 * gst/gsttypefind.h:
3082 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
3083 registered for GstTypeFind pointers. This allows wrapping the structure
3084 in bindings (i.e. gst-python).
3086 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
3088 * gst/gsttagsetter.c:
3089 Docs additions and fixes (see #339918).
3091 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
3093 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3094 The caps intersection algorithm can produce multiple copies of the
3095 caps. Until that is fixed, we need to simplify the result to be
3096 sure whether the allowed caps are fixed or not.
3098 * plugins/elements/gstqueue.c: (gst_queue_init),
3099 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
3100 (gst_queue_push_one):
3101 Proxied buffer alloc should not set the caps on the source pad.
3102 When pushing buffers, we always accept the caps change that triggers.
3103 This prevents negotiation errors caused by caps changing mid-stream
3104 and then being refused on our source pad (because upstream is now
3105 refusing those caps).
3107 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
3109 * tests/examples/helloworld/helloworld.c: (main):
3110 Must plug audioconvert and audioresample between decoder
3113 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
3115 * gst/gstregistryxml.c: (read_string), (load_pad_template),
3116 (load_feature), (load_plugin):
3117 Allow empty strings for some of the plugin fields so we don't
3118 drop valid plugin entries that were written out correctly
3121 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
3123 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
3124 Use g_remove and g_rename instead of remove and rename that don't
3125 handle utf8 characters. rename was failing for users who had specific
3126 characters in their name then the registry was built at each
3128 * win32/vs6/gst_inspect.dsp:
3129 * win32/vs6/gst_launch.dsp:
3130 * win32/vs6/libgstbase.dsp:
3131 * win32/vs6/libgstcoreelements.dsp:
3132 * win32/vs6/libgstreamer.dsp:
3133 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
3134 build of libgstreamer and clean unused libraries in projects link
3137 2006-05-17 Edward Hervey <edward@fluendo.com>
3139 * plugins/elements/gstqueue.c: (gst_queue_push_one):
3140 The queue is not responsible for pushing an EOS when receiving a fatal
3141 flow error. It's up to the real element driving the pipeline to do that.
3143 2006-05-16 Edward Hervey <edward@fluendo.com>
3145 * plugins/elements/gstqueue.c: (gst_queue_push_one):
3146 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
3147 buffer returned a fatal error. It should just send an EOS and stop
3149 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
3150 when pushing buffers on the queue and will be able to handle the event.
3152 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
3154 * docs/manual/basics-bins.xml:
3155 * docs/manual/basics-init.xml:
3156 Fix typos and minor errors in sample code (#341856).
3158 2006-05-16 Wim Taymans <wim@fluendo.com>
3160 * docs/design/part-qos.txt:
3161 Fix indexes in formulas to make more sense.
3163 2006-05-15 Wim Taymans <wim@fluendo.com>
3165 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3166 Don't report POSITION based on clock time if sync is
3169 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
3172 Add cast to make compiler happy - refcount variable was a gint
3173 in GstObject but is a guint in GObject and g_atomic_int_get()
3176 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
3178 * gst/parse/Makefile.am:
3179 chain commands using &&, which also makes parallel make work
3181 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
3183 * docs/gst/gstreamer-sections.txt:
3189 === release 0.10.6 ===
3191 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
3194 releasing 0.10.6, "Take the cannoli"
3196 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
3198 * tools/gst-launch.c: (print_tag):
3199 Fix use of uninitialized variable in the hypothetical
3200 case that some broken plugin creates a GST_TAG_IMAGE
3201 tag containing a NULL buffer (#341667).
3203 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
3205 * tools/gst-launch.c: (print_tag):
3206 Print something more intelligible for image tags when
3207 using the -t switch (#341556).
3209 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
3214 define GST_MAJORMINOR so we have it available in win32/common/config.h
3215 Possibly remove it from our Makefile.am files later
3216 * win32/common/config.h:
3217 * win32/common/config.h.in:
3218 added GST_MAJORMINOR
3219 * win32/common/gstenumtypes.c: (register_gst_resource_error):
3220 * win32/common/gstversion.h:
3223 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
3226 Update win32 files listing.
3227 * win32/common/gstversion.h:
3228 Add GST_MAJORMINOR definition.
3229 * win32/common/libgstreamer.def:
3230 Add new exported functions.
3232 2006-05-12 Michael Smith <msmith@fluendo.com>
3234 * gst/gstplugin.c: (gst_plugin_load_file):
3235 If an so file has no plugin entry point, unload the module.
3237 2006-05-11 Wim Taymans <wim@fluendo.com>
3239 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
3240 (gst_queue_set_property):
3241 Don't forget to signal the _chain or _loop function
3242 when the queue size or thresholds change since that might
3243 cause them to make progres again.
3245 2006-05-11 Stefan Kost <ensonic@users.sf.net>
3247 * gst/gstclock.c: (gst_clock_class_init):
3248 * gst/gstindex.c: (gst_index_class_init):
3249 * gst/gstobject.c: (gst_object_class_init):
3250 * gst/gstpad.c: (gst_pad_class_init):
3251 * gst/gstpipeline.c: (gst_pipeline_class_init):
3252 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3253 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3254 * libs/gst/base/gstbasetransform.c:
3255 (gst_base_transform_class_init):
3256 * libs/gst/net/gstnetclientclock.c:
3257 (gst_net_client_clock_class_init):
3258 * libs/gst/net/gstnettimeprovider.c:
3259 (gst_net_time_provider_class_init):
3260 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3261 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3262 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3263 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3264 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3265 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3266 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3267 * plugins/elements/gstidentity.c: (gst_identity_class_init):
3268 * plugins/elements/gsttee.c: (gst_tee_class_init):
3269 * tests/old/examples/plugins/example.c: (gst_example_class_init):
3270 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
3271 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
3273 2006-05-11 Wim Taymans <wim@fluendo.com>
3275 * gst/gstbuffer.c: (_gst_buffer_initialize):
3276 Register subbufer along with the buffer type so that
3277 it does not accidentally gets registered from N
3278 different streaming threads in a non threadsafe way.
3280 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
3285 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
3286 gst_event_ref() and gst_message_ref() functions again
3287 (ugly hack, please do fix if there's a better way besides
3288 overrides.txt, which doesn't seem to work).
3290 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
3292 * libs/gst/check/gstcheck.h:
3293 add an assert for setting state to avoid lots of repetitive code
3296 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
3298 * gst/gstvalue.c: (gst_value_serialize_flags):
3299 fix a leak if no flags are set
3300 * tests/check/gst/gstvalue.c: (GST_START_TEST):
3303 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
3305 * docs/manual/basics-pads.xml:
3306 Expand a bit on caps and filtered links and update
3307 examples that were still using the no longer existing
3308 gst_pad_link_filtered() (#338206).
3310 2006-05-10 Wim Taymans <wim@fluendo.com>
3312 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3313 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3314 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
3315 (gst_collect_pads_stop):
3316 * libs/gst/base/gstcollectpads.h:
3317 No need to call _stop in _finalize.
3318 Iterate the main pad list in _finalize.
3319 Added some more debug.
3320 Free lists and data in the right order.
3321 Also free data whem doing _remove_pad when stopped for
3322 backward compatibility protect ::started with PAD_LOCK as
3325 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
3327 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
3328 (gst_structure_parse_value):
3330 rename a method so that it actually says what it does better
3332 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
3334 * gst/gstevent.c: (_gst_event_initialize):
3335 * gst/gstformat.c: (_gst_format_initialize):
3336 make sure some essential types used by events are registered
3337 as part of gst_init()
3338 * gst/gstvalue.c: (gst_value_serialize_flags):
3339 if no flags are set, serialize them to a value that represents NONE
3340 so that deserializing them works
3341 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3342 add tests for serialization and deserialization of flags
3344 2006-05-10 Wim Taymans <wim@fluendo.com>
3346 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
3347 (gst_collect_pads_collect_range), (gst_collect_pads_available),
3348 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
3349 (gst_collect_pads_event), (gst_collect_pads_chain):
3352 Catch and return errors from the collect function
3353 Refuse data on eos pads.
3355 2006-05-10 Edward Hervey <edward@fluendo.com>
3357 * gst/gstinterface.h:
3358 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
3359 GInterface type checking.
3360 They were previously using non-defined macros.
3362 2006-05-09 Wim Taymans <wim@fluendo.com>
3364 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
3365 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
3366 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
3367 (gst_collect_pads_start), (gst_collect_pads_stop),
3368 (gst_collect_pads_peek), (gst_collect_pads_pop),
3369 (gst_collect_pads_available), (gst_collect_pads_read),
3370 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
3371 (gst_collect_pads_is_collected), (gst_collect_pads_event),
3372 (gst_collect_pads_chain):
3373 * libs/gst/base/gstcollectpads.h:
3374 Clean up the mess that is collectpads, add comments and
3375 FIXMEs where needed.
3376 Maintain a separate pad list so we can add pads while
3377 collecting the other ones. For this we need a new separate
3379 Fix memory leak in finalize.
3380 Refactor some weird code to set/unset pad flushing flags, mark
3382 Don't crash in _available, _read, _flush when we're EOS.
3384 * tests/check/libs/.cvsignore:
3385 Ignore adapter check binary.
3387 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
3389 * gst/gstindex.c: (gst_index_resolver_get_type):
3390 * plugins/elements/gstfakesink.c:
3391 (gst_fake_sink_state_error_get_type):
3392 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3393 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
3394 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
3395 Const-ify GEnumValue arrays.
3397 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
3399 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3400 Add test case for flags + gst_buffer_make_metadata_writable().
3402 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
3404 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
3405 gst_buffer_make_metadata_writable() should maintain the
3406 buffer flags (those that make sense at least) (see #340859).
3408 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
3410 * tools/gst-inspect.c:
3411 * tools/gst-launch.c:
3412 * tools/gst-typefind.c:
3413 * tools/gst-xmlinspect.c:
3415 Fix up includes: need to include stdlib.h in tools.h for exit().
3417 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
3419 * gst/gsttaglist.c: (_gst_tag_initialize):
3421 API: add GST_TAG_IMAGE tag (#340721).
3423 2006-05-08 Wim Taymans <wim@fluendo.com>
3426 Added some docs for the segment query.
3428 2006-05-08 Wim Taymans <wim@fluendo.com>
3430 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3431 (gst_base_src_loop), (gst_base_src_change_state):
3432 Always push non-flushing serialized events in the streaming
3435 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
3437 * gst/gsterror.c: (_gst_stream_errors_init):
3438 Add a missing error string.
3440 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
3442 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
3443 Add applied_rate to the debug
3445 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3446 Copy applied_rate into the outgoing NEWSEGMENT event
3448 2006-05-08 Wim Taymans <wim@fluendo.com>
3450 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
3452 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3453 (gst_base_sink_change_state):
3454 call ::unlock before taking the PREROLL_LOCK so we can safely
3455 handle elements that lock in ::render.
3458 2006-05-08 Edward Hervey <edward@fluendo.com>
3460 * autogen.sh: (CONFIGURE_DEF_OPT):
3461 Darwin's libtoolize is in fact called glibtoolize.
3462 Adding glibtoolize to the list of accepted names for libtoolize.
3464 2006-05-08 Wim Taymans <wim@fluendo.com>
3466 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3467 Unify error handling, don't post an error message
3468 when a push() returns EOS but perform our normal EOS
3469 handling code. Fixes #340772.
3471 2006-05-08 Wim Taymans <wim@fluendo.com>
3473 * docs/design/part-overview.txt:
3474 Make upsteam/downstream concepts more clear.
3475 Give an example of serialized/non-serialized events.
3477 * docs/design/part-events.txt:
3478 * docs/design/part-streams.txt:
3479 Mention applied_rate.
3481 * docs/design/part-trickmodes.txt:
3482 Mention applied rate, flesh out some more use cases.
3484 * gst/gstevent.c: (gst_event_new_new_segment),
3485 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
3486 (gst_event_parse_new_segment_full), (gst_event_new_tag),
3487 (gst_event_parse_tag), (gst_event_new_buffer_size),
3488 (gst_event_parse_buffer_size), (gst_event_new_qos),
3489 (gst_event_parse_qos), (gst_event_parse_seek),
3490 (gst_event_new_navigation):
3492 Add applied_rate field to NEWSEGMENT event.
3493 API: gst_event_new_new_segment_full()
3494 API: gst_event_parse_new_segment_full()
3496 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
3497 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
3498 (gst_segment_to_stream_time), (gst_segment_to_running_time):
3500 Add applied_rate to GstSegment structure.
3501 Make calculation of stream_time and running_time more correct
3502 wrt rate/applied_rate.
3504 API: GstSegment::applied_rate field
3505 API: gst_segment_set_newsegment_full();
3507 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3508 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
3509 * libs/gst/base/gstbasetransform.c:
3510 (gst_base_transform_sink_eventfunc),
3511 (gst_base_transform_handle_buffer):
3512 Parse and use applied_rate in the GstSegment field.
3514 * tests/check/gst/gstevent.c: (GST_START_TEST):
3515 Add check for applied_rate field.
3517 * tests/check/gst/gstsegment.c: (GST_START_TEST),
3518 (gstsegments_suite):
3519 Add more checks for various GstSegment operations.
3521 2006-05-08 Wim Taymans <wim@fluendo.com>
3523 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3524 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
3525 (gst_base_sink_get_position), (gst_base_sink_change_state):
3526 Store the sync time of the buffer end position separatly in a
3527 new variable eos_rtime so we can properly sync the EOS event.
3529 Fix the docs for gst_base_sink_set_qos_enabled().
3530 Don't set segment start to invalid value when we receive a
3531 non TIME newsegment.
3532 get closer to handling position reporting for negative rates
3535 2006-05-07 Stefan Kost <ensonic@users.sf.net>
3538 Docs about how to print caps for debug purposes.
3540 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
3541 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
3543 2006-05-07 Stefan Kost <ensonic@users.sf.net>
3546 use full enum names and preprend a '%' in docs strings to make recent
3547 gtk-doc turn that into a link
3549 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
3551 * docs/manual/basics-bins.xml:
3552 * docs/manual/basics-bus.xml:
3553 * docs/manual/basics-pads.xml:
3554 Some typo fixes, some additions, some clarifications.
3556 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
3558 * tools/gst-inspect.c: (main):
3559 * tools/gst-launch.c: (main):
3560 * tools/gst-run.c: (main):
3561 * tools/gst-typefind.c: (main):
3562 * tools/gst-xmlinspect.c: (main):
3563 Use the string passed to g_option_context_new() for
3564 what it's intended for - the program name is already
3567 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
3569 * tools/Makefile.am:
3570 * tools/gst-inspect.c: (main):
3571 * tools/gst-launch.c: (main):
3572 * tools/gst-xmlinspect.c: (main):
3574 Add back --version command line option (#340460).
3576 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
3577 Add --version option and use GOption for argument parsing; refactor a
3578 bit; accept directories as arguments and recurse into them; lastly,
3579 print a decent error message when things go wrong.
3581 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
3583 * docs/manual/basics-bins.xml:
3584 Don't mention GstThread (#340611)
3585 * docs/manual/basics-elements.xml:
3586 Update link to GObject tutorial (#340607)
3588 2006-05-05 Wim Taymans <wim@fluendo.com>
3591 * gst/gstminiobject.c:
3592 Add note about refcounting and miniobject/buffer writeability
3593 to docs. Fixes #340604
3595 * gst/gstelementfactory.h:
3596 Added some explanation about @klass.
3598 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
3600 * docs/manual/intro-motivation.xml:
3601 * docs/manual/manual.xml:
3602 Avoid CORBA & Bonobo references (#340598)
3604 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
3606 * docs/manual/basics-bus.xml:
3607 * docs/manual/basics-pads.xml:
3608 Fix up some inaccuracies and omissions (#340609)
3610 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
3612 * gst/gstghostpad.c:
3613 Small typo in docs (#340625)
3615 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
3617 * gst/parse/Makefile.am:
3618 Make 'make -j' proof (see #340698).
3620 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
3623 Require GLib-2.8 here as well.
3625 2006-05-05 Wim Taymans <wim@fluendo.com>
3627 * gst/glib-compat.c:
3628 * gst/gst.c: (init_pre):
3629 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3630 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
3631 (gst_object_dispatch_properties_changed):
3633 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3634 * gst/gststructure.c: (gst_structure_set_valist):
3635 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3636 Remove pre glib2.8 compatibility, fixes #340508
3638 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
3641 Mention type of tags in doc blurbs.
3643 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
3645 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3646 (gst_pad_configure_src), (gst_pad_push):
3647 Restore acceptcaps checking behaviour now that good plugins have
3650 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
3652 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
3663 * gst/parse/Makefile.am:
3664 * libs/gst/base/gstadapter.c:
3665 * libs/gst/base/gstbasesrc.c:
3666 * libs/gst/base/gstpushsrc.c:
3667 * libs/gst/base/gsttypefindhelper.c:
3668 * plugins/elements/gstfakesrc.c:
3669 * plugins/elements/gstidentity.c:
3670 Make sure gstprivate.h and/or config.h are
3671 always included first, otherwise some of our
3672 defines (like _FILE_OFFSET_BITS) might be
3673 redefined in the system headers. Fixes build
3674 on opensolaris (#340016).
3676 2006-05-04 Wim Taymans <wim@fluendo.com>
3678 * docs/libs/gstreamer-libs-sections.txt:
3679 API: addition: gst_adapter_take_buffer()
3681 * libs/gst/base/gstadapter.c: (gst_adapter_push),
3682 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
3683 (gst_adapter_available_fast):
3684 * libs/gst/base/gstadapter.h:
3685 Prepare for optimizing the hell out of this hugely inefficient
3687 Added gst_adapter_take_buffer() so we can at least start thinking
3688 about subbuffering and merging.
3689 Added some comments.
3691 * tests/check/Makefile.am:
3692 * tests/check/libs/adapter.c: (GST_START_TEST),
3693 (gst_adapter_suite), (main):
3694 Added GstAdapter check.
3696 2006-05-04 Wim Taymans <wim@fluendo.com>
3698 * docs/design/part-overview.txt:
3699 Fix some typos, add blurb about buffer flags.
3701 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
3703 * docs/libs/gstreamer-libs-sections.txt:
3704 make sure GstBaseTransformClass shows up in the docs
3705 * libs/gst/base/gstbasetransform.c:
3706 * libs/gst/base/gstbasetransform.h:
3707 move docs so gtk-doc picks it up now
3709 2006-05-02 Stefan Kost <ensonic@users.sf.net>
3711 * docs/libs/gstreamer-libs-sections.txt:
3712 add missing symbols to docs
3714 2006-05-02 Stefan Kost <ensonic@users.sf.net>
3716 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3717 back out the newsegment handling change, see #340060 for ongoing
3720 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
3722 * tools/gst-run.c: (get_candidates), (main):
3723 Fix wrong g_file_test() usage (see glib docs for why it doesn't
3724 work); fix typo in error message. Fixes #340079.
3726 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
3728 * common/Makefile.am:
3730 * docs/faq/Makefile.am:
3731 * docs/gst/Makefile.am:
3732 * docs/libs/Makefile.am:
3733 * docs/manual/Makefile.am:
3734 * docs/plugins/Makefile.am:
3735 * docs/pwg/Makefile.am:
3736 * docs/slides/Makefile.am:
3738 * common/upload.mak:
3739 move upload.mak to common
3741 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
3743 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3744 add more asserts on refcounts
3745 do more cleanup at end of tests
3746 fix test leaks showing in FC5
3748 2006-04-29 Stefan Kost <ensonic@users.sf.net>
3750 * plugins/elements/gsttypefindelement.c:
3751 (gst_type_find_element_handle_event):
3752 reverted wrong change and reflowed code to avoid others falling into
3755 2006-04-28 Stefan Kost <ensonic@users.sf.net>
3757 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3758 fix changelog entry about last collectpads change,
3759 add notes about proper fix
3761 2006-04-28 Stefan Kost <ensonic@users.sf.net>
3764 * gst/gstregistry.c: (gst_registry_scan_path_level),
3765 (gst_registry_scan_path):
3766 * gst/gstregistry.h:
3767 only write out registry if it has changed, fixes #338339
3769 2006-04-28 Stefan Kost <ensonic@users.sf.net>
3772 * gst/gstpipeline.c:
3773 * plugins/elements/gstcapsfilter.c:
3774 * plugins/elements/gstfakesink.c:
3775 * plugins/elements/gstfakesrc.c:
3776 * plugins/elements/gstfdsink.c:
3777 * plugins/elements/gstfdsrc.c:
3778 * plugins/elements/gstfilesink.c:
3779 * plugins/elements/gstfilesrc.c:
3780 * plugins/elements/gstidentity.c:
3781 * plugins/elements/gstqueue.c:
3782 * plugins/elements/gsttee.c:
3783 * plugins/elements/gsttypefindelement.c:
3784 (gst_type_find_element_handle_event):
3785 make GstElementDetails const
3787 2006-04-28 Stefan Kost <ensonic@users.sf.net>
3789 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3790 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3791 (gst_collect_pads_is_collected), (gst_collect_pads_event):
3792 more detailed debug and formatting cleanup,
3793 forward newsegments to src-pad (so that e.g. adder not eats them)
3795 2006-04-28 Stefan Kost <ensonic@users.sf.net>
3797 * gst/gstutils.c: (gst_element_link_pads):
3800 2006-04-28 Stefan Kost <ensonic@users.sf.net>
3802 * libs/gst/controller/gstcontroller.c:
3803 (gst_controller_sync_values):
3805 * tests/check/libs/controller.c: (GST_START_TEST),
3806 (gst_controller_suite):
3807 a new test for live value handling
3809 2006-04-28 Wim Taymans <wim@fluendo.com>
3811 * gst/gstutils.c: (push_and_ref):
3812 Added some more docs.
3813 Fix refcount issue whith gst_element_found_tags() helper
3814 function. Fixes #338335
3816 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3817 Added testsuite for gst_element_found_tags().
3819 2006-04-28 Michael Smith <msmith@fluendo.com>
3821 * gst/gstvalue.c: (gst_value_serialize_flags):
3822 Avoid NULL dereference when trying to serialize flags containing
3825 2006-04-28 Michael Smith <msmith@fluendo.com>
3827 * plugins/elements/gsttypefindelement.c:
3828 (gst_type_find_element_handle_event):
3829 If we get EOS before any data is accumulated, don't use
3830 uninitialised local variables.
3832 2006-04-28 Michael Smith <msmith@fluendo.com>
3834 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3835 (gst_dp_event_from_packet):
3836 Fixes in reading/writing events over GDP (not currently used?) -
3837 dereferencing NULL events for unknown/invalid event types, memory
3838 leak, and change g_warning to GST_WARNING.
3840 2006-04-28 Wim Taymans <wim@fluendo.com>
3842 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
3843 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3844 (gst_base_sink_get_position), (gst_base_sink_change_state):
3845 When frame dropping is enabled, we should not ignore frames
3847 Update some documentation.
3849 2006-04-28 Wim Taymans <wim@fluendo.com>
3851 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3852 (gst_base_src_send_event), (gst_base_src_change_state):
3853 Documentation updates.
3855 2006-04-28 Wim Taymans <wim@fluendo.com>
3857 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
3858 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
3859 handle EAGAIN, EINTR and short writes correctly. Also clean
3860 up some error cases, avoid a deadlock on bad file descriptors and
3861 use GST_DEBUG_OBJECT.
3864 2006-04-28 Wim Taymans <wim@fluendo.com>
3866 * gst/gstvalue.c: (gst_value_serialize_buffer),
3867 (gst_value_deserialize_buffer):
3868 Don't try to serialize a GValue with a NULL buffer.
3871 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3872 Added check for serialisation of NULL buffers.
3874 2006-04-28 Wim Taymans <wim@fluendo.com>
3876 * gst/gstminiobject.c: (gst_value_take_mini_object):
3877 Taking a NULL miniobject is valid, fix the case where
3878 we try to unref the NULL miniobject.
3880 2006-04-28 Wim Taymans <wim@fluendo.com>
3882 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
3884 * gst/gstbin.c: (gst_bin_handle_message_func):
3886 Don't leak bin refcount when a state recalc is
3887 in progress and we delay another one #339808.
3889 2006-04-28 Wim Taymans <wim@fluendo.com>
3891 * docs/design/part-TODO.txt:
3892 Mention QoS as an ongoing work item.
3894 * docs/design/part-buffering.txt:
3895 New doc about buffering that needs to be fleshed out
3898 * docs/design/part-qos.txt:
3899 More QoS policy for decoders/demuxers/transforms
3901 * docs/design/part-trickmodes.txt:
3904 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
3909 === release 0.10.5 ===
3911 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
3914 releasing 0.10.5, "Fogo"
3916 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
3918 patch by: Wim Taymans
3920 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3921 (gst_pad_configure_src), (gst_pad_push):
3922 * gst/gstpipeline.c: (gst_pipeline_init):
3923 Fix internal data flow errors. Fixes #338711.
3925 2006-04-12 Wim Taymans <wim@fluendo.com>
3927 * tests/check/gst/gstelement.c: (GST_START_TEST):
3928 Don't leak the factory.
3930 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
3933 * win32/common/config.h:
3936 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
3938 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3939 (gst_controller_unset_all):
3940 Free allocated GstTimedValues when freeing list nodes.
3941 Should fix leaks 'make check-valgrind' complains about.
3943 * win32/common/libgstcontroller.def:
3944 Add gst_controller_unset_all.
3946 2006-04-11 Stefan Kost <ensonic@users.sf.net>
3948 * docs/libs/gstreamer-libs-sections.txt:
3949 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3950 (gst_controller_unset_all):
3951 * libs/gst/controller/gstcontroller.h:
3952 API: Added new method gst_controller_unset_all()
3953 fixed gst_controller_unset()
3954 * tests/check/libs/controller.c: (GST_START_TEST),
3955 (gst_controller_suite):
3956 Added two testcases for new and fixed method
3958 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
3960 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3961 MSG_DONTWAIT is not defined on Cygwin, so work
3962 around that (fixes #317048).
3964 2006-04-11 Wim Taymans <wim@fluendo.com>
3966 * gst/gstelementfactory.c: (gst_element_register),
3967 (gst_element_factory_create), (gst_element_factory_make):
3970 Updated docs (Fixes #131079)
3972 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3975 * tests/check/gst/gstelement.c: (GST_START_TEST),
3976 (gst_element_suite):
3977 Added testcase for elementfactory class field.
3979 2006-04-10 Wim Taymans <wim@fluendo.com>
3982 Added some more docs.
3984 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
3985 (gst_base_sink_reset_qos):
3986 Calculate more accurate rate values.
3988 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
3990 * gst/gst_private.h:
3991 add a new #ifdef to use __declspec(dllimport) only for
3992 other modules and not for gstreamer core
3993 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
3994 use gst_guint64_to_gdouble for conversion
3995 * win32/common/libgstreamer.def:
3996 add new exported functions
3997 * win32/vs6/gst_inspect.dsp:
3998 * win32/vs6/gst_launch.dsp:
3999 * win32/vs6/libgstbase.dsp:
4000 * win32/vs6/libgstcontroller.dsp:
4001 * win32/vs6/libgstcoreelements.dsp:
4002 * win32/vs6/libgstdataprotocol.dsp:
4003 * win32/vs6/libgstnet.dsp:
4004 update project files
4006 2006-04-08 Stefan Kost <ensonic@users.sf.net>
4008 * gst/gstbuffer.c: (gst_subbuffer_class_init):
4009 * gst/gstclock.c: (gst_clock_class_init):
4010 * gst/gstelement.c: (gst_element_class_init):
4011 * gst/gstindex.c: (gst_index_class_init):
4012 * gst/gstindexfactory.c: (gst_index_factory_class_init):
4013 * gst/gstobject.c: (gst_object_class_init),
4014 (gst_signal_object_class_init):
4015 * gst/gstpad.c: (gst_pad_class_init):
4016 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
4017 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
4018 * gst/gstregistry.c: (gst_registry_class_init):
4019 * gst/gstsystemclock.c: (gst_system_clock_class_init):
4020 * gst/gsttask.c: (gst_task_class_init):
4021 * gst/gstxml.c: (gst_xml_class_init):
4022 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4023 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4024 (gst_base_src_loop):
4025 * libs/gst/controller/gstcontroller.c:/
4026 (_gst_controller_class_init):
4027 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4028 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4029 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
4030 * tests/old/examples/plugins/example.c: (gst_example_class_init):
4031 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
4032 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
4034 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
4036 * gst/gstpad.c: (gst_pad_link):
4037 Must set peer pads before calling the link function, otherwise
4038 a task started from a link function might get a flow-not-linked
4039 result when trying to push because the other thread where the
4040 linking happens hasn't had a chance to set the peers yet. This
4041 might happen for example when a queue gets linked to a downstream
4042 element, as queue starts a streaming task when its source pad
4043 gets linked. Happens in real life when playing back flac/musepack
4044 files in playbin (#332390).
4046 2006-04-08 Stefan Kost <ensonic@users.sf.net>
4050 * libs/gst/base/gstadapter.h:
4051 * libs/gst/base/gstbasesink.h:
4052 * libs/gst/base/gstbasesrc.h:
4053 * libs/gst/base/gstbasetransform.h:
4054 * libs/gst/base/gstcollectpads.h:
4055 * libs/gst/base/gstpushsrc.h:
4056 Fix broken GObject macros
4058 2006-04-07 Wim Taymans <wim@fluendo.com>
4060 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4061 Initialize start and stop times, thanks valgrind.
4063 2006-04-07 Wim Taymans <wim@fluendo.com>
4065 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4066 Be a bit nicer to badly behaving upstream elements that expect
4067 us to deal with non TIME segments and timestamps (such as fakesrc
4070 2006-04-07 Wim Taymans <wim@fluendo.com>
4073 Small documentation clarification about the signal watch.
4075 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4076 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4077 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4078 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
4079 (gst_base_sink_get_position_last),
4080 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
4081 Convert and store timestamps in stream time and running time, the
4082 raw timestamps are not usefull, also document this better.
4083 Use different window sizes for good and bad QoS observations so
4084 we react to badness a little quicker.
4085 Keep track of the amount of rendered and dropped buffers.
4086 Send QoS timestamps in running time.
4088 * libs/gst/base/gstbasetransform.c:
4089 (gst_base_transform_sink_eventfunc),
4090 (gst_base_transform_handle_buffer):
4091 Compare QoS timestamps against running time.
4093 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
4098 2006-04-06 Michael Smith <msmith@fluendo.com>
4100 * gst/gstpad.c: (gst_pad_set_property):
4101 Use g_value_get_object() instead of g_value_dup_gst_object(),
4102 to avoid double-reffing the pad template (which we then sink,
4103 so this worked previously if (and only if) the pad template
4106 * gst/gstpadtemplate.c: (gst_pad_template_init),
4107 (gst_pad_template_pad_created):
4108 Never return floating references to pad templates, create
4109 them as initially-sunken.
4111 Document an extra function (and make this stop sinking our
4112 pad template, since that is now guaranteed to do nothing,
4113 since we created it sunken).
4115 * gst/gstghostpad.c:
4118 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
4120 * gst/gstinfo.c: (__gst_in_valgrind):
4123 * plugins/elements/gsttypefindelement.c:
4124 (gst_type_find_element_chain):
4125 Don't leak buffer caps.
4127 2006-04-06 Michael Smith <msmith@fluendo.com>
4129 * gst/parse/grammar.y:
4130 Fix a leak in parse-launch for any source-or-sink named element
4133 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4134 Unref the pipeline if it exists after we've failed parsing.
4136 2006-04-05 Michael Smith <msmith@fluendo.com>
4138 * gst/gstpipeline.c: (gst_pipeline_init):
4139 When we create a pipeline bus, initially create it in flushing mode.
4140 Fixes leaks in at least one test, and makes a new pipeline work the
4141 same as one that has gone to READY and then back to NULL.
4146 2006-04-05 Michael Smith <msmith@fluendo.com>
4148 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4149 Unref a pad we reffed.
4150 * tests/check/gst/gstutils.c: (GST_START_TEST):
4153 2006-04-05 Michael Smith <msmith@fluendo.com>
4155 * gst/gstquery.c: (gst_query_set_formats),
4156 (gst_query_set_formatsv):
4157 Fix leaking GValues in queries, as shown by valgrind/testsuite.
4159 2006-04-05 Michael Smith <msmith@fluendo.com>
4161 * tests/check/generic/sinks.c: (GST_START_TEST):
4162 Fix a variety of memleaks in sinks check, which are only sometimes
4163 shown by running the tests under valgrind (weird?).
4165 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
4167 * docs/version.entities.in:
4168 Fix the substituted entity name after thomas' changes on the
4171 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
4173 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
4176 2006-04-05 Andy Wingo <wingo@pobox.com>
4178 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
4180 * libs/gst/base/gstbasetransform.c
4181 (gst_base_transform_sink_eventfunc): When resetting our segment on
4182 FLUSH_STOP, also update the flag saying we haven't seen a
4185 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
4187 Patch by: Paolo Borelli <pborelli at katamail dot com>
4189 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
4190 (gst_plugin_check_license):
4191 minor clean-ups: G_DEFINE_TYPE already takes care of the
4192 parent_class stuff, no need to do it twice. Mark array of
4193 license strings as constant. (#337103)
4195 2006-04-04 Michael Smith <msmith@fluendo.com>
4197 * tools/gst-inspect.c: (print_element_list):
4198 Free the right plugin list; fixes a memory leak.
4200 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
4202 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
4204 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4205 Don't error out on empty buffers (#336945).
4207 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
4209 * docs/libs/gstreamer-libs-sections.txt:
4211 * libs/gst/base/gstbasesink.c:
4212 * libs/gst/base/gstbasesink.h:
4213 * libs/gst/base/gstbasesrc.c:
4214 * libs/gst/base/gstbasesrc.h:
4215 Documentation updates. Make BaseSink and BaseSrc docs contain the
4216 class structure so that people can actually see the prototypes for
4217 virtual functions they're supposed to be overriding.
4219 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
4221 * plugins/elements/gsttypefindelement.c:
4222 (gst_type_find_element_chain):
4223 More debug info; when skipping typefinding, send cached
4224 events in all cases.
4226 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
4229 use new AS_VERSION and AS_NANO macros
4230 * gst/gst-i18n-lib.h:
4233 * gst/gstversion.h.in:
4234 * win32/common/config.h:
4235 * win32/common/config.h.in:
4238 2006-03-31 Michael Smith <msmith@fluendo.com>
4240 * plugins/elements/gsttypefindelement.c:
4241 (gst_type_find_element_chain):
4242 Do not typefind content if the buffers already have caps.
4243 Neccesary for icydemux (#333657), and the right thing to do anyway.
4245 2006-03-30 Wim Taymans <wim@fluendo.com>
4247 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4248 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
4249 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
4250 (gst_base_sink_record_qos_observation),
4251 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4252 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4253 (gst_base_sink_change_state):
4254 More QoS measurements as described in the design doc.
4255 Get rid of ringbuffer with observations, running average is
4256 more simple and equally good.
4257 Calculates valid proportion now.
4258 Added beginning of flood measurement.
4260 2006-03-29 Wim Taymans <wim@fluendo.com>
4262 * docs/design/part-qos.txt:
4264 Small documentation updates and additions.
4266 2006-03-29 Wim Taymans <wim@fluendo.com>
4268 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4269 (gst_base_src_send_event), (gst_base_src_loop),
4270 (gst_base_src_change_state):
4271 Perform the EOS logic when we reach the segment stop position.
4272 Fix compilation on gcc4.1
4274 2006-03-29 Wim Taymans <wim@fluendo.com>
4276 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
4278 * plugins/elements/gstqueue.c: (gst_queue_init),
4279 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4280 (gst_queue_set_property):
4281 * plugins/elements/gstqueue.h:
4282 In queue, when EOS is received, if minimum threshold > max_size -
4283 current_level, there is chance that queue blocks forever in conditional
4284 item del wait. This is because the queue is not emptied completely due
4285 to minimum threshold. Here is another approach. Instead of setting
4286 cur_levels to max in EOS, just zero all minimum threshold levels. This
4287 should make sure that queue gives out all data. When going to READY
4288 (stop) state, just reset the original minimum threshold levels.
4291 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
4293 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
4294 (gst_type_find_element_handle_event),
4295 (gst_type_find_element_send_cached_events),
4296 (gst_type_find_element_change_state):
4297 * plugins/elements/gsttypefindelement.h:
4298 When typefinding is done in push mode, we should cache
4299 events we receive during typefinding instead of just
4300 dropping them (e.g. newsegment, custom events from
4301 dvdreadsrc etc.) and then send them out once we've
4302 determined the type of the stream (and decodebin
4303 has had a chance to plug in a decoder/demuxer).
4305 2006-03-27 Wim Taymans <wim@fluendo.com>
4307 * docs/design/part-qos.txt:
4310 2006-03-27 Wim Taymans <wim@fluendo.com>
4312 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
4314 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4315 (gst_base_src_send_event), (gst_base_src_change_state):
4316 Handle element seek correctly when we are streaming.
4319 2006-03-24 Michael Smith <msmith@fluendo.com>
4321 * docs/faq/gst-uninstalled:
4322 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
4323 allow you to correctly run intalled applications built against old
4324 core, using plugins that require updated core (e.g. running
4325 installed totem against a full uninstalled gstreamer stack)
4327 2006-03-24 Stefan Kost <ensonic@users.sf.net>
4329 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4332 2006-03-24 Wim Taymans <wim@fluendo.com>
4334 * docs/gst/gstreamer-sections.txt:
4335 Rearrange the order of the methods so that related methods
4336 are grouped together in sections.
4338 2006-03-24 Stefan Kost <ensonic@users.sf.net>
4341 Little clarification in the docs
4343 2006-03-24 Stefan Kost <ensonic@users.sf.net>
4347 * plugins/elements/gstidentity.c:
4348 * plugins/elements/gstqueue.c:
4349 * plugins/elements/gsttee.c:
4350 * plugins/elements/gsttypefindelement.c:
4351 GST_ELEMENT_DETAILS formatting
4353 2006-03-24 Wim Taymans <wim@fluendo.com>
4355 * libs/gst/base/gstbasesink.h:
4356 Only add fields, not insert or we break ABI.
4358 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
4360 * win32/common/libgstbase.def:
4361 * win32/common/libgstreamer.def:
4362 Update, add recently added functions.
4364 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
4366 * docs/gst/gstreamer-sections.txt:
4367 * gst/gstutils.c: (gst_pad_query_peer_position),
4368 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
4370 API: add some new utility functions:
4371 - gst_pad_query_peer_position()
4372 - gst_pad_query_peer_duration()
4373 - gst_pad_query_peer_convert()
4375 2006-03-23 Wim Taymans <wim@fluendo.com>
4377 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4378 (gst_base_sink_init), (gst_base_sink_finalize),
4379 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
4380 (gst_base_sink_set_property), (gst_base_sink_get_property),
4381 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
4382 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4383 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
4384 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4385 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4386 (gst_base_sink_preroll_object), (gst_base_sink_event),
4387 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
4388 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4389 (gst_base_sink_query), (gst_base_sink_change_state):
4390 Decouple max-lateness and the fact that QoS messages are generated
4391 with a new property (qos).
4392 added API: GstBaseSink::async_play()
4393 Add vmethod so subclasses can be notified of ASYNC playing
4395 Collect timestamp start and stop to report better current
4396 position in EOS/PLAYING/PAUSED/READY/NULL.
4397 Refactor QoS/frame dropping and other measurements.
4398 API: GstBaseSrc::qos
4401 * libs/gst/base/gstbasesink.h:
4402 Added Private struct.
4403 API: gst_base_sink_set_qos_enabled()
4404 API: gst_base_sink_is_qos_enabled()
4406 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
4408 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
4409 If compiling against GLib-2.8 or newer, try to read the
4410 registry file using GMappedFile first before falling back
4411 to fopen() + fread() (#332151).
4413 2006-03-22 Wim Taymans <wim@fluendo.com>
4415 * gst/gstinfo.c: (gst_debug_set_active),
4416 (gst_debug_category_set_threshold):
4417 Disable debugging unless explicitly activated.
4420 2006-03-22 Wim Taymans <wim@fluendo.com>
4422 * gst/gstelement.c: (gst_element_set_locked_state),
4423 (gst_element_dispose):
4424 Cleanup the error case.
4426 * gst/gstobject.c: (gst_object_dispose):
4427 print a critical when some object was disposed with
4428 a parent, also revive the object since it might
4431 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
4433 * tools/gst-launch.1.in:
4436 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
4439 * tests/check/Makefile.am:
4440 disable some tests when we don't have a registry
4441 * tests/check/gst/gstutils.c: (gst_utils_suite):
4442 don't build the part that needs parsing
4444 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
4447 * tests/examples/Makefile.am:
4448 fix --disable-parse build
4450 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
4452 * tools/gst-feedback.1.in:
4453 Fix typo: s/feeback/feedback/ (#133494).
4455 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
4457 * tools/Makefile.am:
4458 * tools/gst-launch.1.in:
4459 Add FILES section and correct entry about GST_REGISTRY_PATH
4460 environment variable (#133495; #133494).
4462 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
4464 * tools/Makefile.am:
4465 * tools/gst-md5sum.1.in:
4466 * tools/gst-md5sum.c:
4467 Remove gst-md5sum and man page (the md5sink element
4468 required was removed ages ago)
4470 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
4472 * gst/gststructure.c: (gst_structure_id_set_value):
4473 Make sure that string fields in structures/taglists
4474 contain valid UTF-8 - we don't want to pass rubbish to
4475 applications because of a buggy plugin (cp. #334167).
4477 2006-03-21 Edward Hervey <edward@fluendo.com>
4479 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4480 (gst_bin_handle_message_func):
4481 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
4482 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
4483 (gst_element_set_bus_func):
4484 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
4485 * gst/gstminiobject.c: (gst_value_set_mini_object),
4486 (gst_value_take_mini_object):
4487 * gst/gstpad.c: (gst_pad_set_pad_template):
4488 * gst/gstpipeline.c: (gst_pipeline_dispose),
4489 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4490 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
4491 (gst_collect_pads_chain):
4492 * libs/gst/net/gstnettimeprovider.c:
4493 (gst_net_time_provider_set_property):
4494 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
4495 It's in fact all issues with gst_*object_replace().
4497 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
4499 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
4501 * pkgconfig/gstreamer-check-uninstalled.pc.in:
4502 * pkgconfig/gstreamer-check.pc.in:
4503 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
4505 2006-03-21 Edward Hervey <edward@fluendo.com>
4510 gst_[buffer|event|message]_ref() macros are replaced by a static
4511 inline functions because gcc-4.1 will about if the return value
4513 * tests/check/gst/gstevent.c: (event_probe):
4514 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
4516 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
4519 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
4520 the type' case. (Closes: #335195 for now). In the future, when we
4521 depend on GLib 2.10, we could also intern the type name using
4522 g_intern_static_string()
4524 2006-03-20 Wim Taymans <wim@fluendo.com>
4526 * gst/gstbin.c: (gst_bin_handle_message_func),
4527 (bin_query_max_init), (bin_query_position_fold),
4528 (bin_query_position_done), (gst_bin_query):
4529 Position query should also take max of all streams.
4531 2006-03-20 Wim Taymans <wim@fluendo.com>
4533 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4534 (gst_fake_src_finalize):
4535 Fix leaks in fakesrc.
4537 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4538 Fix leaks in the testcase.
4540 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
4542 * gst/gst_private.h:
4543 add win32 specific import decoration(__declspec(dllimport))
4544 for all extern GstDebugCategory * variables
4545 * win32/common/libgstbase.def:
4546 * win32/common/libgstcontroller.def:
4547 * win32/common/libgstreamer.def:
4548 Add some exports, remove empty lines
4549 * win32/common/libgstdataprotocol.def:
4550 * win32/common/libgstdataprotocol.dsp:
4551 * win32/common/libgstnet.def:
4552 * win32/common/libgstnet.dsp:
4553 new project files and exportation files added
4555 2006-03-19 Wim Taymans <wim@fluendo.com>
4557 * tests/check/libs/basesrc.c: (eos_event_counter):
4558 Use proper return value for probe.
4560 2006-03-17 Wim Taymans <wim@fluendo.com>
4562 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4564 Don't leak buffers, caps and pads on negotiation errors.
4566 2006-03-16 Stefan Kost <ensonic@users.sf.net>
4569 * docs/faq/dependencies.xml:
4570 * docs/faq/developing.xml:
4572 * docs/faq/general.xml:
4573 * docs/faq/getting.xml:
4574 * docs/faq/legal.xml:
4575 * docs/faq/troubleshooting.xml:
4576 * docs/faq/using.xml:
4577 Faq review and update.
4579 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
4581 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4583 Don't pound the cpu to pieces by checking get_caps when accept_caps
4584 is called with the same caps as the pad already has.
4585 Use GST_DEBUG_OBJECT when outputting caps change information.
4587 2006-03-15 Wim Taymans <wim@fluendo.com>
4589 * gst/gstclock.c: (gst_clock_class_init):
4592 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
4597 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
4598 (gst_pad_accept_caps), (gst_pad_configure_sink),
4599 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
4600 Make the default acceptcaps behaviour be to check the requested
4601 caps against the gst_pad_get_caps output.
4603 Ensure that gst_pad_accept_caps is used to check caps when a pad
4604 doesn't have a setcaps function, so that pads automatically refuse
4605 caps that they don't allow in their pad template. (Fixes #332986)
4607 When a buffer with attached caps is pushed, ensure that the source
4608 pad receives those caps even if the element didn't call
4609 gst_pad_set_caps first.
4611 2006-03-15 Wim Taymans <wim@fluendo.com>
4613 * libs/gst/base/gstadapter.c:
4616 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
4618 * win32/common/libgstbase.def:
4619 * win32/common/libgstcontroller.def:
4620 * win32/common/libgstreamer.def:
4621 Add a whole bunch of missing functions (#334434).
4623 2006-03-14 Wim Taymans <wim@fluendo.com>
4625 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4626 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4627 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
4628 Better debug info when we receive a segment event.
4629 Reorganize a bit so we can pass the get_times() results around.
4630 Use the segment format when calculating the running time.
4631 Don't do QoS is sync is disabled or we have no clock or the
4632 element does not want us to sync to the clock.
4633 Don't drop buffers if QoS is disabled for now.
4635 2006-03-14 Wim Taymans <wim@fluendo.com>
4637 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
4638 Marked the stats property as unimplemented so people don't get
4640 Add debug message when regression goes wrong.
4641 Added some more docs.
4643 2006-03-14 Wim Taymans <wim@fluendo.com>
4645 * gst/gstsegment.c: (gst_segment_to_stream_time):
4646 Return correct return type in case of errors.
4648 2006-03-14 Wim Taymans <wim@fluendo.com>
4650 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
4651 Don't segfault on invalid formats.
4653 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
4655 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4656 Can't use gst_segment_to_running_time() when the segment
4657 is not in GST_TIME_FORMAT (like with filesink, for example).
4658 Stops flac encoding pipelines from spewing critical warnings
4661 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
4663 * gst/gstpipeline.c: (gst_pipeline_class_init):
4664 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
4666 * plugins/elements/gsttypefindelement.c:
4667 (gst_type_find_element_handle_event):
4668 Don't try to typefind empty streams.
4670 2006-03-14 Wim Taymans <wim@fluendo.com>
4672 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4673 (gst_base_sink_do_qos):
4674 Separate QoS calculation.
4675 Only drop buffers when lateness is bigger than the
4676 duration of the buffer.
4678 2006-03-13 Wim Taymans <wim@fluendo.com>
4680 * gst/gstpipeline.c: (gst_pipeline_set_property),
4681 (gst_pipeline_get_property), (do_pipeline_seek),
4682 (gst_pipeline_change_state), (gst_pipeline_set_delay),
4683 (gst_pipeline_get_delay):
4684 Don't deadlock when reading properties.
4686 2006-03-13 Wim Taymans <wim@fluendo.com>
4688 * libs/gst/base/gstbasetransform.c:
4689 (gst_base_transform_class_init), (gst_base_transform_init),
4690 (gst_base_transform_sink_event),
4691 (gst_base_transform_sink_eventfunc),
4692 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
4693 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4694 (gst_base_transform_set_property),
4695 (gst_base_transform_get_property),
4696 (gst_base_transform_change_state), (gst_base_transform_update_qos),
4697 (gst_base_transform_set_qos_enabled),
4698 (gst_base_transform_is_qos_enabled):
4699 * libs/gst/base/gstbasetransform.h:
4700 Make basetransform virtual method for src events too.
4701 Handle QOS in basetransform.
4702 API: gst_base_transform_update_qos()
4703 API: gst_base_transform_set_qos_enabled()
4704 API: gst_base_transform_is_qos_enabled()
4706 2006-03-13 Wim Taymans <wim@fluendo.com>
4708 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4709 (gst_base_sink_do_sync):
4711 Use QOS debug category.
4713 2006-03-13 Wim Taymans <wim@fluendo.com>
4715 * plugins/elements/gstqueue.c:
4716 Very small doc update.
4718 2006-03-13 Wim Taymans <wim@fluendo.com>
4720 * gst/gst_private.h:
4721 * gst/gstinfo.c: (_gst_debug_init):
4722 Added QOS debug category
4724 2006-03-13 Wim Taymans <wim@fluendo.com>
4726 * docs/gst/gstreamer-sections.txt:
4727 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
4729 * gst/gstbus.c: (gst_bus_class_init):
4732 * gst/gstelement.c: (gst_element_set_locked_state):
4734 Documentation updates.
4736 * gst/gstpipeline.c: (gst_pipeline_get_type),
4737 (gst_pipeline_class_init), (gst_pipeline_init),
4738 (gst_pipeline_dispose), (gst_pipeline_set_property),
4739 (gst_pipeline_get_property), (do_pipeline_seek),
4740 (gst_pipeline_send_event), (gst_pipeline_change_state),
4741 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
4742 (gst_pipeline_get_delay):
4743 * gst/gstpipeline.h:
4744 Added methods for setting the delay.
4745 API: gst_pipeline_set_delay()
4746 API: gst_pipeline_get_delay()
4747 Add pipeline debug category
4750 Don't reset stream time when seek failed.
4752 2006-03-13 Wim Taymans <wim@fluendo.com>
4754 * docs/design/draft-klass.txt:
4755 * docs/design/part-clocks.txt:
4756 * docs/design/part-events.txt:
4757 * docs/design/part-gstbin.txt:
4758 * docs/design/part-gstpipeline.txt:
4759 * docs/design/part-messages.txt:
4760 * docs/design/part-negotiation.txt:
4761 * docs/design/part-overview.txt:
4762 * docs/design/part-preroll.txt:
4763 * docs/design/part-seeking.txt:
4764 * docs/design/part-states.txt:
4765 * docs/design/part-streams.txt:
4766 Documentation updates.
4768 2006-03-12 Julien MOUTTE <julien@moutte.net>
4770 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
4771 us to leak strings...
4773 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
4775 * libs/gst/net/gstnettimeprovider.c:
4777 * win32/common/config.h:
4780 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
4782 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
4785 Don't check for libgnomeui (leftover from old examples
4786 that aren't built or disted any longer) (#334303).
4788 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
4790 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4791 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4792 Emit RESOURCE_NO_SPACE_LEFT error here as well when
4793 there's no space left on the device.
4795 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
4798 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
4799 to cast the input to GstClockTime before comparing with
4800 another GstClockTime value.
4802 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
4807 === release 0.10.4 ===
4809 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
4812 releasing 0.10.4, "Light"
4814 2006-03-10 Michael Smith <msmith@fluendo.com>
4816 * libs/gst/dataprotocol/dataprotocol.c:
4817 Fix docs for dataprocotol to not get the return types completely
4818 wrong for a few functions.
4820 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
4822 * docs/gst/gstreamer-sections.txt:
4823 * gst/gstpipeline.c: (gst_pipeline_class_init),
4824 (gst_pipeline_init), (gst_pipeline_set_property),
4825 (gst_pipeline_get_property), (gst_pipeline_change_state),
4826 (gst_pipeline_set_auto_flush_bus),
4827 (gst_pipeline_get_auto_flush_bus):
4828 * gst/gstpipeline.h:
4829 Add new API: gst_pipeline_set_auto_flush_bus() and
4830 gst_pipeline_get_auto_flush_bus() to disable automatic
4831 flushing of the pipeline's GstBus when going from READY
4832 to NULL state (#332045).
4834 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
4836 * docs/gst/gstreamer-sections.txt:
4837 * gst/gsturi.c: (gst_uri_has_protocol):
4839 Add new API: gst_uri_has_protocol() (#333779).
4841 2006-03-09 Wim Taymans <wim@fluendo.com>
4843 * gst/gstclock.c: (gst_clock_entry_new),
4844 (gst_clock_id_compare_func), (gst_clock_id_wait),
4845 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
4846 (gst_clock_init), (gst_clock_get_internal_time),
4847 (gst_clock_set_master), (do_linear_regression),
4848 (gst_clock_add_observation), (gst_clock_set_property):
4852 Fix a possible segfault when the window-size is made smaller.
4853 Calculate jitter before performing the clock wait. Ideally
4854 the clock implementation should calculate jitter but we need
4855 API breakage for that.
4857 * gst/gstsystemclock.c: (gst_system_clock_init):
4860 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4861 Remove leftover else
4863 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4864 (gst_systemclock_suite):
4865 Added check to test GST_CLOCK_DIFF.
4867 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
4869 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
4870 (gst_type_find_helper_get_range):
4871 If we are provided with the size, we should implement
4872 GstTypeFind::get_length, so that typefind functions who
4873 want to can actually peek at the middle of a file.
4875 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
4877 * docs/manual/advanced-dataaccess.xml:
4878 Add some very very basic error checking.
4880 * docs/pwg/appendix-checklist.xml:
4881 Some updates to the list of things to check when writing an element.
4883 2006-03-08 Wim Taymans <wim@fluendo.com>
4885 * docs/design/part-element-transform.txt:
4886 Added some docs about the design of tranform elements.
4888 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4889 (gst_base_src_loop), (gst_base_src_change_state):
4890 Mark buffers with the DISCONT flag.
4892 2006-03-08 Michael Smith <msmith@fluendo.com>
4894 * gst/gstregistry.h:
4895 * gst/gstregistryxml.c: (gst_registry_save),
4896 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
4897 (gst_registry_xml_save_pad_template),
4898 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
4899 (gst_registry_xml_write_cache):
4900 Rewrite registry-saving to avoid race conditions and check for
4903 2006-03-08 Wim Taymans <wim@fluendo.com>
4905 * libs/gst/base/gstbasetransform.c:
4906 (gst_base_transform_transform_caps),
4907 (gst_base_transform_transform_size),
4908 (gst_base_transform_prepare_output_buffer),
4909 (gst_base_transform_get_unit_size),
4910 (gst_base_transform_buffer_alloc),
4911 (gst_base_transform_handle_buffer),
4912 (gst_base_transform_change_state):
4913 Cleanups, separate normal flow from errors, add sensible
4915 Don't try to renegotiate when allocating an output buffer.
4916 Also copy DISCONT buffer flag when copying a buffer.
4917 Reset the transform after we finish streaming, not during.
4919 2006-03-08 Wim Taymans <wim@fluendo.com>
4921 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4922 Use last buffer timestamp in qos message.
4924 2006-03-07 Wim Taymans <wim@fluendo.com>
4926 Patch by: Christophe Fergeau
4928 * docs/pwg/advanced-tagging.xml:
4929 * docs/pwg/building-pads.xml:
4932 2006-03-07 Wim Taymans <wim@fluendo.com>
4934 * docs/libs/gstreamer-libs-sections.txt:
4935 Added basesink new methods.
4939 Docs updates. Flesh out the QoS docs.
4941 * libs/gst/base/gstadapter.c:
4942 Small doc clarification about ownership and flushing.
4944 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
4945 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
4946 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
4947 (gst_base_sink_get_property), (gst_base_sink_do_sync):
4948 * libs/gst/base/gstbasesink.h:
4950 Added new methods to allow subclass to control max-lateness
4952 Generate very basic QoS events based on last sync observation.
4953 Updated docs, fix typo, added some QoS blurb.
4955 * libs/gst/base/gstbasesrc.c:
4956 Remove obsolete _get_state() calls from docs.
4958 2006-03-07 Wim Taymans <wim@fluendo.com>
4960 * docs/libs/gstreamer-libs-sections.txt:
4961 * libs/gst/base/gstbasetransform.h:
4962 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
4963 Fix docs for GstBaseSrc.
4965 2006-03-07 Wim Taymans <wim@fluendo.com>
4967 * docs/gst/gstreamer-sections.txt:
4970 * libs/gst/base/gstbasetransform.h:
4971 Small documentation fixes.
4973 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
4976 Document thread-unsafety of gst_value_register_foo_func()
4977 when used at the same time as gst_value_foo() (#322628).
4979 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
4981 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
4982 (gst_push_src_check_get_range):
4983 Push sources don't support pull mode by default.
4985 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
4987 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4988 (gst_base_src_init), (gst_base_src_pad_check_get_range),
4989 (gst_base_src_default_check_get_range):
4990 * libs/gst/base/gstbasesrc.h:
4991 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
4992 provide default implementation, and rename
4993 gst_base_src_check_get_range() to
4994 gst_base_src_pad_check_get_range() for clarity.
4996 2006-03-06 Wim Taymans <wim@fluendo.com>
4998 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4999 Make property overridable.
5001 2006-03-06 Wim Taymans <wim@fluendo.com>
5003 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5004 (gst_base_sink_init), (gst_base_sink_set_property),
5005 (gst_base_sink_get_property), (gst_base_sink_do_sync):
5006 * libs/gst/base/gstbasesink.h:
5007 API addition: Make max-lateness a property.
5009 2006-03-06 Wim Taymans <wim@fluendo.com>
5011 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
5012 (gst_base_sink_do_sync), (gst_base_sink_render_object):
5013 Don't ever draw a frame that is >10ms late.
5015 2006-03-06 Michael Smith <msmith@fluendo.com>
5017 * gst/gstmessage.c: (_gst_message_copy):
5018 When copying a message, set the parent_refcount of the enclosed
5019 structure to point at the copy, not the original message.
5021 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
5023 Patch by: Christophe Fergeau
5026 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
5027 usable in c++ code (#333417)
5029 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
5032 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
5034 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
5036 * libs/gst/base/gstbasetransform.c:
5037 (gst_base_transform_transform_caps):
5038 Make sure caps are writable before passing them to
5041 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
5044 Fix some minor docs errors.
5046 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
5048 Patch by: Ross Burton <ross at burtonini dot com>
5050 * gst/gsterror.c: (_gst_resource_errors_init):
5052 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
5054 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
5057 Add a check and output a g_warning when GStreamer is built
5058 against GLib 2.6 but running against 2.8 or higher, and vice
5059 versa. (Closes: #323542)
5061 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
5063 * gst/parse/parse.l:
5064 Commit patch for parse_launch syntax from #331255. Removes
5065 support for quoted strings and mimetypes when writing filtered
5066 caps. See the bug report for more details - I'm pretty sure this
5067 obscure feature is not in use by _anyone_ anywhere.
5069 With this simple change, the size of the gstreamer.so here
5070 drops from 2193KB to 1565KB.
5072 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
5074 * plugins/elements/gsttypefindelement.h:
5075 * plugins/elements/gsttypefindelement.c:
5076 (gst_type_find_element_src_event), (start_typefinding),
5077 (stop_typefinding), (gst_type_find_element_handle_event),
5078 (gst_type_find_element_chain),
5079 (gst_type_find_element_chain_do_typefinding):
5080 Use gst_type_find_helper_for_buffer() for chain-based
5083 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
5085 * plugins/elements/gsttypefindelement.c:
5086 (gst_type_find_element_class_init),
5087 (gst_type_find_element_set_property),
5088 (gst_type_find_element_get_property):
5089 Deprecate "maximum" property (not only was it only taken into
5090 account for typefinding in push-mode anyway, it also was never
5091 actually possible to set it in the first place because the
5092 property was registered with the numeric property ID for the
5093 "minimum" property). Register "maximum" property correctly,
5094 for the sake of future copy'n'pasters. Remove some cruft
5095 from property get/set functions.
5097 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
5099 * plugins/elements/gsttypefindelement.c:
5100 (gst_type_find_element_activate):
5101 Use gst_type_find_helper_get_range() here, so we
5102 can honour the "minimum" property and also emit
5103 the signal with the correct probability of the found caps.
5105 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
5107 * docs/libs/gstreamer-libs-sections.txt:
5108 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
5109 (helper_find_suggest), (gst_type_find_helper_get_range),
5110 (gst_type_find_helper):
5111 * libs/gst/base/gsttypefindhelper.h:
5112 New API: gst_type_find_helper_get_range() (#333042).
5114 2006-03-02 Michael Smith <msmith@fluendo.com>
5116 * gst/gstregistryxml.c: (load_feature):
5117 Asserting on a failure to read part of the registry is Not Cool.
5118 Just log a warning and return NULL (which is already handled)
5120 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
5122 * win32/common/libgstbase.def:
5123 added export of gst_type_find_helper_for_buffer
5124 * win32/common/libgstbase.def:
5125 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
5126 gst_ghost_pad_get_target
5128 2006-02-28 Wim Taymans <wim@fluendo.com>
5130 * docs/design/draft-klass.txt:
5132 Added Connector to mark elements that are only used to
5133 allow pipeline connections.
5134 Moved Debug to extra feature since most of them are
5135 functionally something else.
5137 2006-02-28 Wim Taymans <wim@fluendo.com>
5139 * docs/design/draft-klass.txt:
5140 Some updates and clarifications.
5142 2006-02-28 Wim Taymans <wim@fluendo.com>
5144 * docs/design/draft-klass.txt:
5145 Proposal for klass field values.
5147 * docs/design/part-streams.txt:
5148 Start of a doc describing stream anatomy.
5150 2006-02-28 Wim Taymans <wim@fluendo.com>
5152 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
5153 Help the compiler a bit with type registration.
5154 Use existing forward cod path instead of duplicating it when
5157 * gst/gstbus.c: (gst_bus_get_type):
5158 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
5159 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
5160 * gst/gstclock.c: (gst_clock_get_type):
5161 * gst/gstelement.c: (gst_element_get_type),
5162 * gst/gstelementfactory.c: (gst_element_factory_get_type):
5163 * gst/gstindexfactory.c: (gst_index_factory_get_type):
5164 * gst/gstminiobject.c: (gst_mini_object_get_type):
5165 * gst/gstpad.c: (gst_pad_get_type):
5166 * gst/gstsegment.c: (gst_segment_get_type):
5167 * gst/gststructure.c: (gst_structure_get_type):
5168 * gst/gstsystemclock.c: (gst_system_clock_get_type):
5169 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
5171 Help compiler with type registration.
5173 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5176 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
5178 * plugins/elements/gsttypefindelement.c:
5179 (gst_type_find_element_handle_event):
5180 When we get an EOS event and have not found a type yet
5181 (most likely because we had not yet accumulated
5182 TYPE_FIND_MIN_SIZE of data yet), try to determine the
5183 type given the data we have so far. Fixes typefinding
5184 for very short streams again, most notably quicktime
5185 redirections as used on Apple's trailer site (#331701).
5187 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
5189 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
5190 (gst_type_find_helper):
5191 Try typefinding factories with the highest rank first.
5193 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
5195 * docs/libs/gstreamer-libs-docs.sgml:
5196 * docs/libs/gstreamer-libs-sections.txt:
5197 * libs/gst/base/gsttypefindhelper.c:
5198 Add section for typefind helper and add documentation
5199 for the old and the new function.
5201 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
5203 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
5204 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
5205 (gst_type_find_helper_for_buffer):
5206 * libs/gst/base/gsttypefindhelper.h:
5207 New API: gst_type_find_helper_for_buffer() (#332723).
5209 2006-02-27 Michael Smith <msmith@fluendo.com>
5211 Patch by: Loïc Minier
5215 * docs/slides/Makefile.am:
5216 prevent CVS directories getting disted.
5218 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
5220 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
5221 Use the REFCOUNTING category for caps refcounting.
5223 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
5225 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5226 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
5228 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
5230 * plugins/elements/gsttypefindelement.c:
5231 (gst_type_find_element_activate):
5232 Use gst_pad_check_pull_range() before _activate_pull()
5233 to avoid unnecessary open/close (see #331690).
5235 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
5238 Docs enhancement: make it crystal clear what the
5239 gst_pad_add_*_probe() callbacks should look like.
5241 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
5243 * libs/gst/base/gstbasesrc.c:
5244 Document how applications can stop recording from
5245 live sources (see #330996).
5247 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
5249 * tests/check/Makefile.am:
5250 * tests/check/libs/basesrc.c: (eos_event_counter),
5251 (basesrc_eos_events_pull), (basesrc_eos_events_push),
5252 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
5253 (gst_basesrc_suite), (main):
5254 ... and add some tests for the base source EOS stuff.
5256 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
5258 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
5259 Test case originally showed the problem fixed below,
5260 but was then amended. Add checks back at the place
5261 where they used to be.
5263 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
5265 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5266 (gst_base_src_init), (gst_base_src_loop),
5267 (gst_base_src_activate_push), (gst_base_src_activate_pull),
5268 (gst_base_src_change_state):
5269 * libs/gst/base/gstbasesrc.h:
5270 Don't unconditionally send EOS when going from PAUSED to
5271 READY state, esp. make sure we don't send two EOS events
5272 in some cases (e.g. one when reaching EOS and one when
5273 going from PAUSED to READY). Also, we don't want to send
5274 EOS events when operating in pull mode. However, we do
5275 want to send an EOS event when shutting down a live
5276 source explicitly, for example (fixes #330996).
5278 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
5280 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5281 Update src->read_position after a seek when not using mmap.
5282 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
5284 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
5290 Make things work with --disable-parse as they do with
5291 --disable-load-save - the symbols involved disappear, but the
5292 header is still installed and GST_DISABLE_PARSE is included via
5295 2006-02-20 Julien MOUTTE <julien@moutte.net>
5297 * libs/gst/base/gstbasetransform.c:
5298 (gst_base_transform_change_state): Fix a stupid bug. I was
5299 sure I compiled that.
5301 2006-02-20 Julien MOUTTE <julien@moutte.net>
5303 * gst/gstpad.c: (gst_pad_set_blocked_async):
5304 * gst/gstutils.c: (gst_pad_add_data_probe),
5305 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5306 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5307 (gst_pad_remove_buffer_probe): Make those function act on the
5308 ghostpad target when it's a ghostpad. (Closes #331727)
5310 2006-02-20 Julien MOUTTE <julien@moutte.net>
5312 * libs/gst/base/gstbasetransform.c:
5313 (gst_base_transform_change_state): Make basetransform reusable.
5316 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
5318 * docs/random/release:
5319 Move the current documentation of how to do a release to the top
5322 * gst/gstbin.c: (gst_bin_class_init),
5323 (gst_bin_handle_message_func):
5324 Allow multiple state-recalculation threads. (Closes #328873)
5326 2006-02-19 Julien MOUTTE <julien@moutte.net>
5328 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
5329 * gst/gstpad.c: (gst_pad_set_event_function),
5330 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5331 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
5332 2 strings. You can't use the STR_NULL macro on that.
5334 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
5336 * gst/gstpad.c: (gst_pad_set_event_function),
5337 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5338 (gst_pad_set_getcaps_function)
5339 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
5340 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
5341 So now, we can use --gst-debug-level=5 on Windows
5342 * win32/common/libgstcontroller.def:
5343 Added export of gst_controller_init
5344 * win32/vs6/libgstcontroller.dsp:
5345 Fixed Release post build configuration
5347 2006-02-17 Wim Taymans <wim@fluendo.com>
5349 * tests/check/gst/gstquery.c: (GST_START_TEST):
5350 Added another check.
5352 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
5354 * plugins/elements/gsttypefindelement.c: (find_peek):
5355 We can do peeks at non-zero offsets, as long as they
5356 fall within the buffer we have.
5358 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
5360 * tests/check/Makefile.am:
5361 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
5362 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
5363 (parse_suite), (main):
5364 Add testsuite for parse launch syntax
5366 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
5368 * plugins/elements/gsttypefindelement.c:
5369 (gst_type_find_element_chain):
5370 When typefinding is unsuccessful in the chain function, don't
5371 error out immediately. Only error out with NO_CAPS_FOUND if
5372 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
5373 otherwise simply wait for more data so we can try typefinding
5374 again with more data later. Also, don't attempt to typefind
5375 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
5376 this should improve typefinding from network sources where the
5377 size of the first buffer can be somewhat random.
5379 2006-02-14 Wim Taymans <wim@fluendo.com>
5381 * docs/gst/gstreamer-sections.txt:
5382 * gst/gstpadtemplate.c:
5383 * gst/gstpadtemplate.h:
5384 Fix padtemplate docs, fixes #328805.
5386 2006-02-14 Wim Taymans <wim@fluendo.com>
5388 * tools/gst-launch.c: (main):
5389 NO_PREROLL is not an ERROR so don't send confusing messages
5392 2006-02-14 Wim Taymans <wim@fluendo.com>
5394 Patch by: Torsten Schoenfeld
5396 * gst/gstregistry.c: (gst_registry_get_default),
5397 (_gst_registry_cleanup):
5398 Protect default registry with lock and ref/sink it.
5401 2006-02-14 Wim Taymans <wim@fluendo.com>
5404 * gst/gstquery.c: (gst_query_list_add_format),
5405 (gst_query_set_formatsv), (gst_query_parse_formats_length),
5406 (gst_query_parse_formats_nth):
5407 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5410 2006-02-14 Wim Taymans <wim@fluendo.com>
5412 * docs/gst/gstreamer-sections.txt:
5413 Reworked query docs.
5415 * gst/gstquery.c: (gst_query_new_formats),
5416 (gst_query_list_add_format), (gst_query_set_formats),
5417 (gst_query_set_formatsv), (gst_query_parse_formats_length),
5418 (gst_query_parse_formats_nth):
5420 Flesh out formats query, added some new methods.
5421 Fix part of #324398.
5423 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
5424 Added query creation tests.
5426 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
5428 * gst/gstpad.c: (fixate_value):
5429 Add a default fixation for fraction lists.
5431 2006-02-13 Wim Taymans <wim@fluendo.com>
5433 * gst/gsttask.c: (gst_task_init), (gst_task_func),
5434 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
5437 Detect and warn for obvious deadlocks. fixes #320340
5438 Fix error case where lock was not released.
5440 * tests/check/Makefile.am:
5441 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
5442 (task_func), (gst_element_suite), (main):
5445 2006-02-13 Wim Taymans <wim@fluendo.com>
5447 * docs/gst/gstreamer-sections.txt:
5449 Add new functions to docs.
5451 2006-02-13 Wim Taymans <wim@fluendo.com>
5453 * docs/design/part-TODO.txt:
5454 Updated TODO list, basesrc supports seeking to non-bytes
5457 * docs/design/part-element-sink.txt:
5460 * gst/gstbin.c: (bin_replace_message),
5461 (gst_bin_handle_message_func):
5462 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
5463 * gst/gstevent.c: (gst_event_finalize):
5464 * gst/gstpad.c: (gst_pad_event_default_dispatch),
5465 (gst_pad_send_event):
5466 Use shiny new _TYPE_NAME macros.
5468 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5469 Move debug statement up.
5471 * gst/gstelement.c: (gst_element_set_locked_state):
5474 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
5476 * docs/gst/gstreamer-sections.txt:
5479 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
5480 macros (#330906). Also, document the already existing
5481 GST_QUERY_TYPE macro.
5483 2006-02-13 Wim Taymans <wim@fluendo.com>
5485 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
5486 (event_probe), (GST_START_TEST):
5487 Only events up to the pipeline EOS are counted, there are
5488 some more when going to NULL currently which we don't care
5491 2006-02-13 Wim Taymans <wim@fluendo.com>
5493 * gst/gstpad.c: (gst_pad_send_event):
5494 Correctly check flushing and emit probes. fixes #330125
5496 2006-02-10 Andy Wingo <wingo@pobox.com>
5498 * gst/gstbus.c (gst_bus_class_init): Declare our private data
5500 (gst_bus_init): Cache the location of the private data in the
5502 (gst_bus_enable_sync_message_emission)
5503 (gst_bus_disable_sync_message_emission): Implement new public
5505 (gst_bus_post): Emit the sync-message signal if the user asked for
5508 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
5509 location of the bus-private structure.
5510 (gst_bus_enable_sync_message_emission)
5511 (gst_bus_disable_sync_message_emission): API addition
5513 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
5515 Patch by: Vincent Torri
5517 * docs/pwg/building-boiler.xml:
5518 PWG patch from #326800
5520 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
5524 * docs/design/Makefile.am:
5527 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
5532 === release 0.10.3 ===
5534 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
5537 releasing 0.10.3, "Like a virgin"
5539 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
5542 2nd prerelease of 0.10.3
5543 Bump libtool versioning.
5545 2006-02-07 Andy Wingo <wingo@pobox.com>
5547 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
5548 update last_stop if we're in TIME format and the timestamp is
5551 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
5552 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
5553 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
5554 If we get a new newsegment with a different format, adapt
5557 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
5558 of 0. Not a problem, really.
5560 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
5563 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
5568 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
5571 project files updated to the default vs7 configuration
5572 * win32/common/libgstbase.def:
5573 * win32/common/libgstreamer.def:
5575 removed empty lines,
5576 sorted all exported symbols alphabetically
5577 * win32/common/dirent.c:
5578 * win32/common/dirent.h:
5579 * win32/common/gchar.h:
5580 use windows line end.
5582 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
5584 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5585 Send EOS event when stopping.
5587 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
5590 Tell folks what to do if the plugin-foobar.xml file
5591 hasn't been generated for a newly-added plugin.
5593 2006-02-05 Julien MOUTTE <julien@moutte.net>
5595 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5596 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5597 (gst_collect_pads_start), (gst_collect_pads_stop),
5598 (gst_collect_pads_event): Collectpads now holds a reference
5599 to the GstPad that was added. Indeed we don't want to look
5600 at pads that might just go away with no warning...
5602 2006-02-05 Julien MOUTTE <julien@moutte.net>
5604 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5605 (gst_collect_pads_start), (gst_collect_pads_stop),
5606 (gst_collect_pads_event), (gst_collect_pads_chain):
5607 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
5608 Mark Nauwelaerts's patch on bug #328491.
5610 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
5612 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
5614 Add some simple tests for gst_parse_bin_from_description() and
5615 gst_bin_find_unconnected_pad() (#329069).
5617 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
5619 * tools/gst-launch.c: (event_loop), (main):
5620 Catch errors during preroll (#320084).
5622 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
5624 * plugins/elements/gsttypefindelement.c:
5625 (gst_type_find_element_activate):
5626 Post TYPE_NOT_FOUND error message when typefinding
5627 is unsuccessful in the activate function as well.
5629 2006-02-02 Wim Taymans <wim@fluendo.com>
5631 * docs/design/part-element-sink.txt:
5634 2006-02-02 Wim Taymans <wim@fluendo.com>
5636 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
5637 (gst_base_sink_render_object),
5638 (gst_base_sink_queue_object_unlocked):
5639 Only keep track of prerollable items when we are
5641 Before rendering after preroll, always check if we
5643 Added some more debugging.
5645 2006-02-02 Wim Taymans <wim@fluendo.com>
5647 * gst/gstelement.c: (gst_element_continue_state),
5648 (gst_element_set_state_func), (gst_element_change_state):
5649 Fixed #326576, been running this for quite some time with
5650 no regressions at all.
5652 2006-02-02 Wim Taymans <wim@fluendo.com>
5655 Added more suppressions
5657 2006-02-02 Wim Taymans <wim@fluendo.com>
5659 * docs/design/part-element-sink.txt:
5662 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5663 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
5664 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
5665 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
5666 (gst_base_sink_do_sync), (gst_base_sink_render_object),
5667 (gst_base_sink_preroll_object),
5668 (gst_base_sink_queue_object_unlocked),
5669 (gst_base_sink_queue_object), (gst_base_sink_event),
5670 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
5671 (gst_base_sink_loop), (gst_base_sink_activate_pull),
5672 (gst_base_sink_get_position), (gst_base_sink_change_state):
5673 * libs/gst/base/gstbasesink.h:
5674 Totally refactored matching the design doc.
5675 Use two segments, one to clip incomming buffers and another to
5677 Handle queueing correctly, bypass the queue when playing.
5678 Make EOS cancelable.
5679 Handle errors correctly when operating in pull based mode.
5681 * tests/check/elements/fakesink.c: (GST_START_TEST),
5683 Added new check for sinks.
5685 2006-02-02 Wim Taymans <wim@fluendo.com>
5687 * gst/gstsegment.c: (gst_segment_clip):
5688 No reason to refuse to clip when start == -1
5690 2006-02-02 Stefan Kost <ensonic@users.sf.net>
5693 * docs/manual/intro-basics.xml:
5694 * docs/manual/intro-preface.xml:
5695 * docs/manual/manual.xml:
5696 * docs/pwg/advanced-dparams.xml:
5697 * docs/pwg/intro-basics.xml:
5698 * docs/pwg/intro-preface.xml:
5700 describe dparams (controller) for plugins
5701 unify docs a little more
5703 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
5705 * docs/gst/gstreamer-sections.txt:
5706 * gst/gstutils.c: (element_find_unconnected_pad),
5707 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
5709 Add new API: gst_parse_bin_from_description() and
5710 gst_bin_find_unconnected_pad() (#329069).
5712 2006-02-01 Stefan Kost <ensonic@users.sf.net>
5714 * docs/manual/README:
5715 uncover a nasty detail of the docs build
5717 2006-01-31 Wim Taymans <wim@fluendo.com>
5719 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
5720 Don't cache duration messages if we're not going to use or
5723 2006-01-31 Stefan Kost <ensonic@users.sf.net>
5725 * docs/manual/advanced-dparams.xml:
5726 * docs/pwg/advanced-dparams.xml:
5730 * libs/gst/controller/lib.c: (gst_controller_init):
5733 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
5735 * gst/gstelement.c: (gst_element_message_full):
5736 also show file/line/func if no additional debug was given
5738 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
5740 * win32/vs7/grammar.vcproj:
5741 activate copy of autogenerated files for Release mode
5743 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
5745 * win32/common/libgstreamer.def:
5746 export gst_value_compare
5748 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
5750 * plugins/elements/Makefile.am:
5751 * plugins/elements/gstelements.c:
5752 * plugins/elements/gstfdsink.c: (_do_init),
5753 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
5754 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
5755 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
5756 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
5757 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
5758 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
5759 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
5760 * plugins/elements/gstfdsink.h:
5761 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
5763 2006-01-30 Stefan Kost <ensonic@users.sf.net>
5765 * docs/manual/advanced-dparams.xml:
5767 * docs/manual/advanced-position.xml:
5768 * docs/manual/basics-init.xml:
5769 * docs/manual/manual.xml:
5770 * docs/manual/titlepage.xml:
5772 * docs/pwg/titlepage.xml:
5773 cleanup xml (more to come)
5774 * libs/gst/controller/gstcontroller.c:
5777 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
5779 * win32/vs6/grammar.dsp:
5780 add autogen of gstmarshal.c,h for Release mode
5782 2006-01-30 Wim Taymans <wim@fluendo.com>
5784 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5785 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
5786 (gst_base_sink_handle_object), (gst_base_sink_event),
5787 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
5788 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5789 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
5790 (gst_base_sink_deactivate), (gst_base_sink_activate),
5791 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5792 (gst_base_sink_query), (gst_base_sink_change_state):
5793 Basesink cleanups, remove some old code.
5794 Handle the case where a subclass can preroll in the render
5795 method (mostly audiosinks).
5797 Remove some locks around variables that are now protected
5798 with the PREROLL_LOCK (clock_id, flushing, ..).
5799 Optimize position query some more, do correct locking.
5800 Remove old code to push queue in state change, this is not
5801 needed anymore since preroll blocks on all prerollable items
5803 Almost implemented as described in design doc.
5805 2006-01-30 Wim Taymans <wim@fluendo.com>
5807 * tests/check/gst/gstbin.c: (GST_START_TEST):
5808 Wait for refcount to settle down before checking.
5810 2006-01-30 Wim Taymans <wim@fluendo.com>
5812 * docs/design/part-element-sink.txt:
5813 Pseudo code overview of desired sink behaviour regarding
5816 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
5817 * win32/vs6/grammar.dsp:
5818 fix some bugs in Release mode for autogenerated files
5820 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
5821 * win32/common/libgstbase.def:
5822 * win32/common/libgstreamer.def:
5823 export some new symbols: gst_base_src_set_format,
5824 gst_iterator_next, gst_structure_set_valist
5826 2006-01-29 Julien MOUTTE <julien@moutte.net>
5828 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5829 Set pad functions unconditionally. Fixes #329105.
5831 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
5833 add vs8 project files created by Sergey Scobich
5835 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
5837 * gst/gstutils.c: (gst_element_unlink_pads):
5838 Don't leak pad references.
5840 * tests/check/elements/fakesink.c: (GST_START_TEST):
5841 * tests/check/generic/sinks.c: (GST_START_TEST):
5842 * tests/check/generic/states.c: (GST_START_TEST):
5843 * tests/check/gst/gstbin.c: (GST_START_TEST):
5844 * tests/check/gst/gstcaps.c: (GST_START_TEST):
5845 * tests/check/gst/gstelement.c: (GST_START_TEST):
5846 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5847 * tests/check/gst/gstiterator.c: (GST_START_TEST):
5848 * tests/check/gst/gstvalue.c: (GST_START_TEST):
5849 Fix a bunch of leaks. Make generic/sinks.c
5850 use a bit less cpu by slowing the buffer rate
5851 between fakesrc and fakesink.
5853 2006-01-27 Stefan Kost <ensonic@users.sf.net>
5855 * gst/gstelement.c: (gst_element_send_event):
5858 * gst/gstiterator.c:
5859 * gst/gstiterator.h:
5860 * gst/gstpad.c: (gst_pad_send_event):
5861 * gst/gststructure.c:
5865 * libs/gst/base/gstadapter.c:
5866 doc fixes, to link to function, just write gst_cool_function(), don't
5869 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
5871 * plugins/elements/gsttee.c: (gst_tee_do_push),
5872 (gst_tee_handle_buffer):
5873 Always prefer an actual return value from a src
5874 pad in place of NOT_LINKED. This means we return
5875 WRONG_STATE when all src pads are WRONG_STATE
5876 instead of NOT_LINKED.
5878 Lock when replacing the last message to prevent
5879 racing with the get_property method.
5883 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
5885 * tests/check/Makefile.am:
5886 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
5888 Add a very simple check that should have caught the memleak I fixed
5889 last night (if not for the slice allocator hiding it)
5891 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
5893 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5894 (gst_bin_remove_func), (gst_bin_handle_message_func),
5895 (bin_query_duration_fold), (bin_query_generic_fold):
5896 Clean up references to the clock provider when disposed or when
5897 handling a clock-lost message from it.
5899 Unref sinks when performing a query via gst_iterator_fold, as the
5900 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
5902 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
5903 (gst_clock_set_master):
5904 Drop our reference to the master clock, if any, when we are disposed.
5906 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
5907 Chain up in dispose.
5909 2006-01-26 Wim Taymans <wim@fluendo.com>
5911 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5914 2006-01-26 Julien MOUTTE <julien@moutte.net>
5916 * plugins/elements/gsttee.c: (gst_tee_do_push),
5917 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
5918 handles pad being NOT_LINKED or in WRONG_STATE.
5920 2006-01-26 Stefan Kost <ensonic@users.sf.net>
5925 2006-01-26 Stefan Kost <ensonic@users.sf.net>
5928 remove obsolete entry
5930 2006-01-26 Stefan Kost <ensonic@users.sf.net>
5932 * docs/gst/gstreamer-sections.txt:
5933 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
5934 (gst_bin_iterate_sources), (gst_bin_send_event):
5936 * gst/gstelement.c: (gst_element_send_event):
5938 * gst/gstpad.c: (gst_pad_send_event):
5939 added code for downstream events, reviewed docs in gstevent.c
5941 2006-01-25 Julien MOUTTE <julien@moutte.net>
5943 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5944 We only query position using the clock in the playing state.
5945 Query peer in the other cases.
5946 * win32/common/config.h: Updates.
5948 2006-01-24 Wim Taymans <wim@fluendo.com>
5950 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5951 A clock entry that is scheduled for the exact time of the
5952 clock is still in time.
5954 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5955 (gst_base_sink_do_sync):
5956 Add some more debug info.
5958 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
5961 Add new vs7 project files and solution.
5963 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
5966 all files removed as they were out-dated.
5968 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
5970 * docs/random/release:
5972 * gst/gstbin.c: (gst_bin_init):
5973 * gst/gstbus.c: (gst_bus_new):
5975 * gst/gstpipeline.c: (gst_pipeline_init):
5976 use gst_bus_new(), improve logging, fix docs
5977 * win32/common/config.h:
5978 update for cvs build
5980 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
5983 up required version of automake to 1.7
5985 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
5987 * win32/common/libgstreamer.def:
5988 export gst_buffer_is_metadata_writable
5990 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
5992 * docs/gst/gstreamer-sections.txt:
5994 Add gst_event_replace() (#327001)
5996 2006-01-20 Wim Taymans <wim@fluendo.com>
5998 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
5999 Make it actually compile too..
6001 2006-01-20 Wim Taymans <wim@fluendo.com>
6004 Clarify behaviour of _is_equal() when passing NULL parameters.
6006 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6008 Cleanups. Don't unref NULL caps.
6009 When setting the same caps, protect caps of the pad with
6011 Use full functionality of _is_equal() when comparing caps.
6013 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
6015 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6016 Don't loop infinitely if there are no buffers to present. Partially
6017 fixes #327197, but collectpads is just broken for reusing elements
6018 to do multiple encodes atm.
6020 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
6022 * tools/gst-inspect.c: (print_element_features):
6023 * tools/gst-xmlinspect.c: (main):
6024 URL_HANDLER is not a plugin feature we can search for in
6027 2006-01-19 Edward Hervey <edward@fluendo.com>
6029 * gst/gstelement.c: (gst_element_pads_activate):
6030 When activating, do src pads first, then sink pads.
6031 When de-activating, do sink pads first, then src pads.
6033 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
6035 * docs/gst/gstreamer-sections.txt:
6036 Add gst_index_add_associationv to the docs
6038 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
6043 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
6044 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
6045 Do some refactoring. Doesn't actually change functionality,
6046 but makes landing the DRAIN event easier later.
6048 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
6050 * docs/pwg/advanced-scheduling.xml:
6051 Update from 0.9.x to 0.10 API and make example a bit
6054 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
6056 * docs/gst/gstreamer-sections.txt:
6057 Add gst_buffer_(is|make)_metadata_writable methods.
6059 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
6061 * docs/design/part-sparsestreams.txt:
6062 Update sparse streams doc, hopefully for greater clarity
6064 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
6066 * docs/design/part-events.txt:
6067 Remove mention of FILLER events.
6070 * docs/design/part-sparsestreams.txt:
6071 Write some things about using NEWSEGMENT to keep sparse streams
6074 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
6076 * gst/gstbin.c: (gst_bin_dispose):
6077 Guard gst_object_unref call against a NULL object (dispose
6078 can theoretically be called multiple times).
6080 2006-01-18 Wim Taymans <wim@fluendo.com>
6082 * gst/gstbin.c: (gst_bin_element_set_state):
6083 * gst/gstclock.c: (gst_clock_id_wait):
6084 Added some more debug info.
6086 * libs/gst/base/gstadapter.c:
6089 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6090 (gst_base_sink_do_sync), (gst_base_sink_chain):
6091 Added some comments.
6093 2006-01-18 Wim Taymans <wim@fluendo.com>
6095 * tests/check/Makefile.am:
6096 * tests/check/elements/fakesink.c: (chain_async_buffer),
6097 (chain_async), (chain_async_return), (GST_START_TEST),
6098 (fakesink_suite), (main):
6099 Added fakesink test that checks prerolling and clipping
6102 * tests/check/gst/gstutils.c: (GST_START_TEST):
6103 Make check run faster so that buildbots don't timeout.
6105 2006-01-18 Wim Taymans <wim@fluendo.com>
6107 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6108 (gst_base_sink_do_sync):
6110 When the sink finishes blocking on the preroll buffer, it can
6111 immediatly render it instead of rendering when the next buffer
6114 2006-01-18 Wim Taymans <wim@fluendo.com>
6116 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
6117 (gst_base_sink_get_property), (gst_base_sink_do_sync),
6118 (gst_base_sink_chain):
6120 GST_ELEMENT_CLOCK and sync are protected with LOCK.
6121 Don't store _last_stop if the buffer is dropped.
6123 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
6125 * plugins/elements/gsttypefindelement.c:
6126 (gst_type_find_element_class_init):
6127 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
6128 object method handler that sets the caps on the pad and we want
6129 that to happen before we emit the signal (fixes e.g. feeding a
6130 plain text file to decodebin).
6132 2006-01-18 Christian Schaller <Christian@fluendo.com>
6134 * gst/gstplugin.c: Add MPL and Proprietary as license options
6136 2006-01-18 Andy Wingo <wingo@pobox.com>
6138 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
6139 symbol was exported before, it appears this was just an oversight.
6141 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
6143 * gst/gstindex.c (gst_index_add_associationv): Changed int in
6144 prototype to gint. OK since this prototype was not in the header.
6146 2006-01-17 Andy Wingo <wingo@pobox.com>
6148 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
6149 registry while we remove plugins.
6151 * tools/gst-inspect.c (print_element_info): Don't unref the
6152 factory arg, that should be the responsibility of whatever code
6153 received the ref. Fixes a double-free when called from
6154 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
6155 (main): Unref the factory if we have one.
6156 (print_element_list): No change -- relies on the
6157 plugin_feature_list_free to free the list of features.
6159 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
6161 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6162 (gst_buffer_make_metadata_writable):
6164 * libs/gst/base/gstbasetransform.c:
6165 (gst_base_transform_prepare_output_buf):
6166 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6167 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6168 Replace gst_buffer_(make|is)_metadata_writable patch now
6169 that the release is out.
6171 2006-01-17 Andy Wingo <wingo@pobox.com>
6173 * gst/gstregistry.c: Reflow design comment. Update so as to speak
6174 in the present tense without reference to versions.
6176 * gst/gstregistry.c (gst_registry_add_plugin)
6177 (gst_registry_remove_plugin, gst_registry_remove_feature)
6178 (gst_registry_find_feature, gst_registry_get_feature_list)
6179 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
6180 (gst_registry_lookup, gst_registry_scan_path)
6181 (_gst_registry_remove_cache_plugins)
6182 (gst_registry_get_feature_list_by_plugin): Add argument
6185 === release 0.10.2 ===
6187 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
6190 releasing 0.10.2, "If man is five"
6192 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
6196 * libs/gst/base/gstbasetransform.c:
6197 (gst_base_transform_prepare_output_buf):
6198 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6199 * tests/check/gst/gstbuffer.c: (gst_test_suite):
6200 Back out patch until after the release.
6202 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
6204 * gst/gstminiobject.c:
6205 Spelling fix in docs.
6206 * ChangeLog - remove conflict indicator
6208 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
6210 Reviewed By: Andy Wingo
6212 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6213 (gst_buffer_make_metadata_writable):
6215 Add gst_buffer_(is|make)_metadata_writable as analogues of
6216 gst_buffer_(is|make)_writable.
6218 * libs/gst/base/gstbasetransform.c:
6219 (gst_base_transform_prepare_output_buf):
6220 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6221 Use name gst_buffer_(is|make)_metadata_writable functions.
6223 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6224 Test gst_buffer_(is|make)_metadata_writable
6228 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
6230 * docs/manual/Makefile.am:
6231 don't do parallel make
6234 * win32/common/config.h.in:
6235 add generations for HOST_CPU and GST_MAJORMINOR
6236 * win32/common/config.h:
6237 commit generated result
6239 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
6241 * docs/manual/appendix-integration.xml:
6242 Update GNOME integration section to use gst_init_get_option_group()
6243 instead of the old popt stuff (#322911). Also, GNOME applications
6244 should now use gconf*sink and gconf*src instead of the old gconf
6247 2006-01-13 Stefan Kost <ensonic@users.sf.net>
6250 * docs/gst/gstreamer-docs.sgml:
6251 * docs/gst/gstreamer-sections.txt:
6252 * docs/libs/gstreamer-libs-sections.txt:
6253 add new API entries to the docs
6254 * libs/gst/controller/Makefile.am:
6255 * libs/gst/controller/gstcontroller.c:
6256 * libs/gst/controller/gstcontroller.h:
6257 * libs/gst/controller/gstcontrollerprivate.h:
6258 * libs/gst/controller/gsthelper.c:
6259 * libs/gst/controller/gstinterpolation.c:
6260 move private structs to private header
6262 gstreamer-0.7 -> gstreamer-0.10
6263 * tests/check/libs/struct_i386.h:
6264 remove private structs
6266 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
6268 * plugins/indexers/Makefile.am:
6269 Fixes as part of #317048
6271 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
6273 * plugins/indexers/Makefile.am:
6274 fix #316086 - compilation when mmap is missing
6276 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
6278 * libs/gst/base/gstbasesink.c:
6279 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
6280 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
6281 * win32/common/config.h:
6282 added some defines GST_MAJORMINOR and HOST_CPU
6283 * win32/common/libgstbase.def:
6284 * win32/common/libgstreamer.def:
6285 added some exported functions.
6287 2006-01-12 Stefan Kost <ensonic@users.sf.net>
6289 * libs/gst/controller/gstcontroller.c:
6290 (gst_controlled_property_set_interpolation_mode),
6291 (gst_controlled_property_new):
6292 * libs/gst/controller/gstcontroller.h:
6293 * libs/gst/controller/gstinterpolation.c:
6294 (interpolate_none_get_string_value_array):
6295 make G_TYPE_STRING controlable
6297 2006-01-12 Stefan Kost <ensonic@users.sf.net>
6300 * tools/gst-feedback.1.in:
6301 * tools/gst-inspect.1.in:
6302 * tools/gst-launch.1.in:
6303 * tools/gst-md5sum.1.in:
6304 * tools/gst-typefind.1.in:
6305 * tools/gst-xmlinspect.1.in:
6306 * tools/gst-xmllaunch.1.in:
6307 cleanup man-pages, remove reference to gst-register, document env-vars
6309 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
6311 * gst/gstbuffer.c: (gst_buffer_span):
6312 gst_buffer_span should copy the timestamp of the first buffer
6313 if they were both originally overlapping subbuffers of the
6314 same parent, using the same logic as the 'slow copy' case.
6316 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
6318 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
6319 Need to awaken ALL the pads when we pop a buffer, otherwise
6320 collectpads only works when there is 2 input streams.
6322 2006-01-11 Stefan Kost <ensonic@users.sf.net>
6324 * docs/random/ensonic/media-device-daemon.txt:
6327 fix doc example, add clarification
6328 * tools/gst-launch.1.in:
6329 add initial info about GST_PLUGIN_PATH, needs more work
6331 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
6333 * docs/manual/basics-bins.xml:
6334 * docs/manual/basics-elements.xml:
6335 * docs/manual/intro-basics.xml:
6336 Some more minor docs additions and updates.
6338 2006-01-11 Wim Taymans <wim@fluendo.com>
6340 * docs/manual/basics-bins.xml:
6341 * docs/manual/basics-elements.xml:
6342 Some small fixes as pointed out by Ser-ver on IRC.
6344 2006-01-10 Edward Hervey <edward@fluendo.com>
6346 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6347 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
6348 the single-segment mode.
6350 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
6352 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6354 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
6355 (gst_base_src_perform_seek), (gst_base_src_send_event),
6356 (gst_base_src_set_property), (gst_base_src_get_property),
6357 (gst_base_src_loop), (gst_base_src_start),
6358 (gst_base_src_activate_push):
6359 * libs/gst/base/gstbasesrc.h:
6360 Name (private) union; makes Sun's Forte compiler happy (#324900).
6362 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
6365 gst-register is gone.
6367 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
6369 * gst/gstvalue.c: (_gst_value_initialize):
6370 make the G_TYPE_DATE instantiation work if debug is disabled
6372 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
6374 * gst/gstmessage.c: (gst_message_parse_tag),
6375 (gst_message_parse_error), (gst_message_parse_warning):
6376 Don't crash when return location for error/warning debug
6377 string is NULL; add fact that return locations can be
6378 NULL to docs where appropriate.
6380 2006-01-05 Wim Taymans <wim@fluendo.com>
6382 * gst/gstplugin.c: (gst_plugin_load_file):
6383 Replace strdup by g_strdup.
6385 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
6387 * docs/pwg/advanced-types.xml:
6390 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
6392 submitted by: Abel Cheung
6396 Added Chinese (traditional) translation
6398 2006-01-04 Wim Taymans <wim@fluendo.com>
6400 * docs/manual/basics-pads.xml:
6401 * docs/plugins/Makefile.am:
6402 * docs/plugins/gstreamer-plugins-docs.sgml:
6403 * docs/plugins/gstreamer-plugins-sections.txt:
6404 * docs/pwg/advanced-clock.xml:
6405 * docs/pwg/advanced-scheduling.xml:
6406 * docs/pwg/advanced-types.xml:
6407 * plugins/elements/gstfdsink.c:
6408 * plugins/elements/gstfdsrc.c:
6409 * plugins/elements/gstfdsrc.h:
6410 * plugins/elements/gstidentity.c: (gst_identity_class_init):
6411 * plugins/elements/gstidentity.h:
6412 * plugins/elements/gstqueue.h:
6413 * plugins/elements/gsttee.c:
6414 * plugins/elements/gsttee.h:
6415 * plugins/elements/gsttypefindelement.c:
6416 (gst_type_find_element_class_init):
6417 * plugins/elements/gsttypefindelement.h:
6418 Small updates to various docs.
6419 Added core plugins to docs.
6421 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
6424 add a suppression for liboil's uninitialized variable
6426 2006-01-02 James Livingston <jrl at ids dot org dot au>
6428 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6431 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
6432 macro, so that gcc doesn't complain if the -Wmissing-prototypes
6433 compiler switch is being used (#325429).
6435 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
6437 * gst/gstbin.c: (gst_bin_query):
6438 Disable duration query caching in bins until it gets
6439 fixed (see #324807).
6441 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
6443 * tools/gst-inspect.c: (print_element_properties_info):
6444 Handle properties of POINTER and BOXED type.
6446 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
6448 * gst/gst.c: (init_post):
6449 Init tags stuff and some other things before loading
6450 any static plugins (there may be other static plugins
6451 than just the GStreamer ones, and they may want to
6452 register their own tags or formats or whatever, and
6453 preferably without segfaulting).
6455 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6456 Print at least a warning in the debug logs if we drop a
6457 query just because we don't know how to adjust the value
6458 in the particular format.
6460 2005-12-24 David Schleef <ds@schleef.org>
6462 * tools/gstreamer-completion:
6463 Replacement for gst-complete written in sh and sed. Only
6464 completes names of features, but that's 90% of what I want
6465 it for. Properties are not available in registry.xml. (Maybe
6468 === release 0.10.1 ===
6470 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
6473 releasing 0.10.1, "Nollaig chridheil"
6475 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
6478 Add missing quote, should be make ERROR_CFLAGS="".
6480 2005-12-20 Wim Taymans <wim@fluendo.com>
6482 * docs/design/part-trickmodes.txt:
6483 More documentation on trickmodes.
6485 2005-12-20 Edward Hervey <edward@fluendo.com>
6487 * gst/gstcaps.c: (gst_static_caps_get_type):
6489 API addition: GST_TYPE_STATIC_CAPS
6490 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
6491 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
6492 * gst/gstpadtemplate.h:
6493 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
6494 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
6497 2005-12-18 Wim Taymans <wim@fluendo.com>
6499 * libs/gst/base/gstadapter.c:
6500 * libs/gst/base/gstadapter.h:
6501 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6502 (gst_base_sink_get_position):
6503 * libs/gst/base/gstbasesink.h:
6504 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6505 (gst_base_src_default_query), (gst_base_src_default_do_seek),
6506 (gst_base_src_do_seek), (gst_base_src_perform_seek),
6507 (gst_base_src_send_event), (gst_base_src_update_length),
6508 (gst_base_src_get_range), (gst_base_src_loop),
6509 (gst_base_src_start):
6510 * libs/gst/base/gstbasesrc.h:
6511 * libs/gst/base/gstbasetransform.h:
6512 * libs/gst/base/gstcollectpads.h:
6513 * libs/gst/base/gstpushsrc.c:
6514 * libs/gst/base/gstpushsrc.h:
6515 * libs/gst/dataprotocol/dataprotocol.c:
6516 * libs/gst/dataprotocol/dataprotocol.h:
6517 * libs/gst/net/gstnetclientclock.h:
6518 * libs/gst/net/gstnettimeprovider.h:
6519 Documentation updates.
6521 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
6523 * docs/manual/basics-helloworld.xml:
6524 Remove superfluous closing bracket in helloworld example.
6526 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
6528 * tools/gst-launch.1.in:
6529 Update gst-launch man page; add a section with useful
6530 environment variables. Fixes #323882.
6532 2005-12-16 Stefan Kost <ensonic@users.sf.net>
6535 * gst/gst_private.h:
6536 change some char* into char[]
6538 2005-12-16 Wim Taymans <wim@fluendo.com>
6540 * gst/gstregistryxml.c: (load_feature):
6542 Don't use g_object_unref on GstObjects so that we avoid
6543 leaks on unsafe glibs.
6545 2005-12-16 Wim Taymans <wim@fluendo.com>
6547 * gst/gstbin.c: (gst_bin_recalc_state):
6550 2005-12-16 Wim Taymans <wim@fluendo.com>
6553 Added make forever target for check.
6555 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
6557 * gst/gst.c: (init_post):
6558 make the registry cache file HOST_CPU-dependent
6560 2005-12-16 Andy Wingo <wingo@pobox.com>
6562 * plugins/elements/gstbufferstore.c
6563 (gst_buffer_store_cleared_func): Pay attention to g_list_append
6566 * tests/check/gst/gstobject.c
6567 (test_fake_object_name_threaded_unique): Pay attention to
6568 g_list_sort return value.
6570 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
6572 * tools/gst-feedback-m.m:
6573 Update for 0.9/0.10 (fixes #323870).
6575 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
6577 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
6578 Fix lcopy for mini objects, the mini object needs to be ref'ed.
6580 * tests/check/gst/gstminiobject.c: (my_foo_init),
6581 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
6582 (test_value_collection), (gst_mini_object_suite):
6583 Add test to ensure refcounts end up as expected when passing
6584 GstMiniObjects through g_object_get() and g_object_set().
6586 2005-12-14 Julien MOUTTE <julien@moutte.net>
6588 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6589 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
6590 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
6591 of collectpads. This version removes a lot of races without
6592 touching API/ABI. Yay !
6594 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
6596 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
6597 Don't allow activation of a srcpad in pull_range if it has no
6599 Change some debug statements to be a little clearer
6601 * plugins/elements/gsttypefindelement.c:
6602 (gst_type_find_handle_src_query):
6603 Check that we have a peer before executing queries thereupon.
6605 * tests/examples/metadata/read-metadata.c: (message_loop):
6606 Use gst_bus_pop instead of gst_bus_poll when we just want it to
6607 immediately return us any available message with 0 timeout.
6609 2005-12-12 Michael Smith <msmith@fluendo.com>
6611 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6612 Don't unref factories after calling them.
6613 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
6614 * plugins/elements/gsttypefindelement.c:
6615 (gst_type_find_element_chain):
6616 Free lists of factories after using them. Fixing typefinding memory
6619 2005-12-12 Stefan Kost <ensonic@users.sf.net>
6621 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6622 (gst_plugin_feature_load):
6623 more meaningful debug output
6625 * tests/Makefile.am:
6626 * tests/old/examples/Makefile.am:
6627 make make distcheck happy again
6629 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
6631 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
6632 Catch the special case where we are operating chain-based,
6633 but the downstream peer pad has no chain function. Emit a
6634 custom error message in this case instead of letting the
6635 core generate one implying that this is some sort of core
6636 bug. It's not, it just means that whatever got plugged
6637 into the pipeline downstream when we announced the type
6638 can only operate pull-based, while our source can only
6639 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
6640 Error string has not been marked for translation yet, as
6641 it probably needs some more work first.
6643 (gst_type_find_element_get_best_possibility):
6644 Add helper function to find the best of all available
6645 found possibilities that qualify given the min. threshold.
6647 (gst_type_find_element_handle_event):
6648 Fix the case where we get an EOS while still in TYPEFIND
6649 mode (we want to chose the best of all possible types,
6650 not just the first type that happens to be in our unsorted
6651 list of possible types).
6653 (gst_type_find_element_chain):
6654 Make sure we return GST_FLOW_ERROR when we errored out
6655 in stop_typefinding(); also, don't just find the best of
6656 all found type entries and then use the last examined
6657 type entry, but actually use the best entry.
6659 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
6661 * tests/examples/typefind/typefind.c: (type_found):
6662 * tests/examples/xml/runxml.c: (xml_loaded):
6663 More gcc4 fixes and a mem leak fix.
6665 2005-12-12 Stefan Kost <ensonic@users.sf.net>
6667 * tests/examples/xml/createxml.c: (object_saved):
6670 2005-12-12 Stefan Kost <ensonic@users.sf.net>
6672 * tests/Makefile.am:
6673 enable the examples even more
6675 2005-12-12 Andy Wingo <wingo@pobox.com>
6677 * libs/gst/net/gstnettimeprovider.c
6678 (gst_net_time_provider_class_init, gst_net_time_provider_init)
6679 (gst_net_time_provider_set_property)
6680 (gst_net_time_provider_get_property):
6681 API addition: Export "active" as a GObject property.
6682 (gst_net_time_provider_thread): Only respond to time queries if
6683 the time provider is active.
6685 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
6686 NetTimeProvider, preserving binary compat.
6688 2005-12-12 Stefan Kost <ensonic@users.sf.net>
6690 * tests/examples/controller/audio-example.c: (main):
6691 * tests/examples/launch/Makefile.am:
6692 convert comments again
6694 2005-12-12 Wim Taymans <wim@fluendo.com>
6696 * libs/gst/base/gstpushsrc.c:
6699 2005-12-12 Wim Taymans <wim@fluendo.com>
6701 * docs/libs/gstreamer-libs-sections.txt:
6702 Added new symbol to docs.
6704 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6705 (gst_base_src_init), (gst_base_src_set_format),
6706 (gst_base_src_default_query), (gst_base_src_query),
6707 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
6708 (gst_base_src_perform_seek), (gst_base_src_send_event),
6709 (gst_base_src_default_event), (gst_base_src_event_handler),
6710 (gst_base_src_set_property), (gst_base_src_get_property),
6711 (gst_base_src_wait), (gst_base_src_do_sync),
6712 (gst_base_src_update_length), (gst_base_src_get_range),
6713 (gst_base_src_check_get_range), (gst_base_src_loop),
6714 (gst_base_src_default_negotiate), (gst_base_src_start),
6715 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6716 (gst_base_src_change_state):
6717 * libs/gst/base/gstbasesrc.h:
6718 Implement seeking to other formats than _BYTES.
6719 Implement more seeking methods correctly.
6721 Added query vmethod.
6722 Added do_seek vmethod to make life easier for subclasses
6724 API addition: gst_base_src_set_format()
6726 2005-12-12 Stefan Kost <ensonic@users.sf.net>
6728 * tests/examples/Makefile.am:
6731 2005-12-12 Stefan Kost <ensonic@users.sf.net>
6734 * docs/random/ensonic/media-device-daemon.txt:
6735 * tests/examples/controller/.cvsignore:
6736 * tests/examples/controller/Makefile.am:
6737 * tests/examples/controller/audio-example.c: (main):
6738 * tests/examples/helloworld/.cvsignore:
6739 * tests/examples/helloworld/Makefile.am:
6740 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
6741 * tests/examples/launch/.cvsignore:
6742 * tests/examples/launch/Makefile.am:
6743 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
6744 * tests/examples/metadata/.cvsignore:
6745 * tests/examples/metadata/Makefile.am:
6746 * tests/examples/metadata/read-metadata.c: (message_loop),
6747 (make_pipeline), (print_tag), (main):
6748 * tests/examples/queue/.cvsignore:
6749 * tests/examples/queue/Makefile.am:
6750 * tests/examples/queue/queue.c: (event_loop), (main):
6751 * tests/examples/typefind/.cvsignore:
6752 * tests/examples/typefind/Makefile.am:
6753 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
6755 * tests/examples/xml/.cvsignore:
6756 * tests/examples/xml/Makefile.am:
6757 * tests/examples/xml/createxml.c: (object_saved), (main):
6758 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
6759 * tests/old/examples/Makefile.am:
6760 * tests/old/examples/TODO:
6761 * tests/old/examples/controller/.cvsignore:
6762 * tests/old/examples/controller/Makefile.am:
6763 * tests/old/examples/controller/audio-example.c:
6764 * tests/old/examples/helloworld/.cvsignore:
6765 * tests/old/examples/helloworld/Makefile.am:
6766 * tests/old/examples/helloworld/helloworld.c:
6767 * tests/old/examples/launch/.cvsignore:
6768 * tests/old/examples/launch/Makefile.am:
6769 * tests/old/examples/launch/mp3parselaunch.c:
6770 * tests/old/examples/launch/mp3play:
6771 * tests/old/examples/manual/Makefile.am:
6772 * tests/old/examples/metadata/Makefile.am:
6773 * tests/old/examples/metadata/read-metadata.c:
6774 * tests/old/examples/queue/.cvsignore:
6775 * tests/old/examples/queue/Makefile.am:
6776 * tests/old/examples/queue/queue.c:
6777 * tests/old/examples/typefind/.cvsignore:
6778 * tests/old/examples/typefind/Makefile.am:
6779 * tests/old/examples/typefind/typefind.c:
6780 * tests/old/examples/xml/.cvsignore:
6781 * tests/old/examples/xml/Makefile.am:
6782 * tests/old/examples/xml/createxml.c:
6783 * tests/old/examples/xml/runxml.c:
6784 applied some simple fixing to some examples
6785 re-enabled the working examples
6787 2005-12-12 Wim Taymans <wim@fluendo.com>
6789 * gst/gstsegment.c: (gst_segment_init),
6790 (gst_segment_set_last_stop), (gst_segment_set_seek),
6791 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6792 (gst_segment_to_running_time):
6793 Added more documentation.
6794 Make sure the last_pos value is updated properly.
6795 Make sure to_stream_time and to_running_time don't
6796 operate on wrong values.
6798 * tests/check/gst/gstsegment.c: (GST_START_TEST):
6801 2005-12-12 Michael Smith <msmith@fluendo.com>
6803 * plugins/elements/gsttypefindelement.c: (free_entry),
6804 (gst_type_find_element_chain):
6805 Now that we're not leaking factories, make sure we keep references
6806 to them while we need them.
6808 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
6810 * tests/check/gst/struct_i386.h:
6811 ifdef out the XML structs
6813 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
6815 * gst/gstvalue.c: (gst_value_transform_double_fraction):
6816 floor is not needed, F is always positive; this obviates the
6817 need for adding -lm when building without libxml
6819 2005-12-12 Wim Taymans <wim@fluendo.com>
6821 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6822 Take current playback rate into account when reporting
6825 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
6827 * docs/manual/mime-world.fig:
6828 Let's try this again, this time with a file that is
6829 actually in XFig format.
6831 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
6833 * docs/manual/mime-world.fig:
6834 Add audioconvert element to diagram so that it
6835 matches the text and the code (fixes #319526).
6837 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
6839 * docs/pwg/building-chainfn.xml:
6840 * docs/pwg/building-pads.xml:
6841 * docs/pwg/building-state.xml:
6842 * docs/pwg/other-source.xml:
6843 Update state change stuff for 0.10 (fixes #322969).
6845 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
6847 * docs/manual/advanced-dataaccess.xml:
6848 * docs/manual/appendix-checklist.xml:
6849 * docs/manual/appendix-programs.xml:
6850 * docs/manual/basics-pads.xml:
6851 * docs/manual/highlevel-components.xml:
6852 * docs/manual/manual.xml:
6853 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
6854 add converters in front of pipelines; remove curly
6855 brackets for threads stuff, they no longer exist; use
6856 GST_TYPE_FRACTION for framerates; update some pieces of
6857 code to 0.10, but there's plenty more to do.
6859 * docs/manual/appendix-porting.xml:
6860 Expand on asynchroneous state changes; s/0.9/0.10/;
6861 mention disappearance of gst_init_get_popt_table()
6864 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
6866 * docs/faq/using.xml:
6867 Spider no longer exists, and neither does gst-launch-ext.
6868 Update examples to use decodebin and playbin and put
6869 converters in front of sinks (fixes #323726).
6871 2005-12-09 Michael Smith <msmith@fluendo.com>
6873 * plugins/elements/gsttypefindelement.c: (find_peek),
6874 (gst_type_find_element_chain):
6875 Fix leaking element factories in typefinding.
6876 Fix problem where we forgot about a probable type on non-seekable
6877 files, and thus later mis-typefound it.
6879 2005-12-09 Michael Smith <msmith@fluendo.com>
6881 * common/m4/gst-makecontext.m4:
6882 * common/m4/gst-mcsc.m4:
6884 * win32/common/config.h:
6885 * win32/common/config.h.in:
6886 Remove makecontext stuff; not used in 0.10 and causes problems on
6887 HPUX according to bug #322441
6889 2005-12-07 Wim Taymans <wim@fluendo.com>
6891 * tests/check/Makefile.am:
6892 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
6894 * tests/check/libs/struct_i386.h:
6895 Added ABI check for libs
6897 2005-12-07 Wim Taymans <wim@fluendo.com>
6899 * tests/check/Makefile.am:
6900 And add the struct_i386.h to dist.
6902 2005-12-07 Wim Taymans <wim@fluendo.com>
6904 * tests/check/Makefile.am:
6905 * tests/check/gst/.cvsignore:
6906 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
6908 * tests/check/gst/struct_i386.h:
6909 Added check for ABI compatibility.
6911 2005-12-07 Wim Taymans <wim@fluendo.com>
6913 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6914 (gst_fake_src_get_times), (gst_fake_src_create):
6915 Fix broken sync option, fixes #323259
6917 2005-12-07 Wim Taymans <wim@fluendo.com>
6922 * gst/gstcaps.c: (gst_caps_is_equal):
6923 Don't assert on NULL <--> X. Fixes #323260
6925 * gst/gstminiobject.c: (gst_mini_object_replace):
6926 If we're doing atomic operations, we might just as well use
6927 the proper way to get an atomic pointer.
6929 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6932 2005-12-07 Michael Smith <msmith@fluendo.com>
6934 * gst/parse/grammar.y:
6935 Remove handling of { } for threads.
6937 2005-12-06 David Schleef <ds@schleef.org>
6939 * libs/gst/base/gstbasetransform.c: speling fix.
6941 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
6943 * docs/libs/tmpl/gstdataprotocol.sgml:
6944 * docs/random/omega/testing/gstobject.c:
6948 * gst/gstelementfactory.c:
6951 * gst/gstghostpad.c:
6953 * gst/gstpadtemplate.c:
6954 * gst/gstregistryxml.c:
6956 * gst/gsttagsetter.c:
6957 * gst/gsttypefind.c:
6959 * libs/gst/base/gstbasesrc.c:
6960 * libs/gst/net/gstnetclientclock.c:
6961 * libs/gst/net/gstnettimeprovider.c:
6962 * plugins/elements/gstfakesrc.c:
6963 * plugins/elements/gstfdsrc.c:
6964 * plugins/elements/gstfilesrc.c:
6965 * plugins/elements/gstidentity.c:
6966 * plugins/elements/gstqueue.c:
6967 * plugins/elements/gsttypefindelement.c:
6968 * plugins/indexers/gstfileindex.c:
6969 * plugins/indexers/gstmemindex.c:
6970 * tests/check/gst/gsttag.c:
6971 * tests/old/examples/cutter/cutter.c:
6972 * tests/old/examples/mixer/mixer.c:
6973 * tests/old/examples/xml/runxml.c: (main):
6974 * tests/old/testsuite/caps/normalisation.c:
6975 * tests/old/testsuite/debug/global.c:
6976 * tests/old/testsuite/parse/parse1.c:
6977 * tools/gst-xmlinspect.c:
6978 * win32/common/dirent.c:
6981 === release 0.10.0 ===
6983 2005-12-05 <thomas (at) apestaart (dot) org>
6986 releasing 0.10.0, "Maroilles"
6988 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
6990 submitted by: Funda Wang <fundawang@linux.net.cn>
6994 added Chinese (Traditional) translation
6996 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
6998 * docs/gst/gstreamer-sections.txt:
6999 * docs/libs/tmpl/gstdataprotocol.sgml:
7000 * docs/random/thomasvs/TODO:
7005 2005-12-05 Andy Wingo <wingo@pobox.com>
7007 patch by: Wim Taymans <wim@fluendo.com>
7009 * libs/gst/base/gstbasetransform.c
7010 (gst_base_transform_prepare_output_buf)
7011 (gst_base_transform_buffer_alloc):
7012 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
7013 alloc_buffer_and_set_caps.
7015 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
7016 set_caps on the source pad.
7017 (gst_pad_alloc_buffer_and_set_caps): New function, does what
7018 alloc_buffer used to do. Fixes #322874.
7020 * docs/gst/gstreamer-sections.txt:
7021 * docs/design/part-negotiation.txt:
7022 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
7025 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
7027 patch by: Sebastien Moutte
7030 * win32/common/config.h.in:
7031 * win32/vs6/libgstcontroller.dsp:
7034 2005-12-05 Wim Taymans <wim@fluendo.com>
7036 * gst/gstcaps.c: (gst_caps_is_equal):
7037 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7038 (gst_fake_src_create):
7039 Back out previous code changes, leave doc updates, file bugs
7042 2005-12-05 Wim Taymans <wim@fluendo.com>
7044 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7045 (gst_fake_src_get_times), (gst_fake_src_create):
7046 * plugins/elements/gstfakesrc.h:
7047 Fix broken sync code.
7049 2005-12-05 Wim Taymans <wim@fluendo.com>
7051 * gst/gstcaps.c: (gst_caps_is_equal):
7052 Comparing NULL against !NULL yields different caps, not a
7055 2005-12-05 Wim Taymans <wim@fluendo.com>
7057 * gst/gstpipeline.c:
7058 Fix small typo in docs.
7060 2005-12-05 Andy Wingo <wingo@pobox.com>
7062 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
7064 * gst/gst.c (init_post): remove hard-coded 0.9 location for
7065 registries/plugins with a MAJORMINOR one.
7066 (plugin_desc): Rename library from gstcoreleements to
7067 staticelements. Fixes #323222.
7069 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
7071 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
7072 Change debug category to 'collectpads' from 'collect_pads'
7075 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
7077 patch by: Sebastien Moutte
7079 * libs/gst/controller/gstinterpolation.c:
7080 use convert function for uint64/double
7081 * win32/vs6/libgstcontroller.dsp:
7084 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
7086 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
7087 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
7089 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7090 add tests that seem to show that the guint64/gdouble conversions
7093 2005-12-02 Wim Taymans <wim@fluendo.com>
7095 * gst/gstregistry.c: (gst_registry_add_path):
7096 * gst/gstregistry.h:
7097 * gst/gstregistryxml.c:
7100 2005-12-02 Wim Taymans <wim@fluendo.com>
7102 * gst/gstutils.c: (gst_util_uint64_scale_int64),
7103 (gst_util_uint64_scale_int):
7106 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7109 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
7112 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
7115 * win32/common/config.h:
7116 * win32/vs6/gstreamer.dsw:
7117 * win32/vs6/libgstcoreelements.dsp:
7118 * win32/vs6/libgstelements.dsp:
7119 renamed core elements plugin
7121 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
7123 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
7125 do piece-wise major/minor comparison so 0.9 < 0.10
7126 also allow .exe extensions for tools
7128 2005-12-02 Michael Smith <msmith@fluendo.com>
7131 Escape a % to make gtkdoc happier; bug 322958.
7133 === release 0.9.7 ===
7135 2005-12-01 <thomas (at) apestaart (dot) org>
7138 releasing 0.9.7, "My Dog Has No Nose"
7140 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7142 * common/gst-xmlinspect.py:
7144 * docs/libs/tmpl/gstdataprotocol.sgml:
7145 * docs/random/release:
7164 * win32/common/config.h:
7165 * win32/common/config.h.in:
7166 * win32/vs6/gst_inspect.dsp:
7167 * win32/vs6/gst_launch.dsp:
7168 * win32/vs6/libgstbase.dsp:
7169 * win32/vs6/libgstelements.dsp:
7170 * win32/vs6/libgstreamer.dsp:
7171 * win32/vs7/GStreamer.vcproj:
7172 * win32/vs7/gst-inspect.vcproj:
7173 * win32/vs7/gst-launch.vcproj:
7174 * win32/vs7/libgstbase.vcproj:
7175 bump GST_MAJORMINOR to 0.10
7176 reset libtool version
7178 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7182 Added Bulgarian translation by (Alexander Shopov)
7184 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7186 * tests/check/gst/gstplugin.c:
7189 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7191 * common/gst-xmlinspect.py:
7192 * common/gtk-doc-plugins.mak:
7195 * docs/gst/Makefile.am:
7196 * docs/gst/gstreamer-docs.sgml:
7197 * docs/gst/gstreamer-sections.txt:
7198 * docs/gst/gstreamer.types:
7199 * docs/gst/gstreamer.types.in:
7200 * docs/plugins/Makefile.am:
7201 * docs/plugins/gstreamer-plugins-docs.sgml:
7202 * docs/plugins/gstreamer-plugins-sections.txt:
7203 * docs/plugins/gstreamer-plugins.types:
7204 * docs/plugins/inspect.stamp:
7205 * docs/plugins/inspect/plugin-coreelements.xml:
7206 * docs/plugins/inspect/plugin-coreindexers.xml:
7207 * docs/plugins/scanobj-build.stamp:
7208 * gstreamer.spec.in:
7209 * plugins/elements/Makefile.am:
7210 * plugins/elements/gstelements.c:
7211 * plugins/elements/gstfakesink.c:
7212 * plugins/elements/gstfakesrc.c:
7213 * plugins/elements/gstfilesink.c:
7214 * plugins/elements/gstfilesrc.c:
7215 * plugins/elements/gstqueue.c:
7216 * plugins/indexers/Makefile.am:
7217 * plugins/indexers/gstindexers.c:
7218 document core plugins in a separate document just like all the
7220 rename these plugins to something starting with core
7222 2005-12-01 Andy Wingo <wingo@pobox.com>
7224 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
7225 padding here before, but it missed the commit.
7227 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
7229 * libs/gst/controller/gstinterpolation.c:
7230 whitespace prices have crashed, we should feel free to use some now
7231 use gst_guint64_to_gdouble
7233 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
7235 * libs/gst/controller/gstcontroller.c:
7236 * libs/gst/controller/gsthelper.c:
7237 * libs/gst/controller/gstinterpolation.c:
7238 * libs/gst/controller/lib.c:
7239 wrap config.h include
7241 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
7243 * docs/gst/gstreamer-sections.txt:
7246 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
7248 * plugins/elements/gstelements.c:
7249 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
7250 (gst_fd_sink__class_init), (gst_fd_sink__init),
7251 (gst_fd_sink__chain), (gst_fd_sink__set_property),
7252 (gst_fd_sink__get_property):
7253 * plugins/elements/gstfdsink.h:
7254 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
7255 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
7256 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
7257 (gst_fd_src_unlock), (gst_fd_src_set_property),
7258 (gst_fd_src_get_property), (gst_fd_src_create),
7259 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
7260 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
7261 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
7262 (gst_fd_src_uri_handler_init):
7263 * plugins/elements/gstfdsrc.h:
7264 * plugins/elements/gstqueue.c: (gst_queue_get_type):
7267 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7269 * docs/gst/Makefile.am:
7270 * docs/gst/gstreamer.types.in:
7274 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7280 * gst/gstregistry.h:
7281 * tests/benchmarks/complexity.c:
7282 * tests/benchmarks/mass-elements.c:
7283 * tests/check/Makefile.am:
7284 * tools/Makefile.am:
7285 * tools/gst-inspect.c:
7286 * tools/gst-xmlinspect.c:
7287 various fixes to make
7288 --disable-nls --disable-registry --disable-loadsave
7289 --disable-parse --disable-gst-debug
7290 work and get the core .so down to 360444 bytes after stripping
7292 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7297 * docs/random/thomasvs/TODO:
7298 * tests/Makefile.am:
7302 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7304 * win32/GStreamer.vcproj:
7307 * win32/Makefile.inspect:
7308 * win32/Makefile.launch:
7309 * win32/Makefile.register:
7311 * win32/gst-inspect.vcproj:
7312 * win32/gst-launch.vcproj:
7313 * win32/gst-register.vcproj:
7314 * win32/gstelements.vcproj:
7315 * win32/gstgetbits.def:
7316 * win32/gstgetbits.vcproj:
7317 * win32/gstreamer-dbg.def:
7318 * win32/gstreamer.def:
7319 * win32/libgstbase.def:
7320 * win32/libgstbase.vcproj:
7321 * win32/link_oldruntime.c:
7326 move even more stuff, win32/ is nice and clean now
7328 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7330 * libs/gst/control/.cvsignore:
7335 * win32/gstbytestream.def:
7336 * win32/gstbytestream.vcproj:
7337 * win32/gstconfig.h:
7338 * win32/gstenumtypes.c:
7339 * win32/gstenumtypes.h:
7340 * win32/gstoptimalscheduler.vcproj:
7341 * win32/gstversion.h:
7343 * win32/testsuite/bins.vcproj:
7344 * win32/testsuite/bytestream.vcproj:
7345 * win32/testsuite/caps.vcproj:
7346 * win32/testsuite/cleanup.vcproj:
7347 * win32/testsuite/clock.vcproj:
7348 * win32/testsuite/debug.vcproj:
7349 * win32/testsuite/dlopen.vcproj:
7350 * win32/testsuite/dynparams.vcproj:
7351 * win32/testsuite/elements.vcproj:
7352 * win32/testsuite/ghostpads.vcproj:
7353 * win32/testsuite/indexers.vcproj:
7354 * win32/testsuite/negotiation.vcproj:
7355 * win32/testsuite/parse.vcproj:
7356 * win32/testsuite/plugin.vcproj:
7357 * win32/testsuite/refcounting.vcproj:
7358 * win32/testsuite/schedulers.vcproj:
7359 * win32/testsuite/states.vcproj:
7360 * win32/testsuite/tags.vcproj:
7361 * win32/testsuite/threads.vcproj:
7362 remove old win32 stuff that isn't maintained and should be
7365 2005-11-30 Andy Wingo <wingo@pobox.com>
7367 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
7368 loading the gst.interfaces python module bork.
7370 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
7371 available since GLib 2.2. Fixes #318031.
7373 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7377 * check/Makefile.am:
7378 * check/elements/.cvsignore:
7379 * check/elements/fakesrc.c:
7380 * check/elements/fdsrc.c:
7381 * check/elements/identity.c:
7382 * check/generic/.cvsignore:
7383 * check/generic/states.c:
7384 * check/gst-libs/.cvsignore:
7385 * check/gst-libs/controller.c:
7386 * check/gst-libs/gdp.c:
7387 * check/gst/.cvsignore:
7388 * check/gst/capslist.h:
7390 * check/gst/gstbin.c:
7391 * check/gst/gstbuffer.c:
7392 * check/gst/gstbus.c:
7393 * check/gst/gstcaps.c:
7394 * check/gst/gstelement.c:
7395 * check/gst/gstevent.c:
7396 * check/gst/gstghostpad.c:
7397 * check/gst/gstiterator.c:
7398 * check/gst/gstmessage.c:
7399 * check/gst/gstminiobject.c:
7400 * check/gst/gstobject.c:
7401 * check/gst/gstpad.c:
7402 * check/gst/gstpipeline.c:
7403 * check/gst/gstplugin.c:
7404 * check/gst/gstsegment.c:
7405 * check/gst/gststructure.c:
7406 * check/gst/gstsystemclock.c:
7407 * check/gst/gsttag.c:
7408 * check/gst/gstutils.c:
7409 * check/gst/gstvalue.c:
7410 * check/net/.cvsignore:
7411 * check/net/gstnetclientclock.c:
7412 * check/net/gstnettimeprovider.c:
7413 * check/pipelines/.cvsignore:
7414 * check/pipelines/cleanup.c:
7415 * check/pipelines/simple_launch_lines.c:
7416 * check/pipelines/stress.c:
7417 * check/states/.cvsignore:
7418 * check/states/sinks.c:
7420 * examples/Makefile.am:
7421 * examples/appreader/.cvsignore:
7422 * examples/appreader/Makefile.am:
7423 * examples/appreader/appreader.c:
7424 * examples/controller/.cvsignore:
7425 * examples/controller/Makefile.am:
7426 * examples/controller/audio-example.c:
7427 * examples/cutter/.cvsignore:
7428 * examples/cutter/Makefile.am:
7429 * examples/cutter/cutter.c:
7430 * examples/cutter/cutter.h:
7431 * examples/events/Makefile.am:
7432 * examples/events/seek.c:
7433 * examples/helloworld/.cvsignore:
7434 * examples/helloworld/Makefile.am:
7435 * examples/helloworld/helloworld.c:
7436 * examples/helloworld2/.cvsignore:
7437 * examples/helloworld2/Makefile.am:
7438 * examples/helloworld2/helloworld2.c:
7439 * examples/launch/.cvsignore:
7440 * examples/launch/Makefile.am:
7441 * examples/launch/mp3parselaunch.c:
7442 * examples/launch/mp3play:
7443 * examples/manual/.cvsignore:
7444 * examples/manual/Makefile.am:
7445 * examples/manual/extract.pl:
7446 * examples/metadata/Makefile.am:
7447 * examples/metadata/read-metadata.c:
7448 * examples/mixer/.cvsignore:
7449 * examples/mixer/Makefile.am:
7450 * examples/mixer/mixer.c:
7451 * examples/mixer/mixer.h:
7452 * examples/pingpong/.cvsignore:
7453 * examples/pingpong/Makefile.am:
7454 * examples/pingpong/pingpong.c:
7455 * examples/plugins/.cvsignore:
7456 * examples/plugins/Makefile.am:
7457 * examples/plugins/example.c:
7458 * examples/plugins/example.h:
7459 * examples/pwg/.cvsignore:
7460 * examples/pwg/Makefile.am:
7461 * examples/pwg/extract.pl:
7462 * examples/queue/.cvsignore:
7463 * examples/queue/Makefile.am:
7464 * examples/queue/queue.c:
7465 * examples/queue2/.cvsignore:
7466 * examples/queue2/Makefile.am:
7467 * examples/queue2/queue2.c:
7468 * examples/queue3/.cvsignore:
7469 * examples/queue3/Makefile.am:
7470 * examples/queue3/queue3.c:
7471 * examples/queue4/.cvsignore:
7472 * examples/queue4/Makefile.am:
7473 * examples/queue4/queue4.c:
7474 * examples/retag/.cvsignore:
7475 * examples/retag/Makefile.am:
7476 * examples/retag/retag.c:
7477 * examples/retag/transcode.c:
7478 * examples/thread/.cvsignore:
7479 * examples/thread/Makefile.am:
7480 * examples/thread/thread.c:
7481 * examples/typefind/.cvsignore:
7482 * examples/typefind/Makefile.am:
7483 * examples/typefind/typefind.c:
7484 * examples/xml/.cvsignore:
7485 * examples/xml/Makefile.am:
7486 * examples/xml/createxml.c:
7487 * examples/xml/runxml.c:
7488 * tests/Makefile.am:
7489 * tests/check/Makefile.am:
7490 * testsuite/.cvsignore:
7491 * testsuite/Makefile.am:
7493 * testsuite/caps/.cvsignore:
7494 * testsuite/caps/Makefile.am:
7495 * testsuite/caps/app_fixate.c:
7496 * testsuite/caps/audioscale.c:
7497 * testsuite/caps/caps.c:
7498 * testsuite/caps/caps.h:
7499 * testsuite/caps/caps_strings:
7500 * testsuite/caps/compatibility.c:
7501 * testsuite/caps/deserialize.c:
7502 * testsuite/caps/enumcaps.c:
7503 * testsuite/caps/eratosthenes.c:
7504 * testsuite/caps/filtercaps.c:
7505 * testsuite/caps/fixed.c:
7506 * testsuite/caps/fraction-convert.c:
7507 * testsuite/caps/fraction-multiply-and-zero.c:
7508 * testsuite/caps/intersect2.c:
7509 * testsuite/caps/intersection.c:
7510 * testsuite/caps/normalisation.c:
7511 * testsuite/caps/random.c:
7512 * testsuite/caps/renegotiate.c:
7513 * testsuite/caps/sets.c:
7514 * testsuite/caps/simplify.c:
7515 * testsuite/caps/string-conversions.c:
7516 * testsuite/caps/structure.c:
7517 * testsuite/caps/subtract.c:
7518 * testsuite/caps/union.c:
7519 * testsuite/debug/.cvsignore:
7520 * testsuite/debug/Makefile.am:
7521 * testsuite/debug/category.c:
7522 * testsuite/debug/commandline.c:
7523 * testsuite/debug/global.c:
7524 * testsuite/debug/output.c:
7525 * testsuite/debug/printf_extension.c:
7526 * testsuite/dlopen/.cvsignore:
7527 * testsuite/dlopen/Makefile.am:
7528 * testsuite/dlopen/dlopen_gst.c:
7529 * testsuite/dlopen/loadgst.c:
7530 * testsuite/elements/.cvsignore:
7531 * testsuite/elements/Makefile.am:
7532 * testsuite/elements/gst-inspect-check.in:
7533 * testsuite/elements/struct_i386.h:
7534 * testsuite/elements/struct_size.c:
7535 * testsuite/indexers/.cvsignore:
7536 * testsuite/indexers/Makefile.am:
7537 * testsuite/indexers/cache1.c:
7538 * testsuite/indexers/indexdump.c:
7539 * testsuite/parse/.cvsignore:
7540 * testsuite/parse/Makefile.am:
7541 * testsuite/parse/parse1.c:
7542 * testsuite/parse/parse2.c:
7543 * testsuite/plugin/.cvsignore:
7544 * testsuite/plugin/Makefile.am:
7545 * testsuite/plugin/README:
7546 * testsuite/plugin/dynamic.c:
7547 * testsuite/plugin/linked.c:
7548 * testsuite/plugin/loading.c:
7549 * testsuite/plugin/registry.c:
7550 * testsuite/plugin/static.c:
7551 * testsuite/plugin/static2.c:
7552 * testsuite/plugin/testplugin.c:
7553 * testsuite/plugin/testplugin2.c:
7554 * testsuite/plugin/testplugin2_s.c:
7555 * testsuite/plugin/testplugin_s.c:
7556 * testsuite/refcounting/.cvsignore:
7557 * testsuite/refcounting/Makefile.am:
7558 * testsuite/refcounting/bin.c:
7559 * testsuite/refcounting/element.c:
7560 * testsuite/refcounting/element_pad.c:
7561 * testsuite/refcounting/mainloop.c:
7562 * testsuite/refcounting/mem.c:
7563 * testsuite/refcounting/mem.h:
7564 * testsuite/refcounting/object.c:
7565 * testsuite/refcounting/pad.c:
7566 * testsuite/refcounting/sched.c:
7567 * testsuite/refcounting/thread.c:
7568 * testsuite/states/.cvsignore:
7569 * testsuite/states/Makefile.am:
7570 * testsuite/states/bin.c:
7571 * testsuite/states/locked.c:
7572 * testsuite/states/parent.c:
7573 * testsuite/threads/.cvsignore:
7574 * testsuite/threads/159566.c:
7575 * testsuite/threads/159852.c:
7576 * testsuite/threads/Makefile.am:
7577 * testsuite/threads/queue.c:
7578 * testsuite/threads/signals.c:
7579 * testsuite/threads/staticrec.c:
7580 * testsuite/threads/thread.c:
7581 * testsuite/threads/threadb.c:
7582 * testsuite/threads/threadc.c:
7583 * testsuite/threads/threadd.c:
7584 * testsuite/threads/threade.c:
7585 * testsuite/threads/threadf.c:
7586 * testsuite/threads/threadg.c:
7587 * testsuite/threads/threadh.c:
7588 * testsuite/threads/threadi.c:
7589 move all of these under tests
7591 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7594 * tests/Makefile.am:
7597 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7599 * docs/gst/gstreamer-sections.txt:
7600 * tests/sched/.cvsignore:
7601 * tests/sched/Makefile.am:
7602 * tests/sched/cases/(fs-fs).xml:
7603 * tests/sched/cases/(fs-i-fs).xml:
7604 * tests/sched/cases/(fs-i-i-fs).xml:
7605 * tests/sched/cases/(fs-i-q[i-fs]).xml:
7606 * tests/sched/dynamic-pipeline.c:
7607 * tests/sched/interrupt1.c:
7608 * tests/sched/interrupt2.c:
7609 * tests/sched/interrupt3.c:
7610 * tests/sched/runtestcases:
7611 * tests/sched/runxml.c:
7612 * tests/sched/sched-stress.c:
7613 * tests/sched/sort.c:
7614 * tests/sched/testcases:
7615 * tests/sched/testcases1.tc:
7616 * tests/seeking/.cvsignore:
7617 * tests/seeking/Makefile.am:
7618 * tests/seeking/seeking1.c:
7619 * tests/threadstate/.cvsignore:
7620 * tests/threadstate/Makefile.am:
7621 * tests/threadstate/test1.c:
7622 * tests/threadstate/test2.c:
7623 * tests/threadstate/threadstate1.c:
7624 * tests/threadstate/threadstate2.c:
7625 * tests/threadstate/threadstate3.c:
7626 * tests/threadstate/threadstate4.c:
7627 * tests/threadstate/threadstate5.c:
7628 remove obsolete tests
7630 * tests/bench-complexity.scm:
7631 * tests/bench-mass_elements.scm:
7632 * tests/complexity.c:
7633 * tests/complexity.gnuplot:
7634 * tests/instantiate/.cvsignore:
7635 * tests/instantiate/Makefile.am:
7636 * tests/instantiate/caps.c:
7637 * tests/mass_elements.c:
7638 * tests/network-clock-utils.scm:
7639 * tests/network-clock.scm:
7641 First pass at cleaning up tests/ dir before moving the rest
7642 Combined with CVS surgery
7644 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7647 queue has moved, update
7649 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7651 * docs/gst/gstreamer-sections.txt:
7652 remove double entries from the docs
7653 * gst/gst_private.h:
7654 * gst/gstinfo.c: (_gst_debug_init):
7655 remove the THREAD debug category
7659 * docs/gst/gstreamer.types:
7660 * plugins/elements/gstqueue.c: (gst_queue_get_type),
7661 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
7662 completely move queue and fix up debugging categories
7664 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7666 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7667 make initialization portable, using LL is not
7669 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7671 * win32/common/gstconfig.h:
7674 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7676 * win32/common/libgstreamer.def:
7677 rename symbols; sort base section
7679 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7681 * gst/gstclock.c: (do_linear_regression):
7682 remove crack non-portable handrolled DEBUG macro
7684 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7686 * docs/random/release:
7688 * win32/common/gstenumtypes.c: (register_gst_object_flags),
7689 (gst_object_flags_get_type), (register_gst_bin_flags),
7690 (gst_bin_flags_get_type), (register_gst_buffer_flag),
7691 (gst_buffer_flag_get_type), (register_gst_bus_flags),
7692 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7693 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
7694 (gst_caps_flags_get_type), (register_gst_clock_return),
7695 (gst_clock_return_get_type), (register_gst_clock_entry_type),
7696 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7697 (gst_clock_flags_get_type), (register_gst_state),
7698 (gst_state_get_type), (register_gst_state_change_return),
7699 (gst_state_change_return_get_type), (register_gst_state_change),
7700 (gst_state_change_get_type), (register_gst_element_flags),
7701 (gst_element_flags_get_type), (register_gst_core_error),
7702 (gst_core_error_get_type), (register_gst_library_error),
7703 (gst_library_error_get_type), (register_gst_resource_error),
7704 (gst_resource_error_get_type), (register_gst_stream_error),
7705 (gst_stream_error_get_type), (register_gst_event_type_flags),
7706 (gst_event_type_flags_get_type), (register_gst_event_type),
7707 (gst_event_type_get_type), (register_gst_seek_type),
7708 (gst_seek_type_get_type), (register_gst_seek_flags),
7709 (gst_seek_flags_get_type), (register_gst_format),
7710 (gst_format_get_type), (register_gst_index_certainty),
7711 (gst_index_certainty_get_type), (register_gst_index_entry_type),
7712 (gst_index_entry_type_get_type),
7713 (register_gst_index_lookup_method),
7714 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7715 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7716 (gst_index_resolver_method_get_type), (register_gst_index_flags),
7717 (gst_index_flags_get_type), (register_gst_debug_level),
7718 (gst_debug_level_get_type), (register_gst_debug_color_flags),
7719 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7720 (gst_iterator_result_get_type), (register_gst_iterator_item),
7721 (gst_iterator_item_get_type), (register_gst_message_type),
7722 (gst_message_type_get_type), (register_gst_mini_object_flags),
7723 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7724 (gst_pad_link_return_get_type), (register_gst_flow_return),
7725 (gst_flow_return_get_type), (register_gst_activate_mode),
7726 (gst_activate_mode_get_type), (register_gst_pad_direction),
7727 (gst_pad_direction_get_type), (register_gst_pad_flags),
7728 (gst_pad_flags_get_type), (register_gst_pad_presence),
7729 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7730 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7731 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7732 (gst_plugin_error_get_type), (register_gst_plugin_flags),
7733 (gst_plugin_flags_get_type), (register_gst_rank),
7734 (gst_rank_get_type), (register_gst_query_type),
7735 (gst_query_type_get_type), (register_gst_tag_merge_mode),
7736 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7737 (gst_tag_flag_get_type), (register_gst_task_state),
7738 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7739 (gst_alloc_trace_flags_get_type),
7740 (register_gst_type_find_probability),
7741 (gst_type_find_probability_get_type), (register_gst_uri_type),
7742 (gst_uri_type_get_type), (register_gst_parse_error),
7743 (gst_parse_error_get_type):
7744 * win32/common/gstenumtypes.h:
7745 * win32/common/gstversion.h:
7746 update visual studio generated files
7748 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7750 * win32/vs6/libgstbase.dsp:
7751 * win32/vs6/libgstelements.dsp:
7752 update project files for new locations
7754 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
7759 reinstate and update
7764 * docs/random/LICENSE:
7767 2005-11-30 Edward Hervey <edward@fluendo.com>
7769 * gst/gsttypefind.c: (gst_type_find_register):
7770 * gst/gsttypefind.h:
7771 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
7772 (gst_type_find_factory_dispose):
7773 * gst/gsttypefindfactory.h:
7774 Fix memory leak in GstTypeFindFactory.
7776 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7779 * plugins/elements/Makefile.am:
7780 * plugins/elements/gstelements.c:
7781 * plugins/elements/gstqueue.c:
7782 move queue from core to the elements plugin
7784 2005-11-29 Andy Wingo <wingo@pobox.com>
7786 * libs/gst/base/gstbasetransform.h:
7787 * libs/gst/base/gstbasesrc.h:
7788 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
7790 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
7791 of pointers by which to pad very extensible base classes (like the
7792 ones in libs/gst/base).
7794 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7796 * docs/gst/gstreamer-docs.sgml:
7797 * docs/gst/gstreamer-sections.txt:
7798 * docs/libs/gstreamer-libs-docs.sgml:
7799 * docs/libs/gstreamer-libs-sections.txt:
7800 moving documentation from core to lib
7802 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7804 * check/Makefile.am:
7806 * docs/gst/Makefile.am:
7808 * gst/base/.cvsignore:
7809 * gst/base/Makefile.am:
7811 * gst/base/gstadapter.c:
7812 * gst/base/gstadapter.h:
7813 * gst/base/gstbasesink.c:
7814 * gst/base/gstbasesink.h:
7815 * gst/base/gstbasesrc.c:
7816 * gst/base/gstbasesrc.h:
7817 * gst/base/gstbasetransform.c:
7818 * gst/base/gstbasetransform.h:
7819 * gst/base/gstcollectpads.c:
7820 * gst/base/gstcollectpads.h:
7821 * gst/base/gstpushsrc.c:
7822 * gst/base/gstpushsrc.h:
7823 * gst/base/gsttypefindhelper.c:
7824 * gst/base/gsttypefindhelper.h:
7825 * gst/check/Makefile.am:
7826 * gst/check/gstcheck.c:
7827 * gst/check/gstcheck.h:
7828 * gst/net/Makefile.am:
7830 * gst/net/gstnetclientclock.c:
7831 * gst/net/gstnetclientclock.h:
7832 * gst/net/gstnettimepacket.c:
7833 * gst/net/gstnettimepacket.h:
7834 * gst/net/gstnettimeprovider.c:
7835 * gst/net/gstnettimeprovider.h:
7836 * libs/gst/Makefile.am:
7837 * libs/gst/base/Makefile.am:
7838 * libs/gst/base/gstbasetransform.c:
7839 * libs/gst/check/Makefile.am:
7840 * plugins/elements/Makefile.am:
7842 CVS surgery + support to move base, check, and net out of gst
7845 2005-11-29 Andy Wingo <wingo@pobox.com>
7847 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
7849 * gst/gststructure.h (struct _GstStructure): Only one pointer of
7852 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
7854 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
7856 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
7858 * gst/gstobject.h: (struct _GstObject): Only one pointer of
7859 padding; reduces object size by about 30%. We don't expect
7860 anything else to go into gstobject.
7862 * gst/gstminiobject.h (struct _GstMiniObject)
7863 (struct _GstMiniObjectClass): Only one pointer of padding; the
7864 payload is only a pointer and two ints anyway. For the class there
7865 are only two methods as well.
7867 * gst/gstelement.h (struct _GstElementClass): Removed
7868 the state_changed signal callback, it is not used.
7870 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
7872 * docs/gst/gstreamer.types:
7873 fix includes, though they are a little dinky
7875 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7877 * check/Makefile.am:
7878 look in the right place for elements, a lot more chance of
7881 remove indexers and elements subdirs
7882 * plugins/Makefile.am:
7883 make indexers conditional
7885 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7889 * plugins/elements/Makefile.am:
7890 * plugins/elements/gstcapsfilter.c:
7891 * plugins/elements/gstfilesink.c:
7892 * plugins/elements/gstfilesrc.c:
7893 * plugins/elements/gstidentity.c:
7894 * plugins/indexers/Makefile.am:
7895 do CVS surgery and related build fixery to move elements
7896 and indexers in a new gstreamer/plugins directory, out of the
7899 2005-11-29 Andy Wingo <wingo@pobox.com>
7901 * check/Makefile.am:
7902 * pkgconfig/gstreamer-net-uninstalled.pc.in:
7903 * pkgconfig/gstreamer-net.pc.in:
7904 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
7907 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
7909 * tools/Makefile.am:
7910 * tools/gst-complete.1.in:
7911 * tools/gst-complete.c:
7912 * tools/gst-compprep.1.in:
7913 * tools/gst-compprep.c:
7914 removing -compprep and -complete
7916 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
7918 * gst/gstevent.c: (gst_event_new_new_segment),
7919 (gst_event_parse_new_segment):
7921 fix #320529 - clean up new_segment API and structure.
7922 Let's hope everyone was using the methods, and not the structure.
7924 2005-11-29 Edward Hervey <edward@fluendo.com>
7926 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7927 (gst_base_sink_event), (gst_base_sink_do_sync),
7928 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7929 Properly handle non GST_FORMAT_TIME segment
7930 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7931 Properly handle non GST_FORMAT_TIME segment
7933 This function is valid if the accumulator is 0 and the format
7934 is different from the requested format.
7936 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
7938 * docs/gst/gstreamer-sections.txt:
7939 Add gst_query_new_seeking and gst_query_parse_seeking to the
7942 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
7944 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7945 Treat a pad alloc with new caps the same as if we were not
7946 negotiated, in order to allow a changing upstream output
7947 to produce a new format of data.
7949 2005-11-29 Edward Hervey <edward@fluendo.com>
7951 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7952 (gst_base_transform_event), (gst_base_transform_eventfunc):
7953 The event virtual method is now properly implemented, with a default
7955 Sub classes should call the parent_class event method. They should
7956 return FALSE if they had a problem handling the given event, or don't
7957 want GstBaseTransform to send that even downstream
7958 * gst/elements/gstidentity.c: (gst_identity_class_init),
7959 (gst_identity_init), (gst_identity_event),
7960 (gst_identity_transform_ip), (gst_identity_set_property),
7961 (gst_identity_get_property):
7962 * gst/elements/gstidentity.h:
7963 Added the single-segment boolean property.
7964 If set to TRUE, it will output a single segment of data, starting from
7965 0, will eat up all incoming newsegment, and modify the timestamp of the
7968 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
7970 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
7971 Don't ref NULL target pad (#322751). Improve docs.
7973 2005-11-29 Michael Smith <msmith@fluendo.com>
7975 * gst/gstregistryxml.c: (load_plugin):
7976 Don't crash if we failed to load a feature from a plugin.
7978 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
7980 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
7982 use more check API and less GLib API
7984 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
7987 don't run checks if we don't have check
7989 remove the registry when running make torture
7990 * docs/gst/gstreamer-sections.txt:
7991 remove second multiply
7992 * gst/gstqueue.c: (gst_queue_loop):
7993 fix a compile warning when disabling debug
7995 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
7998 Hey! Let's print the pad name if the pointer != NULL instead
7999 of when it == NULL :-)
8001 2005-11-28 Wim Taymans <wim@fluendo.com>
8003 * check/gst/gstutils.c: (GST_START_TEST):
8004 Updated check, add some scaling accuracy checking code.
8006 * gst/gstutils.c: (gst_util_div128_64),
8007 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
8008 (gst_util_uint64_scale_int):
8009 Fix 6 times faster division code. Optimize for common
8010 1/1 and less common X/1 cases.
8012 2005-11-28 Wim Taymans <wim@fluendo.com>
8014 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8017 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
8018 (do_linear_regression), (gst_clock_add_observation):
8020 Release lock when the clock cannot be slaved.
8021 Catch the case where the regression returned an invalid denominator.
8023 * gst/gstutils.c: (gst_util_div128_64_iterate),
8024 (gst_util_div128_64), (gst_util_uint64_scale_int64),
8025 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8026 Add protentially more performant non-iterative 128/64 divide function
8027 that unfortunatly does not work yet.
8028 Shortcut the trivial 0/X = 0 case.
8029 Remove the warnings on overflow.
8031 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
8033 * gst/gstplugin.c: (gst_plugin_register_func):
8034 everything causing a plugin not to load should be at least a WARNING
8036 2005-11-28 Stefan Kost <ensonic@users.sf.net>
8038 * docs/random/ensonic/dparams.txt:
8039 some TODOs for the next dev cycle
8040 * libs/gst/controller/gstcontroller.c:
8041 (gst_controlled_property_set_interpolation_mode),
8042 (gst_controlled_property_new):
8043 * libs/gst/controller/gstcontroller.h:
8044 use base type to assign acccessor functions
8046 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
8048 * check/Makefile.am:
8049 Oops, that should have been top_srcdir
8051 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
8053 * check/Makefile.am:
8054 * check/elements/fdsrc.c: (GST_START_TEST):
8055 Use a cmdline define to specify the location of a file to use for
8056 testing, to avoid breaking distcheck.
8058 2005-11-28 Andy Wingo <wingo@pobox.com>
8060 * gst/gstpad.c (fixate_value): Use array functions for arrays.
8062 2005-11-28 Edward Hervey <edward@fluendo.com>
8064 * tools/gst-launch.c: (main):
8065 Clarify the output strings, makes it easier to translate.
8068 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
8071 don't try and build net if we don't even have <sys/socket.h>
8073 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
8075 * check/Makefile.am:
8076 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
8077 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
8078 Add tests for fdsrc seekability
8080 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8081 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
8082 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
8083 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
8084 * gst/elements/gstfdsrc.h:
8085 fdsrc should not be a 'live' source.
8086 Implement seeking on seekable fd's.
8088 * gst/gstquery.c: (gst_query_new_seeking),
8089 (gst_query_parse_seeking):
8091 Implement SEEKING query functions:
8092 *_new_seeking and *_parse_seeking
8094 2005-11-27 Stefan Kost <ensonic@users.sf.net>
8096 * gst/gstelement.c: (gst_element_dispose):
8099 * gst/gstiterator.c:
8100 * gst/gststructure.c:
8103 * libs/gst/controller/gstcontroller.c:
8104 (gst_controlled_property_set_interpolation_mode):
8105 * libs/gst/controller/gstcontroller.h:
8106 * libs/gst/controller/gstinterpolation.c:
8107 (interpolate_none_get_enum_value_array):
8108 support controlling enums
8110 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
8113 Improve documentation for gst_value_union().
8116 Change return value for union, intersect and subtract functions
8117 from gint to gboolean.
8119 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
8121 * gst/gstvalue.c: (gst_value_serialize_any_list),
8122 (gst_value_transform_any_list_string),
8123 (gst_value_deserialize_list), (gst_value_deserialize_array),
8124 (gst_value_set_int_range), (gst_value_deserialize_int_range),
8125 (gst_value_set_double_range), (gst_value_deserialize_double_range),
8126 (gst_value_set_fraction_range_full),
8127 (gst_value_deserialize_fraction_range),
8128 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
8129 (gst_value_deserialize_boolean),
8130 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
8131 (gst_value_serialize_float), (gst_value_deserialize_float),
8132 (gst_string_wrap), (gst_value_deserialize_string),
8133 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
8134 (gst_value_union_int_range_int_range),
8135 (gst_value_intersect_int_range_int_range),
8136 (gst_value_intersect_double_range_double_range),
8137 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
8138 (gst_value_subtract_int_range_int_range),
8139 (gst_value_subtract_double_double_range),
8140 (gst_value_subtract_double_range_double_range),
8141 (gst_value_deserialize_fraction):
8143 Use gint, gdouble and gchar in our API instead of int, double and
8144 char (and make usage in gstvalue.c more consistent).
8146 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
8148 * check/Makefile.am:
8149 * libs/gst/controller/Makefile.am:
8150 * libs/gst/dataprotocol/Makefile.am:
8151 fix up Makefile.am and remove GST_ENABLE_NEW
8153 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
8157 * gst/base/Makefile.am:
8158 * gst/check/Makefile.am:
8159 * gst/elements/Makefile.am:
8160 * gst/net/Makefile.am:
8161 update LDFLAGS use some more
8163 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
8165 * common/m4/gst-doc.m4:
8168 2005-11-26 Edward Hervey <edward@fluendo.com>
8170 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8171 This shouldn't issue a g_warning since it returns NULL if it
8172 couldn't find the plugin, and all functions using this behave
8173 properly on a NULL return. Switching to a GST_WARNING.
8175 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
8177 * gst/gstbin.c: (gst_bin_handle_message_func):
8178 Don't leak clock messages.
8180 2005-11-25 Wim Taymans <wim@fluendo.com>
8182 * gst/gstutils.c: (gst_util_uint64_scale_int64),
8183 (gst_util_uint64_scale_int):
8184 Optimisations, remove unneeded vars.
8186 2005-11-25 Wim Taymans <wim@fluendo.com>
8188 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8189 Added more checks for the high precision uint64 cases.
8191 * gst/gstutils.c: (gst_util_uint64_scale_int64),
8192 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8193 Implement high precision (guint64 * guint64) / guint64.
8195 2005-11-24 Wim Taymans <wim@fluendo.com>
8197 * gst/base/gstbasesrc.c: (gst_base_src_query):
8198 Fix wrong percentage query.
8200 * gst/gstutils.c: (gst_util_uint64_scale),
8201 (gst_util_uint64_scale_int):
8202 Add some more common cases that can be handled
8203 efficiently to _scale.
8205 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
8207 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
8208 (gst_mini_object_suite):
8209 don't use check calls from threads; check probably isn't
8210 threadsafe and using a lock to make it threadsafe would
8211 defeat the purpose of this check
8212 * gst/check/gstcheck.c:
8213 * gst/check/gstcheck.h:
8214 use GST_DEBUG some more
8216 2005-11-24 Wim Taymans <wim@fluendo.com>
8218 * gst/gstutils.c: (gst_util_uint64_scale),
8219 (gst_util_uint64_scale_int):
8220 Chain trivial case to _scale_int.
8222 2005-11-24 Wim Taymans <wim@fluendo.com>
8224 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8225 Added test for scaling.
8230 * gst/gstutils.c: (gst_util_uint64_scale_int):
8231 Implemented high precision scaling code.
8233 2005-11-24 Stefan Kost <ensonic@users.sf.net>
8236 do not crash on pad==NULL
8238 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
8240 Patch by: Stefan Kost
8242 * common/gtk-doc.mak:
8243 * docs/gst/Makefile.am:
8244 * docs/libs/Makefile.am:
8245 Fix distcheck issues for the libraries docs build
8248 2005-11-24 Michael Smith <msmith@fluendo.com>
8250 * docs/manual/basics-helloworld.xml:
8251 Fix bug #315027: memory leak in example code in docs.
8253 2005-11-24 Michael Smith <msmith@fluendo.com>
8255 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8256 Unlock the PREROLL_LOCK in a failure case.
8258 2005-11-24 Wim Taymans <wim@fluendo.com>
8260 * docs/gst/gstreamer-sections.txt:
8261 * gst/base/gstadapter.h:
8262 * gst/base/gstbasesink.h:
8263 * gst/base/gstbasesrc.h:
8264 * gst/base/gstbasetransform.h:
8265 * gst/base/gstpushsrc.h:
8266 * gst/elements/gstfakesink.h:
8267 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
8268 * gst/elements/gstfakesrc.h:
8269 * gst/elements/gstfilesink.h:
8270 * gst/elements/gstfilesrc.h:
8273 * gst/gstbuffer.c: (_gst_buffer_copy):
8276 * gst/gstchildproxy.c:
8279 * gst/gstelementfactory.c:
8280 * gst/gstelementfactory.h:
8282 * gst/gstghostpad.h:
8284 * gst/gstinterface.h:
8285 * gst/gstminiobject.c:
8286 * gst/gstminiobject.h:
8289 * gst/gstpadtemplate.h:
8290 * gst/gstpipeline.h:
8291 * gst/gstpluginfeature.h:
8296 * gst/gsttagsetter.c:
8297 * gst/gsttagsetter.h:
8300 * gst/gsttypefind.h:
8303 * gst/net/gstnetclientclock.c:
8304 * gst/net/gstnetclientclock.h:
8305 * gst/net/gstnettimepacket.c:
8306 * gst/net/gstnettimeprovider.c:
8307 * gst/net/gstnettimeprovider.h:
8310 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
8312 * configure.ac: back to HEAD
8314 === release 0.9.6 ===
8316 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
8319 releasing 0.9.6, "Always On Time"
8321 2005-11-23 Wim Taymans <wim@fluendo.com>
8323 * docs/gst/gstreamer-sections.txt:
8324 * gst/glib-compat.c:
8325 * gst/gsttagsetter.c:
8327 * gst/net/gstnetclientclock.c:
8328 * gst/net/gstnettimepacket.h:
8331 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
8333 * docs/faq/using.xml:
8334 * docs/libs/tmpl/gstcontrol.sgml:
8335 * docs/manual/advanced-dparams.xml:
8336 * docs/manual/appendix-checklist.xml:
8337 * docs/manual/basics-elements.xml:
8338 * docs/pwg/other-source.xml:
8339 * docs/random/moving-plugins:
8341 * tools/gst-launch.1.in:
8342 remove mentions of sinesrc
8344 2005-11-23 Michael Smith <msmith@fluendo.com>
8346 * docs/gst/gstreamer-sections.txt:
8347 Update for new API and API changes.
8349 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
8351 Documentation typo fix.
8352 * gst/net/gstnettimepacket.c:
8353 Documentation fixes for arguments.
8355 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
8357 * gst/gststructure.c: (gst_structure_get_fraction),
8358 (gst_structure_parse_value),
8359 (gst_structure_fixate_field_nearest_fraction):
8360 * gst/gststructure.h:
8361 * gst/gstutils.c: (gst_util_uint64_scale_int):
8363 * scripts/update-funcnames:
8365 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
8366 Make gst_structure_fixate_field_nearest_fraction take a numerator
8367 and denominator argument instead of a GValue
8368 add gst_structure_get_fraction helper function.
8370 2005-11-23 Wim Taymans <wim@fluendo.com>
8372 * docs/design/part-TODO.txt:
8375 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8376 * gst/net/gstnetclientclock.h:
8377 Use parent fields for timeout and window_size.
8379 2005-11-23 Andy Wingo <wingo@pobox.com>
8381 * check/net/gstnetclientclock.c (test_functioning): Adjust to
8382 rate_num/rate_denom change.
8384 * gst/net/gstnetclientclock.c
8385 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
8386 OBJECT_LOCK. Don't call add_observation with the lock.
8388 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
8390 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
8392 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
8393 deal with rate as a fraction whose numerator and denominator are
8394 GstClockTime values.
8395 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
8396 master; the other fields are protected by the SLAVE_LOCK.
8397 (do_linear_regression): Note that this must be called with the
8399 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
8400 OBJECT_LOCK. Call set_calibration instead of touching the
8402 (gst_clock_set_property, gst_clock_get_property): Protect
8403 master/slave parameters with the SLAVE_LOCK.
8405 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
8406 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
8407 note that all of the instance variables that add_observation and
8408 the set_master functions use are protected by that lock and not
8410 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
8412 * gst/gstclock.c (gst_clock_add_observation): No longer requires
8413 the caller to take the object lock.
8415 2005-11-23 Wim Taymans <wim@fluendo.com>
8417 * gst/gsterror.c: (_gst_core_errors_init):
8419 Add error for clock stuff.
8421 * gst/gstpipeline.c: (gst_pipeline_change_state),
8422 (gst_pipeline_set_clock):
8423 Post clock error when clock cannot be used in a pipeline.
8425 2005-11-23 Stefan Kost <ensonic@users.sf.net>
8427 * docs/gst/gstreamer-sections.txt:
8428 make two symbols from gstinfo private for the docs
8429 * gst/base/gstcollectpads.h:
8431 fix doc typos, update docs
8433 2005-11-22 Wim Taymans <wim@fluendo.com>
8435 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8436 (gst_base_sink_wait), (gst_base_sink_do_sync),
8437 (gst_base_sink_handle_event):
8438 * gst/base/gstbasesink.h:
8439 No need to store the clock, the parent element class already
8442 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
8443 Updates for clock_set returning a gboolean
8445 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
8446 (gst_clock_id_wait_async), (gst_clock_class_init),
8447 (gst_clock_init), (gst_clock_finalize),
8448 (gst_clock_get_internal_time), (gst_clock_get_time),
8449 (gst_clock_slave_callback), (gst_clock_set_master),
8450 (gst_clock_get_master), (do_linear_regression),
8451 (gst_clock_add_observation), (gst_clock_set_property),
8452 (gst_clock_get_property):
8454 Implement master/slave. When setting a clock as a slave, a
8455 periodic timeout is scheduled to sample master and slave times.
8456 Then the slave clock is recalibrated to match offset and rate
8457 of the master clock.
8458 Update logging a bit.
8459 Add flag so that a clock can state that is cannot be slaved to
8462 * gst/gstelement.c: (gst_element_set_clock):
8464 The set clock returns a gboolean for when an element cannot
8465 deal with the selected clock in the pipeline.
8467 * gst/gstpipeline.c: (gst_pipeline_change_state),
8468 (gst_pipeline_set_clock):
8469 * gst/gstpipeline.h:
8470 Handle the case where the selected clock cannot be set on
8473 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
8474 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8475 (gst_net_client_clock_set_property),
8476 (gst_net_client_clock_get_property),
8477 (gst_net_client_clock_observe_times):
8478 * gst/net/gstnetclientclock.h:
8479 Use regression code in GstClock parent, remove duplicated
8482 2005-11-22 Michael Smith <msmith@fluendo.com>
8484 * gst/gstutils.c: (gst_util_clock_time_scale):
8486 * docs/gst/gstreamer-sections.txt:
8487 Rename method to have extra underscore.
8489 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
8491 * gst/elements/Makefile.am:
8492 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
8493 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8494 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8495 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
8496 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
8497 * gst/elements/gstfakesrc.h:
8498 * gst/gstqueue.c: (queue_leaky_get_type):
8499 correctly fix GEnumValues so that nick is the short lowercase
8501 * tools/gst-inspect.c: (print_element_properties_info):
8502 also show the nick, since it's useful to use from parse_launch
8506 2005-11-22 Michael Smith <msmith@fluendo.com>
8508 * gst/gstutils.c: (gst_util_clocktime_scale):
8510 * docs/gst/gstreamer-sections.txt:
8511 Add util method for scaling a clocktime by a fraction. Useful
8512 implementation is left as an exercise for the reader.
8514 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
8516 * gst/gstvalue.c: (gst_value_collect_fraction_range):
8517 If needed, allocate storage in the destination value during
8520 2005-11-22 Edward Hervey <edward@fluendo.com>
8522 * docs/gst/gstreamer-sections.txt:
8527 * gst/gstutils.c: (gst_util_set_object_arg):
8528 * tools/gst-compprep.c: (main):
8529 * tools/gst-inspect.c: (print_element_properties_info):
8530 Removed GstURI, closes bug #321061
8532 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
8534 * check/gst/gststructure.c: (GST_START_TEST):
8535 * gst/gststructure.c: (gst_structure_parse_value):
8536 Oops, broke automatic string type parsing.
8537 Add a test to catch it in future.
8539 2005-11-22 Andy Wingo <wingo@pobox.com>
8541 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
8542 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
8543 Actually rename the function implementations. Grr.
8545 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
8547 * check/gst/capslist.h:
8549 * check/gst/gststructure.c: (GST_START_TEST),
8550 (gst_structure_suite):
8551 Test automatic value type detection in gst_structure_from_string.
8552 * gst/gststructure.c: (gst_structure_parse_value):
8553 Add fraction as a type we try and guess automatically in
8554 caps/structure strings.
8556 2005-11-22 Andy Wingo <wingo@pobox.com>
8558 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
8560 * gst/gsttagsetter.h:
8561 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
8562 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
8563 (gst_tag_setter_add_tag_valist)
8564 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
8565 _add_values, _add_valist, and _add_valist_values. Since this is an
8566 interface the function suffixes should be more explicit so
8567 language binding don't end up with element.add_valist ->
8568 gst_tag_setter_add_valist, for example. Fixes #322069.
8570 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
8572 * check/gst/gstcaps.c: (GST_START_TEST):
8573 Extend caps string tests to check that a caps to string
8574 conversion is reversible and produces the same caps.
8576 * gst/gststructure.c: (gst_structure_value_get_generic_type):
8577 Output "fraction" as the generic type fraction range, so caps
8578 serialisation and deserialisation works.
8579 * check/gst/capslist.h:
8580 * gst/gstvalue.c: (gst_value_deserialize_fraction):
8581 Support 'MIN' and 'MAX' for deserialising fractions.
8583 2005-11-22 Andy Wingo <wingo@pobox.com>
8585 * gst/gstevent.h (gst_event_new_new_segment)
8586 (gst_event_parse_new_segment, gst_event_new_buffer_size)
8587 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
8588 Renamed from *_newsegment, *_buffersize, *_notarget.
8590 * scripts/update-funcnames: New script, performs the changes
8593 2005-11-22 Wim Taymans <wim@fluendo.com>
8595 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8596 Make sure the GstFlowReturn is returned.
8598 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
8599 (gst_bus_add_signal_watch):
8601 add gst_bus_add_signal_watch_full.
8603 * gst/gstplugin.c: (gst_plugin_load_file):
8604 Small style cleanup.
8606 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
8608 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
8609 Block the fakesrc srcpad when we send an event, to avoid
8610 contention on the stream_lock causing random test failures.
8612 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
8614 * check/gst/gstvalue.c: (GST_START_TEST):
8615 * gst/gstvalue.c: (gst_value_fraction_subtract):
8618 2005-11-22 Stefan Kost <ensonic@users.sf.net>
8621 include "gstchildproxy.h"
8622 * gst/gstchildproxy.h:
8623 * libs/gst/controller/gstcontroller.h:
8624 use G_GNUC_NULL_TERMINATED
8626 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
8628 * check/gst/capslist.h:
8629 * check/gst/gstcaps.c: (GST_START_TEST):
8630 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8631 * gst/gststructure.c: (gst_structure_parse_range),
8632 (gst_structure_fixate_field_nearest_fraction):
8633 * gst/gststructure.h:
8634 * gst/gstvalue.c: (gst_value_init_fraction_range),
8635 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
8636 (gst_value_collect_fraction_range),
8637 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
8638 (gst_value_set_fraction_range_full),
8639 (gst_value_get_fraction_range_min),
8640 (gst_value_get_fraction_range_max),
8641 (gst_value_serialize_fraction_range),
8642 (gst_value_transform_fraction_range_string),
8643 (gst_value_compare_fraction_range),
8644 (gst_value_deserialize_fraction_range),
8645 (gst_value_intersect_fraction_fraction_range),
8646 (gst_value_intersect_fraction_range_fraction_range),
8647 (gst_value_subtract_fraction_fraction_range),
8648 (gst_value_subtract_fraction_range_fraction),
8649 (gst_value_subtract_fraction_range_fraction_range),
8650 (gst_value_collect_fraction), (gst_value_fraction_multiply),
8651 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
8652 (gst_value_transform_string_fraction), (_gst_value_initialize):
8654 Implement fraction ranges and extend GstFraction to support
8655 arithmetic subtraction, as well as deserialization from integer
8656 strings such as "100"
8657 Add a testsuite as for int and double range set operations
8659 2005-11-21 Andy Wingo <wingo@pobox.com>
8663 * gst/gststructure.h: Add glib-compat.h.
8665 2005-11-21 Wim Taymans <wim@fluendo.com>
8667 * gst/gstbin.c: (gst_bin_change_state_func):
8670 2005-11-21 Wim Taymans <wim@fluendo.com>
8673 And add a nice define too.
8675 2005-11-21 Wim Taymans <wim@fluendo.com>
8677 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
8678 (gst_segment_new), (gst_segment_free), (gst_segment_init),
8679 (gst_segment_set_duration), (gst_segment_set_last_stop),
8680 (gst_segment_set_seek), (gst_segment_set_newsegment),
8681 (gst_segment_to_stream_time), (gst_segment_to_running_time),
8684 Make binding friendly.
8686 2005-11-21 Andy Wingo <wingo@pobox.com>
8688 * gst/gsttagsetter.h:
8690 * gst/gststructure.h:
8692 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
8695 * gst/gsterror.c (_gst_core_errors_init):
8696 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
8699 * gst/Makefile.am (gst_headers): Add glib-compat.h.
8700 (noinst_HEADERS): noinst the -private.
8702 2005-11-21 Michael Smith <msmith@fluendo.com>
8705 * gst/gstregistry.h:
8706 Remove unimplemented declarations for which we can see no sensible
8709 2005-11-21 Andy Wingo <wingo@pobox.com>
8711 * gst/gst.h: Include glib-compat.h.
8713 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
8715 * gst/glib-compat.c: Include the public and the private header.
8717 * gst/glib-compat-private.h: Copied here from glib-compat.h.
8721 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
8723 * check/gst/gstevent.c (create_custom_events): Check that
8724 FLUSH_STOP is serialized.
8726 * check/elements/identity.c (event_func):
8727 * check/elements/fakesrc.c (event_func): No stream lock, the core
8730 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
8731 stream lock taking, yay.
8733 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
8734 ensure that core takes the stream lock.
8736 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
8739 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
8740 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
8741 it already. For the flush start we do take it though so we get the
8742 right preroll state change messages.
8744 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
8745 the stream lock here, the core does it for us.
8747 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
8748 GST_STREAM_GET_LOCK.
8749 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
8750 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
8751 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
8752 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
8753 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
8754 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
8756 * gst/gstpad.c: Update for stream lock name change.
8758 * gst/base/gstbasesink.c: Update for preroll lock name change.
8760 2005-11-21 Wim Taymans <wim@fluendo.com>
8762 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
8763 (gst_clock_get_master):
8765 * gst/gstsystemclock.c: (gst_system_clock_init):
8766 Convert Clock flags to object flags.
8767 Added methods to manage master/slave clocks.
8769 2005-11-21 Wim Taymans <wim@fluendo.com>
8771 * check/gst/gstsegment.c: (GST_START_TEST):
8772 * docs/design/part-TODO.txt:
8773 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8774 (gst_base_sink_event), (gst_base_sink_do_sync),
8775 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8776 (gst_base_sink_query), (gst_base_sink_change_state):
8777 * gst/base/gstbasesink.h:
8778 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8779 (gst_base_src_default_newsegment),
8780 (gst_base_src_configure_segment), (gst_base_src_do_seek),
8781 (gst_base_src_get_range), (gst_base_src_loop),
8782 (gst_base_src_change_state):
8783 * gst/base/gstbasesrc.h:
8784 * gst/base/gstbasetransform.c:
8785 (gst_base_transform_prepare_output_buf),
8786 (gst_base_transform_event), (gst_base_transform_change_state):
8787 * gst/base/gstbasetransform.h:
8788 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8789 (gst_collect_pads_event):
8790 * gst/base/gstcollectpads.h:
8791 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
8792 (gst_fake_src_create):
8793 * gst/elements/gstfakesrc.h:
8794 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8795 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8796 (gst_segment_set_last_stop), (gst_segment_set_seek),
8797 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
8798 (gst_segment_to_running_time), (gst_segment_clip):
8800 More segment updates, replace code in plugins with segment
8803 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
8805 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
8806 Don't ignore sscanf results
8808 2005-11-21 Andy Wingo <wingo@pobox.com>
8810 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
8813 * *.c: Ran scripts/update-macros. Oh yes.
8815 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
8816 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
8819 * scripts/update-macros: New script. Run it on your files to
8820 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
8823 2005-11-21 Stefan Kost <ensonic@users.sf.net>
8825 * docs/gst/Makefile.am:
8826 * docs/gst/gstreamer-docs.sgml:
8827 * docs/gst/gstreamer-sections.txt:
8828 * docs/gst/gstreamer.types:
8830 more docs fixes, add new api to the docs
8832 2005-11-21 Andy Wingo <wingo@pobox.com>
8834 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
8835 state_broadcast call.
8837 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
8839 2005-11-21 Julien MOUTTE <julien@moutte.net>
8841 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
8842 function calls for arrays.
8844 2005-11-21 Stefan Kost <ensonic@users.sf.net>
8846 * docs/random/ensonic/media-device-daemon.txt:
8847 wild idea, can this be done?
8848 * docs/gst/gstreamer-sections.txt:
8853 * gst/gstpluginfeature.c:
8857 doc fixes and additions
8859 2005-11-21 Andy Wingo <wingo@pobox.com>
8861 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
8862 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
8863 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
8864 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
8865 private to the basesrc implementation.
8867 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
8868 behalf of event function if necessary. It should no longer be
8869 necessary to take the stream lock in pad's event functions. Fixes
8872 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
8873 * docs/gst/gstreamer-sections.txt:
8874 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
8875 (gst_structure_fixate_field_nearest_double),
8876 (gst_structure_fixate_field_boolean):
8877 * gst/gststructure.h:
8878 * win32/common/libgstreamer.def:
8879 * win32/gstreamer.def:
8881 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
8884 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
8886 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
8887 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
8888 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
8889 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
8890 (gst_fdsrc_uri_handler_init):
8891 * gst/elements/gstfdsrc.h:
8892 Port fd:// URI handler from 0.8 to fdsrc
8894 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
8896 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
8897 (gst_value_serialize_fourcc):
8899 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
8900 consistent with our other format defines (#320324).
8902 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
8904 * gst/gstvalue.c: (gst_value_is_fixed):
8905 Revert previous commit. Value lists are by definition
8906 not fixed, as they are a list of possible values.
8908 2005-11-21 Andy Wingo <wingo@pobox.com>
8910 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
8911 during the stable series if we need it. Fixes #319178.
8913 * gst/gstevent.c (gst_event_new_filler): Removed.
8915 * check/gst/gstevent.c: Update comment about filler events.
8917 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
8919 * gst/gstvalue.c: (gst_value_is_fixed):
8920 Should handle both value arrays and value lists.
8922 2005-11-21 Andy Wingo <wingo@pobox.com>
8924 patch by: Alessandro Dessina <alessandro nnva org>
8926 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
8927 functions to access arrays. Fixes #321962.
8929 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
8931 * docs/gst/gstreamer.types:
8932 gst_collectpads_get_type => gst_collect_pads_get_type.
8934 * gst/base/gstbasetransform.c:
8935 Remove unused SIGNAL_HANDOFF enum.
8937 2005-11-21 Andy Wingo <wingo@pobox.com>
8939 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
8940 the event type (upstream, downstream, serialized). Renamed
8941 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
8942 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
8943 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
8945 * gst/gstevent.c: Update for new CUSTOM event names.
8947 * check/gst/gstevent.c: Update check for new CUSTOM event names.
8950 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
8953 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
8955 * docs/gst/gstreamer-sections.txt:
8956 * win32/common/libgstbase.def:
8957 * win32/libgstbase.def:
8958 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
8959 (gst_collect_pads_class_init), (gst_collect_pads_init),
8960 (gst_collect_pads_finalize), (gst_collect_pads_new),
8961 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
8962 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
8963 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
8964 (gst_collect_pads_start), (gst_collect_pads_stop),
8965 (gst_collect_pads_peek), (gst_collect_pads_pop),
8966 (gst_collect_pads_available), (gst_collect_pads_read),
8967 (gst_collect_pads_flush), (gst_collect_pads_event),
8968 (gst_collect_pads_chain):
8969 * gst/base/gstcollectpads.h:
8970 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
8971 unimplemented functions as unimplemented. Add padding to
8972 GstCollectData. (#320766, #320423)
8974 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
8977 Improve docs for DURATION message (usage of duration parameter)
8980 2005-11-20 Wim Taymans <wim@fluendo.com>
8982 * check/Makefile.am:
8983 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
8987 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8988 (gst_segment_set_seek), (gst_segment_set_newsegment),
8989 (gst_segment_to_stream_time), (gst_segment_to_running_time),
8992 Added segment helper structure and methods. Not fully implemented
8994 Added segment check.
8996 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
8998 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8999 Add a deserialisation test for fractions
9000 * examples/metadata/read-metadata.c: (message_loop),
9001 (make_pipeline), (main):
9002 Fix up metadata reading sample.
9003 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9005 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9006 Don't try and fixate empty caps
9007 * gst/gst_private.h:
9008 Wrap in G_BEGIN_DECLS/G_END_DECLS
9009 * gst/gstvalue.c: (gst_value_collect_fraction),
9010 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
9011 (gst_value_transform_string_fraction),
9012 (gst_value_compare_fraction):
9013 Add some extra guards to ensure that we don't end up
9014 with an invalid denominator of 0 in a gstfraction and
9015 that fractions always get reduced.
9017 2005-11-20 Wim Taymans <wim@fluendo.com>
9019 * docs/gst/gstreamer-sections.txt:
9030 2005-11-20 Wim Taymans <wim@fluendo.com>
9032 * docs/design/part-TODO.txt:
9034 Make a proper enum of the flag.
9036 2005-11-19 Wim Taymans <wim@fluendo.com>
9038 * docs/design/part-TODO.txt:
9039 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
9040 (gst_format_to_quark), (gst_format_register):
9042 * gst/gstquery.c: (_gst_query_initialize),
9043 (gst_query_type_get_name), (gst_query_type_to_quark),
9044 (gst_query_type_register):
9046 Add type to quark and type to string conversions.
9048 2005-11-19 Andy Wingo <wingo@pobox.com>
9050 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
9053 2005-11-19 Wim Taymans <wim@fluendo.com>
9055 * docs/design/part-TODO.txt:
9056 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9057 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
9058 (gst_bin_handle_message_func):
9060 Make message handling overridable.
9062 2005-11-19 Andy Wingo <wingo@pobox.com>
9064 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
9067 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
9069 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
9070 is a GstClockTime. Fixes #321710.
9072 * gst/gstclock.h (GstClock): Remove offset property. Add
9073 internal_calibration and external_calibration. Fix padding. Pad
9074 also by GstClockTime so we don't run into problems.
9076 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
9077 (gst_clock_get_rate_offset): Remove.
9078 (gst_clock_set_time_adjust): Remove. Fixes #321712.
9081 * gst/gstutils.c (g_static_rec_cond_wait)
9082 (g_static_rec_cond_timed_wait): Removed, no longer needed.
9084 * gst/gstbin.c: Remove terrible continue_state prototype.
9086 * gst/gstelement.h (gst_element_continue_state): Make public.
9089 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
9090 by continue_state. Fixes #319389.
9092 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
9093 Really fixes #168438. However I don't see anywhere where the
9094 filter function is called... stupid GStreamer...
9096 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
9097 don't have a dispose function, so it won't get called when the
9098 object is unreffed, but oh well!
9100 * gst/gstindex.c (gst_index_set_filter_full): New API function,
9101 allows a destroy function to be set so user_data can be freed.
9103 (gst_index_set_filter): Call gst_index_set_filter_full.
9105 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
9107 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
9108 string should produce an error, given the lack of a way to
9109 represent NULL strings. Fixes #165650.
9112 * gst/gstvalue.c (gst_value_array_append_value)
9113 (gst_value_array_prepend_value, gst_value_array_get_size)
9114 (gst_value_array_get_value): New API, copied from
9115 gst_value_list_*, only operates on arrays.
9116 (gst_value_list_append_value, gst_value_list_prepend_value)
9117 (gst_value_list_concat, gst_value_list_get_size)
9118 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
9120 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
9121 init_list, because it works on both.
9122 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
9123 (gst_value_copy_list_or_array): Renamed from copy_list.
9124 (gst_value_free_list_or_array): Renamed from free_list.
9125 (gst_value_collect_list_or_array): Renamed from collect_list.
9126 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
9127 (gst_value_list_or_array_peek_pointer): Renamed from
9129 (_gst_value_array_value_table, _gst_value_list_value_table):
9130 Update value table functions.
9131 (gst_value_compare_list_or_array): Renamed from compare_list.
9133 * gsttaglist.h: Whoops, foreach function returns void. Also fix
9137 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
9138 GstTagList*. Fixes #143472.
9140 * gst/gststructure.h: Clarify what the foreach/map functions can
9141 or can't do to their arguments.
9143 2005-11-18 Wim Taymans <wim@fluendo.com>
9145 * gst/gstclock.c: (gst_clock_set_calibration),
9146 (gst_clock_get_calibration):
9148 Calibration can be set with internal time equal to current
9151 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
9157 2005-11-18 Andy Wingo <wingo@pobox.com>
9160 * pkgconfig/gstreamer-net.pc.in:
9161 * pkgconfig/gstreamer-net-uninstalled.pc.in:
9162 * pkgconfig/Makefile.am: Add net pkgconfig files.
9164 2005-11-18 Stefan Kost <ensonic@users.sf.net>
9167 * gst/gstghostpad.c:
9173 2005-11-18 Andy Wingo <wingo@pobox.com>
9175 * gst/net/gstnetclientclock.c: Turn off debugging.
9177 * check/net/gstnetclientclock.c (test_functioning): Assert that the
9178 times connverge somewhat. Can't make a real test.
9180 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
9181 integer arithmetic. Return the minimum of the domain, which can be
9182 set as "internal" for gst_clock_set_calibration.
9183 (gst_net_client_clock_observe_times): Call _set_calibration.
9184 (gst_net_client_clock_new): Call _set_calibration instead of
9187 * check/net/gstnetclientclock.c (test_functioning): Use the right
9191 * gst/gstclock.c (gst_clock_get_calibration)
9192 (gst_clock_set_calibration): New functions, obsolete the ones I
9193 added yesterday. Doh. Precision issues mean we have to extrapolate
9194 from a point in the more recent past than 1970.
9195 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
9197 (gst_clock_adjust_unlocked): Use the right calibration data.
9199 2005-11-18 Edward Hervey <edward@fluendo.com>
9201 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9202 Also reset the ->current_* values in READY->PAUSED
9204 2005-11-18 Andy Wingo <wingo@pobox.com>
9206 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
9207 Whoops, check the right fd. Also add some debugging.
9208 (gst_net_client_clock_observe_times): Adjust for int64 offset.
9209 (do_linear_regression): Add a crapload of debugging. Subtract off
9210 the minimum values from the input series to discard unneeded bits.
9211 Use only int arithmetic. There is still double arithmetic when
9212 calculating the intercept that needs fixing. Return boolean to
9213 indicate success; FALSE would mean the domain or range is too
9214 great. Still needs fixes.
9216 2005-11-18 Wim Taymans <wim@fluendo.com>
9218 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9219 For the current position in stream time, we need to subtract
9222 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9223 Release lock before calling the callback function of async
9226 2005-11-18 Andy Wingo <wingo@pobox.com>
9228 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
9229 Port goes all the way to MAXUINT16.
9231 * gst/net/gstnettimeprovider.c: Make the port range the same as
9232 for the kernel: 0 assigns, otherwise ports are less than
9235 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
9238 * check/net/gstnetclientclock.c (test_functioning): Add the start
9241 2005-11-18 Wim Taymans <wim@fluendo.com>
9243 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9244 (gst_bin_remove_func), (bin_bus_handler):
9246 Removing a clock provider from a bin, triggers a clock lost message
9247 so that a new clock will be selected.
9248 Adding a clock to a bin triggers a clock provider message.
9249 Make sure we reselect a clock when we received a clock lost message.
9250 Keep a reference to the element that provided the clock.
9252 2005-11-18 Andy Wingo <wingo@pobox.com>
9254 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
9255 the clock initially so it produces values around the base time.
9256 (gst_net_client_clock_class_init): Typo fix.
9257 (gst_net_client_clock_thread): Add note on when the socket gets
9260 2005-11-17 Wim Taymans <wim@fluendo.com>
9262 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
9263 Free remote and local time arrays.
9265 2005-11-17 Wim Taymans <wim@fluendo.com>
9267 * gst/net/gstnetclientclock.c: (do_linear_regression),
9268 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
9269 Fix compilation, uninitialized vars and a forgotten continue.
9271 2005-11-17 Andy Wingo <wingo@pobox.com>
9273 * check/Makefile.am (check_PROGRAMS):
9274 * check/net/gstnetclientclock.c: Add a most minimal test for the
9275 net client clock. More to come later.
9278 * gst/net/Makefile.am: Add netclientclock.
9280 * gst/net/gstnetclientclock.h:
9281 * gst/net/gstnetclientclock.c: New files, implement an untested
9282 GstClock that takes its time from a network time provider.
9283 Implements the algorithm in network-clock.scm.
9285 * tests/network-clock.scm (*window-size*): Rename from
9287 * tests/network-clock.scm (network-time):
9288 * tests/network-clock-utils.scm (q-push): Update callers.
9290 2005-11-17 Wim Taymans <wim@fluendo.com>
9292 * gst/gstbin.c: (gst_bin_provide_clock_func),
9293 (gst_bin_sort_iterator_new):
9294 And unref the child too..
9296 2005-11-17 Wim Taymans <wim@fluendo.com>
9298 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9299 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
9300 Refactor the sort iterator so it can be used while holding the
9302 Make clock selection select a clock closest to the source.
9304 2005-11-17 Michael Smith <msmith@fluendo.com>
9306 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
9307 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
9309 Anonymous structs are a gcc (and some other compilers) extension, so
9310 don't use them. Since this is only for ABI-compatibility, and our
9311 API/ABI freeze is over in a few days, this whole thing will only
9312 last a few days, so don't bother trying to think up a meaningful
9313 name for the struct.
9315 2005-11-17 Andy Wingo <wingo@pobox.com>
9317 * gst/gstclock.h (GstClock): Add rate and offset properties,
9318 preserving ABI stability. Add rate/offset accessors. Will file bug
9319 for the freeze break.
9321 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
9322 and offset, trying to keep precision and avoiding
9324 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
9325 functions. Make gst_clock_set_time_adjust obsolete.
9326 (gst_clock_set_time_adjust): Note that this function is obsolete.
9329 * gst/base/gstbasetransform.h: Make the ABI-stability hack
9330 greppable by using GST_PADDING-1+1.
9332 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
9334 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9336 * gst/gstmessage.c: (gst_message_parse_clock_lost):
9337 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
9339 * gst/gstpadtemplate.h:
9340 * gst/gstpluginfeature.h:
9341 Don't use c++ style comments in headers (#321638).
9343 2005-11-16 Andy Wingo <wingo@pobox.com>
9345 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
9348 * check/net/gstnettimeprovider.c: Check to see that the time
9349 provider actually provides times. Works, yo!
9351 2005-11-16 Wim Taymans <wim@fluendo.com>
9353 * check/Makefile.am:
9356 * check/elements/fakesrc.c: (GST_START_TEST):
9357 Set element to NULL before disposing it.
9359 2005-11-16 Andy Wingo <wingo@pobox.com>
9361 * gst/net/Makefile.am:
9363 * gst/net/gstnettimeprovider.c:
9364 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
9365 provider, include it from gstnet.h, and add it to the build.
9367 * gst/net/gstnettimepacket.h:
9368 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
9369 sending and receiving.
9371 2005-11-16 Wim Taymans <wim@fluendo.com>
9373 * check/Makefile.am:
9374 Enable valgrind check.
9376 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
9377 (gst_fake_src_alloc_buffer):
9380 2005-11-16 Wim Taymans <wim@fluendo.com>
9382 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
9383 Call parent finalize too.
9385 2005-11-16 Wim Taymans <wim@fluendo.com>
9387 * check/Makefile.am:
9388 Enable valgrind check that should work fine now.
9390 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9391 * gst/gstqueue.c: (gst_queue_init):
9392 Fix memleaks in pad allocation.
9394 2005-11-16 Andy Wingo <wingo@pobox.com>
9396 * gst/net/Makefile.am:
9397 * gst/net/gstnet.h: New part of core to hold network elements and
9398 objects. Put in core because it exposes API that applications want
9399 to use. The library is named libgstnet-tempname right now because
9400 of the existing libgstnet in gst-plugins-base. Solution is
9401 probably to rename the one in plugins-base; will file a bug for
9404 * gst/net/gstnettimeprovider.c:
9405 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
9406 get_time call over the network.
9409 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
9411 * check/Makefile.am:
9412 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
9413 get additions shortly.
9415 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
9417 * gst/gstpad.c: (gst_pad_new_from_static_template):
9419 add gst_pad_new_from_static_template functions
9420 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
9421 (gst_check_setup_sink_pad):
9422 * gst/elements/gsttee.c: (gst_tee_init):
9425 2005-11-16 Wim Taymans <wim@fluendo.com>
9427 * gst/gstpad.c: (gst_pad_pause_task):
9428 Removed warning, it's not really an error either.
9430 2005-11-16 Wim Taymans <wim@fluendo.com>
9432 * gst/base/gstbasetransform.c:
9433 (gst_base_transform_prepare_output_buf),
9434 (gst_base_transform_event):
9435 Check if the caps are NULL, this can happen if the element
9436 is shutting down and the pad caps are set to NULL.
9438 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
9440 * gst/elements/gsttee.c: (gst_tee_init):
9441 fix pad template leak in tee
9443 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
9445 * gst/glib-compat.c: (g_value_dup_gst_object):
9446 * gst/glib-compat.h:
9447 * gst/gstpad.c: (gst_pad_set_property):
9448 use gst_object_ref when setting the pad template; this will
9449 trigger the pad template leaks on GLib 2.6 and the slaves
9451 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
9453 * gst/glib-compat.c: (gst_flags_get_first_value):
9454 * gst/glib-compat.h:
9455 * gst/gstregistryxml.c:
9456 remove functions copied from GLib 2.6
9458 2005-11-16 Michael Smith <msmith@fluendo.com>
9461 Don't link against VALGRIND_LIBS. That was always the wrong thing to
9462 do, but only breaks with newer valgrind versions. We're not a
9463 valgrind tool, we have no link-time dependencies on libcoregrind.
9465 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
9467 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9472 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
9474 * gst/base/gstbasesrc.c: (gst_base_src_init):
9475 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9476 * gst/gstqueue.c: (gst_queue_init):
9477 * gst/gstregistryxml.c: (load_feature):
9478 Revert all these unrefs, they don't even pass make check !
9480 2005-11-15 Johan Dahlin <johan@gnome.org>
9482 * gst/base/gstbasesrc.c: (gst_base_src_init):
9483 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9484 * gst/gstqueue.c: (gst_queue_init):
9485 Free pad templates, fixes a couple of leaks.
9487 2005-11-15 Daniel Fischer <dan at f3c dot com>
9489 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9491 * gst/gstpad.c: (gst_pad_get_property):
9492 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
9493 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
9496 2005-11-15 Wim Taymans <wim@fluendo.com>
9501 2005-11-15 Andy Wingo <wingo@pobox.com>
9503 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
9505 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
9506 using GST_CLOCK_TIME_NONE to disable base time management.
9507 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
9508 time if it was NONE before.
9509 (gst_pipeline_change_state): Only munge the base time if
9510 stream_time != GST_CLOCK_TIME_NONE.
9512 * check/gst/gstpipeline.c (test_base_time): Punt around the
9513 problem of the probe not being called, because that's not the
9514 issue I'm looking at. Add a check that setting stream_time to NONE
9515 disables base time management.
9517 2005-11-15 Wim Taymans <wim@fluendo.com>
9519 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9520 segment_stop == -1 at startup.
9522 * gst/base/gstbasetransform.c: (gst_base_transform_event),
9523 (gst_base_transform_change_state):
9524 Init segment values at start.
9526 2005-11-15 Wim Taymans <wim@fluendo.com>
9528 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9529 0 segment values are 0 in any format.
9531 * gst/base/gstbasetransform.c: (gst_base_transform_event):
9532 * gst/base/gstbasetransform.h:
9533 Parse newsegment correctly in basetransform
9535 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
9536 Sync to clock using updated segment values.
9538 2005-11-15 Andy Wingo <wingo@pobox.com>
9540 * check/gst/gstpipeline.c (test_base_time): Add check that the
9541 base time and stream time are reset correctly.
9543 2005-11-15 Wim Taymans <wim@fluendo.com>
9545 * docs/design/part-TODO.txt:
9546 Some more TODO items.
9548 2005-11-15 Andy Wingo <wingo@pobox.com>
9550 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
9551 error if the user selected "no clock" as the clocking method.
9553 * check/gst/gstpipeline.c (test_base_time): New test for buffer
9554 timestamps with live capture.
9556 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
9557 is 0 but we are a live source, timestamp the buffers using the
9560 2005-11-14 Stefan Kost <ensonic@users.sf.net>
9562 * docs/gst/gstreamer-sections.txt:
9564 * gst/gstghostpad.c:
9569 2005-11-14 Wim Taymans <wim@fluendo.com>
9572 add suppressions from Wim's Debian machine
9574 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
9577 add suppressions from Andy's AMD64 Ubuntu machine
9579 2005-11-14 Andy Wingo <wingo@pobox.com>
9581 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
9582 STATE_LOCK not necessary. Fixes #311489.
9584 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
9587 * gst/gstindex.c (gst_index_add_object): Note in the docs that
9588 this function is not implemented.
9590 2005-11-14 Julien MOUTTE <julien@moutte.net>
9592 * gst/base/gstbasetransform.c:
9593 (gst_base_transform_prepare_output_buf):
9594 Ref the source pad caps while we need them.
9597 2005-11-11 Wim Taymans <wim@fluendo.com>
9599 * docs/gst/gstreamer-sections.txt:
9600 Added some docs for GstCollectData.
9602 * gst/base/gstadapter.c:
9603 Some small code example fix.
9605 * gst/base/gstcollectpads.c:
9606 * gst/base/gstcollectpads.h:
9609 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
9611 * configure.ac: back to HEAD
9613 === release 0.9.5 ===
9615 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
9618 releasing 0.9.5, "Bike Lunch Day"
9620 2005-11-11 Wim Taymans <wim@fluendo.com>
9622 * gst/gstbuffer.c: (_gst_buffer_copy):
9625 * gst/gstcaps.c: (gst_caps_is_equal):
9627 Make _is_equal fast in the trivial cases.
9629 * gst/gstminiobject.c:
9630 * gst/gstminiobject.h:
9631 More docs. Spifify .h file.
9636 2005-11-11 Wim Taymans <wim@fluendo.com>
9638 * gst/base/gstbasetransform.c:
9639 (gst_base_transform_prepare_output_buf),
9640 (gst_base_transform_handle_buffer):
9642 If we're processing a buffer and need to allocate an output
9643 buffer, we cannot accept a format change. If we did get a
9644 format change, we have to alloc a buffer ourselves of the
9647 2005-11-11 Wim Taymans <wim@fluendo.com>
9649 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
9650 While checking the flag for reentrancy in the gstcaps function
9651 is nice to detect recursive invocations, it also makes it
9652 impossible to call getcaps from multiple threads, which must be
9653 possible. So, checking for recursive calls has to go.
9655 2005-11-11 Michael Smith <msmith@fluendo.com>
9657 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9658 Don't sync on buffers that fall partially outside our current
9659 segment. Prevents an assertion failure/abort playing some files.
9661 2005-11-10 Andy Wingo <wingo@pobox.com>
9663 * check/gst/gstbin.c (test_message_state_changed_children): Style
9666 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
9667 gst_bus_poll with the signal watch. Ensures that poll and a signal
9668 watch see the same messages.
9670 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
9671 a poll and a watch at the same time get the same messages.
9673 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
9675 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
9676 * gst/gstcaps.c: (gst_caps_intersect):
9677 Don't call gst_caps_do_simplify - it doesn't respect order of caps
9678 and it's not needed.
9680 2005-11-10 Wim Taymans <wim@fluendo.com>
9682 * docs/design/part-TODO.txt:
9685 2005-11-10 Wim Taymans <wim@fluendo.com>
9687 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9688 * gst/base/gstbasesrc.c: (gst_base_src_wait),
9689 (gst_base_src_do_sync), (gst_base_src_get_range):
9690 Implement clock sync in base class.
9692 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
9694 patch by: Tim-Philipp Müller <tim at centricular dot net>
9696 * gst/gststructure.c: (gst_structure_parse_field),
9697 (gst_structure_from_string):
9698 Forward-port a 0.8 patch to handle escaped spaces in structure string,
9699 so that gst_parse_launch() can deal with spaces in filtered link
9700 caps (fixes #164479)
9701 * check/gst/capslist.h:
9702 * check/gst/gststructure.c: (GST_START_TEST):
9703 add unit tests for this change
9705 2005-11-10 Wim Taymans <wim@fluendo.com>
9707 * docs/gst/gstreamer-sections.txt:
9710 Fix docs, move some STATE macros to private.
9712 2005-11-10 Wim Taymans <wim@fluendo.com>
9714 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9715 Added check for bug #317341
9719 Some more spiffifying.
9721 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
9722 Call peer linkfunction if we are a source pad. Totally fixes
9726 Update docs, source pads should call the peer linkfunction
9727 so they can atomically perform the pad link.
9729 2005-11-09 Wim Taymans <wim@fluendo.com>
9733 Uber-spiffy-spiffify some more.
9735 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
9737 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
9738 * gst/elements/gstfilesink.c: (gst_file_sink_init):
9739 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9740 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
9741 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
9742 * gst/gstpad.c: (gst_pad_init):
9743 Use GST_DEBUG_FUNCPTR() more extensively.
9745 2005-11-09 Wim Taymans <wim@fluendo.com>
9747 * gst/gstobject.c: (gst_object_class_init):
9749 Documentation fixes.
9751 2005-11-09 Edward Hervey <edward@fluendo.com>
9753 * gst/gsttypefindfactory.c:
9756 2005-11-09 Edward Hervey <edward@fluendo.com>
9758 * gst/base/gsttypefindhelper.c:
9759 * gst/gsttypefind.c:
9760 * gst/gsttypefind.h:
9763 2005-11-09 Wim Taymans <wim@fluendo.com>
9765 * gst/gstiterator.c:
9772 2005-11-09 Wim Taymans <wim@fluendo.com>
9778 2005-11-09 Wim Taymans <wim@fluendo.com>
9780 * docs/gst/gstreamer-sections.txt:
9781 Moved the message async delivery private lock and cond
9782 to the private section.
9788 2005-11-09 Edward Hervey <edward@fluendo.com>
9790 * docs/gst/gstreamer-sections.txt:
9793 Document GstURIHandler
9795 2005-11-09 Wim Taymans <wim@fluendo.com>
9797 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
9798 (gst_iterator_find_custom):
9799 * gst/gstiterator.h:
9802 2005-11-09 Wim Taymans <wim@fluendo.com>
9805 Document another field.
9807 * gst/gststructure.c:
9808 * gst/gststructure.h:
9811 2005-11-09 Wim Taymans <wim@fluendo.com>
9816 2005-11-09 Wim Taymans <wim@fluendo.com>
9818 * docs/gst/gstreamer-sections.txt:
9819 Added some new macros.
9826 2005-11-09 Wim Taymans <wim@fluendo.com>
9828 * docs/design/part-TODO.txt:
9829 Some more items for the TODO
9835 2005-11-09 Andy Wingo <wingo@pobox.com>
9837 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
9838 to work on something else now tho...
9840 * gst/base/gstadapter.c: More adapter docs.
9842 * gst/elements/gstfilesink.c (gst_file_sink_start)
9843 (gst_file_sink_stop): New functions, replace the state change
9845 (gst_file_sink_class_init): Hook up the start and stop functions.
9846 (gst_file_sink_base_init): Don't set the state change handler any
9847 more. It was a bit ugly too, being set from here...
9848 (gst_file_sink_get_property, gst_file_sink_set_property):
9850 (gst_file_sink_set_location): More robust check that doesn't call
9853 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
9855 * gst/base/gstbasetransform.c: (gst_base_transform_event):
9856 Hold STREAM_LOCK while pushing newsegment or tag events as well.
9858 2005-11-08 Wim Taymans <wim@fluendo.com>
9860 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9861 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9862 (gst_base_sink_chain), (gst_base_sink_change_state):
9863 * gst/base/gstbasesink.h:
9864 * gst/base/gstbasesrc.h:
9867 Avoid excessive typechecking in macros.
9869 * gst/gstminiobject.c: (gst_mini_object_get_type),
9870 (gst_mini_object_init), (gst_mini_object_new),
9871 (gst_mini_object_free):
9872 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
9873 (gst_object_finalize):
9874 Remove cruft code, optimize alloc_trace.
9876 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
9878 * docs/faq/gst-uninstalled:
9879 fix up PS1 for systems that try to reset it
9881 2005-11-07 Wim Taymans <wim@fluendo.com>
9883 * gst/base/gstbasesrc.c: (gst_base_src_init),
9884 (gst_base_src_get_range):
9885 Set the segment_end to -1 initially. Fixed typefind.
9887 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
9889 * gst/base/gstadapter.c:
9890 Debug category should be 'adapter', not 'GstAdapter'.
9892 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
9893 (gst_collectpads_class_init), (gst_collectpads_init),
9894 (gst_collectpads_peek), (gst_collectpads_pop),
9895 (gst_collectpads_event), (gst_collectpads_chain):
9896 Add debug category and some debugging output. Use boilerplate
9897 macros. Remove some extraneous words from docs.
9899 2005-11-05 Andy Wingo <wingo@pobox.com>
9901 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
9904 2005-11-04 Stefan Kost <ensonic@users.sf.net>
9906 * docs/gst/gstreamer-sections.txt:
9909 * gst/gstminiobject.h:
9914 2005-11-04 Wim Taymans <wim@fluendo.com>
9916 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9917 Small update to stop at the configured segment_end
9920 2005-11-04 Stefan Kost <ensonic@users.sf.net>
9922 * gst/gstregistry.c:
9923 * gst/gstregistry.h:
9926 2005-11-04 Edward Hervey <edward@fluendo.com>
9928 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9929 Check if we are doing a segment seek and have arrived at the
9930 end of that segment.
9932 2005-11-04 Wim Taymans <wim@fluendo.com>
9934 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
9935 Don't leak a mutex unlock in case of an error.
9940 2005-11-04 Wim Taymans <wim@fluendo.com>
9942 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
9944 Get the context to wake up only once.
9946 2005-11-03 Wim Taymans <wim@fluendo.com>
9948 * check/states/sinks.c: (GST_START_TEST):
9949 Uncomment fixed check.
9951 * docs/design/part-TODO.txt:
9954 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9955 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9956 (gst_base_sink_get_position):
9957 If we are going to PLAYING, post the right pending state
9958 when we post the intermediate paused message.
9960 * gst/gstelement.c: (gst_element_continue_state),
9961 (gst_element_set_state_func), (gst_element_change_state):
9962 Don't post state changes that were between the same state
9965 2005-11-03 Stefan Kost <ensonic@users.sf.net>
9967 * docs/gst/gstreamer-sections.txt:
9970 * gst/gstminiobject.h:
9973 more docs and doc style fixes
9975 2005-11-03 Stefan Kost <ensonic@users.sf.net>
9977 * docs/gst/gstreamer-sections.txt:
9979 * gst/gstminiobject.c:
9982 2005-11-03 Andy Wingo <wingo@pobox.com>
9984 * check/states/sinks.c (test_livesrc_sink): Add checks that the
9985 state-changed messages actually have the right order and the right
9988 2005-11-03 Wim Taymans <wim@fluendo.com>
9990 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9991 Added some more checks. Specifically the case where NO_PREROLL
9992 elements are in the pipeline.
9994 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9995 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9996 (gst_base_sink_get_position):
9997 Post READY->PAUSED state change messages too.
9998 Fix bug where VOID was posted as pending state...
10000 * gst/gstbin.c: (gst_bin_recalc_state):
10001 use _element_continue_state() to continue the state change.
10003 * gst/gstelement.c: (gst_element_continue_state),
10004 (gst_element_commit_state), (gst_element_set_state_func),
10005 (gst_element_change_state), (gst_element_change_state_func):
10006 Lots of state change cleanups, assign the STATE_RETURN in
10007 a new continue_state() function that also propagates the
10008 last return value from a state change to the app.
10009 Update some debug statements with proper category.
10011 2005-11-03 Wim Taymans <wim@fluendo.com>
10013 * docs/design/part-events.txt:
10014 * docs/design/part-gstpipeline.txt:
10015 * docs/design/part-messages.txt:
10016 * docs/design/part-overview.txt:
10017 * docs/design/part-seeking.txt:
10018 * docs/design/part-states.txt:
10019 * docs/design/part-trickmodes.txt:
10020 * docs/manual/advanced-position.xml:
10021 Small docs updates.
10024 People think !! is ugly, this looks better.
10026 * gst/gstpad.c: (gst_pad_set_blocked_async):
10027 Remove !! since it's fixed elsewhere now.
10029 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
10031 * gst/gstminiobject.h:
10033 Add !! to _FLAG_IS_SET macros to make the result boolean.
10035 2005-11-03 Edward Hervey <edward@fluendo.com>
10037 * gst/gstpad.c: (gst_pad_set_blocked_async):
10038 comparing a flag and a gboolean rarely returns coherent results...
10039 Added two characters (!!) to make that work correctly.
10041 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
10043 * gst/gstbus.c: (gst_bus_class_init):
10046 * gst/gstqueue.c: (gst_queue_loop):
10047 Don't assume a miniobject that isn't a buffer is an
10048 event (it could be that there is a refcounting
10049 problem somewhere and the pointer is stale and
10050 refers to an already destroyed miniobject).
10052 2005-11-03 Julien MOUTTE <julien@moutte.net>
10054 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
10056 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
10058 * docs/manual/advanced-position.xml:
10059 Update seek example and explanations to current 0.9 API.
10061 * gst/elements/gsttypefindelement.c:
10062 (gst_type_find_element_activate):
10063 Remove FIXME comment now that the found caps
10066 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
10068 * gst/gstregistryxml.c: (load_feature):
10069 Add another GST_STR_NULL instance
10071 2005-11-02 Edward Hervey <edward@fluendo.com>
10073 * gst/gstpad.c: (handle_pad_block):
10074 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
10076 2005-11-02 Wim Taymans <wim@fluendo.com>
10081 * gst/gstelement.c: (gst_element_commit_state):
10082 Remove unused value.
10084 * gst/gstiterator.c:
10085 Mention that the returned element is reffed in the docs.
10087 2005-11-02 Wim Taymans <wim@fluendo.com>
10089 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
10090 (gst_pad_push), (gst_pad_push_event):
10091 Unlock blocked pads when they are flushed.
10093 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
10096 * docs/gst/gstreamer-sections.txt:
10099 * gst/gstregistry.c: (gst_registry_scan_path_level):
10100 fix for a nasty little missed situation where an installed plug-in
10101 which was in the cache did not get overridden by an uninstalled one
10102 which was earlier in the plugin path because the newly created plugin
10103 for the uninstalled one (not in the registry) didn't get its
10104 ->registered set to TRUE
10106 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
10108 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
10109 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
10110 (gst_collectpads_is_active), (gst_collectpads_collect),
10111 (gst_collectpads_collect_range), (gst_collectpads_start),
10112 (gst_collectpads_stop), (gst_collectpads_peek),
10113 (gst_collectpads_pop), (gst_collectpads_available),
10114 (gst_collectpads_read), (gst_collectpads_flush):
10115 Guard public API with assertions.
10118 Fix docs for gst_pad_set_link_function().
10120 2005-11-02 Johan Dahlin <johan@gnome.org>
10122 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
10123 Unref found_caps after we used it.
10125 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
10127 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
10128 Don't try to ref NULL.
10130 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
10132 * win32/common/config.h.in:
10133 provide a GST_FUNCTION that just gives a string for now
10135 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
10137 * win32/common/gstenumtypes.c: (register_gst_object_flags),
10138 (gst_object_flags_get_type), (register_gst_bin_flags),
10139 (gst_bin_flags_get_type), (register_gst_buffer_flag),
10140 (gst_buffer_flag_get_type), (register_gst_bus_flags),
10141 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10142 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
10143 (gst_clock_return_get_type), (register_gst_clock_entry_type),
10144 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10145 (gst_clock_flags_get_type), (register_gst_state),
10146 (gst_state_get_type), (register_gst_state_change_return),
10147 (gst_state_change_return_get_type), (register_gst_state_change),
10148 (gst_state_change_get_type), (register_gst_element_flags),
10149 (gst_element_flags_get_type), (register_gst_core_error),
10150 (gst_core_error_get_type), (register_gst_library_error),
10151 (gst_library_error_get_type), (register_gst_resource_error),
10152 (gst_resource_error_get_type), (register_gst_stream_error),
10153 (gst_stream_error_get_type), (register_gst_event_type),
10154 (gst_event_type_get_type), (register_gst_seek_type),
10155 (gst_seek_type_get_type), (register_gst_seek_flags),
10156 (gst_seek_flags_get_type), (register_gst_format),
10157 (gst_format_get_type), (register_gst_index_certainty),
10158 (gst_index_certainty_get_type), (register_gst_index_entry_type),
10159 (gst_index_entry_type_get_type),
10160 (register_gst_index_lookup_method),
10161 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10162 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10163 (gst_index_resolver_method_get_type), (register_gst_index_flags),
10164 (gst_index_flags_get_type), (register_gst_debug_level),
10165 (gst_debug_level_get_type), (register_gst_debug_color_flags),
10166 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10167 (gst_iterator_result_get_type), (register_gst_iterator_item),
10168 (gst_iterator_item_get_type), (register_gst_message_type),
10169 (gst_message_type_get_type), (register_gst_mini_object_flags),
10170 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10171 (gst_pad_link_return_get_type), (register_gst_flow_return),
10172 (gst_flow_return_get_type), (register_gst_activate_mode),
10173 (gst_activate_mode_get_type), (register_gst_pad_direction),
10174 (gst_pad_direction_get_type), (register_gst_pad_flags),
10175 (gst_pad_flags_get_type), (register_gst_pad_presence),
10176 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10177 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10178 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10179 (gst_plugin_error_get_type), (register_gst_plugin_flags),
10180 (gst_plugin_flags_get_type), (register_gst_rank),
10181 (gst_rank_get_type), (register_gst_query_type),
10182 (gst_query_type_get_type), (register_gst_tag_merge_mode),
10183 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10184 (gst_tag_flag_get_type), (register_gst_task_state),
10185 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10186 (gst_alloc_trace_flags_get_type),
10187 (register_gst_type_find_probability),
10188 (gst_type_find_probability_get_type), (register_gst_uri_type),
10189 (gst_uri_type_get_type), (register_gst_parse_error),
10190 (gst_parse_error_get_type):
10191 * win32/common/gstversion.h:
10192 update win32 copies
10194 2005-11-01 Luca Ognibene <luogni@tin.it>
10197 fix docs. popt is dead, long live GOption.
10199 2005-10-31 Wim Taymans <wim@fluendo.com>
10204 2005-10-31 Andy Wingo <wingo@pobox.com>
10208 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
10210 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
10211 need to serialize property notifications on GLib 2.8. GLib 2.6 has
10212 the possibility of deadlocks here if code calling notify() or
10213 set() has a lock that can be taken in another notify handler (ABBA
10214 with class lock and e.g. python GIL state lock).
10216 2005-10-28 Julien MOUTTE <julien@moutte.net>
10218 * gst/gstbus.c: Doc updates.
10220 2005-10-28 Wim Taymans <wim@fluendo.com>
10222 * docs/design/part-TODO.txt:
10223 * gst/gstiterator.c:
10224 * gst/gstsystemclock.c:
10225 * gst/gstsystemclock.h:
10228 2005-10-28 Edward Hervey <edward@fluendo.com>
10230 * docs/gst/gstreamer-docs.sgml:
10231 * docs/gst/gstreamer-sections.txt:
10232 the GstURIType documentation page is private, it only defines GstURIType
10233 which should be defined in the GstURIHandler page
10235 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
10237 * gst/gstbin.c: (gst_bin_class_init):
10240 Documentation updates.
10242 2005-10-28 Wim Taymans <wim@fluendo.com>
10244 * docs/gst/gstreamer-sections.txt:
10247 Documented the clocks.
10249 2005-10-28 Stefan Kost <ensonic@users.sf.net>
10251 * docs/gst/gstreamer-sections.txt:
10252 move some macros to private sections
10253 * gst/gstminiobject.c:
10254 * gst/gstminiobject.h:
10255 add descriptions provided by ds and some more
10257 mark macro as to be removed
10259 2005-10-28 Wim Taymans <wim@fluendo.com>
10261 * docs/design/part-TODO.txt:
10262 Add an item to TODO.
10264 * gst/gstiterator.c: (gst_iterator_fold),
10265 (gst_iterator_find_custom):
10266 * gst/gstiterator.h:
10269 2005-10-28 Wim Taymans <wim@fluendo.com>
10271 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10272 (gst_base_transform_init):
10275 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
10276 An EOS event marks the queue as completely filled.
10278 2005-10-27 Wim Taymans <wim@fluendo.com>
10280 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10281 (gst_base_sink_do_sync), (gst_base_sink_get_position):
10282 Some more debugging.
10284 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
10285 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
10286 (gst_base_transform_event), (gst_base_transform_getrange),
10287 (gst_base_transform_chain):
10288 * gst/base/gstbasetransform.h:
10290 Protect transform and concurrent buffer alloc with a new lock.
10291 Try not to break ABI/API.
10293 2005-10-27 Wim Taymans <wim@fluendo.com>
10295 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10296 (gst_base_src_init), (gst_base_src_query),
10297 (gst_base_src_default_newsegment),
10298 (gst_base_src_configure_segment), (gst_base_src_do_seek),
10299 (gst_base_src_send_event), (gst_base_src_event_handler),
10300 (gst_base_src_pad_get_range), (gst_base_src_loop),
10301 (gst_base_src_unlock), (gst_base_src_default_negotiate),
10302 (gst_base_src_start), (gst_base_src_deactivate),
10303 (gst_base_src_activate_push), (gst_base_src_change_state):
10304 Move some stuff around and cleanup things.
10306 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
10308 * gst/base/gstbasesrc.c: (gst_base_src_query):
10309 Add missing break statements.
10311 2005-10-27 Wim Taymans <wim@fluendo.com>
10313 * check/gst/gstbin.c: (GST_START_TEST):
10314 An extra refcount is taken in basesrc.
10316 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
10317 (gst_base_src_get_range), (gst_base_src_pad_get_range),
10318 (gst_base_src_loop):
10319 Small cleanups, check for flushing after being unlocked from the
10320 LIVE_LOCK. take refcounts correctly (not yet everywhere).
10321 Don't send out EOS when going to READY.
10323 2005-10-27 Wim Taymans <wim@fluendo.com>
10325 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10326 (gst_base_sink_get_position):
10329 * gst/gstbin.c: (message_check), (bin_replace_message),
10330 (bin_remove_messages), (is_eos), (gst_bin_add_func),
10331 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10332 (bin_query_duration_init), (bin_query_duration_fold),
10333 (bin_query_duration_done), (bin_query_generic_fold),
10335 * tools/gst-launch.c: (main):
10338 2005-10-26 Stefan Kost <ensonic@users.sf.net>
10340 * examples/controller/audio-example.c: (main):
10341 * examples/queue/queue.c: (event_loop):
10342 * gst/base/gstbasetransform.h:
10343 * gst/gstelement.c: (gst_element_send_event):
10345 * gst/gstpad.c: (gst_pad_send_event):
10348 changing log priority in error situations
10350 2005-10-25 Wim Taymans <wim@fluendo.com>
10352 * gst/gstbin.c: (message_check), (bin_replace_message),
10353 (bin_remove_messages), (is_eos), (gst_bin_add_func),
10354 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10355 (bin_query_duration_init), (bin_query_duration_fold),
10356 (bin_query_duration_done), (bin_query_generic_fold),
10358 Some doc and debug updates.
10359 Cache previously requested query DURATION for speed. invalidate
10360 cached duration if element posts a DURATION message.
10362 2005-10-25 Wim Taymans <wim@fluendo.com>
10364 * docs/design/part-TODO.txt:
10367 * gst/gstbin.c: (message_check), (bin_replace_message),
10368 (bin_remove_messages), (is_eos), (gst_bin_add_func),
10369 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10370 (bin_query_duration_init), (bin_query_duration_fold),
10371 (bin_query_duration_done), (bin_query_generic_fold),
10373 Handle SEGMENT_START/DONE messages correctly.
10374 More evolved query algorithm that handles duration queries
10377 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
10378 (gst_element_get_state_func), (gst_element_abort_state),
10379 (gst_element_commit_state), (gst_element_lost_state):
10380 Some more debugging.
10382 * gst/gstmessage.h:
10385 2005-10-25 Wim Taymans <wim@fluendo.com>
10387 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
10388 Don't use invalid stream_time.
10390 * gst/gstevent.c: (gst_event_new_newsegment):
10391 stream_time in newsegment cannot be undefined.
10393 2005-10-24 Wim Taymans <wim@fluendo.com>
10398 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10400 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
10402 2005-10-24 Stefan Kost <ensonic@users.sf.net>
10404 * docs/libs/tmpl/gstdparam.sgml:
10405 * docs/libs/tmpl/gstdplinint.sgml:
10406 * docs/libs/tmpl/gstdpman.sgml:
10407 * docs/libs/tmpl/gstdpsmooth.sgml:
10408 * docs/libs/tmpl/gstunitconvert.sgml:
10411 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
10416 === release 0.9.4 ===
10418 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
10421 releasing 0.9.4, "Tyrannosaurus Rex"
10423 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
10425 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10426 (gst_file_sink_get_current_offset):
10427 Use fseeko() and ftello() if available. When falling back on
10428 lseek() to get the current offset, fflush() first to make sure
10429 everything is up-to-date and we get the right offset.
10431 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
10433 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10434 * gst/base/gstbasesrc.c: (gst_base_src_loop):
10435 * gst/gsterror.c: (_gst_stream_errors_init):
10437 * gst/gstqueue.c: (gst_queue_loop):
10439 remove prematurely added error category and clean up the instances
10441 2005-10-21 Wim Taymans <wim@fluendo.com>
10443 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10444 (gst_base_sink_get_position), (gst_base_sink_query),
10445 (gst_base_sink_change_state):
10446 Simply set the right flag when going to playing, that's all
10447 we need to do instead of calling a function inside the object
10448 lock (that could take the lock as well and deadlock)
10450 2005-10-21 Wim Taymans <wim@fluendo.com>
10452 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
10453 (gst_base_src_loop):
10454 Don't warn, the peer element knows what to do best when
10455 the seek failed, it might try something else.
10457 2005-10-21 Wim Taymans <wim@fluendo.com>
10459 * gst/base/gstbasesrc.c: (gst_base_src_init),
10460 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10463 2005-10-21 Wim Taymans <wim@fluendo.com>
10465 * docs/design/part-segments.txt:
10468 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10469 Correctly set caps, even on the subbufer.
10471 2005-10-21 Wim Taymans <wim@fluendo.com>
10473 * docs/gst/gstreamer-docs.sgml:
10474 * docs/gst/gstreamer-sections.txt:
10475 * gst/gstelement.h:
10478 * gst/gstmessage.h:
10481 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
10485 And 2% more doc coverage.
10487 2005-10-21 Andy Wingo <wingo@pobox.com>
10489 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
10490 position reporting.
10492 2005-10-20 Wim Taymans <wim@fluendo.com>
10494 * gst/gsterror.c: (gst_error_get_message):
10497 * gst/gststructure.c:
10502 2005-10-20 Wim Taymans <wim@fluendo.com>
10507 Another 1% more coverage.
10509 2005-10-20 Wim Taymans <wim@fluendo.com>
10511 * docs/gst/gstreamer-sections.txt:
10512 * gst/gstelement.c: (gst_element_get_state_func),
10513 (gst_element_abort_state), (gst_element_commit_state),
10514 (gst_element_lost_state):
10516 * gst/gstquery.c: (gst_query_set_position),
10517 (gst_query_parse_position), (gst_query_set_duration),
10518 (gst_query_parse_duration), (gst_query_new_convert):
10520 Yay! 1% more docs coverage.
10522 2005-10-20 Wim Taymans <wim@fluendo.com>
10525 * gst/gstquery.c: (gst_query_set_position),
10526 (gst_query_parse_position), (gst_query_set_duration),
10527 (gst_query_parse_duration), (gst_query_new_convert):
10529 * gst/gstutils.c: (gst_element_query_convert):
10531 Docs and consistency fixes.
10533 2005-10-20 Wim Taymans <wim@fluendo.com>
10539 2005-10-20 Wim Taymans <wim@fluendo.com>
10541 * gst/gstbin.c: (message_check), (bin_replace_message),
10542 (bin_remove_messages), (is_eos), (gst_bin_add_func),
10543 (update_degree), (gst_bin_sort_iterator_next),
10544 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
10545 Reworked the message handling a bit, cache the messages instead of
10546 only the senders. alows us to do more in the future.
10548 2005-10-20 Wim Taymans <wim@fluendo.com>
10550 * docs/design/part-TODO.txt:
10553 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10554 (gst_base_sink_query):
10555 Don't use clock time to report position when in EOS.
10557 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
10559 * tools/gst-inspect.c: (print_interfaces),
10560 (print_element_properties_info), (print_element_info):
10561 Fix interface output with gst-inspect -a; don't print
10562 newlines after double/float properties.
10564 2005-10-20 Wim Taymans <wim@fluendo.com>
10566 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10567 (gst_base_sink_query):
10568 Speed up current position calculation.
10570 * gst/base/gstbasesrc.c: (gst_base_src_query),
10571 (gst_base_src_default_newsegment):
10572 Correctly set stream position in newsegment.
10574 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
10575 (update_degree), (gst_bin_sort_iterator_next),
10576 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
10577 * gst/gstmessage.c: (gst_message_new_custom):
10578 Clean up debugging info
10580 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10581 (gst_queue_loop), (gst_queue_handle_src_query):
10584 2005-10-19 Wim Taymans <wim@fluendo.com>
10586 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10587 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10588 Fix query handling again.
10590 2005-10-19 Wim Taymans <wim@fluendo.com>
10592 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10593 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10594 * gst/base/gstbasesrc.c: (gst_base_src_query):
10595 * gst/elements/gstfilesink.c: (gst_file_sink_query):
10596 * gst/elements/gsttypefindelement.c:
10597 (gst_type_find_handle_src_query), (find_element_get_length),
10598 (gst_type_find_element_activate):
10601 * gst/gstquery.c: (gst_query_new_position),
10602 (gst_query_set_position), (gst_query_parse_position),
10603 (gst_query_new_duration), (gst_query_set_duration),
10604 (gst_query_parse_duration), (gst_query_set_segment),
10605 (gst_query_parse_segment):
10607 Bundling query position/duration is not a good idea since duration
10608 does not change much and we don't want to recalculate it for every
10609 position query, so they are separated again..
10610 Base value in segment query is not needed.
10612 * gst/gstqueue.c: (gst_queue_handle_src_query):
10613 * gst/gstutils.c: (gst_element_query_position),
10614 (gst_element_query_duration), (gst_pad_query_position),
10615 (gst_pad_query_duration):
10617 Updates for query API change.
10618 Added some docs here and there.
10620 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
10622 * check/gst/gstbin.c: (GST_START_TEST):
10623 * check/gst/gstghostpad.c: (GST_START_TEST):
10624 * check/pipelines/cleanup.c: (GST_START_TEST):
10625 wait on thread to die so we can check refcount correctly
10627 2005-10-18 Wim Taymans <wim@fluendo.com>
10629 * check/pipelines/stress.c: (GST_START_TEST):
10630 Make check a little more time consuming.
10632 2005-10-18 Wim Taymans <wim@fluendo.com>
10634 * check/Makefile.am:
10635 * check/pipelines/stress.c: (GST_START_TEST),
10636 (simple_launch_lines_suite), (main):
10637 Small state change torture test.
10639 * docs/design/part-states.txt:
10640 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10641 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
10642 (gst_base_sink_change_state):
10643 Never take state lock from streaming thread, clean up ugly
10644 hacks. Unfortunatly core does not yet support nice ways to
10645 async commit state.
10647 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
10649 Start state recalc if a STATE_DIRTY message is posted, but only
10650 on the toplevel bin.
10652 * gst/gstelement.c: (gst_element_sync_state_with_parent),
10653 (gst_element_get_state_func), (gst_element_abort_state),
10654 (gst_element_commit_state), (gst_element_lost_state),
10655 (gst_element_set_state_func), (gst_element_change_state):
10656 * gst/gstelement.h:
10657 State variables are now protected with the LOCK, the state
10658 lock is only used to serialize _set_state().
10660 2005-10-18 Wim Taymans <wim@fluendo.com>
10662 * check/gst/gstbin.c: (GST_START_TEST):
10663 * check/gst/gstmessage.c: (GST_START_TEST):
10664 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10665 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
10667 * gst/gstelement.c: (gst_element_abort_state),
10668 (gst_element_commit_state), (gst_element_lost_state):
10669 * gst/gstmessage.c: (gst_message_new_state_changed),
10670 (gst_message_new_state_dirty), (gst_message_new_segment_start),
10671 (gst_message_new_segment_done), (gst_message_new_duration),
10672 (gst_message_parse_state_changed),
10673 (gst_message_parse_segment_start),
10674 (gst_message_parse_segment_done), (gst_message_parse_duration):
10675 * gst/gstmessage.h:
10676 * tools/gst-launch.c: (event_loop):
10677 Seriously, this is better than a previous commit as we only need
10678 to notify the fact that an element changed state in a streaming
10679 thread, marking the state of the parents dirty, hence the
10680 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
10683 2005-10-18 Wim Taymans <wim@fluendo.com>
10685 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
10686 (gst_bin_recalc_func):
10687 * gst/gstelement.c: (gst_element_set_clock),
10688 (gst_element_abort_state), (gst_element_lost_state):
10689 Cleanups, prepare for state change fixes.
10691 2005-10-18 Wim Taymans <wim@fluendo.com>
10694 * gst/gstelement.c: (gst_element_class_init),
10695 (gst_element_set_state), (gst_element_set_state_func):
10696 * gst/gstelement.h:
10697 Pending ABI changes.
10698 GThreadPool in GstBinClass to monitor async state changes.
10699 state_cookie in GstElement to detect concurrent gst/set state.
10700 set_state is now virtual too in case a very complicated element
10701 has to be constructed.
10703 2005-10-18 Wim Taymans <wim@fluendo.com>
10705 * check/gst/gstbin.c: (GST_START_TEST):
10706 * check/gst/gstmessage.c: (GST_START_TEST):
10707 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10708 * gst/gstbin.c: (bin_bus_handler):
10709 * gst/gstelement.c: (gst_element_commit_state),
10710 (gst_element_lost_state):
10711 * gst/gstmessage.c: (gst_message_new_state_changed),
10712 (gst_message_new_segment_start), (gst_message_new_segment_done),
10713 (gst_message_new_duration), (gst_message_parse_state_changed),
10714 (gst_message_parse_segment_start),
10715 (gst_message_parse_segment_done), (gst_message_parse_duration):
10716 * gst/gstmessage.h:
10717 * tools/gst-launch.c: (event_loop):
10718 Make messages future proof.
10719 state-change gets a flag if it was a message comming from the
10721 segment-start/stop can also be specified in other formats.
10722 A message to notify an app that a pipeline changed playback
10724 Also fix a GstMessage leak in -launch
10726 2005-10-18 Andy Wingo <wingo@pobox.com>
10728 * gst/gstelement.c (gst_element_dispose): More helpful message.
10730 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
10732 reviewed by: <delete if not using a buddy>
10734 * common/gtk-doc.mak:
10736 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
10738 * gst/gstregistry.c: (gst_registry_scan_path_level):
10739 unref a plug-in we get that was already initialized
10741 2005-10-18 Stefan Kost <ensonic@users.sf.net>
10743 * docs/gst/gstreamer-sections.txt:
10744 * docs/libs/gstreamer-libs-sections.txt:
10745 * gst/gstelement.h:
10746 add new api entries
10747 hide internal macro
10749 2005-10-17 Andy Wingo <wingo@pobox.com>
10751 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
10754 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
10756 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
10758 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
10759 (gst_element_get_state_func): Better debug message.
10760 (gst_element_commit_state): s/INFO/DEBUG/.
10761 (gst_element_lost_state, gst_element_change_state):
10763 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
10764 (gst_message_new_custom): s/INFO/LOG/.
10766 2005-10-17 Michael Smith <msmith@fluendo.com>
10768 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10769 Check if end time is valid using end time, not start time.
10771 2005-10-17 Stefan Kost <ensonic@users.sf.net>
10773 * check/gst-libs/controller.c: (GST_START_TEST),
10774 (gst_controller_suite):
10775 * libs/gst/controller/gstcontroller.c:
10776 (gst_controlled_property_set_interpolation_mode):
10777 * libs/gst/controller/gstcontroller.h:
10778 * libs/gst/controller/gstinterpolation.c:
10779 * testsuite/controller/.cvsignore:
10780 * testsuite/controller/Makefile.am:
10781 * testsuite/controller/interpolator.c:
10782 merge controller testsuites
10784 remove mem-chunk from docs
10786 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
10788 * gst/gstmemchunk.c:
10789 * gst/gstmemchunk.h:
10790 * gst/gsttrashstack.c:
10791 * gst/gsttrashstack.h:
10792 out. get out. you're fired. to the Attic !
10794 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
10796 * gst/gstcaps.c: (gst_caps_intersect):
10797 fix signedness issues in a (hopefully) correct way
10798 * gst/gstelement.c: (gst_element_pads_activate):
10800 * gst/gstobject.c: (gst_object_set_parent):
10803 2005-10-17 Julien MOUTTE <julien@moutte.net>
10805 * gst/gstvalue.h: Fix prototypes.
10807 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
10809 * docs/gst/gstreamer-sections.txt:
10810 * gst/gst.c: (gst_version_string):
10812 * gst/gstversion.h.in:
10813 * win32/common/libgstreamer.def:
10814 add gst_version_string ()
10816 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
10820 * gst/gst.c: (init_post):
10821 * win32/common/config.h.in:
10823 * gst/gstcaps.c: (gst_caps_intersect):
10824 use gint64, the range could be bigger than a guint
10826 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
10829 document potential problem in 2038
10831 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
10833 * gst/gstcaps.c: (gst_caps_intersect):
10834 Fix guint j diving under 0
10836 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
10839 * win32/common/config.h:
10840 * win32/common/config.h.in:
10841 check for process.h, declares getpid() on Windows
10843 include process.h if we have it
10844 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
10845 * gst/gstmemchunk.h:
10846 fix signedness issues
10847 * win32/common/libgstreamer.def:
10850 2005-10-16 Julien MOUTTE <julien@moutte.net>
10852 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
10853 fix. Because of unsigned ints, caps intersection was going nuts and
10854 trying to access structures with G_MAXUINT index. That fixes
10855 videotestsrc ! ffmpegcolorspace ! fakesink
10856 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
10859 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
10862 use the gettext macro
10863 * gst/elements/gstelements.c:
10865 * gst/indexers/gstindexers.c:
10866 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
10867 * win32/common/config.h:
10869 * win32/common/config.h.in:
10870 add the template to generate config.h
10871 * win32/common/gstenumtypes.c:
10872 * win32/common/gstversion.h:
10875 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
10877 * gst/gst.c: (gst_version):
10878 * gst/gstversion.h.in:
10881 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
10884 Oops, add missing closing bracket.
10886 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
10889 use common m4's for argument checking
10891 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
10893 * docs/gst/gstreamer-sections.txt:
10895 Add GST_EVENT_TYPE_NAME() macro.
10897 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
10900 * gst/gstpluginfeature.c:
10902 privatize more symbols
10904 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
10907 add srcdir, builddir includes to GST_ALL_CFLAGS, since
10908 everything that uses GStreamer API should have the includes
10910 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
10912 * docs/gst/gstreamer-sections.txt:
10913 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10915 give each value a _get_type, removes the DATA exports
10917 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
10921 remove _gst_registry_auto_load, not used anymore
10922 * gst/gstbin.c: (gst_bin_get_type):
10924 * gst/gstelement.c: (gst_element_get_type):
10925 * gst/gstelement.h:
10926 * gst/gstobject.c: (gst_object_get_type):
10928 * gst/gstpad.c: (gst_pad_get_type):
10930 make _get_type functions similar, fixes data export from library
10932 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
10935 correctly make conditionals
10936 * gst/elements/Makefile.am:
10937 * gst/elements/gstelements.c:
10938 fix typo causing fdsrc not to build
10940 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
10942 * testsuite/Makefile.am:
10943 * testsuite/bytestream/.cvsignore:
10944 * testsuite/bytestream/Makefile.am:
10945 * testsuite/bytestream/filepadsink.c:
10946 * testsuite/bytestream/gstbstest.c:
10947 * testsuite/bytestream/test1.c:
10948 * testsuite/bytestream/testfile1:
10949 * testsuite/caps/normalisation.c:
10950 * testsuite/caps/random.c: (main):
10951 * testsuite/cleanup/.cvsignore:
10952 * testsuite/cleanup/Makefile.am:
10953 * testsuite/cleanup/cleanup1.c:
10954 * testsuite/cleanup/cleanup2.c:
10955 * testsuite/cleanup/cleanup3.c:
10956 * testsuite/cleanup/cleanup4.c:
10957 * testsuite/cleanup/cleanup5.c:
10958 * testsuite/controller/interpolator.c:
10959 * testsuite/debug/printf_extension.c: (main):
10960 * testsuite/elements/tee.c:
10961 * testsuite/negotiation/.cvsignore:
10962 * testsuite/negotiation/Makefile.am:
10963 * testsuite/negotiation/pad_link.c:
10964 * testsuite/pad/Makefile.am:
10965 * testsuite/pad/chainnopull.c:
10966 * testsuite/pad/getnopush.c:
10967 * testsuite/pad/link.c:
10968 * testsuite/refcounting/sched.c: (create_pipeline):
10969 * testsuite/registry/Makefile.am:
10970 * testsuite/registry/gst-print-formats.c:
10971 * testsuite/schedulers/.cvsignore:
10972 * testsuite/schedulers/142183-2.c:
10973 * testsuite/schedulers/142183.c:
10974 * testsuite/schedulers/143777-2.c:
10975 * testsuite/schedulers/143777.c:
10976 * testsuite/schedulers/147713.c:
10977 * testsuite/schedulers/147819.c:
10978 * testsuite/schedulers/147894-2.c:
10979 * testsuite/schedulers/147894.c:
10980 * testsuite/schedulers/Makefile.am:
10981 * testsuite/schedulers/group_link.c:
10982 * testsuite/schedulers/queue_link.c:
10983 * testsuite/schedulers/relink.c:
10984 * testsuite/schedulers/unlink.c:
10985 * testsuite/schedulers/unref.c:
10986 * testsuite/schedulers/useless_iteration.c:
10987 * testsuite/states/bin.c:
10988 clean out/remove some stuff from the testsuite directories
10990 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
10993 check for some headers
10994 * gst/elements/Makefile.am:
10995 * gst/elements/gstelements.c:
10996 don't compile fdsrc without sys/socket.h
10997 * gst/indexers/Makefile.am:
10998 * gst/indexers/gstindexers.c: (plugin_init):
10999 don't compile fileindex without mmap
11001 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
11008 * check/Makefile.am:
11009 * docs/gst/Makefile.am:
11010 * examples/helloworld/Makefile.am:
11012 * gst/base/Makefile.am:
11013 * gst/check/Makefile.am:
11014 * gst/elements/Makefile.am:
11015 * gst/indexers/Makefile.am:
11016 * gst/parse/Makefile.am:
11017 * libs/gst/controller/Makefile.am:
11018 * libs/gst/dataprotocol/Makefile.am:
11019 * examples/helloworld/helloworld.c: (event_loop):
11020 compile fixes, though it's not being compiled currently
11022 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
11024 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
11025 Add some simple tests for the new taglist date API.
11027 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
11029 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
11030 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
11031 Beautify 'last-message' output: print 'none' for buffer timestamps
11032 and durations if none is set; improve alignment with next messages.
11034 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
11036 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
11037 * gst/gstpluginfeature.h:
11038 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
11039 * gst/gstregistry.h:
11040 * docs/gst/gstreamer-sections.txt:
11041 Add new API to check plugin feature version requirements.
11043 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
11044 Some basic tests for the above.
11046 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
11048 * gst/gststructure.c: (gst_structure_to_string):
11049 guard against NULL printf - happens when for example
11050 a message structure with GstClock gets serialized
11052 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
11054 * gst/base/gstcollectpads.c: (gst_collectpads_event):
11055 Fix presumable copy'n'pasto.
11057 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
11059 * gst/elements/gstfakesrc.h:
11060 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
11061 * gst/elements/gsttypefindelement.c:
11062 fix some signedness
11063 * gst/elements/gstfilesink.c: (gst_file_sink_render):
11064 I wonder if this could actually write +2GB files before
11066 2005-10-13 Andy Wingo <wingo@pobox.com>
11068 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
11069 Fix Timmeke Waymans bug.
11070 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
11071 string of the proper length to gst_caps_from_string. There's a
11072 potential for, before this fix, that this could cause someone
11073 connecting over the network to cause a segfault if the payload is
11074 not NUL-terminated.
11076 2005-10-13 Stefan Kost <ensonic@users.sf.net>
11078 * docs/design/draft-push-pull.txt:
11079 * docs/design/part-overview.txt:
11080 * docs/random/TODO-pre-0.9:
11081 * docs/random/old/ChangeLog.gstreamer:
11082 * gst/base/gstpushsrc.c:
11086 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
11088 * gst/glib-compat.c: (gst_flags_get_first_value):
11089 * gst/glib-compat.h:
11090 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
11091 (gst_value_compare_double), (gst_value_serialize_flags):
11092 GLib 2.6 g_flags_get_first_value has a bug that triggers an
11095 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
11097 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11098 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11100 * tools/gst-launch.c: (event_loop):
11101 print out clock nicely
11103 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
11105 * docs/gst/gstreamer-sections.txt:
11106 * gst/gsttaglist.h:
11107 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
11108 (gst_tag_list_get_date_index):
11109 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
11110 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
11112 2005-10-13 Julien MOUTTE <julien@moutte.net>
11114 * gst/base/gstcollectpads.c: (gst_collectpads_event),
11115 (gst_collectpads_chain):
11116 * gst/base/gstcollectpads.h: Handle newsegment and store informations
11119 2005-10-13 Stefan Kost <ensonic@users.sf.net>
11121 * docs/gst/gstreamer-sections.txt:
11124 * tools/gst-inspect.c: (main):
11125 * tools/gst-launch.c: (main):
11126 * tools/gst-run.c: (main):
11127 * tools/gst-xmlinspect.c: (main):
11128 fix GOption context leaks
11131 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
11135 * win32/common/config.h:
11137 * win32/vs6/grammar.dsp:
11138 * win32/vs6/libgstelements.dsp:
11139 * win32/vs6/libgstreamer.dsp:
11142 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
11144 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11145 * gst/base/gstbasesrc.c: (gst_base_src_query):
11146 fix more guint64<->gdouble conversions
11148 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
11151 add win32-update target
11152 * win32/common/gstconfig.h:
11153 * win32/common/gstenumtypes.c:
11154 * win32/common/gstenumtypes.h:
11155 * win32/common/gstversion.h:
11156 add files that visual studio can't generate
11158 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
11161 add a win32-update target
11164 2005-10-12 Wim Taymans <wim@fluendo.com>
11166 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11167 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
11168 * gst/gstelement.c: (gst_element_commit_state),
11169 (gst_element_set_state):
11170 Protect flags with proper lock.
11171 unref provided cached clock in dispose.
11173 2005-10-12 Stefan Kost <ensonic@users.sf.net>
11176 * gst/gstminiobject.h:
11178 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
11179 removed unused flags from miniobject
11182 2005-10-12 Wim Taymans <wim@fluendo.com>
11184 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
11185 (gst_file_sink_event), (gst_file_sink_render):
11186 Flush before seeking.
11188 2005-10-12 Andy Wingo <wingo@pobox.com>
11190 * gst/gst.c (gst_init_check): Ignore unknown options, as has
11191 always been the case.
11193 2005-10-12 Stefan Kost <ensonic@users.sf.net>
11195 * check/gst/gstbin.c: (GST_START_TEST):
11196 * docs/gst/gstreamer-sections.txt:
11197 * gst/base/gstbasesink.c: (gst_base_sink_init):
11198 * gst/base/gstbasesrc.c: (gst_base_src_init),
11199 (gst_base_src_get_range), (gst_base_src_check_get_range),
11200 (gst_base_src_start), (gst_base_src_stop):
11201 * gst/base/gstbasesrc.h:
11202 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
11203 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11204 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
11208 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
11210 * gst/gstelement.c: (gst_element_is_locked_state),
11211 (gst_element_set_locked_state), (gst_element_commit_state),
11212 (gst_element_set_state):
11213 * gst/gstelement.h:
11214 * gst/gstindex.c: (gst_index_init):
11216 * gst/gstminiobject.h:
11217 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
11218 (gst_object_set_parent):
11220 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
11221 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
11223 * gst/gstpadtemplate.h:
11224 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
11225 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
11226 * gst/gstpipeline.h:
11227 * gst/indexers/gstfileindex.c: (gst_file_index_load),
11228 (gst_file_index_commit):
11229 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
11230 * testsuite/pad/link.c: (gst_test_src_init),
11231 (gst_test_filter_init), (gst_test_sink_init):
11232 * testsuite/states/locked.c: (main):
11233 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
11234 moved bitshift from macro to enum definition
11236 2005-10-12 Wim Taymans <wim@fluendo.com>
11238 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
11239 * gst/elements/gstfilesink.c: (gst_file_sink_event),
11240 (gst_file_sink_render):
11241 Some more debugging info.
11243 2005-10-12 Wim Taymans <wim@fluendo.com>
11245 * docs/design/part-states.txt:
11246 * tools/gst-launch.c: (main):
11248 Revert non-intentional change.
11250 2005-10-12 Wim Taymans <wim@fluendo.com>
11252 * check/gst/gstbin.c: (GST_START_TEST):
11253 * check/gst/gstelement.c: (GST_START_TEST):
11254 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
11255 * check/gst/gstghostpad.c: (GST_START_TEST):
11256 * check/gst/gstpipeline.c: (GST_START_TEST):
11257 * check/pipelines/simple_launch_lines.c: (run_pipeline):
11258 * check/states/sinks.c: (GST_START_TEST):
11259 * gst/elements/gsttypefindelement.c: (stop_typefinding):
11260 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11261 (gst_bin_remove_func), (gst_bin_get_state_func),
11262 (gst_bin_recalc_state), (gst_bin_change_state_func),
11264 * gst/gstelement.c: (gst_element_get_state_func),
11265 (gst_element_get_state), (gst_element_abort_state),
11266 (gst_element_commit_state), (gst_element_set_state),
11267 (gst_element_change_state), (gst_element_change_state_func):
11268 * gst/gstelement.h:
11269 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
11270 (gst_pipeline_provide_clock_func):
11271 * gst/gstutils.c: (gst_element_link_pads_filtered):
11272 * tools/gst-launch.c: (main):
11273 * tools/gst-typefind.c: (main):
11274 Use GstClockTime in _get_state() instead of GTimeVal.
11275 Remove old code in gstutils.c
11277 2005-10-12 Andy Wingo <wingo@pobox.com>
11279 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
11282 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
11283 there is no task. Shouldn't affect any code, as nothing in our
11284 plugins checks this return value.
11285 (gst_pad_stop_task): Also take the stream lock if the pad has no
11286 task. Docs updated.
11288 2005-10-12 Wim Taymans <wim@fluendo.com>
11290 * gst/gstpad.c: (pre_activate), (post_activate),
11291 (gst_pad_activate_pull), (gst_pad_activate_push):
11292 Cleanup activation code. Reset old state if
11295 2005-10-12 Wim Taymans <wim@fluendo.com>
11297 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11298 (gst_base_sink_change_state):
11299 No need to prerol after receiving EOS.
11301 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11302 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
11303 * gst/elements/gstidentity.c: (gst_identity_event):
11304 Print events more verbosely.
11306 2005-10-12 Wim Taymans <wim@fluendo.com>
11308 * check/Makefile.am:
11309 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
11310 * check/states/sinks2.c:
11311 Moved sinks2 testcode in sinks check.
11313 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11314 (gst_bin_remove_func), (gst_bin_recalc_state),
11315 (gst_bin_change_state_func), (bin_bus_handler):
11316 Fix potential race condition when _get_state() iterated over an
11317 ASYNC element right before it posted a state completion.
11320 Do proper cast here.
11322 * gst/gstevent.c: (gst_event_new_newsegment),
11323 (gst_event_parse_newsegment):
11324 A playback rate of 0.0 is not allowed.
11326 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
11328 * win32/common/config.h:
11329 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
11330 (_trewinddir), (_ttelldir), (_tseekdir):
11331 * win32/common/dirent.h:
11332 * win32/common/gtchar.h:
11333 * win32/common/libgstbase.def:
11334 * win32/common/libgstreamer.def:
11335 * win32/vs6/grammar.dsp:
11336 * win32/vs6/gst_inspect.dsp:
11337 * win32/vs6/gst_launch.dsp:
11338 * win32/vs6/gstreamer.dsw:
11339 * win32/vs6/libgstbase.dsp:
11340 * win32/vs6/libgstelements.dsp:
11341 * win32/vs6/libgstreamer.dsp:
11342 Visual Studio 6 project files, and a new common directory.
11345 2005-10-11 Wim Taymans <wim@fluendo.com>
11347 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11348 (gst_base_sink_do_sync), (gst_base_sink_query),
11349 (gst_base_sink_change_state):
11350 * gst/base/gstbasesink.h:
11351 Correctly parse newsegment info.
11353 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
11355 * gst/gst.c: (init_post):
11356 split plugin paths correctly
11358 2005-10-11 Wim Taymans <wim@fluendo.com>
11360 * check/gst/gstevent.c: (GST_START_TEST):
11361 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11362 (gst_base_sink_change_state):
11363 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
11364 * gst/base/gstbasetransform.c: (gst_base_transform_event):
11365 * gst/elements/gstfilesink.c: (gst_file_sink_event):
11366 * gst/gstevent.c: (gst_event_new_newsegment),
11367 (gst_event_parse_newsegment):
11369 Added extra flag to newsegment for future API freeze.
11370 Updated check and base elements.
11372 2005-10-11 Julien MOUTTE <julien@moutte.net>
11374 * gst/base/gstcollectpads.c: (gst_collectpads_init),
11375 (gst_collectpads_add_pad), (gst_collectpads_pop),
11376 (gst_collectpads_event), (gst_collectpads_chain):
11377 * gst/base/gstcollectpads.h: Handle EOS correctly.
11379 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
11381 * tools/gst-launch.c: (main):
11382 more null protecting
11384 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
11386 * gst/gst-i18n-lib.h:
11387 check for ENABLE_NLS, not GETTEXT_PACKAGE
11388 * gst/gstregistry.c: (gst_registry_add_plugin),
11389 (gst_registry_scan_path_level),
11390 (_gst_registry_remove_cache_plugins):
11391 protect possibly NULL strings
11392 * gst/parse/types.h:
11393 config.h already included before
11394 * tools/gst-inspect.c: (main):
11395 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
11396 check for ENABLE_NLS, not GETTEXT_PACKAGE
11397 * tools/gst-launch.c: (main):
11398 check for ENABLE_NLS, not GETTEXT_PACKAGE
11400 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
11403 if we don't have glib, fail before testing 2.8
11404 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
11405 fix a leak, should fix plugins-base testsuite
11407 2005-10-11 Andy Wingo <wingo@pobox.com>
11409 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
11410 take the mode we're going to as an arg. Go head and set the mode
11411 and flushing flags now, so that if the activate function starts a
11412 thread all the flags will be in the right state.
11413 (post_activate): Renamed also. Just handle making sure streaming
11414 finishes for the deactivation case, and setting the deactivated
11416 (gst_pad_set_active): Complain loudly if deactivation fails.
11417 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
11418 (gst_pad_activate_push): Adapt to pre/post_activate changes,
11419 remove the terrible hack.
11421 2005-10-11 Wim Taymans <wim@fluendo.com>
11423 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11424 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
11425 (gst_bin_recalc_state), (gst_bin_change_state_func),
11426 (gst_bin_dispose), (bin_bus_handler):
11428 Prepare to make current EOS message queue more generic.
11431 * gst/gstevent.c: (gst_event_new_newsegment),
11432 (gst_event_parse_newsegment):
11434 Rename base to stream_time.
11436 * gst/gstmessage.h:
11439 2005-10-11 Wim Taymans <wim@fluendo.com>
11441 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11442 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
11443 (gst_bin_change_state_func), (bin_bus_handler):
11445 Work on proper clock selection.
11447 2005-10-11 Edward Hervey <edward@fluendo.com>
11449 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
11450 * libs/gst/controller/gstcontroller.h:
11451 Added GList* version of _remove_properties() in order to be able to wrap
11454 2005-10-11 Wim Taymans <wim@fluendo.com>
11456 * docs/design/part-states.txt:
11459 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
11460 (gst_bin_change_state_func), (bin_bus_handler):
11461 Doc updates. Don't distribute the same clock over and over again.
11467 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
11468 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
11469 (gst_pad_send_event):
11471 Make probe emission threadsafe again.
11472 Register quarks and move _get_name() from utils.
11475 * gst/gstpipeline.c: (gst_pipeline_class_init),
11476 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11477 Only redistribute the clock of it changed.
11479 * gst/gstsystemclock.h:
11484 Moved the _flow_get_name() to GstPad.
11486 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
11488 * check/gst-libs/gdp.c: (GST_START_TEST):
11489 * check/gst/gstcaps.c: (GST_START_TEST):
11490 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
11491 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
11492 (gst_dp_packet_from_caps):
11493 fix more valgrind warnings before turning up the heat
11495 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
11497 * gst/parse/grammar.y:
11498 some cleanup before the hacking
11500 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
11502 * gst/base/gstbasesrc.c: (gst_base_src_query):
11504 * gst/gstutils.c: (gst_guint64_to_gdouble),
11505 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
11507 externalize, basesrc uses it
11508 obviously the implementation needs testing
11510 2005-10-10 Wim Taymans <wim@fluendo.com>
11512 * tests/sched/Makefile.am:
11513 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
11514 (make_pipeline3), (make_pipeline4), (print_elem), (main):
11516 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
11518 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
11519 apparently converting from guint64 to double is not implemented
11522 2005-10-10 Wim Taymans <wim@fluendo.com>
11524 * check/Makefile.am:
11525 * check/generic/states.c: (GST_START_TEST):
11526 * check/gst/gstbin.c: (GST_START_TEST):
11527 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11528 * check/states/sinks.c: (GST_START_TEST):
11529 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
11531 Check fixes, use API as stated in design docs, remove hacks.
11533 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11534 (gst_base_sink_change_state):
11535 Catch stopping our task while we're shutting down.
11537 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
11538 (gst_bin_remove_func), (gst_bin_get_state_func),
11539 (gst_bin_recalc_state), (gst_bin_change_state_func),
11542 * gst/gstelement.c: (gst_element_init),
11543 (gst_element_get_state_func), (gst_element_abort_state),
11544 (gst_element_commit_state), (gst_element_lost_state),
11545 (gst_element_set_state), (gst_element_change_state),
11546 (gst_element_change_state_func):
11547 * gst/gstelement.h:
11548 New state change algorithm (see #318116)
11550 * gst/gstpipeline.c: (gst_pipeline_class_init),
11551 (gst_pipeline_init), (gst_pipeline_set_property),
11552 (gst_pipeline_get_property), (do_pipeline_seek),
11553 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11554 * gst/gstpipeline.h:
11555 Remove crude state change hacks.
11558 Remove crude hacks.
11560 * tools/gst-launch.c: (main):
11561 Fixes for state change. Needs some more work to fully use the
11564 2005-10-10 Andy Wingo <wingo@pobox.com>
11566 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
11568 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
11569 this flag, but it's not even in GLib 2.6. Odd. Hack around the
11572 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
11574 * gst/gstiterator.c: (gst_iterator_new):
11575 Fix my previous commit: GTypes passed to gst_iterator_new()
11576 can be fundamental types.
11578 2005-10-10 Wim Taymans <wim@fluendo.com>
11580 * gst/gstelement.c: (gst_element_iterate_pad_list),
11581 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
11582 (gst_element_iterate_sink_pads):
11583 Use src/sink pads lists for the respective iterators instead
11586 2005-10-10 Andy Wingo <wingo@pobox.com>
11588 Merged in popt removal + GOption addition patch from Ronald, bug
11591 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
11592 GstElement macros around, remove popt-related symbols, add goption
11595 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
11597 * docs/gst/Makefile.am:
11598 * docs/libs/Makefile.am: No POPT_CFLAGS.
11600 * examples/manual/Makefile.am:
11601 * docs/manual/basics-init.xml: Doc updates with an example.
11603 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11604 (gst_init), (parse_one_option), (parse_goption_arg):
11605 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
11606 bit of hand merging and debugging to get the GOption stuff working
11609 * tests/Makefile.am:
11610 * tools/Makefile.am:
11611 * tools/gst-inspect.c: (main):
11612 * tools/gst-launch.c: (main):
11613 * tools/gst-run.c: (main):
11614 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
11616 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
11618 * gst/gstiterator.c: (gst_iterator_new):
11619 Add assertions to make sure passed GType is likely to really
11620 be a GType (as the compiler won't catch it if the size and
11621 GType arguments get mixed up, see #318447).
11623 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
11625 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
11627 * gst/gstbin.c: (gst_bin_iterate_sorted):
11628 Pass GType and size arguments to gst_iterator_new() in the right
11629 order (maybe we should make _new() take the GType as first argument
11630 just like _new_list()?) (#318447).
11633 2005-10-10 Wim Taymans <wim@fluendo.com>
11635 * gst/gstelement.c: (gst_element_finalize):
11636 And free the GStaticRecMutex too
11638 2005-10-10 Andy Wingo <wingo@pobox.com>
11640 * gst/gstelement.c (gst_element_init, gst_element_finalize):
11641 Allocate and free the mutex properly.
11643 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
11645 (GstElement): The state_lock is now recursive. Rebuild your
11646 plugins, suckers. Old macros adapted.
11648 * docs/gst/gstreamer-sections.txt: Doc updates.
11651 * gst/gstutils.c (g_static_rec_cond_timed_wait)
11652 (g_static_rec_cond_wait): Ported from state changes patch, while
11653 we wait on bug #317802 to be solved in a well-distributed GLib.
11655 * gst/gstelement.c (gst_element_change_state_func): Renamed from
11656 gst_element_change_state, variable name changes.
11657 (gst_element_change_state): Split out of gst_element_set_state in
11658 preparation for the state change merge. Doesn't pay attention to
11659 the 'transition' argument.
11660 (gst_element_set_state): Updates, hopefully purely cosmetic.
11661 (gst_element_sync_state_with_parent): MT-safety. Ported from the
11662 state change patch.
11663 (gst_element_get_state_func): Renamed from get_state, cosmetic
11666 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
11668 * gst/elements/gstelements.c:
11669 * win32/GStreamer.vcproj:
11671 * win32/dirent.c: (_tseekdir):
11672 * win32/gst-inspect.vcproj:
11673 * win32/gst-launch.vcproj:
11674 * win32/gstconfig.h:
11675 * win32/gstelements.vcproj:
11676 * win32/gstenumtypes.c: (gst_object_flags_get_type):
11677 * win32/gstreamer.def:
11678 * win32/msvc71.sln:
11679 updates for the win32 build (patch from Sebastien Moutte)
11681 2005-10-10 Andy Wingo <wingo@pobox.com>
11683 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
11684 gst_bin_get_state, cleaned up (but no logic changes).
11685 (bin_element_is_sink): Comment updates.
11686 (sink_iterator_filter): Remove needless cast.
11687 (gst_bin_iterate_sinks): Doc update.
11688 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
11689 cleaned up (but no logic changes).
11691 * check/states/sinks.c (test_src_sink): Cleanups from the state
11693 (test_livesrc_sink): Sync on the state.
11695 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
11696 the state change patch.
11698 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
11701 * check/gst/gstbin.c: Merge in some style fixes and additional
11702 checks from Wim's state change patch.
11704 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
11706 * gst/base/gsttypefindhelper.c: (helper_find_peek),
11707 (gst_type_find_helper):
11708 Check whether we have the requested data already in our list of
11709 cached buffers before pulling a new buffer; also make the buffer
11710 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
11712 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
11717 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11718 don't use long long, it's not portable. Replacing with
11719 gint64 seems to work; let's hope no skeletons fall out of the closet.
11721 2005-10-10 Andy Wingo <wingo@pobox.com>
11723 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
11725 2005-10-09 Stefan Kost <ensonic@users.sf.net>
11727 * docs/gst/gstreamer-sections.txt:
11732 * gst/gstmessage.c: (gst_message_parse_state_changed):
11735 more docs, fix compilation
11737 2005-10-09 Philippe Khalaf <burger@speedy.org>
11738 * gst/gstmessage.c:
11739 Fixed a few forgotten variables on previous commit
11741 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
11743 * gst/base/gsttypefindhelper.c: (helper_find_peek):
11744 Fix evil typefind crasher: getrange() might return a short
11745 buffer at the end of a file, but gst_type_find_peek() must
11746 either return the full data as requested or NULL, but
11747 never a short buffer.
11749 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
11751 * gst/gstmessage.c: (gst_message_new_state_changed),
11752 (gst_message_parse_state_changed):
11753 * gst/gstmessage.h:
11754 don't use "new", it's a C++ keyword
11756 2005-10-08 Wim Taymans <wim@fluendo.com>
11758 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
11759 * gst/gstelement.c: (gst_element_post_message):
11760 * gst/gstpipeline.c: (gst_pipeline_change_state):
11761 Small docs and debug updates.
11763 2005-10-08 Stefan Kost <ensonic@users.sf.net>
11765 * docs/gst/gstreamer-sections.txt:
11766 * gst/gstelementfactory.c:
11768 * gst/gsttaglist.c:
11771 2005-10-08 Wim Taymans <wim@fluendo.com>
11773 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
11774 (gst_bin_dispose), (bin_bus_handler):
11775 Fix typos, add comments.
11776 Clear EOS list when going to PAUSED from any direction and do it
11777 in a threadsafe way.
11778 Get base time in a threadsafe way too.
11779 Fix confusing debug in the change_state function.
11780 Various other small cleanups.
11782 * gst/gstelement.c: (gst_element_post_message):
11783 Fix very verbose bus posting code.
11785 * gst/gstpipeline.c: (gst_pipeline_class_init),
11786 (gst_pipeline_set_property), (gst_pipeline_get_property),
11787 (gst_pipeline_change_state):
11788 Small ARG_ -> PROP_ cleanup
11790 2005-10-08 Wim Taymans <wim@fluendo.com>
11792 * gst/gstbin.c: (is_eos), (bin_bus_handler):
11793 Do a less CPU demanding EOS check because we can.
11795 2005-10-08 Wim Taymans <wim@fluendo.com>
11797 * libs/gst/dataprotocol/dataprotocol.c:
11798 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11799 (gst_dp_packet_from_event):
11800 * libs/gst/dataprotocol/dataprotocol.h:
11801 * libs/gst/dataprotocol/dp-private.h:
11802 It's about time we bump the version number.
11803 Since event types don't fit in the guint8 anymore describing
11804 the payload type, make payload type 16 bits wide.
11806 2005-10-08 Wim Taymans <wim@fluendo.com>
11808 * docs/design/part-TODO.txt:
11809 * docs/design/part-clocks.txt:
11810 * docs/design/part-events.txt:
11811 * docs/design/part-gstbin.txt:
11812 * docs/design/part-gstelement.txt:
11813 * docs/design/part-gstpipeline.txt:
11814 * docs/design/part-live-source.txt:
11815 * docs/design/part-messages.txt:
11816 * docs/design/part-overview.txt:
11817 * docs/design/part-states.txt:
11820 2005-10-08 Wim Taymans <wim@fluendo.com>
11824 Fix event quark registration.
11825 Add some space between events so we can insert them in the
11828 2005-10-08 Wim Taymans <wim@fluendo.com>
11830 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11831 (gst_base_sink_handle_buffer):
11832 Better log message.
11835 * gst/gstelement.h:
11838 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11839 (gst_queue_set_property), (gst_queue_get_property):
11841 Remove old unused properties.
11843 2005-10-08 Stefan Kost <ensonic@users.sf.net>
11844 * docs/gst/gstreamer-sections.txt:
11845 * gst/gstmessage.c:
11846 * gst/gstmessage.h:
11847 * gst/gstminiobject.c:
11848 * gst/gstminiobject.h:
11852 lots of new docs and doc fixes
11854 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
11856 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
11858 * gst/gstregistry.c: (gst_registry_lookup_locked),
11859 (gst_registry_scan_path_level):
11860 * gst/gstregistryxml.c: (load_plugin):
11861 Only ever load one plugin for a given plugin basename.
11862 This ensures correct overriding of GST_PLUGIN_PATH over
11863 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
11864 system installed plugins.
11866 2005-10-08 Wim Taymans <wim@fluendo.com>
11868 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11869 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
11870 Prepare for doing QOS.
11872 2005-10-08 Wim Taymans <wim@fluendo.com>
11874 * check/gst/gstbin.c: (GST_START_TEST):
11875 * check/pipelines/cleanup.c: (GST_START_TEST):
11876 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11877 Allow new clock message too.
11879 2005-10-08 Wim Taymans <wim@fluendo.com>
11881 * gst/gstmessage.c: (gst_message_new_error),
11882 (gst_message_new_warning), (gst_message_new_tag),
11883 (gst_message_new_state_changed), (gst_message_new_clock_provide),
11884 (gst_message_new_clock_lost), (gst_message_new_new_clock),
11885 (gst_message_new_segment_start), (gst_message_new_segment_done),
11886 (gst_message_parse_state_changed),
11887 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
11888 (gst_message_parse_new_clock):
11889 * gst/gstmessage.h:
11890 Also carry the clock in question.
11892 2005-10-08 Wim Taymans <wim@fluendo.com>
11894 * gst/gstmessage.c: (gst_message_new_custom),
11895 (gst_message_new_eos), (gst_message_new_error),
11896 (gst_message_new_warning), (gst_message_new_tag),
11897 (gst_message_new_state_changed), (gst_message_new_clock_provide),
11898 (gst_message_new_new_clock), (gst_message_new_segment_start),
11899 (gst_message_new_segment_done), (gst_message_parse_state_changed),
11900 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
11901 * gst/gstmessage.h:
11903 Added clock related messages.
11905 * gst/gstpipeline.c: (gst_pipeline_change_state):
11906 Post message when the clock changed.
11908 * tools/gst-launch.c: (event_loop):
11911 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
11913 * tools/gst-inspect.c: (print_element_properties_info):
11914 Can't pass NULL strings to g_print() on windows.
11916 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
11918 * docs/Makefile.am:
11919 * docs/gst/Makefile.am:
11920 * docs/gst/gstreamer-docs.sgml:
11921 * docs/gst/running.xml:
11922 * docs/version.entities.in:
11923 add a chapter on running GStreamer.
11924 document GST_DEBUG and GST_PLUGIN* env vars
11926 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
11931 remove PLUGINS_BUILDDIR stuff
11932 * gst/gst.c: (init_post):
11933 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
11935 remove, it was condescending and not needed
11937 2005-10-08 Wim Taymans <wim@fluendo.com>
11939 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
11940 (gst_base_sink_handle_object), (gst_base_sink_event),
11941 (gst_base_sink_wait), (gst_base_sink_handle_event),
11942 (gst_base_sink_change_state):
11943 * gst/base/gstbasesink.h:
11944 Repost EOS message while going to PLAYING if still EOS.
11945 Make sure that when receiving a FLUSH_START we don't attempt
11946 to sync on the clock anymore.
11948 2005-10-08 Wim Taymans <wim@fluendo.com>
11950 * tools/gst-launch.c: (event_loop):
11951 Better message printout.
11953 2005-10-08 Wim Taymans <wim@fluendo.com>
11955 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
11956 (gst_bin_child_proxy_get_children_count):
11957 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11958 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
11959 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
11960 (gst_child_proxy_set_valist):
11961 * gst/parse/grammar.y:
11962 Make ChildProxy threadsafe and fix mem leaks.
11964 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
11966 * gst/gst.c: (init_post):
11967 debug the GST_PLUGIN_ env vars
11969 2005-10-08 Wim Taymans <wim@fluendo.com>
11971 * check/gst/gstbin.c: (GST_START_TEST):
11972 * check/gst/gstmessage.c: (GST_START_TEST):
11973 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
11974 * gst/gstelement.c: (gst_element_commit_state),
11975 (gst_element_lost_state):
11976 * gst/gstmessage.c: (gst_message_new_state_changed),
11977 (gst_message_parse_state_changed):
11978 * gst/gstmessage.h:
11979 * tools/gst-launch.c: (event_loop):
11980 Added extra field to STATE_CHANGE message with the pending
11981 state, which will be different from the new state soon.
11983 2005-10-08 Wim Taymans <wim@fluendo.com>
11985 * gst/gstbus.c: (gst_bus_pop):
11987 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11988 Small cleanups and doc updates.
11990 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
11992 * gst/gst.c: (init_pre):
11993 * gst/gstbin.c: (gst_bin_add_func):
11994 log distributing clocks and base time
11995 * gst/gstregistry.c: (gst_registry_add_plugin),
11996 (gst_registry_scan_path_level), (gst_registry_scan_path):
11997 clean up the debugging output a little
11998 * gst/gstutils.c: (gst_element_state_get_name):
11999 warn about a memleak (I've actually seen this be used, though
12000 it was probably a bug)
12002 2005-10-07 Wim Taymans <wim@fluendo.com>
12004 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12005 (gst_base_src_init), (gst_base_src_default_newsegment),
12006 (gst_base_src_newsegment), (gst_base_src_do_seek),
12007 (gst_base_src_loop), (gst_base_src_start):
12008 * gst/base/gstbasesrc.h:
12009 Make the newsegment event customizable by subclasses.
12011 2005-10-07 Wim Taymans <wim@fluendo.com>
12013 * gst/gstevent.c: (gst_event_new_buffersize),
12014 (gst_event_parse_buffersize):
12016 New event for future idea.
12018 2005-10-07 Andy Wingo <wingo@pobox.com>
12020 * gst/gstelement.c (gst_element_post_message): Doc update.
12022 * docs/gst/gstreamer-sections.txt: Update.
12024 * gst/gstmessage.c (gst_message_new_application): Made into a
12025 function like honest API calls.
12026 (gst_message_new_element): New message type.
12028 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
12030 * check/elements/fakesrc.c (test_no_preroll): New check, checks
12031 that setting a live fakesrc to PAUSED returns NO_PREROLL both
12034 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
12035 NO_PREROLL from gst_element_change_state to fall through.
12037 2005-10-07 Wim Taymans <wim@fluendo.com>
12039 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
12040 (gst_ghost_pad_do_activate_push):
12041 Activating a ghostpad with no internal pad in push mode
12044 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
12047 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
12048 Fixes compilation on Windows.
12050 2005-10-07 Michael Smith <msmith@fluendo.com>
12052 * tools/gst-inspect.c:
12053 Print out feature and plugin count at the end when printing out
12056 2005-10-04 Michael Smith <msmith@fluendo.com>
12058 * gst/gsterror.c: (_gst_stream_errors_init):
12059 Add another error string used in a few existing plugins.
12062 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12063 * tools/gst-inspect.c: (print_element_info):
12064 When a feature disappears from a plugin (and the feature exists in
12065 the cached registry file), things went horribly wrong. This isn't a
12066 complete fix, we should actually be removing the 'missing' features
12067 from the features list when we load the actual plugin. That's not
12070 2005-10-04 Johan Dahlin <johan@gnome.org>
12072 * check/gst/gstiterator.c: (GST_START_TEST):
12073 * gst/gstbin.c: (gst_bin_iterate_elements),
12074 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
12075 * gst/gstelement.c: (gst_element_iterate_pads):
12076 * gst/gstformat.c: (gst_format_iterate_definitions):
12077 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12078 (gst_iterator_new_list), (gst_iterator_filter):
12079 * gst/gstiterator.h:
12080 * gst/gstquery.c: (gst_query_type_iterate_definitions):
12081 Add a GType to GstIterator, update callsites and tests.
12083 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
12085 * gst/gstpad.c: (gst_pad_event_default_dispatch):
12086 give events a chance to be handled by event probes when the pad
12089 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
12091 * gst/gstevent.c: (gst_event_type_get_name),
12092 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
12094 add string representations for event types
12096 2005-10-06 Wim Taymans <wim@fluendo.com>
12098 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
12099 Don't use NULL pointers.
12101 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
12103 * gst/gst_private.h:
12105 * gst/gstelement.c:
12107 * gst/gstpluginfeature.c:
12108 widen the debug category in output to fit the biggest one we have
12109 add a bus category and use it
12110 play with the colors
12111 fix up some categories
12113 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
12115 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
12116 add push activation of sink ghost pads.
12117 Andye, please verify
12119 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
12121 * gst/gstutils.c: (gst_element_link_pads):
12122 fix a bug in the case where neither element has a pad
12123 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12124 add a test for that case
12126 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
12128 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
12129 emit have-data before checking for peers. This allows
12130 for probe handlers to connect elements. This helps autopluggers.
12131 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
12133 add six checks, linked/unlinked with no/true/false probe
12135 2005-10-04 Wim Taymans <wim@fluendo.com>
12137 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
12138 (gst_fake_sink_event), (gst_fake_sink_preroll),
12139 (gst_fake_sink_render), (gst_fake_sink_change_state):
12140 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
12141 (gst_fake_src_get_property), (gst_fake_src_create),
12142 (gst_fake_src_stop):
12143 * gst/elements/gstidentity.c: (gst_identity_stop):
12144 Protect last_message with lock.
12146 2005-10-04 Edward Hervey <edward@fluendo.com>
12149 Added precision in the comments for GST_FORMAT_DEFAULT
12151 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
12153 * tools/gst-launch.c: (main):
12154 Don't try to run erroneous pipelines.
12156 2005-10-04 Julien MOUTTE <julien@moutte.net>
12158 * gst/gstbus.c: We don't need this header.
12160 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
12163 back to development
12165 === release 0.9.3 ===
12167 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
12171 Releasing 0.9.3, "Unregistered"
12173 2005-10-03 Andy Wingo <wingo@pobox.com>
12175 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
12176 whereby calling a pad's activatepush() function can start a thread
12177 that starts to push or pull before the pad gets the FLUSHING flag
12178 unset. Hack around it by holding the stream lock until the flag is
12179 set. Need to replace this with a proper solution. Together with
12180 the ghost pad fixes, this fixes mp3 playing/tagreading.
12182 * docs/design/part-gstghostpad.txt: Add a note about activation of
12183 proxy pads outside of ghost pads.
12185 * gst/gstghostpad.c: Implement the ghost pad activation design.
12187 2005-10-02 Andy Wingo <wingo@pobox.com>
12189 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
12190 It is volatile, after all.
12192 * docs/design/part-gstghostpad.txt: Flesh out activation with
12195 * gst/base/gstbasesrc.c (gst_base_src_init): Use
12198 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
12201 Fix (unused) AM_CONDITIONAL tests.
12203 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
12205 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
12207 * gst/gstutils.c: (gst_pad_query_convert):
12208 Add assertion that makes sure src_val is >=0, just like
12209 gst_query_new_convert() has. (#315895)
12211 2005-09-30 Edward Hervey <edward@fluendo.com>
12213 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
12214 Let's not iterate pads we're not interested in, it avoids getting
12215 sky-high refcounts on sinkpad.
12217 2005-09-30 Wim Taymans <wim@fluendo.com>
12219 * gst/gstelement.c: (gst_element_set_state),
12220 (gst_element_change_state):
12221 Small tweak, element in ASYNC remains ASYNC.
12223 2005-09-30 Wim Taymans <wim@fluendo.com>
12225 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12226 Only error is an error.
12228 * gst/gstbin.c: (gst_bin_change_state):
12231 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
12232 Also call pad_block in pad alloc.
12234 * gst/gstutils.c: (gst_flow_get_name):
12237 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
12239 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12240 (gst_base_src_get_range):
12241 Fix documentation typos. Add some more debug info.
12243 2005-09-29 David Schleef <ds@schleef.org>
12245 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
12246 more end-user friendly.
12247 * tools/gst-inspect.c: (main): Check if command-line argument is
12248 a file and attempt to load that file as a plugin.
12250 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
12252 * check/gst/gstbin.c:
12253 * check/states/sinks.c:
12254 fix tests for the new warning
12255 * check/gst/gstpipeline.c:
12256 add a test for pipeline and bus interaction
12257 * gst/gstelement.c:
12258 elements should be NULL if they get disposed; add a warning if not
12260 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
12263 for 2.6 refcounting, make debug log more correct by printing
12264 the actual refcounts at the time of swap (Wim)
12266 2005-09-29 Andy Wingo <wingo@pobox.com>
12268 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
12269 removes signal watches previously added via
12270 gst_bus_add_signal_watch.
12271 (gst_bus_add_signal_watch): Don't return the source id, just store
12272 it on the bus if there wasn't an id already.
12274 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
12275 add_signal_watch and remove_signal_watch.
12277 2005-09-29 Edward Hervey <edward@fluendo.com>
12279 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
12280 Better if we actually iterate the list :)
12282 2005-09-29 Wim Taymans <wim@fluendo.com>
12284 * check/gst/gstbin.c: (GST_START_TEST):
12285 Change for new bus API.
12287 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12288 (send_messages), (GST_START_TEST), (gstbus_suite):
12289 Change for new bus signal API.
12291 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
12292 (gst_bus_source_prepare), (gst_bus_source_check),
12293 (gst_bus_create_watch), (gst_bus_add_watch_full),
12294 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
12295 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
12297 Remove support for multiple GSources operating on different
12298 message types as it is too complex and unneeded when using
12300 Added support for receiving signals from the bus.
12302 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
12304 * docs/libs/tmpl/gstdataprotocol.sgml:
12305 * docs/manual/advanced-dataaccess.xml:
12306 * gst/elements/gstcapsfilter.c:
12308 rename filter-caps to caps property
12310 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
12312 * gst/gstvalue.c: (gst_value_deserialize_fraction):
12313 More robust fraction string parsing.
12315 * docs/pwg/appendix-porting.xml:
12316 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
12318 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
12320 * gst/gstcaps.c: (gst_caps_do_simplify):
12321 Thou shalt not free a structure and then continue using it
12322 in the next loop iteration.
12324 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
12326 Add test case for caps simplification.
12328 2005-09-29 Wim Taymans <wim@fluendo.com>
12330 * check/gst/gstbin.c: (GST_START_TEST):
12333 2005-09-29 Wim Taymans <wim@fluendo.com>
12335 * check/gst/gstbin.c: (GST_START_TEST):
12338 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
12339 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12340 (find_element), (gst_bin_sort_iterator_next),
12341 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12342 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12343 (gst_bin_change_state), (gst_bin_dispose):
12344 A bin does not have a bus, it gets the bus from the parent.
12346 * gst/gstelement.c: (gst_element_requires_clock),
12347 (gst_element_provides_clock), (gst_element_is_indexable),
12348 (gst_element_is_locked_state), (gst_element_change_state),
12349 (gst_element_set_bus_func):
12352 * gst/gstpipeline.c: (gst_pipeline_class_init),
12353 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
12354 The pipeline provides a bus.
12356 2005-09-28 Johan Dahlin <johan@gnome.org>
12358 * gst/gstmessage.c (gst_message_parse_state_changed): Use
12359 gst_structure_get_enum instead of gst_structure_get_int
12361 * gst/gststructure.c (gst_structure_get_enum): Impl.
12363 * gst/gststructure.h (gst_structure_get_enum): Add
12365 * docs/gst/gstreamer-sections.txt: Ditto
12367 * gst/gstmessage.c (gst_message_new_state_changed): Use
12368 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
12369 which does introspection.
12370 Reviewed by Christian Schaller
12372 2005-09-28 Stefan Kost <ensonic@users.sf.net>
12374 * gst/gstinfo.c: (gst_debug_log_default):
12375 don't do dummy g_strdup()s
12376 * libs/gst/controller/gstcontroller.c:
12377 (on_object_controlled_property_changed),
12378 (gst_controlled_property_new), (gst_controller_new_valist),
12379 (gst_controller_new_list),
12380 (gst_controller_remove_properties_valist), (gst_controller_set),
12381 (gst_controller_get), (gst_controller_sync_values),
12382 (gst_controller_get_value_array), (_gst_controller_class_init),
12383 (gst_controller_get_type):
12384 * libs/gst/controller/gstcontroller.h:
12385 * libs/gst/controller/gstinterpolation.c:
12386 (gst_controlled_property_find_timed_value_node):
12387 convert // to /**/ comments
12389 2005-09-28 Wim Taymans <wim@fluendo.com>
12391 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
12392 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
12393 (gst_bus_sync_signal_handler):
12395 Added async-message and sync-message signals to the bus.
12396 Added helper BusFunc to emit signals for all posted messages.
12398 * gst/gstmessage.c: (gst_message_type_get_name),
12399 (gst_message_type_to_quark), (gst_message_get_type):
12400 * gst/gstmessage.h:
12401 Register quarks for message names.
12403 2005-09-28 Stefan Kost <ensonic@users.sf.net>
12405 * docs/libs/gstreamer-libs-sections.txt:
12406 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12407 (gst_controller_new_list):
12408 * libs/gst/controller/gstcontroller.h:
12409 added another constructor for language bindings
12411 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
12413 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12417 * gst/gstinfo.c: (_gst_debug_init):
12418 slightly more readable color for refcount debugging
12420 2005-09-28 Wim Taymans <wim@fluendo.com>
12422 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12423 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12424 (find_element), (gst_bin_sort_iterator_next),
12425 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12426 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12427 (gst_bin_change_state), (gst_bin_dispose):
12428 Small doc fixes. get_clock -> provide_clock.
12430 * gst/gstelement.c: (gst_element_class_init),
12431 (gst_element_provides_clock), (gst_element_provide_clock),
12432 (gst_element_get_clock), (gst_element_commit_state),
12433 (gst_element_lost_state):
12434 * gst/gstelement.h:
12435 Make get/set_clock() symetric. Add provide_clock vmethod since
12436 that is actually what this function does.
12438 * gst/gstpipeline.c: (gst_pipeline_class_init),
12439 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
12440 (gst_pipeline_get_clock):
12441 get_clock -> provide_clock.
12443 2005-09-28 Andy Wingo <wingo@pobox.com>
12445 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
12446 lieu of real docs...
12448 * gst/elements/gstfdsrc.c: Cleaned up a bit.
12450 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
12452 * gst/elements/gstcapsfilter.c:
12453 * gst/elements/gstfakesink.c:
12454 * gst/elements/gstfakesrc.c:
12455 * gst/elements/gstfdsink.c:
12456 * gst/elements/gstfdsrc.c:
12457 * gst/elements/gstfilesink.c:
12458 * gst/elements/gstfilesrc.c:
12459 * gst/elements/gstidentity.c:
12460 * gst/elements/gsttee.c:
12461 * gst/elements/gsttypefindelement.c:
12462 Make element details static.
12464 2005-09-28 Wim Taymans <wim@fluendo.com>
12466 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12467 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12468 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12469 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12470 (gst_bin_change_state), (gst_bin_dispose):
12471 Some documentation updates.
12472 Clean up dispose handlers.
12474 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
12475 * gst/gstpad.c: (gst_pad_dispose):
12476 Clean up dispose handler.
12478 * gst/gstpipeline.c: (gst_pipeline_change_state):
12479 Removed spurious UNLOCK.
12481 2005-09-27 Stefan Kost <ensonic@users.sf.net>
12483 * docs/gst/gstreamer-sections.txt:
12484 * gst/base/gstbasesrc.h:
12485 * gst/gstelement.h:
12489 * gst/gstpipeline.c:
12490 * gst/gstpipeline.h:
12493 added two new functions to the docs
12494 documents all undocumented GstXXXFlags
12495 completed some incomplete docs
12497 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
12499 * gst/gstbin.c: (gst_bin_dispose):
12500 * gst/gstelement.c: (gst_element_dispose):
12501 remove now useless and leaky resurrection code in dispose
12502 * gst/base/gstbasesrc.c: (gst_base_src_init):
12503 * gst/gstelementfactory.c: (gst_element_factory_create):
12504 * gst/gstobject.c: (gst_object_set_parent):
12507 2005-09-27 Wim Taymans <wim@fluendo.com>
12509 * docs/design/part-TODO.txt:
12512 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12513 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12514 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12515 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12516 (gst_bin_change_state):
12517 * gst/gstelement.h:
12518 Remove element variable, we keep element info in the iterator now.
12520 2005-09-27 Andy Wingo <wingo@pobox.com>
12522 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
12525 2005-09-27 Wim Taymans <wim@fluendo.com>
12527 * check/gst/gstbin.c: (GST_START_TEST):
12528 Enable check that works now.
12530 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12531 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12532 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12533 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12534 (gst_bin_change_state):
12536 Redid the state change algorithm using a topological sort algo.
12537 Handles all cases correctly.
12538 Exposed iterator for state change order.
12540 * gst/gstelement.h:
12541 Temp storage for state changes. Need to get rid of this soon.
12543 2005-09-27 Wim Taymans <wim@fluendo.com>
12545 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
12546 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
12547 (link_fold_func), (gst_pad_proxy_setcaps):
12548 Leak fixes, the fold functions need to unref the passed object and
12549 _get_parent_*() returns ref to parent.
12551 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
12553 * check/gst/gstbuffer.c: (test_make_writable):
12554 Plug leak in test case and fix 'make check-valgrind'
12556 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
12558 * gst/gstbuffer.c: (gst_subbuffer_init):
12559 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
12560 works correctly in all circumstances (we could have just copied
12561 the parent buffer's readonly flag, but conceptually it seems
12562 cleaner to mark all subbuffers as read-only). (based on patch
12563 by Alessandro Decina, #314710).
12565 * check/gst/gstbuffer.c: (create_read_only_buffer),
12566 (test_make_writable), (test_subbuffer_make_writable),
12568 Add some tests for gst_buffer_make_writable().
12570 2005-09-27 Wim Taymans <wim@fluendo.com>
12572 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
12573 use gst_object_has_ancestor().
12575 * gst/gstobject.c: (gst_object_has_ancestor):
12577 gst_object_has_ancestor() copied from gstbin.c as it is a
12580 * tests/instantiate/create.c: (create_all_elements):
12581 * tests/lat.c: (handoff_src), (handoff_sink):
12582 * tests/sched/runxml.c: (main):
12583 * tests/seeking/seeking1.c: (main):
12584 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12586 Fix compilation of some tests.
12588 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
12591 Remove comment. GST_TYPE_G_ERROR is here to stay,
12592 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
12593 (#316961, #300610).
12595 2005-09-26 Wim Taymans <wim@fluendo.com>
12597 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12598 Added check that shows error in state change order.
12600 2005-09-26 Wim Taymans <wim@fluendo.com>
12602 * gst/gstbin.c: (gst_bin_change_state):
12603 Make state change function use 3 queues again, we were
12604 adding elements in the wrong order.
12606 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12609 * gst/gstpad.c: (gst_pad_dispose):
12610 Added some debug info first.
12612 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
12614 * docs/design/draft-push-pull.txt:
12615 * docs/design/part-events.txt:
12616 * docs/design/part-overview.txt:
12617 * docs/design/part-scheduling.txt:
12618 Replace all _pull_region() with _pull_range()
12620 2005-09-26 Andy Wingo <wingo@pobox.com>
12622 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
12624 * check/gst-libs/controller.c: Update for controller api change.
12627 * tests/Makefile.am:
12628 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
12629 over by GLib bug 118439.
12631 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
12632 routines to a function.
12634 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
12636 * libs/gst/controller/gsthelper.c:
12637 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
12638 (gst_object_sync_values): Renamed from sink_values. Ugh.
12640 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
12642 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
12643 Renamed from controller_key, as it is exported.
12645 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
12647 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
12652 * gst/gstpadtemplate.h:
12655 * gst/gstqueryutils.c:
12656 * gst/gstqueryutils.h:
12657 remove queryutils headers after moving the two used functions
12658 to gstquery. also fixes build problem for gstsiddec
12660 2005-09-26 Michael Smith <msmith@fluendo.com>
12662 * tools/gst-launch.1.in:
12663 Correct documentation in manpage of debug syntax
12665 2005-09-26 Wim Taymans <wim@fluendo.com>
12667 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12668 (gst_base_src_is_seekable), (gst_base_src_change_state):
12669 Some more debugging info.
12671 2005-09-25 Stefan Kost <ensonic@users.sf.net>
12673 * docs/gst/gstreamer-sections.txt:
12674 * gst/base/gstbasetransform.h:
12678 2005-09-25 Stefan Kost <ensonic@users.sf.net>
12680 * docs/gst/.cvsignore:
12681 * docs/gst/tmpl/.cvsignore:
12682 * docs/gst/tmpl/gstpipeline.sgml:
12683 * docs/gst/tmpl/gstplugin.sgml:
12684 * gst/gstpipeline.c:
12687 inlined the last two docs files
12688 removed the tmpl directory from cvs (no more conflicts here!)
12690 2005-09-25 Stefan Kost <ensonic@users.sf.net>
12692 * docs/gst/gstreamer-sections.txt:
12693 * docs/gst/tmpl/.cvsignore:
12694 * docs/gst/tmpl/gstpad.sgml:
12695 * docs/gst/tmpl/gstpadtemplate.sgml:
12697 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12698 (gst_pad_finalize), (gst_pad_set_pad_template):
12700 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12701 (gst_pad_template_class_init), (gst_pad_template_init),
12702 (gst_pad_template_dispose), (name_is_valid),
12703 (gst_static_pad_template_get), (gst_pad_template_new),
12704 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
12705 (gst_pad_template_pad_created):
12706 * gst/gstpadtemplate.h:
12707 inlined two more docs
12708 factored gstpadtemplate out of gstpad
12710 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
12712 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12713 (test_children_state_change_order_semi_sink):
12714 Fix test case: we can't rely on a fixed state change order when
12715 going from READY => PAUSED because the sink might commit its
12716 new state first when the first buffer created by the source
12717 reaches the sink before the source has finished its change state.
12718 (Test case still fails at times, see #316856, comment 5 onwards)
12720 2005-09-24 Wim Taymans <wim@fluendo.com>
12722 * docs/design/part-events.txt:
12723 * docs/design/part-gstbus.txt:
12724 * docs/design/part-gstpipeline.txt:
12725 * docs/design/part-messages.txt:
12726 * docs/design/part-overview.txt:
12727 * docs/design/part-segments.txt:
12731 * gst/gstelement.c:
12734 * gst/gstiterator.c:
12735 Various documentation updates.
12737 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
12740 Well, that's embarassing. Luckily we weren't using
12741 GST_CLOCK_DIFF anywhere.
12743 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
12745 * common/gtk-doc.mak:
12746 don't fail on building XML, FC4 slave shows a bunch of doc
12747 missing bits that I don't get
12749 * gst/gstpipeline.c:
12750 * gst/gststructure.c:
12753 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
12755 * docs/design/part-gstbin.txt:
12756 * docs/design/part-gstbus.txt:
12758 Add blurb about how the bus goes into flushing mode and
12759 drops all messages when its bin goes from READY into NULL
12762 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
12764 * docs/gst/gstreamer-sections.txt:
12765 * gst/gststructure.c: (gst_structure_get_clock_time):
12766 * gst/gststructure.h:
12767 add a method to get a GstClockTime out of a structure
12769 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
12771 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12772 (test_children_state_change_order_semi_sink), (gst_bin_suite):
12773 Added test to check state change order in bins (can still be made
12774 to fail here under heavy disk load; bails out with 'Push on pad
12775 fakesink:sink0, but it was not activated in push mode').
12777 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
12778 Fix state change order when there is only a semi sink (#316856)
12780 * gst/gstbus.c: (gst_bus_class_init):
12781 Use _class_peek_parent(), not _class_ref(); fix docs to say
12782 'default main context' instead of 'mainloop' where that is
12785 * gst/gstelement.c: (gst_element_commit_state),
12786 (gst_element_set_state):
12787 Fix typos in debug messages
12789 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
12792 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
12793 * gst/gstpluginfeature.c:
12795 various doc updates
12796 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12797 change an assert into an error until it gets fixed properly
12799 2005-09-23 Stefan Kost <ensonic@users.sf.net>
12801 * docs/gst/gstreamer-sections.txt:
12802 * docs/gst/tmpl/.cvsignore:
12803 * docs/gst/tmpl/gstelement.sgml:
12804 * docs/gst/tmpl/gstinfo.sgml:
12805 * docs/gst/tmpl/gstobject.sgml:
12806 * gst/gstelement.c:
12807 * gst/gstelement.h:
12810 * gst/gstobject.c: (gst_object_class_init):
12812 inlined 3 more biiiig doc files and added some missing docs on the fly
12814 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
12816 * check/gst/.cvsignore:
12817 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
12818 * gst/gstregistryxml.c: (load_plugin),
12819 (gst_registry_xml_save_plugin):
12820 put back source in registry. add checks for find_plugin.
12821 * testsuite/states/bin.c: (assert_state), (empty_bin),
12822 (test_adding_one_element), (main):
12823 * testsuite/states/locked.c: (main):
12824 some compile/run fixes
12826 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
12828 * check/gst/gstvalue.c: (GST_START_TEST):
12829 fix leaks in the test itself
12831 2005-09-22 Wim Taymans <wim@fluendo.com>
12833 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12834 (gst_base_sink_send_event), (gst_base_sink_peer_query),
12835 (gst_base_sink_query):
12836 Prepare for more accurate position reporting and query
12839 * gst/gstelement.c: (gst_element_send_event),
12840 (gst_element_set_state):
12843 2005-09-22 Wim Taymans <wim@fluendo.com>
12845 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
12846 (gst_query_parse_segment):
12848 More documentation.
12849 Add segment query for future use.
12851 2005-09-22 Wim Taymans <wim@fluendo.com>
12853 * gst/gstbin.c: (gst_bin_add_func):
12854 Some more debug info.
12856 * gst/gstelement.c: (gst_element_send_event):
12857 Simplify send_event
12859 * gst/gstelement.h:
12860 Don't know how flags got broken.
12865 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
12867 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
12868 Add simplistic test suite for GST_TYPE_DATE serialisation and
12871 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
12873 * docs/gst/gstreamer-sections.txt:
12874 * gst/gststructure.c: (gst_structure_set_valist),
12875 (gst_structure_get_date):
12876 * gst/gststructure.h:
12877 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
12878 (gst_date_copy), (gst_value_compare_date),
12879 (gst_value_serialize_date), (gst_value_deserialize_date),
12880 (gst_value_transform_date_string),
12881 (gst_value_transform_string_date), (_gst_value_initialize):
12883 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
12884 bunch of utility functions along with a hack that checks that
12885 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
12886 is required. Part of the grand scheme in #170777.
12888 2005-09-22 Andy Wingo <wingo@pobox.com>
12890 * gst/gstconfig.h.in: Psych out gtk-doc.
12892 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
12894 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
12896 * tools/gst-inspect.c (print_element_list): Plug some
12897 inconsequential leaks.
12899 * gst/gstregistry.c (gst_registry_get_default): Doc.
12901 * check/gst/gstplugin.c:
12902 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
12903 * gst/gstelementfactory.c (gst_element_factory_create):
12904 * gst/gstindexfactory.c (gst_index_factory_create): Update for
12907 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
12908 (gst_plugin_feature_load): Doc, don't eat refs.
12910 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
12911 (gst_plugin_list_free): Doc.
12912 (gst_plugin_load_file): Doc updates.
12914 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
12915 accessors returning refcounted objects, return a ref.
12917 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
12918 accessor for caps. IDEMPOTENCE. Oh yes.
12920 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
12922 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
12924 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
12925 (_gst_debug_register_funcptr):
12926 Add mutex to serialise access to the hash table with
12927 the function pointer => function name string mapping;
12928 make that hash table static scope (#316809).
12930 * gst/registries/.cvsignore:
12931 Remove left-over file.
12933 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
12935 * docs/pwg/appendix-porting.xml:
12936 And something about newsegment events and caps-on-buffers to
12937 the porting guide (feel free to improve).
12939 2005-09-21 Andy Wingo <wingo@pobox.com>
12941 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
12942 data and event probes on the same pad.
12943 (test_buffer_probe_once): Test that removing probes from within
12944 the probe functions works.
12946 2005-09-21 Andy Wingo <wingo@pobox.com>
12948 * check/gst/gstutils.c: New file.
12949 (test_buffer_probe_n_times): A simple buffer probe test. More to
12952 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
12953 have-data::buffer, not have-data.
12954 (gst_pad_add_event_probe): Likewise for have-data::event.
12955 (gst_pad_add_data_probe): More docs. The part about 'resolving the
12956 peer' isn't quite right yet though.
12957 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
12958 (gst_pad_remove_data_probe): Change to take the guint handler_id
12959 as their arg, not the function+data, which is more glib-like.
12961 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
12962 the signal emission to indicate if the data is a buffer or an
12964 (gst_pad_get_type): Initialize buffer and event quarks.
12965 (gst_pad_class_init): have-data is now a detailed signal, yes it
12968 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
12970 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12971 * gst/gstutils.c: (gst_util_set_value_from_string),
12972 (gst_util_set_object_arg):
12973 Don't put functional code in g_return_if_fail() or
12974 g_return_val_if_fail() statements, otherwise things will
12975 break when G_DISABLE_CHECKS is defined during compilation.
12977 2005-09-21 Stefan Kost <ensonic@users.sf.net>
12979 * docs/gst/tmpl/.cvsignore:
12980 * docs/gst/tmpl/gstvalue.sgml:
12983 inlied another one and added some obvious docs
12985 2005-09-21 Wim Taymans <wim@fluendo.com>
12987 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12988 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
12989 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
12990 (gst_fdsrc_get_property), (gst_fdsrc_create):
12991 * gst/elements/gstfdsrc.h:
12992 Properly implement fdsrc. Removed signal and timeout,
12993 better implemented somewhere else.
12995 2005-09-21 Stefan Kost <ensonic@users.sf.net>
12997 * docs/gst/tmpl/.cvsignore:
12998 * docs/gst/tmpl/gstimplementsinterface.sgml:
12999 * gst/gstinterface.c:
13002 2005-09-21 Stefan Kost <ensonic@users.sf.net>
13004 * docs/gst/gstreamer-sections.txt:
13005 * docs/gst/tmpl/.cvsignore:
13006 * docs/gst/tmpl/gstenumtypes.sgml:
13007 remove obsolete doc file
13009 2005-09-21 David Schleef <ds@schleef.org>
13011 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
13012 little beer, fix a little leak.
13014 2005-09-21 Stefan Kost <ensonic@users.sf.net>
13016 * docs/gst/gstreamer-docs.sgml:
13017 * docs/gst/gstreamer-sections.txt:
13018 * docs/gst/tmpl/.cvsignore:
13022 * gst/gstelement.h:
13023 * gst/gstindex.c: (gst_index_class_init):
13025 * gst/gstindexfactory.c: (gst_index_factory_get_type),
13026 (gst_index_factory_class_init), (gst_index_factory_init),
13027 (gst_index_factory_finalize), (gst_index_factory_new),
13028 (gst_index_factory_destroy), (gst_index_factory_find),
13029 (gst_index_factory_create), (gst_index_factory_make):
13030 * gst/gstindexfactory.h:
13031 * gst/gstpluginfeature.c:
13032 * gst/gstpluginfeature.h:
13033 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13034 more docs inlined, splitted gstindex.{c,h}
13036 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
13038 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13041 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
13043 * gst/elements/gstfilesink.c: (gst_file_sink_init):
13044 Set sync to FALSE by default.
13046 2005-09-20 Wim Taymans <wim@fluendo.com>
13048 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13049 (gst_base_sink_init):
13050 Make sync property settable from subclass.
13052 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13053 (gst_fake_sink_change_state):
13054 Set sync to FALSE by default.
13056 2005-09-20 Wim Taymans <wim@fluendo.com>
13058 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
13059 * tools/gst-launch.c: (main):
13060 The timeout handler should have lower priority than the source
13061 so we don't timeout before popping a message with 0 timeout.
13062 Dump error messages after failed state change.
13064 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
13066 * tools/gst-inspect.c: (print_element_properties_info):
13069 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
13071 * check/gst/gstevent.c:
13072 * gst/elements/gstfakesink.c:
13073 * gst/elements/gstfakesink.h:
13074 remove the sync property from fakesink.
13075 has the side effect of setting sync TRUE
13076 for fakesink, which is a change. Anyone who knows how
13077 to fix this nicely in a GObject-y way, feel free.
13079 2005-09-20 Stefan Kost <ensonic@users.sf.net>
13081 * docs/gst/gstreamer-docs.sgml:
13082 remove probe refsection
13084 2005-09-20 Stefan Kost <ensonic@users.sf.net>
13086 * check/Makefile.am:
13087 disable valgrinding the controller test again
13088 * docs/gst/gstreamer-sections.txt:
13089 update for api-changes
13091 2005-09-20 Wim Taymans <wim@fluendo.com>
13093 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13094 (gst_base_sink_set_property), (gst_base_sink_get_property),
13095 (gst_base_sink_do_sync):
13096 * gst/base/gstbasesink.h:
13097 Added sync property to basesink to disable clock sync.
13099 2005-09-20 Andy Wingo <wingo@pobox.com>
13101 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
13102 eating the caller's refcount.
13104 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
13105 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
13108 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
13109 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
13110 of GLib 2.8 public, so we can know which refcount to check in
13113 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
13114 (gst_object_init): Only set the gst refcount if we're going ahead
13115 with the refcount hack.
13117 2005-09-20 Stefan Kost <ensonic@users.sf.net>
13119 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13120 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13121 more leaks plumbed, added more debug-logging
13125 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
13127 * gst/gstmessage.c:
13128 remove include of gstmemchunk.h
13130 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
13132 * gst/gstclock.c: (_gst_clock_id_free):
13133 Commit from the Political Party For More Atomic CVS Commits,
13134 so that people don't waste too much of their day fishing
13135 out obvious leaks out of massive commits.
13136 Oh, and fix a pretty damn obvious leak in the memchunk
13139 2005-09-20 Stefan Kost <ensonic@users.sf.net>
13141 * check/Makefile.am:
13142 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13143 plug mem-leak, re-add to valgrindable tests
13145 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
13148 unbreak the build for those who have chronic arthritis
13149 and typing "make check" is just too taxing on the hands
13151 2005-09-20 Andy Wingo <wingo@pobox.com>
13153 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
13154 really want it out, you should fix plugins at the same time.
13156 2005-09-19 Stefan Kost <ensonic@users.sf.net>
13159 * docs/gst/gstreamer-sections.txt:
13161 added missing symbols to api docs
13162 disable ref-count hack if we have glib >= 2.8
13164 2005-09-19 David Schleef <ds@schleef.org>
13166 * docs/gst/Makefile.am: Ignore a few more internal headers
13167 * docs/gst/gstreamer-docs.sgml: Remove old sections
13168 * docs/gst/gstreamer-sections.txt: Remove old sections
13169 * docs/gst/tmpl/gstobject.sgml: update
13170 * docs/gst/tmpl/gstplugin.sgml: update
13171 * docs/gst/tmpl/gstpluginfeature.sgml: update
13172 * docs/random/ds/0.9-suggested-changes: update.
13173 * gst/Makefile.am: remove memchunk and trashstack, since they're
13175 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
13176 * gst/gst.h: don't include some headers
13177 * gst/gstchildproxy.c: add gstmarshal.h
13178 * gst/gstclock.c: Don't use memchunks
13179 * gst/gstminiobject.c: Add some docs
13180 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
13181 * gst/gstobject.h: same
13182 * gst/gstplugin.c: include gstmacros.h
13183 * gst/gstplugin.h: don't include gstmacros.h, since it's private
13184 * gst/gstquery.c: don't use memchunks
13185 * gst/gstregistry.c: rename gst_registry_deinit()
13186 * gst/gstregistry.h: same
13188 2005-09-19 David Schleef <ds@schleef.org>
13190 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
13191 * docs/libs/gstreamer-libs-sections.txt:
13192 * docs/libs/tmpl/gstgetbits.sgml:
13193 * docs/libs/tmpl/gstputbits.sgml:
13195 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
13197 * win32/gstenumtypes.c:
13198 * win32/gstenumtypes.h:
13201 2005-09-19 Wim Taymans <wim@fluendo.com>
13203 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
13204 Automatically PAUSE and RESUME a pipeline when a flushing seek
13207 2005-09-19 Andy Wingo <wingo@pobox.com>
13209 * gst/gstregistry.h: Spacing fixen.
13211 2005-09-19 Wim Taymans <wim@fluendo.com>
13213 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
13214 Handle state change failure more correctly.
13216 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
13218 * check/Makefile.am:
13219 * check/pipelines/cleanup.c: (run_pipeline):
13220 * check/pipelines/simple_launch_lines.c: (run_pipeline),
13222 enable cleanup again after fixing the leak
13224 some more info on docs
13226 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
13228 * check/Makefile.am:
13229 re-enable tests now that leaks are plugged
13231 * check/gst/gstbin.c:
13232 * check/gst/gstpipeline.c:
13233 add some more tests while fixing leaks
13234 * common/check.mak:
13235 make sure binaries are uptodate when valgrinding/gdbing
13237 * gst/gstelementfactory.c:
13238 remove a ref too many, and add a FIXME for when we get
13239 round to disposing of classes
13241 fix the refcounting when loading a plugin from a file and
13242 the code pretends that the pointer is the same even though
13243 of course it can change
13244 * gst/gstpluginfeature.c:
13245 unref plugins marked cached (a bit confusing as a name)
13246 as the docs state should be done
13247 various doc additions to explain refcounting
13248 * gst/gstregistry.c:
13249 * gst/gstregistryxml.c:
13252 2005-09-19 Wim Taymans <wim@fluendo.com>
13254 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13255 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
13256 (send_messages), (GST_START_TEST), (gstbus_suite):
13257 * check/gst/gstpipeline.c: (GST_START_TEST):
13258 * check/pipelines/cleanup.c: (run_pipeline):
13259 * check/pipelines/simple_launch_lines.c: (run_pipeline),
13261 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
13262 (gst_bus_source_check), (gst_bus_source_dispatch),
13263 (gst_bus_create_watch), (gst_bus_add_watch_full),
13264 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
13266 * tools/gst-launch.c: (event_loop):
13267 * tools/gst-md5sum.c: (event_loop):
13268 GstBusHandler -> GstBusFunc, return value has the same meaning as
13269 any other GSource (FALSE == remove source).
13270 _add_watch() and _add_watch_full() now take a MessageType mask to
13271 only handle specific types of messages.
13272 _poll() returns the GstMessage instead of the message type to avoid
13274 _have_pending() takes a MessageType mask now too.
13275 Added testsuite for multiple bus watches.
13276 Fix testsuites and applications for new bus API.
13278 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
13280 * check/Makefile.am:
13281 mark a bunch of the tests as to fix until we fix them
13283 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
13285 * common/check.mak:
13286 use GST_PLUGIN settings for valgrind tests as well, so we're
13287 valgrinding the correct thing
13288 * gst/gst.c: (init_post):
13291 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
13293 * gst/gst.c: (init_post), (gst_deinit):
13294 * gst/gstelementfactory.c: (gst_element_factory_class_init),
13295 (gst_element_factory_finalize), (gst_element_factory_cleanup):
13296 * gst/gstindex.c: (gst_index_factory_class_init),
13297 (gst_index_factory_finalize):
13298 * gst/gstobject.c: (gst_object_dispose):
13299 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
13300 (gst_plugin_load_file), (gst_plugin_desc_free):
13301 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
13302 (gst_plugin_feature_finalize):
13303 * gst/gstregistry.c: (gst_registry_class_init),
13304 (gst_registry_init), (gst_registry_finalize),
13305 (gst_registry_get_default), (gst_registry_deinit):
13306 * gst/gstregistry.h:
13307 * gst/gstregistryxml.c: (load_feature), (load_plugin):
13308 various cleanups and memleak plugging. make valgrind is happy now.
13310 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
13312 * common/check.mak:
13313 add a check-valgrind target
13315 2005-09-18 David Schleef <ds@schleef.org>
13317 * tools/gst-inspect.c: Revert the GOption code.
13319 2005-09-17 David Schleef <ds@schleef.org>
13321 * check/Makefile.am: Fix environment variables.
13322 * check/gst/gstplugin.c: Fix for API changes.
13323 * tools/gst-inspect.c: Fix for API changes.
13324 * tools/gst-xmlinspect.c: Fix for API changes.
13325 * gst/gstelementfactory.c:
13328 * gst/gstpluginfeature.c:
13329 * gst/gstpluginfeature.h:
13330 * gst/gstregistry.c:
13331 * gst/gstregistry.h:
13332 * gst/gstregistryxml.c:
13333 * gst/gsttypefind.c:
13334 * gst/gsttypefindfactory.c:
13335 * gst/indexers/gstfileindex.c:
13336 * gst/indexers/gstmemindex.c:
13337 * gst/schedulers/Makefile.am:
13338 Change registry to keep track of both plugins and features,
13339 removing the feature tracking from plugins themselves.
13341 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
13343 * check/Makefile.am:
13344 * tools/gst-register.1.in:
13345 remove gst-register
13347 2005-09-15 David Schleef <ds@schleef.org>
13349 * check/gst/gstplugin.c:
13350 * gst/gstelementfactory.c:
13352 * gst/gstpluginfeature.c:
13353 * gst/gstregistry.c:
13354 Getting tired of debugging. Disabled all the unreffing of
13355 plugins and features, which fixes the segfaults, but of
13356 course leaks like crazy. At least playbin works.
13358 2005-09-15 David Schleef <ds@schleef.org>
13360 * check/gst/gstplugin.c: (register_check_elements),
13361 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
13363 * gst/elements/gsttypefindelement.c: Fix refcounting.
13364 * gst/gsttypefind.c:
13365 * gst/gsttypefindfactory.c:
13366 * gst/gsttypefindfactory.h:
13368 2005-09-15 David Schleef <ds@schleef.org>
13370 * gst/gstindex.c: get refcounting correct.
13371 * gst/gstregistry.c: Handle the case where a feature/plugin is
13374 2005-09-15 David Schleef <ds@schleef.org>
13376 * check/Makefile.am:
13377 * check/gst/gstplugin.c: Add test
13378 * gst/gstplugin.c: Fix problems noticed by testsuite
13380 * gst/gstregistry.c:
13381 * gst/gstregistry.h:
13383 2005-09-15 David Schleef <ds@schleef.org>
13385 * gst/gstplugin.c: Implement semi-decent recounting and locking
13386 in plugins and plugin features.
13388 * gst/gstpluginfeature.c:
13389 * gst/gstpluginfeature.h:
13390 * gst/gstregistry.c:
13392 2005-09-15 Michael Smith <msmith@fluendo.com>
13394 * gst/gstregistry.c: (gst_registry_get_feature_list):
13395 Implement this. Makes oggdemux work; decodebin still broken.
13397 2005-09-14 David Schleef <ds@schleef.org>
13399 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
13401 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
13402 * gst/check/Makefile.am:
13403 * libs/gst/controller/Makefile.am:
13404 * libs/gst/dataprotocol/Makefile.am:
13406 2005-09-14 David Schleef <ds@schleef.org>
13408 * configure.ac: Remove getbits library. Nothing uses it, and
13409 it should be in something like liboil if someone did want
13411 * libs/gst/Makefile.am:
13412 * libs/gst/getbits/Makefile.am:
13413 * libs/gst/getbits/gbtest.c:
13414 * libs/gst/getbits/getbits.c:
13415 * libs/gst/getbits/getbits.h:
13416 * libs/gst/getbits/gstgetbits_generic.c:
13417 * libs/gst/getbits/gstgetbits_i386.s:
13418 * libs/gst/getbits/gstgetbits_inl.h:
13420 2005-09-14 David Schleef <ds@schleef.org>
13422 * gst/Makefile.am: Dist glib-compat.h
13424 2005-09-14 David Schleef <ds@schleef.org>
13426 * configure.ac: Remove gst/registries, since it's no longer used.
13427 * gst/registries/Makefile.am:
13428 * gst/registries/gstlibxmlregistry.c:
13429 * gst/registries/gstlibxmlregistry.h:
13430 * gst/registries/gstxmlregistry.c:
13431 * gst/registries/gstxmlregistry.h:
13432 * gst/registries/registrytest.c:
13434 2005-09-14 David Schleef <ds@schleef.org>
13436 * gst/glib-compat.h:
13437 * gst/gstregistryxml.c:
13438 Convergence is near. Seriously.
13440 2005-09-14 David Schleef <ds@schleef.org>
13442 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13443 * gst/glib-compat.h:
13444 Attempt #4 to appease the buildbots.
13446 2005-09-14 David Schleef <ds@schleef.org>
13448 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13451 2005-09-14 David Schleef <ds@schleef.org>
13453 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13456 2005-09-14 David Schleef <ds@schleef.org>
13458 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
13461 2005-09-14 David Schleef <ds@schleef.org>
13463 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13464 * gst/glib-compat.h: Add some functions that are in newer versions
13465 of glib than we care to require.
13466 * gst/gstregistryxml.c: Use them.
13468 2005-09-14 David Schleef <ds@schleef.org>
13470 * po/POTFILES.in: remove gst-register.c
13472 2005-09-14 David Schleef <ds@schleef.org>
13474 * docs/gst/gstreamer-docs.sgml:
13475 * docs/gst/gstreamer-sections.txt:
13476 * docs/gst/gstreamer.types:
13477 * docs/gst/tmpl/gstelement.sgml:
13478 * docs/gst/tmpl/gstplugin.sgml:
13479 * docs/gst/tmpl/gstpluginfeature.sgml:
13480 Documentation updates for registry changes.
13482 2005-09-14 David Schleef <ds@schleef.org>
13484 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
13485 because we don't require glib-2.8.
13487 2005-09-14 David Schleef <ds@schleef.org>
13489 * gst/gstregistryxml.c: Added. Essentially moved out of the
13490 registries directory.
13492 2005-09-14 David Schleef <ds@schleef.org>
13494 * check/Makefile.am:
13495 * check/generic/states.c:
13499 * gst/gst_private.h:
13500 * gst/gstelementfactory.c:
13505 * gst/gstpluginfeature.c:
13506 * gst/gstpluginfeature.h:
13507 * gst/gstregistry.c:
13508 * gst/gstregistry.h:
13509 * gst/gstregistrypool.c: remove
13510 * gst/gstregistrypool.h: remove
13511 * gst/gsttypefind.c:
13512 * gst/gsttypefindfactory.c:
13514 * tools/Makefile.am:
13515 * tools/gst-compprep.c:
13516 * tools/gst-inspect.c:
13517 * tools/gst-register.c: remove
13518 * tools/gst-xmlinspect.c:
13519 Registry rewrite. Changes registry from being a file created
13520 by a tool into a simple cache file created automatically by
13521 libgstreamer. Removed gst-register (because it's no longer
13522 needed). Remove registry pools, because we only have one
13523 registry implementation (XML). Fix up other subsystems as
13526 2005-09-13 Michael Smith <msmith@fluendo.com>
13528 * gst/gstconfig.h.in:
13529 Don't Use windows linking attributes for MinGW. Fixes #316157
13531 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
13533 * gst/gstutils.c: (set_state_async_thread_func),
13534 (gst_element_set_state_async):
13535 Apparently people think it's better if this function doesn't
13536 try to set the state to whatever state was asked for on the first
13537 call to this function for any object. Seriously.
13539 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
13541 * check/gst/gstpipeline.c: (GST_START_TEST):
13542 * docs/gst/gstreamer-sections.txt:
13543 * gst/gstutils.c: (set_state_async_thread_func),
13544 (gst_element_set_state_async):
13546 add a "gst_element_set_state_async" method that
13547 sets the state and starts a thread to make sure the state
13548 change completes as best as it can
13550 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
13552 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
13553 codify design+behaviour in testsuite after discussion
13555 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
13557 * docs/gst/tmpl/gstelement.sgml:
13558 * docs/manual/appendix-quotes.xml:
13560 * gst/gstelement.c: (gst_element_set_state):
13563 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
13565 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13566 (gst_base_transform_prepare_output_buf),
13567 (gst_base_transform_handle_buffer):
13568 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
13569 (gst_capsfilter_prepare_buf):
13570 Remove the requirement for sub-classes to call the parent
13571 implementation of prepare_output_buffer with a wrapper function.
13573 * gst/gsttaglist.h:
13574 * gst/gsttagsetter.h:
13575 Fix #define wrapper
13577 2005-09-11 Stefan Kost <ensonic@users.sf.net>
13579 * docs/gst/gstreamer-sections.txt:
13582 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
13584 * docs/gst/gstreamer-sections.txt:
13585 * docs/gst/tmpl/gstelement.sgml:
13586 * docs/gst/tmpl/gstplugin.sgml:
13587 * gst/gstminiobject.c:
13589 docs now stop throwing warnings
13591 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
13593 * docs/gst/gstreamer-sections.txt:
13594 * docs/gst/gstreamer.types:
13595 * docs/gst/tmpl/gstpad.sgml:
13596 * docs/gst/tmpl/gsttypes.sgml:
13597 * gst/base/gstadapter.h:
13598 * gst/base/gstbasesink.h:
13599 * gst/base/gstbasesrc.h:
13605 * gst/gstelement.h:
13607 * gst/gstmessage.h:
13609 * gst/gststructure.c:
13610 * gst/registries/gstlibxmlregistry.h:
13611 various documentation fixes
13613 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
13615 * docs/gst/gstreamer-sections.txt:
13616 * docs/gst/tmpl/gstvalue.sgml:
13617 rearrange gstvalue section
13618 * gst/gstutils.c: (gst_element_state_get_name):
13620 * gst/gstvalue.c: (_gst_value_initialize):
13624 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
13626 * check/gst-libs/controller.c:
13627 Header include fix.
13628 * gst/base/gstbasetransform.c:
13629 (gst_base_transform_default_prepare_buf),
13630 (gst_base_transform_handle_buffer):
13631 * gst/base/gstbasetransform.h:
13632 Some more basetransform changes and fixes to enable sub-classes
13633 that modify buffer metadata only.
13634 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13635 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
13636 (gst_capsfilter_prepare_buf):
13637 If the output pad has fixed allowed caps and input buffers
13638 don't have any, set the fixed caps on outgoing buffers.
13640 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
13641 * check/elements/identity.c: (GST_START_TEST):
13642 Make the error a little clearer when the test fails because
13643 identity made a copy of the buffer.
13644 * docs/gst/gstreamer-sections.txt:
13645 New symbols in gstbasetransform.h
13646 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13647 (gst_base_transform_init), (gst_base_transform_transform_size),
13648 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13649 (gst_base_transform_default_prepare_buf),
13650 (gst_base_transform_get_unit_size),
13651 (gst_base_transform_buffer_alloc),
13652 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13653 (gst_base_transform_change_state),
13654 (gst_base_transform_set_passthrough),
13655 (gst_base_transform_set_in_place),
13656 (gst_base_transform_is_in_place):
13657 * gst/base/gstbasetransform.h:
13658 Change BaseTransform to separate in_place operate from same_caps
13659 output. in_place implies that the element can perform the transform
13660 on incoming buffers in-place, even if the caps on the output are
13662 Sub-class elements can now implement special buffer allocation
13663 methods for outgoing buffers if they wish to.
13664 Big documentation addition.
13665 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
13666 * gst/elements/gstelements.c:
13667 Changes for basetransform modifications.
13668 * gst/elements/Makefile.am:
13669 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
13670 Compile fix. Extra debug output.
13672 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
13674 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
13676 add tests for valid pad naming
13677 * gst/check/gstcheck.c: (gst_check_log_message_func),
13678 (gst_check_log_critical_func):
13680 remove printing of code, it is fragile when the code contains
13681 % and the line number is enough info
13682 * gst/check/gstcheck.h:
13683 * gst/gstpad.c: (gst_pad_template_new):
13686 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
13689 say what CHECK flags we use
13690 * docs/libs/gstreamer-libs.types:
13691 * libs/gst/controller/Makefile.am:
13692 * libs/gst/controller/gst-controller.c:
13693 * libs/gst/controller/gst-controller.h:
13694 * libs/gst/controller/gst-helper.c:
13695 * libs/gst/controller/gst-interpolation.c:
13696 * libs/gst/controller/gstcontroller.c:
13697 * libs/gst/controller/gsthelper.c:
13698 * libs/gst/controller/gstinterpolation.c:
13699 * tools/gst-inspect.c: (print_plugin_info):
13700 we don't use dashes in header names
13702 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
13704 * check/Makefile.am:
13705 * check/gst/.cvsignore:
13706 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
13707 (gst_pipeline_suite), (main):
13708 adding a test for pipelines and state changes
13709 * gst/gstutils.c: (get_state_func):
13711 * gstreamer.spec.in:
13714 2005-09-08 Michael Smith <msmith@fluendo.com>
13716 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
13717 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
13718 (gst_file_src_is_seekable), (gst_file_src_get_size),
13719 (gst_file_src_start):
13720 * gst/elements/gstfilesrc.h:
13721 Various fixes for unseekable, unmmapable, and non-normal files, so
13722 that fallback to read() rather than mmap() works.
13723 * gst/gstevent.c: (gst_event_new_newsegment):
13724 Allow newsegment events with segment_start == segment_end, as will
13725 correctly happen if you use filesrc on a zero-size file, for
13728 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
13730 * gst/gstplugin.c: (gst_plugin_load_file):
13731 Call g_module_close when we don't load the module
13733 * gst/registries/gstlibxmlregistry.c:
13734 (gst_xml_registry_get_property):
13735 Port leak fix from 0.8
13737 2005-09-07 Stefan Kost <ensonic@users.sf.net>
13739 * docs/gst/gstreamer-docs.sgml:
13740 * docs/gst/tmpl/.cvsignore:
13741 * docs/gst/tmpl/gsttrace.sgml:
13742 * docs/gst/tmpl/gsttrashstack.sgml:
13745 * gst/gstelement.h:
13747 * gst/gstmessage.c:
13748 * gst/gstmessage.h:
13751 * gst/gsttaginterface.c:
13752 * gst/gsttaginterface.h:
13753 * gst/gsttaglist.c:
13754 * gst/gsttaglist.h:
13755 * gst/gsttagsetter.c:
13756 * gst/gsttagsetter.h:
13759 * gst/gsttrashstack.c:
13760 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
13761 inlined docs for gsttrace, gsttrashstack
13763 2005-09-07 Stefan Kost <ensonic@users.sf.net>
13766 * gst/elements/gstbufferstore.h:
13767 * gst/elements/gsttypefindelement.c:
13768 * gst/elements/gsttypefindelement.h:
13770 * gst/gsttypefind.c:
13771 * gst/gsttypefind.h:
13772 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
13773 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
13774 (gst_type_find_factory_dispose),
13775 (gst_type_find_factory_unload_thyself),
13776 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
13777 (gst_type_find_factory_get_caps),
13778 (gst_type_find_factory_get_extensions),
13779 (gst_type_find_factory_call_function):
13780 * gst/gsttypefindfactory.h:
13781 * gst/registries/gstlibxmlregistry.c:
13782 * gst/registries/gstxmlregistry.c:
13783 splitted gsttypefind into gsttypefind, gsttypefindfactory
13785 2005-09-07 Andy Wingo <wingo@pobox.com>
13787 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
13788 condition whereby the pad's task function is entered before the
13789 pad_mode variable was set.
13791 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
13793 * gst/gstpad.c: (gst_pad_alloc_buffer):
13794 Catch misbehaving pad_alloc functions that don't
13795 set up caps and do it for them.
13797 2005-09-07 Stefan Kost <ensonic@users.sf.net>
13799 * check/pipelines/simple_launch_lines.c: (run_pipeline):
13800 test for pipe!=NULL
13801 * docs/gst/tmpl/.cvsignore:
13802 * docs/gst/tmpl/gstmemchunk.sgml:
13803 * docs/gst/tmpl/gstparse.sgml:
13804 * docs/gst/tmpl/gsttaglist.sgml:
13805 * docs/gst/tmpl/gsttagsetter.sgml:
13806 * docs/gst/tmpl/gsttypefind.sgml:
13807 * docs/gst/tmpl/gsttypefindfactory.sgml:
13808 * gst/gstmemchunk.c:
13811 * gst/gsttaginterface.c:
13812 * gst/gsttypefind.c:
13813 * gst/gsttypefind.h:
13816 === release 0.9.2 ===
13818 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
13823 releasing 0.9.2, "South"
13825 2005-09-05 Andy Wingo <wingo@pobox.com>
13827 * gst/registries/gstxmlregistry.h:
13828 * gst/registries/gstxmlregistry.c: Um... resurrect...
13830 * gst/registries/gstxmlregistry.h:
13831 * gst/registries/gstxmlregistry.c: and update to newer API.
13832 Incidentally they should be a bit faster now that they don't have
13835 2005-09-05 Andy Wingo <wingo@pobox.com>
13837 * gst/registries/gstxmlregistry.h:
13838 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
13839 replaced by the libxml registry a while back
13841 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
13843 * docs/gst/tmpl/gstplugin.sgml:
13844 * gst/elements/gstelements.c:
13846 * gst/gstplugin.c: (gst_plugin_register_func),
13847 (gst_plugin_desc_copy), (gst_plugin_desc_free),
13848 (gst_plugin_get_source):
13850 * gst/registries/gstlibxmlregistry.c: (load_plugin),
13851 (gst_xml_registry_save_plugin):
13852 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
13853 (gst_xml_registry_save_plugin):
13854 * tools/gst-inspect.c: (print_plugin_info):
13855 add a "source" plugin description field, to represent the source
13856 module this plugin is a part of. By default GST_PLUGIN_DEFINE
13857 will set it to PACKAGE, which is automake's idea of the name of
13858 the source project.
13860 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
13865 * docs/Makefile.am:
13866 * docs/faq/Makefile.am:
13867 * docs/gst/tmpl/gstelement.sgml:
13868 * docs/gst/tmpl/gsttypes.sgml:
13869 * docs/htmlinstall.mak:
13870 * docs/manual/Makefile.am:
13871 * docs/pwg/Makefile.am:
13872 reorganize doc build a little
13873 split out docbook and gtk-doc stuff
13874 have two separate --enable's and enable them through autogen
13875 but disable by default in configure (to be similar to other
13877 * gstreamer.spec.in:
13878 clean up docs install
13896 translation updates
13898 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
13900 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
13903 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13904 (gst_fake_sink_change_state):
13905 Make state change function thread-safe.
13907 * gst/gstpad.c: (gst_pad_alloc_buffer):
13908 Set offset on generic buffer allocated by fallback.
13910 2005-09-03 Stefan Kost <ensonic@users.sf.net>
13912 * docs/gst/gstreamer-sections.txt:
13913 * docs/gst/tmpl/gstelement.sgml:
13915 * libs/gst/controller/gst-controller.c:
13916 (gst_controlled_property_set_interpolation_mode),
13917 (gst_controlled_property_new),
13918 (gst_controller_find_controlled_property):
13919 run the wingo-magic script against the docs
13921 2005-09-02 Stefan Kost <ensonic@users.sf.net>
13923 * docs/gst/gstreamer-docs.sgml:
13924 * docs/gst/gstreamer-sections.txt:
13925 * docs/gst/tmpl/.cvsignore:
13926 * docs/gst/tmpl/gstelementdetails.sgml:
13927 * docs/gst/tmpl/gstelementfactory.sgml:
13930 * gst/gstelementfactory.c:
13931 * gst/gstelementfactory.h:
13932 merged elementdetails docs into elementfactory docs
13935 2005-09-02 Andy Wingo <wingo@pobox.com>
13937 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
13938 consider this enum an enum and not a flags.
13940 2005-09-02 Stefan Kost <ensonic@users.sf.net>
13942 * docs/gst/gstreamer-docs.sgml:
13943 * docs/gst/tmpl/.cvsignore:
13944 * docs/gst/tmpl/gstghostpad.sgml:
13945 * docs/gst/tmpl/gstiterator.sgml:
13946 * docs/gst/tmpl/gstmacros.sgml:
13947 * docs/gst/tmpl/gstrealpad.sgml:
13948 * docs/gst/tmpl/gstregistry.sgml:
13949 * docs/gst/tmpl/gstregistrypool.sgml:
13950 * docs/gst/tmpl/gststructure.sgml:
13951 * docs/gst/tmpl/gstsystemclock.sgml:
13952 * docs/gst/tmpl/gsttrace.sgml:
13953 * gst/gstghostpad.c:
13955 * gst/gstmemchunk.c:
13956 * gst/gstmemchunk.h:
13958 * gst/gstregistry.c:
13959 * gst/gstregistrypool.c:
13960 * gst/gststructure.c:
13961 * gst/gstsystemclock.c:
13964 2005-09-02 Andy Wingo <wingo@pobox.com>
13966 * gst/gstelement.h (GstState): Renamed from GstElementState,
13967 changed to be a normal enum instead of flags.
13968 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
13969 munged to be GST_STATE_CHANGE_*.
13970 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
13971 work with the new state representation.
13972 (GstStateChange): New enumeration of possible state transitions.
13973 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
13974 (GstElementClass::change_state): Pass the GstStateChange along as
13975 an argument. Helps language bindings, so they don't have to use
13976 tricky lock-needing macros like GST_STATE_CHANGE ().
13978 * scripts/update-states (file): New script. Run it on a file to
13979 update it for state naming and API changes. Updates files in
13982 * All files updated for the new API.
13984 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
13986 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
13987 * gst/gstutils.c: (gst_util_set_value_from_string),
13988 (gst_util_set_object_arg):
13989 fix a bunch of unchecked return values
13990 * tools/gst-complete.c: (main):
13991 * gstreamer.spec.in:
13994 2005-09-01 Wim Taymans <wim@fluendo.com>
13996 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13997 (gst_base_sink_event), (gst_base_sink_do_sync),
13998 (gst_base_sink_handle_event):
13999 * gst/base/gstbasesink.h:
14000 Handle newsegments more correctly.
14005 * gst/gstevent.c: (gst_event_new_newsegment):
14006 A newsegment cannot have a start_time of -1
14008 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
14010 * win32/gstenumtypes.c:
14011 * win32/gstenumtypes.h:
14014 2005-08-31 Stefan Kost <ensonic@users.sf.net>
14016 * libs/gst/controller/gst-controller.c:
14017 (gst_controlled_property_set_interpolation_mode),
14018 (gst_controlled_property_new):
14019 fixed boolean again
14021 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
14023 * docs/faq/gst-uninstalled:
14028 * gst/gstutils.c: (gst_element_link_filtered):
14030 add gst_element_link_filtered
14032 2005-08-31 Stefan Kost <ensonic@users.sf.net>
14034 * docs/gst/gstreamer-docs.sgml:
14035 * docs/gst/gstreamer-sections.txt:
14036 * docs/gst/tmpl/.cvsignore:
14037 * docs/gst/tmpl/gsterror.sgml:
14038 * docs/gst/tmpl/gstfilter.sgml:
14039 * docs/gst/tmpl/gsturihandler.sgml:
14040 * docs/gst/tmpl/gsturitype.sgml:
14041 * docs/gst/tmpl/gstutils.sgml:
14042 * docs/gst/tmpl/gstxml.sgml:
14047 * gst/gsturitype.c:
14050 inlined more docs, fixed double id-ref
14052 2005-08-31 Wim Taymans <wim@fluendo.com>
14054 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14055 (gst_base_transform_handle_buffer):
14056 Passthrough elements don't need the caps as they don't care.
14058 2005-08-31 Wim Taymans <wim@fluendo.com>
14060 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14061 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
14062 Don't leak refcounts on buffers.
14064 2005-08-31 Wim Taymans <wim@fluendo.com>
14066 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
14067 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14068 (gst_base_transform_chain), (gst_base_transform_change_state):
14069 * gst/base/gstbasetransform.h:
14070 Handle the case where we are not negotiated more gracefully.
14072 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
14074 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
14075 (gst_file_src_map_region):
14076 Set READONLY flag on mmap'ed buffers, otherwise
14077 gst_buffer_make_writable() won't work properly (#314708).
14079 2005-08-31 Wim Taymans <wim@fluendo.com>
14081 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
14082 passthrough elements can even do inplace on non writable
14083 buffers (as they don't touch them).
14085 2005-08-31 Stefan Kost <ensonic@users.sf.net>
14087 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14088 (gst_test_mono_source_set_property),
14089 (gst_test_mono_source_class_init), (GST_START_TEST),
14090 (gst_controller_suite):
14091 more tests (hehe I have the most)
14093 describe popping messages whenusing mulltiple sources
14094 * libs/gst/controller/gst-controller.c:
14095 (gst_controlled_property_set_interpolation_mode),
14096 (gst_controlled_property_new):
14097 * libs/gst/controller/gst-controller.h:
14098 * libs/gst/controller/gst-interpolation.c:
14099 implement boolean properties
14101 2005-08-31 Wim Taymans <wim@fluendo.com>
14103 * gst/gstminiobject.c: (gst_mini_object_ref):
14104 Cannot assert that the refcount has to be positive
14105 since a disposed object can be resurrected.
14107 2005-08-31 Wim Taymans <wim@fluendo.com>
14109 * gst/gstpad.c: (gst_pad_init):
14110 Revert change, need to first fix badly behaving
14113 2005-08-30 Wim Taymans <wim@fluendo.com>
14115 * check/elements/fakesrc.c: (setup_fakesrc):
14116 * check/elements/identity.c: (setup_identity):
14117 Activate pads before using them.
14119 2005-08-30 Wim Taymans <wim@fluendo.com>
14121 * gst/base/gstadapter.c: (gst_adapter_flush):
14122 Flushing out 0 bytes is ok for this function.
14124 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14125 no newsegment gives a warning and sets the start/stop to
14128 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
14129 (gst_base_transform_set_passthrough):
14132 * gst/gstminiobject.c: (gst_mini_object_ref):
14133 Check refcount here too.
14135 * gst/gstpad.c: (gst_pad_init):
14136 Pads are initially flushing and refusing data.
14138 * gst/gstutils.c: (gst_element_link_pads_filtered):
14139 When adding a capsfilter element make sure it has the
14140 same state as the parent bin.
14142 2005-08-30 Stefan Kost <ensonic@users.sf.net>
14144 * docs/gst/tmpl/.cvsignore:
14145 * docs/gst/tmpl/gstformat.sgml:
14146 * docs/gst/tmpl/gstversion.sgml:
14150 * gst/gstversion.h.in:
14151 more docs and two more inlined
14153 2005-08-30 Wim Taymans <wim@fluendo.com>
14155 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
14156 Don't sync to clock.
14158 2005-08-30 Stefan Kost <ensonic@users.sf.net>
14160 * docs/gst/gstreamer-sections.txt:
14161 ultral33t func10ns deserve to appear in the docs actually
14162 * docs/gst/tmpl/.cvsignore:
14163 * docs/gst/tmpl/gstcompat.sgml:
14164 * docs/gst/tmpl/gstconfig.sgml:
14165 * gst/check/gstcheck.c:
14167 * gst/gstconfig.h.in:
14170 2005-08-30 Stefan Kost <ensonic@users.sf.net>
14172 * docs/gst/tmpl/.cvsignore:
14173 * docs/gst/tmpl/gstquery.sgml:
14174 * docs/gst/tmpl/gstutils.sgml:
14177 inlined and extended docs
14179 2005-08-30 Stefan Kost <ensonic@users.sf.net>
14181 * check/gst-libs/controller.c: (GST_START_TEST),
14182 (gst_controller_suite):
14184 * docs/gst/tmpl/gstutils.sgml:
14185 * docs/libs/gstreamer-libs-sections.txt:
14186 * docs/libs/tmpl/gstdataprotocol.sgml:
14188 * examples/controller/audio-example.c: (main):
14189 controller example works now
14192 * tools/gst-inspect.c: (print_element_properties_info):
14193 show param spec flags
14195 2005-08-29 Andy Wingo <wingo@pobox.com>
14197 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
14199 2005-08-28 Andy Wingo <wingo@pobox.com>
14201 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
14202 as having two arguments instead of just one. Allows superclasses
14203 to access information on subclasses -- see the terrible for() loop
14204 in gtype.c:g_type_create_instance for the reason why. All callers
14207 2005-08-27 Stefan Kost <ensonic@users.sf.net>
14209 * docs/design/part-messages.txt:
14211 * docs/gst/tmpl/.cvsignore:
14212 * docs/gst/tmpl/gstcaps.sgml:
14213 * docs/gst/tmpl/gstclock.sgml:
14219 * gst/gstmessage.c:
14220 added descriptions for bus and message
14221 inline caps and clock docs
14223 2005-08-27 Stefan Kost <ensonic@users.sf.net>
14225 * gst/gstmessage.c:
14226 * gst/gstmessage.h:
14229 2005-08-27 Stefan Kost <ensonic@users.sf.net>
14231 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
14234 2005-08-26 Andy Wingo <wingo@pobox.com>
14236 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
14237 element_set_state's return val.
14238 (test_2_elements): Add test that's been disabled for months.
14240 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
14241 can-activate-pull properties.
14243 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
14244 can-activate-pull properties. Implement is_seekable so fakesrc can
14245 operate in pull mode.
14247 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
14249 (gst_base_sink_activate, gst_base_sink_activate_pull)
14250 (gst_base_sink_activate_push): Make activation mode choosing work.
14252 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
14253 is right. Make pull mode work. Post an eos before pausing in pull
14255 (gst_base_sink_change_state): Pay attention to the core's
14256 change_state() return val.
14258 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
14259 has-getrange properties. Cleanups.
14261 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
14262 has_getrange and replace with can_activate_pull and
14265 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
14266 locking comments. Remove has_loop, has_chain and replace with
14267 can_activate_pull and can_activate_push.
14269 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
14272 * examples/Makefile.am:
14273 * examples/metadata/Makefile.am:
14274 * examples/metadata/read-metadata.c: (message_loop),
14275 (have_pad_handler), (make_pipeline), (print_tag), (main):
14276 Add metadata reading example that loops over a list of filenames,
14277 dumping any tags found.
14279 * gst/gstbus.c: (gst_bus_dispose):
14280 * gst/gstelement.c: (gst_element_dispose):
14281 Release a few potentially-held references in dispose.
14283 2005-08-26 Stefan Kost <ensonic@users.sf.net>
14285 * docs/gst/tmpl/gstminiobject.sgml:
14286 do *not* add tmpl/*.sgml files to CVS!
14288 2005-08-26 Stefan Kost <ensonic@users.sf.net>
14290 * libs/gst/bytestream/.cvsignore:
14291 * libs/gst/bytestream/Makefile.am:
14292 * libs/gst/bytestream/adapter.c:
14293 * libs/gst/bytestream/adapter.h:
14294 * libs/gst/bytestream/bytestream.c:
14295 * libs/gst/bytestream/bytestream.h:
14296 * libs/gst/bytestream/filepad.c:
14297 * libs/gst/bytestream/filepad.h:
14298 removing obsolete files
14300 2005-08-26 Stefan Kost <ensonic@users.sf.net>
14302 * docs/gst/gstreamer-docs.sgml:
14303 * docs/libs/gstreamer-libs-docs.sgml:
14304 disabed additional index entries again, as this makes docs-gen just
14305 slow and they aren't useful yet
14306 * docs/libs/gstreamer-libs-sections.txt:
14307 little -section.txt cleanup for libs
14309 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
14311 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14312 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
14313 fix up some debugging
14314 (gst_base_transform_get_unit_size),
14315 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14316 (gst_base_transform_handle_buffer):
14317 * gst/base/gstbasetransform.h:
14318 handle and store timed NEWSEGMENT events so that subclasses that
14319 calculate time by counting samples have a segment_start time they
14320 need to add to their timestamps - see audioresample
14322 2005-08-26 Stefan Kost <ensonic@users.sf.net>
14325 removed ';' from the end of macro defs
14326 * docs/gst/gstreamer-docs.sgml:
14327 * docs/gst/gstreamer-sections.txt:
14328 * docs/gst/tmpl/.cvsignore:
14330 * gst/gstelement.c: (gst_element_class_init),
14331 (gst_element_set_state), (activate_pads),
14332 (gst_element_save_thyself):
14333 * gst/gstevent.c: (gst_event_new_newsegment):
14335 * gst/gstiterator.c:
14336 * gst/gstiterator.h:
14339 * gst/gstutils.c: (gst_pad_query_convert):
14341 fixed parameter name mismatches between source, header and docs
14342 added some more docs, resolved the last batch of unused elements in
14343 docs (now someone needs to doc them)
14345 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
14347 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
14348 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
14349 don't walk through the plugins backwards. Where is all this
14350 reversed logic coming from ?
14352 2005-08-25 Wim Taymans <wim@fluendo.com>
14354 * gst/base/gstbasetransform.c: (gst_base_transform_init),
14355 (gst_base_transform_transform_size),
14356 (gst_base_transform_configure_caps),
14357 (gst_base_transform_get_unit_size),
14358 (gst_base_transform_buffer_alloc),
14359 (gst_base_transform_change_state):
14360 * gst/base/gstbasetransform.h:
14361 Cache caps unit_size.
14362 Make sure we cannot negotiate up and downstream at the
14365 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
14367 * gst/gst.c: (init_pre), (init_post):
14368 register the installed plugin path after the env var
14369 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
14370 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
14371 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
14372 directories, so the tests can prefer uninstalled over installed
14374 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
14376 * gst/base/gstbasetransform.h:
14381 2005-08-25 Wim Taymans <wim@fluendo.com>
14383 * gst/gstbin.c: (bin_bus_handler):
14384 Be a bit more conservative about the posted message.
14386 * gst/gstbus.c: (gst_bus_post):
14387 Some cleanups, warn wrong return values.
14389 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
14391 * check/gst/gstbin.c: (GST_START_TEST):
14392 * gst/gstbin.c: (bin_bus_handler):
14393 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14394 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14395 (gst_message_new_warning), (gst_message_new_tag),
14396 (gst_message_new_state_changed), (gst_message_new_segment_start),
14397 (gst_message_new_segment_done), (gst_message_new_custom):
14398 * gst/gstmessage.h:
14399 * tools/gst-launch.c: (event_loop):
14400 * tools/gst-md5sum.c: (event_loop):
14401 Revert unpopular change for GST_MESSAGE_SRC to GObject.
14403 2005-08-25 Wim Taymans <wim@fluendo.com>
14405 * check/generic/states.c: (GST_START_TEST):
14406 Cleanup can be done at the end.
14408 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
14409 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14410 (gst_task_get_state), (gst_task_start), (gst_task_pause):
14411 Oh boy.. Thanks for finding this, Thomas.
14413 2005-08-25 Stefan Kost <ensonic@users.sf.net>
14415 * docs/gst/gstreamer.types:
14416 added missing types
14418 2005-08-25 Stefan Kost <ensonic@users.sf.net>
14420 * docs/gst/gstreamer-docs.sgml:
14421 * docs/gst/gstreamer-sections.txt:
14422 * docs/gst/tmpl/.cvsignore:
14424 * gst/gstiterator.c:
14426 * gst/registries/gstxmlregistry.h:
14427 added missing classes and symbols (123 more to go)
14428 removed removed symbols from section file
14429 fixed many doc-comments
14431 2005-08-24 Wim Taymans <wim@fluendo.com>
14433 * check/generic/states.c: (GST_START_TEST):
14434 Make sure all tasks are stopped.
14436 * check/gst/gstbin.c: (GST_START_TEST):
14437 Unref after usage for proper valgrinding.
14439 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
14440 Really wait for the task to stop before destroying the
14443 * gst/gstqueue.c: (gst_queue_sink_activate_push),
14444 (gst_queue_src_activate_push):
14445 Small cleanups. Don't stop the task when we did not start
14448 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
14449 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14450 (gst_task_get_state), (gst_task_start), (gst_task_pause),
14453 Protect the stream lock with the object lock.
14454 Disallow setting the stream lock when running.
14455 Add cleanup_all to wait for the threadpool to finish.
14456 Remove code to autoallocate a mutex if none was provided.
14457 Add _join() to wait for a task to stop.
14458 Protect the thread pool with a global lock.
14460 2005-08-24 Wim Taymans <wim@fluendo.com>
14462 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14463 (gst_base_sink_get_times), (gst_base_sink_do_sync),
14464 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
14465 * gst/base/gstbasesink.h:
14466 Handle newsegment events correctly.
14467 Drop buffers out of the segment range.
14469 2005-08-22 Andy Wingo <wingo@pobox.com>
14471 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
14472 macro, implements an interface and gstimplementsinterface for a
14475 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
14477 * check/Makefile.am:
14478 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
14479 add a test that does a bunch of state changes on elements
14480 needs some fixing for valgrind
14481 * check/states/sinks.c: (gst_object_suite):
14484 add prototype for gst_caps_is_equal_fixed
14486 * gst/gstregistrypool.c:
14489 2005-08-24 Andy Wingo <wingo@pobox.com>
14491 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
14492 convert a negative value. Doesn't make much sense. Mostly this is
14493 here to force callers to ensure -1 maps to -1.
14495 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
14497 * docs/pwg/advanced-types.xml:
14498 Well done to Michael for catching my deliberate introduction
14499 of this spelling mistake.
14500 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
14501 * gst/gstelement.h:
14502 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
14503 unlink pads before removing the element from the bin.
14505 2005-08-24 Andy Wingo <wingo@pobox.com>
14507 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
14508 the same thing as GST_DEBUG=*:4.
14509 (parse_debug_level, parse_debug_category): New helper parsers.
14511 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
14513 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14514 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
14515 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
14516 (gst_base_transform_buffer_alloc),
14517 (gst_base_transform_handle_buffer):
14518 use gboolean return values and pointers to size so we can use the
14519 full GST_BUFFER_SIZE range (guint) for buffer sizes
14520 use GstPadDirection for transform_caps
14521 * gst/base/gstbasetransform.h:
14522 rename get_size to get_unit_size since that's what it is
14523 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
14524 use GstPadDirection for transform_caps
14525 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14527 cleanup and debugging
14529 2005-08-24 Stefan Kost <ensonic@users.sf.net>
14531 * gst/gstelement.c: (gst_element_class_init),
14532 (gst_element_set_state), (activate_pads),
14533 (gst_element_save_thyself):
14534 * tools/gst-compprep.c: (main):
14535 * tools/gst-inspect.c: (print_element_properties_info):
14536 * tools/gst-xmlinspect.c: (print_element_properties):
14537 Fixed long standing mem-leak
14539 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
14541 * check/gst/gstbin.c: (GST_START_TEST):
14542 * gst/gstbin.c: (bin_bus_handler):
14543 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14544 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14545 (gst_message_new_warning), (gst_message_new_tag),
14546 (gst_message_new_state_changed), (gst_message_new_segment_start),
14547 (gst_message_new_segment_done), (gst_message_new_custom):
14548 * gst/gstmessage.h:
14549 * tools/gst-launch.c: (event_loop):
14550 * tools/gst-md5sum.c: (event_loop):
14551 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
14552 that applications can sensibly post custom messages with references
14553 to their own objects.
14555 2005-08-24 Andy Wingo <wingo@pobox.com>
14557 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
14560 2005-08-24 Wim Taymans <wim@fluendo.com>
14562 * gst/base/gstbasetransform.c: (gst_base_transform_init),
14563 (gst_base_transform_transform_caps),
14564 (gst_base_transform_transform_size),
14565 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14566 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14567 (gst_base_transform_handle_buffer):
14568 * gst/base/gstbasetransform.h:
14569 Many fixes and new features added by Thomas. Can now also do
14570 transforms with variable sizes and a custom fixate_caps function.
14572 2005-08-24 Wim Taymans <wim@fluendo.com>
14574 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14578 Cast to ClockTime before formatting to time.
14583 2005-08-24 Stefan Kost <ensonic@users.sf.net>
14585 * check/gst-libs/controller.c: (GST_START_TEST),
14586 (gst_controller_suite):
14587 * docs/gst/tmpl/gstcaps.sgml:
14588 * docs/gst/tmpl/gstghostpad.sgml:
14589 * docs/gst/tmpl/gstquery.sgml:
14590 * docs/gst/tmpl/gstutils.sgml:
14591 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
14592 (gst_object_sink_values), (gst_object_get_value_arrays),
14593 (gst_object_get_value_array):
14594 gracefully handle helper method calls to objects that are not beeing
14595 controlled, added test case for that
14597 2005-08-23 Wim Taymans <wim@fluendo.com>
14599 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
14600 (gst_event_new_newsegment), (gst_event_parse_newsegment),
14601 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
14602 (gst_event_parse_qos), (gst_event_new_seek),
14603 (gst_event_parse_seek):
14605 Some more debugging output and doc cleanups.
14607 * gst/gstqueue.c: (gst_queue_handle_sink_event):
14608 Fix possible deadlock.
14610 2005-08-23 Stefan Kost <ensonic@users.sf.net>
14612 * docs/gst/gstreamer-docs.sgml:
14613 * docs/gst/gstreamer-sections.txt:
14614 * docs/gst/gstreamer.types:
14615 * docs/gst/tmpl/.cvsignore:
14618 * gst/gstelement.c:
14620 added 100 symbols from gstreamer-unused.txt to the right sections
14621 fixed more broken comments
14622 added GstBus to docs
14624 2005-08-23 Stefan Kost <ensonic@users.sf.net>
14626 * docs/gst/gstreamer-sections.txt:
14627 * docs/gst/tmpl/.cvsignore:
14628 * docs/gst/tmpl/gstbin.sgml:
14629 * docs/gst/tmpl/gstbuffer.sgml:
14630 * gst/base/gstbasesrc.c:
14631 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
14634 * tools/gst-launch.1.in:
14635 inlined more doc comments, added missing comments and fixed comments
14638 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
14640 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14644 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
14646 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
14647 * gst/gststructure.h:
14648 add a fixate function for booleans; add a FIXME that these func
14649 names should probably be gst_structure_fixate_*
14651 2005-08-23 Stefan Kost <ensonic@users.sf.net>
14653 * docs/gst/gstreamer-docs.sgml:
14654 * docs/gst/gstreamer-sections.txt:
14656 * gst/gstbin.c: (gst_bin_get_type),
14657 (gst_bin_child_proxy_get_child_by_index),
14658 (gst_bin_child_proxy_get_children_count),
14659 (gst_bin_child_proxy_init):
14660 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14661 (gst_child_proxy_get_child_by_index),
14662 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
14663 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
14664 (gst_child_proxy_get), (gst_child_proxy_set_property),
14665 (gst_child_proxy_set_valist), (gst_child_proxy_set),
14666 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
14667 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
14668 * gst/gstchildproxy.h:
14669 * gst/parse/grammar.y:
14670 * tools/gst-inspect.c: (print_interfaces),
14671 (print_element_properties_info), (print_element_info):
14672 ported gstchildproxy over from 0.8
14673 ported gst-inspect fixes and enhancements over from 0.8
14675 2005-08-22 Wim Taymans <wim@fluendo.com>
14677 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14678 (gst_base_transform_handle_buffer):
14679 Also call the transform function if we have ANY caps.
14681 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
14684 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
14686 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
14687 Don't pretend to handle seek events if the source is not seekable
14689 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
14691 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14692 Remove extra parameter to debug output
14694 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14695 (gst_base_src_do_seek), (gst_base_src_activate_push):
14696 Fix seek event handling.
14698 * gst/gstpipeline.c: (gst_pipeline_change_state):
14699 * gst/gstqueue.c: (gst_queue_handle_sink_event),
14700 (gst_queue_src_activate_push):
14701 Don't start the src pad task on FLUSH_STOP if the pad
14705 2005-08-22 Wim Taymans <wim@fluendo.com>
14707 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14708 Added check for gst_static_caps_get() refcounting.
14710 2005-08-22 Wim Taymans <wim@fluendo.com>
14712 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
14713 Make _static_caps_get() refcounting sane.
14715 * gst/gstelement.c: (gst_element_set_state):
14716 Add g_return_val_if_fail() to protect against segfaults.
14718 2005-08-22 Stefan Kost <ensonic@users.sf.net>
14720 * docs/gst/tmpl/gstevent.sgml:
14723 inlined remaining docs, added missing doc comments
14725 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
14727 * check/gst/gstbin.c: (GST_START_TEST):
14728 since we don't know when preroll is done, use refcount range
14730 * gst/check/gstcheck.h:
14731 add macro for checking refcount range
14733 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
14735 * check/Makefile.am:
14736 clean up environment for when registry gets built versus
14737 when actual tests are run; valgrind seems to not report
14738 leaks if GST_PLUGIN_PATH is set to some specific values
14739 * check/gst/gstbin.c: (GST_START_TEST):
14740 add more refcounting checks; maybe this exposes a
14742 * common/check.mak:
14743 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14744 * gst/check/gstcheck.h:
14745 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14746 (gst_bin_change_state):
14747 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
14748 add/fix debugging/whitespace
14750 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
14752 * check/gst/gstevent.c: (event_probe), (test_event),
14754 Er, don't call gst_bin_watch_for_state_change you idiot.
14756 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
14758 * check/Makefile.am:
14759 Use CHECK_CFLAGS and CHECK_LIBS
14760 * check/gst/gstevent.c: (event_probe), (test_event),
14763 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14764 (gst_base_src_start), (gst_base_src_stop),
14765 (gst_base_src_activate_push), (gst_base_src_activate_pull),
14766 (gst_base_src_change_state):
14767 Sprinkle gst_base_src_stop liberally around error paths to fix
14768 problems reusing a source after failed state changes.
14769 * gst/base/gsttypefindhelper.c: (helper_find_peek),
14770 (helper_find_suggest), (gst_type_find_helper):
14771 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
14773 * docs/gst/tmpl/gstevent.sgml:
14774 Migrate part of the docs from the SGML file. Wait for ensonic to
14775 tell me how I did it wrong ;)
14776 * tools/gst-typefind.c: (main):
14777 Extra robustness to state changes between files.
14779 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
14781 * check/Makefile.am:
14782 don't valgrind the controller test - it's leaking - Stefan, HELP
14783 * gst/check/gstcheck.c: (gst_check_message_error),
14784 (gst_check_chain_func), (gst_check_setup_element),
14785 (gst_check_teardown_element), (gst_check_setup_src_pad),
14786 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
14787 (gst_check_teardown_sink_pad):
14788 * gst/check/gstcheck.h:
14789 add a bunch of methods to set up elements, and src and sink pads
14790 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
14791 * check/elements/identity.c: (setup_identity), (cleanup_identity),
14794 * gst/gstmessage.c:
14796 whitespace/doc fixes
14798 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
14800 * gst/gstelement.h:
14801 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
14802 be handled by the application and not always printed as well
14804 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
14806 * check/Makefile.am:
14808 * gst/check/gstcheck.c: (gst_check_message_error):
14809 * gst/check/gstcheck.h:
14810 add a fail_unless_equals_int
14811 add fail_unless for error messages
14813 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
14815 * check/Makefile.am:
14817 * common/Makefile.am:
14818 * common/check.mak:
14820 factor out some of the common stuff so we can use it
14822 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
14824 * check/Makefile.am:
14825 * check/gst/gstiterator.c: (GST_START_TEST):
14826 * check/gst/gstsystemclock.c: (GST_START_TEST),
14827 (gst_systemclock_suite):
14828 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14830 valgrind more tests
14832 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
14834 * check/elements/.cvsignore:
14835 * check/elements/gstfakesrc.c:
14836 rename to name of element
14837 * check/elements/identity.c: (chain_func), (event_func),
14838 (setup_identity), (cleanup_identity), (GST_START_TEST),
14839 (identity_suite), (main):
14840 add a test for identity
14841 * check/Makefile.am:
14842 * pkgconfig/Makefile.am:
14843 * pkgconfig/gstreamer-check.pc.in:
14844 * pkgconfig/gstreamer-check-uninstalled.pc.in:
14848 move the check stuff to a library that gets installed
14849 * check/gst-libs/controller.c: (GST_START_TEST):
14850 * check/gst-libs/gdp.c:
14851 * check/gst/gst.c: (GST_START_TEST):
14852 * check/gst/gstbin.c:
14853 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14854 * check/gst/gstbus.c:
14855 * check/gst/gstcaps.c: (GST_START_TEST):
14856 * check/gst/gstelement.c:
14857 * check/gst/gstghostpad.c:
14858 * check/gst/gstiterator.c:
14859 * check/gst/gstmessage.c:
14860 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
14861 * check/gst/gstobject.c:
14862 * check/gst/gstpad.c: (GST_START_TEST):
14863 * check/gst/gststructure.c: (GST_START_TEST):
14864 * check/gst/gstsystemclock.c: (GST_START_TEST),
14865 (gst_systemclock_suite):
14866 * check/gst/gsttag.c: (gst_tag_suite):
14867 * check/gst/gstvalue.c:
14868 * check/pipelines/cleanup.c:
14869 * check/pipelines/simple_launch_lines.c:
14870 * check/states/sinks.c:
14871 change include statement
14873 * docs/gst/gstreamer-sections.txt:
14874 * docs/gst/tmpl/gstpad.sgml:
14875 document more pad stuff
14876 * gst/gstminiobject.c: (gst_mini_object_ref),
14877 (gst_mini_object_unref):
14880 2005-08-19 Stefan Kost <ensonic@users.sf.net>
14882 * docs/gst/tmpl/gst.sgml:
14884 eliminate another tmpl file, fix spelling in the long-description
14886 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
14888 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14889 (test_event), (timediff), (gstevents_suite):
14890 Should fix build on 64-bit arch's
14892 2005-08-18 Andy Wingo <wingo@pobox.com>
14894 Make sure that when a pipeline goes to PLAYING, that data has
14895 actually hit the sink.
14897 * check/states/sinks.c (test_sink): A sink that doesn't get any
14898 data shouldn't return SUCCESS for going to either PLAYING or
14899 PAUSED. Test also the return values on the way back down.
14901 * gst/gstelement.c (gst_element_set_state): When changing the
14902 state of an element currently changing state asynchronously, go to
14903 lost-state after commiting the pending state. Makes future calls
14904 to get_state continue to return ASYNC.
14906 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
14907 ASYNC when going to PLAYING if we still don't have preroll, as can
14908 happen with live sources.
14910 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
14912 * docs/pwg/advanced-types.xml:
14913 Hack long paragraph into 2 chunks as a workaround for buggy
14914 jadetex version in sid and breezy that loops infinitely and
14917 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
14919 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14920 (test_event), (timediff), (gstevents_suite):
14921 Provide more error margin in clock measurements to allow for
14922 g_get_current_time inaccuracies.
14924 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
14926 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14927 (test_event), (timediff), (gstevents_suite):
14928 Fix error message output so I might be able to tell why the
14929 test works here but fails on the build farm.
14931 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
14933 * check/Makefile.am:
14934 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14935 (test_event), (timediff), (gstevents_suite), (main):
14938 * docs/design/part-seeking.txt:
14939 Spelling correction
14941 * docs/gst/tmpl/gstevent.sgml:
14942 * docs/gst/tmpl/gstfakesrc.sgml:
14945 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14946 Treat a buffer-without-newsegment the same as a receiving
14947 a newsegment not in time format, and disable syncing to the clock
14950 * gst/gstbus.c: (gst_bus_set_sync_handler):
14951 Assert if anyone tries to replace the existing sync_handler for bus,
14952 as only the owner should be setting it.
14955 Have a fixed set of custom event enums with events identified by
14956 their structure name (as in 0.8), rather than a free-for-all
14957 allowing collisions between enum values from different plugins.
14959 * gst/gstpad.c: (gst_pad_class_init):
14962 * gst/gstqueue.c: (gst_queue_handle_sink_event):
14963 Handle out-of-band downstream events from the sending thread.
14965 2005-08-17 Andy Wingo <wingo@pobox.com>
14967 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
14968 play-timeout==0 to mean no timeout at all. In that case, don't
14969 bother with a get_state or a warning, just return directly, even
14972 * gst/base/gstbasetransform.c: Debug changes.
14975 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
14976 ensure bins post state change messages. A bit of a hack but I can't
14977 think of a way to avoid it.
14979 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
14981 2005-08-16 Andy Wingo <wingo@pobox.com>
14983 * gst/base/gstadapter.h:
14984 * gst/base/gstadapter.c (gst_adapter_take): New function, like
14985 peek() but you own the data. Not terribly efficient atm.
14987 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14989 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
14990 (gst_element_found_tags):
14992 Add two utility functions for tag handling.
14994 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14996 * docs/manual/advanced-dataaccess.xml:
14997 * docs/manual/basics-helloworld.xml:
14998 Fix docs to use _bin_add() before _link(), which fixes the examples
14999 with recent core versions (reported by Madhan Raj M
15000 <raj_madan@rediffmail.com>, #313199).
15002 2005-08-16 Wim Taymans <wim@fluendo.com>
15004 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15005 Added subtract checks.
15007 * docs/design/part-events.txt:
15008 Some more docs about newsegment
15010 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15013 * gst/gstcaps.c: (gst_caps_to_string):
15014 Add comments, cleanups.
15016 * gst/gstelement.c: (gst_element_save_thyself):
15019 * gst/gstvalue.c: (gst_value_collect_int_range),
15020 (gst_string_unwrap), (gst_value_union_int_int_range),
15021 (gst_value_union_int_range_int_range),
15022 (gst_value_intersect_int_int_range),
15023 (gst_value_intersect_int_range_int_range),
15024 (gst_value_intersect_double_double_range),
15025 (gst_value_intersect_double_range_double_range),
15026 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
15027 (gst_value_subtract_int_range_int),
15028 (gst_value_subtract_double_range_double),
15029 (gst_value_subtract_double_range_double_range),
15030 (gst_value_subtract_from_list), (gst_value_subtract_list),
15031 (gst_value_can_compare), (gst_value_compare_fraction):
15032 Cleanups, add comments, remove unneeded asserts.
15034 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
15036 * tools/gst-launch.c: (event_loop):
15037 don't convert NULL structures to strings
15039 2005-08-15 Stefan Kost <ensonic@users.sf.net>
15041 * docs/gst/gstreamer-sections.txt:
15042 made some defines private
15043 * docs/gst/tmpl/gstconfig.sgml:
15044 * docs/gst/tmpl/gstqueue.sgml:
15045 * docs/gst/tmpl/gsttaglist.sgml:
15046 * docs/gst/tmpl/gsttypes.sgml:
15047 * docs/gst/tmpl/gstutils.sgml:
15048 * docs/pwg/appendix-porting.xml:
15049 * gst/base/gstbasesink.h:
15050 * gst/base/gstbasesrc.c:
15051 * gst/base/gstbasesrc.h:
15052 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
15053 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
15054 * gst/gstelement.c: (gst_element_class_init):
15055 * gst/gstpad.c: (gst_pad_class_init):
15056 * gst/gstqueue.c: (gst_queue_class_init):
15057 * gst/gstxml.c: (gst_xml_class_init):
15058 documented all undocumented signal inline
15059 * libs/gst/controller/gst-controller.h:
15062 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15064 * docs/pwg/appendix-porting.xml:
15065 Document _set_link_function -> _set_setcaps_function.
15067 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
15069 * check/Makefile.am:
15070 add a .check target for running the check
15071 * check/gst-libs/controller.c: (GST_START_TEST):
15073 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15074 complete checks for gstbuffer; would be nice if I could get the
15075 gcov stuff to work so I can see if I actually completed gstbuffer.c
15076 * check/gstcheck.h:
15077 add ASSERT_BUFFER_REFCOUNT
15079 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
15081 * docs/gst/gstreamer-sections.txt:
15082 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
15084 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
15085 spew out a warning if a tag that is already registered
15086 is re-registered, unless it is re-registered with a
15087 different type (#308438).
15089 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
15091 * docs/pwg/appendix-porting.xml:
15092 * docs/pwg/building-state.xml:
15093 Add some paragraphs about state changes in 0.9 to the PWG
15094 and the porting guide, in particular about the new meaning
15095 of GST_STATE_PAUSED and how to write state change functions
15096 with concurrent access by multiple threads in mind.
15098 2005-08-11 Stefan Kost <ensonic@users.sf.net>
15100 * docs/gst/gstreamer-docs.sgml:
15101 * docs/libs/gstreamer-libs-docs.sgml:
15102 added deprecation and since indexes
15103 * libs/gst/controller/gst-controller.c:
15104 * libs/gst/controller/gst-helper.c:
15108 2005-08-11 Wim Taymans <wim@fluendo.com>
15110 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
15111 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
15112 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
15113 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
15114 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
15115 (gst_ghost_pad_set_target):
15116 Actually implement (re)setting the target on a ghostpad
15117 as described in the docs.
15119 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
15121 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
15122 Check whether GST_DEBUG_NO_COLOR environment variable is
15123 set and disable coloured debug output if that is the case.
15125 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
15127 * gst/base/gsttypefindhelper.c: (helper_find_peek),
15128 (gst_type_find_helper):
15129 The memory returned by gst_type_find_peek() needs to
15130 stay valid until the end of a typefind function, and
15131 typefind functions may keep results from different
15132 offsets around, so we can't just unref the buffer from
15133 the previous _peek(), but have to save all buffers
15134 returned by _peek() until typefinding is done and only
15137 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
15139 * docs/gst/gstreamer-sections.txt:
15141 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
15143 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15145 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
15146 Fix a pretty good memleak.
15148 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
15150 * gst/gstiterator.h:
15151 Fix wrong include and 'make distcheck'.
15153 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15155 * gst/gstbin.c: (bin_bus_handler):
15156 Use gst_element_post_message() instead.
15158 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
15160 * gst/base/gstadapter.h:
15161 * gst/base/gstbasesink.h:
15162 * gst/base/gstbasesrc.h:
15163 * gst/base/gstbasetransform.h:
15164 * gst/base/gstcollectpads.h:
15165 * gst/base/gstpushsrc.h:
15166 * gst/gstiterator.h:
15167 Add padding to our base elements' class and instance structs and
15168 to GstIterator (you will need to rebuild all plugins and apps!)
15170 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15172 * gst/gstbin.c: (bin_bus_handler):
15173 Make default message forwarding from child->bus to bin->bus
15174 threadsafe and make it not emit warnings if the parent has no bus.
15176 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15178 * gst/gstelement.c: (activate_pads):
15179 On paused->ready, set pad->caps to NULL, as is the documented
15180 behaviour in this state change. Fixes playback of series of
15181 media files when visualization is enabled in Totem.
15183 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15185 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15186 Allow NULL as filter-caps (which means "any").
15188 2005-08-05 Stefan Kost <ensonic@users.sf.net>
15190 * docs/libs/gstreamer-libs-sections.txt:
15191 * libs/gst/controller/gst-controller.c:
15192 * libs/gst/controller/gst-controller.h:
15193 * libs/gst/controller/gst-helper.c:
15194 adding more entries to the docs and fix small doc-bugs
15196 2005-08-05 Stefan Kost <ensonic@users.sf.net>
15198 * docs/gst/gstreamer-docs.sgml:
15199 * docs/gst/gstreamer-sections.txt:
15200 * docs/gst/gstreamer.types:
15201 * docs/gst/tmpl/gstbasesink.sgml:
15202 * docs/gst/tmpl/gstbasesrc.sgml:
15203 * docs/gst/tmpl/gstbasetransform.sgml:
15204 * docs/gst/tmpl/gstfakesrc.sgml:
15205 * gst/base/gstcollectpads.c:
15206 * gst/base/gstcollectpads.h:
15207 * libs/gst/controller/gst-controller.c:
15208 * libs/gst/controller/gst-controller.h:
15209 * libs/gst/controller/gst-helper.c:
15210 * libs/gst/controller/gst-interpolation.c:
15211 * libs/gst/controller/lib.c:
15212 added long/short desc for controller docs
15213 added collectpads base class docs
15214 added correct includes to base-class docs
15216 2005-08-05 Stefan Kost <ensonic@users.sf.net>
15218 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
15219 (gst_test_mono_source_set_property),
15220 (gst_test_mono_source_class_init), (GST_START_TEST),
15221 (gst_controller_suite):
15222 * docs/gst/gstreamer-docs.sgml:
15223 * docs/gst/gstreamer-sections.txt:
15224 * docs/gst/gstreamer.types:
15225 * docs/libs/gstreamer-libs-docs.sgml:
15226 * docs/libs/gstreamer-libs-sections.txt:
15227 * gst/base/gstadapter.c:
15228 * libs/gst/controller/gst-controller.c:
15229 (gst_controlled_property_new), (gst_controlled_property_free),
15230 (gst_controller_new_valist),
15231 (gst_controller_remove_properties_valist),
15232 (gst_controller_sink_values), (_gst_controller_finalize):
15233 * libs/gst/controller/gst-controller.h:
15234 * libs/gst/controller/gst-helper.c:
15235 (gst_object_control_properties), (gst_object_uncontrol_properties),
15236 (gst_object_get_controller), (gst_object_set_controller),
15237 (gst_object_sink_values), (gst_object_get_value_arrays),
15238 (gst_object_get_value_array):
15239 more tests (and fixes) for the controller
15240 more docs for the controller
15241 integrated companies docs for the adapter
15243 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
15245 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
15246 (GST_START_TEST), (fakesrc_suite):
15247 add tests for sizetype
15249 2005-08-04 Andy Wingo <wingo@pobox.com>
15251 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
15252 fixes buffer_alloc proxying among other things.
15254 * gst/base/gstbasetransform.c:
15255 * gst/base/gstbasetransform.h:
15256 Revert patch to gstbasetransform from 7-28 removing
15259 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
15260 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
15261 Semantics changed, should return not the size of the output buffer
15262 but the byte size of a buffer with a given caps.
15264 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
15266 (gst_base_transform_configure_caps): Don't set out_size here: (in,
15267 out) are not the pad caps until setcaps finishes.
15268 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
15269 not-in-place case as well. Deal with changing from in-place to
15270 not-in-place within calling pad_alloc_buffer. Still a bit
15271 concerned about the overhead here...
15273 2005-08-03 Andy Wingo <wingo@pobox.com>
15275 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
15276 fixating is an error.
15278 2005-08-04 Edward Hervey <edward@fluendo.com>
15280 * gst/base/gstadapter.h:
15281 Added gst_adapter_get_type() to the header
15283 2005-08-03 Stefan Kost <ensonic@users.sf.net>
15285 * check/Makefile.am:
15286 * check/gst-libs/controller.c:
15287 * libs/gst/controller/gst-controller.c:
15288 (gst_controller_new_valist):
15289 added check test suite for the controller
15290 * gst/base/gstpushsrc.c:
15293 2005-08-03 Stefan Kost <ensonic@users.sf.net>
15295 * docs/gst/Makefile.am:
15296 * docs/gst/gstreamer-docs.sgml:
15297 * docs/gst/gstreamer-sections.txt:
15298 * docs/gst/gstreamer.types:
15299 * docs/gst/tmpl/gstfakesrc.sgml:
15301 * gst/base/gstbasesink.c:
15302 * gst/base/gstbasesink.h:
15303 * gst/base/gstbasesrc.c:
15304 * gst/base/gstbasesrc.h:
15305 * gst/base/gstbasetransform.c:
15306 * gst/base/gstpushsrc.c:
15307 * gst/base/gstpushsrc.h:
15308 add short/long description docs to base classes
15309 add pushsrc to the docs
15310 remove consolidated doc fragments
15312 2005-08-03 Stefan Kost <ensonic@users.sf.net>
15315 * docs/libs/Makefile.am:
15316 * docs/libs/gstreamer-libs-docs.sgml:
15317 * docs/libs/gstreamer-libs-sections.txt:
15318 * docs/libs/gstreamer-libs.types:
15319 * examples/Makefile.am:
15320 * examples/controller/.cvsignore:
15321 * examples/controller/Makefile.am:
15322 * examples/controller/audio-example.c: (main):
15323 * libs/gst/Makefile.am:
15324 * libs/gst/controller/.cvsignore:
15325 * libs/gst/controller/Makefile.am:
15326 * libs/gst/controller/gst-controller.c:
15327 (on_object_controlled_property_changed), (gst_timed_value_compare),
15328 (gst_timed_value_find),
15329 (gst_controlled_property_set_interpolation_mode),
15330 (gst_controlled_property_new), (gst_controlled_property_free),
15331 (gst_controller_find_controlled_property),
15332 (gst_controller_new_valist), (gst_controller_new),
15333 (gst_controller_remove_properties_valist),
15334 (gst_controller_remove_properties), (gst_controller_set),
15335 (gst_controller_set_from_list), (gst_controller_unset),
15336 (gst_controller_get), (gst_controller_get_all),
15337 (gst_controller_sink_values), (gst_controller_get_value_arrays),
15338 (gst_controller_get_value_array),
15339 (gst_controller_set_interpolation_mode),
15340 (_gst_controller_finalize), (_gst_controller_init),
15341 (_gst_controller_class_init), (gst_controller_get_type):
15342 * libs/gst/controller/gst-controller.h:
15343 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
15344 (g_object_uncontrol_properties), (g_object_get_controller),
15345 (g_object_set_controller), (g_object_sink_values),
15346 (g_object_get_value_arrays), (g_object_get_value_array):
15347 * libs/gst/controller/gst-interpolation.c:
15348 (gst_controlled_property_find_timed_value_node),
15349 (interpolate_none_get), (interpolate_trigger_get),
15350 (interpolate_trigger_get_value_array):
15351 * libs/gst/controller/lib.c: (gst_controller_init):
15352 * pkgconfig/Makefile.am:
15353 * pkgconfig/gstreamer-control-uninstalled.pc.in:
15354 * pkgconfig/gstreamer-control.pc.in:
15355 * testsuite/Makefile.am:
15356 * testsuite/controller/.cvsignore:
15357 * testsuite/controller/Makefile.am:
15358 * testsuite/controller/interpolator.c: (main):
15359 added controller code
15360 removed dparam pc files
15362 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
15363 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
15364 (gst_collectpads_stop):
15365 Broadcast the condition when shutting down, to make sure we wake all
15366 threads up. Shut down pads on finalize, for safety.
15368 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
15369 * gst/base/gstbasetransform.c: (gst_base_transform_init),
15370 (gst_base_transform_handle_buffer),
15371 (gst_base_transform_change_state):
15372 Handle PAUSED->READY->PAUSED transition after negotiation
15374 * gst/gstmessage.c: (gst_message_init):
15375 Extra piece of debug for new messages.
15377 2005-08-01 Stefan Kost <ensonic@users.sf.net>
15380 * docs/gst/tmpl/gstbasesrc.sgml:
15381 * docs/gst/tmpl/gstelement.sgml:
15382 * docs/gst/tmpl/gstevent.sgml:
15383 * docs/gst/tmpl/gstfakesrc.sgml:
15384 * docs/gst/tmpl/gstformat.sgml:
15385 * docs/gst/tmpl/gstghostpad.sgml:
15386 * docs/gst/tmpl/gstpad.sgml:
15387 * docs/gst/tmpl/gstquery.sgml:
15388 * docs/gst/tmpl/gststructure.sgml:
15389 * docs/gst/tmpl/gsttaglist.sgml:
15390 * docs/gst/tmpl/gstvalue.sgml:
15391 * docs/libs/gstreamer-libs-docs.sgml:
15392 * docs/libs/gstreamer-libs-sections.txt:
15393 * docs/libs/gstreamer-libs.types:
15394 * libs/gst/Makefile.am:
15395 * libs/gst/control/.cvsignore:
15396 * libs/gst/control/Makefile.am:
15397 * libs/gst/control/control.c:
15398 * libs/gst/control/control.h:
15399 * libs/gst/control/dparam.c:
15400 * libs/gst/control/dparam.h:
15401 * libs/gst/control/dparam_smooth.c:
15402 * libs/gst/control/dparam_smooth.h:
15403 * libs/gst/control/dparamcommon.h:
15404 * libs/gst/control/dparammanager.c:
15405 * libs/gst/control/dparammanager.h:
15406 * libs/gst/control/dplinearinterp.c:
15407 * libs/gst/control/dplinearinterp.h:
15408 * libs/gst/control/unitconvert.c:
15409 * libs/gst/control/unitconvert.h:
15410 * testsuite/Makefile.am:
15411 * testsuite/dynparams/.cvsignore:
15412 * testsuite/dynparams/Makefile.am:
15413 * testsuite/dynparams/dparamstest.c:
15414 * tools/Makefile.am:
15415 * tools/gst-inspect.c: (print_element_info), (main):
15416 * tools/gst-xmlinspect.c: (print_element_info), (main):
15417 deactivate and remove dparams (libgstcontrol)
15419 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
15421 * gst/elements/gsttypefindelement.c:
15422 (gst_type_find_element_have_type), (gst_type_find_element_init),
15423 (stop_typefinding), (gst_type_find_element_handle_event),
15424 (gst_type_find_element_chain), (gst_type_find_element_getrange):
15425 * gst/elements/gsttypefindelement.h:
15426 Set caps on all outgoing buffers, not just the first one.
15428 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
15430 * gst/elements/gsttypefindelement.c:
15431 (gst_type_find_element_have_type),
15432 (gst_type_find_element_check_set_buffer_caps),
15433 (gst_type_find_element_init), (stop_typefinding),
15434 (gst_type_find_element_handle_event),
15435 (gst_type_find_element_chain), (gst_type_find_element_getrange):
15436 * gst/elements/gsttypefindelement.h:
15437 Set caps on first outgoing buffer when we've found the type.
15439 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
15441 * docs/gst/gstreamer-docs.sgml:
15442 * docs/gst/gstreamer-sections.txt:
15443 * docs/gst/tmpl/gstscheduler.sgml:
15444 * docs/gst/tmpl/gstschedulerfactory.sgml:
15445 Remove some old cruft from docs.
15447 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
15450 Fix inline docs for GstPadLinkReturn.
15452 * gst/gststructure.c: (gst_structure_has_name):
15453 * gst/gststructure.h:
15454 * docs/gst/gstreamer-sections.txt:
15455 New API: gst_structure_has_name().
15457 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
15460 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
15461 and _LARGEFILE_SOURCE in config.h as required. Do not
15462 export those flags in our .pc files any longer (#142209).
15464 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
15466 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
15467 (gst_file_sink_do_seek), (gst_file_sink_event),
15468 (gst_file_sink_get_current_offset), (gst_file_sink_render):
15469 Redo seek/tell calls with large file support in mind; add some
15470 debugging messages; add log message that tells us when large
15471 file support is unavailable or not enabled for some reason.
15473 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
15474 Add log message that tells us when large file support
15475 is unavailable or not enabled for some reason.
15477 2005-07-29 Wim Taymans <wim@fluendo.com>
15479 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15480 Added test for removing an element with ghostpad from a bin.
15481 Fixed test as current implementation does the right thing.
15483 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
15484 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
15485 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
15486 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
15487 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
15488 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
15489 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
15490 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15491 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
15492 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
15493 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
15494 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
15495 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
15496 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
15497 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
15498 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
15499 * gst/gstghostpad.h:
15500 Clean up ghostpads, remove properties for internal stuff.
15503 Prepare for switching targets, not all use cases work yet.
15505 2005-07-29 Wim Taymans <wim@fluendo.com>
15507 * docs/design/part-gstghostpad.txt:
15510 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15511 (gst_bin_remove_func):
15512 Unlinking pads while holding the bin LOCK is not a good
15515 * gst/gstpad.c: (gst_pad_class_init),
15516 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
15517 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
15518 No prob setting template after creating the pad.
15520 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
15522 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
15523 (gst_bus_peek), (gst_bus_source_dispatch),
15524 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
15525 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
15526 gst_bus_poll may be called from other threads. Handle
15527 this nicely by not making poll_data disappear off the
15528 stack once gst_bus_poll returns.
15529 gst_bus_peek now increments the refcount on the returned
15532 2005-07-29 Wim Taymans <wim@fluendo.com>
15534 * docs/design/part-gstghostpad.txt:
15535 Overview of current GhostPad datastructures and use
15536 cases for changing the target.
15538 2005-07-28 Wim Taymans <wim@fluendo.com>
15540 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15541 Added checks for hierarchy consistency whan adding linked
15544 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15545 Added check to test element scheduling without bin/pipeline.
15547 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15548 First add elements to bin, then link.
15550 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15551 (gst_bin_remove_func):
15552 Unlink pads from elements added/removed from bin to maintain
15553 hierarchy consistency.
15555 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15557 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
15558 (gst_base_transform_handle_buffer):
15559 * gst/base/gstbasetransform.h:
15560 Remove broken delay_configure (fixes renegotiation of software
15561 scaling pipelines); remove some leftover printf()s.
15563 2005-07-28 Wim Taymans <wim@fluendo.com>
15565 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15566 Added some more tests for wrong hierarchy
15568 * docs/design/part-overview.txt:
15571 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
15574 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
15575 (gst_element_dispose):
15576 Some more cleanups.
15578 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15579 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
15580 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15581 (gst_pad_set_caps), (gst_pad_send_event):
15582 Check for correct hierarchy when linking pads. Moving to
15583 strict requirement for ghostpads when linking elements in
15587 Clean ups. Added WRONG_HIERARCHY return value.
15589 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15591 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15592 Better debug if no transform is possible.
15594 2005-07-27 Wim Taymans <wim@fluendo.com>
15596 * docs/random/wtay/network-transp:
15597 Some old doc I had.
15599 2005-07-27 Wim Taymans <wim@fluendo.com>
15601 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15602 (gst_dp_event_from_packet):
15603 Fix serialization of seek events.
15605 2005-07-27 Wim Taymans <wim@fluendo.com>
15607 * check/gst-libs/gdp.c: (GST_START_TEST):
15608 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15609 Fix compilation and fix event serialization.
15611 2005-07-27 Wim Taymans <wim@fluendo.com>
15614 * docs/design/part-TODO.txt:
15615 * docs/design/part-events.txt:
15618 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15619 (gst_base_sink_event), (gst_base_sink_do_sync),
15620 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15621 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15622 (gst_base_src_do_seek), (gst_base_src_event_handler),
15623 (gst_base_src_loop):
15624 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15625 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15626 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15627 (gst_base_transform_event), (gst_base_transform_handle_buffer),
15628 (gst_base_transform_set_passthrough),
15629 (gst_base_transform_is_passthrough):
15630 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15631 * gst/elements/gstfilesink.c: (gst_file_sink_event):
15637 * gst/gstelement.c: (gst_element_seek):
15638 * gst/gstelement.h:
15639 Update gst_element_seek.
15641 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
15642 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
15643 (gst_event_new_flush_start), (gst_event_new_flush_stop),
15644 (gst_event_new_eos), (gst_event_new_newsegment),
15645 (gst_event_parse_newsegment), (gst_event_new_tag),
15646 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
15647 (gst_event_parse_qos), (gst_event_new_seek),
15648 (gst_event_parse_seek), (gst_event_new_navigation):
15650 Make GstEvent use GstStructure. Add parsing code, make sure the
15651 API is sufficiently generic.
15652 Mark possible directions of events and serialization.
15654 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
15655 (_gst_message_copy), (gst_message_new_segment_start),
15656 (gst_message_new_segment_done), (gst_message_new_custom),
15657 (gst_message_parse_segment_start),
15658 (gst_message_parse_segment_done):
15661 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15662 (gst_pad_set_caps), (gst_pad_send_event):
15663 Update for new events.
15664 Catch events sent in wrong directions.
15666 * gst/gstqueue.c: (gst_queue_link_src),
15667 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15668 (gst_queue_handle_src_query):
15673 Remove event code from this file.
15675 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15676 (gst_dp_event_from_packet):
15679 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15681 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
15682 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15683 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
15684 Make debugging actually useful.
15686 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15688 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
15689 (gst_pad_fixate_caps):
15690 Implement default fixation once again, so that gst_pad_fixate()
15691 actually does anything at all. This probably needs to be some
15692 sort of a last resort, and use profile-based fixation first, but
15693 since that doesn't exist yet, this is the best we have. Fixes
15694 visualization in Totem.
15696 2005-07-22 Wim Taymans <wim@fluendo.com>
15698 * docs/design/part-events.txt:
15701 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15702 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
15703 (gst_base_sink_activate_pull):
15704 Some more comments.
15706 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
15707 (gst_fake_src_create):
15708 Fix handoff marshall.
15710 * gst/elements/gstidentity.c: (gst_identity_class_init),
15711 (gst_identity_transform_ip):
15712 We're a real inplace element.
15714 * gst/gstbus.c: (gst_bus_post):
15715 Added some comments.
15717 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
15718 * tests/muxing/case1.c: (main):
15719 * tests/sched/dynamic-pipeline.c: (main):
15720 * tests/sched/interrupt1.c: (main):
15721 * tests/sched/interrupt2.c: (main):
15722 * tests/sched/interrupt3.c: (main):
15723 * tests/sched/runxml.c: (main):
15724 * tests/sched/sched-stress.c: (main):
15725 * tests/seeking/seeking1.c: (event_received), (main):
15726 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15728 * tests/threadstate/threadstate3.c: (main):
15729 * tests/threadstate/threadstate4.c: (main):
15730 * tests/threadstate/threadstate5.c: (main):
15733 2005-07-21 Wim Taymans <wim@fluendo.com>
15735 * docs/design/part-seeking.txt:
15736 Some small additions.
15738 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15739 (gst_base_sink_get_times), (gst_base_sink_do_sync),
15740 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15741 * gst/base/gstbasesink.h:
15742 discont values are gint64, handle the math correctly.
15744 * gst/base/gstbasesrc.c: (gst_base_src_loop):
15745 Make the basesrc report error if the source pad is not linked.
15747 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15748 (gst_queue_loop), (gst_queue_handle_src_query),
15749 (gst_queue_src_activate_push):
15750 Make queue collect data even if the srcpad is not linked.
15751 Start pushing out data as soon as it is linked.
15753 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
15755 Added gst_flow_get_name() to ease error reporting.
15757 2005-07-20 Wim Taymans <wim@fluendo.com>
15759 * gst/gstmessage.c: (gst_message_new_segment_start),
15760 (gst_message_new_segment_done), (gst_message_parse_segment_start),
15761 (gst_message_parse_segment_done):
15762 * gst/gstmessage.h:
15763 Added a bunch of messages for advanced seeking.
15765 * gst/parse/grammar.y:
15766 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
15767 (gst_dpman_state_changed):
15768 Fix some new-pad -> pad-added signals
15770 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15772 * docs/manual/appendix-porting.xml:
15773 * docs/pwg/appendix-porting.xml:
15774 Document new-pad/state-change signal renames and the FixedList
15777 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15779 * docs/manual/advanced-autoplugging.xml:
15780 * docs/manual/basics-helloworld.xml:
15781 * docs/manual/basics-pads.xml:
15782 * docs/random/ds/0.9-suggested-changes:
15783 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15784 * gst/gstelement.h:
15788 * gst/gststructure.c: (gst_structure_value_get_generic_type),
15789 (gst_structure_parse_array), (gst_structure_parse_value):
15790 * gst/gstvalue.c: (gst_type_is_fixed),
15791 (gst_value_list_prepend_value), (gst_value_list_append_value),
15792 (gst_value_list_get_size), (gst_value_list_get_value),
15793 (gst_value_transform_array_string), (gst_value_serialize_array),
15794 (gst_value_deserialize_array), (gst_value_intersect_array),
15795 (gst_value_is_fixed), (_gst_value_initialize):
15797 GstElement::new-pad -> pad-added, GstElement::state-change ->
15798 state-changed, GstValueFixedList -> GstValueArray, add format and
15799 flags as their own arguments in gst_element_seek() (should improve
15800 "bindeability"), remove function generators since they don't work
15801 under a whole bunch of compilers (they were deprecated already
15804 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15806 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15807 (_gst_debug_register_funcptr):
15809 Fix illegal cast on some platforms (#309253).
15811 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15813 * gst/gstmessage.c: (gst_message_new_custom):
15814 * gst/gstmessage.h:
15815 Add _new_custom, make _new_application a macro to _new_custom.
15817 2005-07-20 Wim Taymans <wim@fluendo.com>
15819 * gst/base/gstbasesrc.c: (gst_base_src_init),
15820 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15821 * gst/base/gstbasesrc.h:
15822 Add a gboolean to decide when to push out a discont.
15824 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15825 (gst_queue_loop), (gst_queue_handle_src_query),
15826 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
15827 (gst_queue_set_property), (gst_queue_get_property):
15830 * tests/threadstate/threadstate1.c: (main):
15831 Make a thread test compile and run... very silly..
15834 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15836 * docs/manual/appendix-porting.xml:
15837 Mention removal of libgstgconf-0.9.la and existence of gconf
15840 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
15842 * docs/pwg/advanced-clock.xml:
15843 * docs/pwg/appendix-porting.xml:
15844 * docs/pwg/intro-preface.xml:
15845 * docs/pwg/other-base.xml:
15846 * docs/pwg/other-manager.xml:
15847 * docs/pwg/other-nton.xml:
15848 * docs/pwg/other-ntoone.xml:
15849 * docs/pwg/other-oneton.xml:
15850 * docs/pwg/pwg.xml:
15851 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
15852 demuxer), remove n-to-n (was never written), fix some code examples
15853 and links and update the porting section to include all this.
15855 2005-07-19 Wim Taymans <wim@fluendo.com>
15857 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
15858 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
15859 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
15860 (gst_queue_src_activate_push), (gst_queue_change_state),
15861 (gst_queue_get_property):
15863 Propagate GstFlowReturn more intelligently upstream and output
15864 an ERROR/EOS when streaming stopped due to fatal error.
15866 2005-07-19 Wim Taymans <wim@fluendo.com>
15868 * tools/gst-launch.c: (check_intr), (event_loop), (main):
15869 Don't block forever for the state change to complete, the
15870 pipeline already did with a sensible timeout.
15872 2005-07-19 Wim Taymans <wim@fluendo.com>
15874 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15875 Make sure we never call the create function is we
15878 2005-07-19 Andy Wingo <wingo@pobox.com>
15880 * gst/parse/parse.l: Attempt to solve bug #172815.
15882 2005-07-19 Wim Taymans <wim@fluendo.com>
15884 * docs/design/part-clocks.txt:
15885 * docs/design/part-events.txt:
15886 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
15887 Small docs updates.
15888 Only update the seeking values when we are not
15891 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
15893 * gst/base/gstbasesrc.c: (gst_base_src_loop):
15894 Oops, ignore the result of gst_pad_push_event here.
15896 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
15898 * gst/base/gstbasesrc.c: (gst_base_src_loop),
15899 (gst_base_src_activate_push):
15900 Send discont event from the loop function, as pads
15901 aren't activated yet in the activate_push handler.
15903 * gst/gstbin.c: (bin_bus_handler):
15904 Don't leak element name.
15906 2005-07-18 Andy Wingo <wingo@pobox.com>
15908 * configure.ac: Use AS_LIBTOOL_TAGS.
15910 2005-07-18 Wim Taymans <wim@fluendo.com>
15912 * docs/gst/gstreamer.types:
15913 Remove deleted types.
15915 2005-07-18 Wim Taymans <wim@fluendo.com>
15917 * check/elements/gstfakesrc.c: (GST_START_TEST):
15920 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
15921 (init_popt_callback):
15923 * gst/gst_private.h:
15924 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
15925 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
15928 * gst/gstconfig.h.in:
15929 * gst/gstelement.c: (gst_element_class_init),
15930 (gst_element_set_base_time), (gst_element_get_base_time),
15931 (iterator_fold_with_resync), (gst_element_change_state),
15932 (gst_element_dispose), (gst_element_get_bus):
15933 * gst/gstelement.h:
15934 * gst/gstelementfactory.h:
15935 * gst/gsterror.c: (_gst_core_errors_init):
15938 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15940 * gst/gstinfo.c: (_gst_debug_init):
15941 * gst/gstmessage.c: (_gst_message_copy):
15942 * gst/gstmessage.h:
15943 * gst/gstminiobject.h:
15946 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15947 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
15950 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15951 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15952 (gst_pipeline_get_last_stream_time):
15953 * gst/gstpipeline.h:
15954 * gst/gstpluginfeature.h:
15956 * gst/gstscheduler.c:
15957 * gst/gstscheduler.h:
15958 * gst/gststructure.h:
15959 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15960 (gst_task_finalize), (gst_task_func), (gst_task_create),
15961 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
15962 (gst_task_stop), (gst_task_pause):
15964 * gst/gsttypefind.h:
15966 * gst/registries/gstlibxmlregistry.c: (load_feature),
15967 (gst_xml_registry_load), (gst_xml_registry_save_feature):
15968 * gst/registries/gstxmlregistry.c:
15969 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
15970 * gst/schedulers/threadscheduler.c:
15971 * libs/gst/control/dparammanager.h:
15972 * tools/gst-inspect.c: (print_element_list),
15973 (print_plugin_features), (print_element_features):
15974 * tools/gst-xmlinspect.c: (print_element_list),
15975 (print_plugin_info), (main):
15976 Removed plugable schedulers.
15977 Removed Scheduler/Manager from elements.
15978 Removed gsttypes.h, rearranged includes.
15979 Removed dependency pad<->element, element<>pipeline, and
15980 various others, fix includes.
15981 implement gst_pad_get_parent() with gst_object_get_parent()
15982 Make GstTask sefcontained.
15983 Fix _get_state() on GstBin, it did not return ASYNC with a 0
15985 Fix endless loop in iterator_fold_with_resync.
15988 2005-07-18 Wim Taymans <wim@fluendo.com>
15994 2005-07-18 Wim Taymans <wim@fluendo.com>
15997 No more cothreads.h
15999 2005-07-18 Wim Taymans <wim@fluendo.com>
16003 Let's remove these.
16005 2005-07-18 Wim Taymans <wim@fluendo.com>
16007 * docs/design/part-dynamic.txt:
16008 * docs/design/part-events.txt:
16009 * docs/design/part-seeking.txt:
16010 Some more docs in the works.
16012 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
16013 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
16014 (gst_base_transform_setcaps), (gst_base_transform_get_size),
16015 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16016 (gst_base_transform_handle_buffer),
16017 (gst_base_transform_sink_activate_push),
16018 (gst_base_transform_src_activate_pull),
16019 (gst_base_transform_set_passthrough),
16020 (gst_base_transform_is_passthrough):
16023 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
16026 * gst/gstevent.c: (gst_event_finalize):
16029 * gst/gstutils.c: (gst_element_unlink),
16030 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
16031 (gst_pad_proxy_setcaps):
16033 Add _get_parent_element() to get a pads parent as an element.
16035 2005-07-18 Wim Taymans <wim@fluendo.com>
16037 * check/gst/gstbin.c: (GST_START_TEST):
16040 2005-07-18 Wim Taymans <wim@fluendo.com>
16042 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16043 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16044 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16045 (gst_base_sink_event), (gst_base_sink_do_sync),
16046 (gst_base_sink_chain), (gst_base_sink_loop),
16047 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
16048 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
16050 Fix logic for returning ASYNC when not prerolled.
16052 2005-07-18 Wim Taymans <wim@fluendo.com>
16054 * gst/gstqueue.c: (gst_queue_handle_sink_event):
16055 Fix nasty refcount bug.
16057 2005-07-16 Philippe Khalaf <burger@speedy.org>
16059 * gst/elements/gstfdsrc.c:
16060 * gst/elements/gstfdsrc.h:
16061 * gst/elements/gstelements.c:
16062 * gst/elements/Makefile.am:
16063 Ported fdsrc to 0.9.
16065 2005-07-16 Wim Taymans <wim@fluendo.com>
16067 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16068 (gst_base_sink_do_sync):
16071 2005-07-16 Wim Taymans <wim@fluendo.com>
16073 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16074 (gst_base_sink_event), (gst_base_sink_get_times),
16075 (gst_base_sink_do_sync), (gst_base_sink_change_state):
16076 * gst/base/gstbasesink.h:
16077 Store and use discont values when syncing buffers as described
16080 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
16081 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
16082 (gst_base_src_activate_push):
16083 Push discont event when starting.
16085 * gst/elements/gstidentity.c: (gst_identity_transform):
16088 * gst/gstbin.c: (gst_bin_change_state):
16089 Small cleanups in base_time distribution.
16091 * gst/gstelement.c: (gst_element_set_base_time),
16092 (gst_element_get_base_time), (gst_element_change_state):
16093 * gst/gstelement.h:
16094 Added methods for the base_time of the element.
16097 * gst/gstpipeline.c: (gst_pipeline_send_event),
16098 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
16099 (gst_pipeline_get_last_stream_time):
16100 * gst/gstpipeline.h:
16102 Handle seeking as described in design doc, remove stream_time
16104 Cleanups clock and stream_time selection code. Added accessors
16105 for the stream_time.
16108 2005-07-16 Andy Wingo <wingo@pobox.com>
16110 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
16113 2005-07-16 Wim Taymans <wim@fluendo.com>
16115 * check/gst/gstbin.c: (GST_START_TEST):
16116 Make elements silent as the deep_notify refs the
16117 parent, which might make the test fail.
16119 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
16120 Don't hold the lock for too long.
16122 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
16124 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
16125 Don't unref the caps we passed to gst_caps_make_writable() after
16126 passing them. gst_caps_make_writable() will do that for us.
16128 2005-07-15 Andy Wingo <wingo@pobox.com>
16130 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
16133 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
16134 own marshalling function for the handoff signal. Properly type the
16135 buffer as a buffer. Fixes some warnings. Should do a more general
16137 (gst_identity_class_init): Plug into the right marshaller.
16139 2005-07-15 Wim Taymans <wim@fluendo.com>
16141 * docs/design/part-TODO.txt:
16142 * docs/design/part-clocks.txt:
16143 * docs/design/part-element-sink.txt:
16144 * docs/design/part-events.txt:
16145 * docs/design/part-gstpipeline.txt:
16146 Updated docs, mostly DISCONT related.
16148 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
16150 * docs/pwg/building-pads.xml:
16151 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
16153 2005-07-15 Andy Wingo <wingo@pobox.com>
16155 * tools/gst-typefind.c: Update, add copyright block.
16157 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
16158 Normalize and truncate caps before fixation.
16161 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
16162 discards all but the first structure from its argument.
16164 2005-07-15 Wim Taymans <wim@fluendo.com>
16166 * gst/base/gstbasetransform.c: (gst_base_transform_init),
16167 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
16168 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16169 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
16170 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
16171 (gst_base_transform_chain), (gst_base_transform_change_state),
16172 (gst_base_transform_set_passthrough),
16173 (gst_base_transform_is_passthrough):
16174 * gst/base/gstbasetransform.h:
16175 Make passthrough work using the bufferpools.
16176 Changed API a bit, subclasses have to write into a buffer
16177 provided by the base class.
16178 More debug info in nego functions.
16180 * gst/elements/gstidentity.c: (gst_identity_init),
16181 (gst_identity_transform):
16182 Port to new base class.
16184 2005-07-15 Wim Taymans <wim@fluendo.com>
16186 * gst/gstmessage.c: (gst_message_new_state_changed):
16187 * tools/gst-launch.c: (event_loop), (main):
16188 Totally dump messages in -launch with the -m option.
16189 Fix message name for State messages,
16191 2005-07-14 Wim Taymans <wim@fluendo.com>
16193 * gst/base/gstbasesrc.c: (gst_base_src_loop):
16194 Post error messages on errors.
16196 2005-07-14 Wim Taymans <wim@fluendo.com>
16198 * gst/gstcaps.c: (gst_caps_do_simplify):
16202 Define error for stream stopped.
16204 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16205 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
16206 Do proper return values.
16208 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16209 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
16210 (gst_pad_get_range):
16211 Better return values.
16214 Reorganise return values, add macro to check for fatal errors.
16216 * gst/gstqueue.c: (gst_queue_chain):
16217 Return proper GstFlowReturn values,
16219 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
16221 * docs/gst/gstreamer-sections.txt:
16222 * docs/gst/gstreamer.types:
16223 * docs/gst/tmpl/gst.sgml:
16224 * docs/gst/tmpl/gstbasesink.sgml:
16225 * docs/gst/tmpl/gstbasesrc.sgml:
16226 * docs/gst/tmpl/gstbasetransform.sgml:
16227 * docs/gst/tmpl/gstbin.sgml:
16228 * docs/gst/tmpl/gstbuffer.sgml:
16229 * docs/gst/tmpl/gstcaps.sgml:
16230 * docs/gst/tmpl/gstclock.sgml:
16231 * docs/gst/tmpl/gstcompat.sgml:
16232 * docs/gst/tmpl/gstconfig.sgml:
16233 * docs/gst/tmpl/gstelement.sgml:
16234 * docs/gst/tmpl/gstelementdetails.sgml:
16235 * docs/gst/tmpl/gstelementfactory.sgml:
16236 * docs/gst/tmpl/gstenumtypes.sgml:
16237 * docs/gst/tmpl/gsterror.sgml:
16238 * docs/gst/tmpl/gstevent.sgml:
16239 * docs/gst/tmpl/gstfakesink.sgml:
16240 * docs/gst/tmpl/gstfakesrc.sgml:
16241 * docs/gst/tmpl/gstfilesink.sgml:
16242 * docs/gst/tmpl/gstfilesrc.sgml:
16243 * docs/gst/tmpl/gstfilter.sgml:
16244 * docs/gst/tmpl/gstformat.sgml:
16245 * docs/gst/tmpl/gstghostpad.sgml:
16246 * docs/gst/tmpl/gstimplementsinterface.sgml:
16247 * docs/gst/tmpl/gstindex.sgml:
16248 * docs/gst/tmpl/gstindexfactory.sgml:
16249 * docs/gst/tmpl/gstinfo.sgml:
16250 * docs/gst/tmpl/gstiterator.sgml:
16251 * docs/gst/tmpl/gstmacros.sgml:
16252 * docs/gst/tmpl/gstmemchunk.sgml:
16253 * docs/gst/tmpl/gstminiobject.sgml:
16254 * docs/gst/tmpl/gstobject.sgml:
16255 * docs/gst/tmpl/gstpad.sgml:
16256 * docs/gst/tmpl/gstpadtemplate.sgml:
16257 * docs/gst/tmpl/gstparse.sgml:
16258 * docs/gst/tmpl/gstpipeline.sgml:
16259 * docs/gst/tmpl/gstplugin.sgml:
16260 * docs/gst/tmpl/gstpluginfeature.sgml:
16261 * docs/gst/tmpl/gstquery.sgml:
16262 * docs/gst/tmpl/gstqueue.sgml:
16263 * docs/gst/tmpl/gstregistry.sgml:
16264 * docs/gst/tmpl/gstregistrypool.sgml:
16265 * docs/gst/tmpl/gstscheduler.sgml:
16266 * docs/gst/tmpl/gstschedulerfactory.sgml:
16267 * docs/gst/tmpl/gststructure.sgml:
16268 * docs/gst/tmpl/gstsystemclock.sgml:
16269 * docs/gst/tmpl/gsttaglist.sgml:
16270 * docs/gst/tmpl/gsttagsetter.sgml:
16271 * docs/gst/tmpl/gsttrace.sgml:
16272 * docs/gst/tmpl/gsttrashstack.sgml:
16273 * docs/gst/tmpl/gsttypefind.sgml:
16274 * docs/gst/tmpl/gsttypefindfactory.sgml:
16275 * docs/gst/tmpl/gsttypes.sgml:
16276 * docs/gst/tmpl/gsturihandler.sgml:
16277 * docs/gst/tmpl/gsturitype.sgml:
16278 * docs/gst/tmpl/gstutils.sgml:
16279 * docs/gst/tmpl/gstvalue.sgml:
16280 * docs/gst/tmpl/gstversion.sgml:
16281 * docs/gst/tmpl/gstxml.sgml:
16282 * docs/libs/tmpl/gstcontrol.sgml:
16283 * docs/libs/tmpl/gstdataprotocol.sgml:
16284 * docs/libs/tmpl/gstdparam.sgml:
16285 * docs/libs/tmpl/gstdplinint.sgml:
16286 * docs/libs/tmpl/gstdpman.sgml:
16287 * docs/libs/tmpl/gstdpsmooth.sgml:
16288 * docs/libs/tmpl/gstgetbits.sgml:
16289 * docs/libs/tmpl/gstunitconvert.sgml:
16290 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
16291 (gst_push_src_base_init), (gst_push_src_class_init),
16292 (gst_push_src_init), (gst_push_src_create):
16293 * gst/base/gstpushsrc.h:
16294 * gst/elements/gstelements.c:
16295 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
16296 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
16297 (gst_fake_sink_init), (gst_fake_sink_set_property),
16298 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
16299 (gst_fake_sink_event), (gst_fake_sink_preroll),
16300 (gst_fake_sink_render), (gst_fake_sink_change_state):
16301 * gst/elements/gstfakesink.h:
16302 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16303 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16304 (gst_fake_src_base_init), (gst_fake_src_class_init),
16305 (gst_fake_src_init), (gst_fake_src_event_handler),
16306 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
16307 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
16308 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
16309 (gst_fake_src_create_buffer), (gst_fake_src_create),
16310 (gst_fake_src_start), (gst_fake_src_stop):
16311 * gst/elements/gstfakesrc.h:
16312 * gst/elements/gstfilesink.c: (_do_init),
16313 (gst_file_sink_base_init), (gst_file_sink_class_init),
16314 (gst_file_sink_init), (gst_file_sink_dispose),
16315 (gst_file_sink_set_location), (gst_file_sink_set_property),
16316 (gst_file_sink_get_property), (gst_file_sink_open_file),
16317 (gst_file_sink_close_file), (gst_file_sink_query),
16318 (gst_file_sink_event), (gst_file_sink_render),
16319 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
16320 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
16321 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
16322 * gst/elements/gstfilesink.h:
16323 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
16324 (gst_file_src_class_init), (gst_file_src_init),
16325 (gst_file_src_finalize), (gst_file_src_set_location),
16326 (gst_file_src_set_property), (gst_file_src_get_property),
16327 (gst_file_src_map_region), (gst_file_src_map_small_region),
16328 (gst_file_src_create_mmap), (gst_file_src_create_read),
16329 (gst_file_src_create), (gst_file_src_is_seekable),
16330 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
16331 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
16332 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
16333 (gst_file_src_uri_handler_init):
16334 * gst/elements/gstfilesrc.h:
16335 more autistic cleanliness in functions/names/defines
16337 2005-07-13 Andy Wingo <wingo@pobox.com>
16339 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
16340 source couldn't negotiate.
16342 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
16346 * gst/gstutils.c (gst_element_link_pads_filtered): New old
16347 function. I am channeling Hades. Put your boots on suckers!!!
16349 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
16351 * testsuite/caps/Makefile.am:
16352 * testsuite/caps/value_compare.c:
16353 * testsuite/caps/value_intersect.c:
16354 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16355 move two testsuite apps over to the check dir
16357 2005-07-12 Wim Taymans <wim@fluendo.com>
16359 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
16360 Added more debug info in the negotiate process.
16362 * gst/gstmessage.h:
16363 Prepare for segment playback.
16365 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
16371 * tools/gst-launch.c: (main):
16372 NULL pipeline on errors.
16374 2005-07-12 Andy Wingo <wingo@pobox.com>
16376 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
16377 not it comes from a malloc region. Make sure our copy gets freed.
16379 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
16381 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
16382 * check/gst/gstmessage.c: (GST_START_TEST):
16383 * check/gst/gststructure.c: (GST_START_TEST),
16384 (gst_structure_suite), (main):
16386 * gst/gstelement.c: (gst_element_message_full):
16387 clean up GError and debug string now that they get copied
16388 * gst/gstmessage.c: (gst_message_new_error),
16389 (gst_message_new_warning), (gst_message_parse_error),
16390 (gst_message_parse_warning):
16391 use GST_TYPE_G_ERROR for structure_new, and take copies of
16392 arguments, so that we don't mess up refcounting
16394 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
16396 * check/Makefile.am:
16397 add per-test valgrind targets
16398 * check/gst-libs/gdp.c: (GST_START_TEST),
16399 (gst_data_protocol_suite), (main):
16402 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
16404 * check/Makefile.am:
16405 instate more valgrindable tests
16406 * check/elements/gstfakesrc.c: (chain_func), (event_func),
16407 (GST_START_TEST), (fakesrc_suite):
16408 * check/gst/gstpad.c: (GST_START_TEST):
16409 * check/gst/gststructure.c: (GST_START_TEST):
16411 * docs/gst/tmpl/gstminiobject.sgml:
16412 * gst/gstpad.c: (gst_pad_finalize):
16413 fix the static mutex leak
16415 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
16417 * check/Makefile.am:
16418 add two more tests for valgrinding
16419 * check/gst/gstvalue.c: (GST_START_TEST):
16420 test refcount of deserialized buffer, found a leak
16421 * docs/gst/gstreamer-docs.sgml:
16422 * docs/gst/gstreamer-sections.txt:
16423 * docs/gst/gstreamer.types:
16424 * docs/gst/tmpl/gstminiobject.sgml:
16425 add miniobject to docs
16426 * gst/gstminiobject.c:
16428 * gst/gstvalue.c: (gst_value_deserialize_buffer),
16429 (gst_string_unwrap):
16430 fix a hard-to-find invalid write for one of the tests
16431 fix a leak for deserialized buffers
16433 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16435 * docs/pwg/advanced-events.xml:
16436 * docs/pwg/advanced-request.xml:
16437 * docs/pwg/advanced-scheduling.xml:
16438 * docs/pwg/appendix-porting.xml:
16439 * docs/pwg/building-boiler.xml:
16440 * docs/pwg/intro-preface.xml:
16441 * docs/pwg/other-ntoone.xml:
16442 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
16443 of example code and explanation for pad activation, loop() and
16444 getrange() functions and a bit more. Remove old comments pointing
16446 * examples/pwg/Makefile.am:
16447 Add loop/getrange examples.
16449 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
16452 check for valgrind binary + some fixes
16454 valgrind suppressions for the tests
16455 * check/Makefile.am:
16456 add a valgrind: target that valgrinds the unit tests
16457 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
16458 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16459 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16460 * check/gst/gstghostpad.c:
16462 * check/gst/gstdata.c:
16464 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
16465 (thread_unref), (gst_mini_object_suite), (main):
16467 * gst/gst.c: (gst_deinit):
16469 add a method to clean up.
16470 * gst/gstsystemclock.c: (gst_system_clock_dispose),
16471 (gst_system_clock_obtain):
16472 allow for disposing the system clock.
16473 * tools/gst-launch.c: (main):
16476 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
16478 * docs/gst/tmpl/gstbasesrc.sgml:
16479 * docs/gst/tmpl/gstfakesrc.sgml:
16480 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16481 (gst_base_src_init), (gst_base_src_set_property),
16482 (gst_base_src_get_property), (gst_base_src_get_range),
16483 (gst_base_src_start):
16484 * gst/base/gstbasesrc.h:
16485 add num-buffers property
16486 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16487 (gst_fakesrc_init), (gst_fakesrc_set_property),
16488 (gst_fakesrc_get_property), (gst_fakesrc_create),
16489 (gst_fakesrc_start):
16490 remove num-buffers property
16492 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
16494 * docs/gst/gstreamer-sections.txt:
16495 * docs/gst/tmpl/gstbasesink.sgml:
16496 * docs/gst/tmpl/gstbasesrc.sgml:
16497 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16498 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16499 (gst_base_sink_finalize), (gst_base_sink_set_clock),
16500 (gst_base_sink_set_property), (gst_base_sink_get_property),
16501 (gst_base_sink_handle_object), (gst_base_sink_event),
16502 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16503 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
16504 (gst_base_sink_loop), (gst_base_sink_deactivate),
16505 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
16506 (gst_base_sink_change_state):
16507 * gst/base/gstbasesink.h:
16508 * gst/base/gstbasesrc.h:
16509 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
16510 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16511 (gst_filesink_init):
16512 more macro splitting
16514 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
16516 * gst/gstelement.c: (gst_element_get_bus):
16518 * tools/gst-launch.c: (check_intr), (event_loop):
16521 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
16523 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16526 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
16528 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16529 (gst_base_src_finalize):
16530 add finalize method and clean up properly
16531 * gst/gstpipeline.c: (gst_pipeline_dispose):
16534 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
16536 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
16538 add more things to check
16539 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
16540 * gst/gstelement.c:
16543 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
16545 * check/elements/gstfakesrc.c: (chain_func), (event_func),
16546 (GST_START_TEST), (fakesrc_suite):
16547 * check/gst-libs/gdp.c: (GST_START_TEST):
16548 * check/gst/gst.c: (GST_START_TEST):
16549 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16550 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16551 * check/gst/gstbus.c: (GST_START_TEST):
16552 * check/gst/gstcaps.c: (GST_START_TEST):
16553 * check/gst/gstdata.c: (GST_START_TEST):
16554 * check/gst/gstelement.c: (GST_START_TEST):
16555 * check/gst/gstghostpad.c: (GST_START_TEST):
16556 * check/gst/gstiterator.c: (GST_START_TEST):
16557 * check/gst/gstmessage.c: (GST_START_TEST):
16558 * check/gst/gstobject.c: (GST_START_TEST):
16559 * check/gst/gstpad.c: (GST_START_TEST):
16560 * check/gst/gststructure.c: (GST_START_TEST):
16561 * check/gst/gstsystemclock.c: (GST_START_TEST),
16562 (gst_systemclock_suite):
16563 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
16564 * check/gst/gstvalue.c: (GST_START_TEST):
16565 * check/pipelines/cleanup.c: (GST_START_TEST):
16566 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16567 * check/states/sinks.c: (GST_START_TEST):
16568 * check/gstcheck.c: (gst_check_init):
16569 * check/gstcheck.h:
16570 add debugging category
16571 use GST_START_TEST now, so we add a debug line
16573 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
16575 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
16576 add test for state change message on a bin
16577 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
16579 * gst/gstbin.c: (gst_bin_init):
16580 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
16581 * gst/gstelement.c: (gst_element_post_message),
16582 (gst_element_set_state):
16583 * gst/gstelementfactory.c: (gst_element_factory_create):
16584 * gst/gstmessage.c: (gst_message_new):
16585 * gst/gstscheduler.c:
16586 various debugging additions and cleanups
16588 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
16590 * check/Makefile.am:
16591 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
16593 adding tests for elements
16594 * gst/gstelement.c: (gst_element_dispose):
16596 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
16598 * gst/registries/gstlibxmlregistry.c: (load_feature):
16599 plug more leaks. A simple gst_init() now is leakfree, yay.
16601 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
16603 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
16604 (gst_xml_registry_load):
16605 plug another memleak
16607 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
16610 use GST_SET_ERROR_CFLAGS
16611 * docs/faq/cvs.xml:
16612 change to ERROR_CFLAGS
16614 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
16617 make GST_ERROR_CFLAGS overridable and re-enable Werror
16618 * docs/faq/cvs.xml:
16619 add a note about error CFLAGS
16620 * docs/gst/tmpl/gstfakesrc.sgml:
16621 * gst/elements/gstfakesrc.c:
16622 comment out some unused code
16623 * gst/gst.c: (split_and_iterate):
16624 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
16628 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
16630 * common/Makefile.am:
16631 * common/gtk-doc.mak:
16632 * docs/gst/Makefile.am:
16633 factor out gtk-doc.mak
16635 2005-07-07 Wim Taymans <wim@fluendo.com>
16637 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
16638 (gst_thread_scheduler_dispose):
16639 Unlock the STREAM_LOCK completely.
16641 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
16643 * check/Makefile.am:
16644 * check/elements/.cvsignore:
16645 * check/elements/gstfakesrc.c: (chain_func), (event_func),
16646 (START_TEST), (fakesrc_suite), (main):
16647 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16648 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16649 (gst_fakesrc_create), (gst_fakesrc_start):
16650 * gst/elements/gstfakesrc.h:
16651 adding a first element test
16653 2005-07-07 Andy Wingo <wingo@pobox.com>
16655 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
16658 2005-07-07 Wim Taymans <wim@fluendo.com>
16664 2005-07-07 Wim Taymans <wim@fluendo.com>
16666 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16667 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
16668 Allow subclasses to implement their own negotiation.
16670 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
16672 * docs/design/part-gstbin.txt:
16673 * docs/design/part-gstpipeline.txt:
16674 Update design notes to reflect the movement of
16675 responsibility for bus handling from GstPipeline to
16678 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
16681 Remove unnecessary queue2/3/4 examples.
16683 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
16685 * examples/Makefile.am:
16686 * examples/helloworld/helloworld.c: (event_loop), (main):
16687 * examples/queue/queue.c: (event_loop), (main):
16688 * examples/queue2/queue2.c: (main):
16689 Update a couple of the examples to work again.
16691 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16692 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
16693 Spelling corrections and extra debug.
16695 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
16696 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
16697 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
16699 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16700 (gst_pipeline_change_state):
16701 * gst/gstpipeline.h:
16702 Move the bus handler for children to the GstBin, and create a
16703 separate bus for receiving messages from children to the one the
16704 bus sends 'upwards' on.
16706 2005-07-06 Wim Taymans <wim@fluendo.com>
16709 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16710 (gst_base_sink_handle_object), (gst_base_sink_loop),
16711 (gst_base_sink_change_state):
16712 * gst/base/gstbasesink.h:
16713 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16714 (gst_base_src_init), (gst_base_src_setcaps),
16715 (gst_base_src_getcaps), (gst_base_src_loop),
16716 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
16717 (gst_base_src_start), (gst_base_src_change_state):
16718 * gst/base/gstbasesrc.h:
16719 Make basesrc negotiate.
16720 Handle the case where preroll fails in basesink.
16723 2005-07-06 Wim Taymans <wim@fluendo.com>
16725 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
16726 Implement the fixate function.
16727 Clean up acceptcaps.
16729 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16731 * docs/pwg/building-filterfactory.xml:
16732 * docs/pwg/pwg.xml:
16733 Remove never-written filter-factory chapter; I'll add the various
16734 base classes to part 4 ("other element types") later on.
16736 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16738 * docs/pwg/advanced-negotiation.xml:
16739 * docs/pwg/building-boiler.xml:
16740 * docs/pwg/building-pads.xml:
16741 * docs/pwg/pwg.xml:
16742 * examples/pwg/Makefile.am:
16743 Add a chapter on caps negotiation, simplify the original code
16744 samples a bit w.r.t. caps negotiation, add link to the advanced
16745 section. Add a bunch of examples showing different use cases of
16746 different types of caps negotiation. Upstream renegotiation isn't
16747 fully documented yet since nobody knows how that works.
16749 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
16751 * check/gst/gstpad.c:
16752 * check/gstcheck.c:
16753 * gst/gstpad.c: (gst_pad_get_internal_links_default):
16754 if pad has no parent, return NULL as list of internal links
16756 2005-07-05 Andy Wingo <wingo@pobox.com>
16758 * gst/elements/gstfilesrc.c:
16759 * gst/elements/gstfakesrc.c:
16760 * gst/base/gstpushsrc.c:
16761 * gst/base/gstbasesrc.h:
16762 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
16764 2005-07-05 Stefan Kost <ensonic@users.sf.net>
16767 better report generation target (lcov needs a patch)
16769 2005-07-05 Andy Wingo <wingo@pobox.com>
16771 * gst/elements, testsuite: Null if we got it...
16773 2005-07-05 Wim Taymans <wim@fluendo.com>
16776 * libs/gst/dataprotocol/Makefile.am:
16777 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
16778 * libs/gst/dataprotocol/dataprotocol.h:
16779 * pkgconfig/Makefile.am:
16780 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
16781 * pkgconfig/gstreamer-dataprotocol.pc.in:
16782 Ported dataprotol to 0.9.
16783 Added pkgconfig files.
16785 2005-07-05 Andy Wingo <wingo@pobox.com>
16787 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16788 Default to returning TRUE for the case when tranform_caps returns
16789 a fixed caps, like for identity or volume.
16791 * check/gst/gstbus.c (pound_bus_with_messages):
16792 * check/gst/gstmessage.c (START_TEST):
16793 * check/pipelines/simple_launch_lines.c (got_handoff): Application
16794 message API change.
16796 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
16797 logic weaks here: always run transform_caps, trying passthrough
16798 operation only if the original caps intersects with the transform.
16800 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
16801 source and sink caps.
16803 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
16804 Intersect the peer caps with the pad template before going into
16806 (gst_base_transform_transform_caps): More debugging.
16808 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
16811 2005-07-04 Edward Hervey <edward@fluendo.com>
16815 (gst_pad_add_*_probe): now returns the signal id for better wrapping
16818 2005-07-04 Andy Wingo <wingo@pobox.com>
16820 * check/gst/gstpad.c: Only set explicit caps on pads.
16822 2005-07-01 Andy Wingo <wingo@pobox.com>
16824 * tests/network-clock.scm: Commentary update.
16826 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
16827 Didn't really make sense, not implementable with basetransform,
16829 (gst_identity_transform): Unref inbuf via make_writable. Feeble
16830 attempt at implementing the sync property, needs an unlock method.
16832 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
16833 New func, by default returns the same caps (the identity
16835 (gst_base_transform_getcaps): Uses transform_caps to return
16836 something sensible.
16837 (gst_base_transform_setcaps): Complicated logic to get caps on
16838 both pads, even if they are different, and to call set_caps once
16839 for every time both pads get their caps set.
16840 (gst_base_transform_handle_buffer): Give the ref to the transform
16841 function. Allows in-place modification of the buffer.
16843 * gst/base/gstbasetransform.h (transform_caps): New class method.
16844 Given caps on one side, what can I do on the other.
16845 (set_caps): Take two caps, one for each side of the element.
16848 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
16849 caps in place. This is safe because we can check the mutability of
16850 the caps, and a good idea because fixate functions are just called
16851 as a matter of last resort. (Not actually implemented.)
16852 (gst_pad_set_caps): If the caps we're setting is actually the same
16853 as the existing pad caps, just update the pointer without calling
16854 setcaps. Assert that caps is either NULL or fixed, as per the
16857 * gst/gstghostpad.c: Update for fixate changes.
16859 2005-07-02 Andy Wingo <wingo@pobox.com>
16862 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
16863 two refcounts makes it immutable, which is enough. Doc more.
16865 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
16867 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
16868 Put the mini_object into GValue as a mini_object,
16869 not a gpointer, since that's how we declared
16872 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16874 * examples/pwg/Makefile.am:
16875 Fix buildbot again.
16877 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16879 * docs/pwg/building-testapp.xml:
16881 * examples/pwg/Makefile.am:
16884 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16887 * examples/Makefile.am:
16888 * examples/pwg/Makefile.am:
16889 * examples/pwg/extract.pl:
16890 Enable building the PWG examples.
16891 * docs/pwg/advanced-interfaces.xml:
16892 Add URI interface stub.
16893 * docs/pwg/advanced-types.xml:
16894 * docs/pwg/other-autoplugger.xml:
16895 * docs/pwg/appendix-porting.xml:
16896 * docs/pwg/pwg.xml:
16897 Add porting guide (mostly stubs), remove autoplugging (see ADM).
16898 * docs/pwg/building-boiler.xml:
16899 * docs/pwg/building-chainfn.xml:
16900 * docs/pwg/building-pads.xml:
16901 * docs/pwg/building-props.xml:
16902 * docs/pwg/building-state.xml:
16903 * docs/pwg/building-testapp.xml:
16904 Update the building-*.xml parts for 0.9 changes. All examples
16905 code blocks compile in examples/pwg/*.
16907 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16909 * docs/manual/advanced-autoplugging.xml:
16910 * docs/manual/appendix-checklist.xml:
16911 * docs/manual/appendix-integration.xml:
16912 * docs/manual/highlevel-components.xml:
16913 Fix playbin/decodebin examples, update docs a bit, mention bus
16914 instead of signals in various places, mention kmplayer and
16915 kaffeine since they have a working GStreamer backend in the KDE
16918 2005-06-30 Wim Taymans <wim@fluendo.com>
16921 * docs/design/draft-ghostpads.txt:
16922 * docs/design/draft-push-pull.txt:
16923 * docs/design/draft-query.txt:
16924 * docs/design/part-TODO.txt:
16925 * docs/design/part-query.txt:
16926 Added CHANGES-0.9 doc, updated status of other docs.
16931 2005-06-30 Wim Taymans <wim@fluendo.com>
16933 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16934 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16935 (gst_base_sink_change_state):
16936 * gst/base/gstbasesink.h:
16937 Some tweaks, only EOS and a buffer complete a preroll.
16939 2005-06-30 Andy Wingo <wingo@pobox.com>
16941 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
16942 activate_push down to the internal pad as well.
16944 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
16946 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16948 * gst/gsttaginterface.c:
16949 Some documentation fixes (#307394 and #307397).
16951 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
16953 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16955 * gst/gstvalue.c: (gst_value_intersect_list):
16956 Fix memleak (#309125).
16958 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16960 * docs/manual/advanced-dataaccess.xml:
16961 Fix fakesrc example to compile; doesn't work, bug somewhere...?
16962 * docs/manual/basics-pads.xml:
16963 Add reference for filtered caps to above chapter.
16965 2005-06-30 Wim Taymans <wim@fluendo.com>
16967 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
16968 (gst_bin_change_state):
16970 Lame attempt at making the state change function a bit
16973 2005-06-30 Wim Taymans <wim@fluendo.com>
16975 * docs/design/part-clocks.txt:
16976 * docs/design/part-element-sink.txt:
16977 * docs/design/part-events.txt:
16978 * docs/design/part-preroll.txt:
16979 * docs/design/part-states.txt:
16980 Some more tweeks and additions to the docs.
16982 2005-06-30 Wim Taymans <wim@fluendo.com>
16984 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16985 (default_have_data), (gst_pad_class_init), (gst_pad_init),
16986 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16987 (gst_pad_check_pull_range), (gst_pad_get_range),
16988 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
16990 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
16991 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16992 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16993 (gst_pad_remove_buffer_probe):
16994 Removed atomic operations, use existing LOCK.
16995 Move exception handling out of main code path.
16997 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16999 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17000 (silly_return_true_function), (gst_pad_class_init),
17001 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17002 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
17003 (gst_pad_send_event):
17004 Fix accumulator, add default value by using _emitv() instead
17005 of _emit() for signal emission.
17007 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17009 * docs/manual/advanced-dataaccess.xml:
17010 * examples/manual/Makefile.am:
17012 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
17015 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
17017 * gst/elements/gstfilesink.c: (gst_filesink_render):
17018 Simplify code so that we don't have to handle short
17019 writes and return GST_FLOW_ERROR if an error occured.
17021 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17023 * docs/gst/gstreamer-docs.sgml:
17024 Remove probes more.
17026 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17028 * docs/gst/gstreamer-sections.txt:
17029 * docs/gst/tmpl/gstpad.sgml:
17030 * docs/gst/tmpl/gstprobe.sgml:
17032 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17033 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
17034 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
17035 (gst_pad_push_event), (gst_pad_send_event):
17037 * gst/gstutils.c: (gst_pad_add_data_probe),
17038 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17039 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17040 (gst_pad_remove_buffer_probe):
17042 Remove old probes, add new g-signal-based probes and some utility
17045 2005-06-29 Edward Hervey <edward@fluendo.com>
17047 * gst/gstelementfactory.c:
17050 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
17051 the definition to the header file.
17053 2005-06-29 Andy Wingo <wingo@pobox.com>
17055 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
17056 plugins from the source directory.
17058 2005-06-29 Wim Taymans <wim@fluendo.com>
17060 * docs/gst/tmpl/gstbuffer.sgml:
17061 * docs/gst/tmpl/gstclock.sgml:
17062 Some fixings for blantently wrong text.
17064 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
17066 * check/Makefile.am:
17067 * gst/gst.c: (add_path_func), (init_pre):
17068 * gst/gstregistry.c: (gst_registry_add_path):
17069 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
17070 only scan the GST_PLUGIN_PATH locations, and not add
17073 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
17075 * docs/gst/gstreamer-sections.txt:
17076 * docs/gst/tmpl/gstbasesrc.sgml:
17077 * gst/gstelement.c:
17078 * gst/gstelement.h:
17083 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17085 * docs/manual/advanced-autoplugging.xml:
17086 Fix autoplugging example.
17088 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17090 * docs/manual/advanced-autoplugging.xml:
17091 * docs/manual/mime-world.fig:
17092 Try to get autoplugging working, fix type detection. Fix text
17093 in hello-world image.
17095 2005-06-29 Wim Taymans <wim@fluendo.com>
17097 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17098 (gst_base_sink_change_state):
17102 map SIGNAL and BROADCAST to the right function.
17105 Remove redundant braces.
17107 * gst/gstpad.c: (gst_pad_set_caps):
17108 Don't call setcaps function when reseting caps to NULL.
17110 * gst/gstsystemclock.c: (gst_system_clock_dispose),
17111 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
17112 (gst_system_clock_id_unschedule):
17113 Use BROADCAST as this is what we do.
17115 2005-06-29 Wim Taymans <wim@fluendo.com>
17117 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17118 We are actually prerolling before commiting the state
17121 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17123 * docs/manual/advanced-clocks.xml:
17124 * docs/manual/advanced-interfaces.xml:
17125 * docs/manual/advanced-metadata.xml:
17126 * docs/manual/advanced-position.xml:
17127 * docs/manual/advanced-schedulers.xml:
17128 * docs/manual/advanced-threads.xml:
17129 * docs/manual/appendix-porting.xml:
17130 * docs/manual/basics-bins.xml:
17131 * docs/manual/basics-bus.xml:
17132 * docs/manual/basics-elements.xml:
17133 * docs/manual/basics-helloworld.xml:
17134 * docs/manual/basics-pads.xml:
17135 * docs/manual/highlevel-components.xml:
17136 * docs/manual/manual.xml:
17137 * docs/manual/thread.fig:
17138 Update (until threads/scheduling) Application Development Manual;
17139 remove GstThread, add GstBus, add simple porting checklist, add
17140 documentation for tag writing, clocks, make all examples until this
17141 part compile and run.
17142 * examples/manual/Makefile.am:
17143 Update from changes to Application Development Manual; add bus
17144 example, remove thread example.
17146 2005-06-28 Wim Taymans <wim@fluendo.com>
17148 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
17149 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
17150 (gst_bus_source_dispatch):
17151 Add debugging messages.
17152 Make internal methods static.
17153 Handle the case where the bus is flushed in the handler.
17155 * gst/gstelement.c: (gst_element_get_bus):
17156 Fix refcount in _get_bus();
17158 * gst/gstpipeline.c: (gst_pipeline_change_state),
17159 (gst_pipeline_get_clock_func):
17160 Clock refcounting fixes.
17161 Handle the case where preroll timed out more gracefully.
17163 * gst/gstsystemclock.c: (gst_system_clock_dispose):
17164 Clean up the internal thread in dispose. This is needed
17165 for subclasses that actually get disposed.
17167 * gst/schedulers/threadscheduler.c:
17168 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17169 (gst_thread_scheduler_dispose):
17170 Free thread pool in dispose.
17172 2005-06-28 Andy Wingo <wingo@pobox.com>
17174 * tests/network-clock-utils.scm (debug, print-event): New utils.
17176 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
17177 (*packet-loss*): Unified loss probability.
17178 (network-time): Report out-of-band events.
17180 * tests/plot-data: Add support for out-of-band events. Hack it
17181 into this script instead of passing it down the pipe; should fix
17184 2005-06-28 Wim Taymans <wim@fluendo.com>
17186 * docs/gst/gstreamer.types:
17187 * docs/gst/tmpl/gstbasesrc.sgml:
17188 * docs/gst/tmpl/gstpad.sgml:
17191 2005-06-28 Wim Taymans <wim@fluendo.com>
17193 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17194 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
17195 (gst_proxy_pad_do_fixatecaps):
17196 Correctly proxy the check_pull_range function.
17198 2005-06-28 Andy Wingo <wingo@pobox.com>
17200 * tests/network-clock.scm: Removed need for slib.
17202 2005-06-28 Wim Taymans <wim@fluendo.com>
17204 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
17205 (gst_basesink_preroll_queue_flush):
17206 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
17207 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
17208 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17209 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
17210 (gst_proxy_pad_set_property):
17213 * gst/gstqueue.c: (gst_queue_init):
17214 The deprecated pad loop function is removed now.
17216 2005-06-28 Andy Wingo <wingo@pobox.com>
17218 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
17219 New parameters, simulate network packet loss.
17221 * tests/network-clock-utils.scm: Initialize the RNG.
17223 2005-06-28 Wim Taymans <wim@fluendo.com>
17225 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
17226 (gst_basesink_event), (gst_basesink_deactivate):
17227 Flushing the preroll queue always needs to unlock the waiters.
17229 2005-06-28 Edward Hervey <edward@fluendo.com>
17231 * gst/gstpipeline.c: (gst_pipeline_send_event):
17232 Wheen a seek was successful on a pipeline, set the stream_time to the
17233 seek offset in order to have a synchronized stream_time.
17235 2005-06-28 Wim Taymans <wim@fluendo.com>
17237 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17238 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
17239 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
17240 (gst_proxy_pad_do_fixatecaps):
17241 Call wrapper function instead of just calling the function
17242 pointers. This takes care of any locking and whatmore.
17244 2005-06-28 Wim Taymans <wim@fluendo.com>
17246 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
17247 (gst_pad_pull_range):
17249 CONNECTED -> LINKED.
17251 2005-06-28 Andy Wingo <wingo@pobox.com>
17253 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
17254 source-munging commit!!!
17256 * gst/gstobject.c (gst_object_unref, gst_object_ref)
17257 (gst_object_sink): Take gpointer arguments, not GstObject --
17258 avoids casts. Like GLib.
17260 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
17263 2005-06-27 Andy Wingo <wingo@pobox.com>
17265 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
17268 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
17269 returns a sorted copy of the trace list.
17270 (gst_alloc_trace_print_live): New API, only prints traces with
17271 live objects. Sort the list.
17272 (gst_alloc_trace_print_all): Sort the list.
17273 (gst_alloc_trace_print): Align columns.
17275 * gst/elements/gstttypefindelement.c:
17276 * gst/elements/gsttee.c:
17277 * gst/base/gstbasesrc.c:
17278 * gst/base/gstbasesink.c:
17279 * gst/base/gstbasetransform.c:
17280 * gst/gstqueue.c: Adapt for pad activation changes.
17282 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
17284 (gst_pipeline_dispose): Drop ref on sched.
17286 * gst/gstpad.c (gst_pad_init): Set the default activate func.
17287 (gst_pad_activate_default): Push mode by default.
17288 (pre_activate_switch, post_activate_switch): New stubs, things to
17289 do before and after switching activation modes on pads.
17290 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
17291 the pad's activate function to choose which mode to activate.
17292 Shortcut on deactivation and call the right function directly.
17293 (gst_pad_activate_pull): New API, (de)activates a pad in pull
17295 (gst_pad_activate_push): New API, same for push mode.
17296 (gst_pad_set_activate_function)
17297 (gst_pad_set_activatepull_function)
17298 (gst_pad_set_activatepush_function): Setters for new API.
17300 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
17301 Trace all miniobjects.
17302 (gst_mini_object_make_writable): Unref the arg if we copy, like
17303 gst_caps_make_writable.
17305 * gst/gstmessage.c (_gst_message_initialize): No trace init.
17307 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
17308 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
17309 Adapt for new pad API.
17311 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
17313 * gst/gstelement.h:
17314 * gst/gstelement.c (gst_element_iterate_src_pads)
17315 (gst_element_iterate_sink_pads): New API functions.
17317 * gst/gstelement.c (iterator_fold_with_resync): New utility,
17318 should fold into gstiterator.c in some form.
17319 (gst_element_pads_activate): Simplified via use of fold and
17320 delegation of decisions to gstpad->activate.
17322 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
17325 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
17326 class once in init, like gstmessage. Didn't run into this issue
17327 but it seems correct. Don't initialize a trace, gstminiobject does
17330 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
17331 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
17333 (assert_live_count): New util function, uses alloc traces to check
17336 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
17337 To be modified when unlink drops the internal pad.
17339 2005-06-27 Wim Taymans <wim@fluendo.com>
17341 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
17342 (gst_bin_change_state):
17343 Cleanup the get_state() function a little, make sure it
17344 iterates the same set of elements.
17345 Added stub iterate_state_order().
17347 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
17349 * docs/gst/gstreamer-docs.sgml:
17350 * docs/gst/gstreamer-sections.txt:
17351 * docs/gst/gstreamer.types:
17352 * docs/gst/tmpl/gstbasesink.sgml:
17353 * docs/gst/tmpl/gstbasesrc.sgml:
17354 * docs/gst/tmpl/gstbasetransform.sgml:
17355 * docs/gst/tmpl/gstelement.sgml:
17356 * docs/gst/tmpl/gstiterator.sgml:
17357 * gst/base/gstbasesrc.c:
17358 * gst/base/gstbasesrc.h:
17359 * gst/base/gstbasetransform.h:
17360 * gst/gstelement.c:
17361 * gst/gstiterator.h:
17362 adding basetransform and iterator docs
17364 2005-06-27 Andy Wingo <wingo@pobox.com>
17366 * docs/design/part-activation.txt: Notes on how activation should
17367 work -- not quite implemented yet.
17369 2005-06-25 Wim Taymans <wim@fluendo.com>
17371 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
17372 At least get the chain function correct, needs more
17375 2005-06-25 Wim Taymans <wim@fluendo.com>
17377 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17378 (gst_basesink_handle_object), (gst_basesink_event),
17379 (gst_basesink_do_sync), (gst_basesink_handle_event),
17380 (gst_basesink_change_state):
17382 Right, two problems here: ghostpads don't take locks and
17383 glib _rec_mutex_lock_full() with depth==0 still locks.
17384 Catch illegal locking and g_warn them.
17386 2005-06-25 Wim Taymans <wim@fluendo.com>
17388 * check/states/sinks.c: (START_TEST), (gst_object_suite):
17389 Have to check for completion now...
17391 2005-06-25 Wim Taymans <wim@fluendo.com>
17393 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17394 (gst_basesink_handle_object), (gst_basesink_event),
17395 (gst_basesink_do_sync), (gst_basesink_handle_event),
17396 (gst_basesink_change_state):
17398 Unlock STREAM_LOCK whatever the recursion was.
17400 2005-06-25 Wim Taymans <wim@fluendo.com>
17402 * gst/base/gstbasesink.c: (gst_basesink_set_property),
17403 (gst_basesink_preroll_queue_empty),
17404 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
17405 (gst_basesink_event), (gst_basesink_do_sync),
17406 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
17407 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
17408 (gst_basesink_change_state):
17409 Reworked the base sink, handle event and buffer serialisation
17410 correctly and removed possible deadlock.
17411 Handle EOS correctly.
17413 2005-06-25 Wim Taymans <wim@fluendo.com>
17415 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
17416 (gst_pipeline_change_state):
17417 * tools/gst-launch.c: (check_intr), (event_loop), (main):
17418 Allow elements to post EOS in the state change function.
17419 Fix up -launch, make it exit the poll loop when the
17420 pipeline actually changed state.
17421 Fix up warning parsing in -launch.
17423 2005-06-25 Wim Taymans <wim@fluendo.com>
17425 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
17426 (gst_tee_sink_activate):
17427 Core takes STREAM_LOCK for us now.
17429 2005-06-25 Wim Taymans <wim@fluendo.com>
17431 * gst/gstelement.c: (gst_element_get_state_func),
17432 (gst_element_set_state):
17433 * gst/gstelement.h:
17434 * gst/gstmessage.c: (gst_message_parse_error),
17435 (gst_message_parse_warning):
17436 Keep track of current target state while performing a state
17437 change so that subclasses can do something interesting.
17438 Fix parsing of warning/error messages when GError is NULL.
17440 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
17442 * docs/gst/Makefile.am:
17443 * docs/gst/gstreamer-docs.sgml:
17444 * docs/gst/gstreamer-sections.txt:
17445 * docs/gst/gstreamer.types:
17446 * docs/gst/tmpl/gstbasesink.sgml:
17447 * docs/gst/tmpl/gstbasesrc.sgml:
17448 * docs/gst/tmpl/gstbin.sgml:
17449 * docs/gst/tmpl/gstcompat.sgml:
17450 * docs/gst/tmpl/gstfakesink.sgml:
17451 * docs/gst/tmpl/gstfakesrc.sgml:
17452 * docs/gst/tmpl/gstfilesink.sgml:
17453 * docs/gst/tmpl/gstfilesrc.sgml:
17454 * docs/gst/tmpl/gstindex.sgml:
17455 * docs/manual/appendix-quotes.xml:
17456 * gst/base/gstbasesrc.h:
17457 * gst/elements/gstfakesrc.h:
17458 * gst/gstmessage.h:
17459 start pulling in base classes and elements in our docs
17461 2005-06-24 Stefan Kost <ensonic@users.sf.net>
17463 * docs/gst/Makefile.am:
17464 * docs/libs/Makefile.am:
17465 fixed make distcheck with gtk-doc 1.3
17467 2005-06-23 Wim Taymans <wim@fluendo.com>
17469 * gst/gstelement.c: (gst_element_get_state_func),
17470 (gst_element_set_state), (gst_element_change_state):
17471 When the state did not change, also report NO_PREROLL
17474 2005-06-23 Wim Taymans <wim@fluendo.com>
17476 * gst/gstpad.c: (gst_pad_event_default):
17477 * gst/gstqueue.c: (gst_queue_loop):
17478 No unsafe task pausing please.
17480 2005-06-23 Wim Taymans <wim@fluendo.com>
17482 * gst/schedulers/threadscheduler.c:
17483 (gst_thread_scheduler_task_start),
17484 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
17485 Ref the task before pushing it on the threadpool. This
17486 makes sure that we have a ref when the threadfunction is
17489 2005-06-23 Andy Wingo <wingo@pobox.com>
17491 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
17492 offset is greater than the file's size.
17494 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
17495 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
17496 * gst/gstobject.c (gst_object_class_init): Make the class lock
17497 recursive. Wim won't let me drop deep_notify. Decodebin works
17498 again, whoopdy doo.
17500 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
17501 internal pad, and hacks accordingly. Doesn't do it on the target
17502 pad because we change its caps. Probably catches all cases of
17504 (gst_ghost_pad_set_property): Connect to notify::caps as
17507 * tests/network-clock.scm (plot-simulation): Pipe data to the
17508 elite python skript.
17510 * tests/network-clock-utils.scm (define-parameter): New macro,
17511 defines a parameter that can be set via the command line.
17512 (set-parameter!, parse-parameter-arguments): Command line args
17515 * tests/plot-data: Simple matplotlib-based plotter, takes input on
17518 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
17520 * gst/elements/gsttypefindelement.c:
17521 (gst_type_find_element_handle_event):
17522 Don't restart typefinding on a discont.
17523 * gst/gstelement.c: (gst_element_set_state):
17524 Debug spelling fix.
17525 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
17526 Allow changing mode of an active pad.
17527 Debug output fixes.
17528 * gst/registries/gstlibxmlregistry.c: (load_feature):
17529 Don't cast a static pad template to a normal pad template.
17531 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
17533 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17534 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17535 remove gst_strtoll completely, since it didn't actually do
17536 anything more than what g_ascii_strtoull already does.
17537 check for range errors when deserializing
17538 do a cast for the unsigned cases; but further fixing needs
17539 a decision on what the interpretation of "(int)" and
17540 deserialization should be for values that fall outside the
17541 type's boundaries (ie, refuse, or interpret as casting)
17543 2005-06-23 Wim Taymans <wim@fluendo.com>
17545 * check/Makefile.am:
17546 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
17547 * docs/design/part-live-source.txt:
17548 * docs/design/part-states.txt:
17549 * gst/base/gstbasesrc.c: (gst_basesrc_init),
17550 (gst_basesrc_set_live), (gst_basesrc_is_live),
17551 (gst_basesrc_get_range), (gst_basesrc_activate),
17552 (gst_basesrc_change_state):
17553 * gst/base/gstbasesrc.h:
17554 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17555 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17556 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
17557 * gst/gstelement.c: (gst_element_get_state_func),
17558 (gst_element_set_state):
17559 * gst/gstelement.h:
17561 * tools/gst-launch.c: (event_loop), (main):
17562 Added support for live sources and other elements that
17564 Updated design docs, added live-source design doc.
17565 Implemented live source functionality in basesrc
17566 Fix error condition in _bin_get_state()
17567 Implement live source handling in -launch.
17568 Added check for live sources.
17569 Fixed case in GstBin where elements were changed state
17573 2005-06-23 Andy Wingo <wingo@pobox.com>
17575 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
17576 borken refcounting.
17578 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
17579 gst_caps_replace takes care of this for us.
17581 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
17582 gst_pad_set_caps on the target, not just its setcaps() function.
17584 * tests/network-clock.scm:
17585 * tests/network-clock-utils.scm: A network clock simulator.
17586 Something of an algorithmic testbed before doing something in C.
17588 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
17590 * check/Makefile.am:
17591 * check/gst/capslist.h:
17592 copy over from 0.8, and add two with bitmasks specified with
17594 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17595 add test to parse everything from capslist.h
17596 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
17598 add test for structure deserialization
17599 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17600 add tests for deserialization of strings to int types
17601 * gst/gststructure.c: (gst_structure_nth_field_name):
17602 * gst/gststructure.h:
17603 add a way to get the name of a field referenced by index
17604 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17605 instead of checking if the resulting long long lies between
17606 min and max, we check if the long long would fit into
17607 a number of bytes for the final type.
17608 This fixes cases where a string represents 2^32 - 1, which
17609 when cast to int would be the (valid) -1, but is bigger than
17612 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
17614 * gst/parse/grammar.y:
17615 add a log line for type deserialization
17617 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
17619 * check/gst/gstvalue.c: (START_TEST):
17620 * gst/gstvalue.c: (gst_value_deserialize):
17621 return long long, not int, so gint64 deserialization actually
17622 works. Is there any flag that makes the compiler check this ?
17625 2005-06-22 Wim Taymans <wim@fluendo.com>
17628 Added convenience macros for setting buffers in GValue.
17630 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
17632 * check/gst/.cvsignore:
17633 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17634 add a test deserializing int64, and comment part out because
17637 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
17639 * check/Makefile.am:
17640 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
17641 * testsuite/Makefile.am:
17642 * testsuite/caps/Makefile.am:
17643 * testsuite/caps/value_serialize.c:
17644 * testsuite/test_gst_init.c:
17645 move a value_serialize test over
17647 2005-06-20 Wim Taymans <wim@fluendo.com>
17652 * gst/gstvalue.c: (gst_value_compare_buffer),
17653 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
17654 (gst_value_compare_flags), (gst_value_serialize_flags),
17655 (gst_value_deserialize_flags), (_gst_value_initialize):
17656 Fix serialisation of buffers, they are not boxed types anymore
17658 2005-06-20 Wim Taymans <wim@fluendo.com>
17660 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17661 Testcase to show error in buffer-on-caps serialisation.
17663 2005-06-20 Andy Wingo <wingo@pobox.com>
17665 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
17666 will be adding to later.
17668 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
17669 if its socks fill with rocks.
17670 (gst_system_clock_obtain): Set the name on object construction.
17671 Avoid double-checked locking.
17673 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
17675 * gst/gsturi.c: (gst_element_make_from_uri):
17676 Fix potential endless loop.
17678 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
17680 * check/Makefile.am:
17682 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
17684 move over from testsuite dir and clean up
17687 * testsuite/Makefile.am:
17688 * testsuite/tags/.cvsignore:
17689 * testsuite/tags/Makefile.am:
17690 * testsuite/tags/merge.c:
17691 remove testsuite/tags
17693 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
17695 * docs/gst/gstreamer-sections.txt:
17696 * docs/gst/tmpl/gstenumtypes.sgml:
17697 * win32/gstenumtypes.c:
17698 clean up documentation build a little
17700 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
17702 * check/gstcheck.h:
17703 add macros for checking refcounts on objects and caps
17704 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
17705 add some more unit tests
17706 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17707 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
17708 fix leaked refcounts (I hope :)) so unittest works
17712 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
17714 * configure.ac: back to HEAD
17716 === release 0.9.1 ===
17718 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
17724 2005-06-17 Andy Wingo <wingo@pobox.com>
17726 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
17727 assert; it's always possible that the pad gets deactivated in
17728 between the checks in gstpad.c and the implementation. Rely on
17729 finish_preroll() to return a FLUSHING or similar instead of on the
17732 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
17733 clock and post an EOS message if we come out of finish_preroll in
17736 2005-06-16 David Schleef <ds@schleef.org>
17738 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17739 (gst_capsfilter_set_property): Allow NULL as possible value
17740 for filter_caps property, indicating GST_CAPS_ANY.
17742 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
17744 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
17746 * gst/schedulers/Makefile.am:
17748 * gstreamer.spec.in:
17751 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
17753 * gstreamer.spec.in:
17756 2005-06-08 Andy Wingo <wingo@pobox.com>
17758 * gst/gstutils.c: RPAD fixes all around.
17759 (gst_element_link_pads): Refcounting fixes.
17761 * tools/gst-inspect.c:
17762 * tools/gst-xmlinspect.c:
17764 * gst/base/gsttypefindhelper.c:
17765 * gst/base/gstbasesink.c:
17766 * gst/gstqueue.c: RPAD fixes.
17768 * gst/gstghostpad.h:
17769 * gst/gstghostpad.c: New ghost pad implementation as full proxy
17770 pads. The tricky thing is they provide both source and sink
17771 interfaces, since they proxy the internal pad for the external
17772 pad, and vice versa. Implement with lower-level ProxyPad objects,
17773 with the interior proxy pad as a child of the exterior ghost pad.
17774 Should write a doc on this.
17776 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
17777 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
17780 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
17781 pads are real pads. No ghost pads in this file. Not documenting
17782 the myriad s/RPAD/PAD/ and REALIZE fixes.
17783 (gst_pad_class_init): Add properties for "direction" and
17784 "template". Both are construct-only, so they can't change during
17785 the life of the pad. Fixes properly deriving from GstPad.
17786 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
17787 derived objects, just set properties when creating the objects via
17789 (gst_pad_get_parent): Implement as a function, return NULL if the
17790 parent is not an element.
17791 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
17792 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
17794 * gst/gstobject.c (gst_object_class_init): Make name a construct
17795 property. Don't set it in the object init.
17797 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
17798 with UNKNOWN direction.
17799 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
17800 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
17801 (gst_element_remove_pad): Remove ghost-pad special cases.
17802 (gst_element_pads_activate): Remove rpad cruft.
17804 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
17805 catch the pad's-parent-not-an-element case.
17807 * gst/gst.h: Include gstghostpad.h.
17809 * gst/gst.c (init_post): No more real, ghost pads.
17811 * gst/Makefile.am: Add gstghostpad.[ch].
17813 * check/Makefile.am:
17814 * check/gst/gstbin.c:
17815 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
17816 into a bin creates ghost pads, and that the refcounts are right.
17817 Partly moved from gstbin.c.
17819 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
17821 * check/gst-libs/.cvsignore:
17822 * check/gst/.cvsignore:
17823 * check/pipelines/.cvsignore:
17825 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
17826 (START_TEST), (cleanup_suite), (main):
17827 add some tests related to cleanup after running pipelines
17829 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
17831 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
17832 add a testsuite for GstBuffer
17834 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
17836 * gst/gstminiobject.h:
17837 add defines for accessing the refcount
17839 2005-06-03 Stefan Kost <ensonic@users.sf.net>
17841 * Makefile.am: added support for html unit test coverage reports
17843 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
17845 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17846 Free existing caps if the capsfilter changes. Add a FIXME about
17847 setting those caps on the pads.
17849 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
17850 Before adding a ghost pad to a parent bin, check that there isn't
17851 already one for the element on the bin. Prevents infinite recursion
17852 when using decodebin in parse pipelines. Andy says he'll rewrite the
17853 way this works anyway, so ignore the hack.
17855 2005-06-02 Andy Wingo <wingo@pobox.com>
17857 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
17858 file size, pass it on to the type find helper.
17860 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
17861 segment_start and segment_end properly according to the seek
17862 method. Segment_end is still a bit flaky because offset can be
17863 negative for CUR and END cases, but it takes -1 as an "unset"
17866 2005-06-02 Wim Taymans <wim@fluendo.com>
17868 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
17869 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
17870 (gst_basesink_activate):
17871 * gst/base/gstbasesink.h:
17872 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17873 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17874 (gst_pad_query), (gst_pad_start_task):
17876 * gst/gstqueue.c: (gst_queue_bufferalloc),
17877 (gst_queue_handle_sink_event), (gst_queue_chain):
17878 Bufferalloc: return GstFlowReturn to more accuratly report
17879 why allocation failed.
17881 2005-06-02 Wim Taymans <wim@fluendo.com>
17883 * gst/gstpipeline.c: (gst_pipeline_send_event):
17884 Take snapshot of state without blocking.
17886 2005-06-02 Wim Taymans <wim@fluendo.com>
17888 * docs/design/part-TODO.txt:
17889 * docs/design/part-caps.txt:
17890 * docs/design/part-clocks.txt:
17891 * docs/design/part-negotiation.txt:
17892 * docs/design/part-preroll.txt:
17895 2005-05-30 Wim Taymans <wim@fluendo.com>
17897 * gst/elements/gstidentity.c: (gst_identity_event),
17898 (gst_identity_transform), (gst_identity_get_property):
17899 Protect last_message property as it is accessed from
17902 2005-05-30 Wim Taymans <wim@fluendo.com>
17904 * gst/gstelement.c: (gst_element_init),
17905 (gst_element_pads_activate), (gst_element_change_state):
17906 Slicker pad activation code.
17908 2005-05-30 Wim Taymans <wim@fluendo.com>
17911 * gst/gstelement.h:
17912 * gst/gstelementfactory.h:
17914 Move elementfactory methods to separate .h file.
17916 2005-05-30 Wim Taymans <wim@fluendo.com>
17918 * docs/design/part-overview.txt:
17919 * gst/gstsystemclock.h:
17920 Small typo fixes, doc updates.
17922 2005-05-30 Wim Taymans <wim@fluendo.com>
17924 * gst/gst.c: (gst_init_get_popt_table), (init_post),
17925 (init_popt_callback):
17926 Remove cpu-opt flag.
17928 2005-05-30 Wim Taymans <wim@fluendo.com>
17930 * gst/gstbuffer.c: (gst_subbuffer_finalize),
17931 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
17933 Avoid typechecking in places where not needed.
17934 Added accessor for malloc_data.
17936 2005-05-30 Wim Taymans <wim@fluendo.com>
17938 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
17939 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
17940 (gst_pad_configure_sink), (gst_pad_configure_src),
17941 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
17942 (gst_pad_start_task):
17943 Propagate errors from _set_caps() in configure_src/sink
17944 functions instead of returning TRUE.
17945 FLUSH events can travel up and downstream
17948 2005-05-30 Wim Taymans <wim@fluendo.com>
17950 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17951 (gst_basesink_activate):
17952 Handle EOS in preroll.
17954 2005-05-30 Wim Taymans <wim@fluendo.com>
17956 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17957 (gst_queue_loop), (gst_queue_handle_src_event):
17958 Remove old pieces of code
17959 Flushing the queue in an upstream event is a very bad idea.
17961 2005-05-26 Andy Wingo <wingo@pobox.com>
17963 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
17964 gst_value_set_mini_object so as to add a ref on the object (which
17965 will be removed when the value is unset).
17967 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
17968 arg type in ::handoff.
17970 * gst/gstelement.c (gst_element_change_state): Also deactivate
17971 pads in READY->NULL, just in case the element didn't make it to
17972 PAUSED. Wingo tested, Wim approved.
17974 2005-05-26 Wim Taymans <wim@fluendo.com>
17976 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17977 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17978 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
17979 A flushing pad cannot be used to alloc_buffer from.
17981 2005-05-26 Wim Taymans <wim@fluendo.com>
17983 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
17984 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
17985 (gst_bus_source_dispatch), (gst_bus_source_finalize),
17986 (gst_bus_create_watch), (gst_bus_add_watch_full):
17988 Implement a real GSource and use g_main_context_wakeup() to
17989 signal new messages instead of the socketpair.
17991 2005-05-25 Wim Taymans <wim@fluendo.com>
17993 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
17994 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
17995 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17996 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
17997 (gst_pad_send_event), (gst_pad_start_task):
17998 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
17999 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18000 (gst_queue_sink_activate), (gst_queue_src_activate),
18001 (gst_queue_change_state):
18003 Fix state changes for non sinks. We now change sinks, then elements
18004 with unconnected srcpads, then the rest.
18005 More efficient queue unlocking in flush and state changes.
18006 Set the pad activate mode even if it does not have an activate
18009 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18011 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
18012 Don't go in pull mode for non-seekable sources.
18013 * gst/elements/gsttypefindelement.h:
18014 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18015 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
18016 (free_entry), (stop_typefinding),
18017 (gst_type_find_element_handle_event), (find_peek),
18018 (gst_type_find_element_chain), (do_pull_typefind),
18019 (gst_type_find_element_change_state):
18020 Allow typefinding (w/o seeking) in push-mode, simplified version
18021 of what was in 0.8.
18022 * gst/gstutils.c: (gst_buffer_join):
18024 gst_buffer_join() from 0.8.
18026 2005-05-25 Wim Taymans <wim@fluendo.com>
18028 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18029 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18030 (gst_pad_send_event), (gst_pad_start_task):
18031 Disable attempt at mode switching until it is figured out.
18033 2005-05-25 Wim Taymans <wim@fluendo.com>
18035 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
18036 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
18037 (gst_basesink_finish_preroll), (gst_basesink_chain),
18038 (gst_basesink_loop), (gst_basesink_activate),
18039 (gst_basesink_change_state):
18040 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
18041 (gst_basesrc_get_range), (gst_basesrc_loop),
18042 (gst_basesrc_activate):
18043 * gst/elements/gsttee.c: (gst_tee_sink_activate):
18044 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18045 (gst_real_pad_init), (gst_real_pad_set_property),
18046 (gst_real_pad_get_property), (gst_pad_set_active),
18047 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
18048 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
18049 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
18050 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
18051 (gst_pad_event_default_dispatch), (gst_pad_event_default),
18052 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
18053 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
18054 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
18055 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
18056 (gst_pad_stop_task):
18058 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18059 (gst_queue_loop), (gst_queue_src_activate):
18060 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
18061 (gst_task_get_state):
18063 * gst/schedulers/threadscheduler.c:
18064 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
18065 Implement gst_pad_pause/start/stop_task(), take STREAM lock
18067 Remove ACTIVE pad flag, use FLUSHING everywhere
18068 Added _pad_chain(), _pad_get_range() to call chain/getrange
18070 Add locks around IS_FLUSHING when reading.
18071 Take STREAM lock in chain(), get_range() functions so plugins
18072 don't need to take it anymore.
18076 2005-05-25 Wim Taymans <wim@fluendo.com>
18078 * tools/gst-launch.c: (event_loop):
18079 Unref message after using its contents instead of
18082 2005-05-24 Wim Taymans <wim@fluendo.com>
18084 * docs/design/draft-ghostpads.txt:
18085 * docs/design/draft-push-pull.txt:
18086 * docs/design/draft-query.txt:
18087 * docs/design/part-overview.txt:
18088 Docs updates, added general overview doc.
18090 2005-05-21 David Schleef <ds@schleef.org>
18092 * docs/gst/tmpl/old/GstBin.sgml:
18093 * docs/gst/tmpl/old/GstBuffer.sgml:
18094 * docs/gst/tmpl/old/GstCaps.sgml:
18095 * docs/gst/tmpl/old/GstClock.sgml:
18096 * docs/gst/tmpl/old/GstCompat.sgml:
18097 * docs/gst/tmpl/old/GstData.sgml:
18098 * docs/gst/tmpl/old/GstElement.sgml:
18099 * docs/gst/tmpl/old/GstEvent.sgml:
18100 * docs/gst/tmpl/old/GstIndex.sgml:
18101 * docs/gst/tmpl/old/GstStructure.sgml:
18102 * docs/gst/tmpl/old/GstTag.sgml:
18103 * docs/gst/tmpl/old/cothreads.sgml:
18104 * docs/gst/tmpl/old/cothreads_compat.sgml:
18105 * docs/gst/tmpl/old/gettext.sgml:
18106 * docs/gst/tmpl/old/gobject2gtk.sgml:
18107 * docs/gst/tmpl/old/grammar.tab.sgml:
18108 * docs/gst/tmpl/old/gst-i18n-app.sgml:
18109 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
18110 * docs/gst/tmpl/old/gst_private.sgml:
18111 * docs/gst/tmpl/old/gstaggregator.sgml:
18112 * docs/gst/tmpl/old/gstarch.sgml:
18113 * docs/gst/tmpl/old/gstatomic_impl.sgml:
18114 * docs/gst/tmpl/old/gstbufferstore.sgml:
18115 * docs/gst/tmpl/old/gstdata_private.sgml:
18116 * docs/gst/tmpl/old/gstdisksink.sgml:
18117 * docs/gst/tmpl/old/gstdisksrc.sgml:
18118 * docs/gst/tmpl/old/gstelementfactory.sgml:
18119 * docs/gst/tmpl/old/gstextratypes.sgml:
18120 * docs/gst/tmpl/old/gstfakesink.sgml:
18121 * docs/gst/tmpl/old/gstfakesrc.sgml:
18122 * docs/gst/tmpl/old/gstfdsink.sgml:
18123 * docs/gst/tmpl/old/gstfdsrc.sgml:
18124 * docs/gst/tmpl/old/gstfilesink.sgml:
18125 * docs/gst/tmpl/old/gstfilesrc.sgml:
18126 * docs/gst/tmpl/old/gsthttpsrc.sgml:
18127 * docs/gst/tmpl/old/gstidentity.sgml:
18128 * docs/gst/tmpl/old/gstindexfactory.sgml:
18129 * docs/gst/tmpl/old/gstmarshal.sgml:
18130 * docs/gst/tmpl/old/gstmd5sink.sgml:
18131 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
18132 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
18133 * docs/gst/tmpl/old/gstpadtemplate.sgml:
18134 * docs/gst/tmpl/old/gstpipefilter.sgml:
18135 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
18136 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
18137 * docs/gst/tmpl/old/gstshaper.sgml:
18138 * docs/gst/tmpl/old/gstspider.sgml:
18139 * docs/gst/tmpl/old/gstspideridentity.sgml:
18140 * docs/gst/tmpl/old/gststatistics.sgml:
18141 * docs/gst/tmpl/old/gsttee.sgml:
18142 * docs/gst/tmpl/old/gsttimecache.sgml:
18143 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
18144 * docs/gst/tmpl/old/gstxmlregistry.sgml:
18145 * docs/gst/tmpl/old/gthread-cothreads.sgml:
18146 * docs/gst/tmpl/old/types.sgml:
18147 I didn't intend to add these or check them in.
18149 2005-05-19 David Schleef <ds@schleef.org>
18151 * configure.ac: Use -no-common everywhere. In a sane world, it
18152 would be the default in libtool, because without it, you can't
18153 build DLLs on Windows.
18154 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
18155 * docs/gst/gstreamer-sections.txt:
18156 * docs/gst/tmpl/gstcpu.sgml:
18157 * docs/gst/tmpl/gstdata.sgml:
18158 * docs/gst/tmpl/gstthread.sgml:
18160 2005-05-19 David Schleef <ds@schleef.org>
18162 * gst/gstminiobject.c: (gst_value_set_mini_object),
18163 (gst_value_take_mini_object), (gst_value_get_mini_object):
18164 * gst/gstminiobject.h: Add GValue set/get functions.
18166 2005-05-19 Wim Taymans <wim@fluendo.com>
18168 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
18169 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
18170 (gst_subbuffer_init), (gst_buffer_is_span_fast):
18172 * gst/gstbus.c: (gst_bus_post):
18173 * gst/gstelement.c: (gst_element_get_random_pad):
18174 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
18175 Make subbufer unref the parent in finalize.
18176 some more debugging info.
18179 2005-05-19 Wim Taymans <wim@fluendo.com>
18181 * gst/base/gstbasesink.c: (gst_basesink_class_init),
18182 (gst_basesink_init), (gst_basesink_finalize),
18183 (gst_basesink_activate), (gst_basesink_change_state):
18184 Don't free preroll queue too early.
18186 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18190 Hi, I'm outdated. Please shoot me.
18192 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18194 * gst/gstpipeline.c: (gst_pipeline_send_event):
18195 Do not access variables after they have been deleted.
18197 2005-05-19 Wim Taymans <wim@fluendo.com>
18199 * tools/gst-inspect.c: (print_plugin_features):
18200 A plugin feature does unfortunatly not use the
18203 2005-05-18 Wim Taymans <wim@fluendo.com>
18205 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
18206 Port _span() functions to new subbuffers.
18208 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18210 * gst/gstbin.c: (gst_bin_add_func):
18211 Fix clock settery in bins when adding kids after the clock has
18214 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18216 * gst/elements/gstidentity.c: (gst_identity_class_init):
18217 Workaround until signals support GstMiniObject.
18219 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
18222 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
18224 2005-05-18 Wim Taymans <wim@fluendo.com>
18226 * gst/base/Makefile.am:
18227 * gst/base/gstadapter.c: (gst_adapter_base_init),
18228 (gst_adapter_class_init), (gst_adapter_init),
18229 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
18230 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
18231 (gst_adapter_flush), (gst_adapter_available),
18232 (gst_adapter_available_fast):
18233 * gst/base/gstadapter.h:
18234 Ported and added adapter to the base classes.
18236 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18239 * gst/gstmessage.c:
18240 Make sure the class is reffed/unreffed once before threads can be
18241 used. Fixes #304551.
18243 2005-05-17 Wim Taymans <wim@fluendo.com>
18245 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
18246 (gst_basesink_chain_unlocked), (gst_basesink_activate):
18247 * gst/gstminiobject.c: (gst_mini_object_get_type),
18248 (gst_mini_object_free):
18249 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
18250 (gst_pad_push), (gst_pad_push_event):
18251 * gst/gstqueue.c: (gst_queue_change_state):
18252 Don't queue buffers in basesink when we are flushing.
18253 Unref buffer when flushing in basesink.
18254 Flush queue when going to READY
18255 Unref buffer when _push() returns an error.
18256 Don't free MiniObject instance when refcount is incremented
18257 in _finalize() so that we can recover objects.
18259 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
18261 * docs/manual/advanced-schedulers.xml:
18262 * docs/manual/appendix-checklist.xml:
18263 * docs/pwg/advanced-clock.xml:
18264 * docs/pwg/advanced-interfaces.xml:
18265 * docs/pwg/advanced-request.xml:
18266 * docs/pwg/advanced-types.xml:
18267 * docs/pwg/intro-preface.xml:
18268 * examples/plugins/example.c: (gst_example_get_type),
18269 (gst_example_class_init), (gst_example_chain),
18270 (gst_example_set_property), (gst_example_get_property),
18271 (gst_example_change_state), (plugin_init):
18272 * examples/plugins/example.h:
18275 2005-05-17 Wim Taymans <wim@fluendo.com>
18277 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
18278 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
18279 * gst/gstqueue.c: (gst_queue_change_state):
18280 Clear queue when going to READY.
18281 Remove IN_SETCAPS flag too.
18283 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
18285 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
18286 Remove implicit cast from gboolean to GstElementStateReturn;
18287 make sure we still return failure in paused => ready case if
18288 the parent class fails to change state and our own stop
18291 2005-05-17 Wim Taymans <wim@fluendo.com>
18293 * tools/gst-launch.c: (event_loop):
18294 Message was unreffed too soon.
18296 2005-05-16 Andy Wingo <wingo@pobox.com>
18298 * gst/gstbin.c (sink_iterator_filter): Err... um...
18300 * check/gst/gstbin.c (test_ghost_pads): New test for the
18301 ghosting-if-elements-not-in-same-bin behavior.
18303 2005-05-16 David Schleef <ds@schleef.org>
18305 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
18306 accessing refcount directly.
18308 2005-05-15 David Schleef <ds@schleef.org>
18310 * check/Makefile.am: remove GstData checks
18311 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
18312 * gst/Makefile.am: add miniobject, remove data
18313 * gst/gst.h: add miniobject, remove data
18314 * gst/gstdata.c: remove
18315 * gst/gstdata.h: remove
18316 * gst/gstdata_private.h: remove
18317 * gst/gsttypes.h: remove GstEvent and GstMessage
18318 * gst/gstelement.c: (gst_element_post_message): fix for API changes
18319 * gst/gstmarshal.list: change BOXED -> OBJECT
18321 Implement GstMiniObject.
18322 * gst/gstminiobject.c:
18323 * gst/gstminiobject.h:
18325 Modify to be subclasses of GstMiniObject.
18326 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
18327 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
18328 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
18329 (gst_subbuffer_get_type), (gst_subbuffer_init),
18330 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
18333 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
18334 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
18335 (_gst_event_copy), (gst_event_new):
18337 * gst/gstmessage.c: (_gst_message_initialize),
18338 (gst_message_get_type), (gst_message_class_init),
18339 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
18340 (gst_message_new), (gst_message_new_error),
18341 (gst_message_new_warning), (gst_message_new_tag),
18342 (gst_message_new_state_changed), (gst_message_new_application):
18343 * gst/gstmessage.h:
18344 * gst/gstprobe.c: (gst_probe_perform),
18345 (gst_probe_dispatcher_dispatch):
18347 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
18348 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
18349 (_gst_query_copy), (gst_query_new):
18351 Update elements for GstData -> GstMiniObject changes
18353 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
18354 (gst_queue_chain), (gst_queue_loop):
18355 * gst/elements/gstbufferstore.c:
18356 (gst_buffer_store_add_buffer_func),
18357 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
18358 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18359 (gst_fakesink_render):
18360 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18361 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
18362 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
18363 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
18364 (gst_filesrc_create_read):
18365 * gst/elements/gstidentity.c: (gst_identity_class_init):
18366 * gst/elements/gsttypefindelement.c:
18367 (gst_type_find_element_src_event), (free_entry_buffers),
18368 (gst_type_find_element_handle_event):
18369 * libs/gst/dataprotocol/dataprotocol.c:
18370 (gst_dp_header_from_buffer):
18371 * libs/gst/dataprotocol/dataprotocol.h:
18372 * libs/gst/dataprotocol/dp-private.h:
18374 2005-05-15 David Schleef <ds@schleef.org>
18376 * gst/elements/gstelements.c: Don't include headers that were
18379 2005-05-15 David Schleef <ds@schleef.org>
18381 * gst/elements/Makefile.am: Remove some elements that don't
18382 need to be in the core (or even exist at all).
18383 * gst/elements/gstaggregator.c:
18384 * gst/elements/gstaggregator.h:
18385 * gst/elements/gstmd5sink.c:
18386 * gst/elements/gstmd5sink.h:
18387 * gst/elements/gstmultifilesrc.c:
18388 * gst/elements/gstmultifilesrc.h:
18389 * gst/elements/gstpipefilter.c:
18390 * gst/elements/gstpipefilter.h:
18391 * gst/elements/gstshaper.c:
18392 * gst/elements/gstshaper.h:
18393 * gst/elements/gststatistics.c:
18394 * gst/elements/gststatistics.h:
18395 * po/POTFILES.in: Remove above files.
18397 2005-05-14 Andy Wingo <wingo@pobox.com>
18399 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
18400 so as to get the refs right.
18401 (sink_iterator_filter): New function, wraps bin_element_is_sink,
18402 unreffing objects that don't pass the filter.
18404 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
18405 gst_element_set_bus.
18406 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
18407 normal cases, this will destroy the bus.
18409 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
18412 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
18415 2005-05-13 Andy Wingo <wingo@pobox.com>
18417 * gst/gstutils.c (gst_element_link_pads): Instead of calling
18418 gst_pad_link, call pad_link_maybe_ghosting,
18419 (pad_link_maybe_ghosting): Links pads, making sure that the
18420 elements being linked are in the same bin.
18421 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
18422 Helpers for pad_link_maybe_ghosting.
18424 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
18427 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
18429 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
18431 * docs/design/part-element-source.txt:
18434 2005-05-12 Wim Taymans <wim@fluendo.com>
18436 * gst/base/gstbasesink.c: (gst_basesink_init),
18437 (gst_basesink_activate):
18438 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
18439 (gst_basesrc_is_seekable):
18440 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18441 (bin_element_is_sink), (gst_bin_change_state):
18442 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18443 * gst/gstelement.h:
18444 Identify sinks by their flag to avoid overly complicated
18446 Do state changes even for elements not reachable from the
18448 BaseSink is a sink now :)
18449 Some more debugging info in the basesrc.
18452 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18454 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
18455 Implement _query on a bin, similar to _send_event.
18457 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
18459 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
18460 Discont event offset format should be GST_FORMAT_BYTES,
18461 not GST_FORMAT_TIME.
18463 2005-05-12 Wim Taymans <wim@fluendo.com>
18465 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
18466 Same fix as Ronald's but without the signal.
18468 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18470 * gst/gstutils.c: (gst_element_query_position):
18471 No, an element is not a pad.
18473 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18475 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
18476 (gst_bin_get_state):
18477 If a child is removed from a bin while we remove the child from
18478 the bin and while we're retrieving its state, signal this to the
18479 get_state function so we abort the wait (instead of waiting for
18480 a timeout) and can immediately re-iterate over all other elements.
18482 2005-05-12 Wim Taymans <wim@fluendo.com>
18484 * gst/base/Makefile.am:
18485 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
18486 (gst_basesrc_start):
18487 * gst/base/gstbasesrc.h:
18488 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
18489 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
18490 (gst_pushsrc_init), (gst_pushsrc_create):
18491 * gst/base/gstpushsrc.h:
18492 Added is_seekable to BaseSrc
18493 Added simple PushSrc.
18495 2005-05-11 Wim Taymans <wim@fluendo.com>
18497 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18498 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18499 (gst_element_link_pads), (gst_element_query_position),
18500 (gst_element_query_convert), (intersect_caps_func),
18501 (gst_pad_query_position), (gst_pad_query_convert):
18502 Fix refcounting in utils function.
18503 No point in trying to activate a pad when it's added, it could
18504 be added from the state change function and then we deadlock, the
18505 element has to decide what to do.
18507 2005-05-10 Andy Wingo <wingo@pobox.com>
18509 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
18510 *all* the arguments.
18512 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
18513 stream lock if it's a FLUSH_DONE; normal flushes don't get the
18514 lock (according to the docs -- if this is wrong change the docs).
18516 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
18517 flush messages in the NULL state.
18519 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
18520 message immediately and return.
18521 (gst_bus_set_flushing): New function. If a bus is flushing, it
18522 flushes out any queued messages and immediately unrefs new
18523 messages. This is so when an element goes to NULL, all of the
18524 unhandled messages coming from it can be freed, and their
18525 references to the element dropped. In other words: message source
18526 ref considered harmful :P
18528 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
18529 we're finished with it.
18531 * gst/gstmessage.c (gst_message_new_state_changed):
18533 2005-05-10 Wim Taymans <wim@fluendo.com>
18535 * gst/gstvalue.c: (gst_value_compare_flags),
18536 (gst_value_serialize_flags), (gst_value_deserialize_flags),
18537 (_gst_value_initialize):
18538 Added flags serialize/deserialize/compare code.
18540 2005-05-09 Andy Wingo <wingo@pobox.com>
18542 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
18543 Intersect the peer's caps with our caps.
18545 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18547 * gst/base/gsttypefindhelper.c: (helper_find_peek):
18548 * gst/elements/gsttypefindelement.c: (find_peek):
18549 Handle negative offsets better. Fixes decodebin.
18551 2005-05-09 Wim Taymans <wim@fluendo.com>
18553 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
18554 (gst_base_transform_event):
18555 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
18556 Implement accept_caps.
18557 Fix silly lock/unlock mismatch in base class.
18559 2005-05-09 Wim Taymans <wim@fluendo.com>
18561 * docs/design/draft-push-pull.txt:
18562 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
18563 * gst/elements/gstfilesink.c: (gst_filesink_init),
18564 (gst_filesink_query):
18565 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18566 (gst_type_find_handle_src_query), (find_element_get_length):
18567 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
18568 * gst/gstelement.h:
18569 * gst/gstmessage.c:
18570 * gst/gstmessage.h:
18571 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
18572 (gst_real_pad_get_caps_unlocked),
18573 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
18574 (gst_pad_event_default_dispatch), (gst_pad_event_default),
18575 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
18576 (gst_real_pad_dispose), (gst_real_pad_finalize),
18577 (gst_pad_load_and_link), (gst_pad_save_thyself),
18578 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
18579 (gst_pad_check_pull_range), (gst_pad_pull_range),
18580 (gst_pad_template_get_type), (gst_pad_template_class_init),
18581 (gst_pad_template_init), (gst_pad_template_dispose),
18582 (name_is_valid), (gst_static_pad_template_get),
18583 (gst_pad_template_new), (gst_static_pad_template_get_caps),
18584 (gst_pad_template_get_caps), (gst_pad_set_element_private),
18585 (gst_pad_get_element_private), (gst_pad_start_task),
18586 (gst_pad_pause_task), (gst_pad_stop_task),
18587 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
18588 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
18589 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
18590 (gst_ghost_pad_new):
18592 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
18593 (gst_query_new_position), (gst_query_set_position),
18594 (gst_query_parse_position), (gst_query_new_convert),
18595 (gst_query_set_convert), (gst_query_parse_convert):
18597 * gst/gstqueryutils.c:
18598 * gst/gstqueryutils.h:
18599 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18600 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18601 (gst_queue_handle_src_query):
18602 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18603 (gst_element_query_position), (gst_element_query_convert),
18604 (intersect_caps_func), (gst_pad_query_position),
18605 (gst_pad_query_convert):
18607 * tools/gst-inspect.c: (print_pad_info):
18608 * tools/gst-xmlinspect.c: (print_element_info):
18609 Remove old query functions. Ported old code.
18610 Added position/convert helper functions to gstutils.
18611 Reordered gstpad.c code, grouping relevant things.
18612 Remove gst_message_new(), always need to speficy a specific
18616 2005-05-09 Andy Wingo <wingo@pobox.com>
18618 * gst/gstiterator.h: Add some includes.
18620 * gst/gstqueryutils.h: Include more headers.
18623 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
18624 some uses of gst_pad_query.
18626 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
18627 NULL out parameters.
18628 (gst_query_new_position): New proc, allocates a new position
18631 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
18632 gstqueryutils.c to the build.
18634 * gst/gststructure.c (gst_structure_set_valist): Implement with
18635 the generic G_VALUE_COLLECT.
18637 2005-05-08 Edward Hervey <bilboed@bilboed.com>
18639 * gst/Makefile.am: (gst_headers):
18640 Added gstqueryutils.h to the list of headers to install, that was
18641 a 'nachty' move wingo :)
18643 2005-05-06 Andy Wingo <wingo@pobox.com>
18646 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
18647 GstData, init a memchunk.
18648 (standard_definitions): Add a few query types, deprecate a few.
18649 (gst_query_get_type): New proc.
18650 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
18652 (gst_query_new_application, gst_query_get_structure): New public
18655 * docs/design/draft-query.txt: Removed LINKS from the query types,
18656 because all the rest can be dispatched to other pads -- seemed
18657 ugly to have a query that couldn't be dispatched. internal_links
18658 is fine as a pad method.
18660 * gst/gstpad.h: Add query2 as a pad method, add the new functions
18661 in gstpad.c, but maintain binary compatibility for the moment.
18662 Will fix before 0.9 is out.
18664 * gst/gstqueryutils.c:
18665 * gst/gstqueryutils.h: New files, implement 3 methods for each
18666 query type: parse_query, parse_response, and set. Probably need an
18669 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
18671 * gst/elements/gstfilesink.c (gst_filesink_query2):
18672 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
18673 query_types, and formats methods.
18675 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
18676 (gst_pad_set_query2_function): New functions.
18677 (gst_real_pad_init): Set query2_default as the default query2
18678 function. Basically just dispatches to internally linked pads.
18682 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
18683 without using the atomic operations. Only one thread can possibly
18684 be accessing the data at this point. Changed so as to avoid
18685 gst_atomic operations.
18687 2005-05-06 Wim Taymans <wim@fluendo.com>
18689 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
18690 Also set caps if we use the fallback buffer alloc.
18692 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
18694 * docs/gst/Makefile.am:
18695 * docs/gst/gstreamer-docs.sgml:
18696 * docs/gst/gstreamer-sections.txt:
18697 * docs/gst/tmpl/gstatomic.sgml:
18698 * docs/gst/tmpl/gstmemchunk.sgml:
18699 * testsuite/elements/struct_i386.h:
18700 * win32/GStreamer.vcproj:
18702 Purge GstAtomic stuff from docs and win32 makefiles as well
18704 2005-05-06 Wim Taymans <wim@fluendo.com>
18706 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
18707 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
18708 * gst/gstpad.c: (gst_pad_peer_get_caps):
18709 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18710 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18711 (gst_queue_src_activate), (gst_queue_change_state):
18713 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18714 (intersect_caps_func):
18715 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
18716 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
18717 Some fixes for the peer_get_caps() change.
18719 2005-05-06 Wim Taymans <wim@fluendo.com>
18721 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
18722 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
18723 (gst_basesink_activate):
18724 Actually do something with error codes returned from the push
18727 2005-05-06 Wim Taymans <wim@fluendo.com>
18729 * docs/design/part-element-sink.txt:
18730 * docs/design/part-element-source.txt:
18731 * gst/base/gstbasesink.c: (gst_basesink_class_init),
18732 (gst_basesink_event), (gst_basesink_activate):
18733 * gst/base/gstbasesink.h:
18734 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
18735 (gst_basesrc_activate):
18736 * gst/base/gstbasesrc.h:
18737 * gst/gstelement.c: (gst_element_pads_activate):
18738 Some more documentation.
18739 Fixed scheduling decision in _pads_activate().
18741 2005-05-05 Andy Wingo <wingo@pobox.com>
18743 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
18746 2005-05-05 Wim Taymans <wim@fluendo.com>
18748 * gst/base/Makefile.am:
18749 * gst/base/gstbasesink.h:
18750 * gst/base/gstbasesrc.c: (gst_basesrc_init),
18751 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
18752 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
18753 (gst_collectpads_class_init), (gst_collectpads_init),
18754 (gst_collectpads_finalize), (gst_collectpads_new),
18755 (gst_collectpads_set_function), (gst_collectpads_add_pad),
18756 (find_pad), (gst_collectpads_remove_pad),
18757 (gst_collectpads_is_active), (gst_collectpads_collect),
18758 (gst_collectpads_collect_range), (gst_collectpads_start),
18759 (gst_collectpads_stop), (gst_collectpads_peek),
18760 (gst_collectpads_pop), (gst_collectpads_available),
18761 (gst_collectpads_read), (gst_collectpads_flush),
18762 (gst_collectpads_chain):
18763 * gst/base/gstcollectpads.h:
18764 * gst/elements/Makefile.am:
18765 * gst/elements/gstelements.c:
18766 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18767 (gst_fakesink_get_times), (gst_fakesink_event),
18768 (gst_fakesink_preroll), (gst_fakesink_render):
18769 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18770 (gst_filesink_init), (gst_filesink_set_location),
18771 (gst_filesink_open_file), (gst_filesink_close_file),
18772 (gst_filesink_pad_query), (gst_filesink_event),
18773 (gst_filesink_render), (gst_filesink_change_state):
18774 * gst/elements/gstfilesink.h:
18775 Added object to help in making collect pad based elements.
18777 Make event function in sink baseclass return gboolean.
18779 2005-05-05 Wim Taymans <wim@fluendo.com>
18781 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
18782 (gst_bin_get_by_name):
18784 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
18785 (gst_clock_finalize):
18786 * gst/gstdata.c: (gst_data_replace):
18788 * gst/gstelement.c: (gst_element_request_pad),
18789 (gst_element_pads_activate):
18790 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
18791 (gst_object_unref):
18792 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18793 (gst_pad_set_checkgetrange_function),
18794 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
18795 (gst_pad_check_pull_range), (gst_pad_pull_range),
18796 (gst_static_pad_template_get_caps), (gst_pad_start_task),
18797 (gst_pad_pause_task), (gst_pad_stop_task):
18798 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18799 (gst_element_request_pad), (gst_pad_proxy_getcaps):
18800 Fix name lookup in GstBin.
18801 Added _data_replace() function and _buffer_replace()
18802 Use finalize method to clean up clock.
18803 Fix refcounting on request pads.
18804 Fix pad schedule mode error.
18805 Some more object refcounting debug info,
18808 2005-05-04 Andy Wingo <wingo@pobox.com>
18810 * check/Makefile.am:
18811 * docs/gst/tmpl/gstatomic.sgml:
18812 * docs/gst/tmpl/gstplugin.sgml:
18813 * gst/base/gstbasesink.c: (gst_basesink_activate):
18814 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
18815 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
18816 (gst_basesrc_query), (gst_basesrc_set_property),
18817 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
18818 (gst_basesrc_activate):
18819 * gst/base/gstbasesrc.h:
18820 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
18821 (gst_base_transform_src_activate):
18822 * gst/elements/gstelements.c:
18823 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18824 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
18825 * gst/elements/gsttee.c: (gst_tee_sink_activate):
18826 * gst/elements/gsttypefindelement.c: (find_element_get_length),
18827 (gst_type_find_element_checkgetrange),
18828 (gst_type_find_element_activate):
18829 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
18830 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
18831 (gst_caps_load_thyself):
18832 * gst/gstelement.c: (gst_element_pads_activate),
18833 (gst_element_save_thyself), (gst_element_restore_thyself):
18834 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
18835 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
18837 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
18838 (gst_xml_parse_file), (gst_xml_parse_memory),
18839 (gst_xml_get_element), (gst_xml_make_element):
18840 * gst/indexers/gstfileindex.c: (gst_file_index_load),
18841 (_file_index_id_save_xml), (gst_file_index_commit):
18842 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
18843 (read_enum), (load_pad_template), (load_feature), (load_plugin),
18845 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
18846 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
18847 * tools/gst-complete.c: (main):
18848 * tools/gst-compprep.c: (main):
18849 * tools/gst-inspect.c: (print_element_properties_info):
18850 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
18851 * tools/gst-xmlinspect.c: (print_element_properties):
18854 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
18856 * gst/gstplugin.c: (gst_plugin_check_module),
18857 (gst_plugin_check_file), (gst_plugin_load_file):
18858 apply patch from #172526 to make register work on MacOSX
18860 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
18862 * docs/gst/tmpl/gstconfig.sgml:
18863 * gst/gstconfig.h.in:
18864 move documentation for some symbols. Add doc for GST_PTR_FORMAT
18865 * testsuite/debug/printf_extension.c: (main):
18866 Do not use GST_PTR_FORMAT on pointers to types with
18867 sizeof < sizeof(gpointer). Fixes test on 64-bit
18868 * testsuite/elements/property.h:
18869 use correct printf format
18871 2005-05-02 Wim Taymans <wim@fluendo.com>
18873 * docs/design/draft-push-pull.txt:
18874 * docs/design/draft-query.txt:
18875 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
18876 (gst_basesrc_start):
18877 Added draft for new query API.
18878 Added draft for better selecting scheduling methods.
18879 Make basesrc ignore length if the subclass does not support
18882 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
18885 possible fixes for automake-1.5 - _LIBADD is reserved
18887 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
18889 * docs/faq/Makefile.am:
18890 * docs/manual/Makefile.am:
18891 * docs/manuals.mak:
18892 * docs/pwg/Makefile.am:
18894 possible fixes for automake-1.5
18896 2005-04-28 Wim Taymans <wim@fluendo.com>
18898 * gst/base/gstbasesink.c: (gst_basesink_base_init),
18899 (gst_basesink_pad_getcaps), (gst_basesink_init),
18900 (gst_basesink_do_sync):
18901 * gst/gstclock.c: (gst_clock_entry_new):
18902 * gst/gstevent.c: (gst_event_discont_get_value):
18903 * gst/gstpipeline.c: (pipeline_bus_handler),
18904 (gst_pipeline_change_state):
18905 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
18906 Better debugging of clocking info.
18907 Allow NULL values when getting discont values.
18909 2005-04-27 Wim Taymans <wim@fluendo.com>
18911 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18912 * check/gst/gstpad.c: (gst_pad_suite):
18913 Increase timeout for checks.
18915 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18917 * check/Makefile.am:
18918 fix the broken rule for cleanup. Apparently this rule is
18919 only needed on FC2, so maybe this warrants further autotool
18922 2005-04-26 Wim Taymans <wim@fluendo.com>
18924 * gst/gsttrashstack.h:
18925 Ooohh. a nasty one! After having a failed pop() from the stack,
18926 it's possible that the stack is empty. In that case, don't
18927 follow the NULL pointer.
18929 2005-04-25 Wim Taymans <wim@fluendo.com>
18931 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18932 (gst_pad_set_checkgetrange_function),
18933 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
18934 (gst_pad_check_pull_range), (gst_pad_pull_range),
18935 (gst_static_pad_template_get_caps), (gst_pad_start_task),
18936 (gst_pad_pause_task), (gst_pad_stop_task):
18937 * gst/gstplugin.c: (gst_plugin_load):
18939 Remove gst_library_load as it does more harm than good with
18940 the new g_module flags.
18941 Revert bogus caps template check in pad linking, pad caps
18942 are important when linking not the template, which is more
18943 general than the current caps.
18945 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18947 * gst/autoplug/.cvsignore:
18948 * gst/autoplug/Makefile.am:
18949 * gst/autoplug/gstsearchfuncs.c:
18950 * gst/autoplug/gstsearchfuncs.h:
18951 * gst/autoplug/gstspider.c:
18952 * gst/autoplug/gstspider.h:
18953 * gst/autoplug/gstspideridentity.c:
18954 * gst/autoplug/gstspideridentity.h:
18955 * gst/autoplug/spidertest.c:
18958 2005-04-25 Wim Taymans <wim@fluendo.com>
18960 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18961 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18962 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
18963 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
18965 Added stubs for unimplemented functions.
18967 2005-04-24 David Schleef <ds@schleef.org>
18969 * gst/gstpad.h: Disable some unimplemented functions. Wim,
18972 2005-04-24 David Schleef <ds@schleef.org>
18974 Convert everything from GstAtomicInt to g_atomic_int_*, and
18979 * gst/gstatomic_impl.h:
18987 * gst/gstdata_private.h:
18991 * gst/gstmessage.c:
18994 * gst/gststructure.c:
18995 * gst/gststructure.h:
18996 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
18999 2005-04-24 David Schleef <ds@schleef.org>
19001 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
19002 make the regressions tests work. Remove some code that is no
19004 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
19005 Disable warning for pads without templates.
19007 2005-04-24 David Schleef <ds@schleef.org>
19009 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
19010 functions that handle filtered links.
19011 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
19013 * gst/gstutils.c: Fix/remove utility functions that handle
19016 * gst/gstvalue.c: Add serialization/deserialization of caps
19017 * gst/parse/grammar.y: Ignore filtered caps when linking. This
19018 requires fixing so that the filter caps notation creates
19019 a capsfilter element and sets the filter_caps property. I
19020 think everyone probably wants to keep the shorthand notation.
19021 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
19022 * docs/gst/tmpl/gstpad.sgml:
19024 * gst/elements/gstelements.c: Register capsfilter element.
19025 * gst/Makefile.am: fix spacing
19026 * docs/random/ds/0.9-suggested-changes: random
19028 2005-04-23 David Schleef <ds@schleef.org>
19030 * gst/elements/Makefile.am:
19031 * gst/elements/gstcapsfilter.c: New element that acts like an
19032 identity, but filters caps. Will eventually replace filtered
19033 caps in pad linking.
19034 * gst/gstutils.c: (gst_element_create_all_pads): New function
19035 to create all the ALWAYS pads that are registered with an
19036 element class. This functionality should eventually be
19037 merged in with GstElement initialization.
19039 * testsuite/trigger/README: part of trigger test code that should
19040 have been checked in a long time ago.
19042 2005-04-23 David Schleef <ds@schleef.org>
19044 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
19045 needed with new versions of libtool (nobody will confirm this),
19046 and hard to carry around.
19047 * gst/autoplug/Makefile.am:
19048 * gst/base/Makefile.am:
19049 * gst/elements/Makefile.am:
19050 * gst/indexers/Makefile.am:
19051 * gst/schedulers/Makefile.am:
19052 * libs/gst/bytestream/Makefile.am:
19053 * libs/gst/control/Makefile.am:
19054 * libs/gst/dataprotocol/Makefile.am:
19055 * libs/gst/getbits/Makefile.am:
19057 2005-04-21 Wim Taymans <wim@fluendo.com>
19059 * docs/design/draft-push-pull.txt:
19060 * docs/design/part-MT-refcounting.txt:
19061 * docs/design/part-TODO.txt:
19062 * docs/design/part-caps.txt:
19063 * docs/design/part-events.txt:
19064 * docs/design/part-gstbus.txt:
19065 * docs/design/part-gstpipeline.txt:
19066 * docs/design/part-messages.txt:
19067 * docs/design/part-push-pull.txt:
19068 * docs/design/part-query.txt:
19071 2005-04-21 Wim Taymans <wim@fluendo.com>
19073 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
19074 (gst_message_new), (gst_message_new_error),
19075 (gst_message_new_warning), (gst_message_new_tag),
19076 (gst_message_new_state_changed), (gst_message_new_application),
19077 (gst_message_get_structure):
19078 * gst/gstmessage.h:
19079 * gst/gststructure.c: (gst_structure_set_parent_refcount),
19080 (gst_structure_copy_conditional):
19081 Use parent refcount in GstMessage to ensure GstStructure
19083 Cleaned up headers a bit.
19086 2005-04-20 Wim Taymans <wim@fluendo.com>
19088 * gst/base/gstbasesink.c: (gst_basesink_base_init),
19089 (gst_basesink_pad_getcaps), (gst_basesink_init),
19090 (gst_basesink_chain_unlocked):
19091 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
19092 (gst_type_find_helper):
19093 * gst/elements/gsttypefindelement.c:
19094 (gst_type_find_element_have_type), (gst_type_find_element_init),
19095 (stop_typefinding), (gst_type_find_element_handle_event),
19096 (find_suggest), (gst_type_find_element_chain),
19097 (gst_type_find_element_checkgetrange),
19098 (gst_type_find_element_getrange), (do_typefind),
19099 (gst_type_find_element_activate):
19100 * gst/gstbuffer.c: (_gst_buffer_sub_free),
19101 (gst_buffer_default_free), (gst_buffer_default_copy),
19102 (gst_buffer_set_caps):
19103 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
19104 (gst_caps_replace):
19105 * gst/gstmessage.c: (gst_message_new),
19106 (gst_message_new_state_changed):
19107 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19108 (gst_pad_set_checkgetrange_function),
19109 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
19110 (gst_pad_set_caps), (gst_pad_check_pull_range),
19111 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
19113 * gst/gsttypefind.c: (gst_type_find_register):
19114 Make gst_caps_replace() work like other _replace() functions.
19115 Use _caps_replace() where possible.
19116 Make sure _message_new() initialises its field.
19117 Add gst_static_pad_template_get_caps()
19120 2005-04-18 Andy Wingo <wingo@pobox.com>
19122 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
19123 on the peer, not the pad. I think that was a typo. Pass an extra
19124 arg to see if random access is possible. Activate the pads as
19125 PULL_RANGE if possible.
19127 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
19129 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
19130 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
19133 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19135 * docs/faq/using.xml:
19136 Add note on gstreamer-properties (#154996).
19138 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19140 * docs/random/bbb/optional-properties:
19141 Some analysis on optional properties.
19143 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19145 * docs/gst/tmpl/gstelementfactory.sgml:
19146 * gst/gstelement.h:
19147 * gst/gstelementfactory.c: (gst_element_factory_init),
19148 (gst_element_factory_cleanup), (gst_element_register),
19149 (__gst_element_factory_add_static_pad_template),
19150 (gst_element_factory_get_static_pad_templates),
19151 (gst_element_factory_can_src_caps),
19152 (gst_element_factory_can_sink_caps):
19153 * gst/registries/Makefile.am:
19154 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
19155 (gst_xml_registry_class_init), (gst_xml_registry_init),
19156 (gst_xml_registry_new), (gst_xml_registry_set_property),
19157 (gst_xml_registry_get_property), (get_time), (make_dir),
19158 (gst_xml_registry_get_perms_func),
19159 (plugin_times_older_than_recurse), (plugin_times_older_than),
19160 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
19161 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
19162 (add_to_char_array), (read_string), (read_uint), (read_enum),
19163 (load_pad_template), (load_feature), (load_plugin), (load_paths),
19164 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
19165 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
19166 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
19167 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
19168 (gst_xml_registry_rebuild):
19169 * gst/registries/gstlibxmlregistry.h:
19170 * tools/gst-compprep.c: (main):
19171 * tools/gst-inspect.c: (print_pad_templates_info):
19172 * tools/gst-xmlinspect.c: (print_element_info):
19173 Use libxml2 for registry parsing, use staticpadtemplates in
19174 elementfactories. Makes gst_init() +/- 10x faster.
19176 2005-04-12 Wim Taymans <wim@fluendo.com>
19178 * gst/base/Makefile.am:
19179 * gst/base/gstbasesink.c: (gst_basesink_base_init),
19180 (gst_basesink_pad_getcaps), (gst_basesink_init),
19181 (gst_basesink_event), (gst_basesink_change_state):
19182 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19183 (gst_basesrc_init), (gst_basesrc_query),
19184 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19185 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19186 (gst_basesrc_check_get_range), (gst_basesrc_loop),
19187 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19188 (gst_basesrc_stop), (gst_basesrc_activate),
19189 (gst_basesrc_change_state):
19190 * gst/base/gsttypefindhelper.c: (helper_find_peek),
19191 (helper_find_suggest), (gst_type_find_helper):
19192 * gst/base/gsttypefindhelper.h:
19193 * gst/elements/Makefile.am:
19194 * gst/elements/gstelements.c:
19195 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
19196 (gst_fakesink_get_times), (gst_fakesink_event),
19197 (gst_fakesink_preroll), (gst_fakesink_render):
19198 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19199 (gst_fakesrc_init), (gst_fakesrc_event_handler),
19200 (gst_fakesrc_get_property), (gst_fakesrc_create),
19201 (gst_fakesrc_start), (gst_fakesrc_stop):
19202 * gst/elements/gstfakesrc.h:
19203 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
19204 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19205 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19206 (gst_filesrc_create_read), (gst_filesrc_create),
19207 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
19208 (gst_filesrc_start):
19209 * gst/elements/gsttypefindelement.c:
19210 (gst_type_find_element_have_type), (gst_type_find_element_init),
19211 (start_typefinding), (stop_typefinding), (push_buffer_store),
19212 (gst_type_find_element_handle_event),
19213 (gst_type_find_element_chain),
19214 (gst_type_find_element_checkgetrange),
19215 (gst_type_find_element_getrange), (do_typefind),
19216 (gst_type_find_element_activate),
19217 (gst_type_find_element_change_state):
19218 * gst/elements/gsttypefindelement.h:
19219 * gst/gstpipeline.c: (pipeline_bus_handler):
19220 Added typefind helper.
19221 Small preroll fix in the base sink.
19222 Disable typefind code in basesrc.
19223 Crude port of typefindelement.
19227 2005-04-11 Wim Taymans <wim@fluendo.com>
19229 * check/gst/gstbus.c: (gstbus_suite):
19230 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
19231 * check/gstcheck.h:
19232 Fix up the timeout so that the test does not fail.
19234 2005-04-06 Wim Taymans <wim@fluendo.com>
19237 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19238 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
19239 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19240 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19241 (gst_basesrc_check_get_range), (gst_basesrc_loop),
19242 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19243 (gst_basesrc_stop), (gst_basesrc_activate),
19244 (gst_basesrc_change_state), (basesrc_find_peek),
19245 (basesrc_find_suggest), (gst_basesrc_type_find):
19246 * gst/base/gstbasesrc.h:
19247 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
19248 (gst_filesrc_class_init), (gst_filesrc_init),
19249 (gst_filesrc_finalize), (gst_filesrc_set_location),
19250 (gst_filesrc_set_property), (gst_filesrc_get_property),
19251 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19252 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19253 (gst_filesrc_create_read), (gst_filesrc_create),
19254 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
19255 * gst/elements/gstfilesrc.h:
19256 * gst/gstelement.c: (gst_element_get_state_func),
19257 (gst_element_lost_state), (gst_element_pads_activate):
19258 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19259 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
19260 (gst_pad_pull_range):
19262 More work on the generic source base class, implement seeking,
19264 Make filesrc extend the base source class.
19265 Added gst_pad_set_checkgetrange_function to GstPad.
19267 2005-04-06 Andy Wingo <wingo@pobox.com>
19269 * pkgconfig/gstreamer-base.pc.in:
19270 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
19272 * pkgconfig/Makefile.am:
19273 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
19275 2005-04-04 Wim Taymans <wim@fluendo.com>
19277 * gst/base/Makefile.am:
19279 * gst/base/gstbasesink.c: (gst_basesink_base_init),
19280 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19281 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19282 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
19283 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19284 (gst_basesrc_base_init), (gst_basesrc_class_init),
19285 (gst_basesrc_init), (gst_basesrc_get_formats),
19286 (gst_basesrc_get_query_types), (gst_basesrc_query),
19287 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
19288 (gst_basesrc_set_property), (gst_basesrc_get_property),
19289 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
19290 (gst_basesrc_loop), (gst_basesrc_activate),
19291 (gst_basesrc_change_state):
19292 * gst/base/gstbasesrc.h:
19293 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
19294 (gst_fakesrc_class_init), (gst_fakesrc_init),
19295 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
19296 (gst_fakesrc_get_property), (gst_fakesrc_create):
19297 * gst/elements/gstfakesrc.h:
19298 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
19299 (gst_filesrc_open_file), (gst_filesrc_loop),
19300 (gst_filesrc_activate), (filesrc_find_peek),
19301 (gst_filesrc_type_find):
19302 Made base source class, make fakesrc extend it.
19303 Add comments to basesink class.
19304 Some filesrc cleanup.
19306 2005-03-31 David Schleef <ds@schleef.org>
19308 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
19309 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
19310 expected to link against libgstreamer.
19311 * gst/base/Makefile.am: link against libgstreamer
19312 * gst/elements/Makefile.am: same
19314 2005-03-31 Andy Wingo <wingo@pobox.com>
19316 * tests/instantiate/Makefile.am:
19317 * tests/instantiate/caps.c: Add test to test speed of caps copy
19320 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
19321 GMemChunk to be fair.
19323 * gst/gsttrashstack.h: Remove warning about using the fallback
19324 trash stack implementation, it's still faster than malloc.
19326 2005-03-30 Andy Wingo <wingo@pobox.com>
19328 * tests/complexity.c: Add a copyright.
19330 2005-03-31 Wim Taymans <wim@fluendo.com>
19332 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
19333 (gst_base_transform_class_init), (gst_base_transform_init),
19334 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19335 (gst_base_transform_get_property),
19336 (gst_base_transform_sink_activate),
19337 (gst_base_transform_src_activate),
19338 (gst_base_transform_change_state):
19339 * gst/base/gstbasetransform.h:
19340 * gst/elements/gstidentity.c: (gst_identity_class_init),
19341 (gst_identity_event), (gst_identity_check_perfect),
19342 (gst_identity_transform), (gst_identity_start),
19343 (gst_identity_stop):
19344 Added start/stop methods to transform base class so subclasses
19345 don't need to deal with state changes even.
19347 2005-03-31 Wim Taymans <wim@fluendo.com>
19349 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
19350 (gst_event_new_discontinuous), (gst_event_discont_get_value):
19352 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19353 (gst_pad_pull_range):
19354 Added rate to the discont event to prepare for variable speed
19355 and reverse playback.
19357 2005-03-29 David Schleef <ds@schleef.org>
19360 * testsuite/trigger/Makefile.am:
19361 * testsuite/trigger/trigger.c: A little example program to show
19362 how trigger-based elements can work.
19364 2005-03-29 Wim Taymans <wim@fluendo.com>
19366 * gst/base/Makefile.am:
19368 * gst/base/gstbasesink.c: (gst_basesink_get_type),
19369 (gst_basesink_base_init), (gst_basesink_class_init),
19370 (gst_basesink_pad_getcaps), (gst_basesink_init),
19371 (gst_basesink_activate), (gst_basesink_change_state):
19372 * gst/base/gstbasesink.h:
19373 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
19374 (gst_base_transform_base_init), (gst_base_transform_finalize),
19375 (gst_base_transform_class_init), (gst_base_transform_init),
19376 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
19377 (gst_base_transform_event), (gst_base_transform_getrange),
19378 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
19379 (gst_base_transform_set_property),
19380 (gst_base_transform_get_property),
19381 (gst_base_transform_sink_activate),
19382 (gst_base_transform_src_activate),
19383 (gst_base_transform_change_state):
19384 * gst/base/gstbasetransform.h:
19385 * gst/elements/gstidentity.c: (gst_identity_finalize),
19386 (gst_identity_class_init), (gst_identity_init),
19387 (gst_identity_event), (gst_identity_check_perfect),
19388 (gst_identity_transform), (gst_identity_set_property),
19389 (gst_identity_get_property), (gst_identity_change_state):
19390 * gst/elements/gstidentity.h:
19391 * gst/gstelement.c: (gst_element_get_state_func),
19392 (gst_element_lost_state), (gst_element_pads_activate):
19393 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19394 (gst_pad_check_pull_range), (gst_pad_pull_range):
19396 Simplify pad activation.
19397 Added function to check if pull_range can be performed.
19398 Error out when pulling inactive or flushing pads.
19399 Removed const from refcounted types as it does not make sense.
19400 Simplify pad templates in basesink
19401 Added base class for simple 1-to-1 transforms.
19402 Make identity subclass the base transform.
19404 2005-03-29 Andy Wingo <wingo@pobox.com>
19406 * docs/libs/gstreamer-libs-overrides.txt:
19407 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
19408 really don't understand what's going on, but like whatever. I want
19411 * docs/gst/Makefile.am:
19412 * docs/libs/Makefile.am: Dist the overrides files.
19414 * check/Makefile.am (clean-local): Remove .libs directories.
19416 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
19417 elements to EXTRA_DIST, so po/ files are happy.
19419 * po/POTFILES.in: Er, remove it here.
19421 * po/POTFILES: Remove gstspider.c.
19423 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
19425 * docs/libs/gstreamer-libs-docs.sgml:
19426 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
19429 * tests/complexity.c (main): Set the length of the preroll queue
19430 on the sinks to prevent a lockup.
19432 * libs/gst/dataprotocol/Makefile.am:
19433 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
19434 the same as the one in check/gst-libs/gdp.c.
19436 * po/, docs/gst/: Commit automatic changes to docs and po files.
19438 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
19439 the versioned libgstbase.
19441 * check/Makefile.am: Depend on an unversioned gst-register, seems
19442 to make autoconf happier.
19444 * gst/base/Makefile.am: Make libgstbase a versioned lib.
19446 2005-03-28 Wim Taymans <wim@fluendo.com>
19449 * docs/design/part-gstelement.txt:
19450 * docs/design/part-negotiation.txt:
19451 * docs/design/part-preroll.txt:
19452 * docs/design/part-scheduling.txt:
19453 * docs/design/part-states.txt:
19455 * gst/base/Makefile.am:
19457 * gst/base/gstbasesink.c: (gst_basesink_get_template),
19458 (gst_basesink_base_init), (gst_basesink_class_init),
19459 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19460 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19461 (gst_basesink_set_pad_functions),
19462 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
19463 (gst_basesink_set_property), (gst_basesink_get_property),
19464 (gst_base_sink_get_template), (gst_base_sink_get_caps),
19465 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
19466 (gst_basesink_preroll_queue_push),
19467 (gst_basesink_preroll_queue_empty),
19468 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
19469 (gst_basesink_event), (gst_basesink_get_times),
19470 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
19471 (gst_basesink_chain_unlocked), (gst_basesink_chain),
19472 (gst_basesink_loop), (gst_basesink_activate),
19473 (gst_basesink_change_state):
19474 * gst/base/gstbasesink.h:
19475 * gst/elements/Makefile.am:
19476 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
19477 (gst_fakesink_class_init), (gst_fakesink_init),
19478 (gst_fakesink_set_property), (gst_fakesink_get_property),
19479 (gst_fakesink_get_times), (gst_fakesink_event),
19480 (gst_fakesink_preroll), (gst_fakesink_render),
19481 (gst_fakesink_change_state):
19482 * gst/elements/gstfakesink.h:
19483 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19484 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
19485 * gst/gstelement.c: (gst_element_add_pad),
19486 (gst_element_get_state_func), (gst_element_abort_state),
19487 (gst_element_commit_state), (gst_element_lost_state),
19488 (gst_element_set_state), (gst_element_pads_activate):
19489 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
19490 * gst/gstpipeline.c: (gst_pipeline_send_event),
19491 (gst_pipeline_change_state):
19492 Added state change code.
19493 Added/updated docs.
19494 Added sink base class, make fakesink extend the base class.
19495 Small cleanups in GstPipeline.
19497 2005-03-26 David Schleef <ds@schleef.org>
19499 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
19500 is broken and should be implemented in a different library.
19501 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
19502 * gst/gst.h: remove gstcpu.h
19503 * gst/gstcpu.c: remove
19504 * gst/gstcpu.h: remove
19505 * gst/Makefile.am.future: Remove this file. It's ancient.
19507 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19509 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19510 (gst_bin_send_event):
19511 Add default event/set_manager handlers. The set_manager handler
19512 takes care that the manager is distributed over kids that were
19513 already in the bin before the manager was set. The event handler
19514 is a utility virtual function that sends the event over all sinks,
19515 so that gst_element_send_event (bin, event); has the expected
19517 * gst/gstpad.c: (gst_pad_event_default):
19518 Re-install default event handling for discontinuities, so that
19519 seeking works without requiring hacks in applications or extra
19521 * gst/gstpipeline.c: (gst_pipeline_class_init),
19522 (gst_pipeline_send_event):
19523 Half hack, half utility: set a pipeline to PAUSED for seek events,
19524 since that is the only way we can guarantee a/v sync. Means that
19525 you can do gst_element_seek (pipeline, method, pos); on a pipeline
19526 and it "just works".
19528 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19530 * gst/gstpipeline.c: (gst_pipeline_use_clock):
19531 Lock/unlock mismatch.
19533 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
19535 * docs/faq/gst-uninstalled:
19536 add gst-plugins-base
19537 * docs/gst/Makefile.am:
19538 don't error out until docs are fixed
19539 * docs/gst/gstreamer.types:
19542 2005-03-22 Wim Taymans <wim@fluendo.com>
19544 * check/Makefile.am:
19545 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
19546 * gst/gststructure.c: (gst_structure_set_valist),
19547 (gst_structure_copy_conditional):
19548 Activated more tests.
19549 Added message test.
19550 Added G_TYPE_POINTER to GstStructure.
19553 2005-03-22 Wim Taymans <wim@fluendo.com>
19555 * docs/design/part-TODO.txt:
19556 * docs/design/part-events.txt:
19557 * docs/design/part-gstbin.txt:
19558 * docs/design/part-gstbus.txt:
19559 * docs/design/part-gstpipeline.txt:
19560 * docs/design/part-messages.txt:
19562 * gst/gstmessage.c:
19565 2005-03-21 Wim Taymans <wim@fluendo.com>
19567 * gst/gstbus.c: (gst_bus_post):
19568 Fix copy-and-paste error.
19570 2005-03-21 Wim Taymans <wim@fluendo.com>
19572 * check/Makefile.am:
19574 * gst/elements/Makefile.am:
19575 * gst/elements/gstelements.c:
19576 * gst/elements/gstfakesink.c: (gst_fakesink_init),
19577 (gst_fakesink_event), (gst_fakesink_chain):
19578 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19579 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
19580 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
19581 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
19582 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19583 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
19584 (gst_fakesrc_loop), (gst_fakesrc_activate),
19585 (gst_fakesrc_change_state):
19586 * gst/elements/gstfakesrc.h:
19587 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
19588 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
19589 (gst_filesrc_open_file), (gst_filesrc_loop),
19590 (gst_filesrc_activate), (gst_filesrc_change_state),
19591 (filesrc_find_peek), (filesrc_find_suggest),
19592 (gst_filesrc_type_find):
19593 * gst/elements/gstidentity.c: (gst_identity_finalize),
19594 (gst_identity_class_init), (gst_identity_init),
19595 (gst_identity_proxy_getcaps), (identity_queue_push),
19596 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
19597 (gst_identity_getrange), (gst_identity_chain),
19598 (gst_identity_sink_loop), (gst_identity_src_loop),
19599 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
19600 (gst_identity_set_property), (gst_identity_get_property),
19601 (gst_identity_change_state):
19602 * gst/elements/gstidentity.h:
19603 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
19604 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
19605 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
19606 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
19607 (gst_tee_sink_activate):
19608 * gst/elements/gsttee.h:
19609 * gst/gst.c: (gst_register_core_elements), (init_post):
19611 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
19612 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
19613 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
19614 (gst_bin_change_state):
19616 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
19617 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
19618 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
19619 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
19620 (gst_bus_set_sync_handler), (gst_bus_create_watch),
19621 (bus_watch_callback), (bus_watch_destroy),
19622 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
19623 (poll_timeout), (gst_bus_poll):
19627 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19628 (gst_element_post_message), (gst_element_message_full),
19629 (gst_element_get_state_func), (gst_element_get_state),
19630 (gst_element_abort_state), (gst_element_commit_state),
19631 (gst_element_lost_state), (gst_element_set_state),
19632 (gst_element_pads_activate), (gst_element_change_state),
19633 (gst_element_dispose), (gst_element_set_manager_func),
19634 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
19635 (gst_element_set_manager), (gst_element_get_manager),
19636 (gst_element_set_bus), (gst_element_get_bus),
19637 (gst_element_set_scheduler), (gst_element_get_scheduler):
19638 * gst/gstelement.h:
19639 * gst/gstevent.c: (gst_event_new_segment_seek),
19640 (gst_event_new_flush):
19642 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
19643 (_gst_message_free), (gst_message_get_type), (gst_message_new),
19644 (gst_message_new_eos), (gst_message_new_error),
19645 (gst_message_new_warning), (gst_message_new_tag),
19646 (gst_message_new_state_changed), (gst_message_new_application),
19647 (gst_message_get_structure), (gst_message_parse_tag),
19648 (gst_message_parse_state_changed), (gst_message_parse_error),
19649 (gst_message_parse_warning):
19650 * gst/gstmessage.h:
19651 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
19652 (gst_real_pad_set_property), (gst_pad_set_active),
19653 (gst_pad_is_active), (gst_pad_set_blocked_async),
19654 (gst_pad_set_blocked), (gst_pad_is_blocked),
19655 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
19656 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
19657 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
19658 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
19659 (gst_pad_link_filtered), (gst_pad_relink_filtered),
19660 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
19661 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
19662 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
19663 (gst_pad_set_caps), (gst_pad_configure_sink),
19664 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
19665 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
19666 (gst_real_pad_dispose), (gst_real_pad_finalize),
19667 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
19668 (gst_pad_event_default_dispatch), (gst_pad_event_default),
19669 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
19671 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
19672 (pipeline_bus_handler), (gst_pipeline_change_state),
19673 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
19674 * gst/gstpipeline.h:
19676 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19677 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
19678 (gst_queue_link_src), (gst_queue_bufferalloc),
19679 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
19680 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
19681 (gst_queue_loop), (gst_queue_handle_src_event),
19682 (gst_queue_handle_src_query), (gst_queue_src_activate),
19683 (gst_queue_change_state):
19685 * gst/gstscheduler.c: (gst_scheduler_init),
19686 (gst_scheduler_dispose), (gst_scheduler_create_task),
19687 (gst_scheduler_factory_create):
19688 * gst/gstscheduler.h:
19689 * gst/gststructure.c: (gst_structure_get_type),
19690 (gst_structure_copy_conditional):
19691 * gst/gststructure.h:
19692 * gst/gsttaginterface.h:
19693 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19694 (gst_task_init), (gst_task_dispose), (gst_task_create),
19695 (gst_task_get_state), (gst_task_start), (gst_task_stop),
19701 * gst/schedulers/Makefile.am:
19702 * gst/schedulers/cothreads_compat.h:
19703 * gst/schedulers/entryscheduler.c:
19704 * gst/schedulers/faircothreads.c:
19705 * gst/schedulers/faircothreads.h:
19706 * gst/schedulers/fairscheduler.c:
19707 * gst/schedulers/gstbasicscheduler.c:
19708 * gst/schedulers/gstoptimalscheduler.c:
19709 * gst/schedulers/gthread-cothreads.h:
19710 * gst/schedulers/threadscheduler.c:
19711 (gst_thread_scheduler_task_get_type),
19712 (gst_thread_scheduler_task_class_init),
19713 (gst_thread_scheduler_task_init),
19714 (gst_thread_scheduler_task_start),
19715 (gst_thread_scheduler_task_stop),
19716 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
19717 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19718 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
19719 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
19721 * libs/gst/Makefile.am:
19722 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
19723 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
19724 (gst_file_pad_parent_set):
19725 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19726 (gst_dp_event_from_packet):
19727 * tests/complexity.c: (main):
19728 * tests/mass_elements.c: (main):
19729 * testsuite/states/locked.c: (message_received), (main):
19730 * testsuite/states/parent.c: (main):
19731 * tools/gst-inspect.c: (print_element_flag_info),
19732 (print_implementation_info), (print_pad_info):
19733 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
19735 * tools/gst-md5sum.c: (event_loop), (main):
19736 * tools/gst-typefind.c: (main):
19737 * tools/gst-xmlinspect.c: (print_element_info):
19739 Added GstBus for mainloop integration.
19740 Added GstMessage for sending notifications on the bus.
19741 Added GstTask as an abstraction for pipeline entry points.
19743 Removed Schedulers.
19744 Simplified GstQueue for multithreaded core.
19745 Made _link threadsafe, removed old capsnego.
19746 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
19747 Added pad blocking functions.
19748 Reworked scheduling functions in GstPad to prepare for
19749 scheduling updates soon.
19750 Moved events out of data stream.
19751 Simplified GstEvent types.
19752 Added return values to push/pull.
19753 Removed clocking from GstElement.
19754 Added prototypes for state change function for next merge.
19755 Removed iterate from bins and state change management.
19756 Fixed some elements, disabled others for now.
19757 Fixed -inspect and -launch.
19758 Added check for GstBus.
19760 2005-03-10 Wim Taymans <wim@fluendo.com>
19762 * docs/design/part-MT-refcounting.txt:
19763 * docs/design/part-clocks.txt:
19764 * docs/design/part-gstelement.txt:
19765 * docs/design/part-gstobject.txt:
19766 * docs/design/part-standards.txt:
19767 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19768 (gst_bin_remove_func), (gst_bin_remove):
19772 * testsuite/clock/clock1.c: (main):
19773 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
19775 * testsuite/dlopen/loadgst.c: (do_test):
19776 * testsuite/refcounting/bin.c: (add_remove_test1),
19777 (add_remove_test2), (main):
19778 * testsuite/refcounting/element.c: (main):
19779 * testsuite/refcounting/element_pad.c: (main):
19780 * testsuite/refcounting/pad.c: (main):
19781 * tools/gst-launch.c: (sigint_handler_sighandler):
19782 * tools/gst-typefind.c: (main):
19784 Added doc about clock.
19785 removed gst_bin_iterate_recurse_up(), marked methods
19787 Fix more testsuites.
19789 2005-03-09 Wim Taymans <wim@fluendo.com>
19791 * gst/gstpad.c: (gst_pad_get_direction),
19792 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
19793 (gst_pad_collect_valist):
19794 * testsuite/bins/interface.c: (main):
19795 * testsuite/caps/audioscale.c: (test_caps):
19796 * testsuite/caps/caps.c: (test1), (test2), (test3):
19797 * testsuite/caps/deserialize.c: (main):
19798 * testsuite/caps/enumcaps.c: (main):
19799 * testsuite/caps/filtercaps.c: (main):
19800 * testsuite/caps/intersect2.c: (main):
19801 * testsuite/caps/random.c: (main):
19802 * testsuite/caps/renegotiate.c: (my_fixate), (main):
19803 * testsuite/caps/sets.c: (check_caps):
19804 * testsuite/caps/simplify.c: (check_caps), (main):
19805 * testsuite/caps/subtract.c: (check_caps):
19806 Fix _pad_get_direction wrt ghostpads.
19807 Fix caps testsuite.
19809 2005-03-09 Wim Taymans <wim@fluendo.com>
19811 * check/Makefile.am:
19812 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
19813 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
19814 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
19815 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
19816 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
19817 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
19818 (gst_bin_remove), (gst_bin_iterate_recurse_up),
19819 (bin_element_is_sink), (gst_bin_iterate_sinks),
19820 (gst_bin_iterate_all_by_interface):
19822 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
19823 (gst_element_change_state), (gst_element_dispose),
19824 (gst_element_finalize), (gst_element_set_loop_function):
19825 * gst/gstelement.h:
19826 * gst/gstiterator.c: (find_custom_fold_func):
19827 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19828 (gst_pad_collectv), (gst_pad_collect_valist),
19829 (gst_pad_template_new):
19830 * gst/gstpipeline.c: (gst_pipeline_class_init),
19831 (gst_pipeline_dispose), (gst_pipeline_set_property),
19832 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
19833 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
19834 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
19836 * gst/schedulers/entryscheduler.c:
19837 * gst/schedulers/gstbasicscheduler.c:
19838 (gst_basic_scheduler_cothreaded_chain),
19839 (gst_basic_scheduler_chain_add_element):
19840 * testsuite/bins/interface.c: (main):
19842 Added GstSystemClock test.
19843 Implemented clock distribution code in GstBin.
19844 Implemented iterate sinks method for future use.
19845 Rearranged gstelement.h
19846 Fix GstIterator comparison bug.
19847 Moved some code to GstPipeline, mostly clocking related.
19849 2005-03-09 Wim Taymans <wim@fluendo.com>
19852 * gst/gst_private.h:
19853 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19854 (gst_bin_remove_func), (gst_bin_remove),
19855 (gst_bin_get_by_name_recurse_up):
19856 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
19857 (gst_clock_id_compare_func), (gst_clock_id_wait),
19858 (gst_clock_id_wait_async), (gst_clock_init),
19859 (gst_clock_adjust_unlocked), (gst_clock_get_time):
19860 * gst/gstelement.h:
19861 * gst/gstinfo.c: (_gst_debug_init):
19863 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19864 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
19866 Bump version number, we're now 0.9.0
19867 Add future debugging category.
19868 Fix NULL _unref() in _get_by_name_recurse_up
19869 Rearrange gstpad.h.
19872 2005-03-08 Wim Taymans <wim@fluendo.com>
19874 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
19875 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
19876 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
19877 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
19878 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
19879 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
19880 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
19881 * gst/elements/gstidentity.c: (gst_identity_class_init):
19882 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
19883 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
19884 * gst/elements/gstshaper.c: (gst_shaper_class_init):
19885 * gst/elements/gststatistics.c: (gst_statistics_class_init):
19886 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
19888 * gst/gstelement.c: (gst_element_class_init),
19889 (gst_element_base_class_init), (gst_element_init),
19890 (gst_element_get_random_pad), (gst_element_wait_state_change),
19891 (gst_element_change_state), (gst_element_dispose),
19892 (gst_element_finalize), (gst_element_set_loop_function):
19893 * gst/gstelement.h:
19894 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
19895 * gst/gstthread.c: (gst_thread_class_init),
19896 (gst_thread_release_children_locks), (gst_thread_change_state):
19897 * gst/schedulers/gstbasicscheduler.c:
19898 (gst_basic_scheduler_loopfunc_wrapper),
19899 (gst_basic_scheduler_chain_wrapper),
19900 (gst_basic_scheduler_src_wrapper),
19901 (gst_basic_scheduler_remove_element):
19902 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
19903 Remove threadsafe properties. Fix elements because GObject
19904 complains when installing a property before declaring a
19905 set/get_property handler.
19906 Rearrange gstelement.h file, use STATE macros for state locks.
19907 Free mutexes in the finalize method instead of dispose.
19909 2005-03-08 Wim Taymans <wim@fluendo.com>
19911 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19912 * gst/gstthread.c: (gst_thread_release_children_locks):
19913 Added parentage check.
19914 Fix build og GstThread again.
19916 2005-03-08 Wim Taymans <wim@fluendo.com>
19918 * docs/design/part-MT-refcounting.txt:
19919 * docs/design/part-conventions.txt:
19920 * docs/design/part-gstobject.txt:
19921 * docs/design/part-relations.txt:
19922 * docs/design/part-standards.txt:
19923 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19924 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
19925 (gst_bin_get_by_name), (gst_bin_get_by_interface),
19926 (gst_bin_iterate_all_by_interface):
19929 * gst/gstelement.c: (gst_element_class_init),
19930 (gst_element_change_state), (gst_element_set_loop_function):
19931 * gst/gstelement.h:
19932 * gst/gstiterator.c:
19933 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
19934 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
19935 (gst_object_dispatch_properties_changed), (gst_object_set_name),
19936 (gst_object_set_parent), (gst_object_unparent),
19937 (gst_object_check_uniqueness):
19939 Docs updates, clean up some headers.
19941 2005-03-07 Wim Taymans <wim@fluendo.com>
19943 * check/.cvsignore:
19944 * check/Makefile.am:
19945 * check/gst-libs/.cvsignore:
19946 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
19947 * check/gst/.cvsignore:
19948 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
19949 (START_TEST), (gstbus_suite), (main):
19950 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
19951 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
19952 (gst_data_suite), (main):
19953 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
19954 (add_fold_func), (gstiterator_suite), (main):
19955 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
19956 (thread_name_object), (thread_name_object_default),
19957 (gst_object_name_compare), (gst_object_suite), (main):
19958 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
19959 (gst_pad_suite), (main):
19960 * check/gstcheck.c: (gst_check_log_message_func),
19961 (gst_check_log_critical_func), (gst_check_init):
19962 * check/gstcheck.h:
19963 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19964 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
19967 2005-03-07 Wim Taymans <wim@fluendo.com>
19969 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
19970 (gst_list_iterator_next), (gst_list_iterator_resync),
19971 (gst_list_iterator_free), (gst_iterator_new_list),
19972 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
19973 (gst_iterator_free), (gst_iterator_push), (filter_next),
19974 (filter_resync), (filter_uninit), (filter_free),
19975 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
19976 (gst_iterator_foreach), (find_custom_fold_func),
19977 (gst_iterator_find_custom):
19978 * gst/gstiterator.h:
19979 Added missing files.
19981 2005-03-07 Wim Taymans <wim@fluendo.com>
19985 * docs/design/part-MT-refcounting.txt:
19986 * docs/design/part-conventions.txt:
19987 * docs/design/part-gstobject.txt:
19988 * docs/design/part-relations.txt:
19989 * examples/mixer/mixer.c: (main):
19990 * examples/thread/thread.c: (eos), (main):
19992 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
19993 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
19994 (gst_spider_plug_from_srcpad):
19995 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
19996 (gst_spider_identity_change_state),
19997 (gst_spider_identity_sink_loop_type_finding):
19998 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
19999 * gst/elements/gstidentity.c: (gst_identity_init):
20000 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
20001 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
20002 * gst/elements/gsttypefindelement.c: (free_entry):
20005 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
20006 (gst_bin_set_clock_func), (gst_bin_auto_clock),
20007 (gst_bin_set_index), (gst_bin_set_element_sched),
20008 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
20009 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
20010 (gst_bin_iterate_elements), (iterate_child_recurse),
20011 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
20012 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
20013 (compare_interface), (gst_bin_get_by_interface),
20014 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
20016 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
20017 (gst_buffer_default_free), (gst_buffer_default_copy),
20018 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
20019 (gst_buffer_create_sub):
20021 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
20022 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
20023 (gst_caps_unref), (gst_static_caps_get),
20024 (gst_caps_remove_and_get_structure), (gst_caps_append),
20025 (gst_caps_append_structure), (gst_caps_remove_structure),
20026 (gst_caps_copy_nth), (gst_caps_set_simple),
20027 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
20028 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
20029 (gst_caps_structure_intersect_field), (gst_caps_intersect),
20030 (gst_caps_structure_subtract_field), (gst_caps_subtract),
20031 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
20032 (gst_caps_structure_figure_out_union),
20033 (gst_caps_switch_structures), (gst_caps_do_simplify),
20034 (gst_caps_replace), (gst_caps_from_string),
20035 (gst_caps_copy_conditional):
20037 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
20038 (_gst_clock_id_free), (gst_clock_id_unref),
20039 (gst_clock_id_compare_func), (gst_clock_id_wait),
20040 (gst_clock_id_wait_async), (gst_clock_class_init),
20041 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
20042 (gst_clock_get_time), (gst_clock_set_time_adjust),
20043 (gst_clock_set_property), (gst_clock_get_property):
20046 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
20047 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
20049 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
20050 (gst_element_requires_clock), (gst_element_provides_clock),
20051 (gst_element_set_clock), (gst_element_clock_wait),
20052 (gst_element_wait), (gst_element_set_time_delay),
20053 (gst_element_is_indexable), (gst_element_add_pad),
20054 (gst_element_add_ghost_pad), (gst_element_remove_pad),
20055 (pad_compare_name), (gst_element_get_static_pad),
20056 (gst_element_request_pad), (gst_element_get_request_pad),
20057 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
20058 (gst_element_class_get_pad_template_list),
20059 (gst_element_class_get_pad_template), (gst_element_error_func),
20060 (gst_element_get_random_pad), (gst_element_get_event_masks),
20061 (gst_element_send_event), (gst_element_seek),
20062 (gst_element_get_query_types), (gst_element_query),
20063 (gst_element_get_formats), (gst_element_convert),
20064 (gst_element_is_locked_state), (gst_element_set_locked_state),
20065 (gst_element_sync_state_with_parent), (gst_element_change_state),
20066 (gst_element_finalize), (gst_element_yield),
20067 (gst_element_interrupt), (gst_element_set_scheduler),
20068 (gst_element_get_scheduler), (gst_element_set_loop_function):
20069 * gst/gstelement.h:
20071 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
20072 (gst_format_get_by_nick), (gst_format_get_details),
20073 (gst_format_iterate_definitions):
20075 * gst/gstindex.c: (gst_index_gtype_resolver):
20078 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
20079 (gst_mem_chunk_free):
20080 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
20081 (gst_object_ref), (gst_object_unref), (gst_object_sink),
20082 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
20083 (gst_object_dispatch_properties_changed),
20084 (gst_object_set_name_default), (gst_object_set_name),
20085 (gst_object_get_name), (gst_object_set_name_prefix),
20086 (gst_object_get_name_prefix), (gst_object_set_parent),
20087 (gst_object_get_parent), (gst_object_unparent),
20088 (gst_object_check_uniqueness), (gst_object_save_thyself),
20089 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
20090 (gst_object_set_property), (gst_object_get_property),
20091 (gst_object_get_path_string):
20093 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20094 (gst_real_pad_init), (gst_real_pad_get_property),
20095 (gst_pad_custom_new), (gst_pad_get_direction),
20096 (gst_pad_set_active), (gst_pad_is_active),
20097 (gst_pad_set_event_function), (gst_pad_is_linked),
20098 (gst_pad_link_free), (gst_pad_link_intersect),
20099 (gst_pad_link_fixate), (gst_pad_set_caps),
20100 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
20101 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
20102 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
20103 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
20104 (gst_pad_get_caps), (gst_pad_peer_get_caps),
20105 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
20106 (gst_pad_realize), (gst_pad_get_allowed_caps),
20107 (gst_real_pad_dispose), (gst_real_pad_finalize),
20108 (gst_pad_collectv), (gst_pad_collect_valist),
20109 (gst_pad_template_dispose), (gst_pad_template_new),
20110 (gst_pad_get_internal_links):
20112 * gst/gstpipeline.c: (gst_pipeline_dispose),
20113 (gst_pipeline_change_state):
20114 * gst/gstpipeline.h:
20116 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
20117 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
20118 * gst/gstpluginfeature.h:
20119 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
20120 * gst/gstquery.c: (_gst_query_type_initialize),
20121 (gst_query_type_register), (gst_query_type_get_by_nick),
20122 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
20124 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
20125 * gst/gstscheduler.c: (gst_scheduler_add_element),
20126 (gst_scheduler_factory_create):
20127 * gst/gststructure.c: (gst_structure_set_parent_refcount),
20128 (gst_structure_free), (gst_structure_set_name),
20129 (gst_structure_id_set_value), (gst_structure_set_value),
20130 (gst_structure_set_valist), (gst_structure_remove_field),
20131 (gst_structure_remove_fields),
20132 (gst_structure_remove_fields_valist),
20133 (gst_structure_remove_all_fields), (gst_structure_foreach),
20134 (gst_structure_map_in_place),
20135 (gst_caps_structure_fixate_field_nearest_int),
20136 (gst_caps_structure_fixate_field_nearest_double):
20137 * gst/gststructure.h:
20138 * gst/gstsystemclock.c: (gst_system_clock_class_init),
20139 (gst_system_clock_init), (gst_system_clock_dispose),
20140 (gst_system_clock_async_thread),
20141 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
20142 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
20143 * gst/gstsystemclock.h:
20144 * gst/gsttag.c: (gst_tag_list_add_value_internal),
20145 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
20146 * gst/gsttaginterface.c:
20147 * gst/gstthread.c: (gst_thread_dispose),
20148 (gst_thread_release_children_locks), (gst_thread_change_state),
20149 (gst_thread_main_loop):
20150 * gst/gsttrashstack.h:
20151 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
20153 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
20154 (gst_element_request_pad), (gst_element_get_pad_from_template),
20155 (gst_element_request_compatible_pad),
20156 (gst_element_get_compatible_pad_filtered),
20157 (gst_element_get_compatible_pad), (gst_element_state_get_name),
20158 (gst_element_link_pads_filtered), (gst_element_link_filtered),
20159 (gst_element_link_many), (gst_element_link),
20160 (gst_element_link_pads), (gst_element_unlink_pads),
20161 (gst_element_unlink_many), (gst_element_unlink),
20162 (gst_pad_can_link_filtered), (gst_pad_can_link),
20163 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
20164 (gst_object_default_error), (gst_bin_add_many),
20165 (gst_bin_remove_many), (gst_element_populate_std_props),
20166 (gst_element_class_install_std_props), (gst_buffer_merge),
20167 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
20168 (link_fold_func), (gst_pad_proxy_setcaps):
20170 * gst/gstvalue.c: (gst_value_deserialize_string):
20171 * gst/parse/grammar.y:
20172 * gst/schedulers/gstbasicscheduler.c:
20173 (gst_basic_scheduler_cothreaded_chain),
20174 (gst_basic_scheduler_chain_recursive_add),
20175 (gst_basic_scheduler_pad_link):
20176 * gst/schedulers/gstoptimalscheduler.c:
20177 (get_group_schedule_function),
20178 (gst_opt_scheduler_state_transition),
20179 (gst_opt_scheduler_add_element), (element_get_reachables_func):
20180 * libs/gst/bytestream/bytestream.c:
20181 * libs/gst/dataprotocol/dataprotocol.c:
20182 (gst_dp_header_from_buffer):
20185 * tests/threadstate/threadstate2.c: (eos):
20186 * tools/gst-compprep.c: (main):
20187 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
20188 (print_pad_info), (print_children_info):
20189 * tools/gst-launch.c: (idle_func), (main):
20190 * tools/gst-md5sum.c: (idle_func), (main):
20191 * tools/gst-xmlinspect.c: (print_element_info):
20192 First THREADED backport attempt, focusing on adding locks and
20193 making sure the API is threadsafe. Needs more work. More docs
20196 2005-02-24 Andy Wingo <wingo@pobox.com>
20198 * tests/bench-complexity.scm:
20199 * tests/complexity.gnuplot: New files, good for running complexity
20202 * tests/Makefile.am:
20203 * tests/complexity.c: New test, sets up N elements, at each level
20204 teeing into M streams per element. Eeeenteresting.
20206 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
20207 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
20208 running bench-mass_elements.scm.
20210 * tests/bench-mass_elements.scm: New script, runs mass_elements
20211 for various numbers of identities, outputting the results to a
20212 file. Requires guile 1.6. Just for testing.
20214 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
20216 * gst/schedulers/fairscheduler.c:
20217 compile with debug disabled
20219 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
20222 hunting season on 0.9 is now OPEN