1 2005-10-13 Andy Wingo <wingo@pobox.com>
3 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4 Fix Timmeke Waymans bug.
5 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
6 string of the proper length to gst_caps_from_string. There's a
7 potential for, before this fix, that this could cause someone
8 connecting over the network to cause a segfault if the payload is
11 2005-10-13 Stefan Kost <ensonic@users.sf.net>
13 * docs/design/draft-push-pull.txt:
14 * docs/design/part-overview.txt:
15 * docs/random/TODO-pre-0.9:
16 * docs/random/old/ChangeLog.gstreamer:
17 * gst/base/gstpushsrc.c:
21 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
23 * gst/glib-compat.c: (gst_flags_get_first_value):
25 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
26 (gst_value_compare_double), (gst_value_serialize_flags):
27 GLib 2.6 g_flags_get_first_value has a bug that triggers an
30 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
32 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
33 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
35 * tools/gst-launch.c: (event_loop):
36 print out clock nicely
38 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
40 * docs/gst/gstreamer-sections.txt:
42 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
43 (gst_tag_list_get_date_index):
44 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
45 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
47 2005-10-13 Julien MOUTTE <julien@moutte.net>
49 * gst/base/gstcollectpads.c: (gst_collectpads_event),
50 (gst_collectpads_chain):
51 * gst/base/gstcollectpads.h: Handle newsegment and store informations
54 2005-10-13 Stefan Kost <ensonic@users.sf.net>
56 * docs/gst/gstreamer-sections.txt:
59 * tools/gst-inspect.c: (main):
60 * tools/gst-launch.c: (main):
61 * tools/gst-run.c: (main):
62 * tools/gst-xmlinspect.c: (main):
63 fix GOption context leaks
66 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
70 * win32/common/config.h:
72 * win32/vs6/grammar.dsp:
73 * win32/vs6/libgstelements.dsp:
74 * win32/vs6/libgstreamer.dsp:
77 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
79 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
80 * gst/base/gstbasesrc.c: (gst_base_src_query):
81 fix more guint64<->gdouble conversions
83 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
86 add win32-update target
87 * win32/common/gstconfig.h:
88 * win32/common/gstenumtypes.c:
89 * win32/common/gstenumtypes.h:
90 * win32/common/gstversion.h:
91 add files that visual studio can't generate
93 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
96 add a win32-update target
99 2005-10-12 Wim Taymans <wim@fluendo.com>
101 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
102 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
103 * gst/gstelement.c: (gst_element_commit_state),
104 (gst_element_set_state):
105 Protect flags with proper lock.
106 unref provided cached clock in dispose.
108 2005-10-12 Stefan Kost <ensonic@users.sf.net>
111 * gst/gstminiobject.h:
113 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
114 removed unused flags from miniobject
117 2005-10-12 Wim Taymans <wim@fluendo.com>
119 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
120 (gst_file_sink_event), (gst_file_sink_render):
121 Flush before seeking.
124 2005-10-12 Andy Wingo <wingo@pobox.com>
126 * gst/gst.c (gst_init_check): Ignore unknown options, as has
127 always been the case.
129 2005-10-12 Stefan Kost <ensonic@users.sf.net>
131 * check/gst/gstbin.c: (GST_START_TEST):
132 * docs/gst/gstreamer-sections.txt:
133 * gst/base/gstbasesink.c: (gst_base_sink_init):
134 * gst/base/gstbasesrc.c: (gst_base_src_init),
135 (gst_base_src_get_range), (gst_base_src_check_get_range),
136 (gst_base_src_start), (gst_base_src_stop):
137 * gst/base/gstbasesrc.h:
138 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
139 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
140 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
144 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
146 * gst/gstelement.c: (gst_element_is_locked_state),
147 (gst_element_set_locked_state), (gst_element_commit_state),
148 (gst_element_set_state):
150 * gst/gstindex.c: (gst_index_init):
152 * gst/gstminiobject.h:
153 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
154 (gst_object_set_parent):
156 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
157 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
159 * gst/gstpadtemplate.h:
160 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
161 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
163 * gst/indexers/gstfileindex.c: (gst_file_index_load),
164 (gst_file_index_commit):
165 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
166 * testsuite/pad/link.c: (gst_test_src_init),
167 (gst_test_filter_init), (gst_test_sink_init):
168 * testsuite/states/locked.c: (main):
169 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
170 moved bitshift from macro to enum definition
172 2005-10-12 Wim Taymans <wim@fluendo.com>
174 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
175 * gst/elements/gstfilesink.c: (gst_file_sink_event),
176 (gst_file_sink_render):
177 Some more debugging info.
179 2005-10-12 Wim Taymans <wim@fluendo.com>
181 * docs/design/part-states.txt:
182 * tools/gst-launch.c: (main):
184 Revert non-intentional change.
186 2005-10-12 Wim Taymans <wim@fluendo.com>
188 * check/gst/gstbin.c: (GST_START_TEST):
189 * check/gst/gstelement.c: (GST_START_TEST):
190 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
191 * check/gst/gstghostpad.c: (GST_START_TEST):
192 * check/gst/gstpipeline.c: (GST_START_TEST):
193 * check/pipelines/simple_launch_lines.c: (run_pipeline):
194 * check/states/sinks.c: (GST_START_TEST):
195 * gst/elements/gsttypefindelement.c: (stop_typefinding):
196 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
197 (gst_bin_remove_func), (gst_bin_get_state_func),
198 (gst_bin_recalc_state), (gst_bin_change_state_func),
200 * gst/gstelement.c: (gst_element_get_state_func),
201 (gst_element_get_state), (gst_element_abort_state),
202 (gst_element_commit_state), (gst_element_set_state),
203 (gst_element_change_state), (gst_element_change_state_func):
205 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
206 (gst_pipeline_provide_clock_func):
207 * gst/gstutils.c: (gst_element_link_pads_filtered):
208 * tools/gst-launch.c: (main):
209 * tools/gst-typefind.c: (main):
210 Use GstClockTime in _get_state() instead of GTimeVal.
211 Remove old code in gstutils.c
213 2005-10-12 Andy Wingo <wingo@pobox.com>
215 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
218 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
219 there is no task. Shouldn't affect any code, as nothing in our
220 plugins checks this return value.
221 (gst_pad_stop_task): Also take the stream lock if the pad has no
224 2005-10-12 Wim Taymans <wim@fluendo.com>
226 * gst/gstpad.c: (pre_activate), (post_activate),
227 (gst_pad_activate_pull), (gst_pad_activate_push):
228 Cleanup activation code. Reset old state if
231 2005-10-12 Wim Taymans <wim@fluendo.com>
233 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
234 (gst_base_sink_change_state):
235 No need to prerol after receiving EOS.
237 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
238 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
239 * gst/elements/gstidentity.c: (gst_identity_event):
240 Print events more verbosely.
242 2005-10-12 Wim Taymans <wim@fluendo.com>
245 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
246 * check/states/sinks2.c:
247 Moved sinks2 testcode in sinks check.
249 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
250 (gst_bin_remove_func), (gst_bin_recalc_state),
251 (gst_bin_change_state_func), (bin_bus_handler):
252 Fix potential race condition when _get_state() iterated over an
253 ASYNC element right before it posted a state completion.
258 * gst/gstevent.c: (gst_event_new_newsegment),
259 (gst_event_parse_newsegment):
260 A playback rate of 0.0 is not allowed.
262 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
264 * win32/common/config.h:
265 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
266 (_trewinddir), (_ttelldir), (_tseekdir):
267 * win32/common/dirent.h:
268 * win32/common/gtchar.h:
269 * win32/common/libgstbase.def:
270 * win32/common/libgstreamer.def:
271 * win32/vs6/grammar.dsp:
272 * win32/vs6/gst_inspect.dsp:
273 * win32/vs6/gst_launch.dsp:
274 * win32/vs6/gstreamer.dsw:
275 * win32/vs6/libgstbase.dsp:
276 * win32/vs6/libgstelements.dsp:
277 * win32/vs6/libgstreamer.dsp:
278 Visual Studio 6 project files, and a new common directory.
281 2005-10-11 Wim Taymans <wim@fluendo.com>
283 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
284 (gst_base_sink_do_sync), (gst_base_sink_query),
285 (gst_base_sink_change_state):
286 * gst/base/gstbasesink.h:
287 Correctly parse newsegment info.
289 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
291 * gst/gst.c: (init_post):
292 split plugin paths correctly
294 2005-10-11 Wim Taymans <wim@fluendo.com>
296 * check/gst/gstevent.c: (GST_START_TEST):
297 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
298 (gst_base_sink_change_state):
299 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
300 * gst/base/gstbasetransform.c: (gst_base_transform_event):
301 * gst/elements/gstfilesink.c: (gst_file_sink_event):
302 * gst/gstevent.c: (gst_event_new_newsegment),
303 (gst_event_parse_newsegment):
305 Added extra flag to newsegment for future API freeze.
306 Updated check and base elements.
308 2005-10-11 Julien MOUTTE <julien@moutte.net>
310 * gst/base/gstcollectpads.c: (gst_collectpads_init),
311 (gst_collectpads_add_pad), (gst_collectpads_pop),
312 (gst_collectpads_event), (gst_collectpads_chain):
313 * gst/base/gstcollectpads.h: Handle EOS correctly.
315 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
317 * tools/gst-launch.c: (main):
320 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
322 * gst/gst-i18n-lib.h:
323 check for ENABLE_NLS, not GETTEXT_PACKAGE
324 * gst/gstregistry.c: (gst_registry_add_plugin),
325 (gst_registry_scan_path_level),
326 (_gst_registry_remove_cache_plugins):
327 protect possibly NULL strings
329 config.h already included before
330 * tools/gst-inspect.c: (main):
331 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
332 check for ENABLE_NLS, not GETTEXT_PACKAGE
333 * tools/gst-launch.c: (main):
334 check for ENABLE_NLS, not GETTEXT_PACKAGE
336 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
339 if we don't have glib, fail before testing 2.8
340 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
341 fix a leak, should fix plugins-base testsuite
343 2005-10-11 Andy Wingo <wingo@pobox.com>
345 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
346 take the mode we're going to as an arg. Go head and set the mode
347 and flushing flags now, so that if the activate function starts a
348 thread all the flags will be in the right state.
349 (post_activate): Renamed also. Just handle making sure streaming
350 finishes for the deactivation case, and setting the deactivated
352 (gst_pad_set_active): Complain loudly if deactivation fails.
353 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
354 (gst_pad_activate_push): Adapt to pre/post_activate changes,
355 remove the terrible hack.
357 2005-10-11 Wim Taymans <wim@fluendo.com>
359 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
360 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
361 (gst_bin_recalc_state), (gst_bin_change_state_func),
362 (gst_bin_dispose), (bin_bus_handler):
364 Prepare to make current EOS message queue more generic.
367 * gst/gstevent.c: (gst_event_new_newsegment),
368 (gst_event_parse_newsegment):
370 Rename base to stream_time.
375 2005-10-11 Wim Taymans <wim@fluendo.com>
377 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
378 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
379 (gst_bin_change_state_func), (bin_bus_handler):
381 Work on proper clock selection.
383 2005-10-11 Edward Hervey <edward@fluendo.com>
385 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
386 * libs/gst/controller/gstcontroller.h:
387 Added GList* version of _remove_properties() in order to be able to wrap
390 2005-10-11 Wim Taymans <wim@fluendo.com>
392 * docs/design/part-states.txt:
395 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
396 (gst_bin_change_state_func), (bin_bus_handler):
397 Doc updates. Don't distribute the same clock over and over again.
403 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
404 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
405 (gst_pad_send_event):
407 Make probe emission threadsafe again.
408 Register quarks and move _get_name() from utils.
411 * gst/gstpipeline.c: (gst_pipeline_class_init),
412 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
413 Only redistribute the clock of it changed.
415 * gst/gstsystemclock.h:
420 Moved the _flow_get_name() to GstPad.
422 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
424 * check/gst-libs/gdp.c: (GST_START_TEST):
425 * check/gst/gstcaps.c: (GST_START_TEST):
426 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
427 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
428 (gst_dp_packet_from_caps):
429 fix more valgrind warnings before turning up the heat
431 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
433 * gst/parse/grammar.y:
434 some cleanup before the hacking
436 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
438 * gst/base/gstbasesrc.c: (gst_base_src_query):
440 * gst/gstutils.c: (gst_guint64_to_gdouble),
441 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
443 externalize, basesrc uses it
444 obviously the implementation needs testing
446 2005-10-10 Wim Taymans <wim@fluendo.com>
448 * tests/sched/Makefile.am:
449 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
450 (make_pipeline3), (make_pipeline4), (print_elem), (main):
452 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
454 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
455 apparently converting from guint64 to double is not implemented
458 2005-10-10 Wim Taymans <wim@fluendo.com>
461 * check/generic/states.c: (GST_START_TEST):
462 * check/gst/gstbin.c: (GST_START_TEST):
463 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
464 * check/states/sinks.c: (GST_START_TEST):
465 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
467 Check fixes, use API as stated in design docs, remove hacks.
469 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
470 (gst_base_sink_change_state):
471 Catch stopping our task while we're shutting down.
473 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
474 (gst_bin_remove_func), (gst_bin_get_state_func),
475 (gst_bin_recalc_state), (gst_bin_change_state_func),
478 * gst/gstelement.c: (gst_element_init),
479 (gst_element_get_state_func), (gst_element_abort_state),
480 (gst_element_commit_state), (gst_element_lost_state),
481 (gst_element_set_state), (gst_element_change_state),
482 (gst_element_change_state_func):
484 New state change algorithm (see #318116)
486 * gst/gstpipeline.c: (gst_pipeline_class_init),
487 (gst_pipeline_init), (gst_pipeline_set_property),
488 (gst_pipeline_get_property), (do_pipeline_seek),
489 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
491 Remove crude state change hacks.
496 * tools/gst-launch.c: (main):
497 Fixes for state change. Needs some more work to fully use the
500 2005-10-10 Andy Wingo <wingo@pobox.com>
502 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
504 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
505 this flag, but it's not even in GLib 2.6. Odd. Hack around the
508 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
510 * gst/gstiterator.c: (gst_iterator_new):
511 Fix my previous commit: GTypes passed to gst_iterator_new()
512 can be fundamental types.
514 2005-10-10 Wim Taymans <wim@fluendo.com>
516 * gst/gstelement.c: (gst_element_iterate_pad_list),
517 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
518 (gst_element_iterate_sink_pads):
519 Use src/sink pads lists for the respective iterators instead
522 2005-10-10 Andy Wingo <wingo@pobox.com>
524 Merged in popt removal + GOption addition patch from Ronald, bug
527 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
528 GstElement macros around, remove popt-related symbols, add goption
531 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
533 * docs/gst/Makefile.am:
534 * docs/libs/Makefile.am: No POPT_CFLAGS.
536 * examples/manual/Makefile.am:
537 * docs/manual/basics-init.xml: Doc updates with an example.
539 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
540 (gst_init), (parse_one_option), (parse_goption_arg):
541 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
542 bit of hand merging and debugging to get the GOption stuff working
547 * tools/gst-inspect.c: (main):
548 * tools/gst-launch.c: (main):
549 * tools/gst-run.c: (main):
550 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
552 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
554 * gst/gstiterator.c: (gst_iterator_new):
555 Add assertions to make sure passed GType is likely to really
556 be a GType (as the compiler won't catch it if the size and
557 GType arguments get mixed up, see #318447).
559 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
561 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
563 * gst/gstbin.c: (gst_bin_iterate_sorted):
564 Pass GType and size arguments to gst_iterator_new() in the right
565 order (maybe we should make _new() take the GType as first argument
566 just like _new_list()?) (#318447).
569 2005-10-10 Wim Taymans <wim@fluendo.com>
571 * gst/gstelement.c: (gst_element_finalize):
572 And free the GStaticRecMutex too
574 2005-10-10 Andy Wingo <wingo@pobox.com>
576 * gst/gstelement.c (gst_element_init, gst_element_finalize):
577 Allocate and free the mutex properly.
579 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
581 (GstElement): The state_lock is now recursive. Rebuild your
582 plugins, suckers. Old macros adapted.
584 * docs/gst/gstreamer-sections.txt: Doc updates.
587 * gst/gstutils.c (g_static_rec_cond_timed_wait)
588 (g_static_rec_cond_wait): Ported from state changes patch, while
589 we wait on bug #317802 to be solved in a well-distributed GLib.
591 * gst/gstelement.c (gst_element_change_state_func): Renamed from
592 gst_element_change_state, variable name changes.
593 (gst_element_change_state): Split out of gst_element_set_state in
594 preparation for the state change merge. Doesn't pay attention to
595 the 'transition' argument.
596 (gst_element_set_state): Updates, hopefully purely cosmetic.
597 (gst_element_sync_state_with_parent): MT-safety. Ported from the
599 (gst_element_get_state_func): Renamed from get_state, cosmetic
602 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
604 * gst/elements/gstelements.c:
605 * win32/GStreamer.vcproj:
607 * win32/dirent.c: (_tseekdir):
608 * win32/gst-inspect.vcproj:
609 * win32/gst-launch.vcproj:
611 * win32/gstelements.vcproj:
612 * win32/gstenumtypes.c: (gst_object_flags_get_type):
613 * win32/gstreamer.def:
615 updates for the win32 build (patch from Sebastien Moutte)
617 2005-10-10 Andy Wingo <wingo@pobox.com>
619 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
620 gst_bin_get_state, cleaned up (but no logic changes).
621 (bin_element_is_sink): Comment updates.
622 (sink_iterator_filter): Remove needless cast.
623 (gst_bin_iterate_sinks): Doc update.
624 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
625 cleaned up (but no logic changes).
627 * check/states/sinks.c (test_src_sink): Cleanups from the state
629 (test_livesrc_sink): Sync on the state.
631 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
632 the state change patch.
634 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
637 * check/gst/gstbin.c: Merge in some style fixes and additional
638 checks from Wim's state change patch.
640 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
642 * gst/base/gsttypefindhelper.c: (helper_find_peek),
643 (gst_type_find_helper):
644 Check whether we have the requested data already in our list of
645 cached buffers before pulling a new buffer; also make the buffer
646 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
648 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
653 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
654 don't use long long, it's not portable. Replacing with
655 gint64 seems to work; let's hope no skeletons fall out of the closet.
657 2005-10-10 Andy Wingo <wingo@pobox.com>
659 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
661 2005-10-09 Stefan Kost <ensonic@users.sf.net>
663 * docs/gst/gstreamer-sections.txt:
668 * gst/gstmessage.c: (gst_message_parse_state_changed):
671 more docs, fix compilation
673 2005-10-09 Philippe Khalaf <burger@speedy.org>
675 Fixed a few forgotten variables on previous commit
677 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
679 * gst/base/gsttypefindhelper.c: (helper_find_peek):
680 Fix evil typefind crasher: getrange() might return a short
681 buffer at the end of a file, but gst_type_find_peek() must
682 either return the full data as requested or NULL, but
683 never a short buffer.
685 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
687 * gst/gstmessage.c: (gst_message_new_state_changed),
688 (gst_message_parse_state_changed):
690 don't use "new", it's a C++ keyword
692 2005-10-08 Wim Taymans <wim@fluendo.com>
694 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
695 * gst/gstelement.c: (gst_element_post_message):
696 * gst/gstpipeline.c: (gst_pipeline_change_state):
697 Small docs and debug updates.
699 2005-10-08 Stefan Kost <ensonic@users.sf.net>
701 * docs/gst/gstreamer-sections.txt:
702 * gst/gstelementfactory.c:
707 2005-10-08 Wim Taymans <wim@fluendo.com>
709 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
710 (gst_bin_dispose), (bin_bus_handler):
711 Fix typos, add comments.
712 Clear EOS list when going to PAUSED from any direction and do it
714 Get base time in a threadsafe way too.
715 Fix confusing debug in the change_state function.
716 Various other small cleanups.
718 * gst/gstelement.c: (gst_element_post_message):
719 Fix very verbose bus posting code.
721 * gst/gstpipeline.c: (gst_pipeline_class_init),
722 (gst_pipeline_set_property), (gst_pipeline_get_property),
723 (gst_pipeline_change_state):
724 Small ARG_ -> PROP_ cleanup
726 2005-10-08 Wim Taymans <wim@fluendo.com>
728 * gst/gstbin.c: (is_eos), (bin_bus_handler):
729 Do a less CPU demanding EOS check because we can.
731 2005-10-08 Wim Taymans <wim@fluendo.com>
733 * libs/gst/dataprotocol/dataprotocol.c:
734 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
735 (gst_dp_packet_from_event):
736 * libs/gst/dataprotocol/dataprotocol.h:
737 * libs/gst/dataprotocol/dp-private.h:
738 It's about time we bump the version number.
739 Since event types don't fit in the guint8 anymore describing
740 the payload type, make payload type 16 bits wide.
742 2005-10-08 Wim Taymans <wim@fluendo.com>
744 * docs/design/part-TODO.txt:
745 * docs/design/part-clocks.txt:
746 * docs/design/part-events.txt:
747 * docs/design/part-gstbin.txt:
748 * docs/design/part-gstelement.txt:
749 * docs/design/part-gstpipeline.txt:
750 * docs/design/part-live-source.txt:
751 * docs/design/part-messages.txt:
752 * docs/design/part-overview.txt:
753 * docs/design/part-states.txt:
756 2005-10-08 Wim Taymans <wim@fluendo.com>
760 Fix event quark registration.
761 Add some space between events so we can insert them in the
764 2005-10-08 Wim Taymans <wim@fluendo.com>
766 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
767 (gst_base_sink_handle_buffer):
774 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
775 (gst_queue_set_property), (gst_queue_get_property):
777 Remove old unused properties.
779 2005-10-08 Stefan Kost <ensonic@users.sf.net>
780 * docs/gst/gstreamer-sections.txt:
783 * gst/gstminiobject.c:
784 * gst/gstminiobject.h:
788 lots of new docs and doc fixes
790 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
792 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
794 * gst/gstregistry.c: (gst_registry_lookup_locked),
795 (gst_registry_scan_path_level):
796 * gst/gstregistryxml.c: (load_plugin):
797 Only ever load one plugin for a given plugin basename.
798 This ensures correct overriding of GST_PLUGIN_PATH over
799 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
800 system installed plugins.
802 2005-10-08 Wim Taymans <wim@fluendo.com>
804 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
805 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
806 Prepare for doing QOS.
808 2005-10-08 Wim Taymans <wim@fluendo.com>
810 * check/gst/gstbin.c: (GST_START_TEST):
811 * check/pipelines/cleanup.c: (GST_START_TEST):
812 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
813 Allow new clock message too.
815 2005-10-08 Wim Taymans <wim@fluendo.com>
817 * gst/gstmessage.c: (gst_message_new_error),
818 (gst_message_new_warning), (gst_message_new_tag),
819 (gst_message_new_state_changed), (gst_message_new_clock_provide),
820 (gst_message_new_clock_lost), (gst_message_new_new_clock),
821 (gst_message_new_segment_start), (gst_message_new_segment_done),
822 (gst_message_parse_state_changed),
823 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
824 (gst_message_parse_new_clock):
826 Also carry the clock in question.
828 2005-10-08 Wim Taymans <wim@fluendo.com>
830 * gst/gstmessage.c: (gst_message_new_custom),
831 (gst_message_new_eos), (gst_message_new_error),
832 (gst_message_new_warning), (gst_message_new_tag),
833 (gst_message_new_state_changed), (gst_message_new_clock_provide),
834 (gst_message_new_new_clock), (gst_message_new_segment_start),
835 (gst_message_new_segment_done), (gst_message_parse_state_changed),
836 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
839 Added clock related messages.
841 * gst/gstpipeline.c: (gst_pipeline_change_state):
842 Post message when the clock changed.
844 * tools/gst-launch.c: (event_loop):
847 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
849 * tools/gst-inspect.c: (print_element_properties_info):
850 Can't pass NULL strings to g_print() on windows.
852 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
855 * docs/gst/Makefile.am:
856 * docs/gst/gstreamer-docs.sgml:
857 * docs/gst/running.xml:
858 * docs/version.entities.in:
859 add a chapter on running GStreamer.
860 document GST_DEBUG and GST_PLUGIN* env vars
862 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
867 remove PLUGINS_BUILDDIR stuff
868 * gst/gst.c: (init_post):
869 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
871 remove, it was condescending and not needed
873 2005-10-08 Wim Taymans <wim@fluendo.com>
875 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
876 (gst_base_sink_handle_object), (gst_base_sink_event),
877 (gst_base_sink_wait), (gst_base_sink_handle_event),
878 (gst_base_sink_change_state):
879 * gst/base/gstbasesink.h:
880 Repost EOS message while going to PLAYING if still EOS.
881 Make sure that when receiving a FLUSH_START we don't attempt
882 to sync on the clock anymore.
884 2005-10-08 Wim Taymans <wim@fluendo.com>
886 * tools/gst-launch.c: (event_loop):
887 Better message printout.
889 2005-10-08 Wim Taymans <wim@fluendo.com>
891 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
892 (gst_bin_child_proxy_get_children_count):
893 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
894 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
895 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
896 (gst_child_proxy_set_valist):
897 * gst/parse/grammar.y:
898 Make ChildProxy threadsafe and fix mem leaks.
900 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
902 * gst/gst.c: (init_post):
903 debug the GST_PLUGIN_ env vars
905 2005-10-08 Wim Taymans <wim@fluendo.com>
907 * check/gst/gstbin.c: (GST_START_TEST):
908 * check/gst/gstmessage.c: (GST_START_TEST):
909 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
910 * gst/gstelement.c: (gst_element_commit_state),
911 (gst_element_lost_state):
912 * gst/gstmessage.c: (gst_message_new_state_changed),
913 (gst_message_parse_state_changed):
915 * tools/gst-launch.c: (event_loop):
916 Added extra field to STATE_CHANGE message with the pending
917 state, which will be different from the new state soon.
919 2005-10-08 Wim Taymans <wim@fluendo.com>
921 * gst/gstbus.c: (gst_bus_pop):
923 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
924 Small cleanups and doc updates.
926 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
928 * gst/gst.c: (init_pre):
929 * gst/gstbin.c: (gst_bin_add_func):
930 log distributing clocks and base time
931 * gst/gstregistry.c: (gst_registry_add_plugin),
932 (gst_registry_scan_path_level), (gst_registry_scan_path):
933 clean up the debugging output a little
934 * gst/gstutils.c: (gst_element_state_get_name):
935 warn about a memleak (I've actually seen this be used, though
936 it was probably a bug)
938 2005-10-07 Wim Taymans <wim@fluendo.com>
940 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
941 (gst_base_src_init), (gst_base_src_default_newsegment),
942 (gst_base_src_newsegment), (gst_base_src_do_seek),
943 (gst_base_src_loop), (gst_base_src_start):
944 * gst/base/gstbasesrc.h:
945 Make the newsegment event customizable by subclasses.
947 2005-10-07 Wim Taymans <wim@fluendo.com>
949 * gst/gstevent.c: (gst_event_new_buffersize),
950 (gst_event_parse_buffersize):
952 New event for future idea.
954 2005-10-07 Andy Wingo <wingo@pobox.com>
956 * gst/gstelement.c (gst_element_post_message): Doc update.
958 * docs/gst/gstreamer-sections.txt: Update.
960 * gst/gstmessage.c (gst_message_new_application): Made into a
961 function like honest API calls.
962 (gst_message_new_element): New message type.
964 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
966 * check/elements/fakesrc.c (test_no_preroll): New check, checks
967 that setting a live fakesrc to PAUSED returns NO_PREROLL both
970 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
971 NO_PREROLL from gst_element_change_state to fall through.
973 2005-10-07 Wim Taymans <wim@fluendo.com>
975 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
976 (gst_ghost_pad_do_activate_push):
977 Activating a ghostpad with no internal pad in push mode
980 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
983 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
984 Fixes compilation on Windows.
986 2005-10-07 Michael Smith <msmith@fluendo.com>
988 * tools/gst-inspect.c:
989 Print out feature and plugin count at the end when printing out
992 2005-10-04 Michael Smith <msmith@fluendo.com>
994 * gst/gsterror.c: (_gst_stream_errors_init):
995 Add another error string used in a few existing plugins.
998 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
999 * tools/gst-inspect.c: (print_element_info):
1000 When a feature disappears from a plugin (and the feature exists in
1001 the cached registry file), things went horribly wrong. This isn't a
1002 complete fix, we should actually be removing the 'missing' features
1003 from the features list when we load the actual plugin. That's not
1006 2005-10-04 Johan Dahlin <johan@gnome.org>
1008 * check/gst/gstiterator.c: (GST_START_TEST):
1009 * gst/gstbin.c: (gst_bin_iterate_elements),
1010 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
1011 * gst/gstelement.c: (gst_element_iterate_pads):
1012 * gst/gstformat.c: (gst_format_iterate_definitions):
1013 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
1014 (gst_iterator_new_list), (gst_iterator_filter):
1015 * gst/gstiterator.h:
1016 * gst/gstquery.c: (gst_query_type_iterate_definitions):
1017 Add a GType to GstIterator, update callsites and tests.
1019 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
1021 * gst/gstpad.c: (gst_pad_event_default_dispatch):
1022 give events a chance to be handled by event probes when the pad
1025 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
1027 * gst/gstevent.c: (gst_event_type_get_name),
1028 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
1030 add string representations for event types
1032 2005-10-06 Wim Taymans <wim@fluendo.com>
1034 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
1035 Don't use NULL pointers.
1037 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
1039 * gst/gst_private.h:
1043 * gst/gstpluginfeature.c:
1044 widen the debug category in output to fit the biggest one we have
1045 add a bus category and use it
1046 play with the colors
1047 fix up some categories
1049 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
1051 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
1052 add push activation of sink ghost pads.
1053 Andye, please verify
1055 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
1057 * gst/gstutils.c: (gst_element_link_pads):
1058 fix a bug in the case where neither element has a pad
1059 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1060 add a test for that case
1062 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
1064 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
1065 emit have-data before checking for peers. This allows
1066 for probe handlers to connect elements. This helps autopluggers.
1067 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
1069 add six checks, linked/unlinked with no/true/false probe
1071 2005-10-04 Wim Taymans <wim@fluendo.com>
1073 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
1074 (gst_fake_sink_event), (gst_fake_sink_preroll),
1075 (gst_fake_sink_render), (gst_fake_sink_change_state):
1076 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
1077 (gst_fake_src_get_property), (gst_fake_src_create),
1078 (gst_fake_src_stop):
1079 * gst/elements/gstidentity.c: (gst_identity_stop):
1080 Protect last_message with lock.
1082 2005-10-04 Edward Hervey <edward@fluendo.com>
1085 Added precision in the comments for GST_FORMAT_DEFAULT
1087 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
1089 * tools/gst-launch.c: (main):
1090 Don't try to run erroneous pipelines.
1092 2005-10-04 Julien MOUTTE <julien@moutte.net>
1094 * gst/gstbus.c: We don't need this header.
1096 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
1101 === release 0.9.3 ===
1103 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
1107 Releasing 0.9.3, "Unregistered"
1109 2005-10-03 Andy Wingo <wingo@pobox.com>
1111 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
1112 whereby calling a pad's activatepush() function can start a thread
1113 that starts to push or pull before the pad gets the FLUSHING flag
1114 unset. Hack around it by holding the stream lock until the flag is
1115 set. Need to replace this with a proper solution. Together with
1116 the ghost pad fixes, this fixes mp3 playing/tagreading.
1118 * docs/design/part-gstghostpad.txt: Add a note about activation of
1119 proxy pads outside of ghost pads.
1121 * gst/gstghostpad.c: Implement the ghost pad activation design.
1123 2005-10-02 Andy Wingo <wingo@pobox.com>
1125 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
1126 It is volatile, after all.
1128 * docs/design/part-gstghostpad.txt: Flesh out activation with
1131 * gst/base/gstbasesrc.c (gst_base_src_init): Use
1134 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
1137 Fix (unused) AM_CONDITIONAL tests.
1139 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
1141 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1143 * gst/gstutils.c: (gst_pad_query_convert):
1144 Add assertion that makes sure src_val is >=0, just like
1145 gst_query_new_convert() has. (#315895)
1147 2005-09-30 Edward Hervey <edward@fluendo.com>
1149 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
1150 Let's not iterate pads we're not interested in, it avoids getting
1151 sky-high refcounts on sinkpad.
1153 2005-09-30 Wim Taymans <wim@fluendo.com>
1155 * gst/gstelement.c: (gst_element_set_state),
1156 (gst_element_change_state):
1157 Small tweak, element in ASYNC remains ASYNC.
1159 2005-09-30 Wim Taymans <wim@fluendo.com>
1161 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1162 Only error is an error.
1164 * gst/gstbin.c: (gst_bin_change_state):
1167 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
1168 Also call pad_block in pad alloc.
1170 * gst/gstutils.c: (gst_flow_get_name):
1173 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
1175 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1176 (gst_base_src_get_range):
1177 Fix documentation typos. Add some more debug info.
1179 2005-09-29 David Schleef <ds@schleef.org>
1181 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
1182 more end-user friendly.
1183 * tools/gst-inspect.c: (main): Check if command-line argument is
1184 a file and attempt to load that file as a plugin.
1186 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
1188 * check/gst/gstbin.c:
1189 * check/states/sinks.c:
1190 fix tests for the new warning
1191 * check/gst/gstpipeline.c:
1192 add a test for pipeline and bus interaction
1194 elements should be NULL if they get disposed; add a warning if not
1196 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
1199 for 2.6 refcounting, make debug log more correct by printing
1200 the actual refcounts at the time of swap (Wim)
1202 2005-09-29 Andy Wingo <wingo@pobox.com>
1204 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
1205 removes signal watches previously added via
1206 gst_bus_add_signal_watch.
1207 (gst_bus_add_signal_watch): Don't return the source id, just store
1208 it on the bus if there wasn't an id already.
1210 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
1211 add_signal_watch and remove_signal_watch.
1213 2005-09-29 Edward Hervey <edward@fluendo.com>
1215 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
1216 Better if we actually iterate the list :)
1218 2005-09-29 Wim Taymans <wim@fluendo.com>
1220 * check/gst/gstbin.c: (GST_START_TEST):
1221 Change for new bus API.
1223 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
1224 (send_messages), (GST_START_TEST), (gstbus_suite):
1225 Change for new bus signal API.
1227 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
1228 (gst_bus_source_prepare), (gst_bus_source_check),
1229 (gst_bus_create_watch), (gst_bus_add_watch_full),
1230 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
1231 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
1233 Remove support for multiple GSources operating on different
1234 message types as it is too complex and unneeded when using
1236 Added support for receiving signals from the bus.
1238 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
1240 * docs/libs/tmpl/gstdataprotocol.sgml:
1241 * docs/manual/advanced-dataaccess.xml:
1242 * gst/elements/gstcapsfilter.c:
1244 rename filter-caps to caps property
1246 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
1248 * gst/gstvalue.c: (gst_value_deserialize_fraction):
1249 More robust fraction string parsing.
1251 * docs/pwg/appendix-porting.xml:
1252 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
1254 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
1256 * gst/gstcaps.c: (gst_caps_do_simplify):
1257 Thou shalt not free a structure and then continue using it
1258 in the next loop iteration.
1260 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
1262 Add test case for caps simplification.
1264 2005-09-29 Wim Taymans <wim@fluendo.com>
1266 * check/gst/gstbin.c: (GST_START_TEST):
1269 2005-09-29 Wim Taymans <wim@fluendo.com>
1271 * check/gst/gstbin.c: (GST_START_TEST):
1274 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1275 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
1276 (find_element), (gst_bin_sort_iterator_next),
1277 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
1278 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
1279 (gst_bin_change_state), (gst_bin_dispose):
1280 A bin does not have a bus, it gets the bus from the parent.
1282 * gst/gstelement.c: (gst_element_requires_clock),
1283 (gst_element_provides_clock), (gst_element_is_indexable),
1284 (gst_element_is_locked_state), (gst_element_change_state),
1285 (gst_element_set_bus_func):
1288 * gst/gstpipeline.c: (gst_pipeline_class_init),
1289 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
1290 The pipeline provides a bus.
1292 2005-09-28 Johan Dahlin <johan@gnome.org>
1294 * gst/gstmessage.c (gst_message_parse_state_changed): Use
1295 gst_structure_get_enum instead of gst_structure_get_int
1297 * gst/gststructure.c (gst_structure_get_enum): Impl.
1299 * gst/gststructure.h (gst_structure_get_enum): Add
1301 * docs/gst/gstreamer-sections.txt: Ditto
1303 * gst/gstmessage.c (gst_message_new_state_changed): Use
1304 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
1305 which does introspection.
1306 Reviewed by Christian Schaller
1308 2005-09-28 Stefan Kost <ensonic@users.sf.net>
1310 * gst/gstinfo.c: (gst_debug_log_default):
1311 don't do dummy g_strdup()s
1312 * libs/gst/controller/gstcontroller.c:
1313 (on_object_controlled_property_changed),
1314 (gst_controlled_property_new), (gst_controller_new_valist),
1315 (gst_controller_new_list),
1316 (gst_controller_remove_properties_valist), (gst_controller_set),
1317 (gst_controller_get), (gst_controller_sync_values),
1318 (gst_controller_get_value_array), (_gst_controller_class_init),
1319 (gst_controller_get_type):
1320 * libs/gst/controller/gstcontroller.h:
1321 * libs/gst/controller/gstinterpolation.c:
1322 (gst_controlled_property_find_timed_value_node):
1323 convert // to /**/ comments
1325 2005-09-28 Wim Taymans <wim@fluendo.com>
1327 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
1328 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
1329 (gst_bus_sync_signal_handler):
1331 Added async-message and sync-message signals to the bus.
1332 Added helper BusFunc to emit signals for all posted messages.
1334 * gst/gstmessage.c: (gst_message_type_get_name),
1335 (gst_message_type_to_quark), (gst_message_get_type):
1337 Register quarks for message names.
1339 2005-09-28 Stefan Kost <ensonic@users.sf.net>
1341 * docs/libs/gstreamer-libs-sections.txt:
1342 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
1343 (gst_controller_new_list):
1344 * libs/gst/controller/gstcontroller.h:
1345 added another constructor for language bindings
1347 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
1349 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
1353 * gst/gstinfo.c: (_gst_debug_init):
1354 slightly more readable color for refcount debugging
1356 2005-09-28 Wim Taymans <wim@fluendo.com>
1358 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1359 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
1360 (find_element), (gst_bin_sort_iterator_next),
1361 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
1362 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
1363 (gst_bin_change_state), (gst_bin_dispose):
1364 Small doc fixes. get_clock -> provide_clock.
1366 * gst/gstelement.c: (gst_element_class_init),
1367 (gst_element_provides_clock), (gst_element_provide_clock),
1368 (gst_element_get_clock), (gst_element_commit_state),
1369 (gst_element_lost_state):
1371 Make get/set_clock() symetric. Add provide_clock vmethod since
1372 that is actually what this function does.
1374 * gst/gstpipeline.c: (gst_pipeline_class_init),
1375 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
1376 (gst_pipeline_get_clock):
1377 get_clock -> provide_clock.
1379 2005-09-28 Andy Wingo <wingo@pobox.com>
1381 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
1382 lieu of real docs...
1384 * gst/elements/gstfdsrc.c: Cleaned up a bit.
1386 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
1388 * gst/elements/gstcapsfilter.c:
1389 * gst/elements/gstfakesink.c:
1390 * gst/elements/gstfakesrc.c:
1391 * gst/elements/gstfdsink.c:
1392 * gst/elements/gstfdsrc.c:
1393 * gst/elements/gstfilesink.c:
1394 * gst/elements/gstfilesrc.c:
1395 * gst/elements/gstidentity.c:
1396 * gst/elements/gsttee.c:
1397 * gst/elements/gsttypefindelement.c:
1398 Make element details static.
1400 2005-09-28 Wim Taymans <wim@fluendo.com>
1402 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
1403 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
1404 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
1405 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
1406 (gst_bin_change_state), (gst_bin_dispose):
1407 Some documentation updates.
1408 Clean up dispose handlers.
1410 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
1411 * gst/gstpad.c: (gst_pad_dispose):
1412 Clean up dispose handler.
1414 * gst/gstpipeline.c: (gst_pipeline_change_state):
1415 Removed spurious UNLOCK.
1417 2005-09-27 Stefan Kost <ensonic@users.sf.net>
1419 * docs/gst/gstreamer-sections.txt:
1420 * gst/base/gstbasesrc.h:
1425 * gst/gstpipeline.c:
1426 * gst/gstpipeline.h:
1429 added two new functions to the docs
1430 documents all undocumented GstXXXFlags
1431 completed some incomplete docs
1433 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
1435 * gst/gstbin.c: (gst_bin_dispose):
1436 * gst/gstelement.c: (gst_element_dispose):
1437 remove now useless and leaky resurrection code in dispose
1438 * gst/base/gstbasesrc.c: (gst_base_src_init):
1439 * gst/gstelementfactory.c: (gst_element_factory_create):
1440 * gst/gstobject.c: (gst_object_set_parent):
1443 2005-09-27 Wim Taymans <wim@fluendo.com>
1445 * docs/design/part-TODO.txt:
1448 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
1449 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
1450 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
1451 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
1452 (gst_bin_change_state):
1454 Remove element variable, we keep element info in the iterator now.
1456 2005-09-27 Andy Wingo <wingo@pobox.com>
1458 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
1461 2005-09-27 Wim Taymans <wim@fluendo.com>
1463 * check/gst/gstbin.c: (GST_START_TEST):
1464 Enable check that works now.
1466 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
1467 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
1468 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
1469 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
1470 (gst_bin_change_state):
1472 Redid the state change algorithm using a topological sort algo.
1473 Handles all cases correctly.
1474 Exposed iterator for state change order.
1477 Temp storage for state changes. Need to get rid of this soon.
1479 2005-09-27 Wim Taymans <wim@fluendo.com>
1481 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
1482 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
1483 (link_fold_func), (gst_pad_proxy_setcaps):
1484 Leak fixes, the fold functions need to unref the passed object and
1485 _get_parent_*() returns ref to parent.
1487 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
1489 * check/gst/gstbuffer.c: (test_make_writable):
1490 Plug leak in test case and fix 'make check-valgrind'
1492 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
1494 * gst/gstbuffer.c: (gst_subbuffer_init):
1495 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
1496 works correctly in all circumstances (we could have just copied
1497 the parent buffer's readonly flag, but conceptually it seems
1498 cleaner to mark all subbuffers as read-only). (based on patch
1499 by Alessandro Decina, #314710).
1501 * check/gst/gstbuffer.c: (create_read_only_buffer),
1502 (test_make_writable), (test_subbuffer_make_writable),
1504 Add some tests for gst_buffer_make_writable().
1506 2005-09-27 Wim Taymans <wim@fluendo.com>
1508 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
1509 use gst_object_has_ancestor().
1511 * gst/gstobject.c: (gst_object_has_ancestor):
1513 gst_object_has_ancestor() copied from gstbin.c as it is a
1516 * tests/instantiate/create.c: (create_all_elements):
1517 * tests/lat.c: (handoff_src), (handoff_sink):
1518 * tests/sched/runxml.c: (main):
1519 * tests/seeking/seeking1.c: (main):
1520 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1522 Fix compilation of some tests.
1524 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
1527 Remove comment. GST_TYPE_G_ERROR is here to stay,
1528 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
1531 2005-09-26 Wim Taymans <wim@fluendo.com>
1533 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1534 Added check that shows error in state change order.
1536 2005-09-26 Wim Taymans <wim@fluendo.com>
1538 * gst/gstbin.c: (gst_bin_change_state):
1539 Make state change function use 3 queues again, we were
1540 adding elements in the wrong order.
1542 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
1545 * gst/gstpad.c: (gst_pad_dispose):
1546 Added some debug info first.
1548 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
1550 * docs/design/draft-push-pull.txt:
1551 * docs/design/part-events.txt:
1552 * docs/design/part-overview.txt:
1553 * docs/design/part-scheduling.txt:
1554 Replace all _pull_region() with _pull_range()
1556 2005-09-26 Andy Wingo <wingo@pobox.com>
1558 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
1560 * check/gst-libs/controller.c: Update for controller api change.
1563 * tests/Makefile.am:
1564 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
1565 over by GLib bug 118439.
1567 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
1568 routines to a function.
1570 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
1572 * libs/gst/controller/gsthelper.c:
1573 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
1574 (gst_object_sync_values): Renamed from sink_values. Ugh.
1576 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
1578 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
1579 Renamed from controller_key, as it is exported.
1581 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
1583 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
1588 * gst/gstpadtemplate.h:
1591 * gst/gstqueryutils.c:
1592 * gst/gstqueryutils.h:
1593 remove queryutils headers after moving the two used functions
1594 to gstquery. also fixes build problem for gstsiddec
1596 2005-09-26 Michael Smith <msmith@fluendo.com>
1598 * tools/gst-launch.1.in:
1599 Correct documentation in manpage of debug syntax
1601 2005-09-26 Wim Taymans <wim@fluendo.com>
1603 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1604 (gst_base_src_is_seekable), (gst_base_src_change_state):
1605 Some more debugging info.
1607 2005-09-25 Stefan Kost <ensonic@users.sf.net>
1609 * docs/gst/gstreamer-sections.txt:
1610 * gst/base/gstbasetransform.h:
1614 2005-09-25 Stefan Kost <ensonic@users.sf.net>
1616 * docs/gst/.cvsignore:
1617 * docs/gst/tmpl/.cvsignore:
1618 * docs/gst/tmpl/gstpipeline.sgml:
1619 * docs/gst/tmpl/gstplugin.sgml:
1620 * gst/gstpipeline.c:
1623 inlined the last two docs files
1624 removed the tmpl directory from cvs (no more conflicts here!)
1626 2005-09-25 Stefan Kost <ensonic@users.sf.net>
1628 * docs/gst/gstreamer-sections.txt:
1629 * docs/gst/tmpl/.cvsignore:
1630 * docs/gst/tmpl/gstpad.sgml:
1631 * docs/gst/tmpl/gstpadtemplate.sgml:
1633 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
1634 (gst_pad_finalize), (gst_pad_set_pad_template):
1636 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
1637 (gst_pad_template_class_init), (gst_pad_template_init),
1638 (gst_pad_template_dispose), (name_is_valid),
1639 (gst_static_pad_template_get), (gst_pad_template_new),
1640 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
1641 (gst_pad_template_pad_created):
1642 * gst/gstpadtemplate.h:
1643 inlined two more docs
1644 factored gstpadtemplate out of gstpad
1646 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
1648 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
1649 (test_children_state_change_order_semi_sink):
1650 Fix test case: we can't rely on a fixed state change order when
1651 going from READY => PAUSED because the sink might commit its
1652 new state first when the first buffer created by the source
1653 reaches the sink before the source has finished its change state.
1654 (Test case still fails at times, see #316856, comment 5 onwards)
1656 2005-09-24 Wim Taymans <wim@fluendo.com>
1658 * docs/design/part-events.txt:
1659 * docs/design/part-gstbus.txt:
1660 * docs/design/part-gstpipeline.txt:
1661 * docs/design/part-messages.txt:
1662 * docs/design/part-overview.txt:
1663 * docs/design/part-segments.txt:
1670 * gst/gstiterator.c:
1671 Various documentation updates.
1673 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
1676 Well, that's embarassing. Luckily we weren't using
1677 GST_CLOCK_DIFF anywhere.
1679 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
1681 * common/gtk-doc.mak:
1682 don't fail on building XML, FC4 slave shows a bunch of doc
1683 missing bits that I don't get
1685 * gst/gstpipeline.c:
1686 * gst/gststructure.c:
1689 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
1691 * docs/design/part-gstbin.txt:
1692 * docs/design/part-gstbus.txt:
1694 Add blurb about how the bus goes into flushing mode and
1695 drops all messages when its bin goes from READY into NULL
1698 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
1700 * docs/gst/gstreamer-sections.txt:
1701 * gst/gststructure.c: (gst_structure_get_clock_time):
1702 * gst/gststructure.h:
1703 add a method to get a GstClockTime out of a structure
1705 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
1707 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
1708 (test_children_state_change_order_semi_sink), (gst_bin_suite):
1709 Added test to check state change order in bins (can still be made
1710 to fail here under heavy disk load; bails out with 'Push on pad
1711 fakesink:sink0, but it was not activated in push mode').
1713 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
1714 Fix state change order when there is only a semi sink (#316856)
1716 * gst/gstbus.c: (gst_bus_class_init):
1717 Use _class_peek_parent(), not _class_ref(); fix docs to say
1718 'default main context' instead of 'mainloop' where that is
1721 * gst/gstelement.c: (gst_element_commit_state),
1722 (gst_element_set_state):
1723 Fix typos in debug messages
1725 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
1728 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
1729 * gst/gstpluginfeature.c:
1732 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1733 change an assert into an error until it gets fixed properly
1735 2005-09-23 Stefan Kost <ensonic@users.sf.net>
1737 * docs/gst/gstreamer-sections.txt:
1738 * docs/gst/tmpl/.cvsignore:
1739 * docs/gst/tmpl/gstelement.sgml:
1740 * docs/gst/tmpl/gstinfo.sgml:
1741 * docs/gst/tmpl/gstobject.sgml:
1746 * gst/gstobject.c: (gst_object_class_init):
1748 inlined 3 more biiiig doc files and added some missing docs on the fly
1750 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
1752 * check/gst/.cvsignore:
1753 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
1754 * gst/gstregistryxml.c: (load_plugin),
1755 (gst_registry_xml_save_plugin):
1756 put back source in registry. add checks for find_plugin.
1757 * testsuite/states/bin.c: (assert_state), (empty_bin),
1758 (test_adding_one_element), (main):
1759 * testsuite/states/locked.c: (main):
1760 some compile/run fixes
1762 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
1764 * check/gst/gstvalue.c: (GST_START_TEST):
1765 fix leaks in the test itself
1767 2005-09-22 Wim Taymans <wim@fluendo.com>
1769 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1770 (gst_base_sink_send_event), (gst_base_sink_peer_query),
1771 (gst_base_sink_query):
1772 Prepare for more accurate position reporting and query
1775 * gst/gstelement.c: (gst_element_send_event),
1776 (gst_element_set_state):
1779 2005-09-22 Wim Taymans <wim@fluendo.com>
1781 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
1782 (gst_query_parse_segment):
1785 Add segment query for future use.
1787 2005-09-22 Wim Taymans <wim@fluendo.com>
1789 * gst/gstbin.c: (gst_bin_add_func):
1790 Some more debug info.
1792 * gst/gstelement.c: (gst_element_send_event):
1796 Don't know how flags got broken.
1801 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
1803 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
1804 Add simplistic test suite for GST_TYPE_DATE serialisation and
1807 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
1809 * docs/gst/gstreamer-sections.txt:
1810 * gst/gststructure.c: (gst_structure_set_valist),
1811 (gst_structure_get_date):
1812 * gst/gststructure.h:
1813 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
1814 (gst_date_copy), (gst_value_compare_date),
1815 (gst_value_serialize_date), (gst_value_deserialize_date),
1816 (gst_value_transform_date_string),
1817 (gst_value_transform_string_date), (_gst_value_initialize):
1819 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
1820 bunch of utility functions along with a hack that checks that
1821 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
1822 is required. Part of the grand scheme in #170777.
1824 2005-09-22 Andy Wingo <wingo@pobox.com>
1826 * gst/gstconfig.h.in: Psych out gtk-doc.
1828 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
1830 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
1832 * tools/gst-inspect.c (print_element_list): Plug some
1833 inconsequential leaks.
1835 * gst/gstregistry.c (gst_registry_get_default): Doc.
1837 * check/gst/gstplugin.c:
1838 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
1839 * gst/gstelementfactory.c (gst_element_factory_create):
1840 * gst/gstindexfactory.c (gst_index_factory_create): Update for
1843 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
1844 (gst_plugin_feature_load): Doc, don't eat refs.
1846 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
1847 (gst_plugin_list_free): Doc.
1848 (gst_plugin_load_file): Doc updates.
1850 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
1851 accessors returning refcounted objects, return a ref.
1853 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
1854 accessor for caps. IDEMPOTENCE. Oh yes.
1856 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
1858 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1860 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1861 (_gst_debug_register_funcptr):
1862 Add mutex to serialise access to the hash table with
1863 the function pointer => function name string mapping;
1864 make that hash table static scope (#316809).
1866 * gst/registries/.cvsignore:
1867 Remove left-over file.
1869 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
1871 * docs/pwg/appendix-porting.xml:
1872 And something about newsegment events and caps-on-buffers to
1873 the porting guide (feel free to improve).
1875 2005-09-21 Andy Wingo <wingo@pobox.com>
1877 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
1878 data and event probes on the same pad.
1879 (test_buffer_probe_once): Test that removing probes from within
1880 the probe functions works.
1882 2005-09-21 Andy Wingo <wingo@pobox.com>
1884 * check/gst/gstutils.c: New file.
1885 (test_buffer_probe_n_times): A simple buffer probe test. More to
1888 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
1889 have-data::buffer, not have-data.
1890 (gst_pad_add_event_probe): Likewise for have-data::event.
1891 (gst_pad_add_data_probe): More docs. The part about 'resolving the
1892 peer' isn't quite right yet though.
1893 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
1894 (gst_pad_remove_data_probe): Change to take the guint handler_id
1895 as their arg, not the function+data, which is more glib-like.
1897 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
1898 the signal emission to indicate if the data is a buffer or an
1900 (gst_pad_get_type): Initialize buffer and event quarks.
1901 (gst_pad_class_init): have-data is now a detailed signal, yes it
1904 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
1906 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
1907 * gst/gstutils.c: (gst_util_set_value_from_string),
1908 (gst_util_set_object_arg):
1909 Don't put functional code in g_return_if_fail() or
1910 g_return_val_if_fail() statements, otherwise things will
1911 break when G_DISABLE_CHECKS is defined during compilation.
1913 2005-09-21 Stefan Kost <ensonic@users.sf.net>
1915 * docs/gst/tmpl/.cvsignore:
1916 * docs/gst/tmpl/gstvalue.sgml:
1919 inlied another one and added some obvious docs
1921 2005-09-21 Wim Taymans <wim@fluendo.com>
1923 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1924 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
1925 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
1926 (gst_fdsrc_get_property), (gst_fdsrc_create):
1927 * gst/elements/gstfdsrc.h:
1928 Properly implement fdsrc. Removed signal and timeout,
1929 better implemented somewhere else.
1931 2005-09-21 Stefan Kost <ensonic@users.sf.net>
1933 * docs/gst/tmpl/.cvsignore:
1934 * docs/gst/tmpl/gstimplementsinterface.sgml:
1935 * gst/gstinterface.c:
1938 2005-09-21 Stefan Kost <ensonic@users.sf.net>
1940 * docs/gst/gstreamer-sections.txt:
1941 * docs/gst/tmpl/.cvsignore:
1942 * docs/gst/tmpl/gstenumtypes.sgml:
1943 remove obsolete doc file
1945 2005-09-21 David Schleef <ds@schleef.org>
1947 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
1948 little beer, fix a little leak.
1950 2005-09-21 Stefan Kost <ensonic@users.sf.net>
1952 * docs/gst/gstreamer-docs.sgml:
1953 * docs/gst/gstreamer-sections.txt:
1954 * docs/gst/tmpl/.cvsignore:
1959 * gst/gstindex.c: (gst_index_class_init):
1961 * gst/gstindexfactory.c: (gst_index_factory_get_type),
1962 (gst_index_factory_class_init), (gst_index_factory_init),
1963 (gst_index_factory_finalize), (gst_index_factory_new),
1964 (gst_index_factory_destroy), (gst_index_factory_find),
1965 (gst_index_factory_create), (gst_index_factory_make):
1966 * gst/gstindexfactory.h:
1967 * gst/gstpluginfeature.c:
1968 * gst/gstpluginfeature.h:
1969 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
1970 more docs inlined, splitted gstindex.{c,h}
1972 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
1974 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
1977 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
1979 * gst/elements/gstfilesink.c: (gst_file_sink_init):
1980 Set sync to FALSE by default.
1982 2005-09-20 Wim Taymans <wim@fluendo.com>
1984 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1985 (gst_base_sink_init):
1986 Make sync property settable from subclass.
1988 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
1989 (gst_fake_sink_change_state):
1990 Set sync to FALSE by default.
1992 2005-09-20 Wim Taymans <wim@fluendo.com>
1994 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
1995 * tools/gst-launch.c: (main):
1996 The timeout handler should have lower priority than the source
1997 so we don't timeout before popping a message with 0 timeout.
1998 Dump error messages after failed state change.
2000 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
2002 * tools/gst-inspect.c: (print_element_properties_info):
2005 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
2007 * check/gst/gstevent.c:
2008 * gst/elements/gstfakesink.c:
2009 * gst/elements/gstfakesink.h:
2010 remove the sync property from fakesink.
2011 has the side effect of setting sync TRUE
2012 for fakesink, which is a change. Anyone who knows how
2013 to fix this nicely in a GObject-y way, feel free.
2015 2005-09-20 Stefan Kost <ensonic@users.sf.net>
2017 * docs/gst/gstreamer-docs.sgml:
2018 remove probe refsection
2020 2005-09-20 Stefan Kost <ensonic@users.sf.net>
2022 * check/Makefile.am:
2023 disable valgrinding the controller test again
2024 * docs/gst/gstreamer-sections.txt:
2025 update for api-changes
2027 2005-09-20 Wim Taymans <wim@fluendo.com>
2029 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2030 (gst_base_sink_set_property), (gst_base_sink_get_property),
2031 (gst_base_sink_do_sync):
2032 * gst/base/gstbasesink.h:
2033 Added sync property to basesink to disable clock sync.
2035 2005-09-20 Andy Wingo <wingo@pobox.com>
2037 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
2038 eating the caller's refcount.
2040 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
2041 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
2044 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
2045 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
2046 of GLib 2.8 public, so we can know which refcount to check in
2049 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
2050 (gst_object_init): Only set the gst refcount if we're going ahead
2051 with the refcount hack.
2053 2005-09-20 Stefan Kost <ensonic@users.sf.net>
2055 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
2056 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
2057 more leaks plumbed, added more debug-logging
2061 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
2064 remove include of gstmemchunk.h
2066 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
2068 * gst/gstclock.c: (_gst_clock_id_free):
2069 Commit from the Political Party For More Atomic CVS Commits,
2070 so that people don't waste too much of their day fishing
2071 out obvious leaks out of massive commits.
2072 Oh, and fix a pretty damn obvious leak in the memchunk
2075 2005-09-20 Stefan Kost <ensonic@users.sf.net>
2077 * check/Makefile.am:
2078 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
2079 plug mem-leak, re-add to valgrindable tests
2081 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
2084 unbreak the build for those who have chronic arthritis
2085 and typing "make check" is just too taxing on the hands
2087 2005-09-20 Andy Wingo <wingo@pobox.com>
2089 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
2090 really want it out, you should fix plugins at the same time.
2092 2005-09-19 Stefan Kost <ensonic@users.sf.net>
2095 * docs/gst/gstreamer-sections.txt:
2097 added missing symbols to api docs
2098 disable ref-count hack if we have glib >= 2.8
2100 2005-09-19 David Schleef <ds@schleef.org>
2102 * docs/gst/Makefile.am: Ignore a few more internal headers
2103 * docs/gst/gstreamer-docs.sgml: Remove old sections
2104 * docs/gst/gstreamer-sections.txt: Remove old sections
2105 * docs/gst/tmpl/gstobject.sgml: update
2106 * docs/gst/tmpl/gstplugin.sgml: update
2107 * docs/gst/tmpl/gstpluginfeature.sgml: update
2108 * docs/random/ds/0.9-suggested-changes: update.
2109 * gst/Makefile.am: remove memchunk and trashstack, since they're
2111 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
2112 * gst/gst.h: don't include some headers
2113 * gst/gstchildproxy.c: add gstmarshal.h
2114 * gst/gstclock.c: Don't use memchunks
2115 * gst/gstminiobject.c: Add some docs
2116 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
2117 * gst/gstobject.h: same
2118 * gst/gstplugin.c: include gstmacros.h
2119 * gst/gstplugin.h: don't include gstmacros.h, since it's private
2120 * gst/gstquery.c: don't use memchunks
2121 * gst/gstregistry.c: rename gst_registry_deinit()
2122 * gst/gstregistry.h: same
2124 2005-09-19 David Schleef <ds@schleef.org>
2126 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
2127 * docs/libs/gstreamer-libs-sections.txt:
2128 * docs/libs/tmpl/gstgetbits.sgml:
2129 * docs/libs/tmpl/gstputbits.sgml:
2131 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
2133 * win32/gstenumtypes.c:
2134 * win32/gstenumtypes.h:
2137 2005-09-19 Wim Taymans <wim@fluendo.com>
2139 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
2140 Automatically PAUSE and RESUME a pipeline when a flushing seek
2143 2005-09-19 Andy Wingo <wingo@pobox.com>
2145 * gst/gstregistry.h: Spacing fixen.
2147 2005-09-19 Wim Taymans <wim@fluendo.com>
2149 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
2150 Handle state change failure more correctly.
2152 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
2154 * check/Makefile.am:
2155 * check/pipelines/cleanup.c: (run_pipeline):
2156 * check/pipelines/simple_launch_lines.c: (run_pipeline),
2158 enable cleanup again after fixing the leak
2160 some more info on docs
2162 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
2164 * check/Makefile.am:
2165 re-enable tests now that leaks are plugged
2167 * check/gst/gstbin.c:
2168 * check/gst/gstpipeline.c:
2169 add some more tests while fixing leaks
2171 make sure binaries are uptodate when valgrinding/gdbing
2173 * gst/gstelementfactory.c:
2174 remove a ref too many, and add a FIXME for when we get
2175 round to disposing of classes
2177 fix the refcounting when loading a plugin from a file and
2178 the code pretends that the pointer is the same even though
2179 of course it can change
2180 * gst/gstpluginfeature.c:
2181 unref plugins marked cached (a bit confusing as a name)
2182 as the docs state should be done
2183 various doc additions to explain refcounting
2184 * gst/gstregistry.c:
2185 * gst/gstregistryxml.c:
2188 2005-09-19 Wim Taymans <wim@fluendo.com>
2190 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
2191 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
2192 (send_messages), (GST_START_TEST), (gstbus_suite):
2193 * check/gst/gstpipeline.c: (GST_START_TEST):
2194 * check/pipelines/cleanup.c: (run_pipeline):
2195 * check/pipelines/simple_launch_lines.c: (run_pipeline),
2197 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
2198 (gst_bus_source_check), (gst_bus_source_dispatch),
2199 (gst_bus_create_watch), (gst_bus_add_watch_full),
2200 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
2202 * tools/gst-launch.c: (event_loop):
2203 * tools/gst-md5sum.c: (event_loop):
2204 GstBusHandler -> GstBusFunc, return value has the same meaning as
2205 any other GSource (FALSE == remove source).
2206 _add_watch() and _add_watch_full() now take a MessageType mask to
2207 only handle specific types of messages.
2208 _poll() returns the GstMessage instead of the message type to avoid
2210 _have_pending() takes a MessageType mask now too.
2211 Added testsuite for multiple bus watches.
2212 Fix testsuites and applications for new bus API.
2214 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
2216 * check/Makefile.am:
2217 mark a bunch of the tests as to fix until we fix them
2219 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
2222 use GST_PLUGIN settings for valgrind tests as well, so we're
2223 valgrinding the correct thing
2224 * gst/gst.c: (init_post):
2227 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
2229 * gst/gst.c: (init_post), (gst_deinit):
2230 * gst/gstelementfactory.c: (gst_element_factory_class_init),
2231 (gst_element_factory_finalize), (gst_element_factory_cleanup):
2232 * gst/gstindex.c: (gst_index_factory_class_init),
2233 (gst_index_factory_finalize):
2234 * gst/gstobject.c: (gst_object_dispose):
2235 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2236 (gst_plugin_load_file), (gst_plugin_desc_free):
2237 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
2238 (gst_plugin_feature_finalize):
2239 * gst/gstregistry.c: (gst_registry_class_init),
2240 (gst_registry_init), (gst_registry_finalize),
2241 (gst_registry_get_default), (gst_registry_deinit):
2242 * gst/gstregistry.h:
2243 * gst/gstregistryxml.c: (load_feature), (load_plugin):
2244 various cleanups and memleak plugging. make valgrind is happy now.
2246 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
2249 add a check-valgrind target
2251 2005-09-18 David Schleef <ds@schleef.org>
2253 * tools/gst-inspect.c: Revert the GOption code.
2255 2005-09-17 David Schleef <ds@schleef.org>
2257 * check/Makefile.am: Fix environment variables.
2258 * check/gst/gstplugin.c: Fix for API changes.
2259 * tools/gst-inspect.c: Fix for API changes.
2260 * tools/gst-xmlinspect.c: Fix for API changes.
2261 * gst/gstelementfactory.c:
2264 * gst/gstpluginfeature.c:
2265 * gst/gstpluginfeature.h:
2266 * gst/gstregistry.c:
2267 * gst/gstregistry.h:
2268 * gst/gstregistryxml.c:
2269 * gst/gsttypefind.c:
2270 * gst/gsttypefindfactory.c:
2271 * gst/indexers/gstfileindex.c:
2272 * gst/indexers/gstmemindex.c:
2273 * gst/schedulers/Makefile.am:
2274 Change registry to keep track of both plugins and features,
2275 removing the feature tracking from plugins themselves.
2277 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
2279 * check/Makefile.am:
2280 * tools/gst-register.1.in:
2283 2005-09-15 David Schleef <ds@schleef.org>
2285 * check/gst/gstplugin.c:
2286 * gst/gstelementfactory.c:
2288 * gst/gstpluginfeature.c:
2289 * gst/gstregistry.c:
2290 Getting tired of debugging. Disabled all the unreffing of
2291 plugins and features, which fixes the segfaults, but of
2292 course leaks like crazy. At least playbin works.
2294 2005-09-15 David Schleef <ds@schleef.org>
2296 * check/gst/gstplugin.c: (register_check_elements),
2297 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
2299 * gst/elements/gsttypefindelement.c: Fix refcounting.
2300 * gst/gsttypefind.c:
2301 * gst/gsttypefindfactory.c:
2302 * gst/gsttypefindfactory.h:
2304 2005-09-15 David Schleef <ds@schleef.org>
2306 * gst/gstindex.c: get refcounting correct.
2307 * gst/gstregistry.c: Handle the case where a feature/plugin is
2310 2005-09-15 David Schleef <ds@schleef.org>
2312 * check/Makefile.am:
2313 * check/gst/gstplugin.c: Add test
2314 * gst/gstplugin.c: Fix problems noticed by testsuite
2316 * gst/gstregistry.c:
2317 * gst/gstregistry.h:
2319 2005-09-15 David Schleef <ds@schleef.org>
2321 * gst/gstplugin.c: Implement semi-decent recounting and locking
2322 in plugins and plugin features.
2324 * gst/gstpluginfeature.c:
2325 * gst/gstpluginfeature.h:
2326 * gst/gstregistry.c:
2328 2005-09-15 Michael Smith <msmith@fluendo.com>
2330 * gst/gstregistry.c: (gst_registry_get_feature_list):
2331 Implement this. Makes oggdemux work; decodebin still broken.
2333 2005-09-14 David Schleef <ds@schleef.org>
2335 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
2337 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
2338 * gst/check/Makefile.am:
2339 * libs/gst/controller/Makefile.am:
2340 * libs/gst/dataprotocol/Makefile.am:
2342 2005-09-14 David Schleef <ds@schleef.org>
2344 * configure.ac: Remove getbits library. Nothing uses it, and
2345 it should be in something like liboil if someone did want
2347 * libs/gst/Makefile.am:
2348 * libs/gst/getbits/Makefile.am:
2349 * libs/gst/getbits/gbtest.c:
2350 * libs/gst/getbits/getbits.c:
2351 * libs/gst/getbits/getbits.h:
2352 * libs/gst/getbits/gstgetbits_generic.c:
2353 * libs/gst/getbits/gstgetbits_i386.s:
2354 * libs/gst/getbits/gstgetbits_inl.h:
2356 2005-09-14 David Schleef <ds@schleef.org>
2358 * gst/Makefile.am: Dist glib-compat.h
2360 2005-09-14 David Schleef <ds@schleef.org>
2362 * configure.ac: Remove gst/registries, since it's no longer used.
2363 * gst/registries/Makefile.am:
2364 * gst/registries/gstlibxmlregistry.c:
2365 * gst/registries/gstlibxmlregistry.h:
2366 * gst/registries/gstxmlregistry.c:
2367 * gst/registries/gstxmlregistry.h:
2368 * gst/registries/registrytest.c:
2370 2005-09-14 David Schleef <ds@schleef.org>
2372 * gst/glib-compat.h:
2373 * gst/gstregistryxml.c:
2374 Convergence is near. Seriously.
2376 2005-09-14 David Schleef <ds@schleef.org>
2378 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
2379 * gst/glib-compat.h:
2380 Attempt #4 to appease the buildbots.
2382 2005-09-14 David Schleef <ds@schleef.org>
2384 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
2387 2005-09-14 David Schleef <ds@schleef.org>
2389 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
2392 2005-09-14 David Schleef <ds@schleef.org>
2394 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
2397 2005-09-14 David Schleef <ds@schleef.org>
2399 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
2400 * gst/glib-compat.h: Add some functions that are in newer versions
2401 of glib than we care to require.
2402 * gst/gstregistryxml.c: Use them.
2404 2005-09-14 David Schleef <ds@schleef.org>
2406 * po/POTFILES.in: remove gst-register.c
2408 2005-09-14 David Schleef <ds@schleef.org>
2410 * docs/gst/gstreamer-docs.sgml:
2411 * docs/gst/gstreamer-sections.txt:
2412 * docs/gst/gstreamer.types:
2413 * docs/gst/tmpl/gstelement.sgml:
2414 * docs/gst/tmpl/gstplugin.sgml:
2415 * docs/gst/tmpl/gstpluginfeature.sgml:
2416 Documentation updates for registry changes.
2418 2005-09-14 David Schleef <ds@schleef.org>
2420 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
2421 because we don't require glib-2.8.
2423 2005-09-14 David Schleef <ds@schleef.org>
2425 * gst/gstregistryxml.c: Added. Essentially moved out of the
2426 registries directory.
2428 2005-09-14 David Schleef <ds@schleef.org>
2430 * check/Makefile.am:
2431 * check/generic/states.c:
2435 * gst/gst_private.h:
2436 * gst/gstelementfactory.c:
2441 * gst/gstpluginfeature.c:
2442 * gst/gstpluginfeature.h:
2443 * gst/gstregistry.c:
2444 * gst/gstregistry.h:
2445 * gst/gstregistrypool.c: remove
2446 * gst/gstregistrypool.h: remove
2447 * gst/gsttypefind.c:
2448 * gst/gsttypefindfactory.c:
2450 * tools/Makefile.am:
2451 * tools/gst-compprep.c:
2452 * tools/gst-inspect.c:
2453 * tools/gst-register.c: remove
2454 * tools/gst-xmlinspect.c:
2455 Registry rewrite. Changes registry from being a file created
2456 by a tool into a simple cache file created automatically by
2457 libgstreamer. Removed gst-register (because it's no longer
2458 needed). Remove registry pools, because we only have one
2459 registry implementation (XML). Fix up other subsystems as
2462 2005-09-13 Michael Smith <msmith@fluendo.com>
2464 * gst/gstconfig.h.in:
2465 Don't Use windows linking attributes for MinGW. Fixes #316157
2467 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
2469 * gst/gstutils.c: (set_state_async_thread_func),
2470 (gst_element_set_state_async):
2471 Apparently people think it's better if this function doesn't
2472 try to set the state to whatever state was asked for on the first
2473 call to this function for any object. Seriously.
2475 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
2477 * check/gst/gstpipeline.c: (GST_START_TEST):
2478 * docs/gst/gstreamer-sections.txt:
2479 * gst/gstutils.c: (set_state_async_thread_func),
2480 (gst_element_set_state_async):
2482 add a "gst_element_set_state_async" method that
2483 sets the state and starts a thread to make sure the state
2484 change completes as best as it can
2486 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
2488 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
2489 codify design+behaviour in testsuite after discussion
2491 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
2493 * docs/gst/tmpl/gstelement.sgml:
2494 * docs/manual/appendix-quotes.xml:
2496 * gst/gstelement.c: (gst_element_set_state):
2499 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
2501 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2502 (gst_base_transform_prepare_output_buf),
2503 (gst_base_transform_handle_buffer):
2504 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
2505 (gst_capsfilter_prepare_buf):
2506 Remove the requirement for sub-classes to call the parent
2507 implementation of prepare_output_buffer with a wrapper function.
2510 * gst/gsttagsetter.h:
2513 2005-09-11 Stefan Kost <ensonic@users.sf.net>
2515 * docs/gst/gstreamer-sections.txt:
2518 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
2520 * docs/gst/gstreamer-sections.txt:
2521 * docs/gst/tmpl/gstelement.sgml:
2522 * docs/gst/tmpl/gstplugin.sgml:
2523 * gst/gstminiobject.c:
2525 docs now stop throwing warnings
2527 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
2529 * docs/gst/gstreamer-sections.txt:
2530 * docs/gst/gstreamer.types:
2531 * docs/gst/tmpl/gstpad.sgml:
2532 * docs/gst/tmpl/gsttypes.sgml:
2533 * gst/base/gstadapter.h:
2534 * gst/base/gstbasesink.h:
2535 * gst/base/gstbasesrc.h:
2545 * gst/gststructure.c:
2546 * gst/registries/gstlibxmlregistry.h:
2547 various documentation fixes
2549 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
2551 * docs/gst/gstreamer-sections.txt:
2552 * docs/gst/tmpl/gstvalue.sgml:
2553 rearrange gstvalue section
2554 * gst/gstutils.c: (gst_element_state_get_name):
2556 * gst/gstvalue.c: (_gst_value_initialize):
2560 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
2562 * check/gst-libs/controller.c:
2564 * gst/base/gstbasetransform.c:
2565 (gst_base_transform_default_prepare_buf),
2566 (gst_base_transform_handle_buffer):
2567 * gst/base/gstbasetransform.h:
2568 Some more basetransform changes and fixes to enable sub-classes
2569 that modify buffer metadata only.
2570 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2571 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
2572 (gst_capsfilter_prepare_buf):
2573 If the output pad has fixed allowed caps and input buffers
2574 don't have any, set the fixed caps on outgoing buffers.
2576 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
2577 * check/elements/identity.c: (GST_START_TEST):
2578 Make the error a little clearer when the test fails because
2579 identity made a copy of the buffer.
2580 * docs/gst/gstreamer-sections.txt:
2581 New symbols in gstbasetransform.h
2582 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2583 (gst_base_transform_init), (gst_base_transform_transform_size),
2584 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
2585 (gst_base_transform_default_prepare_buf),
2586 (gst_base_transform_get_unit_size),
2587 (gst_base_transform_buffer_alloc),
2588 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2589 (gst_base_transform_change_state),
2590 (gst_base_transform_set_passthrough),
2591 (gst_base_transform_set_in_place),
2592 (gst_base_transform_is_in_place):
2593 * gst/base/gstbasetransform.h:
2594 Change BaseTransform to separate in_place operate from same_caps
2595 output. in_place implies that the element can perform the transform
2596 on incoming buffers in-place, even if the caps on the output are
2598 Sub-class elements can now implement special buffer allocation
2599 methods for outgoing buffers if they wish to.
2600 Big documentation addition.
2601 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
2602 * gst/elements/gstelements.c:
2603 Changes for basetransform modifications.
2604 * gst/elements/Makefile.am:
2605 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
2606 Compile fix. Extra debug output.
2608 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
2610 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
2612 add tests for valid pad naming
2613 * gst/check/gstcheck.c: (gst_check_log_message_func),
2614 (gst_check_log_critical_func):
2616 remove printing of code, it is fragile when the code contains
2617 % and the line number is enough info
2618 * gst/check/gstcheck.h:
2619 * gst/gstpad.c: (gst_pad_template_new):
2622 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
2625 say what CHECK flags we use
2626 * docs/libs/gstreamer-libs.types:
2627 * libs/gst/controller/Makefile.am:
2628 * libs/gst/controller/gst-controller.c:
2629 * libs/gst/controller/gst-controller.h:
2630 * libs/gst/controller/gst-helper.c:
2631 * libs/gst/controller/gst-interpolation.c:
2632 * libs/gst/controller/gstcontroller.c:
2633 * libs/gst/controller/gsthelper.c:
2634 * libs/gst/controller/gstinterpolation.c:
2635 * tools/gst-inspect.c: (print_plugin_info):
2636 we don't use dashes in header names
2638 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
2640 * check/Makefile.am:
2641 * check/gst/.cvsignore:
2642 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
2643 (gst_pipeline_suite), (main):
2644 adding a test for pipelines and state changes
2645 * gst/gstutils.c: (get_state_func):
2647 * gstreamer.spec.in:
2650 2005-09-08 Michael Smith <msmith@fluendo.com>
2652 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
2653 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
2654 (gst_file_src_is_seekable), (gst_file_src_get_size),
2655 (gst_file_src_start):
2656 * gst/elements/gstfilesrc.h:
2657 Various fixes for unseekable, unmmapable, and non-normal files, so
2658 that fallback to read() rather than mmap() works.
2659 * gst/gstevent.c: (gst_event_new_newsegment):
2660 Allow newsegment events with segment_start == segment_end, as will
2661 correctly happen if you use filesrc on a zero-size file, for
2664 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
2666 * gst/gstplugin.c: (gst_plugin_load_file):
2667 Call g_module_close when we don't load the module
2669 * gst/registries/gstlibxmlregistry.c:
2670 (gst_xml_registry_get_property):
2671 Port leak fix from 0.8
2673 2005-09-07 Stefan Kost <ensonic@users.sf.net>
2675 * docs/gst/gstreamer-docs.sgml:
2676 * docs/gst/tmpl/.cvsignore:
2677 * docs/gst/tmpl/gsttrace.sgml:
2678 * docs/gst/tmpl/gsttrashstack.sgml:
2687 * gst/gsttaginterface.c:
2688 * gst/gsttaginterface.h:
2691 * gst/gsttagsetter.c:
2692 * gst/gsttagsetter.h:
2695 * gst/gsttrashstack.c:
2696 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
2697 inlined docs for gsttrace, gsttrashstack
2699 2005-09-07 Stefan Kost <ensonic@users.sf.net>
2702 * gst/elements/gstbufferstore.h:
2703 * gst/elements/gsttypefindelement.c:
2704 * gst/elements/gsttypefindelement.h:
2706 * gst/gsttypefind.c:
2707 * gst/gsttypefind.h:
2708 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
2709 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
2710 (gst_type_find_factory_dispose),
2711 (gst_type_find_factory_unload_thyself),
2712 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
2713 (gst_type_find_factory_get_caps),
2714 (gst_type_find_factory_get_extensions),
2715 (gst_type_find_factory_call_function):
2716 * gst/gsttypefindfactory.h:
2717 * gst/registries/gstlibxmlregistry.c:
2718 * gst/registries/gstxmlregistry.c:
2719 splitted gsttypefind into gsttypefind, gsttypefindfactory
2721 2005-09-07 Andy Wingo <wingo@pobox.com>
2723 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
2724 condition whereby the pad's task function is entered before the
2725 pad_mode variable was set.
2727 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
2729 * gst/gstpad.c: (gst_pad_alloc_buffer):
2730 Catch misbehaving pad_alloc functions that don't
2731 set up caps and do it for them.
2733 2005-09-07 Stefan Kost <ensonic@users.sf.net>
2735 * check/pipelines/simple_launch_lines.c: (run_pipeline):
2737 * docs/gst/tmpl/.cvsignore:
2738 * docs/gst/tmpl/gstmemchunk.sgml:
2739 * docs/gst/tmpl/gstparse.sgml:
2740 * docs/gst/tmpl/gsttaglist.sgml:
2741 * docs/gst/tmpl/gsttagsetter.sgml:
2742 * docs/gst/tmpl/gsttypefind.sgml:
2743 * docs/gst/tmpl/gsttypefindfactory.sgml:
2744 * gst/gstmemchunk.c:
2747 * gst/gsttaginterface.c:
2748 * gst/gsttypefind.c:
2749 * gst/gsttypefind.h:
2752 === release 0.9.2 ===
2754 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
2759 releasing 0.9.2, "South"
2761 2005-09-05 Andy Wingo <wingo@pobox.com>
2763 * gst/registries/gstxmlregistry.h:
2764 * gst/registries/gstxmlregistry.c: Um... resurrect...
2766 * gst/registries/gstxmlregistry.h:
2767 * gst/registries/gstxmlregistry.c: and update to newer API.
2768 Incidentally they should be a bit faster now that they don't have
2771 2005-09-05 Andy Wingo <wingo@pobox.com>
2773 * gst/registries/gstxmlregistry.h:
2774 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
2775 replaced by the libxml registry a while back
2777 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
2779 * docs/gst/tmpl/gstplugin.sgml:
2780 * gst/elements/gstelements.c:
2782 * gst/gstplugin.c: (gst_plugin_register_func),
2783 (gst_plugin_desc_copy), (gst_plugin_desc_free),
2784 (gst_plugin_get_source):
2786 * gst/registries/gstlibxmlregistry.c: (load_plugin),
2787 (gst_xml_registry_save_plugin):
2788 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
2789 (gst_xml_registry_save_plugin):
2790 * tools/gst-inspect.c: (print_plugin_info):
2791 add a "source" plugin description field, to represent the source
2792 module this plugin is a part of. By default GST_PLUGIN_DEFINE
2793 will set it to PACKAGE, which is automake's idea of the name of
2796 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
2802 * docs/faq/Makefile.am:
2803 * docs/gst/tmpl/gstelement.sgml:
2804 * docs/gst/tmpl/gsttypes.sgml:
2805 * docs/htmlinstall.mak:
2806 * docs/manual/Makefile.am:
2807 * docs/pwg/Makefile.am:
2808 reorganize doc build a little
2809 split out docbook and gtk-doc stuff
2810 have two separate --enable's and enable them through autogen
2811 but disable by default in configure (to be similar to other
2813 * gstreamer.spec.in:
2814 clean up docs install
2834 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
2836 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
2839 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
2840 (gst_fake_sink_change_state):
2841 Make state change function thread-safe.
2843 * gst/gstpad.c: (gst_pad_alloc_buffer):
2844 Set offset on generic buffer allocated by fallback.
2846 2005-09-03 Stefan Kost <ensonic@users.sf.net>
2848 * docs/gst/gstreamer-sections.txt:
2849 * docs/gst/tmpl/gstelement.sgml:
2851 * libs/gst/controller/gst-controller.c:
2852 (gst_controlled_property_set_interpolation_mode),
2853 (gst_controlled_property_new),
2854 (gst_controller_find_controlled_property):
2855 run the wingo-magic script against the docs
2857 2005-09-02 Stefan Kost <ensonic@users.sf.net>
2859 * docs/gst/gstreamer-docs.sgml:
2860 * docs/gst/gstreamer-sections.txt:
2861 * docs/gst/tmpl/.cvsignore:
2862 * docs/gst/tmpl/gstelementdetails.sgml:
2863 * docs/gst/tmpl/gstelementfactory.sgml:
2866 * gst/gstelementfactory.c:
2867 * gst/gstelementfactory.h:
2868 merged elementdetails docs into elementfactory docs
2871 2005-09-02 Andy Wingo <wingo@pobox.com>
2873 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
2874 consider this enum an enum and not a flags.
2876 2005-09-02 Stefan Kost <ensonic@users.sf.net>
2878 * docs/gst/gstreamer-docs.sgml:
2879 * docs/gst/tmpl/.cvsignore:
2880 * docs/gst/tmpl/gstghostpad.sgml:
2881 * docs/gst/tmpl/gstiterator.sgml:
2882 * docs/gst/tmpl/gstmacros.sgml:
2883 * docs/gst/tmpl/gstrealpad.sgml:
2884 * docs/gst/tmpl/gstregistry.sgml:
2885 * docs/gst/tmpl/gstregistrypool.sgml:
2886 * docs/gst/tmpl/gststructure.sgml:
2887 * docs/gst/tmpl/gstsystemclock.sgml:
2888 * docs/gst/tmpl/gsttrace.sgml:
2889 * gst/gstghostpad.c:
2891 * gst/gstmemchunk.c:
2892 * gst/gstmemchunk.h:
2894 * gst/gstregistry.c:
2895 * gst/gstregistrypool.c:
2896 * gst/gststructure.c:
2897 * gst/gstsystemclock.c:
2900 2005-09-02 Andy Wingo <wingo@pobox.com>
2902 * gst/gstelement.h (GstState): Renamed from GstElementState,
2903 changed to be a normal enum instead of flags.
2904 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
2905 munged to be GST_STATE_CHANGE_*.
2906 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
2907 work with the new state representation.
2908 (GstStateChange): New enumeration of possible state transitions.
2909 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
2910 (GstElementClass::change_state): Pass the GstStateChange along as
2911 an argument. Helps language bindings, so they don't have to use
2912 tricky lock-needing macros like GST_STATE_CHANGE ().
2914 * scripts/update-states (file): New script. Run it on a file to
2915 update it for state naming and API changes. Updates files in
2918 * All files updated for the new API.
2920 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
2922 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
2923 * gst/gstutils.c: (gst_util_set_value_from_string),
2924 (gst_util_set_object_arg):
2925 fix a bunch of unchecked return values
2926 * tools/gst-complete.c: (main):
2927 * gstreamer.spec.in:
2930 2005-09-01 Wim Taymans <wim@fluendo.com>
2932 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2933 (gst_base_sink_event), (gst_base_sink_do_sync),
2934 (gst_base_sink_handle_event):
2935 * gst/base/gstbasesink.h:
2936 Handle newsegments more correctly.
2941 * gst/gstevent.c: (gst_event_new_newsegment):
2942 A newsegment cannot have a start_time of -1
2944 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
2946 * win32/gstenumtypes.c:
2947 * win32/gstenumtypes.h:
2950 2005-08-31 Stefan Kost <ensonic@users.sf.net>
2952 * libs/gst/controller/gst-controller.c:
2953 (gst_controlled_property_set_interpolation_mode),
2954 (gst_controlled_property_new):
2957 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
2959 * docs/faq/gst-uninstalled:
2964 * gst/gstutils.c: (gst_element_link_filtered):
2966 add gst_element_link_filtered
2968 2005-08-31 Stefan Kost <ensonic@users.sf.net>
2970 * docs/gst/gstreamer-docs.sgml:
2971 * docs/gst/gstreamer-sections.txt:
2972 * docs/gst/tmpl/.cvsignore:
2973 * docs/gst/tmpl/gsterror.sgml:
2974 * docs/gst/tmpl/gstfilter.sgml:
2975 * docs/gst/tmpl/gsturihandler.sgml:
2976 * docs/gst/tmpl/gsturitype.sgml:
2977 * docs/gst/tmpl/gstutils.sgml:
2978 * docs/gst/tmpl/gstxml.sgml:
2986 inlined more docs, fixed double id-ref
2988 2005-08-31 Wim Taymans <wim@fluendo.com>
2990 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
2991 (gst_base_transform_handle_buffer):
2992 Passthrough elements don't need the caps as they don't care.
2994 2005-08-31 Wim Taymans <wim@fluendo.com>
2996 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
2997 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
2998 Don't leak refcounts on buffers.
3000 2005-08-31 Wim Taymans <wim@fluendo.com>
3002 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
3003 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3004 (gst_base_transform_chain), (gst_base_transform_change_state):
3005 * gst/base/gstbasetransform.h:
3006 Handle the case where we are not negotiated more gracefully.
3008 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
3010 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
3011 (gst_file_src_map_region):
3012 Set READONLY flag on mmap'ed buffers, otherwise
3013 gst_buffer_make_writable() won't work properly (#314708).
3015 2005-08-31 Wim Taymans <wim@fluendo.com>
3017 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
3018 passthrough elements can even do inplace on non writable
3019 buffers (as they don't touch them).
3021 2005-08-31 Stefan Kost <ensonic@users.sf.net>
3023 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
3024 (gst_test_mono_source_set_property),
3025 (gst_test_mono_source_class_init), (GST_START_TEST),
3026 (gst_controller_suite):
3027 more tests (hehe I have the most)
3029 describe popping messages whenusing mulltiple sources
3030 * libs/gst/controller/gst-controller.c:
3031 (gst_controlled_property_set_interpolation_mode),
3032 (gst_controlled_property_new):
3033 * libs/gst/controller/gst-controller.h:
3034 * libs/gst/controller/gst-interpolation.c:
3035 implement boolean properties
3037 2005-08-31 Wim Taymans <wim@fluendo.com>
3039 * gst/gstminiobject.c: (gst_mini_object_ref):
3040 Cannot assert that the refcount has to be positive
3041 since a disposed object can be resurrected.
3043 2005-08-31 Wim Taymans <wim@fluendo.com>
3045 * gst/gstpad.c: (gst_pad_init):
3046 Revert change, need to first fix badly behaving
3049 2005-08-30 Wim Taymans <wim@fluendo.com>
3051 * check/elements/fakesrc.c: (setup_fakesrc):
3052 * check/elements/identity.c: (setup_identity):
3053 Activate pads before using them.
3055 2005-08-30 Wim Taymans <wim@fluendo.com>
3057 * gst/base/gstadapter.c: (gst_adapter_flush):
3058 Flushing out 0 bytes is ok for this function.
3060 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3061 no newsegment gives a warning and sets the start/stop to
3064 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
3065 (gst_base_transform_set_passthrough):
3068 * gst/gstminiobject.c: (gst_mini_object_ref):
3069 Check refcount here too.
3071 * gst/gstpad.c: (gst_pad_init):
3072 Pads are initially flushing and refusing data.
3074 * gst/gstutils.c: (gst_element_link_pads_filtered):
3075 When adding a capsfilter element make sure it has the
3076 same state as the parent bin.
3078 2005-08-30 Stefan Kost <ensonic@users.sf.net>
3080 * docs/gst/tmpl/.cvsignore:
3081 * docs/gst/tmpl/gstformat.sgml:
3082 * docs/gst/tmpl/gstversion.sgml:
3086 * gst/gstversion.h.in:
3087 more docs and two more inlined
3089 2005-08-30 Wim Taymans <wim@fluendo.com>
3091 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
3092 Don't sync to clock.
3094 2005-08-30 Stefan Kost <ensonic@users.sf.net>
3096 * docs/gst/gstreamer-sections.txt:
3097 ultral33t func10ns deserve to appear in the docs actually
3098 * docs/gst/tmpl/.cvsignore:
3099 * docs/gst/tmpl/gstcompat.sgml:
3100 * docs/gst/tmpl/gstconfig.sgml:
3101 * gst/check/gstcheck.c:
3103 * gst/gstconfig.h.in:
3106 2005-08-30 Stefan Kost <ensonic@users.sf.net>
3108 * docs/gst/tmpl/.cvsignore:
3109 * docs/gst/tmpl/gstquery.sgml:
3110 * docs/gst/tmpl/gstutils.sgml:
3113 inlined and extended docs
3115 2005-08-30 Stefan Kost <ensonic@users.sf.net>
3117 * check/gst-libs/controller.c: (GST_START_TEST),
3118 (gst_controller_suite):
3120 * docs/gst/tmpl/gstutils.sgml:
3121 * docs/libs/gstreamer-libs-sections.txt:
3122 * docs/libs/tmpl/gstdataprotocol.sgml:
3124 * examples/controller/audio-example.c: (main):
3125 controller example works now
3128 * tools/gst-inspect.c: (print_element_properties_info):
3129 show param spec flags
3131 2005-08-29 Andy Wingo <wingo@pobox.com>
3133 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
3135 2005-08-28 Andy Wingo <wingo@pobox.com>
3137 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
3138 as having two arguments instead of just one. Allows superclasses
3139 to access information on subclasses -- see the terrible for() loop
3140 in gtype.c:g_type_create_instance for the reason why. All callers
3143 2005-08-27 Stefan Kost <ensonic@users.sf.net>
3145 * docs/design/part-messages.txt:
3147 * docs/gst/tmpl/.cvsignore:
3148 * docs/gst/tmpl/gstcaps.sgml:
3149 * docs/gst/tmpl/gstclock.sgml:
3156 added descriptions for bus and message
3157 inline caps and clock docs
3159 2005-08-27 Stefan Kost <ensonic@users.sf.net>
3165 2005-08-27 Stefan Kost <ensonic@users.sf.net>
3167 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
3170 2005-08-26 Andy Wingo <wingo@pobox.com>
3172 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
3173 element_set_state's return val.
3174 (test_2_elements): Add test that's been disabled for months.
3176 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
3177 can-activate-pull properties.
3179 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
3180 can-activate-pull properties. Implement is_seekable so fakesrc can
3181 operate in pull mode.
3183 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
3185 (gst_base_sink_activate, gst_base_sink_activate_pull)
3186 (gst_base_sink_activate_push): Make activation mode choosing work.
3188 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
3189 is right. Make pull mode work. Post an eos before pausing in pull
3191 (gst_base_sink_change_state): Pay attention to the core's
3192 change_state() return val.
3194 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
3195 has-getrange properties. Cleanups.
3197 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
3198 has_getrange and replace with can_activate_pull and
3201 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
3202 locking comments. Remove has_loop, has_chain and replace with
3203 can_activate_pull and can_activate_push.
3205 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
3208 * examples/Makefile.am:
3209 * examples/metadata/Makefile.am:
3210 * examples/metadata/read-metadata.c: (message_loop),
3211 (have_pad_handler), (make_pipeline), (print_tag), (main):
3212 Add metadata reading example that loops over a list of filenames,
3213 dumping any tags found.
3215 * gst/gstbus.c: (gst_bus_dispose):
3216 * gst/gstelement.c: (gst_element_dispose):
3217 Release a few potentially-held references in dispose.
3219 2005-08-26 Stefan Kost <ensonic@users.sf.net>
3221 * docs/gst/tmpl/gstminiobject.sgml:
3222 do *not* add tmpl/*.sgml files to CVS!
3224 2005-08-26 Stefan Kost <ensonic@users.sf.net>
3226 * libs/gst/bytestream/.cvsignore:
3227 * libs/gst/bytestream/Makefile.am:
3228 * libs/gst/bytestream/adapter.c:
3229 * libs/gst/bytestream/adapter.h:
3230 * libs/gst/bytestream/bytestream.c:
3231 * libs/gst/bytestream/bytestream.h:
3232 * libs/gst/bytestream/filepad.c:
3233 * libs/gst/bytestream/filepad.h:
3234 removing obsolete files
3236 2005-08-26 Stefan Kost <ensonic@users.sf.net>
3238 * docs/gst/gstreamer-docs.sgml:
3239 * docs/libs/gstreamer-libs-docs.sgml:
3240 disabed additional index entries again, as this makes docs-gen just
3241 slow and they aren't useful yet
3242 * docs/libs/gstreamer-libs-sections.txt:
3243 little -section.txt cleanup for libs
3245 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
3247 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3248 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
3249 fix up some debugging
3250 (gst_base_transform_get_unit_size),
3251 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
3252 (gst_base_transform_handle_buffer):
3253 * gst/base/gstbasetransform.h:
3254 handle and store timed NEWSEGMENT events so that subclasses that
3255 calculate time by counting samples have a segment_start time they
3256 need to add to their timestamps - see audioresample
3258 2005-08-26 Stefan Kost <ensonic@users.sf.net>
3261 removed ';' from the end of macro defs
3262 * docs/gst/gstreamer-docs.sgml:
3263 * docs/gst/gstreamer-sections.txt:
3264 * docs/gst/tmpl/.cvsignore:
3266 * gst/gstelement.c: (gst_element_class_init),
3267 (gst_element_set_state), (activate_pads),
3268 (gst_element_save_thyself):
3269 * gst/gstevent.c: (gst_event_new_newsegment):
3271 * gst/gstiterator.c:
3272 * gst/gstiterator.h:
3275 * gst/gstutils.c: (gst_pad_query_convert):
3277 fixed parameter name mismatches between source, header and docs
3278 added some more docs, resolved the last batch of unused elements in
3279 docs (now someone needs to doc them)
3281 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
3283 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
3284 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
3285 don't walk through the plugins backwards. Where is all this
3286 reversed logic coming from ?
3288 2005-08-25 Wim Taymans <wim@fluendo.com>
3290 * gst/base/gstbasetransform.c: (gst_base_transform_init),
3291 (gst_base_transform_transform_size),
3292 (gst_base_transform_configure_caps),
3293 (gst_base_transform_get_unit_size),
3294 (gst_base_transform_buffer_alloc),
3295 (gst_base_transform_change_state):
3296 * gst/base/gstbasetransform.h:
3297 Cache caps unit_size.
3298 Make sure we cannot negotiate up and downstream at the
3301 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
3303 * gst/gst.c: (init_pre), (init_post):
3304 register the installed plugin path after the env var
3305 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
3306 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
3307 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
3308 directories, so the tests can prefer uninstalled over installed
3310 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
3312 * gst/base/gstbasetransform.h:
3317 2005-08-25 Wim Taymans <wim@fluendo.com>
3319 * gst/gstbin.c: (bin_bus_handler):
3320 Be a bit more conservative about the posted message.
3322 * gst/gstbus.c: (gst_bus_post):
3323 Some cleanups, warn wrong return values.
3325 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
3327 * check/gst/gstbin.c: (GST_START_TEST):
3328 * gst/gstbin.c: (bin_bus_handler):
3329 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
3330 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
3331 (gst_message_new_warning), (gst_message_new_tag),
3332 (gst_message_new_state_changed), (gst_message_new_segment_start),
3333 (gst_message_new_segment_done), (gst_message_new_custom):
3335 * tools/gst-launch.c: (event_loop):
3336 * tools/gst-md5sum.c: (event_loop):
3337 Revert unpopular change for GST_MESSAGE_SRC to GObject.
3339 2005-08-25 Wim Taymans <wim@fluendo.com>
3341 * check/generic/states.c: (GST_START_TEST):
3342 Cleanup can be done at the end.
3344 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
3345 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
3346 (gst_task_get_state), (gst_task_start), (gst_task_pause):
3347 Oh boy.. Thanks for finding this, Thomas.
3349 2005-08-25 Stefan Kost <ensonic@users.sf.net>
3351 * docs/gst/gstreamer.types:
3354 2005-08-25 Stefan Kost <ensonic@users.sf.net>
3356 * docs/gst/gstreamer-docs.sgml:
3357 * docs/gst/gstreamer-sections.txt:
3358 * docs/gst/tmpl/.cvsignore:
3360 * gst/gstiterator.c:
3362 * gst/registries/gstxmlregistry.h:
3363 added missing classes and symbols (123 more to go)
3364 removed removed symbols from section file
3365 fixed many doc-comments
3367 2005-08-24 Wim Taymans <wim@fluendo.com>
3369 * check/generic/states.c: (GST_START_TEST):
3370 Make sure all tasks are stopped.
3372 * check/gst/gstbin.c: (GST_START_TEST):
3373 Unref after usage for proper valgrinding.
3375 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
3376 Really wait for the task to stop before destroying the
3379 * gst/gstqueue.c: (gst_queue_sink_activate_push),
3380 (gst_queue_src_activate_push):
3381 Small cleanups. Don't stop the task when we did not start
3384 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
3385 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
3386 (gst_task_get_state), (gst_task_start), (gst_task_pause),
3389 Protect the stream lock with the object lock.
3390 Disallow setting the stream lock when running.
3391 Add cleanup_all to wait for the threadpool to finish.
3392 Remove code to autoallocate a mutex if none was provided.
3393 Add _join() to wait for a task to stop.
3394 Protect the thread pool with a global lock.
3396 2005-08-24 Wim Taymans <wim@fluendo.com>
3398 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3399 (gst_base_sink_get_times), (gst_base_sink_do_sync),
3400 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
3401 * gst/base/gstbasesink.h:
3402 Handle newsegment events correctly.
3403 Drop buffers out of the segment range.
3405 2005-08-22 Andy Wingo <wingo@pobox.com>
3407 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
3408 macro, implements an interface and gstimplementsinterface for a
3411 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
3413 * check/Makefile.am:
3414 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
3415 add a test that does a bunch of state changes on elements
3416 needs some fixing for valgrind
3417 * check/states/sinks.c: (gst_object_suite):
3420 add prototype for gst_caps_is_equal_fixed
3422 * gst/gstregistrypool.c:
3425 2005-08-24 Andy Wingo <wingo@pobox.com>
3427 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
3428 convert a negative value. Doesn't make much sense. Mostly this is
3429 here to force callers to ensure -1 maps to -1.
3431 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
3433 * docs/pwg/advanced-types.xml:
3434 Well done to Michael for catching my deliberate introduction
3435 of this spelling mistake.
3436 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
3438 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
3439 unlink pads before removing the element from the bin.
3441 2005-08-24 Andy Wingo <wingo@pobox.com>
3443 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
3444 the same thing as GST_DEBUG=*:4.
3445 (parse_debug_level, parse_debug_category): New helper parsers.
3447 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
3449 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
3450 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
3451 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
3452 (gst_base_transform_buffer_alloc),
3453 (gst_base_transform_handle_buffer):
3454 use gboolean return values and pointers to size so we can use the
3455 full GST_BUFFER_SIZE range (guint) for buffer sizes
3456 use GstPadDirection for transform_caps
3457 * gst/base/gstbasetransform.h:
3458 rename get_size to get_unit_size since that's what it is
3459 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
3460 use GstPadDirection for transform_caps
3461 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
3463 cleanup and debugging
3465 2005-08-24 Stefan Kost <ensonic@users.sf.net>
3467 * gst/gstelement.c: (gst_element_class_init),
3468 (gst_element_set_state), (activate_pads),
3469 (gst_element_save_thyself):
3470 * tools/gst-compprep.c: (main):
3471 * tools/gst-inspect.c: (print_element_properties_info):
3472 * tools/gst-xmlinspect.c: (print_element_properties):
3473 Fixed long standing mem-leak
3475 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
3477 * check/gst/gstbin.c: (GST_START_TEST):
3478 * gst/gstbin.c: (bin_bus_handler):
3479 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
3480 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
3481 (gst_message_new_warning), (gst_message_new_tag),
3482 (gst_message_new_state_changed), (gst_message_new_segment_start),
3483 (gst_message_new_segment_done), (gst_message_new_custom):
3485 * tools/gst-launch.c: (event_loop):
3486 * tools/gst-md5sum.c: (event_loop):
3487 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
3488 that applications can sensibly post custom messages with references
3489 to their own objects.
3491 2005-08-24 Andy Wingo <wingo@pobox.com>
3493 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
3496 2005-08-24 Wim Taymans <wim@fluendo.com>
3498 * gst/base/gstbasetransform.c: (gst_base_transform_init),
3499 (gst_base_transform_transform_caps),
3500 (gst_base_transform_transform_size),
3501 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
3502 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
3503 (gst_base_transform_handle_buffer):
3504 * gst/base/gstbasetransform.h:
3505 Many fixes and new features added by Thomas. Can now also do
3506 transforms with variable sizes and a custom fixate_caps function.
3508 2005-08-24 Wim Taymans <wim@fluendo.com>
3510 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
3514 Cast to ClockTime before formatting to time.
3519 2005-08-24 Stefan Kost <ensonic@users.sf.net>
3521 * check/gst-libs/controller.c: (GST_START_TEST),
3522 (gst_controller_suite):
3523 * docs/gst/tmpl/gstcaps.sgml:
3524 * docs/gst/tmpl/gstghostpad.sgml:
3525 * docs/gst/tmpl/gstquery.sgml:
3526 * docs/gst/tmpl/gstutils.sgml:
3527 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
3528 (gst_object_sink_values), (gst_object_get_value_arrays),
3529 (gst_object_get_value_array):
3530 gracefully handle helper method calls to objects that are not beeing
3531 controlled, added test case for that
3533 2005-08-23 Wim Taymans <wim@fluendo.com>
3535 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
3536 (gst_event_new_newsegment), (gst_event_parse_newsegment),
3537 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
3538 (gst_event_parse_qos), (gst_event_new_seek),
3539 (gst_event_parse_seek):
3541 Some more debugging output and doc cleanups.
3543 * gst/gstqueue.c: (gst_queue_handle_sink_event):
3544 Fix possible deadlock.
3546 2005-08-23 Stefan Kost <ensonic@users.sf.net>
3548 * docs/gst/gstreamer-docs.sgml:
3549 * docs/gst/gstreamer-sections.txt:
3550 * docs/gst/gstreamer.types:
3551 * docs/gst/tmpl/.cvsignore:
3556 added 100 symbols from gstreamer-unused.txt to the right sections
3557 fixed more broken comments
3558 added GstBus to docs
3560 2005-08-23 Stefan Kost <ensonic@users.sf.net>
3562 * docs/gst/gstreamer-sections.txt:
3563 * docs/gst/tmpl/.cvsignore:
3564 * docs/gst/tmpl/gstbin.sgml:
3565 * docs/gst/tmpl/gstbuffer.sgml:
3566 * gst/base/gstbasesrc.c:
3567 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
3570 * tools/gst-launch.1.in:
3571 inlined more doc comments, added missing comments and fixed comments
3574 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
3576 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
3580 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
3582 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
3583 * gst/gststructure.h:
3584 add a fixate function for booleans; add a FIXME that these func
3585 names should probably be gst_structure_fixate_*
3587 2005-08-23 Stefan Kost <ensonic@users.sf.net>
3589 * docs/gst/gstreamer-docs.sgml:
3590 * docs/gst/gstreamer-sections.txt:
3592 * gst/gstbin.c: (gst_bin_get_type),
3593 (gst_bin_child_proxy_get_child_by_index),
3594 (gst_bin_child_proxy_get_children_count),
3595 (gst_bin_child_proxy_init):
3596 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
3597 (gst_child_proxy_get_child_by_index),
3598 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
3599 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
3600 (gst_child_proxy_get), (gst_child_proxy_set_property),
3601 (gst_child_proxy_set_valist), (gst_child_proxy_set),
3602 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
3603 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
3604 * gst/gstchildproxy.h:
3605 * gst/parse/grammar.y:
3606 * tools/gst-inspect.c: (print_interfaces),
3607 (print_element_properties_info), (print_element_info):
3608 ported gstchildproxy over from 0.8
3609 ported gst-inspect fixes and enhancements over from 0.8
3611 2005-08-22 Wim Taymans <wim@fluendo.com>
3613 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
3614 (gst_base_transform_handle_buffer):
3615 Also call the transform function if we have ANY caps.
3617 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
3620 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
3622 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
3623 Don't pretend to handle seek events if the source is not seekable
3625 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
3627 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3628 Remove extra parameter to debug output
3630 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
3631 (gst_base_src_do_seek), (gst_base_src_activate_push):
3632 Fix seek event handling.
3634 * gst/gstpipeline.c: (gst_pipeline_change_state):
3635 * gst/gstqueue.c: (gst_queue_handle_sink_event),
3636 (gst_queue_src_activate_push):
3637 Don't start the src pad task on FLUSH_STOP if the pad
3641 2005-08-22 Wim Taymans <wim@fluendo.com>
3643 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3644 Added check for gst_static_caps_get() refcounting.
3646 2005-08-22 Wim Taymans <wim@fluendo.com>
3648 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
3649 Make _static_caps_get() refcounting sane.
3651 * gst/gstelement.c: (gst_element_set_state):
3652 Add g_return_val_if_fail() to protect against segfaults.
3654 2005-08-22 Stefan Kost <ensonic@users.sf.net>
3656 * docs/gst/tmpl/gstevent.sgml:
3659 inlined remaining docs, added missing doc comments
3661 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
3663 * check/gst/gstbin.c: (GST_START_TEST):
3664 since we don't know when preroll is done, use refcount range
3666 * gst/check/gstcheck.h:
3667 add macro for checking refcount range
3669 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
3671 * check/Makefile.am:
3672 clean up environment for when registry gets built versus
3673 when actual tests are run; valgrind seems to not report
3674 leaks if GST_PLUGIN_PATH is set to some specific values
3675 * check/gst/gstbin.c: (GST_START_TEST):
3676 add more refcounting checks; maybe this exposes a
3679 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3680 * gst/check/gstcheck.h:
3681 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
3682 (gst_bin_change_state):
3683 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
3684 add/fix debugging/whitespace
3686 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
3688 * check/gst/gstevent.c: (event_probe), (test_event),
3690 Er, don't call gst_bin_watch_for_state_change you idiot.
3692 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
3694 * check/Makefile.am:
3695 Use CHECK_CFLAGS and CHECK_LIBS
3696 * check/gst/gstevent.c: (event_probe), (test_event),
3699 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
3700 (gst_base_src_start), (gst_base_src_stop),
3701 (gst_base_src_activate_push), (gst_base_src_activate_pull),
3702 (gst_base_src_change_state):
3703 Sprinkle gst_base_src_stop liberally around error paths to fix
3704 problems reusing a source after failed state changes.
3705 * gst/base/gsttypefindhelper.c: (helper_find_peek),
3706 (helper_find_suggest), (gst_type_find_helper):
3707 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
3709 * docs/gst/tmpl/gstevent.sgml:
3710 Migrate part of the docs from the SGML file. Wait for ensonic to
3711 tell me how I did it wrong ;)
3712 * tools/gst-typefind.c: (main):
3713 Extra robustness to state changes between files.
3715 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
3717 * check/Makefile.am:
3718 don't valgrind the controller test - it's leaking - Stefan, HELP
3719 * gst/check/gstcheck.c: (gst_check_message_error),
3720 (gst_check_chain_func), (gst_check_setup_element),
3721 (gst_check_teardown_element), (gst_check_setup_src_pad),
3722 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3723 (gst_check_teardown_sink_pad):
3724 * gst/check/gstcheck.h:
3725 add a bunch of methods to set up elements, and src and sink pads
3726 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
3727 * check/elements/identity.c: (setup_identity), (cleanup_identity),
3732 whitespace/doc fixes
3734 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
3737 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
3738 be handled by the application and not always printed as well
3740 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
3742 * check/Makefile.am:
3744 * gst/check/gstcheck.c: (gst_check_message_error):
3745 * gst/check/gstcheck.h:
3746 add a fail_unless_equals_int
3747 add fail_unless for error messages
3749 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
3751 * check/Makefile.am:
3753 * common/Makefile.am:
3756 factor out some of the common stuff so we can use it
3758 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
3760 * check/Makefile.am:
3761 * check/gst/gstiterator.c: (GST_START_TEST):
3762 * check/gst/gstsystemclock.c: (GST_START_TEST),
3763 (gst_systemclock_suite):
3764 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3768 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
3770 * check/elements/.cvsignore:
3771 * check/elements/gstfakesrc.c:
3772 rename to name of element
3773 * check/elements/identity.c: (chain_func), (event_func),
3774 (setup_identity), (cleanup_identity), (GST_START_TEST),
3775 (identity_suite), (main):
3776 add a test for identity
3777 * check/Makefile.am:
3778 * pkgconfig/Makefile.am:
3779 * pkgconfig/gstreamer-check.pc.in:
3780 * pkgconfig/gstreamer-check-uninstalled.pc.in:
3784 move the check stuff to a library that gets installed
3785 * check/gst-libs/controller.c: (GST_START_TEST):
3786 * check/gst-libs/gdp.c:
3787 * check/gst/gst.c: (GST_START_TEST):
3788 * check/gst/gstbin.c:
3789 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3790 * check/gst/gstbus.c:
3791 * check/gst/gstcaps.c: (GST_START_TEST):
3792 * check/gst/gstelement.c:
3793 * check/gst/gstghostpad.c:
3794 * check/gst/gstiterator.c:
3795 * check/gst/gstmessage.c:
3796 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
3797 * check/gst/gstobject.c:
3798 * check/gst/gstpad.c: (GST_START_TEST):
3799 * check/gst/gststructure.c: (GST_START_TEST):
3800 * check/gst/gstsystemclock.c: (GST_START_TEST),
3801 (gst_systemclock_suite):
3802 * check/gst/gsttag.c: (gst_tag_suite):
3803 * check/gst/gstvalue.c:
3804 * check/pipelines/cleanup.c:
3805 * check/pipelines/simple_launch_lines.c:
3806 * check/states/sinks.c:
3807 change include statement
3809 * docs/gst/gstreamer-sections.txt:
3810 * docs/gst/tmpl/gstpad.sgml:
3811 document more pad stuff
3812 * gst/gstminiobject.c: (gst_mini_object_ref),
3813 (gst_mini_object_unref):
3816 2005-08-19 Stefan Kost <ensonic@users.sf.net>
3818 * docs/gst/tmpl/gst.sgml:
3820 eliminate another tmpl file, fix spelling in the long-description
3822 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
3824 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
3825 (test_event), (timediff), (gstevents_suite):
3826 Should fix build on 64-bit arch's
3828 2005-08-18 Andy Wingo <wingo@pobox.com>
3830 Make sure that when a pipeline goes to PLAYING, that data has
3831 actually hit the sink.
3833 * check/states/sinks.c (test_sink): A sink that doesn't get any
3834 data shouldn't return SUCCESS for going to either PLAYING or
3835 PAUSED. Test also the return values on the way back down.
3837 * gst/gstelement.c (gst_element_set_state): When changing the
3838 state of an element currently changing state asynchronously, go to
3839 lost-state after commiting the pending state. Makes future calls
3840 to get_state continue to return ASYNC.
3842 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
3843 ASYNC when going to PLAYING if we still don't have preroll, as can
3844 happen with live sources.
3846 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
3848 * docs/pwg/advanced-types.xml:
3849 Hack long paragraph into 2 chunks as a workaround for buggy
3850 jadetex version in sid and breezy that loops infinitely and
3853 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
3855 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
3856 (test_event), (timediff), (gstevents_suite):
3857 Provide more error margin in clock measurements to allow for
3858 g_get_current_time inaccuracies.
3860 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
3862 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
3863 (test_event), (timediff), (gstevents_suite):
3864 Fix error message output so I might be able to tell why the
3865 test works here but fails on the build farm.
3867 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
3869 * check/Makefile.am:
3870 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
3871 (test_event), (timediff), (gstevents_suite), (main):
3874 * docs/design/part-seeking.txt:
3877 * docs/gst/tmpl/gstevent.sgml:
3878 * docs/gst/tmpl/gstfakesrc.sgml:
3881 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3882 Treat a buffer-without-newsegment the same as a receiving
3883 a newsegment not in time format, and disable syncing to the clock
3886 * gst/gstbus.c: (gst_bus_set_sync_handler):
3887 Assert if anyone tries to replace the existing sync_handler for bus,
3888 as only the owner should be setting it.
3891 Have a fixed set of custom event enums with events identified by
3892 their structure name (as in 0.8), rather than a free-for-all
3893 allowing collisions between enum values from different plugins.
3895 * gst/gstpad.c: (gst_pad_class_init):
3898 * gst/gstqueue.c: (gst_queue_handle_sink_event):
3899 Handle out-of-band downstream events from the sending thread.
3901 2005-08-17 Andy Wingo <wingo@pobox.com>
3903 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
3904 play-timeout==0 to mean no timeout at all. In that case, don't
3905 bother with a get_state or a warning, just return directly, even
3908 * gst/base/gstbasetransform.c: Debug changes.
3911 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
3912 ensure bins post state change messages. A bit of a hack but I can't
3913 think of a way to avoid it.
3915 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
3917 2005-08-16 Andy Wingo <wingo@pobox.com>
3919 * gst/base/gstadapter.h:
3920 * gst/base/gstadapter.c (gst_adapter_take): New function, like
3921 peek() but you own the data. Not terribly efficient atm.
3923 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
3925 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
3926 (gst_element_found_tags):
3928 Add two utility functions for tag handling.
3930 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
3932 * docs/manual/advanced-dataaccess.xml:
3933 * docs/manual/basics-helloworld.xml:
3934 Fix docs to use _bin_add() before _link(), which fixes the examples
3935 with recent core versions (reported by Madhan Raj M
3936 <raj_madan@rediffmail.com>, #313199).
3938 2005-08-16 Wim Taymans <wim@fluendo.com>
3940 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3941 Added subtract checks.
3943 * docs/design/part-events.txt:
3944 Some more docs about newsegment
3946 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
3949 * gst/gstcaps.c: (gst_caps_to_string):
3950 Add comments, cleanups.
3952 * gst/gstelement.c: (gst_element_save_thyself):
3955 * gst/gstvalue.c: (gst_value_collect_int_range),
3956 (gst_string_unwrap), (gst_value_union_int_int_range),
3957 (gst_value_union_int_range_int_range),
3958 (gst_value_intersect_int_int_range),
3959 (gst_value_intersect_int_range_int_range),
3960 (gst_value_intersect_double_double_range),
3961 (gst_value_intersect_double_range_double_range),
3962 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
3963 (gst_value_subtract_int_range_int),
3964 (gst_value_subtract_double_range_double),
3965 (gst_value_subtract_double_range_double_range),
3966 (gst_value_subtract_from_list), (gst_value_subtract_list),
3967 (gst_value_can_compare), (gst_value_compare_fraction):
3968 Cleanups, add comments, remove unneeded asserts.
3970 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
3972 * tools/gst-launch.c: (event_loop):
3973 don't convert NULL structures to strings
3975 2005-08-15 Stefan Kost <ensonic@users.sf.net>
3977 * docs/gst/gstreamer-sections.txt:
3978 made some defines private
3979 * docs/gst/tmpl/gstconfig.sgml:
3980 * docs/gst/tmpl/gstqueue.sgml:
3981 * docs/gst/tmpl/gsttaglist.sgml:
3982 * docs/gst/tmpl/gsttypes.sgml:
3983 * docs/gst/tmpl/gstutils.sgml:
3984 * docs/pwg/appendix-porting.xml:
3985 * gst/base/gstbasesink.h:
3986 * gst/base/gstbasesrc.c:
3987 * gst/base/gstbasesrc.h:
3988 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
3989 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
3990 * gst/gstelement.c: (gst_element_class_init):
3991 * gst/gstpad.c: (gst_pad_class_init):
3992 * gst/gstqueue.c: (gst_queue_class_init):
3993 * gst/gstxml.c: (gst_xml_class_init):
3994 documented all undocumented signal inline
3995 * libs/gst/controller/gst-controller.h:
3998 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4000 * docs/pwg/appendix-porting.xml:
4001 Document _set_link_function -> _set_setcaps_function.
4003 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
4005 * check/Makefile.am:
4006 add a .check target for running the check
4007 * check/gst-libs/controller.c: (GST_START_TEST):
4009 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4010 complete checks for gstbuffer; would be nice if I could get the
4011 gcov stuff to work so I can see if I actually completed gstbuffer.c
4013 add ASSERT_BUFFER_REFCOUNT
4015 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
4017 * docs/gst/gstreamer-sections.txt:
4018 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
4020 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
4021 spew out a warning if a tag that is already registered
4022 is re-registered, unless it is re-registered with a
4023 different type (#308438).
4025 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
4027 * docs/pwg/appendix-porting.xml:
4028 * docs/pwg/building-state.xml:
4029 Add some paragraphs about state changes in 0.9 to the PWG
4030 and the porting guide, in particular about the new meaning
4031 of GST_STATE_PAUSED and how to write state change functions
4032 with concurrent access by multiple threads in mind.
4034 2005-08-11 Stefan Kost <ensonic@users.sf.net>
4036 * docs/gst/gstreamer-docs.sgml:
4037 * docs/libs/gstreamer-libs-docs.sgml:
4038 added deprecation and since indexes
4039 * libs/gst/controller/gst-controller.c:
4040 * libs/gst/controller/gst-helper.c:
4044 2005-08-11 Wim Taymans <wim@fluendo.com>
4046 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
4047 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
4048 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
4049 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
4050 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
4051 (gst_ghost_pad_set_target):
4052 Actually implement (re)setting the target on a ghostpad
4053 as described in the docs.
4055 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
4057 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
4058 Check whether GST_DEBUG_NO_COLOR environment variable is
4059 set and disable coloured debug output if that is the case.
4061 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
4063 * gst/base/gsttypefindhelper.c: (helper_find_peek),
4064 (gst_type_find_helper):
4065 The memory returned by gst_type_find_peek() needs to
4066 stay valid until the end of a typefind function, and
4067 typefind functions may keep results from different
4068 offsets around, so we can't just unref the buffer from
4069 the previous _peek(), but have to save all buffers
4070 returned by _peek() until typefinding is done and only
4073 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
4075 * docs/gst/gstreamer-sections.txt:
4077 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
4079 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4081 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
4082 Fix a pretty good memleak.
4084 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
4086 * gst/gstiterator.h:
4087 Fix wrong include and 'make distcheck'.
4089 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4091 * gst/gstbin.c: (bin_bus_handler):
4092 Use gst_element_post_message() instead.
4094 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
4096 * gst/base/gstadapter.h:
4097 * gst/base/gstbasesink.h:
4098 * gst/base/gstbasesrc.h:
4099 * gst/base/gstbasetransform.h:
4100 * gst/base/gstcollectpads.h:
4101 * gst/base/gstpushsrc.h:
4102 * gst/gstiterator.h:
4103 Add padding to our base elements' class and instance structs and
4104 to GstIterator (you will need to rebuild all plugins and apps!)
4106 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4108 * gst/gstbin.c: (bin_bus_handler):
4109 Make default message forwarding from child->bus to bin->bus
4110 threadsafe and make it not emit warnings if the parent has no bus.
4112 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4114 * gst/gstelement.c: (activate_pads):
4115 On paused->ready, set pad->caps to NULL, as is the documented
4116 behaviour in this state change. Fixes playback of series of
4117 media files when visualization is enabled in Totem.
4119 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4121 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
4122 Allow NULL as filter-caps (which means "any").
4124 2005-08-05 Stefan Kost <ensonic@users.sf.net>
4126 * docs/libs/gstreamer-libs-sections.txt:
4127 * libs/gst/controller/gst-controller.c:
4128 * libs/gst/controller/gst-controller.h:
4129 * libs/gst/controller/gst-helper.c:
4130 adding more entries to the docs and fix small doc-bugs
4132 2005-08-05 Stefan Kost <ensonic@users.sf.net>
4134 * docs/gst/gstreamer-docs.sgml:
4135 * docs/gst/gstreamer-sections.txt:
4136 * docs/gst/gstreamer.types:
4137 * docs/gst/tmpl/gstbasesink.sgml:
4138 * docs/gst/tmpl/gstbasesrc.sgml:
4139 * docs/gst/tmpl/gstbasetransform.sgml:
4140 * docs/gst/tmpl/gstfakesrc.sgml:
4141 * gst/base/gstcollectpads.c:
4142 * gst/base/gstcollectpads.h:
4143 * libs/gst/controller/gst-controller.c:
4144 * libs/gst/controller/gst-controller.h:
4145 * libs/gst/controller/gst-helper.c:
4146 * libs/gst/controller/gst-interpolation.c:
4147 * libs/gst/controller/lib.c:
4148 added long/short desc for controller docs
4149 added collectpads base class docs
4150 added correct includes to base-class docs
4152 2005-08-05 Stefan Kost <ensonic@users.sf.net>
4154 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
4155 (gst_test_mono_source_set_property),
4156 (gst_test_mono_source_class_init), (GST_START_TEST),
4157 (gst_controller_suite):
4158 * docs/gst/gstreamer-docs.sgml:
4159 * docs/gst/gstreamer-sections.txt:
4160 * docs/gst/gstreamer.types:
4161 * docs/libs/gstreamer-libs-docs.sgml:
4162 * docs/libs/gstreamer-libs-sections.txt:
4163 * gst/base/gstadapter.c:
4164 * libs/gst/controller/gst-controller.c:
4165 (gst_controlled_property_new), (gst_controlled_property_free),
4166 (gst_controller_new_valist),
4167 (gst_controller_remove_properties_valist),
4168 (gst_controller_sink_values), (_gst_controller_finalize):
4169 * libs/gst/controller/gst-controller.h:
4170 * libs/gst/controller/gst-helper.c:
4171 (gst_object_control_properties), (gst_object_uncontrol_properties),
4172 (gst_object_get_controller), (gst_object_set_controller),
4173 (gst_object_sink_values), (gst_object_get_value_arrays),
4174 (gst_object_get_value_array):
4175 more tests (and fixes) for the controller
4176 more docs for the controller
4177 integrated companies docs for the adapter
4179 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
4181 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
4182 (GST_START_TEST), (fakesrc_suite):
4183 add tests for sizetype
4185 2005-08-04 Andy Wingo <wingo@pobox.com>
4187 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
4188 fixes buffer_alloc proxying among other things.
4190 * gst/base/gstbasetransform.c:
4191 * gst/base/gstbasetransform.h:
4192 Revert patch to gstbasetransform from 7-28 removing
4195 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
4196 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
4197 Semantics changed, should return not the size of the output buffer
4198 but the byte size of a buffer with a given caps.
4200 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
4202 (gst_base_transform_configure_caps): Don't set out_size here: (in,
4203 out) are not the pad caps until setcaps finishes.
4204 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
4205 not-in-place case as well. Deal with changing from in-place to
4206 not-in-place within calling pad_alloc_buffer. Still a bit
4207 concerned about the overhead here...
4209 2005-08-03 Andy Wingo <wingo@pobox.com>
4211 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
4212 fixating is an error.
4214 2005-08-04 Edward Hervey <edward@fluendo.com>
4216 * gst/base/gstadapter.h:
4217 Added gst_adapter_get_type() to the header
4219 2005-08-03 Stefan Kost <ensonic@users.sf.net>
4221 * check/Makefile.am:
4222 * check/gst-libs/controller.c:
4223 * libs/gst/controller/gst-controller.c:
4224 (gst_controller_new_valist):
4225 added check test suite for the controller
4226 * gst/base/gstpushsrc.c:
4229 2005-08-03 Stefan Kost <ensonic@users.sf.net>
4231 * docs/gst/Makefile.am:
4232 * docs/gst/gstreamer-docs.sgml:
4233 * docs/gst/gstreamer-sections.txt:
4234 * docs/gst/gstreamer.types:
4235 * docs/gst/tmpl/gstfakesrc.sgml:
4237 * gst/base/gstbasesink.c:
4238 * gst/base/gstbasesink.h:
4239 * gst/base/gstbasesrc.c:
4240 * gst/base/gstbasesrc.h:
4241 * gst/base/gstbasetransform.c:
4242 * gst/base/gstpushsrc.c:
4243 * gst/base/gstpushsrc.h:
4244 add short/long description docs to base classes
4245 add pushsrc to the docs
4246 remove consolidated doc fragments
4248 2005-08-03 Stefan Kost <ensonic@users.sf.net>
4251 * docs/libs/Makefile.am:
4252 * docs/libs/gstreamer-libs-docs.sgml:
4253 * docs/libs/gstreamer-libs-sections.txt:
4254 * docs/libs/gstreamer-libs.types:
4255 * examples/Makefile.am:
4256 * examples/controller/.cvsignore:
4257 * examples/controller/Makefile.am:
4258 * examples/controller/audio-example.c: (main):
4259 * libs/gst/Makefile.am:
4260 * libs/gst/controller/.cvsignore:
4261 * libs/gst/controller/Makefile.am:
4262 * libs/gst/controller/gst-controller.c:
4263 (on_object_controlled_property_changed), (gst_timed_value_compare),
4264 (gst_timed_value_find),
4265 (gst_controlled_property_set_interpolation_mode),
4266 (gst_controlled_property_new), (gst_controlled_property_free),
4267 (gst_controller_find_controlled_property),
4268 (gst_controller_new_valist), (gst_controller_new),
4269 (gst_controller_remove_properties_valist),
4270 (gst_controller_remove_properties), (gst_controller_set),
4271 (gst_controller_set_from_list), (gst_controller_unset),
4272 (gst_controller_get), (gst_controller_get_all),
4273 (gst_controller_sink_values), (gst_controller_get_value_arrays),
4274 (gst_controller_get_value_array),
4275 (gst_controller_set_interpolation_mode),
4276 (_gst_controller_finalize), (_gst_controller_init),
4277 (_gst_controller_class_init), (gst_controller_get_type):
4278 * libs/gst/controller/gst-controller.h:
4279 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
4280 (g_object_uncontrol_properties), (g_object_get_controller),
4281 (g_object_set_controller), (g_object_sink_values),
4282 (g_object_get_value_arrays), (g_object_get_value_array):
4283 * libs/gst/controller/gst-interpolation.c:
4284 (gst_controlled_property_find_timed_value_node),
4285 (interpolate_none_get), (interpolate_trigger_get),
4286 (interpolate_trigger_get_value_array):
4287 * libs/gst/controller/lib.c: (gst_controller_init):
4288 * pkgconfig/Makefile.am:
4289 * pkgconfig/gstreamer-control-uninstalled.pc.in:
4290 * pkgconfig/gstreamer-control.pc.in:
4291 * testsuite/Makefile.am:
4292 * testsuite/controller/.cvsignore:
4293 * testsuite/controller/Makefile.am:
4294 * testsuite/controller/interpolator.c: (main):
4295 added controller code
4296 removed dparam pc files
4298 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
4299 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
4300 (gst_collectpads_stop):
4301 Broadcast the condition when shutting down, to make sure we wake all
4302 threads up. Shut down pads on finalize, for safety.
4304 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
4305 * gst/base/gstbasetransform.c: (gst_base_transform_init),
4306 (gst_base_transform_handle_buffer),
4307 (gst_base_transform_change_state):
4308 Handle PAUSED->READY->PAUSED transition after negotiation
4310 * gst/gstmessage.c: (gst_message_init):
4311 Extra piece of debug for new messages.
4313 2005-08-01 Stefan Kost <ensonic@users.sf.net>
4316 * docs/gst/tmpl/gstbasesrc.sgml:
4317 * docs/gst/tmpl/gstelement.sgml:
4318 * docs/gst/tmpl/gstevent.sgml:
4319 * docs/gst/tmpl/gstfakesrc.sgml:
4320 * docs/gst/tmpl/gstformat.sgml:
4321 * docs/gst/tmpl/gstghostpad.sgml:
4322 * docs/gst/tmpl/gstpad.sgml:
4323 * docs/gst/tmpl/gstquery.sgml:
4324 * docs/gst/tmpl/gststructure.sgml:
4325 * docs/gst/tmpl/gsttaglist.sgml:
4326 * docs/gst/tmpl/gstvalue.sgml:
4327 * docs/libs/gstreamer-libs-docs.sgml:
4328 * docs/libs/gstreamer-libs-sections.txt:
4329 * docs/libs/gstreamer-libs.types:
4330 * libs/gst/Makefile.am:
4331 * libs/gst/control/.cvsignore:
4332 * libs/gst/control/Makefile.am:
4333 * libs/gst/control/control.c:
4334 * libs/gst/control/control.h:
4335 * libs/gst/control/dparam.c:
4336 * libs/gst/control/dparam.h:
4337 * libs/gst/control/dparam_smooth.c:
4338 * libs/gst/control/dparam_smooth.h:
4339 * libs/gst/control/dparamcommon.h:
4340 * libs/gst/control/dparammanager.c:
4341 * libs/gst/control/dparammanager.h:
4342 * libs/gst/control/dplinearinterp.c:
4343 * libs/gst/control/dplinearinterp.h:
4344 * libs/gst/control/unitconvert.c:
4345 * libs/gst/control/unitconvert.h:
4346 * testsuite/Makefile.am:
4347 * testsuite/dynparams/.cvsignore:
4348 * testsuite/dynparams/Makefile.am:
4349 * testsuite/dynparams/dparamstest.c:
4350 * tools/Makefile.am:
4351 * tools/gst-inspect.c: (print_element_info), (main):
4352 * tools/gst-xmlinspect.c: (print_element_info), (main):
4353 deactivate and remove dparams (libgstcontrol)
4355 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
4357 * gst/elements/gsttypefindelement.c:
4358 (gst_type_find_element_have_type), (gst_type_find_element_init),
4359 (stop_typefinding), (gst_type_find_element_handle_event),
4360 (gst_type_find_element_chain), (gst_type_find_element_getrange):
4361 * gst/elements/gsttypefindelement.h:
4362 Set caps on all outgoing buffers, not just the first one.
4364 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
4366 * gst/elements/gsttypefindelement.c:
4367 (gst_type_find_element_have_type),
4368 (gst_type_find_element_check_set_buffer_caps),
4369 (gst_type_find_element_init), (stop_typefinding),
4370 (gst_type_find_element_handle_event),
4371 (gst_type_find_element_chain), (gst_type_find_element_getrange):
4372 * gst/elements/gsttypefindelement.h:
4373 Set caps on first outgoing buffer when we've found the type.
4375 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
4377 * docs/gst/gstreamer-docs.sgml:
4378 * docs/gst/gstreamer-sections.txt:
4379 * docs/gst/tmpl/gstscheduler.sgml:
4380 * docs/gst/tmpl/gstschedulerfactory.sgml:
4381 Remove some old cruft from docs.
4383 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
4386 Fix inline docs for GstPadLinkReturn.
4388 * gst/gststructure.c: (gst_structure_has_name):
4389 * gst/gststructure.h:
4390 * docs/gst/gstreamer-sections.txt:
4391 New API: gst_structure_has_name().
4393 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
4396 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
4397 and _LARGEFILE_SOURCE in config.h as required. Do not
4398 export those flags in our .pc files any longer (#142209).
4400 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
4402 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
4403 (gst_file_sink_do_seek), (gst_file_sink_event),
4404 (gst_file_sink_get_current_offset), (gst_file_sink_render):
4405 Redo seek/tell calls with large file support in mind; add some
4406 debugging messages; add log message that tells us when large
4407 file support is unavailable or not enabled for some reason.
4409 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
4410 Add log message that tells us when large file support
4411 is unavailable or not enabled for some reason.
4413 2005-07-29 Wim Taymans <wim@fluendo.com>
4415 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
4416 Added test for removing an element with ghostpad from a bin.
4417 Fixed test as current implementation does the right thing.
4419 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
4420 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
4421 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
4422 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
4423 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
4424 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4425 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4426 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4427 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
4428 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
4429 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
4430 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
4431 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4432 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
4433 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
4434 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
4435 * gst/gstghostpad.h:
4436 Clean up ghostpads, remove properties for internal stuff.
4439 Prepare for switching targets, not all use cases work yet.
4441 2005-07-29 Wim Taymans <wim@fluendo.com>
4443 * docs/design/part-gstghostpad.txt:
4446 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
4447 (gst_bin_remove_func):
4448 Unlinking pads while holding the bin LOCK is not a good
4451 * gst/gstpad.c: (gst_pad_class_init),
4452 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
4453 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
4454 No prob setting template after creating the pad.
4456 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
4458 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
4459 (gst_bus_peek), (gst_bus_source_dispatch),
4460 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
4461 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
4462 gst_bus_poll may be called from other threads. Handle
4463 this nicely by not making poll_data disappear off the
4464 stack once gst_bus_poll returns.
4465 gst_bus_peek now increments the refcount on the returned
4468 2005-07-29 Wim Taymans <wim@fluendo.com>
4470 * docs/design/part-gstghostpad.txt:
4471 Overview of current GhostPad datastructures and use
4472 cases for changing the target.
4474 2005-07-28 Wim Taymans <wim@fluendo.com>
4476 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4477 Added checks for hierarchy consistency whan adding linked
4480 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4481 Added check to test element scheduling without bin/pipeline.
4483 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4484 First add elements to bin, then link.
4486 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
4487 (gst_bin_remove_func):
4488 Unlink pads from elements added/removed from bin to maintain
4489 hierarchy consistency.
4491 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4493 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
4494 (gst_base_transform_handle_buffer):
4495 * gst/base/gstbasetransform.h:
4496 Remove broken delay_configure (fixes renegotiation of software
4497 scaling pipelines); remove some leftover printf()s.
4499 2005-07-28 Wim Taymans <wim@fluendo.com>
4501 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
4502 Added some more tests for wrong hierarchy
4504 * docs/design/part-overview.txt:
4507 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
4510 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
4511 (gst_element_dispose):
4514 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4515 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
4516 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
4517 (gst_pad_set_caps), (gst_pad_send_event):
4518 Check for correct hierarchy when linking pads. Moving to
4519 strict requirement for ghostpads when linking elements in
4523 Clean ups. Added WRONG_HIERARCHY return value.
4525 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4527 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4528 Better debug if no transform is possible.
4530 2005-07-27 Wim Taymans <wim@fluendo.com>
4532 * docs/random/wtay/network-transp:
4535 2005-07-27 Wim Taymans <wim@fluendo.com>
4537 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4538 (gst_dp_event_from_packet):
4539 Fix serialization of seek events.
4541 2005-07-27 Wim Taymans <wim@fluendo.com>
4543 * check/gst-libs/gdp.c: (GST_START_TEST):
4544 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4545 Fix compilation and fix event serialization.
4547 2005-07-27 Wim Taymans <wim@fluendo.com>
4550 * docs/design/part-TODO.txt:
4551 * docs/design/part-events.txt:
4554 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4555 (gst_base_sink_event), (gst_base_sink_do_sync),
4556 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
4557 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
4558 (gst_base_src_do_seek), (gst_base_src_event_handler),
4559 (gst_base_src_loop):
4560 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
4561 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
4562 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
4563 (gst_base_transform_event), (gst_base_transform_handle_buffer),
4564 (gst_base_transform_set_passthrough),
4565 (gst_base_transform_is_passthrough):
4566 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4567 * gst/elements/gstfilesink.c: (gst_file_sink_event):
4573 * gst/gstelement.c: (gst_element_seek):
4575 Update gst_element_seek.
4577 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
4578 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
4579 (gst_event_new_flush_start), (gst_event_new_flush_stop),
4580 (gst_event_new_eos), (gst_event_new_newsegment),
4581 (gst_event_parse_newsegment), (gst_event_new_tag),
4582 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
4583 (gst_event_parse_qos), (gst_event_new_seek),
4584 (gst_event_parse_seek), (gst_event_new_navigation):
4586 Make GstEvent use GstStructure. Add parsing code, make sure the
4587 API is sufficiently generic.
4588 Mark possible directions of events and serialization.
4590 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
4591 (_gst_message_copy), (gst_message_new_segment_start),
4592 (gst_message_new_segment_done), (gst_message_new_custom),
4593 (gst_message_parse_segment_start),
4594 (gst_message_parse_segment_done):
4597 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
4598 (gst_pad_set_caps), (gst_pad_send_event):
4599 Update for new events.
4600 Catch events sent in wrong directions.
4602 * gst/gstqueue.c: (gst_queue_link_src),
4603 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
4604 (gst_queue_handle_src_query):
4609 Remove event code from this file.
4611 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4612 (gst_dp_event_from_packet):
4615 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4617 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
4618 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
4619 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
4620 Make debugging actually useful.
4622 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4624 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
4625 (gst_pad_fixate_caps):
4626 Implement default fixation once again, so that gst_pad_fixate()
4627 actually does anything at all. This probably needs to be some
4628 sort of a last resort, and use profile-based fixation first, but
4629 since that doesn't exist yet, this is the best we have. Fixes
4630 visualization in Totem.
4632 2005-07-22 Wim Taymans <wim@fluendo.com>
4634 * docs/design/part-events.txt:
4637 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4638 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
4639 (gst_base_sink_activate_pull):
4642 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
4643 (gst_fake_src_create):
4644 Fix handoff marshall.
4646 * gst/elements/gstidentity.c: (gst_identity_class_init),
4647 (gst_identity_transform_ip):
4648 We're a real inplace element.
4650 * gst/gstbus.c: (gst_bus_post):
4651 Added some comments.
4653 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
4654 * tests/muxing/case1.c: (main):
4655 * tests/sched/dynamic-pipeline.c: (main):
4656 * tests/sched/interrupt1.c: (main):
4657 * tests/sched/interrupt2.c: (main):
4658 * tests/sched/interrupt3.c: (main):
4659 * tests/sched/runxml.c: (main):
4660 * tests/sched/sched-stress.c: (main):
4661 * tests/seeking/seeking1.c: (event_received), (main):
4662 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
4664 * tests/threadstate/threadstate3.c: (main):
4665 * tests/threadstate/threadstate4.c: (main):
4666 * tests/threadstate/threadstate5.c: (main):
4669 2005-07-21 Wim Taymans <wim@fluendo.com>
4671 * docs/design/part-seeking.txt:
4672 Some small additions.
4674 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4675 (gst_base_sink_get_times), (gst_base_sink_do_sync),
4676 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
4677 * gst/base/gstbasesink.h:
4678 discont values are gint64, handle the math correctly.
4680 * gst/base/gstbasesrc.c: (gst_base_src_loop):
4681 Make the basesrc report error if the source pad is not linked.
4683 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4684 (gst_queue_loop), (gst_queue_handle_src_query),
4685 (gst_queue_src_activate_push):
4686 Make queue collect data even if the srcpad is not linked.
4687 Start pushing out data as soon as it is linked.
4689 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
4691 Added gst_flow_get_name() to ease error reporting.
4693 2005-07-20 Wim Taymans <wim@fluendo.com>
4695 * gst/gstmessage.c: (gst_message_new_segment_start),
4696 (gst_message_new_segment_done), (gst_message_parse_segment_start),
4697 (gst_message_parse_segment_done):
4699 Added a bunch of messages for advanced seeking.
4701 * gst/parse/grammar.y:
4702 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
4703 (gst_dpman_state_changed):
4704 Fix some new-pad -> pad-added signals
4706 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4708 * docs/manual/appendix-porting.xml:
4709 * docs/pwg/appendix-porting.xml:
4710 Document new-pad/state-change signal renames and the FixedList
4713 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4715 * docs/manual/advanced-autoplugging.xml:
4716 * docs/manual/basics-helloworld.xml:
4717 * docs/manual/basics-pads.xml:
4718 * docs/random/ds/0.9-suggested-changes:
4719 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
4724 * gst/gststructure.c: (gst_structure_value_get_generic_type),
4725 (gst_structure_parse_array), (gst_structure_parse_value):
4726 * gst/gstvalue.c: (gst_type_is_fixed),
4727 (gst_value_list_prepend_value), (gst_value_list_append_value),
4728 (gst_value_list_get_size), (gst_value_list_get_value),
4729 (gst_value_transform_array_string), (gst_value_serialize_array),
4730 (gst_value_deserialize_array), (gst_value_intersect_array),
4731 (gst_value_is_fixed), (_gst_value_initialize):
4733 GstElement::new-pad -> pad-added, GstElement::state-change ->
4734 state-changed, GstValueFixedList -> GstValueArray, add format and
4735 flags as their own arguments in gst_element_seek() (should improve
4736 "bindeability"), remove function generators since they don't work
4737 under a whole bunch of compilers (they were deprecated already
4740 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4742 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
4743 (_gst_debug_register_funcptr):
4745 Fix illegal cast on some platforms (#309253).
4747 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4749 * gst/gstmessage.c: (gst_message_new_custom):
4751 Add _new_custom, make _new_application a macro to _new_custom.
4753 2005-07-20 Wim Taymans <wim@fluendo.com>
4755 * gst/base/gstbasesrc.c: (gst_base_src_init),
4756 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4757 * gst/base/gstbasesrc.h:
4758 Add a gboolean to decide when to push out a discont.
4760 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4761 (gst_queue_loop), (gst_queue_handle_src_query),
4762 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
4763 (gst_queue_set_property), (gst_queue_get_property):
4766 * tests/threadstate/threadstate1.c: (main):
4767 Make a thread test compile and run... very silly..
4770 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4772 * docs/manual/appendix-porting.xml:
4773 Mention removal of libgstgconf-0.9.la and existence of gconf
4776 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4778 * docs/pwg/advanced-clock.xml:
4779 * docs/pwg/appendix-porting.xml:
4780 * docs/pwg/intro-preface.xml:
4781 * docs/pwg/other-base.xml:
4782 * docs/pwg/other-manager.xml:
4783 * docs/pwg/other-nton.xml:
4784 * docs/pwg/other-ntoone.xml:
4785 * docs/pwg/other-oneton.xml:
4787 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
4788 demuxer), remove n-to-n (was never written), fix some code examples
4789 and links and update the porting section to include all this.
4791 2005-07-19 Wim Taymans <wim@fluendo.com>
4793 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
4794 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
4795 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
4796 (gst_queue_src_activate_push), (gst_queue_change_state),
4797 (gst_queue_get_property):
4799 Propagate GstFlowReturn more intelligently upstream and output
4800 an ERROR/EOS when streaming stopped due to fatal error.
4802 2005-07-19 Wim Taymans <wim@fluendo.com>
4804 * tools/gst-launch.c: (check_intr), (event_loop), (main):
4805 Don't block forever for the state change to complete, the
4806 pipeline already did with a sensible timeout.
4808 2005-07-19 Wim Taymans <wim@fluendo.com>
4810 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4811 Make sure we never call the create function is we
4814 2005-07-19 Andy Wingo <wingo@pobox.com>
4816 * gst/parse/parse.l: Attempt to solve bug #172815.
4818 2005-07-19 Wim Taymans <wim@fluendo.com>
4820 * docs/design/part-clocks.txt:
4821 * docs/design/part-events.txt:
4822 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
4824 Only update the seeking values when we are not
4827 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
4829 * gst/base/gstbasesrc.c: (gst_base_src_loop):
4830 Oops, ignore the result of gst_pad_push_event here.
4832 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
4834 * gst/base/gstbasesrc.c: (gst_base_src_loop),
4835 (gst_base_src_activate_push):
4836 Send discont event from the loop function, as pads
4837 aren't activated yet in the activate_push handler.
4839 * gst/gstbin.c: (bin_bus_handler):
4840 Don't leak element name.
4842 2005-07-18 Andy Wingo <wingo@pobox.com>
4844 * configure.ac: Use AS_LIBTOOL_TAGS.
4846 2005-07-18 Wim Taymans <wim@fluendo.com>
4848 * docs/gst/gstreamer.types:
4849 Remove deleted types.
4851 2005-07-18 Wim Taymans <wim@fluendo.com>
4853 * check/elements/gstfakesrc.c: (GST_START_TEST):
4856 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
4857 (init_popt_callback):
4859 * gst/gst_private.h:
4860 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
4861 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
4864 * gst/gstconfig.h.in:
4865 * gst/gstelement.c: (gst_element_class_init),
4866 (gst_element_set_base_time), (gst_element_get_base_time),
4867 (iterator_fold_with_resync), (gst_element_change_state),
4868 (gst_element_dispose), (gst_element_get_bus):
4870 * gst/gstelementfactory.h:
4871 * gst/gsterror.c: (_gst_core_errors_init):
4874 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
4876 * gst/gstinfo.c: (_gst_debug_init):
4877 * gst/gstmessage.c: (_gst_message_copy):
4879 * gst/gstminiobject.h:
4882 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
4883 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
4886 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
4887 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
4888 (gst_pipeline_get_last_stream_time):
4889 * gst/gstpipeline.h:
4890 * gst/gstpluginfeature.h:
4892 * gst/gstscheduler.c:
4893 * gst/gstscheduler.h:
4894 * gst/gststructure.h:
4895 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4896 (gst_task_finalize), (gst_task_func), (gst_task_create),
4897 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
4898 (gst_task_stop), (gst_task_pause):
4900 * gst/gsttypefind.h:
4902 * gst/registries/gstlibxmlregistry.c: (load_feature),
4903 (gst_xml_registry_load), (gst_xml_registry_save_feature):
4904 * gst/registries/gstxmlregistry.c:
4905 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
4906 * gst/schedulers/threadscheduler.c:
4907 * libs/gst/control/dparammanager.h:
4908 * tools/gst-inspect.c: (print_element_list),
4909 (print_plugin_features), (print_element_features):
4910 * tools/gst-xmlinspect.c: (print_element_list),
4911 (print_plugin_info), (main):
4912 Removed plugable schedulers.
4913 Removed Scheduler/Manager from elements.
4914 Removed gsttypes.h, rearranged includes.
4915 Removed dependency pad<->element, element<>pipeline, and
4916 various others, fix includes.
4917 implement gst_pad_get_parent() with gst_object_get_parent()
4918 Make GstTask sefcontained.
4919 Fix _get_state() on GstBin, it did not return ASYNC with a 0
4921 Fix endless loop in iterator_fold_with_resync.
4924 2005-07-18 Wim Taymans <wim@fluendo.com>
4930 2005-07-18 Wim Taymans <wim@fluendo.com>
4935 2005-07-18 Wim Taymans <wim@fluendo.com>
4941 2005-07-18 Wim Taymans <wim@fluendo.com>
4943 * docs/design/part-dynamic.txt:
4944 * docs/design/part-events.txt:
4945 * docs/design/part-seeking.txt:
4946 Some more docs in the works.
4948 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
4949 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
4950 (gst_base_transform_setcaps), (gst_base_transform_get_size),
4951 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
4952 (gst_base_transform_handle_buffer),
4953 (gst_base_transform_sink_activate_push),
4954 (gst_base_transform_src_activate_pull),
4955 (gst_base_transform_set_passthrough),
4956 (gst_base_transform_is_passthrough):
4959 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
4962 * gst/gstevent.c: (gst_event_finalize):
4965 * gst/gstutils.c: (gst_element_unlink),
4966 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
4967 (gst_pad_proxy_setcaps):
4969 Add _get_parent_element() to get a pads parent as an element.
4971 2005-07-18 Wim Taymans <wim@fluendo.com>
4973 * check/gst/gstbin.c: (GST_START_TEST):
4976 2005-07-18 Wim Taymans <wim@fluendo.com>
4978 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
4979 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
4980 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
4981 (gst_base_sink_event), (gst_base_sink_do_sync),
4982 (gst_base_sink_chain), (gst_base_sink_loop),
4983 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
4984 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
4986 Fix logic for returning ASYNC when not prerolled.
4988 2005-07-18 Wim Taymans <wim@fluendo.com>
4990 * gst/gstqueue.c: (gst_queue_handle_sink_event):
4991 Fix nasty refcount bug.
4993 2005-07-16 Philippe Khalaf <burger@speedy.org>
4995 * gst/elements/gstfdsrc.c:
4996 * gst/elements/gstfdsrc.h:
4997 * gst/elements/gstelements.c:
4998 * gst/elements/Makefile.am:
4999 Ported fdsrc to 0.9.
5001 2005-07-16 Wim Taymans <wim@fluendo.com>
5003 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5004 (gst_base_sink_do_sync):
5007 2005-07-16 Wim Taymans <wim@fluendo.com>
5009 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5010 (gst_base_sink_event), (gst_base_sink_get_times),
5011 (gst_base_sink_do_sync), (gst_base_sink_change_state):
5012 * gst/base/gstbasesink.h:
5013 Store and use discont values when syncing buffers as described
5016 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5017 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
5018 (gst_base_src_activate_push):
5019 Push discont event when starting.
5021 * gst/elements/gstidentity.c: (gst_identity_transform):
5024 * gst/gstbin.c: (gst_bin_change_state):
5025 Small cleanups in base_time distribution.
5027 * gst/gstelement.c: (gst_element_set_base_time),
5028 (gst_element_get_base_time), (gst_element_change_state):
5030 Added methods for the base_time of the element.
5033 * gst/gstpipeline.c: (gst_pipeline_send_event),
5034 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
5035 (gst_pipeline_get_last_stream_time):
5036 * gst/gstpipeline.h:
5038 Handle seeking as described in design doc, remove stream_time
5040 Cleanups clock and stream_time selection code. Added accessors
5041 for the stream_time.
5044 2005-07-16 Andy Wingo <wingo@pobox.com>
5046 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
5049 2005-07-16 Wim Taymans <wim@fluendo.com>
5051 * check/gst/gstbin.c: (GST_START_TEST):
5052 Make elements silent as the deep_notify refs the
5053 parent, which might make the test fail.
5055 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
5056 Don't hold the lock for too long.
5058 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
5060 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5061 Don't unref the caps we passed to gst_caps_make_writable() after
5062 passing them. gst_caps_make_writable() will do that for us.
5064 2005-07-15 Andy Wingo <wingo@pobox.com>
5066 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
5069 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
5070 own marshalling function for the handoff signal. Properly type the
5071 buffer as a buffer. Fixes some warnings. Should do a more general
5073 (gst_identity_class_init): Plug into the right marshaller.
5075 2005-07-15 Wim Taymans <wim@fluendo.com>
5077 * docs/design/part-TODO.txt:
5078 * docs/design/part-clocks.txt:
5079 * docs/design/part-element-sink.txt:
5080 * docs/design/part-events.txt:
5081 * docs/design/part-gstpipeline.txt:
5082 Updated docs, mostly DISCONT related.
5084 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
5086 * docs/pwg/building-pads.xml:
5087 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
5089 2005-07-15 Andy Wingo <wingo@pobox.com>
5091 * tools/gst-typefind.c: Update, add copyright block.
5093 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
5094 Normalize and truncate caps before fixation.
5097 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
5098 discards all but the first structure from its argument.
5100 2005-07-15 Wim Taymans <wim@fluendo.com>
5102 * gst/base/gstbasetransform.c: (gst_base_transform_init),
5103 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
5104 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5105 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
5106 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
5107 (gst_base_transform_chain), (gst_base_transform_change_state),
5108 (gst_base_transform_set_passthrough),
5109 (gst_base_transform_is_passthrough):
5110 * gst/base/gstbasetransform.h:
5111 Make passthrough work using the bufferpools.
5112 Changed API a bit, subclasses have to write into a buffer
5113 provided by the base class.
5114 More debug info in nego functions.
5116 * gst/elements/gstidentity.c: (gst_identity_init),
5117 (gst_identity_transform):
5118 Port to new base class.
5120 2005-07-15 Wim Taymans <wim@fluendo.com>
5122 * gst/gstmessage.c: (gst_message_new_state_changed):
5123 * tools/gst-launch.c: (event_loop), (main):
5124 Totally dump messages in -launch with the -m option.
5125 Fix message name for State messages,
5127 2005-07-14 Wim Taymans <wim@fluendo.com>
5129 * gst/base/gstbasesrc.c: (gst_base_src_loop):
5130 Post error messages on errors.
5132 2005-07-14 Wim Taymans <wim@fluendo.com>
5134 * gst/gstcaps.c: (gst_caps_do_simplify):
5138 Define error for stream stopped.
5140 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
5141 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
5142 Do proper return values.
5144 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
5145 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
5146 (gst_pad_get_range):
5147 Better return values.
5150 Reorganise return values, add macro to check for fatal errors.
5152 * gst/gstqueue.c: (gst_queue_chain):
5153 Return proper GstFlowReturn values,
5155 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
5157 * docs/gst/gstreamer-sections.txt:
5158 * docs/gst/gstreamer.types:
5159 * docs/gst/tmpl/gst.sgml:
5160 * docs/gst/tmpl/gstbasesink.sgml:
5161 * docs/gst/tmpl/gstbasesrc.sgml:
5162 * docs/gst/tmpl/gstbasetransform.sgml:
5163 * docs/gst/tmpl/gstbin.sgml:
5164 * docs/gst/tmpl/gstbuffer.sgml:
5165 * docs/gst/tmpl/gstcaps.sgml:
5166 * docs/gst/tmpl/gstclock.sgml:
5167 * docs/gst/tmpl/gstcompat.sgml:
5168 * docs/gst/tmpl/gstconfig.sgml:
5169 * docs/gst/tmpl/gstelement.sgml:
5170 * docs/gst/tmpl/gstelementdetails.sgml:
5171 * docs/gst/tmpl/gstelementfactory.sgml:
5172 * docs/gst/tmpl/gstenumtypes.sgml:
5173 * docs/gst/tmpl/gsterror.sgml:
5174 * docs/gst/tmpl/gstevent.sgml:
5175 * docs/gst/tmpl/gstfakesink.sgml:
5176 * docs/gst/tmpl/gstfakesrc.sgml:
5177 * docs/gst/tmpl/gstfilesink.sgml:
5178 * docs/gst/tmpl/gstfilesrc.sgml:
5179 * docs/gst/tmpl/gstfilter.sgml:
5180 * docs/gst/tmpl/gstformat.sgml:
5181 * docs/gst/tmpl/gstghostpad.sgml:
5182 * docs/gst/tmpl/gstimplementsinterface.sgml:
5183 * docs/gst/tmpl/gstindex.sgml:
5184 * docs/gst/tmpl/gstindexfactory.sgml:
5185 * docs/gst/tmpl/gstinfo.sgml:
5186 * docs/gst/tmpl/gstiterator.sgml:
5187 * docs/gst/tmpl/gstmacros.sgml:
5188 * docs/gst/tmpl/gstmemchunk.sgml:
5189 * docs/gst/tmpl/gstminiobject.sgml:
5190 * docs/gst/tmpl/gstobject.sgml:
5191 * docs/gst/tmpl/gstpad.sgml:
5192 * docs/gst/tmpl/gstpadtemplate.sgml:
5193 * docs/gst/tmpl/gstparse.sgml:
5194 * docs/gst/tmpl/gstpipeline.sgml:
5195 * docs/gst/tmpl/gstplugin.sgml:
5196 * docs/gst/tmpl/gstpluginfeature.sgml:
5197 * docs/gst/tmpl/gstquery.sgml:
5198 * docs/gst/tmpl/gstqueue.sgml:
5199 * docs/gst/tmpl/gstregistry.sgml:
5200 * docs/gst/tmpl/gstregistrypool.sgml:
5201 * docs/gst/tmpl/gstscheduler.sgml:
5202 * docs/gst/tmpl/gstschedulerfactory.sgml:
5203 * docs/gst/tmpl/gststructure.sgml:
5204 * docs/gst/tmpl/gstsystemclock.sgml:
5205 * docs/gst/tmpl/gsttaglist.sgml:
5206 * docs/gst/tmpl/gsttagsetter.sgml:
5207 * docs/gst/tmpl/gsttrace.sgml:
5208 * docs/gst/tmpl/gsttrashstack.sgml:
5209 * docs/gst/tmpl/gsttypefind.sgml:
5210 * docs/gst/tmpl/gsttypefindfactory.sgml:
5211 * docs/gst/tmpl/gsttypes.sgml:
5212 * docs/gst/tmpl/gsturihandler.sgml:
5213 * docs/gst/tmpl/gsturitype.sgml:
5214 * docs/gst/tmpl/gstutils.sgml:
5215 * docs/gst/tmpl/gstvalue.sgml:
5216 * docs/gst/tmpl/gstversion.sgml:
5217 * docs/gst/tmpl/gstxml.sgml:
5218 * docs/libs/tmpl/gstcontrol.sgml:
5219 * docs/libs/tmpl/gstdataprotocol.sgml:
5220 * docs/libs/tmpl/gstdparam.sgml:
5221 * docs/libs/tmpl/gstdplinint.sgml:
5222 * docs/libs/tmpl/gstdpman.sgml:
5223 * docs/libs/tmpl/gstdpsmooth.sgml:
5224 * docs/libs/tmpl/gstgetbits.sgml:
5225 * docs/libs/tmpl/gstunitconvert.sgml:
5226 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
5227 (gst_push_src_base_init), (gst_push_src_class_init),
5228 (gst_push_src_init), (gst_push_src_create):
5229 * gst/base/gstpushsrc.h:
5230 * gst/elements/gstelements.c:
5231 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
5232 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
5233 (gst_fake_sink_init), (gst_fake_sink_set_property),
5234 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
5235 (gst_fake_sink_event), (gst_fake_sink_preroll),
5236 (gst_fake_sink_render), (gst_fake_sink_change_state):
5237 * gst/elements/gstfakesink.h:
5238 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5239 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5240 (gst_fake_src_base_init), (gst_fake_src_class_init),
5241 (gst_fake_src_init), (gst_fake_src_event_handler),
5242 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
5243 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
5244 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
5245 (gst_fake_src_create_buffer), (gst_fake_src_create),
5246 (gst_fake_src_start), (gst_fake_src_stop):
5247 * gst/elements/gstfakesrc.h:
5248 * gst/elements/gstfilesink.c: (_do_init),
5249 (gst_file_sink_base_init), (gst_file_sink_class_init),
5250 (gst_file_sink_init), (gst_file_sink_dispose),
5251 (gst_file_sink_set_location), (gst_file_sink_set_property),
5252 (gst_file_sink_get_property), (gst_file_sink_open_file),
5253 (gst_file_sink_close_file), (gst_file_sink_query),
5254 (gst_file_sink_event), (gst_file_sink_render),
5255 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
5256 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
5257 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
5258 * gst/elements/gstfilesink.h:
5259 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
5260 (gst_file_src_class_init), (gst_file_src_init),
5261 (gst_file_src_finalize), (gst_file_src_set_location),
5262 (gst_file_src_set_property), (gst_file_src_get_property),
5263 (gst_file_src_map_region), (gst_file_src_map_small_region),
5264 (gst_file_src_create_mmap), (gst_file_src_create_read),
5265 (gst_file_src_create), (gst_file_src_is_seekable),
5266 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
5267 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
5268 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
5269 (gst_file_src_uri_handler_init):
5270 * gst/elements/gstfilesrc.h:
5271 more autistic cleanliness in functions/names/defines
5273 2005-07-13 Andy Wingo <wingo@pobox.com>
5275 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
5276 source couldn't negotiate.
5278 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
5282 * gst/gstutils.c (gst_element_link_pads_filtered): New old
5283 function. I am channeling Hades. Put your boots on suckers!!!
5285 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
5287 * testsuite/caps/Makefile.am:
5288 * testsuite/caps/value_compare.c:
5289 * testsuite/caps/value_intersect.c:
5290 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5291 move two testsuite apps over to the check dir
5293 2005-07-12 Wim Taymans <wim@fluendo.com>
5295 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
5296 Added more debug info in the negotiate process.
5299 Prepare for segment playback.
5301 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
5307 * tools/gst-launch.c: (main):
5308 NULL pipeline on errors.
5310 2005-07-12 Andy Wingo <wingo@pobox.com>
5312 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
5313 not it comes from a malloc region. Make sure our copy gets freed.
5315 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
5317 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5318 * check/gst/gstmessage.c: (GST_START_TEST):
5319 * check/gst/gststructure.c: (GST_START_TEST),
5320 (gst_structure_suite), (main):
5322 * gst/gstelement.c: (gst_element_message_full):
5323 clean up GError and debug string now that they get copied
5324 * gst/gstmessage.c: (gst_message_new_error),
5325 (gst_message_new_warning), (gst_message_parse_error),
5326 (gst_message_parse_warning):
5327 use GST_TYPE_G_ERROR for structure_new, and take copies of
5328 arguments, so that we don't mess up refcounting
5330 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
5332 * check/Makefile.am:
5333 add per-test valgrind targets
5334 * check/gst-libs/gdp.c: (GST_START_TEST),
5335 (gst_data_protocol_suite), (main):
5338 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
5340 * check/Makefile.am:
5341 instate more valgrindable tests
5342 * check/elements/gstfakesrc.c: (chain_func), (event_func),
5343 (GST_START_TEST), (fakesrc_suite):
5344 * check/gst/gstpad.c: (GST_START_TEST):
5345 * check/gst/gststructure.c: (GST_START_TEST):
5347 * docs/gst/tmpl/gstminiobject.sgml:
5348 * gst/gstpad.c: (gst_pad_finalize):
5349 fix the static mutex leak
5351 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
5353 * check/Makefile.am:
5354 add two more tests for valgrinding
5355 * check/gst/gstvalue.c: (GST_START_TEST):
5356 test refcount of deserialized buffer, found a leak
5357 * docs/gst/gstreamer-docs.sgml:
5358 * docs/gst/gstreamer-sections.txt:
5359 * docs/gst/gstreamer.types:
5360 * docs/gst/tmpl/gstminiobject.sgml:
5361 add miniobject to docs
5362 * gst/gstminiobject.c:
5364 * gst/gstvalue.c: (gst_value_deserialize_buffer),
5365 (gst_string_unwrap):
5366 fix a hard-to-find invalid write for one of the tests
5367 fix a leak for deserialized buffers
5369 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5371 * docs/pwg/advanced-events.xml:
5372 * docs/pwg/advanced-request.xml:
5373 * docs/pwg/advanced-scheduling.xml:
5374 * docs/pwg/appendix-porting.xml:
5375 * docs/pwg/building-boiler.xml:
5376 * docs/pwg/intro-preface.xml:
5377 * docs/pwg/other-ntoone.xml:
5378 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
5379 of example code and explanation for pad activation, loop() and
5380 getrange() functions and a bit more. Remove old comments pointing
5382 * examples/pwg/Makefile.am:
5383 Add loop/getrange examples.
5385 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
5388 check for valgrind binary + some fixes
5390 valgrind suppressions for the tests
5391 * check/Makefile.am:
5392 add a valgrind: target that valgrinds the unit tests
5393 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
5394 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
5395 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5396 * check/gst/gstghostpad.c:
5398 * check/gst/gstdata.c:
5400 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
5401 (thread_unref), (gst_mini_object_suite), (main):
5403 * gst/gst.c: (gst_deinit):
5405 add a method to clean up.
5406 * gst/gstsystemclock.c: (gst_system_clock_dispose),
5407 (gst_system_clock_obtain):
5408 allow for disposing the system clock.
5409 * tools/gst-launch.c: (main):
5412 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
5414 * docs/gst/tmpl/gstbasesrc.sgml:
5415 * docs/gst/tmpl/gstfakesrc.sgml:
5416 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5417 (gst_base_src_init), (gst_base_src_set_property),
5418 (gst_base_src_get_property), (gst_base_src_get_range),
5419 (gst_base_src_start):
5420 * gst/base/gstbasesrc.h:
5421 add num-buffers property
5422 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5423 (gst_fakesrc_init), (gst_fakesrc_set_property),
5424 (gst_fakesrc_get_property), (gst_fakesrc_create),
5425 (gst_fakesrc_start):
5426 remove num-buffers property
5428 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
5430 * docs/gst/gstreamer-sections.txt:
5431 * docs/gst/tmpl/gstbasesink.sgml:
5432 * docs/gst/tmpl/gstbasesrc.sgml:
5433 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
5434 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
5435 (gst_base_sink_finalize), (gst_base_sink_set_clock),
5436 (gst_base_sink_set_property), (gst_base_sink_get_property),
5437 (gst_base_sink_handle_object), (gst_base_sink_event),
5438 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5439 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
5440 (gst_base_sink_loop), (gst_base_sink_deactivate),
5441 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
5442 (gst_base_sink_change_state):
5443 * gst/base/gstbasesink.h:
5444 * gst/base/gstbasesrc.h:
5445 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
5446 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
5447 (gst_filesink_init):
5448 more macro splitting
5450 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
5452 * gst/gstelement.c: (gst_element_get_bus):
5454 * tools/gst-launch.c: (check_intr), (event_loop):
5457 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
5459 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
5462 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
5464 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5465 (gst_base_src_finalize):
5466 add finalize method and clean up properly
5467 * gst/gstpipeline.c: (gst_pipeline_dispose):
5470 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
5472 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
5474 add more things to check
5475 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
5479 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
5481 * check/elements/gstfakesrc.c: (chain_func), (event_func),
5482 (GST_START_TEST), (fakesrc_suite):
5483 * check/gst-libs/gdp.c: (GST_START_TEST):
5484 * check/gst/gst.c: (GST_START_TEST):
5485 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5486 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5487 * check/gst/gstbus.c: (GST_START_TEST):
5488 * check/gst/gstcaps.c: (GST_START_TEST):
5489 * check/gst/gstdata.c: (GST_START_TEST):
5490 * check/gst/gstelement.c: (GST_START_TEST):
5491 * check/gst/gstghostpad.c: (GST_START_TEST):
5492 * check/gst/gstiterator.c: (GST_START_TEST):
5493 * check/gst/gstmessage.c: (GST_START_TEST):
5494 * check/gst/gstobject.c: (GST_START_TEST):
5495 * check/gst/gstpad.c: (GST_START_TEST):
5496 * check/gst/gststructure.c: (GST_START_TEST):
5497 * check/gst/gstsystemclock.c: (GST_START_TEST),
5498 (gst_systemclock_suite):
5499 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5500 * check/gst/gstvalue.c: (GST_START_TEST):
5501 * check/pipelines/cleanup.c: (GST_START_TEST):
5502 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5503 * check/states/sinks.c: (GST_START_TEST):
5504 * check/gstcheck.c: (gst_check_init):
5506 add debugging category
5507 use GST_START_TEST now, so we add a debug line
5509 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
5511 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
5512 add test for state change message on a bin
5513 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
5515 * gst/gstbin.c: (gst_bin_init):
5516 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
5517 * gst/gstelement.c: (gst_element_post_message),
5518 (gst_element_set_state):
5519 * gst/gstelementfactory.c: (gst_element_factory_create):
5520 * gst/gstmessage.c: (gst_message_new):
5521 * gst/gstscheduler.c:
5522 various debugging additions and cleanups
5524 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
5526 * check/Makefile.am:
5527 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
5529 adding tests for elements
5530 * gst/gstelement.c: (gst_element_dispose):
5532 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
5534 * gst/registries/gstlibxmlregistry.c: (load_feature):
5535 plug more leaks. A simple gst_init() now is leakfree, yay.
5537 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
5539 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
5540 (gst_xml_registry_load):
5541 plug another memleak
5543 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
5546 use GST_SET_ERROR_CFLAGS
5548 change to ERROR_CFLAGS
5550 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
5553 make GST_ERROR_CFLAGS overridable and re-enable Werror
5555 add a note about error CFLAGS
5556 * docs/gst/tmpl/gstfakesrc.sgml:
5557 * gst/elements/gstfakesrc.c:
5558 comment out some unused code
5559 * gst/gst.c: (split_and_iterate):
5560 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
5564 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
5566 * common/Makefile.am:
5567 * common/gtk-doc.mak:
5568 * docs/gst/Makefile.am:
5569 factor out gtk-doc.mak
5571 2005-07-07 Wim Taymans <wim@fluendo.com>
5573 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
5574 (gst_thread_scheduler_dispose):
5575 Unlock the STREAM_LOCK completely.
5577 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
5579 * check/Makefile.am:
5580 * check/elements/.cvsignore:
5581 * check/elements/gstfakesrc.c: (chain_func), (event_func),
5582 (START_TEST), (fakesrc_suite), (main):
5583 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5584 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5585 (gst_fakesrc_create), (gst_fakesrc_start):
5586 * gst/elements/gstfakesrc.h:
5587 adding a first element test
5589 2005-07-07 Andy Wingo <wingo@pobox.com>
5591 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
5594 2005-07-07 Wim Taymans <wim@fluendo.com>
5600 2005-07-07 Wim Taymans <wim@fluendo.com>
5602 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5603 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
5604 Allow subclasses to implement their own negotiation.
5606 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
5608 * docs/design/part-gstbin.txt:
5609 * docs/design/part-gstpipeline.txt:
5610 Update design notes to reflect the movement of
5611 responsibility for bus handling from GstPipeline to
5614 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
5617 Remove unnecessary queue2/3/4 examples.
5619 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
5621 * examples/Makefile.am:
5622 * examples/helloworld/helloworld.c: (event_loop), (main):
5623 * examples/queue/queue.c: (event_loop), (main):
5624 * examples/queue2/queue2.c: (main):
5625 Update a couple of the examples to work again.
5627 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5628 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
5629 Spelling corrections and extra debug.
5631 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
5632 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
5633 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
5635 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
5636 (gst_pipeline_change_state):
5637 * gst/gstpipeline.h:
5638 Move the bus handler for children to the GstBin, and create a
5639 separate bus for receiving messages from children to the one the
5640 bus sends 'upwards' on.
5642 2005-07-06 Wim Taymans <wim@fluendo.com>
5645 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5646 (gst_base_sink_handle_object), (gst_base_sink_loop),
5647 (gst_base_sink_change_state):
5648 * gst/base/gstbasesink.h:
5649 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5650 (gst_base_src_init), (gst_base_src_setcaps),
5651 (gst_base_src_getcaps), (gst_base_src_loop),
5652 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
5653 (gst_base_src_start), (gst_base_src_change_state):
5654 * gst/base/gstbasesrc.h:
5655 Make basesrc negotiate.
5656 Handle the case where preroll fails in basesink.
5659 2005-07-06 Wim Taymans <wim@fluendo.com>
5661 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
5662 Implement the fixate function.
5663 Clean up acceptcaps.
5665 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5667 * docs/pwg/building-filterfactory.xml:
5669 Remove never-written filter-factory chapter; I'll add the various
5670 base classes to part 4 ("other element types") later on.
5672 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5674 * docs/pwg/advanced-negotiation.xml:
5675 * docs/pwg/building-boiler.xml:
5676 * docs/pwg/building-pads.xml:
5678 * examples/pwg/Makefile.am:
5679 Add a chapter on caps negotiation, simplify the original code
5680 samples a bit w.r.t. caps negotiation, add link to the advanced
5681 section. Add a bunch of examples showing different use cases of
5682 different types of caps negotiation. Upstream renegotiation isn't
5683 fully documented yet since nobody knows how that works.
5685 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
5687 * check/gst/gstpad.c:
5689 * gst/gstpad.c: (gst_pad_get_internal_links_default):
5690 if pad has no parent, return NULL as list of internal links
5692 2005-07-05 Andy Wingo <wingo@pobox.com>
5694 * gst/elements/gstfilesrc.c:
5695 * gst/elements/gstfakesrc.c:
5696 * gst/base/gstpushsrc.c:
5697 * gst/base/gstbasesrc.h:
5698 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
5700 2005-07-05 Stefan Kost <ensonic@users.sf.net>
5703 better report generation target (lcov needs a patch)
5705 2005-07-05 Andy Wingo <wingo@pobox.com>
5707 * gst/elements, testsuite: Null if we got it...
5709 2005-07-05 Wim Taymans <wim@fluendo.com>
5712 * libs/gst/dataprotocol/Makefile.am:
5713 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
5714 * libs/gst/dataprotocol/dataprotocol.h:
5715 * pkgconfig/Makefile.am:
5716 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
5717 * pkgconfig/gstreamer-dataprotocol.pc.in:
5718 Ported dataprotol to 0.9.
5719 Added pkgconfig files.
5721 2005-07-05 Andy Wingo <wingo@pobox.com>
5723 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
5724 Default to returning TRUE for the case when tranform_caps returns
5725 a fixed caps, like for identity or volume.
5727 * check/gst/gstbus.c (pound_bus_with_messages):
5728 * check/gst/gstmessage.c (START_TEST):
5729 * check/pipelines/simple_launch_lines.c (got_handoff): Application
5732 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
5733 logic weaks here: always run transform_caps, trying passthrough
5734 operation only if the original caps intersects with the transform.
5736 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
5737 source and sink caps.
5739 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
5740 Intersect the peer caps with the pad template before going into
5742 (gst_base_transform_transform_caps): More debugging.
5744 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
5747 2005-07-04 Edward Hervey <edward@fluendo.com>
5751 (gst_pad_add_*_probe): now returns the signal id for better wrapping
5754 2005-07-04 Andy Wingo <wingo@pobox.com>
5756 * check/gst/gstpad.c: Only set explicit caps on pads.
5758 2005-07-01 Andy Wingo <wingo@pobox.com>
5760 * tests/network-clock.scm: Commentary update.
5762 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
5763 Didn't really make sense, not implementable with basetransform,
5765 (gst_identity_transform): Unref inbuf via make_writable. Feeble
5766 attempt at implementing the sync property, needs an unlock method.
5768 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
5769 New func, by default returns the same caps (the identity
5771 (gst_base_transform_getcaps): Uses transform_caps to return
5773 (gst_base_transform_setcaps): Complicated logic to get caps on
5774 both pads, even if they are different, and to call set_caps once
5775 for every time both pads get their caps set.
5776 (gst_base_transform_handle_buffer): Give the ref to the transform
5777 function. Allows in-place modification of the buffer.
5779 * gst/base/gstbasetransform.h (transform_caps): New class method.
5780 Given caps on one side, what can I do on the other.
5781 (set_caps): Take two caps, one for each side of the element.
5784 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
5785 caps in place. This is safe because we can check the mutability of
5786 the caps, and a good idea because fixate functions are just called
5787 as a matter of last resort. (Not actually implemented.)
5788 (gst_pad_set_caps): If the caps we're setting is actually the same
5789 as the existing pad caps, just update the pointer without calling
5790 setcaps. Assert that caps is either NULL or fixed, as per the
5793 * gst/gstghostpad.c: Update for fixate changes.
5795 2005-07-02 Andy Wingo <wingo@pobox.com>
5798 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
5799 two refcounts makes it immutable, which is enough. Doc more.
5801 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
5803 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
5804 Put the mini_object into GValue as a mini_object,
5805 not a gpointer, since that's how we declared
5808 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5810 * examples/pwg/Makefile.am:
5813 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5815 * docs/pwg/building-testapp.xml:
5817 * examples/pwg/Makefile.am:
5820 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5823 * examples/Makefile.am:
5824 * examples/pwg/Makefile.am:
5825 * examples/pwg/extract.pl:
5826 Enable building the PWG examples.
5827 * docs/pwg/advanced-interfaces.xml:
5828 Add URI interface stub.
5829 * docs/pwg/advanced-types.xml:
5830 * docs/pwg/other-autoplugger.xml:
5831 * docs/pwg/appendix-porting.xml:
5833 Add porting guide (mostly stubs), remove autoplugging (see ADM).
5834 * docs/pwg/building-boiler.xml:
5835 * docs/pwg/building-chainfn.xml:
5836 * docs/pwg/building-pads.xml:
5837 * docs/pwg/building-props.xml:
5838 * docs/pwg/building-state.xml:
5839 * docs/pwg/building-testapp.xml:
5840 Update the building-*.xml parts for 0.9 changes. All examples
5841 code blocks compile in examples/pwg/*.
5843 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5845 * docs/manual/advanced-autoplugging.xml:
5846 * docs/manual/appendix-checklist.xml:
5847 * docs/manual/appendix-integration.xml:
5848 * docs/manual/highlevel-components.xml:
5849 Fix playbin/decodebin examples, update docs a bit, mention bus
5850 instead of signals in various places, mention kmplayer and
5851 kaffeine since they have a working GStreamer backend in the KDE
5854 2005-06-30 Wim Taymans <wim@fluendo.com>
5857 * docs/design/draft-ghostpads.txt:
5858 * docs/design/draft-push-pull.txt:
5859 * docs/design/draft-query.txt:
5860 * docs/design/part-TODO.txt:
5861 * docs/design/part-query.txt:
5862 Added CHANGES-0.9 doc, updated status of other docs.
5867 2005-06-30 Wim Taymans <wim@fluendo.com>
5869 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5870 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
5871 (gst_base_sink_change_state):
5872 * gst/base/gstbasesink.h:
5873 Some tweaks, only EOS and a buffer complete a preroll.
5875 2005-06-30 Andy Wingo <wingo@pobox.com>
5877 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
5878 activate_push down to the internal pad as well.
5880 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
5882 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5884 * gst/gsttaginterface.c:
5885 Some documentation fixes (#307394 and #307397).
5887 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
5889 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5891 * gst/gstvalue.c: (gst_value_intersect_list):
5892 Fix memleak (#309125).
5894 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5896 * docs/manual/advanced-dataaccess.xml:
5897 Fix fakesrc example to compile; doesn't work, bug somewhere...?
5898 * docs/manual/basics-pads.xml:
5899 Add reference for filtered caps to above chapter.
5901 2005-06-30 Wim Taymans <wim@fluendo.com>
5903 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
5904 (gst_bin_change_state):
5906 Lame attempt at making the state change function a bit
5909 2005-06-30 Wim Taymans <wim@fluendo.com>
5911 * docs/design/part-clocks.txt:
5912 * docs/design/part-element-sink.txt:
5913 * docs/design/part-events.txt:
5914 * docs/design/part-preroll.txt:
5915 * docs/design/part-states.txt:
5916 Some more tweeks and additions to the docs.
5918 2005-06-30 Wim Taymans <wim@fluendo.com>
5920 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
5921 (default_have_data), (gst_pad_class_init), (gst_pad_init),
5922 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
5923 (gst_pad_check_pull_range), (gst_pad_get_range),
5924 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
5926 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
5927 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5928 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5929 (gst_pad_remove_buffer_probe):
5930 Removed atomic operations, use existing LOCK.
5931 Move exception handling out of main code path.
5933 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5935 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
5936 (silly_return_true_function), (gst_pad_class_init),
5937 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
5938 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
5939 (gst_pad_send_event):
5940 Fix accumulator, add default value by using _emitv() instead
5941 of _emit() for signal emission.
5943 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5945 * docs/manual/advanced-dataaccess.xml:
5946 * examples/manual/Makefile.am:
5948 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
5951 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
5953 * gst/elements/gstfilesink.c: (gst_filesink_render):
5954 Simplify code so that we don't have to handle short
5955 writes and return GST_FLOW_ERROR if an error occured.
5957 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5959 * docs/gst/gstreamer-docs.sgml:
5962 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5964 * docs/gst/gstreamer-sections.txt:
5965 * docs/gst/tmpl/gstpad.sgml:
5966 * docs/gst/tmpl/gstprobe.sgml:
5968 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
5969 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
5970 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
5971 (gst_pad_push_event), (gst_pad_send_event):
5973 * gst/gstutils.c: (gst_pad_add_data_probe),
5974 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5975 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5976 (gst_pad_remove_buffer_probe):
5978 Remove old probes, add new g-signal-based probes and some utility
5981 2005-06-29 Edward Hervey <edward@fluendo.com>
5983 * gst/gstelementfactory.c:
5986 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
5987 the definition to the header file.
5989 2005-06-29 Andy Wingo <wingo@pobox.com>
5991 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
5992 plugins from the source directory.
5994 2005-06-29 Wim Taymans <wim@fluendo.com>
5996 * docs/gst/tmpl/gstbuffer.sgml:
5997 * docs/gst/tmpl/gstclock.sgml:
5998 Some fixings for blantently wrong text.
6000 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
6002 * check/Makefile.am:
6003 * gst/gst.c: (add_path_func), (init_pre):
6004 * gst/gstregistry.c: (gst_registry_add_path):
6005 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
6006 only scan the GST_PLUGIN_PATH locations, and not add
6009 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
6011 * docs/gst/gstreamer-sections.txt:
6012 * docs/gst/tmpl/gstbasesrc.sgml:
6019 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6021 * docs/manual/advanced-autoplugging.xml:
6022 Fix autoplugging example.
6024 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6026 * docs/manual/advanced-autoplugging.xml:
6027 * docs/manual/mime-world.fig:
6028 Try to get autoplugging working, fix type detection. Fix text
6029 in hello-world image.
6031 2005-06-29 Wim Taymans <wim@fluendo.com>
6033 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6034 (gst_base_sink_change_state):
6038 map SIGNAL and BROADCAST to the right function.
6041 Remove redundant braces.
6043 * gst/gstpad.c: (gst_pad_set_caps):
6044 Don't call setcaps function when reseting caps to NULL.
6046 * gst/gstsystemclock.c: (gst_system_clock_dispose),
6047 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
6048 (gst_system_clock_id_unschedule):
6049 Use BROADCAST as this is what we do.
6051 2005-06-29 Wim Taymans <wim@fluendo.com>
6053 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6054 We are actually prerolling before commiting the state
6057 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6059 * docs/manual/advanced-clocks.xml:
6060 * docs/manual/advanced-interfaces.xml:
6061 * docs/manual/advanced-metadata.xml:
6062 * docs/manual/advanced-position.xml:
6063 * docs/manual/advanced-schedulers.xml:
6064 * docs/manual/advanced-threads.xml:
6065 * docs/manual/appendix-porting.xml:
6066 * docs/manual/basics-bins.xml:
6067 * docs/manual/basics-bus.xml:
6068 * docs/manual/basics-elements.xml:
6069 * docs/manual/basics-helloworld.xml:
6070 * docs/manual/basics-pads.xml:
6071 * docs/manual/highlevel-components.xml:
6072 * docs/manual/manual.xml:
6073 * docs/manual/thread.fig:
6074 Update (until threads/scheduling) Application Development Manual;
6075 remove GstThread, add GstBus, add simple porting checklist, add
6076 documentation for tag writing, clocks, make all examples until this
6077 part compile and run.
6078 * examples/manual/Makefile.am:
6079 Update from changes to Application Development Manual; add bus
6080 example, remove thread example.
6082 2005-06-28 Wim Taymans <wim@fluendo.com>
6084 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
6085 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
6086 (gst_bus_source_dispatch):
6087 Add debugging messages.
6088 Make internal methods static.
6089 Handle the case where the bus is flushed in the handler.
6091 * gst/gstelement.c: (gst_element_get_bus):
6092 Fix refcount in _get_bus();
6094 * gst/gstpipeline.c: (gst_pipeline_change_state),
6095 (gst_pipeline_get_clock_func):
6096 Clock refcounting fixes.
6097 Handle the case where preroll timed out more gracefully.
6099 * gst/gstsystemclock.c: (gst_system_clock_dispose):
6100 Clean up the internal thread in dispose. This is needed
6101 for subclasses that actually get disposed.
6103 * gst/schedulers/threadscheduler.c:
6104 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
6105 (gst_thread_scheduler_dispose):
6106 Free thread pool in dispose.
6108 2005-06-28 Andy Wingo <wingo@pobox.com>
6110 * tests/network-clock-utils.scm (debug, print-event): New utils.
6112 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
6113 (*packet-loss*): Unified loss probability.
6114 (network-time): Report out-of-band events.
6116 * tests/plot-data: Add support for out-of-band events. Hack it
6117 into this script instead of passing it down the pipe; should fix
6120 2005-06-28 Wim Taymans <wim@fluendo.com>
6122 * docs/gst/gstreamer.types:
6123 * docs/gst/tmpl/gstbasesrc.sgml:
6124 * docs/gst/tmpl/gstpad.sgml:
6127 2005-06-28 Wim Taymans <wim@fluendo.com>
6129 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
6130 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
6131 (gst_proxy_pad_do_fixatecaps):
6132 Correctly proxy the check_pull_range function.
6134 2005-06-28 Andy Wingo <wingo@pobox.com>
6136 * tests/network-clock.scm: Removed need for slib.
6138 2005-06-28 Wim Taymans <wim@fluendo.com>
6140 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
6141 (gst_basesink_preroll_queue_flush):
6142 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
6143 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
6144 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
6145 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
6146 (gst_proxy_pad_set_property):
6149 * gst/gstqueue.c: (gst_queue_init):
6150 The deprecated pad loop function is removed now.
6152 2005-06-28 Andy Wingo <wingo@pobox.com>
6154 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
6155 New parameters, simulate network packet loss.
6157 * tests/network-clock-utils.scm: Initialize the RNG.
6159 2005-06-28 Wim Taymans <wim@fluendo.com>
6161 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
6162 (gst_basesink_event), (gst_basesink_deactivate):
6163 Flushing the preroll queue always needs to unlock the waiters.
6165 2005-06-28 Edward Hervey <edward@fluendo.com>
6167 * gst/gstpipeline.c: (gst_pipeline_send_event):
6168 Wheen a seek was successful on a pipeline, set the stream_time to the
6169 seek offset in order to have a synchronized stream_time.
6171 2005-06-28 Wim Taymans <wim@fluendo.com>
6173 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
6174 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
6175 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
6176 (gst_proxy_pad_do_fixatecaps):
6177 Call wrapper function instead of just calling the function
6178 pointers. This takes care of any locking and whatmore.
6180 2005-06-28 Wim Taymans <wim@fluendo.com>
6182 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
6183 (gst_pad_pull_range):
6185 CONNECTED -> LINKED.
6187 2005-06-28 Andy Wingo <wingo@pobox.com>
6189 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
6190 source-munging commit!!!
6192 * gst/gstobject.c (gst_object_unref, gst_object_ref)
6193 (gst_object_sink): Take gpointer arguments, not GstObject --
6194 avoids casts. Like GLib.
6196 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
6199 2005-06-27 Andy Wingo <wingo@pobox.com>
6201 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
6204 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
6205 returns a sorted copy of the trace list.
6206 (gst_alloc_trace_print_live): New API, only prints traces with
6207 live objects. Sort the list.
6208 (gst_alloc_trace_print_all): Sort the list.
6209 (gst_alloc_trace_print): Align columns.
6211 * gst/elements/gstttypefindelement.c:
6212 * gst/elements/gsttee.c:
6213 * gst/base/gstbasesrc.c:
6214 * gst/base/gstbasesink.c:
6215 * gst/base/gstbasetransform.c:
6216 * gst/gstqueue.c: Adapt for pad activation changes.
6218 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
6220 (gst_pipeline_dispose): Drop ref on sched.
6222 * gst/gstpad.c (gst_pad_init): Set the default activate func.
6223 (gst_pad_activate_default): Push mode by default.
6224 (pre_activate_switch, post_activate_switch): New stubs, things to
6225 do before and after switching activation modes on pads.
6226 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
6227 the pad's activate function to choose which mode to activate.
6228 Shortcut on deactivation and call the right function directly.
6229 (gst_pad_activate_pull): New API, (de)activates a pad in pull
6231 (gst_pad_activate_push): New API, same for push mode.
6232 (gst_pad_set_activate_function)
6233 (gst_pad_set_activatepull_function)
6234 (gst_pad_set_activatepush_function): Setters for new API.
6236 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
6237 Trace all miniobjects.
6238 (gst_mini_object_make_writable): Unref the arg if we copy, like
6239 gst_caps_make_writable.
6241 * gst/gstmessage.c (_gst_message_initialize): No trace init.
6243 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
6244 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
6245 Adapt for new pad API.
6247 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
6250 * gst/gstelement.c (gst_element_iterate_src_pads)
6251 (gst_element_iterate_sink_pads): New API functions.
6253 * gst/gstelement.c (iterator_fold_with_resync): New utility,
6254 should fold into gstiterator.c in some form.
6255 (gst_element_pads_activate): Simplified via use of fold and
6256 delegation of decisions to gstpad->activate.
6258 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
6261 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
6262 class once in init, like gstmessage. Didn't run into this issue
6263 but it seems correct. Don't initialize a trace, gstminiobject does
6266 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
6267 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
6269 (assert_live_count): New util function, uses alloc traces to check
6272 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
6273 To be modified when unlink drops the internal pad.
6275 2005-06-27 Wim Taymans <wim@fluendo.com>
6277 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
6278 (gst_bin_change_state):
6279 Cleanup the get_state() function a little, make sure it
6280 iterates the same set of elements.
6281 Added stub iterate_state_order().
6283 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
6285 * docs/gst/gstreamer-docs.sgml:
6286 * docs/gst/gstreamer-sections.txt:
6287 * docs/gst/gstreamer.types:
6288 * docs/gst/tmpl/gstbasesink.sgml:
6289 * docs/gst/tmpl/gstbasesrc.sgml:
6290 * docs/gst/tmpl/gstbasetransform.sgml:
6291 * docs/gst/tmpl/gstelement.sgml:
6292 * docs/gst/tmpl/gstiterator.sgml:
6293 * gst/base/gstbasesrc.c:
6294 * gst/base/gstbasesrc.h:
6295 * gst/base/gstbasetransform.h:
6297 * gst/gstiterator.h:
6298 adding basetransform and iterator docs
6300 2005-06-27 Andy Wingo <wingo@pobox.com>
6302 * docs/design/part-activation.txt: Notes on how activation should
6303 work -- not quite implemented yet.
6305 2005-06-25 Wim Taymans <wim@fluendo.com>
6307 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
6308 At least get the chain function correct, needs more
6311 2005-06-25 Wim Taymans <wim@fluendo.com>
6313 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
6314 (gst_basesink_handle_object), (gst_basesink_event),
6315 (gst_basesink_do_sync), (gst_basesink_handle_event),
6316 (gst_basesink_change_state):
6318 Right, two problems here: ghostpads don't take locks and
6319 glib _rec_mutex_lock_full() with depth==0 still locks.
6320 Catch illegal locking and g_warn them.
6322 2005-06-25 Wim Taymans <wim@fluendo.com>
6324 * check/states/sinks.c: (START_TEST), (gst_object_suite):
6325 Have to check for completion now...
6327 2005-06-25 Wim Taymans <wim@fluendo.com>
6329 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
6330 (gst_basesink_handle_object), (gst_basesink_event),
6331 (gst_basesink_do_sync), (gst_basesink_handle_event),
6332 (gst_basesink_change_state):
6334 Unlock STREAM_LOCK whatever the recursion was.
6336 2005-06-25 Wim Taymans <wim@fluendo.com>
6338 * gst/base/gstbasesink.c: (gst_basesink_set_property),
6339 (gst_basesink_preroll_queue_empty),
6340 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
6341 (gst_basesink_event), (gst_basesink_do_sync),
6342 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
6343 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
6344 (gst_basesink_change_state):
6345 Reworked the base sink, handle event and buffer serialisation
6346 correctly and removed possible deadlock.
6347 Handle EOS correctly.
6349 2005-06-25 Wim Taymans <wim@fluendo.com>
6351 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
6352 (gst_pipeline_change_state):
6353 * tools/gst-launch.c: (check_intr), (event_loop), (main):
6354 Allow elements to post EOS in the state change function.
6355 Fix up -launch, make it exit the poll loop when the
6356 pipeline actually changed state.
6357 Fix up warning parsing in -launch.
6359 2005-06-25 Wim Taymans <wim@fluendo.com>
6361 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
6362 (gst_tee_sink_activate):
6363 Core takes STREAM_LOCK for us now.
6365 2005-06-25 Wim Taymans <wim@fluendo.com>
6367 * gst/gstelement.c: (gst_element_get_state_func),
6368 (gst_element_set_state):
6370 * gst/gstmessage.c: (gst_message_parse_error),
6371 (gst_message_parse_warning):
6372 Keep track of current target state while performing a state
6373 change so that subclasses can do something interesting.
6374 Fix parsing of warning/error messages when GError is NULL.
6376 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
6378 * docs/gst/Makefile.am:
6379 * docs/gst/gstreamer-docs.sgml:
6380 * docs/gst/gstreamer-sections.txt:
6381 * docs/gst/gstreamer.types:
6382 * docs/gst/tmpl/gstbasesink.sgml:
6383 * docs/gst/tmpl/gstbasesrc.sgml:
6384 * docs/gst/tmpl/gstbin.sgml:
6385 * docs/gst/tmpl/gstcompat.sgml:
6386 * docs/gst/tmpl/gstfakesink.sgml:
6387 * docs/gst/tmpl/gstfakesrc.sgml:
6388 * docs/gst/tmpl/gstfilesink.sgml:
6389 * docs/gst/tmpl/gstfilesrc.sgml:
6390 * docs/gst/tmpl/gstindex.sgml:
6391 * docs/manual/appendix-quotes.xml:
6392 * gst/base/gstbasesrc.h:
6393 * gst/elements/gstfakesrc.h:
6395 start pulling in base classes and elements in our docs
6397 2005-06-24 Stefan Kost <ensonic@users.sf.net>
6399 * docs/gst/Makefile.am:
6400 * docs/libs/Makefile.am:
6401 fixed make distcheck with gtk-doc 1.3
6403 2005-06-23 Wim Taymans <wim@fluendo.com>
6405 * gst/gstelement.c: (gst_element_get_state_func),
6406 (gst_element_set_state), (gst_element_change_state):
6407 When the state did not change, also report NO_PREROLL
6410 2005-06-23 Wim Taymans <wim@fluendo.com>
6412 * gst/gstpad.c: (gst_pad_event_default):
6413 * gst/gstqueue.c: (gst_queue_loop):
6414 No unsafe task pausing please.
6416 2005-06-23 Wim Taymans <wim@fluendo.com>
6418 * gst/schedulers/threadscheduler.c:
6419 (gst_thread_scheduler_task_start),
6420 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
6421 Ref the task before pushing it on the threadpool. This
6422 makes sure that we have a ref when the threadfunction is
6425 2005-06-23 Andy Wingo <wingo@pobox.com>
6427 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
6428 offset is greater than the file's size.
6430 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
6431 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
6432 * gst/gstobject.c (gst_object_class_init): Make the class lock
6433 recursive. Wim won't let me drop deep_notify. Decodebin works
6436 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
6437 internal pad, and hacks accordingly. Doesn't do it on the target
6438 pad because we change its caps. Probably catches all cases of
6440 (gst_ghost_pad_set_property): Connect to notify::caps as
6443 * tests/network-clock.scm (plot-simulation): Pipe data to the
6444 elite python skript.
6446 * tests/network-clock-utils.scm (define-parameter): New macro,
6447 defines a parameter that can be set via the command line.
6448 (set-parameter!, parse-parameter-arguments): Command line args
6451 * tests/plot-data: Simple matplotlib-based plotter, takes input on
6454 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
6456 * gst/elements/gsttypefindelement.c:
6457 (gst_type_find_element_handle_event):
6458 Don't restart typefinding on a discont.
6459 * gst/gstelement.c: (gst_element_set_state):
6461 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
6462 Allow changing mode of an active pad.
6464 * gst/registries/gstlibxmlregistry.c: (load_feature):
6465 Don't cast a static pad template to a normal pad template.
6467 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
6469 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
6470 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6471 remove gst_strtoll completely, since it didn't actually do
6472 anything more than what g_ascii_strtoull already does.
6473 check for range errors when deserializing
6474 do a cast for the unsigned cases; but further fixing needs
6475 a decision on what the interpretation of "(int)" and
6476 deserialization should be for values that fall outside the
6477 type's boundaries (ie, refuse, or interpret as casting)
6479 2005-06-23 Wim Taymans <wim@fluendo.com>
6481 * check/Makefile.am:
6482 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
6483 * docs/design/part-live-source.txt:
6484 * docs/design/part-states.txt:
6485 * gst/base/gstbasesrc.c: (gst_basesrc_init),
6486 (gst_basesrc_set_live), (gst_basesrc_is_live),
6487 (gst_basesrc_get_range), (gst_basesrc_activate),
6488 (gst_basesrc_change_state):
6489 * gst/base/gstbasesrc.h:
6490 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6491 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
6492 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
6493 * gst/gstelement.c: (gst_element_get_state_func),
6494 (gst_element_set_state):
6497 * tools/gst-launch.c: (event_loop), (main):
6498 Added support for live sources and other elements that
6500 Updated design docs, added live-source design doc.
6501 Implemented live source functionality in basesrc
6502 Fix error condition in _bin_get_state()
6503 Implement live source handling in -launch.
6504 Added check for live sources.
6505 Fixed case in GstBin where elements were changed state
6509 2005-06-23 Andy Wingo <wingo@pobox.com>
6511 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
6514 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
6515 gst_caps_replace takes care of this for us.
6517 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
6518 gst_pad_set_caps on the target, not just its setcaps() function.
6520 * tests/network-clock.scm:
6521 * tests/network-clock-utils.scm: A network clock simulator.
6522 Something of an algorithmic testbed before doing something in C.
6524 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
6526 * check/Makefile.am:
6527 * check/gst/capslist.h:
6528 copy over from 0.8, and add two with bitmasks specified with
6530 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
6531 add test to parse everything from capslist.h
6532 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
6534 add test for structure deserialization
6535 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
6536 add tests for deserialization of strings to int types
6537 * gst/gststructure.c: (gst_structure_nth_field_name):
6538 * gst/gststructure.h:
6539 add a way to get the name of a field referenced by index
6540 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6541 instead of checking if the resulting long long lies between
6542 min and max, we check if the long long would fit into
6543 a number of bytes for the final type.
6544 This fixes cases where a string represents 2^32 - 1, which
6545 when cast to int would be the (valid) -1, but is bigger than
6548 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
6550 * gst/parse/grammar.y:
6551 add a log line for type deserialization
6553 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
6555 * check/gst/gstvalue.c: (START_TEST):
6556 * gst/gstvalue.c: (gst_value_deserialize):
6557 return long long, not int, so gint64 deserialization actually
6558 works. Is there any flag that makes the compiler check this ?
6561 2005-06-22 Wim Taymans <wim@fluendo.com>
6564 Added convenience macros for setting buffers in GValue.
6566 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
6568 * check/gst/.cvsignore:
6569 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
6570 add a test deserializing int64, and comment part out because
6573 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
6575 * check/Makefile.am:
6576 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
6577 * testsuite/Makefile.am:
6578 * testsuite/caps/Makefile.am:
6579 * testsuite/caps/value_serialize.c:
6580 * testsuite/test_gst_init.c:
6581 move a value_serialize test over
6583 2005-06-20 Wim Taymans <wim@fluendo.com>
6588 * gst/gstvalue.c: (gst_value_compare_buffer),
6589 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
6590 (gst_value_compare_flags), (gst_value_serialize_flags),
6591 (gst_value_deserialize_flags), (_gst_value_initialize):
6592 Fix serialisation of buffers, they are not boxed types anymore
6594 2005-06-20 Wim Taymans <wim@fluendo.com>
6596 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
6597 Testcase to show error in buffer-on-caps serialisation.
6599 2005-06-20 Andy Wingo <wingo@pobox.com>
6601 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
6602 will be adding to later.
6604 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
6605 if its socks fill with rocks.
6606 (gst_system_clock_obtain): Set the name on object construction.
6607 Avoid double-checked locking.
6609 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
6611 * gst/gsturi.c: (gst_element_make_from_uri):
6612 Fix potential endless loop.
6614 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
6616 * check/Makefile.am:
6618 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
6620 move over from testsuite dir and clean up
6623 * testsuite/Makefile.am:
6624 * testsuite/tags/.cvsignore:
6625 * testsuite/tags/Makefile.am:
6626 * testsuite/tags/merge.c:
6627 remove testsuite/tags
6629 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
6631 * docs/gst/gstreamer-sections.txt:
6632 * docs/gst/tmpl/gstenumtypes.sgml:
6633 * win32/gstenumtypes.c:
6634 clean up documentation build a little
6636 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
6639 add macros for checking refcounts on objects and caps
6640 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
6641 add some more unit tests
6642 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6643 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
6644 fix leaked refcounts (I hope :)) so unittest works
6648 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
6650 * configure.ac: back to HEAD
6652 === release 0.9.1 ===
6654 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
6660 2005-06-17 Andy Wingo <wingo@pobox.com>
6662 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
6663 assert; it's always possible that the pad gets deactivated in
6664 between the checks in gstpad.c and the implementation. Rely on
6665 finish_preroll() to return a FLUSHING or similar instead of on the
6668 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
6669 clock and post an EOS message if we come out of finish_preroll in
6672 2005-06-16 David Schleef <ds@schleef.org>
6674 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6675 (gst_capsfilter_set_property): Allow NULL as possible value
6676 for filter_caps property, indicating GST_CAPS_ANY.
6678 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
6680 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
6682 * gst/schedulers/Makefile.am:
6684 * gstreamer.spec.in:
6687 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
6689 * gstreamer.spec.in:
6692 2005-06-08 Andy Wingo <wingo@pobox.com>
6694 * gst/gstutils.c: RPAD fixes all around.
6695 (gst_element_link_pads): Refcounting fixes.
6697 * tools/gst-inspect.c:
6698 * tools/gst-xmlinspect.c:
6700 * gst/base/gsttypefindhelper.c:
6701 * gst/base/gstbasesink.c:
6702 * gst/gstqueue.c: RPAD fixes.
6704 * gst/gstghostpad.h:
6705 * gst/gstghostpad.c: New ghost pad implementation as full proxy
6706 pads. The tricky thing is they provide both source and sink
6707 interfaces, since they proxy the internal pad for the external
6708 pad, and vice versa. Implement with lower-level ProxyPad objects,
6709 with the interior proxy pad as a child of the exterior ghost pad.
6710 Should write a doc on this.
6712 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
6713 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
6716 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
6717 pads are real pads. No ghost pads in this file. Not documenting
6718 the myriad s/RPAD/PAD/ and REALIZE fixes.
6719 (gst_pad_class_init): Add properties for "direction" and
6720 "template". Both are construct-only, so they can't change during
6721 the life of the pad. Fixes properly deriving from GstPad.
6722 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
6723 derived objects, just set properties when creating the objects via
6725 (gst_pad_get_parent): Implement as a function, return NULL if the
6726 parent is not an element.
6727 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
6728 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
6730 * gst/gstobject.c (gst_object_class_init): Make name a construct
6731 property. Don't set it in the object init.
6733 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
6734 with UNKNOWN direction.
6735 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
6736 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
6737 (gst_element_remove_pad): Remove ghost-pad special cases.
6738 (gst_element_pads_activate): Remove rpad cruft.
6740 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
6741 catch the pad's-parent-not-an-element case.
6743 * gst/gst.h: Include gstghostpad.h.
6745 * gst/gst.c (init_post): No more real, ghost pads.
6747 * gst/Makefile.am: Add gstghostpad.[ch].
6749 * check/Makefile.am:
6750 * check/gst/gstbin.c:
6751 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
6752 into a bin creates ghost pads, and that the refcounts are right.
6753 Partly moved from gstbin.c.
6755 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
6757 * check/gst-libs/.cvsignore:
6758 * check/gst/.cvsignore:
6759 * check/pipelines/.cvsignore:
6761 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
6762 (START_TEST), (cleanup_suite), (main):
6763 add some tests related to cleanup after running pipelines
6765 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
6767 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
6768 add a testsuite for GstBuffer
6770 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
6772 * gst/gstminiobject.h:
6773 add defines for accessing the refcount
6775 2005-06-03 Stefan Kost <ensonic@users.sf.net>
6777 * Makefile.am: added support for html unit test coverage reports
6779 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
6781 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
6782 Free existing caps if the capsfilter changes. Add a FIXME about
6783 setting those caps on the pads.
6785 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
6786 Before adding a ghost pad to a parent bin, check that there isn't
6787 already one for the element on the bin. Prevents infinite recursion
6788 when using decodebin in parse pipelines. Andy says he'll rewrite the
6789 way this works anyway, so ignore the hack.
6791 2005-06-02 Andy Wingo <wingo@pobox.com>
6793 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
6794 file size, pass it on to the type find helper.
6796 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
6797 segment_start and segment_end properly according to the seek
6798 method. Segment_end is still a bit flaky because offset can be
6799 negative for CUR and END cases, but it takes -1 as an "unset"
6802 2005-06-02 Wim Taymans <wim@fluendo.com>
6804 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
6805 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
6806 (gst_basesink_activate):
6807 * gst/base/gstbasesink.h:
6808 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
6809 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
6810 (gst_pad_query), (gst_pad_start_task):
6812 * gst/gstqueue.c: (gst_queue_bufferalloc),
6813 (gst_queue_handle_sink_event), (gst_queue_chain):
6814 Bufferalloc: return GstFlowReturn to more accuratly report
6815 why allocation failed.
6817 2005-06-02 Wim Taymans <wim@fluendo.com>
6819 * gst/gstpipeline.c: (gst_pipeline_send_event):
6820 Take snapshot of state without blocking.
6822 2005-06-02 Wim Taymans <wim@fluendo.com>
6824 * docs/design/part-TODO.txt:
6825 * docs/design/part-caps.txt:
6826 * docs/design/part-clocks.txt:
6827 * docs/design/part-negotiation.txt:
6828 * docs/design/part-preroll.txt:
6831 2005-05-30 Wim Taymans <wim@fluendo.com>
6833 * gst/elements/gstidentity.c: (gst_identity_event),
6834 (gst_identity_transform), (gst_identity_get_property):
6835 Protect last_message property as it is accessed from
6838 2005-05-30 Wim Taymans <wim@fluendo.com>
6840 * gst/gstelement.c: (gst_element_init),
6841 (gst_element_pads_activate), (gst_element_change_state):
6842 Slicker pad activation code.
6844 2005-05-30 Wim Taymans <wim@fluendo.com>
6848 * gst/gstelementfactory.h:
6850 Move elementfactory methods to separate .h file.
6852 2005-05-30 Wim Taymans <wim@fluendo.com>
6854 * docs/design/part-overview.txt:
6855 * gst/gstsystemclock.h:
6856 Small typo fixes, doc updates.
6858 2005-05-30 Wim Taymans <wim@fluendo.com>
6860 * gst/gst.c: (gst_init_get_popt_table), (init_post),
6861 (init_popt_callback):
6862 Remove cpu-opt flag.
6864 2005-05-30 Wim Taymans <wim@fluendo.com>
6866 * gst/gstbuffer.c: (gst_subbuffer_finalize),
6867 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
6869 Avoid typechecking in places where not needed.
6870 Added accessor for malloc_data.
6872 2005-05-30 Wim Taymans <wim@fluendo.com>
6874 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
6875 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
6876 (gst_pad_configure_sink), (gst_pad_configure_src),
6877 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
6878 (gst_pad_start_task):
6879 Propagate errors from _set_caps() in configure_src/sink
6880 functions instead of returning TRUE.
6881 FLUSH events can travel up and downstream
6884 2005-05-30 Wim Taymans <wim@fluendo.com>
6886 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
6887 (gst_basesink_activate):
6888 Handle EOS in preroll.
6890 2005-05-30 Wim Taymans <wim@fluendo.com>
6892 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6893 (gst_queue_loop), (gst_queue_handle_src_event):
6894 Remove old pieces of code
6895 Flushing the queue in an upstream event is a very bad idea.
6897 2005-05-26 Andy Wingo <wingo@pobox.com>
6899 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
6900 gst_value_set_mini_object so as to add a ref on the object (which
6901 will be removed when the value is unset).
6903 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
6904 arg type in ::handoff.
6906 * gst/gstelement.c (gst_element_change_state): Also deactivate
6907 pads in READY->NULL, just in case the element didn't make it to
6908 PAUSED. Wingo tested, Wim approved.
6910 2005-05-26 Wim Taymans <wim@fluendo.com>
6912 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
6913 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
6914 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
6915 A flushing pad cannot be used to alloc_buffer from.
6917 2005-05-26 Wim Taymans <wim@fluendo.com>
6919 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
6920 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
6921 (gst_bus_source_dispatch), (gst_bus_source_finalize),
6922 (gst_bus_create_watch), (gst_bus_add_watch_full):
6924 Implement a real GSource and use g_main_context_wakeup() to
6925 signal new messages instead of the socketpair.
6927 2005-05-25 Wim Taymans <wim@fluendo.com>
6929 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
6930 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
6931 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
6932 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
6933 (gst_pad_send_event), (gst_pad_start_task):
6934 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
6935 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
6936 (gst_queue_sink_activate), (gst_queue_src_activate),
6937 (gst_queue_change_state):
6939 Fix state changes for non sinks. We now change sinks, then elements
6940 with unconnected srcpads, then the rest.
6941 More efficient queue unlocking in flush and state changes.
6942 Set the pad activate mode even if it does not have an activate
6945 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6947 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
6948 Don't go in pull mode for non-seekable sources.
6949 * gst/elements/gsttypefindelement.h:
6950 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
6951 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
6952 (free_entry), (stop_typefinding),
6953 (gst_type_find_element_handle_event), (find_peek),
6954 (gst_type_find_element_chain), (do_pull_typefind),
6955 (gst_type_find_element_change_state):
6956 Allow typefinding (w/o seeking) in push-mode, simplified version
6958 * gst/gstutils.c: (gst_buffer_join):
6960 gst_buffer_join() from 0.8.
6962 2005-05-25 Wim Taymans <wim@fluendo.com>
6964 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
6965 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
6966 (gst_pad_send_event), (gst_pad_start_task):
6967 Disable attempt at mode switching until it is figured out.
6969 2005-05-25 Wim Taymans <wim@fluendo.com>
6971 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
6972 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
6973 (gst_basesink_finish_preroll), (gst_basesink_chain),
6974 (gst_basesink_loop), (gst_basesink_activate),
6975 (gst_basesink_change_state):
6976 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
6977 (gst_basesrc_get_range), (gst_basesrc_loop),
6978 (gst_basesrc_activate):
6979 * gst/elements/gsttee.c: (gst_tee_sink_activate):
6980 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
6981 (gst_real_pad_init), (gst_real_pad_set_property),
6982 (gst_real_pad_get_property), (gst_pad_set_active),
6983 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
6984 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
6985 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
6986 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
6987 (gst_pad_event_default_dispatch), (gst_pad_event_default),
6988 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
6989 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
6990 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
6991 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
6992 (gst_pad_stop_task):
6994 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6995 (gst_queue_loop), (gst_queue_src_activate):
6996 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
6997 (gst_task_get_state):
6999 * gst/schedulers/threadscheduler.c:
7000 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
7001 Implement gst_pad_pause/start/stop_task(), take STREAM lock
7003 Remove ACTIVE pad flag, use FLUSHING everywhere
7004 Added _pad_chain(), _pad_get_range() to call chain/getrange
7006 Add locks around IS_FLUSHING when reading.
7007 Take STREAM lock in chain(), get_range() functions so plugins
7008 don't need to take it anymore.
7012 2005-05-25 Wim Taymans <wim@fluendo.com>
7014 * tools/gst-launch.c: (event_loop):
7015 Unref message after using its contents instead of
7018 2005-05-24 Wim Taymans <wim@fluendo.com>
7020 * docs/design/draft-ghostpads.txt:
7021 * docs/design/draft-push-pull.txt:
7022 * docs/design/draft-query.txt:
7023 * docs/design/part-overview.txt:
7024 Docs updates, added general overview doc.
7026 2005-05-21 David Schleef <ds@schleef.org>
7028 * docs/gst/tmpl/old/GstBin.sgml:
7029 * docs/gst/tmpl/old/GstBuffer.sgml:
7030 * docs/gst/tmpl/old/GstCaps.sgml:
7031 * docs/gst/tmpl/old/GstClock.sgml:
7032 * docs/gst/tmpl/old/GstCompat.sgml:
7033 * docs/gst/tmpl/old/GstData.sgml:
7034 * docs/gst/tmpl/old/GstElement.sgml:
7035 * docs/gst/tmpl/old/GstEvent.sgml:
7036 * docs/gst/tmpl/old/GstIndex.sgml:
7037 * docs/gst/tmpl/old/GstStructure.sgml:
7038 * docs/gst/tmpl/old/GstTag.sgml:
7039 * docs/gst/tmpl/old/cothreads.sgml:
7040 * docs/gst/tmpl/old/cothreads_compat.sgml:
7041 * docs/gst/tmpl/old/gettext.sgml:
7042 * docs/gst/tmpl/old/gobject2gtk.sgml:
7043 * docs/gst/tmpl/old/grammar.tab.sgml:
7044 * docs/gst/tmpl/old/gst-i18n-app.sgml:
7045 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7046 * docs/gst/tmpl/old/gst_private.sgml:
7047 * docs/gst/tmpl/old/gstaggregator.sgml:
7048 * docs/gst/tmpl/old/gstarch.sgml:
7049 * docs/gst/tmpl/old/gstatomic_impl.sgml:
7050 * docs/gst/tmpl/old/gstbufferstore.sgml:
7051 * docs/gst/tmpl/old/gstdata_private.sgml:
7052 * docs/gst/tmpl/old/gstdisksink.sgml:
7053 * docs/gst/tmpl/old/gstdisksrc.sgml:
7054 * docs/gst/tmpl/old/gstelementfactory.sgml:
7055 * docs/gst/tmpl/old/gstextratypes.sgml:
7056 * docs/gst/tmpl/old/gstfakesink.sgml:
7057 * docs/gst/tmpl/old/gstfakesrc.sgml:
7058 * docs/gst/tmpl/old/gstfdsink.sgml:
7059 * docs/gst/tmpl/old/gstfdsrc.sgml:
7060 * docs/gst/tmpl/old/gstfilesink.sgml:
7061 * docs/gst/tmpl/old/gstfilesrc.sgml:
7062 * docs/gst/tmpl/old/gsthttpsrc.sgml:
7063 * docs/gst/tmpl/old/gstidentity.sgml:
7064 * docs/gst/tmpl/old/gstindexfactory.sgml:
7065 * docs/gst/tmpl/old/gstmarshal.sgml:
7066 * docs/gst/tmpl/old/gstmd5sink.sgml:
7067 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
7068 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
7069 * docs/gst/tmpl/old/gstpadtemplate.sgml:
7070 * docs/gst/tmpl/old/gstpipefilter.sgml:
7071 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
7072 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
7073 * docs/gst/tmpl/old/gstshaper.sgml:
7074 * docs/gst/tmpl/old/gstspider.sgml:
7075 * docs/gst/tmpl/old/gstspideridentity.sgml:
7076 * docs/gst/tmpl/old/gststatistics.sgml:
7077 * docs/gst/tmpl/old/gsttee.sgml:
7078 * docs/gst/tmpl/old/gsttimecache.sgml:
7079 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
7080 * docs/gst/tmpl/old/gstxmlregistry.sgml:
7081 * docs/gst/tmpl/old/gthread-cothreads.sgml:
7082 * docs/gst/tmpl/old/types.sgml:
7083 I didn't intend to add these or check them in.
7085 2005-05-19 David Schleef <ds@schleef.org>
7087 * configure.ac: Use -no-common everywhere. In a sane world, it
7088 would be the default in libtool, because without it, you can't
7089 build DLLs on Windows.
7090 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
7091 * docs/gst/gstreamer-sections.txt:
7092 * docs/gst/tmpl/gstcpu.sgml:
7093 * docs/gst/tmpl/gstdata.sgml:
7094 * docs/gst/tmpl/gstthread.sgml:
7096 2005-05-19 David Schleef <ds@schleef.org>
7098 * gst/gstminiobject.c: (gst_value_set_mini_object),
7099 (gst_value_take_mini_object), (gst_value_get_mini_object):
7100 * gst/gstminiobject.h: Add GValue set/get functions.
7102 2005-05-19 Wim Taymans <wim@fluendo.com>
7104 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
7105 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
7106 (gst_subbuffer_init), (gst_buffer_is_span_fast):
7108 * gst/gstbus.c: (gst_bus_post):
7109 * gst/gstelement.c: (gst_element_get_random_pad):
7110 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
7111 Make subbufer unref the parent in finalize.
7112 some more debugging info.
7115 2005-05-19 Wim Taymans <wim@fluendo.com>
7117 * gst/base/gstbasesink.c: (gst_basesink_class_init),
7118 (gst_basesink_init), (gst_basesink_finalize),
7119 (gst_basesink_activate), (gst_basesink_change_state):
7120 Don't free preroll queue too early.
7122 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7126 Hi, I'm outdated. Please shoot me.
7128 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7130 * gst/gstpipeline.c: (gst_pipeline_send_event):
7131 Do not access variables after they have been deleted.
7133 2005-05-19 Wim Taymans <wim@fluendo.com>
7135 * tools/gst-inspect.c: (print_plugin_features):
7136 A plugin feature does unfortunatly not use the
7139 2005-05-18 Wim Taymans <wim@fluendo.com>
7141 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
7142 Port _span() functions to new subbuffers.
7144 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7146 * gst/gstbin.c: (gst_bin_add_func):
7147 Fix clock settery in bins when adding kids after the clock has
7150 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7152 * gst/elements/gstidentity.c: (gst_identity_class_init):
7153 Workaround until signals support GstMiniObject.
7155 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
7158 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
7160 2005-05-18 Wim Taymans <wim@fluendo.com>
7162 * gst/base/Makefile.am:
7163 * gst/base/gstadapter.c: (gst_adapter_base_init),
7164 (gst_adapter_class_init), (gst_adapter_init),
7165 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
7166 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
7167 (gst_adapter_flush), (gst_adapter_available),
7168 (gst_adapter_available_fast):
7169 * gst/base/gstadapter.h:
7170 Ported and added adapter to the base classes.
7172 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7176 Make sure the class is reffed/unreffed once before threads can be
7177 used. Fixes #304551.
7179 2005-05-17 Wim Taymans <wim@fluendo.com>
7181 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
7182 (gst_basesink_chain_unlocked), (gst_basesink_activate):
7183 * gst/gstminiobject.c: (gst_mini_object_get_type),
7184 (gst_mini_object_free):
7185 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
7186 (gst_pad_push), (gst_pad_push_event):
7187 * gst/gstqueue.c: (gst_queue_change_state):
7188 Don't queue buffers in basesink when we are flushing.
7189 Unref buffer when flushing in basesink.
7190 Flush queue when going to READY
7191 Unref buffer when _push() returns an error.
7192 Don't free MiniObject instance when refcount is incremented
7193 in _finalize() so that we can recover objects.
7195 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
7197 * docs/manual/advanced-schedulers.xml:
7198 * docs/manual/appendix-checklist.xml:
7199 * docs/pwg/advanced-clock.xml:
7200 * docs/pwg/advanced-interfaces.xml:
7201 * docs/pwg/advanced-request.xml:
7202 * docs/pwg/advanced-types.xml:
7203 * docs/pwg/intro-preface.xml:
7204 * examples/plugins/example.c: (gst_example_get_type),
7205 (gst_example_class_init), (gst_example_chain),
7206 (gst_example_set_property), (gst_example_get_property),
7207 (gst_example_change_state), (plugin_init):
7208 * examples/plugins/example.h:
7211 2005-05-17 Wim Taymans <wim@fluendo.com>
7213 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
7214 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
7215 * gst/gstqueue.c: (gst_queue_change_state):
7216 Clear queue when going to READY.
7217 Remove IN_SETCAPS flag too.
7219 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
7221 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
7222 Remove implicit cast from gboolean to GstElementStateReturn;
7223 make sure we still return failure in paused => ready case if
7224 the parent class fails to change state and our own stop
7227 2005-05-17 Wim Taymans <wim@fluendo.com>
7229 * tools/gst-launch.c: (event_loop):
7230 Message was unreffed too soon.
7232 2005-05-16 Andy Wingo <wingo@pobox.com>
7234 * gst/gstbin.c (sink_iterator_filter): Err... um...
7236 * check/gst/gstbin.c (test_ghost_pads): New test for the
7237 ghosting-if-elements-not-in-same-bin behavior.
7239 2005-05-16 David Schleef <ds@schleef.org>
7241 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
7242 accessing refcount directly.
7244 2005-05-15 David Schleef <ds@schleef.org>
7246 * check/Makefile.am: remove GstData checks
7247 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
7248 * gst/Makefile.am: add miniobject, remove data
7249 * gst/gst.h: add miniobject, remove data
7250 * gst/gstdata.c: remove
7251 * gst/gstdata.h: remove
7252 * gst/gstdata_private.h: remove
7253 * gst/gsttypes.h: remove GstEvent and GstMessage
7254 * gst/gstelement.c: (gst_element_post_message): fix for API changes
7255 * gst/gstmarshal.list: change BOXED -> OBJECT
7257 Implement GstMiniObject.
7258 * gst/gstminiobject.c:
7259 * gst/gstminiobject.h:
7261 Modify to be subclasses of GstMiniObject.
7262 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
7263 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
7264 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
7265 (gst_subbuffer_get_type), (gst_subbuffer_init),
7266 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
7269 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
7270 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
7271 (_gst_event_copy), (gst_event_new):
7273 * gst/gstmessage.c: (_gst_message_initialize),
7274 (gst_message_get_type), (gst_message_class_init),
7275 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
7276 (gst_message_new), (gst_message_new_error),
7277 (gst_message_new_warning), (gst_message_new_tag),
7278 (gst_message_new_state_changed), (gst_message_new_application):
7280 * gst/gstprobe.c: (gst_probe_perform),
7281 (gst_probe_dispatcher_dispatch):
7283 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
7284 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
7285 (_gst_query_copy), (gst_query_new):
7287 Update elements for GstData -> GstMiniObject changes
7289 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
7290 (gst_queue_chain), (gst_queue_loop):
7291 * gst/elements/gstbufferstore.c:
7292 (gst_buffer_store_add_buffer_func),
7293 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
7294 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
7295 (gst_fakesink_render):
7296 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7297 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
7298 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
7299 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
7300 (gst_filesrc_create_read):
7301 * gst/elements/gstidentity.c: (gst_identity_class_init):
7302 * gst/elements/gsttypefindelement.c:
7303 (gst_type_find_element_src_event), (free_entry_buffers),
7304 (gst_type_find_element_handle_event):
7305 * libs/gst/dataprotocol/dataprotocol.c:
7306 (gst_dp_header_from_buffer):
7307 * libs/gst/dataprotocol/dataprotocol.h:
7308 * libs/gst/dataprotocol/dp-private.h:
7310 2005-05-15 David Schleef <ds@schleef.org>
7312 * gst/elements/gstelements.c: Don't include headers that were
7315 2005-05-15 David Schleef <ds@schleef.org>
7317 * gst/elements/Makefile.am: Remove some elements that don't
7318 need to be in the core (or even exist at all).
7319 * gst/elements/gstaggregator.c:
7320 * gst/elements/gstaggregator.h:
7321 * gst/elements/gstmd5sink.c:
7322 * gst/elements/gstmd5sink.h:
7323 * gst/elements/gstmultifilesrc.c:
7324 * gst/elements/gstmultifilesrc.h:
7325 * gst/elements/gstpipefilter.c:
7326 * gst/elements/gstpipefilter.h:
7327 * gst/elements/gstshaper.c:
7328 * gst/elements/gstshaper.h:
7329 * gst/elements/gststatistics.c:
7330 * gst/elements/gststatistics.h:
7331 * po/POTFILES.in: Remove above files.
7333 2005-05-14 Andy Wingo <wingo@pobox.com>
7335 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
7336 so as to get the refs right.
7337 (sink_iterator_filter): New function, wraps bin_element_is_sink,
7338 unreffing objects that don't pass the filter.
7340 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
7341 gst_element_set_bus.
7342 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
7343 normal cases, this will destroy the bus.
7345 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
7348 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
7351 2005-05-13 Andy Wingo <wingo@pobox.com>
7353 * gst/gstutils.c (gst_element_link_pads): Instead of calling
7354 gst_pad_link, call pad_link_maybe_ghosting,
7355 (pad_link_maybe_ghosting): Links pads, making sure that the
7356 elements being linked are in the same bin.
7357 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
7358 Helpers for pad_link_maybe_ghosting.
7360 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
7363 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
7365 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
7367 * docs/design/part-element-source.txt:
7370 2005-05-12 Wim Taymans <wim@fluendo.com>
7372 * gst/base/gstbasesink.c: (gst_basesink_init),
7373 (gst_basesink_activate):
7374 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
7375 (gst_basesrc_is_seekable):
7376 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7377 (bin_element_is_sink), (gst_bin_change_state):
7378 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
7380 Identify sinks by their flag to avoid overly complicated
7382 Do state changes even for elements not reachable from the
7384 BaseSink is a sink now :)
7385 Some more debugging info in the basesrc.
7388 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7390 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
7391 Implement _query on a bin, similar to _send_event.
7393 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
7395 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
7396 Discont event offset format should be GST_FORMAT_BYTES,
7397 not GST_FORMAT_TIME.
7399 2005-05-12 Wim Taymans <wim@fluendo.com>
7401 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
7402 Same fix as Ronald's but without the signal.
7404 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7406 * gst/gstutils.c: (gst_element_query_position):
7407 No, an element is not a pad.
7409 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7411 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
7412 (gst_bin_get_state):
7413 If a child is removed from a bin while we remove the child from
7414 the bin and while we're retrieving its state, signal this to the
7415 get_state function so we abort the wait (instead of waiting for
7416 a timeout) and can immediately re-iterate over all other elements.
7418 2005-05-12 Wim Taymans <wim@fluendo.com>
7420 * gst/base/Makefile.am:
7421 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
7422 (gst_basesrc_start):
7423 * gst/base/gstbasesrc.h:
7424 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
7425 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
7426 (gst_pushsrc_init), (gst_pushsrc_create):
7427 * gst/base/gstpushsrc.h:
7428 Added is_seekable to BaseSrc
7429 Added simple PushSrc.
7431 2005-05-11 Wim Taymans <wim@fluendo.com>
7433 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
7434 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
7435 (gst_element_link_pads), (gst_element_query_position),
7436 (gst_element_query_convert), (intersect_caps_func),
7437 (gst_pad_query_position), (gst_pad_query_convert):
7438 Fix refcounting in utils function.
7439 No point in trying to activate a pad when it's added, it could
7440 be added from the state change function and then we deadlock, the
7441 element has to decide what to do.
7443 2005-05-10 Andy Wingo <wingo@pobox.com>
7445 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
7446 *all* the arguments.
7448 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
7449 stream lock if it's a FLUSH_DONE; normal flushes don't get the
7450 lock (according to the docs -- if this is wrong change the docs).
7452 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
7453 flush messages in the NULL state.
7455 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
7456 message immediately and return.
7457 (gst_bus_set_flushing): New function. If a bus is flushing, it
7458 flushes out any queued messages and immediately unrefs new
7459 messages. This is so when an element goes to NULL, all of the
7460 unhandled messages coming from it can be freed, and their
7461 references to the element dropped. In other words: message source
7462 ref considered harmful :P
7464 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
7465 we're finished with it.
7467 * gst/gstmessage.c (gst_message_new_state_changed):
7469 2005-05-10 Wim Taymans <wim@fluendo.com>
7471 * gst/gstvalue.c: (gst_value_compare_flags),
7472 (gst_value_serialize_flags), (gst_value_deserialize_flags),
7473 (_gst_value_initialize):
7474 Added flags serialize/deserialize/compare code.
7476 2005-05-09 Andy Wingo <wingo@pobox.com>
7478 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
7479 Intersect the peer's caps with our caps.
7481 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7483 * gst/base/gsttypefindhelper.c: (helper_find_peek):
7484 * gst/elements/gsttypefindelement.c: (find_peek):
7485 Handle negative offsets better. Fixes decodebin.
7487 2005-05-09 Wim Taymans <wim@fluendo.com>
7489 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
7490 (gst_base_transform_event):
7491 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
7492 Implement accept_caps.
7493 Fix silly lock/unlock mismatch in base class.
7495 2005-05-09 Wim Taymans <wim@fluendo.com>
7497 * docs/design/draft-push-pull.txt:
7498 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
7499 * gst/elements/gstfilesink.c: (gst_filesink_init),
7500 (gst_filesink_query):
7501 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
7502 (gst_type_find_handle_src_query), (find_element_get_length):
7503 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
7507 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
7508 (gst_real_pad_get_caps_unlocked),
7509 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
7510 (gst_pad_event_default_dispatch), (gst_pad_event_default),
7511 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
7512 (gst_real_pad_dispose), (gst_real_pad_finalize),
7513 (gst_pad_load_and_link), (gst_pad_save_thyself),
7514 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
7515 (gst_pad_check_pull_range), (gst_pad_pull_range),
7516 (gst_pad_template_get_type), (gst_pad_template_class_init),
7517 (gst_pad_template_init), (gst_pad_template_dispose),
7518 (name_is_valid), (gst_static_pad_template_get),
7519 (gst_pad_template_new), (gst_static_pad_template_get_caps),
7520 (gst_pad_template_get_caps), (gst_pad_set_element_private),
7521 (gst_pad_get_element_private), (gst_pad_start_task),
7522 (gst_pad_pause_task), (gst_pad_stop_task),
7523 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
7524 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
7525 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
7526 (gst_ghost_pad_new):
7528 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
7529 (gst_query_new_position), (gst_query_set_position),
7530 (gst_query_parse_position), (gst_query_new_convert),
7531 (gst_query_set_convert), (gst_query_parse_convert):
7533 * gst/gstqueryutils.c:
7534 * gst/gstqueryutils.h:
7535 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
7536 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
7537 (gst_queue_handle_src_query):
7538 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
7539 (gst_element_query_position), (gst_element_query_convert),
7540 (intersect_caps_func), (gst_pad_query_position),
7541 (gst_pad_query_convert):
7543 * tools/gst-inspect.c: (print_pad_info):
7544 * tools/gst-xmlinspect.c: (print_element_info):
7545 Remove old query functions. Ported old code.
7546 Added position/convert helper functions to gstutils.
7547 Reordered gstpad.c code, grouping relevant things.
7548 Remove gst_message_new(), always need to speficy a specific
7552 2005-05-09 Andy Wingo <wingo@pobox.com>
7554 * gst/gstiterator.h: Add some includes.
7556 * gst/gstqueryutils.h: Include more headers.
7559 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
7560 some uses of gst_pad_query.
7562 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
7563 NULL out parameters.
7564 (gst_query_new_position): New proc, allocates a new position
7567 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
7568 gstqueryutils.c to the build.
7570 * gst/gststructure.c (gst_structure_set_valist): Implement with
7571 the generic G_VALUE_COLLECT.
7573 2005-05-08 Edward Hervey <bilboed@bilboed.com>
7575 * gst/Makefile.am: (gst_headers):
7576 Added gstqueryutils.h to the list of headers to install, that was
7577 a 'nachty' move wingo :)
7579 2005-05-06 Andy Wingo <wingo@pobox.com>
7582 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
7583 GstData, init a memchunk.
7584 (standard_definitions): Add a few query types, deprecate a few.
7585 (gst_query_get_type): New proc.
7586 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
7588 (gst_query_new_application, gst_query_get_structure): New public
7591 * docs/design/draft-query.txt: Removed LINKS from the query types,
7592 because all the rest can be dispatched to other pads -- seemed
7593 ugly to have a query that couldn't be dispatched. internal_links
7594 is fine as a pad method.
7596 * gst/gstpad.h: Add query2 as a pad method, add the new functions
7597 in gstpad.c, but maintain binary compatibility for the moment.
7598 Will fix before 0.9 is out.
7600 * gst/gstqueryutils.c:
7601 * gst/gstqueryutils.h: New files, implement 3 methods for each
7602 query type: parse_query, parse_response, and set. Probably need an
7605 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
7607 * gst/elements/gstfilesink.c (gst_filesink_query2):
7608 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
7609 query_types, and formats methods.
7611 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
7612 (gst_pad_set_query2_function): New functions.
7613 (gst_real_pad_init): Set query2_default as the default query2
7614 function. Basically just dispatches to internally linked pads.
7618 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
7619 without using the atomic operations. Only one thread can possibly
7620 be accessing the data at this point. Changed so as to avoid
7621 gst_atomic operations.
7623 2005-05-06 Wim Taymans <wim@fluendo.com>
7625 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
7626 Also set caps if we use the fallback buffer alloc.
7628 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
7630 * docs/gst/Makefile.am:
7631 * docs/gst/gstreamer-docs.sgml:
7632 * docs/gst/gstreamer-sections.txt:
7633 * docs/gst/tmpl/gstatomic.sgml:
7634 * docs/gst/tmpl/gstmemchunk.sgml:
7635 * testsuite/elements/struct_i386.h:
7636 * win32/GStreamer.vcproj:
7638 Purge GstAtomic stuff from docs and win32 makefiles as well
7640 2005-05-06 Wim Taymans <wim@fluendo.com>
7642 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
7643 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
7644 * gst/gstpad.c: (gst_pad_peer_get_caps):
7645 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
7646 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
7647 (gst_queue_src_activate), (gst_queue_change_state):
7649 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
7650 (intersect_caps_func):
7651 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
7652 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
7653 Some fixes for the peer_get_caps() change.
7655 2005-05-06 Wim Taymans <wim@fluendo.com>
7657 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
7658 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
7659 (gst_basesink_activate):
7660 Actually do something with error codes returned from the push
7663 2005-05-06 Wim Taymans <wim@fluendo.com>
7665 * docs/design/part-element-sink.txt:
7666 * docs/design/part-element-source.txt:
7667 * gst/base/gstbasesink.c: (gst_basesink_class_init),
7668 (gst_basesink_event), (gst_basesink_activate):
7669 * gst/base/gstbasesink.h:
7670 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
7671 (gst_basesrc_activate):
7672 * gst/base/gstbasesrc.h:
7673 * gst/gstelement.c: (gst_element_pads_activate):
7674 Some more documentation.
7675 Fixed scheduling decision in _pads_activate().
7677 2005-05-05 Andy Wingo <wingo@pobox.com>
7679 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
7682 2005-05-05 Wim Taymans <wim@fluendo.com>
7684 * gst/base/Makefile.am:
7685 * gst/base/gstbasesink.h:
7686 * gst/base/gstbasesrc.c: (gst_basesrc_init),
7687 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
7688 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
7689 (gst_collectpads_class_init), (gst_collectpads_init),
7690 (gst_collectpads_finalize), (gst_collectpads_new),
7691 (gst_collectpads_set_function), (gst_collectpads_add_pad),
7692 (find_pad), (gst_collectpads_remove_pad),
7693 (gst_collectpads_is_active), (gst_collectpads_collect),
7694 (gst_collectpads_collect_range), (gst_collectpads_start),
7695 (gst_collectpads_stop), (gst_collectpads_peek),
7696 (gst_collectpads_pop), (gst_collectpads_available),
7697 (gst_collectpads_read), (gst_collectpads_flush),
7698 (gst_collectpads_chain):
7699 * gst/base/gstcollectpads.h:
7700 * gst/elements/Makefile.am:
7701 * gst/elements/gstelements.c:
7702 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
7703 (gst_fakesink_get_times), (gst_fakesink_event),
7704 (gst_fakesink_preroll), (gst_fakesink_render):
7705 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
7706 (gst_filesink_init), (gst_filesink_set_location),
7707 (gst_filesink_open_file), (gst_filesink_close_file),
7708 (gst_filesink_pad_query), (gst_filesink_event),
7709 (gst_filesink_render), (gst_filesink_change_state):
7710 * gst/elements/gstfilesink.h:
7711 Added object to help in making collect pad based elements.
7713 Make event function in sink baseclass return gboolean.
7715 2005-05-05 Wim Taymans <wim@fluendo.com>
7717 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
7718 (gst_bin_get_by_name):
7720 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
7721 (gst_clock_finalize):
7722 * gst/gstdata.c: (gst_data_replace):
7724 * gst/gstelement.c: (gst_element_request_pad),
7725 (gst_element_pads_activate):
7726 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
7728 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7729 (gst_pad_set_checkgetrange_function),
7730 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
7731 (gst_pad_check_pull_range), (gst_pad_pull_range),
7732 (gst_static_pad_template_get_caps), (gst_pad_start_task),
7733 (gst_pad_pause_task), (gst_pad_stop_task):
7734 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
7735 (gst_element_request_pad), (gst_pad_proxy_getcaps):
7736 Fix name lookup in GstBin.
7737 Added _data_replace() function and _buffer_replace()
7738 Use finalize method to clean up clock.
7739 Fix refcounting on request pads.
7740 Fix pad schedule mode error.
7741 Some more object refcounting debug info,
7744 2005-05-04 Andy Wingo <wingo@pobox.com>
7746 * check/Makefile.am:
7747 * docs/gst/tmpl/gstatomic.sgml:
7748 * docs/gst/tmpl/gstplugin.sgml:
7749 * gst/base/gstbasesink.c: (gst_basesink_activate):
7750 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
7751 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
7752 (gst_basesrc_query), (gst_basesrc_set_property),
7753 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
7754 (gst_basesrc_activate):
7755 * gst/base/gstbasesrc.h:
7756 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
7757 (gst_base_transform_src_activate):
7758 * gst/elements/gstelements.c:
7759 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7760 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
7761 * gst/elements/gsttee.c: (gst_tee_sink_activate):
7762 * gst/elements/gsttypefindelement.c: (find_element_get_length),
7763 (gst_type_find_element_checkgetrange),
7764 (gst_type_find_element_activate):
7765 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
7766 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
7767 (gst_caps_load_thyself):
7768 * gst/gstelement.c: (gst_element_pads_activate),
7769 (gst_element_save_thyself), (gst_element_restore_thyself):
7770 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
7771 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
7773 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
7774 (gst_xml_parse_file), (gst_xml_parse_memory),
7775 (gst_xml_get_element), (gst_xml_make_element):
7776 * gst/indexers/gstfileindex.c: (gst_file_index_load),
7777 (_file_index_id_save_xml), (gst_file_index_commit):
7778 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
7779 (read_enum), (load_pad_template), (load_feature), (load_plugin),
7781 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
7782 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
7783 * tools/gst-complete.c: (main):
7784 * tools/gst-compprep.c: (main):
7785 * tools/gst-inspect.c: (print_element_properties_info):
7786 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
7787 * tools/gst-xmlinspect.c: (print_element_properties):
7790 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
7792 * gst/gstplugin.c: (gst_plugin_check_module),
7793 (gst_plugin_check_file), (gst_plugin_load_file):
7794 apply patch from #172526 to make register work on MacOSX
7796 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
7798 * docs/gst/tmpl/gstconfig.sgml:
7799 * gst/gstconfig.h.in:
7800 move documentation for some symbols. Add doc for GST_PTR_FORMAT
7801 * testsuite/debug/printf_extension.c: (main):
7802 Do not use GST_PTR_FORMAT on pointers to types with
7803 sizeof < sizeof(gpointer). Fixes test on 64-bit
7804 * testsuite/elements/property.h:
7805 use correct printf format
7807 2005-05-02 Wim Taymans <wim@fluendo.com>
7809 * docs/design/draft-push-pull.txt:
7810 * docs/design/draft-query.txt:
7811 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
7812 (gst_basesrc_start):
7813 Added draft for new query API.
7814 Added draft for better selecting scheduling methods.
7815 Make basesrc ignore length if the subclass does not support
7818 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
7821 possible fixes for automake-1.5 - _LIBADD is reserved
7823 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
7825 * docs/faq/Makefile.am:
7826 * docs/manual/Makefile.am:
7828 * docs/pwg/Makefile.am:
7830 possible fixes for automake-1.5
7832 2005-04-28 Wim Taymans <wim@fluendo.com>
7834 * gst/base/gstbasesink.c: (gst_basesink_base_init),
7835 (gst_basesink_pad_getcaps), (gst_basesink_init),
7836 (gst_basesink_do_sync):
7837 * gst/gstclock.c: (gst_clock_entry_new):
7838 * gst/gstevent.c: (gst_event_discont_get_value):
7839 * gst/gstpipeline.c: (pipeline_bus_handler),
7840 (gst_pipeline_change_state):
7841 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
7842 Better debugging of clocking info.
7843 Allow NULL values when getting discont values.
7845 2005-04-27 Wim Taymans <wim@fluendo.com>
7847 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
7848 * check/gst/gstpad.c: (gst_pad_suite):
7849 Increase timeout for checks.
7851 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7853 * check/Makefile.am:
7854 fix the broken rule for cleanup. Apparently this rule is
7855 only needed on FC2, so maybe this warrants further autotool
7858 2005-04-26 Wim Taymans <wim@fluendo.com>
7860 * gst/gsttrashstack.h:
7861 Ooohh. a nasty one! After having a failed pop() from the stack,
7862 it's possible that the stack is empty. In that case, don't
7863 follow the NULL pointer.
7865 2005-04-25 Wim Taymans <wim@fluendo.com>
7867 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7868 (gst_pad_set_checkgetrange_function),
7869 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
7870 (gst_pad_check_pull_range), (gst_pad_pull_range),
7871 (gst_static_pad_template_get_caps), (gst_pad_start_task),
7872 (gst_pad_pause_task), (gst_pad_stop_task):
7873 * gst/gstplugin.c: (gst_plugin_load):
7875 Remove gst_library_load as it does more harm than good with
7876 the new g_module flags.
7877 Revert bogus caps template check in pad linking, pad caps
7878 are important when linking not the template, which is more
7879 general than the current caps.
7881 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7883 * gst/autoplug/.cvsignore:
7884 * gst/autoplug/Makefile.am:
7885 * gst/autoplug/gstsearchfuncs.c:
7886 * gst/autoplug/gstsearchfuncs.h:
7887 * gst/autoplug/gstspider.c:
7888 * gst/autoplug/gstspider.h:
7889 * gst/autoplug/gstspideridentity.c:
7890 * gst/autoplug/gstspideridentity.h:
7891 * gst/autoplug/spidertest.c:
7894 2005-04-25 Wim Taymans <wim@fluendo.com>
7896 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
7897 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
7898 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
7899 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
7901 Added stubs for unimplemented functions.
7903 2005-04-24 David Schleef <ds@schleef.org>
7905 * gst/gstpad.h: Disable some unimplemented functions. Wim,
7908 2005-04-24 David Schleef <ds@schleef.org>
7910 Convert everything from GstAtomicInt to g_atomic_int_*, and
7915 * gst/gstatomic_impl.h:
7923 * gst/gstdata_private.h:
7930 * gst/gststructure.c:
7931 * gst/gststructure.h:
7932 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
7935 2005-04-24 David Schleef <ds@schleef.org>
7937 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
7938 make the regressions tests work. Remove some code that is no
7940 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
7941 Disable warning for pads without templates.
7943 2005-04-24 David Schleef <ds@schleef.org>
7945 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
7946 functions that handle filtered links.
7947 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
7949 * gst/gstutils.c: Fix/remove utility functions that handle
7952 * gst/gstvalue.c: Add serialization/deserialization of caps
7953 * gst/parse/grammar.y: Ignore filtered caps when linking. This
7954 requires fixing so that the filter caps notation creates
7955 a capsfilter element and sets the filter_caps property. I
7956 think everyone probably wants to keep the shorthand notation.
7957 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
7958 * docs/gst/tmpl/gstpad.sgml:
7960 * gst/elements/gstelements.c: Register capsfilter element.
7961 * gst/Makefile.am: fix spacing
7962 * docs/random/ds/0.9-suggested-changes: random
7964 2005-04-23 David Schleef <ds@schleef.org>
7966 * gst/elements/Makefile.am:
7967 * gst/elements/gstcapsfilter.c: New element that acts like an
7968 identity, but filters caps. Will eventually replace filtered
7969 caps in pad linking.
7970 * gst/gstutils.c: (gst_element_create_all_pads): New function
7971 to create all the ALWAYS pads that are registered with an
7972 element class. This functionality should eventually be
7973 merged in with GstElement initialization.
7975 * testsuite/trigger/README: part of trigger test code that should
7976 have been checked in a long time ago.
7978 2005-04-23 David Schleef <ds@schleef.org>
7980 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
7981 needed with new versions of libtool (nobody will confirm this),
7982 and hard to carry around.
7983 * gst/autoplug/Makefile.am:
7984 * gst/base/Makefile.am:
7985 * gst/elements/Makefile.am:
7986 * gst/indexers/Makefile.am:
7987 * gst/schedulers/Makefile.am:
7988 * libs/gst/bytestream/Makefile.am:
7989 * libs/gst/control/Makefile.am:
7990 * libs/gst/dataprotocol/Makefile.am:
7991 * libs/gst/getbits/Makefile.am:
7993 2005-04-21 Wim Taymans <wim@fluendo.com>
7995 * docs/design/draft-push-pull.txt:
7996 * docs/design/part-MT-refcounting.txt:
7997 * docs/design/part-TODO.txt:
7998 * docs/design/part-caps.txt:
7999 * docs/design/part-events.txt:
8000 * docs/design/part-gstbus.txt:
8001 * docs/design/part-gstpipeline.txt:
8002 * docs/design/part-messages.txt:
8003 * docs/design/part-push-pull.txt:
8004 * docs/design/part-query.txt:
8007 2005-04-21 Wim Taymans <wim@fluendo.com>
8009 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
8010 (gst_message_new), (gst_message_new_error),
8011 (gst_message_new_warning), (gst_message_new_tag),
8012 (gst_message_new_state_changed), (gst_message_new_application),
8013 (gst_message_get_structure):
8015 * gst/gststructure.c: (gst_structure_set_parent_refcount),
8016 (gst_structure_copy_conditional):
8017 Use parent refcount in GstMessage to ensure GstStructure
8019 Cleaned up headers a bit.
8022 2005-04-20 Wim Taymans <wim@fluendo.com>
8024 * gst/base/gstbasesink.c: (gst_basesink_base_init),
8025 (gst_basesink_pad_getcaps), (gst_basesink_init),
8026 (gst_basesink_chain_unlocked):
8027 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
8028 (gst_type_find_helper):
8029 * gst/elements/gsttypefindelement.c:
8030 (gst_type_find_element_have_type), (gst_type_find_element_init),
8031 (stop_typefinding), (gst_type_find_element_handle_event),
8032 (find_suggest), (gst_type_find_element_chain),
8033 (gst_type_find_element_checkgetrange),
8034 (gst_type_find_element_getrange), (do_typefind),
8035 (gst_type_find_element_activate):
8036 * gst/gstbuffer.c: (_gst_buffer_sub_free),
8037 (gst_buffer_default_free), (gst_buffer_default_copy),
8038 (gst_buffer_set_caps):
8039 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
8041 * gst/gstmessage.c: (gst_message_new),
8042 (gst_message_new_state_changed):
8043 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8044 (gst_pad_set_checkgetrange_function),
8045 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
8046 (gst_pad_set_caps), (gst_pad_check_pull_range),
8047 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
8049 * gst/gsttypefind.c: (gst_type_find_register):
8050 Make gst_caps_replace() work like other _replace() functions.
8051 Use _caps_replace() where possible.
8052 Make sure _message_new() initialises its field.
8053 Add gst_static_pad_template_get_caps()
8056 2005-04-18 Andy Wingo <wingo@pobox.com>
8058 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
8059 on the peer, not the pad. I think that was a typo. Pass an extra
8060 arg to see if random access is possible. Activate the pads as
8061 PULL_RANGE if possible.
8063 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
8065 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
8066 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
8069 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8071 * docs/faq/using.xml:
8072 Add note on gstreamer-properties (#154996).
8074 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8076 * docs/random/bbb/optional-properties:
8077 Some analysis on optional properties.
8079 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8081 * docs/gst/tmpl/gstelementfactory.sgml:
8083 * gst/gstelementfactory.c: (gst_element_factory_init),
8084 (gst_element_factory_cleanup), (gst_element_register),
8085 (__gst_element_factory_add_static_pad_template),
8086 (gst_element_factory_get_static_pad_templates),
8087 (gst_element_factory_can_src_caps),
8088 (gst_element_factory_can_sink_caps):
8089 * gst/registries/Makefile.am:
8090 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
8091 (gst_xml_registry_class_init), (gst_xml_registry_init),
8092 (gst_xml_registry_new), (gst_xml_registry_set_property),
8093 (gst_xml_registry_get_property), (get_time), (make_dir),
8094 (gst_xml_registry_get_perms_func),
8095 (plugin_times_older_than_recurse), (plugin_times_older_than),
8096 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
8097 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
8098 (add_to_char_array), (read_string), (read_uint), (read_enum),
8099 (load_pad_template), (load_feature), (load_plugin), (load_paths),
8100 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
8101 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
8102 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
8103 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
8104 (gst_xml_registry_rebuild):
8105 * gst/registries/gstlibxmlregistry.h:
8106 * tools/gst-compprep.c: (main):
8107 * tools/gst-inspect.c: (print_pad_templates_info):
8108 * tools/gst-xmlinspect.c: (print_element_info):
8109 Use libxml2 for registry parsing, use staticpadtemplates in
8110 elementfactories. Makes gst_init() +/- 10x faster.
8112 2005-04-12 Wim Taymans <wim@fluendo.com>
8114 * gst/base/Makefile.am:
8115 * gst/base/gstbasesink.c: (gst_basesink_base_init),
8116 (gst_basesink_pad_getcaps), (gst_basesink_init),
8117 (gst_basesink_event), (gst_basesink_change_state):
8118 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
8119 (gst_basesrc_init), (gst_basesrc_query),
8120 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
8121 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
8122 (gst_basesrc_check_get_range), (gst_basesrc_loop),
8123 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
8124 (gst_basesrc_stop), (gst_basesrc_activate),
8125 (gst_basesrc_change_state):
8126 * gst/base/gsttypefindhelper.c: (helper_find_peek),
8127 (helper_find_suggest), (gst_type_find_helper):
8128 * gst/base/gsttypefindhelper.h:
8129 * gst/elements/Makefile.am:
8130 * gst/elements/gstelements.c:
8131 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
8132 (gst_fakesink_get_times), (gst_fakesink_event),
8133 (gst_fakesink_preroll), (gst_fakesink_render):
8134 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8135 (gst_fakesrc_init), (gst_fakesrc_event_handler),
8136 (gst_fakesrc_get_property), (gst_fakesrc_create),
8137 (gst_fakesrc_start), (gst_fakesrc_stop):
8138 * gst/elements/gstfakesrc.h:
8139 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
8140 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
8141 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
8142 (gst_filesrc_create_read), (gst_filesrc_create),
8143 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
8144 (gst_filesrc_start):
8145 * gst/elements/gsttypefindelement.c:
8146 (gst_type_find_element_have_type), (gst_type_find_element_init),
8147 (start_typefinding), (stop_typefinding), (push_buffer_store),
8148 (gst_type_find_element_handle_event),
8149 (gst_type_find_element_chain),
8150 (gst_type_find_element_checkgetrange),
8151 (gst_type_find_element_getrange), (do_typefind),
8152 (gst_type_find_element_activate),
8153 (gst_type_find_element_change_state):
8154 * gst/elements/gsttypefindelement.h:
8155 * gst/gstpipeline.c: (pipeline_bus_handler):
8156 Added typefind helper.
8157 Small preroll fix in the base sink.
8158 Disable typefind code in basesrc.
8159 Crude port of typefindelement.
8163 2005-04-11 Wim Taymans <wim@fluendo.com>
8165 * check/gst/gstbus.c: (gstbus_suite):
8166 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
8168 Fix up the timeout so that the test does not fail.
8170 2005-04-06 Wim Taymans <wim@fluendo.com>
8173 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
8174 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
8175 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
8176 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
8177 (gst_basesrc_check_get_range), (gst_basesrc_loop),
8178 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
8179 (gst_basesrc_stop), (gst_basesrc_activate),
8180 (gst_basesrc_change_state), (basesrc_find_peek),
8181 (basesrc_find_suggest), (gst_basesrc_type_find):
8182 * gst/base/gstbasesrc.h:
8183 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
8184 (gst_filesrc_class_init), (gst_filesrc_init),
8185 (gst_filesrc_finalize), (gst_filesrc_set_location),
8186 (gst_filesrc_set_property), (gst_filesrc_get_property),
8187 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
8188 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
8189 (gst_filesrc_create_read), (gst_filesrc_create),
8190 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
8191 * gst/elements/gstfilesrc.h:
8192 * gst/gstelement.c: (gst_element_get_state_func),
8193 (gst_element_lost_state), (gst_element_pads_activate):
8194 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8195 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
8196 (gst_pad_pull_range):
8198 More work on the generic source base class, implement seeking,
8200 Make filesrc extend the base source class.
8201 Added gst_pad_set_checkgetrange_function to GstPad.
8203 2005-04-06 Andy Wingo <wingo@pobox.com>
8205 * pkgconfig/gstreamer-base.pc.in:
8206 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
8208 * pkgconfig/Makefile.am:
8209 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
8211 2005-04-04 Wim Taymans <wim@fluendo.com>
8213 * gst/base/Makefile.am:
8215 * gst/base/gstbasesink.c: (gst_basesink_base_init),
8216 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
8217 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
8218 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
8219 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
8220 (gst_basesrc_base_init), (gst_basesrc_class_init),
8221 (gst_basesrc_init), (gst_basesrc_get_formats),
8222 (gst_basesrc_get_query_types), (gst_basesrc_query),
8223 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
8224 (gst_basesrc_set_property), (gst_basesrc_get_property),
8225 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
8226 (gst_basesrc_loop), (gst_basesrc_activate),
8227 (gst_basesrc_change_state):
8228 * gst/base/gstbasesrc.h:
8229 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
8230 (gst_fakesrc_class_init), (gst_fakesrc_init),
8231 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
8232 (gst_fakesrc_get_property), (gst_fakesrc_create):
8233 * gst/elements/gstfakesrc.h:
8234 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
8235 (gst_filesrc_open_file), (gst_filesrc_loop),
8236 (gst_filesrc_activate), (filesrc_find_peek),
8237 (gst_filesrc_type_find):
8238 Made base source class, make fakesrc extend it.
8239 Add comments to basesink class.
8240 Some filesrc cleanup.
8242 2005-03-31 David Schleef <ds@schleef.org>
8244 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8245 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
8246 expected to link against libgstreamer.
8247 * gst/base/Makefile.am: link against libgstreamer
8248 * gst/elements/Makefile.am: same
8250 2005-03-31 Andy Wingo <wingo@pobox.com>
8252 * tests/instantiate/Makefile.am:
8253 * tests/instantiate/caps.c: Add test to test speed of caps copy
8256 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
8257 GMemChunk to be fair.
8259 * gst/gsttrashstack.h: Remove warning about using the fallback
8260 trash stack implementation, it's still faster than malloc.
8262 2005-03-30 Andy Wingo <wingo@pobox.com>
8264 * tests/complexity.c: Add a copyright.
8266 2005-03-31 Wim Taymans <wim@fluendo.com>
8268 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
8269 (gst_base_transform_class_init), (gst_base_transform_init),
8270 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8271 (gst_base_transform_get_property),
8272 (gst_base_transform_sink_activate),
8273 (gst_base_transform_src_activate),
8274 (gst_base_transform_change_state):
8275 * gst/base/gstbasetransform.h:
8276 * gst/elements/gstidentity.c: (gst_identity_class_init),
8277 (gst_identity_event), (gst_identity_check_perfect),
8278 (gst_identity_transform), (gst_identity_start),
8279 (gst_identity_stop):
8280 Added start/stop methods to transform base class so subclasses
8281 don't need to deal with state changes even.
8283 2005-03-31 Wim Taymans <wim@fluendo.com>
8285 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
8286 (gst_event_new_discontinuous), (gst_event_discont_get_value):
8288 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8289 (gst_pad_pull_range):
8290 Added rate to the discont event to prepare for variable speed
8291 and reverse playback.
8293 2005-03-29 David Schleef <ds@schleef.org>
8296 * testsuite/trigger/Makefile.am:
8297 * testsuite/trigger/trigger.c: A little example program to show
8298 how trigger-based elements can work.
8300 2005-03-29 Wim Taymans <wim@fluendo.com>
8302 * gst/base/Makefile.am:
8304 * gst/base/gstbasesink.c: (gst_basesink_get_type),
8305 (gst_basesink_base_init), (gst_basesink_class_init),
8306 (gst_basesink_pad_getcaps), (gst_basesink_init),
8307 (gst_basesink_activate), (gst_basesink_change_state):
8308 * gst/base/gstbasesink.h:
8309 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
8310 (gst_base_transform_base_init), (gst_base_transform_finalize),
8311 (gst_base_transform_class_init), (gst_base_transform_init),
8312 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
8313 (gst_base_transform_event), (gst_base_transform_getrange),
8314 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
8315 (gst_base_transform_set_property),
8316 (gst_base_transform_get_property),
8317 (gst_base_transform_sink_activate),
8318 (gst_base_transform_src_activate),
8319 (gst_base_transform_change_state):
8320 * gst/base/gstbasetransform.h:
8321 * gst/elements/gstidentity.c: (gst_identity_finalize),
8322 (gst_identity_class_init), (gst_identity_init),
8323 (gst_identity_event), (gst_identity_check_perfect),
8324 (gst_identity_transform), (gst_identity_set_property),
8325 (gst_identity_get_property), (gst_identity_change_state):
8326 * gst/elements/gstidentity.h:
8327 * gst/gstelement.c: (gst_element_get_state_func),
8328 (gst_element_lost_state), (gst_element_pads_activate):
8329 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8330 (gst_pad_check_pull_range), (gst_pad_pull_range):
8332 Simplify pad activation.
8333 Added function to check if pull_range can be performed.
8334 Error out when pulling inactive or flushing pads.
8335 Removed const from refcounted types as it does not make sense.
8336 Simplify pad templates in basesink
8337 Added base class for simple 1-to-1 transforms.
8338 Make identity subclass the base transform.
8340 2005-03-29 Andy Wingo <wingo@pobox.com>
8342 * docs/libs/gstreamer-libs-overrides.txt:
8343 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
8344 really don't understand what's going on, but like whatever. I want
8347 * docs/gst/Makefile.am:
8348 * docs/libs/Makefile.am: Dist the overrides files.
8350 * check/Makefile.am (clean-local): Remove .libs directories.
8352 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
8353 elements to EXTRA_DIST, so po/ files are happy.
8355 * po/POTFILES.in: Er, remove it here.
8357 * po/POTFILES: Remove gstspider.c.
8359 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
8361 * docs/libs/gstreamer-libs-docs.sgml:
8362 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
8365 * tests/complexity.c (main): Set the length of the preroll queue
8366 on the sinks to prevent a lockup.
8368 * libs/gst/dataprotocol/Makefile.am:
8369 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
8370 the same as the one in check/gst-libs/gdp.c.
8372 * po/, docs/gst/: Commit automatic changes to docs and po files.
8374 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
8375 the versioned libgstbase.
8377 * check/Makefile.am: Depend on an unversioned gst-register, seems
8378 to make autoconf happier.
8380 * gst/base/Makefile.am: Make libgstbase a versioned lib.
8382 2005-03-28 Wim Taymans <wim@fluendo.com>
8385 * docs/design/part-gstelement.txt:
8386 * docs/design/part-negotiation.txt:
8387 * docs/design/part-preroll.txt:
8388 * docs/design/part-scheduling.txt:
8389 * docs/design/part-states.txt:
8391 * gst/base/Makefile.am:
8393 * gst/base/gstbasesink.c: (gst_basesink_get_template),
8394 (gst_basesink_base_init), (gst_basesink_class_init),
8395 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
8396 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
8397 (gst_basesink_set_pad_functions),
8398 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
8399 (gst_basesink_set_property), (gst_basesink_get_property),
8400 (gst_base_sink_get_template), (gst_base_sink_get_caps),
8401 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
8402 (gst_basesink_preroll_queue_push),
8403 (gst_basesink_preroll_queue_empty),
8404 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
8405 (gst_basesink_event), (gst_basesink_get_times),
8406 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
8407 (gst_basesink_chain_unlocked), (gst_basesink_chain),
8408 (gst_basesink_loop), (gst_basesink_activate),
8409 (gst_basesink_change_state):
8410 * gst/base/gstbasesink.h:
8411 * gst/elements/Makefile.am:
8412 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
8413 (gst_fakesink_class_init), (gst_fakesink_init),
8414 (gst_fakesink_set_property), (gst_fakesink_get_property),
8415 (gst_fakesink_get_times), (gst_fakesink_event),
8416 (gst_fakesink_preroll), (gst_fakesink_render),
8417 (gst_fakesink_change_state):
8418 * gst/elements/gstfakesink.h:
8419 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
8420 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
8421 * gst/gstelement.c: (gst_element_add_pad),
8422 (gst_element_get_state_func), (gst_element_abort_state),
8423 (gst_element_commit_state), (gst_element_lost_state),
8424 (gst_element_set_state), (gst_element_pads_activate):
8425 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
8426 * gst/gstpipeline.c: (gst_pipeline_send_event),
8427 (gst_pipeline_change_state):
8428 Added state change code.
8430 Added sink base class, make fakesink extend the base class.
8431 Small cleanups in GstPipeline.
8433 2005-03-26 David Schleef <ds@schleef.org>
8435 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
8436 is broken and should be implemented in a different library.
8437 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
8438 * gst/gst.h: remove gstcpu.h
8439 * gst/gstcpu.c: remove
8440 * gst/gstcpu.h: remove
8441 * gst/Makefile.am.future: Remove this file. It's ancient.
8443 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8445 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
8446 (gst_bin_send_event):
8447 Add default event/set_manager handlers. The set_manager handler
8448 takes care that the manager is distributed over kids that were
8449 already in the bin before the manager was set. The event handler
8450 is a utility virtual function that sends the event over all sinks,
8451 so that gst_element_send_event (bin, event); has the expected
8453 * gst/gstpad.c: (gst_pad_event_default):
8454 Re-install default event handling for discontinuities, so that
8455 seeking works without requiring hacks in applications or extra
8457 * gst/gstpipeline.c: (gst_pipeline_class_init),
8458 (gst_pipeline_send_event):
8459 Half hack, half utility: set a pipeline to PAUSED for seek events,
8460 since that is the only way we can guarantee a/v sync. Means that
8461 you can do gst_element_seek (pipeline, method, pos); on a pipeline
8462 and it "just works".
8464 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8466 * gst/gstpipeline.c: (gst_pipeline_use_clock):
8467 Lock/unlock mismatch.
8469 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
8471 * docs/faq/gst-uninstalled:
8472 add gst-plugins-base
8473 * docs/gst/Makefile.am:
8474 don't error out until docs are fixed
8475 * docs/gst/gstreamer.types:
8478 2005-03-22 Wim Taymans <wim@fluendo.com>
8480 * check/Makefile.am:
8481 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
8482 * gst/gststructure.c: (gst_structure_set_valist),
8483 (gst_structure_copy_conditional):
8484 Activated more tests.
8486 Added G_TYPE_POINTER to GstStructure.
8489 2005-03-22 Wim Taymans <wim@fluendo.com>
8491 * docs/design/part-TODO.txt:
8492 * docs/design/part-events.txt:
8493 * docs/design/part-gstbin.txt:
8494 * docs/design/part-gstbus.txt:
8495 * docs/design/part-gstpipeline.txt:
8496 * docs/design/part-messages.txt:
8501 2005-03-21 Wim Taymans <wim@fluendo.com>
8503 * gst/gstbus.c: (gst_bus_post):
8504 Fix copy-and-paste error.
8506 2005-03-21 Wim Taymans <wim@fluendo.com>
8508 * check/Makefile.am:
8510 * gst/elements/Makefile.am:
8511 * gst/elements/gstelements.c:
8512 * gst/elements/gstfakesink.c: (gst_fakesink_init),
8513 (gst_fakesink_event), (gst_fakesink_chain):
8514 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8515 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
8516 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
8517 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
8518 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
8519 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
8520 (gst_fakesrc_loop), (gst_fakesrc_activate),
8521 (gst_fakesrc_change_state):
8522 * gst/elements/gstfakesrc.h:
8523 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8524 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
8525 (gst_filesrc_open_file), (gst_filesrc_loop),
8526 (gst_filesrc_activate), (gst_filesrc_change_state),
8527 (filesrc_find_peek), (filesrc_find_suggest),
8528 (gst_filesrc_type_find):
8529 * gst/elements/gstidentity.c: (gst_identity_finalize),
8530 (gst_identity_class_init), (gst_identity_init),
8531 (gst_identity_proxy_getcaps), (identity_queue_push),
8532 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
8533 (gst_identity_getrange), (gst_identity_chain),
8534 (gst_identity_sink_loop), (gst_identity_src_loop),
8535 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
8536 (gst_identity_set_property), (gst_identity_get_property),
8537 (gst_identity_change_state):
8538 * gst/elements/gstidentity.h:
8539 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
8540 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
8541 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
8542 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
8543 (gst_tee_sink_activate):
8544 * gst/elements/gsttee.h:
8545 * gst/gst.c: (gst_register_core_elements), (init_post):
8547 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
8548 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
8549 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
8550 (gst_bin_change_state):
8552 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
8553 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
8554 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
8555 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
8556 (gst_bus_set_sync_handler), (gst_bus_create_watch),
8557 (bus_watch_callback), (bus_watch_destroy),
8558 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
8559 (poll_timeout), (gst_bus_poll):
8563 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
8564 (gst_element_post_message), (gst_element_message_full),
8565 (gst_element_get_state_func), (gst_element_get_state),
8566 (gst_element_abort_state), (gst_element_commit_state),
8567 (gst_element_lost_state), (gst_element_set_state),
8568 (gst_element_pads_activate), (gst_element_change_state),
8569 (gst_element_dispose), (gst_element_set_manager_func),
8570 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
8571 (gst_element_set_manager), (gst_element_get_manager),
8572 (gst_element_set_bus), (gst_element_get_bus),
8573 (gst_element_set_scheduler), (gst_element_get_scheduler):
8575 * gst/gstevent.c: (gst_event_new_segment_seek),
8576 (gst_event_new_flush):
8578 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
8579 (_gst_message_free), (gst_message_get_type), (gst_message_new),
8580 (gst_message_new_eos), (gst_message_new_error),
8581 (gst_message_new_warning), (gst_message_new_tag),
8582 (gst_message_new_state_changed), (gst_message_new_application),
8583 (gst_message_get_structure), (gst_message_parse_tag),
8584 (gst_message_parse_state_changed), (gst_message_parse_error),
8585 (gst_message_parse_warning):
8587 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
8588 (gst_real_pad_set_property), (gst_pad_set_active),
8589 (gst_pad_is_active), (gst_pad_set_blocked_async),
8590 (gst_pad_set_blocked), (gst_pad_is_blocked),
8591 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
8592 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
8593 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
8594 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
8595 (gst_pad_link_filtered), (gst_pad_relink_filtered),
8596 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
8597 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
8598 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
8599 (gst_pad_set_caps), (gst_pad_configure_sink),
8600 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
8601 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
8602 (gst_real_pad_dispose), (gst_real_pad_finalize),
8603 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
8604 (gst_pad_event_default_dispatch), (gst_pad_event_default),
8605 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
8607 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
8608 (pipeline_bus_handler), (gst_pipeline_change_state),
8609 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
8610 * gst/gstpipeline.h:
8612 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
8613 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
8614 (gst_queue_link_src), (gst_queue_bufferalloc),
8615 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
8616 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
8617 (gst_queue_loop), (gst_queue_handle_src_event),
8618 (gst_queue_handle_src_query), (gst_queue_src_activate),
8619 (gst_queue_change_state):
8621 * gst/gstscheduler.c: (gst_scheduler_init),
8622 (gst_scheduler_dispose), (gst_scheduler_create_task),
8623 (gst_scheduler_factory_create):
8624 * gst/gstscheduler.h:
8625 * gst/gststructure.c: (gst_structure_get_type),
8626 (gst_structure_copy_conditional):
8627 * gst/gststructure.h:
8628 * gst/gsttaginterface.h:
8629 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8630 (gst_task_init), (gst_task_dispose), (gst_task_create),
8631 (gst_task_get_state), (gst_task_start), (gst_task_stop),
8637 * gst/schedulers/Makefile.am:
8638 * gst/schedulers/cothreads_compat.h:
8639 * gst/schedulers/entryscheduler.c:
8640 * gst/schedulers/faircothreads.c:
8641 * gst/schedulers/faircothreads.h:
8642 * gst/schedulers/fairscheduler.c:
8643 * gst/schedulers/gstbasicscheduler.c:
8644 * gst/schedulers/gstoptimalscheduler.c:
8645 * gst/schedulers/gthread-cothreads.h:
8646 * gst/schedulers/threadscheduler.c:
8647 (gst_thread_scheduler_task_get_type),
8648 (gst_thread_scheduler_task_class_init),
8649 (gst_thread_scheduler_task_init),
8650 (gst_thread_scheduler_task_start),
8651 (gst_thread_scheduler_task_stop),
8652 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
8653 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
8654 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
8655 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
8657 * libs/gst/Makefile.am:
8658 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
8659 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
8660 (gst_file_pad_parent_set):
8661 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8662 (gst_dp_event_from_packet):
8663 * tests/complexity.c: (main):
8664 * tests/mass_elements.c: (main):
8665 * testsuite/states/locked.c: (message_received), (main):
8666 * testsuite/states/parent.c: (main):
8667 * tools/gst-inspect.c: (print_element_flag_info),
8668 (print_implementation_info), (print_pad_info):
8669 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
8671 * tools/gst-md5sum.c: (event_loop), (main):
8672 * tools/gst-typefind.c: (main):
8673 * tools/gst-xmlinspect.c: (print_element_info):
8675 Added GstBus for mainloop integration.
8676 Added GstMessage for sending notifications on the bus.
8677 Added GstTask as an abstraction for pipeline entry points.
8680 Simplified GstQueue for multithreaded core.
8681 Made _link threadsafe, removed old capsnego.
8682 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
8683 Added pad blocking functions.
8684 Reworked scheduling functions in GstPad to prepare for
8685 scheduling updates soon.
8686 Moved events out of data stream.
8687 Simplified GstEvent types.
8688 Added return values to push/pull.
8689 Removed clocking from GstElement.
8690 Added prototypes for state change function for next merge.
8691 Removed iterate from bins and state change management.
8692 Fixed some elements, disabled others for now.
8693 Fixed -inspect and -launch.
8694 Added check for GstBus.
8696 2005-03-10 Wim Taymans <wim@fluendo.com>
8698 * docs/design/part-MT-refcounting.txt:
8699 * docs/design/part-clocks.txt:
8700 * docs/design/part-gstelement.txt:
8701 * docs/design/part-gstobject.txt:
8702 * docs/design/part-standards.txt:
8703 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
8704 (gst_bin_remove_func), (gst_bin_remove):
8708 * testsuite/clock/clock1.c: (main):
8709 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
8711 * testsuite/dlopen/loadgst.c: (do_test):
8712 * testsuite/refcounting/bin.c: (add_remove_test1),
8713 (add_remove_test2), (main):
8714 * testsuite/refcounting/element.c: (main):
8715 * testsuite/refcounting/element_pad.c: (main):
8716 * testsuite/refcounting/pad.c: (main):
8717 * tools/gst-launch.c: (sigint_handler_sighandler):
8718 * tools/gst-typefind.c: (main):
8720 Added doc about clock.
8721 removed gst_bin_iterate_recurse_up(), marked methods
8723 Fix more testsuites.
8725 2005-03-09 Wim Taymans <wim@fluendo.com>
8727 * gst/gstpad.c: (gst_pad_get_direction),
8728 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
8729 (gst_pad_collect_valist):
8730 * testsuite/bins/interface.c: (main):
8731 * testsuite/caps/audioscale.c: (test_caps):
8732 * testsuite/caps/caps.c: (test1), (test2), (test3):
8733 * testsuite/caps/deserialize.c: (main):
8734 * testsuite/caps/enumcaps.c: (main):
8735 * testsuite/caps/filtercaps.c: (main):
8736 * testsuite/caps/intersect2.c: (main):
8737 * testsuite/caps/random.c: (main):
8738 * testsuite/caps/renegotiate.c: (my_fixate), (main):
8739 * testsuite/caps/sets.c: (check_caps):
8740 * testsuite/caps/simplify.c: (check_caps), (main):
8741 * testsuite/caps/subtract.c: (check_caps):
8742 Fix _pad_get_direction wrt ghostpads.
8745 2005-03-09 Wim Taymans <wim@fluendo.com>
8747 * check/Makefile.am:
8748 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
8749 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
8750 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
8751 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
8752 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
8753 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
8754 (gst_bin_remove), (gst_bin_iterate_recurse_up),
8755 (bin_element_is_sink), (gst_bin_iterate_sinks),
8756 (gst_bin_iterate_all_by_interface):
8758 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
8759 (gst_element_change_state), (gst_element_dispose),
8760 (gst_element_finalize), (gst_element_set_loop_function):
8762 * gst/gstiterator.c: (find_custom_fold_func):
8763 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
8764 (gst_pad_collectv), (gst_pad_collect_valist),
8765 (gst_pad_template_new):
8766 * gst/gstpipeline.c: (gst_pipeline_class_init),
8767 (gst_pipeline_dispose), (gst_pipeline_set_property),
8768 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
8769 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
8770 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
8772 * gst/schedulers/entryscheduler.c:
8773 * gst/schedulers/gstbasicscheduler.c:
8774 (gst_basic_scheduler_cothreaded_chain),
8775 (gst_basic_scheduler_chain_add_element):
8776 * testsuite/bins/interface.c: (main):
8778 Added GstSystemClock test.
8779 Implemented clock distribution code in GstBin.
8780 Implemented iterate sinks method for future use.
8781 Rearranged gstelement.h
8782 Fix GstIterator comparison bug.
8783 Moved some code to GstPipeline, mostly clocking related.
8785 2005-03-09 Wim Taymans <wim@fluendo.com>
8788 * gst/gst_private.h:
8789 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
8790 (gst_bin_remove_func), (gst_bin_remove),
8791 (gst_bin_get_by_name_recurse_up):
8792 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
8793 (gst_clock_id_compare_func), (gst_clock_id_wait),
8794 (gst_clock_id_wait_async), (gst_clock_init),
8795 (gst_clock_adjust_unlocked), (gst_clock_get_time):
8797 * gst/gstinfo.c: (_gst_debug_init):
8799 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
8800 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
8802 Bump version number, we're now 0.9.0
8803 Add future debugging category.
8804 Fix NULL _unref() in _get_by_name_recurse_up
8808 2005-03-08 Wim Taymans <wim@fluendo.com>
8810 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
8811 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
8812 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8813 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
8814 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
8815 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
8816 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
8817 * gst/elements/gstidentity.c: (gst_identity_class_init):
8818 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
8819 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
8820 * gst/elements/gstshaper.c: (gst_shaper_class_init):
8821 * gst/elements/gststatistics.c: (gst_statistics_class_init):
8822 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
8824 * gst/gstelement.c: (gst_element_class_init),
8825 (gst_element_base_class_init), (gst_element_init),
8826 (gst_element_get_random_pad), (gst_element_wait_state_change),
8827 (gst_element_change_state), (gst_element_dispose),
8828 (gst_element_finalize), (gst_element_set_loop_function):
8830 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
8831 * gst/gstthread.c: (gst_thread_class_init),
8832 (gst_thread_release_children_locks), (gst_thread_change_state):
8833 * gst/schedulers/gstbasicscheduler.c:
8834 (gst_basic_scheduler_loopfunc_wrapper),
8835 (gst_basic_scheduler_chain_wrapper),
8836 (gst_basic_scheduler_src_wrapper),
8837 (gst_basic_scheduler_remove_element):
8838 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
8839 Remove threadsafe properties. Fix elements because GObject
8840 complains when installing a property before declaring a
8841 set/get_property handler.
8842 Rearrange gstelement.h file, use STATE macros for state locks.
8843 Free mutexes in the finalize method instead of dispose.
8845 2005-03-08 Wim Taymans <wim@fluendo.com>
8847 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
8848 * gst/gstthread.c: (gst_thread_release_children_locks):
8849 Added parentage check.
8850 Fix build og GstThread again.
8852 2005-03-08 Wim Taymans <wim@fluendo.com>
8854 * docs/design/part-MT-refcounting.txt:
8855 * docs/design/part-conventions.txt:
8856 * docs/design/part-gstobject.txt:
8857 * docs/design/part-relations.txt:
8858 * docs/design/part-standards.txt:
8859 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
8860 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
8861 (gst_bin_get_by_name), (gst_bin_get_by_interface),
8862 (gst_bin_iterate_all_by_interface):
8865 * gst/gstelement.c: (gst_element_class_init),
8866 (gst_element_change_state), (gst_element_set_loop_function):
8868 * gst/gstiterator.c:
8869 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
8870 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
8871 (gst_object_dispatch_properties_changed), (gst_object_set_name),
8872 (gst_object_set_parent), (gst_object_unparent),
8873 (gst_object_check_uniqueness):
8875 Docs updates, clean up some headers.
8877 2005-03-07 Wim Taymans <wim@fluendo.com>
8880 * check/Makefile.am:
8881 * check/gst-libs/.cvsignore:
8882 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
8883 * check/gst/.cvsignore:
8884 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
8885 (START_TEST), (gstbus_suite), (main):
8886 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
8887 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
8888 (gst_data_suite), (main):
8889 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
8890 (add_fold_func), (gstiterator_suite), (main):
8891 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
8892 (thread_name_object), (thread_name_object_default),
8893 (gst_object_name_compare), (gst_object_suite), (main):
8894 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
8895 (gst_pad_suite), (main):
8896 * check/gstcheck.c: (gst_check_log_message_func),
8897 (gst_check_log_critical_func), (gst_check_init):
8899 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
8900 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
8903 2005-03-07 Wim Taymans <wim@fluendo.com>
8905 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
8906 (gst_list_iterator_next), (gst_list_iterator_resync),
8907 (gst_list_iterator_free), (gst_iterator_new_list),
8908 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
8909 (gst_iterator_free), (gst_iterator_push), (filter_next),
8910 (filter_resync), (filter_uninit), (filter_free),
8911 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
8912 (gst_iterator_foreach), (find_custom_fold_func),
8913 (gst_iterator_find_custom):
8914 * gst/gstiterator.h:
8915 Added missing files.
8917 2005-03-07 Wim Taymans <wim@fluendo.com>
8921 * docs/design/part-MT-refcounting.txt:
8922 * docs/design/part-conventions.txt:
8923 * docs/design/part-gstobject.txt:
8924 * docs/design/part-relations.txt:
8925 * examples/mixer/mixer.c: (main):
8926 * examples/thread/thread.c: (eos), (main):
8928 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
8929 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
8930 (gst_spider_plug_from_srcpad):
8931 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
8932 (gst_spider_identity_change_state),
8933 (gst_spider_identity_sink_loop_type_finding):
8934 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
8935 * gst/elements/gstidentity.c: (gst_identity_init):
8936 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
8937 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
8938 * gst/elements/gsttypefindelement.c: (free_entry):
8941 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
8942 (gst_bin_set_clock_func), (gst_bin_auto_clock),
8943 (gst_bin_set_index), (gst_bin_set_element_sched),
8944 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
8945 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
8946 (gst_bin_iterate_elements), (iterate_child_recurse),
8947 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
8948 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
8949 (compare_interface), (gst_bin_get_by_interface),
8950 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
8952 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
8953 (gst_buffer_default_free), (gst_buffer_default_copy),
8954 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
8955 (gst_buffer_create_sub):
8957 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
8958 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
8959 (gst_caps_unref), (gst_static_caps_get),
8960 (gst_caps_remove_and_get_structure), (gst_caps_append),
8961 (gst_caps_append_structure), (gst_caps_remove_structure),
8962 (gst_caps_copy_nth), (gst_caps_set_simple),
8963 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
8964 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
8965 (gst_caps_structure_intersect_field), (gst_caps_intersect),
8966 (gst_caps_structure_subtract_field), (gst_caps_subtract),
8967 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
8968 (gst_caps_structure_figure_out_union),
8969 (gst_caps_switch_structures), (gst_caps_do_simplify),
8970 (gst_caps_replace), (gst_caps_from_string),
8971 (gst_caps_copy_conditional):
8973 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
8974 (_gst_clock_id_free), (gst_clock_id_unref),
8975 (gst_clock_id_compare_func), (gst_clock_id_wait),
8976 (gst_clock_id_wait_async), (gst_clock_class_init),
8977 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
8978 (gst_clock_get_time), (gst_clock_set_time_adjust),
8979 (gst_clock_set_property), (gst_clock_get_property):
8982 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
8983 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
8985 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
8986 (gst_element_requires_clock), (gst_element_provides_clock),
8987 (gst_element_set_clock), (gst_element_clock_wait),
8988 (gst_element_wait), (gst_element_set_time_delay),
8989 (gst_element_is_indexable), (gst_element_add_pad),
8990 (gst_element_add_ghost_pad), (gst_element_remove_pad),
8991 (pad_compare_name), (gst_element_get_static_pad),
8992 (gst_element_request_pad), (gst_element_get_request_pad),
8993 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
8994 (gst_element_class_get_pad_template_list),
8995 (gst_element_class_get_pad_template), (gst_element_error_func),
8996 (gst_element_get_random_pad), (gst_element_get_event_masks),
8997 (gst_element_send_event), (gst_element_seek),
8998 (gst_element_get_query_types), (gst_element_query),
8999 (gst_element_get_formats), (gst_element_convert),
9000 (gst_element_is_locked_state), (gst_element_set_locked_state),
9001 (gst_element_sync_state_with_parent), (gst_element_change_state),
9002 (gst_element_finalize), (gst_element_yield),
9003 (gst_element_interrupt), (gst_element_set_scheduler),
9004 (gst_element_get_scheduler), (gst_element_set_loop_function):
9007 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
9008 (gst_format_get_by_nick), (gst_format_get_details),
9009 (gst_format_iterate_definitions):
9011 * gst/gstindex.c: (gst_index_gtype_resolver):
9014 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
9015 (gst_mem_chunk_free):
9016 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
9017 (gst_object_ref), (gst_object_unref), (gst_object_sink),
9018 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
9019 (gst_object_dispatch_properties_changed),
9020 (gst_object_set_name_default), (gst_object_set_name),
9021 (gst_object_get_name), (gst_object_set_name_prefix),
9022 (gst_object_get_name_prefix), (gst_object_set_parent),
9023 (gst_object_get_parent), (gst_object_unparent),
9024 (gst_object_check_uniqueness), (gst_object_save_thyself),
9025 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
9026 (gst_object_set_property), (gst_object_get_property),
9027 (gst_object_get_path_string):
9029 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
9030 (gst_real_pad_init), (gst_real_pad_get_property),
9031 (gst_pad_custom_new), (gst_pad_get_direction),
9032 (gst_pad_set_active), (gst_pad_is_active),
9033 (gst_pad_set_event_function), (gst_pad_is_linked),
9034 (gst_pad_link_free), (gst_pad_link_intersect),
9035 (gst_pad_link_fixate), (gst_pad_set_caps),
9036 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
9037 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
9038 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
9039 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
9040 (gst_pad_get_caps), (gst_pad_peer_get_caps),
9041 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
9042 (gst_pad_realize), (gst_pad_get_allowed_caps),
9043 (gst_real_pad_dispose), (gst_real_pad_finalize),
9044 (gst_pad_collectv), (gst_pad_collect_valist),
9045 (gst_pad_template_dispose), (gst_pad_template_new),
9046 (gst_pad_get_internal_links):
9048 * gst/gstpipeline.c: (gst_pipeline_dispose),
9049 (gst_pipeline_change_state):
9050 * gst/gstpipeline.h:
9052 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
9053 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
9054 * gst/gstpluginfeature.h:
9055 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
9056 * gst/gstquery.c: (_gst_query_type_initialize),
9057 (gst_query_type_register), (gst_query_type_get_by_nick),
9058 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
9060 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
9061 * gst/gstscheduler.c: (gst_scheduler_add_element),
9062 (gst_scheduler_factory_create):
9063 * gst/gststructure.c: (gst_structure_set_parent_refcount),
9064 (gst_structure_free), (gst_structure_set_name),
9065 (gst_structure_id_set_value), (gst_structure_set_value),
9066 (gst_structure_set_valist), (gst_structure_remove_field),
9067 (gst_structure_remove_fields),
9068 (gst_structure_remove_fields_valist),
9069 (gst_structure_remove_all_fields), (gst_structure_foreach),
9070 (gst_structure_map_in_place),
9071 (gst_caps_structure_fixate_field_nearest_int),
9072 (gst_caps_structure_fixate_field_nearest_double):
9073 * gst/gststructure.h:
9074 * gst/gstsystemclock.c: (gst_system_clock_class_init),
9075 (gst_system_clock_init), (gst_system_clock_dispose),
9076 (gst_system_clock_async_thread),
9077 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
9078 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9079 * gst/gstsystemclock.h:
9080 * gst/gsttag.c: (gst_tag_list_add_value_internal),
9081 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
9082 * gst/gsttaginterface.c:
9083 * gst/gstthread.c: (gst_thread_dispose),
9084 (gst_thread_release_children_locks), (gst_thread_change_state),
9085 (gst_thread_main_loop):
9086 * gst/gsttrashstack.h:
9087 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
9089 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9090 (gst_element_request_pad), (gst_element_get_pad_from_template),
9091 (gst_element_request_compatible_pad),
9092 (gst_element_get_compatible_pad_filtered),
9093 (gst_element_get_compatible_pad), (gst_element_state_get_name),
9094 (gst_element_link_pads_filtered), (gst_element_link_filtered),
9095 (gst_element_link_many), (gst_element_link),
9096 (gst_element_link_pads), (gst_element_unlink_pads),
9097 (gst_element_unlink_many), (gst_element_unlink),
9098 (gst_pad_can_link_filtered), (gst_pad_can_link),
9099 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
9100 (gst_object_default_error), (gst_bin_add_many),
9101 (gst_bin_remove_many), (gst_element_populate_std_props),
9102 (gst_element_class_install_std_props), (gst_buffer_merge),
9103 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
9104 (link_fold_func), (gst_pad_proxy_setcaps):
9106 * gst/gstvalue.c: (gst_value_deserialize_string):
9107 * gst/parse/grammar.y:
9108 * gst/schedulers/gstbasicscheduler.c:
9109 (gst_basic_scheduler_cothreaded_chain),
9110 (gst_basic_scheduler_chain_recursive_add),
9111 (gst_basic_scheduler_pad_link):
9112 * gst/schedulers/gstoptimalscheduler.c:
9113 (get_group_schedule_function),
9114 (gst_opt_scheduler_state_transition),
9115 (gst_opt_scheduler_add_element), (element_get_reachables_func):
9116 * libs/gst/bytestream/bytestream.c:
9117 * libs/gst/dataprotocol/dataprotocol.c:
9118 (gst_dp_header_from_buffer):
9121 * tests/threadstate/threadstate2.c: (eos):
9122 * tools/gst-compprep.c: (main):
9123 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
9124 (print_pad_info), (print_children_info):
9125 * tools/gst-launch.c: (idle_func), (main):
9126 * tools/gst-md5sum.c: (idle_func), (main):
9127 * tools/gst-xmlinspect.c: (print_element_info):
9128 First THREADED backport attempt, focusing on adding locks and
9129 making sure the API is threadsafe. Needs more work. More docs
9132 2005-02-24 Andy Wingo <wingo@pobox.com>
9134 * tests/bench-complexity.scm:
9135 * tests/complexity.gnuplot: New files, good for running complexity
9138 * tests/Makefile.am:
9139 * tests/complexity.c: New test, sets up N elements, at each level
9140 teeing into M streams per element. Eeeenteresting.
9142 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
9143 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
9144 running bench-mass_elements.scm.
9146 * tests/bench-mass_elements.scm: New script, runs mass_elements
9147 for various numbers of identities, outputting the results to a
9148 file. Requires guile 1.6. Just for testing.
9150 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
9152 * gst/schedulers/fairscheduler.c:
9153 compile with debug disabled
9155 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
9158 hunting season on 0.9 is now OPEN