1 2005-11-19 Andy Wingo <wingo@pobox.com>
4 * gst/gstvalue.c (gst_value_array_append_value)
5 (gst_value_array_prepend_value, gst_value_array_get_size)
6 (gst_value_array_get_value): New API, copied from
7 gst_value_list_*, only operates on arrays.
8 (gst_value_list_append_value, gst_value_list_prepend_value)
9 (gst_value_list_concat, gst_value_list_get_size)
10 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
12 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
13 init_list, because it works on both.
14 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
15 (gst_value_copy_list_or_array): Renamed from copy_list.
16 (gst_value_free_list_or_array): Renamed from free_list.
17 (gst_value_collect_list_or_array): Renamed from collect_list.
18 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
19 (gst_value_list_or_array_peek_pointer): Renamed from
21 (_gst_value_array_value_table, _gst_value_list_value_table):
22 Update value table functions.
23 (gst_value_compare_list_or_array): Renamed from compare_list.
25 * gsttaglist.h: Whoops, foreach function returns void. Also fix
29 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
30 GstTagList*. Fixes #143472.
32 * gst/gststructure.h: Clarify what the foreach/map functions can
33 or can't do to their arguments.
35 2005-11-18 Wim Taymans <wim@fluendo.com>
37 * gst/gstclock.c: (gst_clock_set_calibration),
38 (gst_clock_get_calibration):
40 Callibration can be set with internal time equal to current
43 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
49 2005-11-18 Andy Wingo <wingo@pobox.com>
52 * pkgconfig/gstreamer-net.pc.in:
53 * pkgconfig/gstreamer-net-uninstalled.pc.in:
54 * pkgconfig/Makefile.am: Add net pkgconfig files.
56 2005-11-18 Stefan Kost <ensonic@users.sf.net>
65 2005-11-18 Andy Wingo <wingo@pobox.com>
67 * gst/net/gstnetclientclock.c: Turn off debugging.
69 * check/net/gstnetclientclock.c (test_functioning): Assert that the
70 times connverge somewhat. Can't make a real test.
72 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
73 integer arithmetic. Return the minimum of the domain, which can be
74 set as "internal" for gst_clock_set_calibration.
75 (gst_net_client_clock_observe_times): Call _set_calibration.
76 (gst_net_client_clock_new): Call _set_calibration instead of
79 * check/net/gstnetclientclock.c (test_functioning): Use the right
83 * gst/gstclock.c (gst_clock_get_calibration)
84 (gst_clock_set_calibration): New functions, obsolete the ones I
85 added yesterday. Doh. Precision issues mean we have to extrapolate
86 from a point in the more recent past than 1970.
87 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
89 (gst_clock_adjust_unlocked): Use the right calibration data.
91 2005-11-18 Edward Hervey <edward@fluendo.com>
93 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
94 Also reset the ->current_* values in READY->PAUSED
96 2005-11-18 Andy Wingo <wingo@pobox.com>
98 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
99 Whoops, check the right fd. Also add some debugging.
100 (gst_net_client_clock_observe_times): Adjust for int64 offset.
101 (do_linear_regression): Add a crapload of debugging. Subtract off
102 the minimum values from the input series to discard unneeded bits.
103 Use only int arithmetic. There is still double arithmetic when
104 calculating the intercept that needs fixing. Return boolean to
105 indicate success; FALSE would mean the domain or range is too
106 great. Still needs fixes.
108 2005-11-18 Wim Taymans <wim@fluendo.com>
110 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
111 For the current position in stream time, we need to subtract
114 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
115 Release lock before calling the callback function of async
118 2005-11-18 Andy Wingo <wingo@pobox.com>
120 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
121 Port goes all the way to MAXUINT16.
123 * gst/net/gstnettimeprovider.c: Make the port range the same as
124 for the kernel: 0 assigns, otherwise ports are less than
127 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
130 * check/net/gstnetclientclock.c (test_functioning): Add the start
133 2005-11-18 Wim Taymans <wim@fluendo.com>
135 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
136 (gst_bin_remove_func), (bin_bus_handler):
138 Removing a clock provider from a bin, triggers a clock lost message
139 so that a new clock will be selected.
140 Adding a clock to a bin triggers a clock provider message.
141 Make sure we reselect a clock when we received a clock lost message.
142 Keep a reference to the element that provided the clock.
144 2005-11-18 Andy Wingo <wingo@pobox.com>
146 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
147 the clock initially so it produces values around the base time.
148 (gst_net_client_clock_class_init): Typo fix.
149 (gst_net_client_clock_thread): Add note on when the socket gets
152 2005-11-17 Wim Taymans <wim@fluendo.com>
154 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
155 Free remote and local time arrays.
157 2005-11-17 Wim Taymans <wim@fluendo.com>
159 * gst/net/gstnetclientclock.c: (do_linear_regression),
160 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
161 Fix compilation, uninitialized vars and a forgotten continue.
163 2005-11-17 Andy Wingo <wingo@pobox.com>
165 * check/Makefile.am (check_PROGRAMS):
166 * check/net/gstnetclientclock.c: Add a most minimal test for the
167 net client clock. More to come later.
170 * gst/net/Makefile.am: Add netclientclock.
172 * gst/net/gstnetclientclock.h:
173 * gst/net/gstnetclientclock.c: New files, implement an untested
174 GstClock that takes its time from a network time provider.
175 Implements the algorithm in network-clock.scm.
177 * tests/network-clock.scm (*window-size*): Rename from
179 * tests/network-clock.scm (network-time):
180 * tests/network-clock-utils.scm (q-push): Update callers.
182 2005-11-17 Wim Taymans <wim@fluendo.com>
184 * gst/gstbin.c: (gst_bin_provide_clock_func),
185 (gst_bin_sort_iterator_new):
186 And unref the child too..
188 2005-11-17 Wim Taymans <wim@fluendo.com>
190 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
191 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
192 Refactor the sort iterator so it can be used while holding the
194 Make clock selection select a clock closest to the source.
196 2005-11-17 Michael Smith <msmith@fluendo.com>
198 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
199 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
201 Anonymous structs are a gcc (and some other compilers) extension, so
202 don't use them. Since this is only for ABI-compatibility, and our
203 API/ABI freeze is over in a few days, this whole thing will only
204 last a few days, so don't bother trying to think up a meaningful
207 2005-11-17 Andy Wingo <wingo@pobox.com>
209 * gst/gstclock.h (GstClock): Add rate and offset properties,
210 preserving ABI stability. Add rate/offset accessors. Will file bug
211 for the freeze break.
213 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
214 and offset, trying to keep precision and avoiding
216 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
217 functions. Make gst_clock_set_time_adjust obsolete.
218 (gst_clock_set_time_adjust): Note that this function is obsolete.
221 * gst/base/gstbasetransform.h: Make the ABI-stability hack
222 greppable by using GST_PADDING-1+1.
224 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
226 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
228 * gst/gstmessage.c: (gst_message_parse_clock_lost):
229 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
231 * gst/gstpadtemplate.h:
232 * gst/gstpluginfeature.h:
233 Don't use c++ style comments in headers (#321638).
235 2005-11-16 Andy Wingo <wingo@pobox.com>
237 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
240 * check/net/gstnettimeprovider.c: Check to see that the time
241 provider actually provides times. Works, yo!
243 2005-11-16 Wim Taymans <wim@fluendo.com>
248 * check/elements/fakesrc.c: (GST_START_TEST):
249 Set element to NULL before disposing it.
251 2005-11-16 Andy Wingo <wingo@pobox.com>
253 * gst/net/Makefile.am:
255 * gst/net/gstnettimeprovider.c:
256 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
257 provider, include it from gstnet.h, and add it to the build.
259 * gst/net/gstnettimepacket.h:
260 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
261 sending and receiving.
263 2005-11-16 Wim Taymans <wim@fluendo.com>
266 Enable valgrind check.
268 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
269 (gst_fake_src_alloc_buffer):
272 2005-11-16 Wim Taymans <wim@fluendo.com>
274 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
275 Call parent finalize too.
277 2005-11-16 Wim Taymans <wim@fluendo.com>
280 Enable valgrind check that should work fine now.
282 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
283 * gst/gstqueue.c: (gst_queue_init):
284 Fix memleaks in pad allocation.
286 2005-11-16 Andy Wingo <wingo@pobox.com>
288 * gst/net/Makefile.am:
289 * gst/net/gstnet.h: New part of core to hold network elements and
290 objects. Put in core because it exposes API that applications want
291 to use. The library is named libgstnet-tempname right now because
292 of the existing libgstnet in gst-plugins-base. Solution is
293 probably to rename the one in plugins-base; will file a bug for
296 * gst/net/gstnettimeprovider.c:
297 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
298 get_time call over the network.
301 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
304 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
305 get additions shortly.
307 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
309 * gst/gstpad.c: (gst_pad_new_from_static_template):
311 add gst_pad_new_from_static_template functions
312 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
313 (gst_check_setup_sink_pad):
314 * gst/elements/gsttee.c: (gst_tee_init):
317 2005-11-16 Wim Taymans <wim@fluendo.com>
319 * gst/gstpad.c: (gst_pad_pause_task):
320 Removed warning, it's not really an error either.
322 2005-11-16 Wim Taymans <wim@fluendo.com>
324 * gst/base/gstbasetransform.c:
325 (gst_base_transform_prepare_output_buf),
326 (gst_base_transform_event):
327 Check if the caps are NULL, this can happen if the element
328 is shutting down and the pad caps are set to NULL.
330 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
332 * gst/elements/gsttee.c: (gst_tee_init):
333 fix pad tempalte leak in tee
335 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
337 * gst/glib-compat.c: (g_value_dup_gst_object):
339 * gst/gstpad.c: (gst_pad_set_property):
340 use gst_object_ref when setting the pad template; this will
341 trigger the pad template leaks on GLib 2.6 and the slaves
343 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
345 * gst/glib-compat.c: (gst_flags_get_first_value):
347 * gst/gstregistryxml.c:
348 remove functions copied from GLib 2.6
350 2005-11-16 Michael Smith <msmith@fluendo.com>
353 Don't link against VALGRIND_LIBS. That was always the wrong thing to
354 do, but only breaks with newer valgrind versions. We're not a
355 valgrind tool, we have no link-time dependencies on libcoregrind.
357 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
359 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
364 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
366 * gst/base/gstbasesrc.c: (gst_base_src_init):
367 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
368 * gst/gstqueue.c: (gst_queue_init):
369 * gst/gstregistryxml.c: (load_feature):
370 Revert all these unrefs, they don't even pass make check !
372 2005-11-15 Johan Dahlin <johan@gnome.org>
374 * gst/base/gstbasesrc.c: (gst_base_src_init):
375 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
376 * gst/gstqueue.c: (gst_queue_init):
377 Free pad templates, fixes a couple of leaks.
379 2005-11-15 Daniel Fischer <dan at f3c dot com>
381 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
383 * gst/gstpad.c: (gst_pad_get_property):
384 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
385 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
388 2005-11-15 Wim Taymans <wim@fluendo.com>
393 2005-11-15 Andy Wingo <wingo@pobox.com>
395 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
397 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
398 using GST_CLOCK_TIME_NONE to disable base time management.
399 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
400 time if it was NONE before.
401 (gst_pipeline_change_state): Only munge the base time if
402 stream_time != GST_CLOCK_TIME_NONE.
404 * check/gst/gstpipeline.c (test_base_time): Punt around the
405 problem of the probe not being called, because that's not the
406 issue I'm looking at. Add a check that setting stream_time to NONE
407 disables base time management.
409 2005-11-15 Wim Taymans <wim@fluendo.com>
411 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
412 segment_stop == -1 at startup.
414 * gst/base/gstbasetransform.c: (gst_base_transform_event),
415 (gst_base_transform_change_state):
416 Init segment values at start.
418 2005-11-15 Wim Taymans <wim@fluendo.com>
420 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
421 0 segment values are 0 in any format.
423 * gst/base/gstbasetransform.c: (gst_base_transform_event):
424 * gst/base/gstbasetransform.h:
425 Parse newsegment correctly in basetransform
427 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
428 Sync to clock using updated segment values.
430 2005-11-15 Andy Wingo <wingo@pobox.com>
432 * check/gst/gstpipeline.c (test_base_time): Add check that the
433 base time and stream time are reset correctly.
435 2005-11-15 Wim Taymans <wim@fluendo.com>
437 * docs/design/part-TODO.txt:
438 Some more TODO items.
440 2005-11-15 Andy Wingo <wingo@pobox.com>
442 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
443 error if the user selected "no clock" as the clocking method.
445 * check/gst/gstpipeline.c (test_base_time): New test for buffer
446 timestamps with live capture.
448 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
449 is 0 but we are a live source, timestamp the buffers using the
452 2005-11-14 Stefan Kost <ensonic@users.sf.net>
454 * docs/gst/gstreamer-sections.txt:
461 2005-11-14 Wim Taymans <wim@fluendo.com>
464 add suppressions from Wim's Debian machine
466 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
469 add suppressions from Andy's AMD64 Ubuntu machine
471 2005-11-14 Andy Wingo <wingo@pobox.com>
473 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
474 STATE_LOCK not necessary. Fixes #311489.
476 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
479 * gst/gstindex.c (gst_index_add_object): Note in the docs that
480 this function is not implemented.
482 2005-11-14 Julien MOUTTE <julien@moutte.net>
484 * gst/base/gstbasetransform.c:
485 (gst_base_transform_prepare_output_buf):
486 Ref the source pad caps while we need them.
489 2005-11-11 Wim Taymans <wim@fluendo.com>
491 * docs/gst/gstreamer-sections.txt:
492 Added some docs for GstCollectData.
494 * gst/base/gstadapter.c:
495 Some small code example fix.
497 * gst/base/gstcollectpads.c:
498 * gst/base/gstcollectpads.h:
501 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
503 * configure.ac: back to HEAD
505 === release 0.9.5 ===
507 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
510 releasing 0.9.5, "Bike Lunch Day"
512 2005-11-11 Wim Taymans <wim@fluendo.com>
514 * gst/gstbuffer.c: (_gst_buffer_copy):
517 * gst/gstcaps.c: (gst_caps_is_equal):
519 Make _is_equal fast in the trivial cases.
521 * gst/gstminiobject.c:
522 * gst/gstminiobject.h:
523 More docs. Spifify .h file.
528 2005-11-11 Wim Taymans <wim@fluendo.com>
530 * gst/base/gstbasetransform.c:
531 (gst_base_transform_prepare_output_buf),
532 (gst_base_transform_handle_buffer):
534 If we're processing a buffer and need to allocate an output
535 buffer, we cannot accept a format change. If we did get a
536 format change, we have to alloc a buffer ourselves of the
539 2005-11-11 Wim Taymans <wim@fluendo.com>
541 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
542 While checking the flag for reentrancy in the gstcaps function
543 is nice to detect recursive invocations, it also makes it
544 impossible to call getcaps from multiple threads, which must be
545 possible. So, checking for recursive calls has to go.
547 2005-11-11 Michael Smith <msmith@fluendo.com>
549 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
550 Don't sync on buffers that fall partially outside our current
551 segment. Prevents an assertion failure/abort playing some files.
553 2005-11-10 Andy Wingo <wingo@pobox.com>
555 * check/gst/gstbin.c (test_message_state_changed_children): Style
558 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
559 gst_bus_poll with the signal watch. Ensures that poll and a signal
560 watch see the same messages.
562 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
563 a poll and a watch at the same time get the same messages.
565 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
567 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
568 * gst/gstcaps.c: (gst_caps_intersect):
569 Don't call gst_caps_do_simplify - it doesn't respect order of caps
572 2005-11-10 Wim Taymans <wim@fluendo.com>
574 * docs/design/part-TODO.txt:
577 2005-11-10 Wim Taymans <wim@fluendo.com>
579 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
580 * gst/base/gstbasesrc.c: (gst_base_src_wait),
581 (gst_base_src_do_sync), (gst_base_src_get_range):
582 Implement clock sync in base class.
584 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
586 patch by: Tim-Philipp Müller <tim at centricular dot net>
588 * gst/gststructure.c: (gst_structure_parse_field),
589 (gst_structure_from_string):
590 Forward-port a 0.8 patch to handle escaped spaces in structure string,
591 so that gst_parse_launch() can deal with spaces in filtered link
593 * check/gst/capslist.h:
594 * check/gst/gststructure.c: (GST_START_TEST):
595 add unit tests for this change
597 2005-11-10 Wim Taymans <wim@fluendo.com>
599 * docs/gst/gstreamer-sections.txt:
602 Fix docs, move some STATE macros to private.
604 2005-11-10 Wim Taymans <wim@fluendo.com>
606 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
607 Added check for bug #317341
611 Some more spiffifying.
613 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
614 Call peer linkfunction if we are a source pad. Totally fixes
618 Update docs, source pads should call the peer linkfunction
619 so they can atomically perform the pad link.
621 2005-11-09 Wim Taymans <wim@fluendo.com>
625 Uber-spiffy-spiffify some more.
627 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
629 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
630 * gst/elements/gstfilesink.c: (gst_file_sink_init):
631 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
632 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
633 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
634 * gst/gstpad.c: (gst_pad_init):
635 Use GST_DEBUG_FUNCPTR() more extensively.
637 2005-11-09 Wim Taymans <wim@fluendo.com>
639 * gst/gstobject.c: (gst_object_class_init):
643 2005-11-09 Edward Hervey <edward@fluendo.com>
645 * gst/gsttypefindfactory.c:
648 2005-11-09 Edward Hervey <edward@fluendo.com>
650 * gst/base/gsttypefindhelper.c:
655 2005-11-09 Wim Taymans <wim@fluendo.com>
664 2005-11-09 Wim Taymans <wim@fluendo.com>
670 2005-11-09 Wim Taymans <wim@fluendo.com>
672 * docs/gst/gstreamer-sections.txt:
673 Moved the message async delivery private lock and cond
674 to the private section.
680 2005-11-09 Edward Hervey <edward@fluendo.com>
682 * docs/gst/gstreamer-sections.txt:
685 Document GstURIHandler
687 2005-11-09 Wim Taymans <wim@fluendo.com>
689 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
690 (gst_iterator_find_custom):
694 2005-11-09 Wim Taymans <wim@fluendo.com>
697 Document another field.
699 * gst/gststructure.c:
700 * gst/gststructure.h:
703 2005-11-09 Wim Taymans <wim@fluendo.com>
708 2005-11-09 Wim Taymans <wim@fluendo.com>
710 * docs/gst/gstreamer-sections.txt:
711 Added some new macros.
718 2005-11-09 Wim Taymans <wim@fluendo.com>
720 * docs/design/part-TODO.txt:
721 Some more items for the TODO
727 2005-11-09 Andy Wingo <wingo@pobox.com>
729 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
730 to work on something else now tho...
732 * gst/base/gstadapter.c: More adapter docs.
734 * gst/elements/gstfilesink.c (gst_file_sink_start)
735 (gst_file_sink_stop): New functions, replace the state change
737 (gst_file_sink_class_init): Hook up the start and stop functions.
738 (gst_file_sink_base_init): Don't set the state change handler any
739 more. It was a bit ugly too, being set from here...
740 (gst_file_sink_get_property, gst_file_sink_set_property):
742 (gst_file_sink_set_location): More robust check that doesn't call
745 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
747 * gst/base/gstbasetransform.c: (gst_base_transform_event):
748 Hold STREAM_LOCK while pushing newsegment or tag events as well.
750 2005-11-08 Wim Taymans <wim@fluendo.com>
752 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
753 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
754 (gst_base_sink_chain), (gst_base_sink_change_state):
755 * gst/base/gstbasesink.h:
756 * gst/base/gstbasesrc.h:
759 Avoid excessive typechecking in macros.
761 * gst/gstminiobject.c: (gst_mini_object_get_type),
762 (gst_mini_object_init), (gst_mini_object_new),
763 (gst_mini_object_free):
764 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
765 (gst_object_finalize):
766 Remove cruft code, optimize alloc_trace.
768 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
770 * docs/faq/gst-uninstalled:
771 fix up PS1 for systems that try to reset it
773 2005-11-07 Wim Taymans <wim@fluendo.com>
775 * gst/base/gstbasesrc.c: (gst_base_src_init),
776 (gst_base_src_get_range):
777 Set the segment_end to -1 initially. Fixed typefind.
779 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
781 * gst/base/gstadapter.c:
782 Debug category should be 'adapter', not 'GstAdapter'.
784 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
785 (gst_collectpads_class_init), (gst_collectpads_init),
786 (gst_collectpads_peek), (gst_collectpads_pop),
787 (gst_collectpads_event), (gst_collectpads_chain):
788 Add debug category and some debugging output. Use boilerplate
789 macros. Remove some extraneous words from docs.
791 2005-11-05 Andy Wingo <wingo@pobox.com>
793 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
796 2005-11-04 Stefan Kost <ensonic@users.sf.net>
798 * docs/gst/gstreamer-sections.txt:
801 * gst/gstminiobject.h:
806 2005-11-04 Wim Taymans <wim@fluendo.com>
808 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
809 Small update to stop at the configured segment_end
812 2005-11-04 Stefan Kost <ensonic@users.sf.net>
818 2005-11-04 Edward Hervey <edward@fluendo.com>
820 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
821 Check if we are doing a segment seek and have arrived at the
824 2005-11-04 Wim Taymans <wim@fluendo.com>
826 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
827 Don't leak a mutex unlock in case of an error.
832 2005-11-04 Wim Taymans <wim@fluendo.com>
834 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
836 Get the context to wake up only once.
838 2005-11-03 Wim Taymans <wim@fluendo.com>
840 * check/states/sinks.c: (GST_START_TEST):
841 Uncomment fixed check.
843 * docs/design/part-TODO.txt:
846 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
847 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
848 (gst_base_sink_get_position):
849 If we are going to PLAYING, post the right pending state
850 when we post the intermediate paused message.
852 * gst/gstelement.c: (gst_element_continue_state),
853 (gst_element_set_state_func), (gst_element_change_state):
854 Don't post state changes that were between the same state
857 2005-11-03 Stefan Kost <ensonic@users.sf.net>
859 * docs/gst/gstreamer-sections.txt:
862 * gst/gstminiobject.h:
865 more docs and doc style fixes
867 2005-11-03 Stefan Kost <ensonic@users.sf.net>
869 * docs/gst/gstreamer-sections.txt:
871 * gst/gstminiobject.c:
874 2005-11-03 Andy Wingo <wingo@pobox.com>
876 * check/states/sinks.c (test_livesrc_sink): Add checks that the
877 state-changed messages actually have the right order and the right
880 2005-11-03 Wim Taymans <wim@fluendo.com>
882 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
883 Added some more checks. Specifically the case where NO_PREROLL
884 elements are in the pipeline.
886 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
887 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
888 (gst_base_sink_get_position):
889 Post READY->PAUSED state change messages too.
890 Fix bug where VOID was posted as pending state...
892 * gst/gstbin.c: (gst_bin_recalc_state):
893 use _element_continue_state() to continue the state change.
895 * gst/gstelement.c: (gst_element_continue_state),
896 (gst_element_commit_state), (gst_element_set_state_func),
897 (gst_element_change_state), (gst_element_change_state_func):
898 Lots of state change cleanups, assign the STATE_RETURN in
899 a new continue_state() function that also propagates the
900 last return value from a state change to the app.
901 Update some debug statements with proper category.
903 2005-11-03 Wim Taymans <wim@fluendo.com>
905 * docs/design/part-events.txt:
906 * docs/design/part-gstpipeline.txt:
907 * docs/design/part-messages.txt:
908 * docs/design/part-overview.txt:
909 * docs/design/part-seeking.txt:
910 * docs/design/part-states.txt:
911 * docs/design/part-trickmodes.txt:
912 * docs/manual/advanced-position.xml:
916 People think !! is ugly, this looks better.
918 * gst/gstpad.c: (gst_pad_set_blocked_async):
919 Remove !! since it's fixed elsewhere now.
921 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
923 * gst/gstminiobject.h:
925 Add !! to _FLAG_IS_SET macros to make the result boolean.
927 2005-11-03 Edward Hervey <edward@fluendo.com>
929 * gst/gstpad.c: (gst_pad_set_blocked_async):
930 comparing a flag and a gboolean rarely returns coherent results...
931 Added two characters (!!) to make that work correctly.
933 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
935 * gst/gstbus.c: (gst_bus_class_init):
938 * gst/gstqueue.c: (gst_queue_loop):
939 Don't assume a miniobject that isn't a buffer is an
940 event (it could be that there is a refcounting
941 problem somewhere and the pointer is stale and
942 refers to an already destroyed miniobject).
944 2005-11-03 Julien MOUTTE <julien@moutte.net>
946 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
948 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
950 * docs/manual/advanced-position.xml:
951 Update seek example and explanations to current 0.9 API.
953 * gst/elements/gsttypefindelement.c:
954 (gst_type_find_element_activate):
955 Remove FIXME comment now that the found caps
958 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
960 * gst/gstregistryxml.c: (load_feature):
961 Add another GST_STR_NULL instance
963 2005-11-02 Edward Hervey <edward@fluendo.com>
965 * gst/gstpad.c: (handle_pad_block):
966 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
968 2005-11-02 Wim Taymans <wim@fluendo.com>
973 * gst/gstelement.c: (gst_element_commit_state):
977 Mention that the returned element is reffed in the docs.
979 2005-11-02 Wim Taymans <wim@fluendo.com>
981 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
982 (gst_pad_push), (gst_pad_push_event):
983 Unlock blocked pads when they are flushed.
985 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
988 * docs/gst/gstreamer-sections.txt:
991 * gst/gstregistry.c: (gst_registry_scan_path_level):
992 fix for a nasty little missed situation where an installed plug-in
993 which was in the cache did not get overridden by an uninstalled one
994 which was earlier in the plugin path because the newly created plugin
995 for the uninstalled one (not in the registry) didn't get its
996 ->registered set to TRUE
998 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
1000 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
1001 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
1002 (gst_collectpads_is_active), (gst_collectpads_collect),
1003 (gst_collectpads_collect_range), (gst_collectpads_start),
1004 (gst_collectpads_stop), (gst_collectpads_peek),
1005 (gst_collectpads_pop), (gst_collectpads_available),
1006 (gst_collectpads_read), (gst_collectpads_flush):
1007 Guard public API with assertions.
1010 Fix docs for gst_pad_set_link_function().
1012 2005-11-02 Johan Dahlin <johan@gnome.org>
1014 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
1015 Unref found_caps after we used it.
1017 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
1019 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
1020 Don't try to ref NULL.
1022 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
1024 * win32/common/config.h.in:
1025 provide a GST_FUNCTION that just gives a string for now
1027 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
1029 * win32/common/gstenumtypes.c: (register_gst_object_flags),
1030 (gst_object_flags_get_type), (register_gst_bin_flags),
1031 (gst_bin_flags_get_type), (register_gst_buffer_flag),
1032 (gst_buffer_flag_get_type), (register_gst_bus_flags),
1033 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1034 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
1035 (gst_clock_return_get_type), (register_gst_clock_entry_type),
1036 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1037 (gst_clock_flags_get_type), (register_gst_state),
1038 (gst_state_get_type), (register_gst_state_change_return),
1039 (gst_state_change_return_get_type), (register_gst_state_change),
1040 (gst_state_change_get_type), (register_gst_element_flags),
1041 (gst_element_flags_get_type), (register_gst_core_error),
1042 (gst_core_error_get_type), (register_gst_library_error),
1043 (gst_library_error_get_type), (register_gst_resource_error),
1044 (gst_resource_error_get_type), (register_gst_stream_error),
1045 (gst_stream_error_get_type), (register_gst_event_type),
1046 (gst_event_type_get_type), (register_gst_seek_type),
1047 (gst_seek_type_get_type), (register_gst_seek_flags),
1048 (gst_seek_flags_get_type), (register_gst_format),
1049 (gst_format_get_type), (register_gst_index_certainty),
1050 (gst_index_certainty_get_type), (register_gst_index_entry_type),
1051 (gst_index_entry_type_get_type),
1052 (register_gst_index_lookup_method),
1053 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1054 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1055 (gst_index_resolver_method_get_type), (register_gst_index_flags),
1056 (gst_index_flags_get_type), (register_gst_debug_level),
1057 (gst_debug_level_get_type), (register_gst_debug_color_flags),
1058 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1059 (gst_iterator_result_get_type), (register_gst_iterator_item),
1060 (gst_iterator_item_get_type), (register_gst_message_type),
1061 (gst_message_type_get_type), (register_gst_mini_object_flags),
1062 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1063 (gst_pad_link_return_get_type), (register_gst_flow_return),
1064 (gst_flow_return_get_type), (register_gst_activate_mode),
1065 (gst_activate_mode_get_type), (register_gst_pad_direction),
1066 (gst_pad_direction_get_type), (register_gst_pad_flags),
1067 (gst_pad_flags_get_type), (register_gst_pad_presence),
1068 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1069 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1070 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1071 (gst_plugin_error_get_type), (register_gst_plugin_flags),
1072 (gst_plugin_flags_get_type), (register_gst_rank),
1073 (gst_rank_get_type), (register_gst_query_type),
1074 (gst_query_type_get_type), (register_gst_tag_merge_mode),
1075 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1076 (gst_tag_flag_get_type), (register_gst_task_state),
1077 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1078 (gst_alloc_trace_flags_get_type),
1079 (register_gst_type_find_probability),
1080 (gst_type_find_probability_get_type), (register_gst_uri_type),
1081 (gst_uri_type_get_type), (register_gst_parse_error),
1082 (gst_parse_error_get_type):
1083 * win32/common/gstversion.h:
1086 2005-11-01 Luca Ognibene <luogni@tin.it>
1089 fix docs. popt is dead, long live GOption.
1091 2005-10-31 Wim Taymans <wim@fluendo.com>
1096 2005-10-31 Andy Wingo <wingo@pobox.com>
1100 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
1102 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
1103 need to serialize property notifications on GLib 2.8. GLib 2.6 has
1104 the possibility of deadlocks here if code calling notify() or
1105 set() has a lock that can be taken in another notify handler (ABBA
1106 with class lock and e.g. python GIL state lock).
1108 2005-10-28 Julien MOUTTE <julien@moutte.net>
1110 * gst/gstbus.c: Doc updates.
1112 2005-10-28 Wim Taymans <wim@fluendo.com>
1114 * docs/design/part-TODO.txt:
1115 * gst/gstiterator.c:
1116 * gst/gstsystemclock.c:
1117 * gst/gstsystemclock.h:
1120 2005-10-28 Edward Hervey <edward@fluendo.com>
1122 * docs/gst/gstreamer-docs.sgml:
1123 * docs/gst/gstreamer-sections.txt:
1124 the GstURIType documentation page is private, it only defines GstURIType
1125 which should be defined in the GstURIHandler page
1127 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
1129 * gst/gstbin.c: (gst_bin_class_init):
1132 Documentation updates.
1134 2005-10-28 Wim Taymans <wim@fluendo.com>
1136 * docs/gst/gstreamer-sections.txt:
1139 Documented the clocks.
1141 2005-10-28 Stefan Kost <ensonic@users.sf.net>
1143 * docs/gst/gstreamer-sections.txt:
1144 move some macros to private sections
1145 * gst/gstminiobject.c:
1146 * gst/gstminiobject.h:
1147 add descriptions provided by ds and some more
1149 mark macro as to be removed
1151 2005-10-28 Wim Taymans <wim@fluendo.com>
1153 * docs/design/part-TODO.txt:
1154 Add an item to TODO.
1156 * gst/gstiterator.c: (gst_iterator_fold),
1157 (gst_iterator_find_custom):
1158 * gst/gstiterator.h:
1161 2005-10-28 Wim Taymans <wim@fluendo.com>
1163 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1164 (gst_base_transform_init):
1167 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
1168 An EOS event marks the queue as completely filled.
1170 2005-10-27 Wim Taymans <wim@fluendo.com>
1172 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1173 (gst_base_sink_do_sync), (gst_base_sink_get_position):
1174 Some more debugging.
1176 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1177 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
1178 (gst_base_transform_event), (gst_base_transform_getrange),
1179 (gst_base_transform_chain):
1180 * gst/base/gstbasetransform.h:
1182 Protect transform and concurrent buffer alloc with a new lock.
1183 Try not to break ABI/API.
1185 2005-10-27 Wim Taymans <wim@fluendo.com>
1187 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1188 (gst_base_src_init), (gst_base_src_query),
1189 (gst_base_src_default_newsegment),
1190 (gst_base_src_configure_segment), (gst_base_src_do_seek),
1191 (gst_base_src_send_event), (gst_base_src_event_handler),
1192 (gst_base_src_pad_get_range), (gst_base_src_loop),
1193 (gst_base_src_unlock), (gst_base_src_default_negotiate),
1194 (gst_base_src_start), (gst_base_src_deactivate),
1195 (gst_base_src_activate_push), (gst_base_src_change_state):
1196 Move some stuff around and cleanup things.
1198 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
1200 * gst/base/gstbasesrc.c: (gst_base_src_query):
1201 Add missing break statements.
1203 2005-10-27 Wim Taymans <wim@fluendo.com>
1205 * check/gst/gstbin.c: (GST_START_TEST):
1206 An extra refcount is taken in basesrc.
1208 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1209 (gst_base_src_get_range), (gst_base_src_pad_get_range),
1210 (gst_base_src_loop):
1211 Small cleanups, check for flushing after being unlocked from the
1212 LIVE_LOCK. take refcounts correctly (not yet everywhere).
1213 Don't send out EOS when going to READY.
1215 2005-10-27 Wim Taymans <wim@fluendo.com>
1217 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1218 (gst_base_sink_get_position):
1221 * gst/gstbin.c: (message_check), (bin_replace_message),
1222 (bin_remove_messages), (is_eos), (gst_bin_add_func),
1223 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
1224 (bin_query_duration_init), (bin_query_duration_fold),
1225 (bin_query_duration_done), (bin_query_generic_fold),
1227 * tools/gst-launch.c: (main):
1230 2005-10-26 Stefan Kost <ensonic@users.sf.net>
1232 * examples/controller/audio-example.c: (main):
1233 * examples/queue/queue.c: (event_loop):
1234 * gst/base/gstbasetransform.h:
1235 * gst/gstelement.c: (gst_element_send_event):
1237 * gst/gstpad.c: (gst_pad_send_event):
1240 changing log priority in error situations
1242 2005-10-25 Wim Taymans <wim@fluendo.com>
1244 * gst/gstbin.c: (message_check), (bin_replace_message),
1245 (bin_remove_messages), (is_eos), (gst_bin_add_func),
1246 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
1247 (bin_query_duration_init), (bin_query_duration_fold),
1248 (bin_query_duration_done), (bin_query_generic_fold),
1250 Some doc and debug updates.
1251 Cache previously requested query DURATION for speed. invalidate
1252 cached duration if element posts a DURATION message.
1254 2005-10-25 Wim Taymans <wim@fluendo.com>
1256 * docs/design/part-TODO.txt:
1259 * gst/gstbin.c: (message_check), (bin_replace_message),
1260 (bin_remove_messages), (is_eos), (gst_bin_add_func),
1261 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
1262 (bin_query_duration_init), (bin_query_duration_fold),
1263 (bin_query_duration_done), (bin_query_generic_fold),
1265 Handle SEGMENT_START/DONE messages correctly.
1266 More evolved query algorithm that handles duration queries
1269 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
1270 (gst_element_get_state_func), (gst_element_abort_state),
1271 (gst_element_commit_state), (gst_element_lost_state):
1272 Some more debugging.
1277 2005-10-25 Wim Taymans <wim@fluendo.com>
1279 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
1280 Don't use invalid stream_time.
1282 * gst/gstevent.c: (gst_event_new_newsegment):
1283 stream_time in newsegment cannot be undefined.
1285 2005-10-24 Wim Taymans <wim@fluendo.com>
1290 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1292 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
1294 2005-10-24 Stefan Kost <ensonic@users.sf.net>
1296 * docs/libs/tmpl/gstdparam.sgml:
1297 * docs/libs/tmpl/gstdplinint.sgml:
1298 * docs/libs/tmpl/gstdpman.sgml:
1299 * docs/libs/tmpl/gstdpsmooth.sgml:
1300 * docs/libs/tmpl/gstunitconvert.sgml:
1303 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
1308 === release 0.9.4 ===
1310 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
1313 releasing 0.9.4, "Tyrannosaurus Rex"
1315 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
1317 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
1318 (gst_file_sink_get_current_offset):
1319 Use fseeko() and ftello() if available. When falling back on
1320 lseek() to get the current offset, fflush() first to make sure
1321 everything is up-to-date and we get the right offset.
1323 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
1325 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1326 * gst/base/gstbasesrc.c: (gst_base_src_loop):
1327 * gst/gsterror.c: (_gst_stream_errors_init):
1329 * gst/gstqueue.c: (gst_queue_loop):
1331 remove prematurely added error category and clean up the instances
1333 2005-10-21 Wim Taymans <wim@fluendo.com>
1335 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1336 (gst_base_sink_get_position), (gst_base_sink_query),
1337 (gst_base_sink_change_state):
1338 Simply set the right flag when going to playing, that's all
1339 we need to do instead of calling a function inside the object
1340 lock (that could take the lock as well and deadlock)
1342 2005-10-21 Wim Taymans <wim@fluendo.com>
1344 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
1345 (gst_base_src_loop):
1346 Don't warn, the peer element knows what to do best when
1347 the seek failed, it might try something else.
1349 2005-10-21 Wim Taymans <wim@fluendo.com>
1351 * gst/base/gstbasesrc.c: (gst_base_src_init),
1352 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1355 2005-10-21 Wim Taymans <wim@fluendo.com>
1357 * docs/design/part-segments.txt:
1360 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1361 Correctly set caps, even on the subbufer.
1363 2005-10-21 Wim Taymans <wim@fluendo.com>
1365 * docs/gst/gstreamer-docs.sgml:
1366 * docs/gst/gstreamer-sections.txt:
1373 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
1377 And 2% more doc coverage.
1379 2005-10-21 Andy Wingo <wingo@pobox.com>
1381 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
1384 2005-10-20 Wim Taymans <wim@fluendo.com>
1386 * gst/gsterror.c: (gst_error_get_message):
1389 * gst/gststructure.c:
1394 2005-10-20 Wim Taymans <wim@fluendo.com>
1399 Another 1% more coverage.
1401 2005-10-20 Wim Taymans <wim@fluendo.com>
1403 * docs/gst/gstreamer-sections.txt:
1404 * gst/gstelement.c: (gst_element_get_state_func),
1405 (gst_element_abort_state), (gst_element_commit_state),
1406 (gst_element_lost_state):
1408 * gst/gstquery.c: (gst_query_set_position),
1409 (gst_query_parse_position), (gst_query_set_duration),
1410 (gst_query_parse_duration), (gst_query_new_convert):
1412 Yay! 1% more docs coverage.
1414 2005-10-20 Wim Taymans <wim@fluendo.com>
1417 * gst/gstquery.c: (gst_query_set_position),
1418 (gst_query_parse_position), (gst_query_set_duration),
1419 (gst_query_parse_duration), (gst_query_new_convert):
1421 * gst/gstutils.c: (gst_element_query_convert):
1423 Docs and consistency fixes.
1425 2005-10-20 Wim Taymans <wim@fluendo.com>
1431 2005-10-20 Wim Taymans <wim@fluendo.com>
1433 * gst/gstbin.c: (message_check), (bin_replace_message),
1434 (bin_remove_messages), (is_eos), (gst_bin_add_func),
1435 (update_degree), (gst_bin_sort_iterator_next),
1436 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
1437 Reworked the message handling a bit, cache the messages instead of
1438 only the senders. alows us to do more in the future.
1440 2005-10-20 Wim Taymans <wim@fluendo.com>
1442 * docs/design/part-TODO.txt:
1445 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
1446 (gst_base_sink_query):
1447 Don't use clock time to report position when in EOS.
1449 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
1451 * tools/gst-inspect.c: (print_interfaces),
1452 (print_element_properties_info), (print_element_info):
1453 Fix interface output with gst-inspect -a; don't print
1454 newlines after double/float properties.
1456 2005-10-20 Wim Taymans <wim@fluendo.com>
1458 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
1459 (gst_base_sink_query):
1460 Speed up current position calculation.
1462 * gst/base/gstbasesrc.c: (gst_base_src_query),
1463 (gst_base_src_default_newsegment):
1464 Correctly set stream position in newsegment.
1466 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
1467 (update_degree), (gst_bin_sort_iterator_next),
1468 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
1469 * gst/gstmessage.c: (gst_message_new_custom):
1470 Clean up debugging info
1472 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1473 (gst_queue_loop), (gst_queue_handle_src_query):
1476 2005-10-19 Wim Taymans <wim@fluendo.com>
1478 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1479 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
1480 Fix query handling again.
1482 2005-10-19 Wim Taymans <wim@fluendo.com>
1484 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1485 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
1486 * gst/base/gstbasesrc.c: (gst_base_src_query):
1487 * gst/elements/gstfilesink.c: (gst_file_sink_query):
1488 * gst/elements/gsttypefindelement.c:
1489 (gst_type_find_handle_src_query), (find_element_get_length),
1490 (gst_type_find_element_activate):
1493 * gst/gstquery.c: (gst_query_new_position),
1494 (gst_query_set_position), (gst_query_parse_position),
1495 (gst_query_new_duration), (gst_query_set_duration),
1496 (gst_query_parse_duration), (gst_query_set_segment),
1497 (gst_query_parse_segment):
1499 Bundling query position/duration is not a good idea since duration
1500 does not change much and we don't want to recalculate it for every
1501 position query, so they are separated again..
1502 Base value in segment query is not needed.
1504 * gst/gstqueue.c: (gst_queue_handle_src_query):
1505 * gst/gstutils.c: (gst_element_query_position),
1506 (gst_element_query_duration), (gst_pad_query_position),
1507 (gst_pad_query_duration):
1509 Updates for query API change.
1510 Added some docs here and there.
1512 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
1514 * check/gst/gstbin.c: (GST_START_TEST):
1515 * check/gst/gstghostpad.c: (GST_START_TEST):
1516 * check/pipelines/cleanup.c: (GST_START_TEST):
1517 wait on thread to die so we can check refcount correctly
1519 2005-10-18 Wim Taymans <wim@fluendo.com>
1521 * check/pipelines/stress.c: (GST_START_TEST):
1522 Make check a little more time consuming.
1524 2005-10-18 Wim Taymans <wim@fluendo.com>
1526 * check/Makefile.am:
1527 * check/pipelines/stress.c: (GST_START_TEST),
1528 (simple_launch_lines_suite), (main):
1529 Small state change torture test.
1531 * docs/design/part-states.txt:
1532 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1533 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
1534 (gst_base_sink_change_state):
1535 Never take state lock from streaming thread, clean up ugly
1536 hacks. Unfortunatly core does not yet support nice ways to
1539 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
1541 Start state recalc if a STATE_DIRTY message is posted, but only
1542 on the toplevel bin.
1544 * gst/gstelement.c: (gst_element_sync_state_with_parent),
1545 (gst_element_get_state_func), (gst_element_abort_state),
1546 (gst_element_commit_state), (gst_element_lost_state),
1547 (gst_element_set_state_func), (gst_element_change_state):
1549 State variables are now protected with the LOCK, the state
1550 lock is only used to serialize _set_state().
1552 2005-10-18 Wim Taymans <wim@fluendo.com>
1554 * check/gst/gstbin.c: (GST_START_TEST):
1555 * check/gst/gstmessage.c: (GST_START_TEST):
1556 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
1557 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
1559 * gst/gstelement.c: (gst_element_abort_state),
1560 (gst_element_commit_state), (gst_element_lost_state):
1561 * gst/gstmessage.c: (gst_message_new_state_changed),
1562 (gst_message_new_state_dirty), (gst_message_new_segment_start),
1563 (gst_message_new_segment_done), (gst_message_new_duration),
1564 (gst_message_parse_state_changed),
1565 (gst_message_parse_segment_start),
1566 (gst_message_parse_segment_done), (gst_message_parse_duration):
1568 * tools/gst-launch.c: (event_loop):
1569 Seriously, this is better than a previous commit as we only need
1570 to notify the fact that an element changed state in a streaming
1571 thread, marking the state of the parents dirty, hence the
1572 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
1575 2005-10-18 Wim Taymans <wim@fluendo.com>
1577 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
1578 (gst_bin_recalc_func):
1579 * gst/gstelement.c: (gst_element_set_clock),
1580 (gst_element_abort_state), (gst_element_lost_state):
1581 Cleanups, prepare for state change fixes.
1583 2005-10-18 Wim Taymans <wim@fluendo.com>
1586 * gst/gstelement.c: (gst_element_class_init),
1587 (gst_element_set_state), (gst_element_set_state_func):
1589 Pending ABI changes.
1590 GThreadPool in GstBinClass to monitor async state changes.
1591 state_cookie in GstElement to detect concurrent gst/set state.
1592 set_state is now virtual too in case a very complicated element
1593 has to be constructed.
1595 2005-10-18 Wim Taymans <wim@fluendo.com>
1597 * check/gst/gstbin.c: (GST_START_TEST):
1598 * check/gst/gstmessage.c: (GST_START_TEST):
1599 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
1600 * gst/gstbin.c: (bin_bus_handler):
1601 * gst/gstelement.c: (gst_element_commit_state),
1602 (gst_element_lost_state):
1603 * gst/gstmessage.c: (gst_message_new_state_changed),
1604 (gst_message_new_segment_start), (gst_message_new_segment_done),
1605 (gst_message_new_duration), (gst_message_parse_state_changed),
1606 (gst_message_parse_segment_start),
1607 (gst_message_parse_segment_done), (gst_message_parse_duration):
1609 * tools/gst-launch.c: (event_loop):
1610 Make messages future proof.
1611 state-change gets a flag if it was a message comming from the
1613 segment-start/stop can also be specified in other formats.
1614 A message to notify an app that a pipeline changed playback
1616 Also fix a GstMessage leak in -launch
1618 2005-10-18 Andy Wingo <wingo@pobox.com>
1620 * gst/gstelement.c (gst_element_dispose): More helpful message.
1622 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
1624 reviewed by: <delete if not using a buddy>
1626 * common/gtk-doc.mak:
1628 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
1630 * gst/gstregistry.c: (gst_registry_scan_path_level):
1631 unref a plug-in we get that was already initialized
1633 2005-10-18 Stefan Kost <ensonic@users.sf.net>
1635 * docs/gst/gstreamer-sections.txt:
1636 * docs/libs/gstreamer-libs-sections.txt:
1641 2005-10-17 Andy Wingo <wingo@pobox.com>
1643 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
1646 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
1648 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
1650 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
1651 (gst_element_get_state_func): Better debug message.
1652 (gst_element_commit_state): s/INFO/DEBUG/.
1653 (gst_element_lost_state, gst_element_change_state):
1655 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
1656 (gst_message_new_custom): s/INFO/LOG/.
1658 2005-10-17 Michael Smith <msmith@fluendo.com>
1660 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1661 Check if end time is valid using end time, not start time.
1663 2005-10-17 Stefan Kost <ensonic@users.sf.net>
1665 * check/gst-libs/controller.c: (GST_START_TEST),
1666 (gst_controller_suite):
1667 * libs/gst/controller/gstcontroller.c:
1668 (gst_controlled_property_set_interpolation_mode):
1669 * libs/gst/controller/gstcontroller.h:
1670 * libs/gst/controller/gstinterpolation.c:
1671 * testsuite/controller/.cvsignore:
1672 * testsuite/controller/Makefile.am:
1673 * testsuite/controller/interpolator.c:
1674 merge controller testsuites
1676 remove mem-chunk from docs
1678 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
1680 * gst/gstmemchunk.c:
1681 * gst/gstmemchunk.h:
1682 * gst/gsttrashstack.c:
1683 * gst/gsttrashstack.h:
1684 out. get out. you're fired. to the Attic !
1686 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
1688 * gst/gstcaps.c: (gst_caps_intersect):
1689 fix signedness issues in a (hopefully) correct way
1690 * gst/gstelement.c: (gst_element_pads_activate):
1692 * gst/gstobject.c: (gst_object_set_parent):
1695 2005-10-17 Julien MOUTTE <julien@moutte.net>
1697 * gst/gstvalue.h: Fix prototypes.
1699 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
1701 * docs/gst/gstreamer-sections.txt:
1702 * gst/gst.c: (gst_version_string):
1704 * gst/gstversion.h.in:
1705 * win32/common/libgstreamer.def:
1706 add gst_version_string ()
1708 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
1712 * gst/gst.c: (init_post):
1713 * win32/common/config.h.in:
1715 * gst/gstcaps.c: (gst_caps_intersect):
1716 use gint64, the range could be bigger than a guint
1718 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
1721 document potential problem in 2038
1723 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
1725 * gst/gstcaps.c: (gst_caps_intersect):
1726 Fix guint j diving under 0
1728 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
1731 * win32/common/config.h:
1732 * win32/common/config.h.in:
1733 check for process.h, declares getpid() on Windows
1735 include process.h if we have it
1736 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
1737 * gst/gstmemchunk.h:
1738 fix signedness issues
1739 * win32/common/libgstreamer.def:
1742 2005-10-16 Julien MOUTTE <julien@moutte.net>
1744 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
1745 fix. Because of unsigned ints, caps intersection was going nuts and
1746 trying to access structures with G_MAXUINT index. That fixes
1747 videotestsrc ! ffmpegcolorspace ! fakesink
1748 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
1751 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
1754 use the gettext macro
1755 * gst/elements/gstelements.c:
1757 * gst/indexers/gstindexers.c:
1758 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
1759 * win32/common/config.h:
1761 * win32/common/config.h.in:
1762 add the template to generate config.h
1763 * win32/common/gstenumtypes.c:
1764 * win32/common/gstversion.h:
1767 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
1769 * gst/gst.c: (gst_version):
1770 * gst/gstversion.h.in:
1773 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
1776 Oops, add missing closing bracket.
1778 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
1781 use common m4's for argument checking
1783 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
1785 * docs/gst/gstreamer-sections.txt:
1787 Add GST_EVENT_TYPE_NAME() macro.
1789 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
1792 * gst/gstpluginfeature.c:
1794 privatize more symbols
1796 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
1799 add srcdir, builddir includes to GST_ALL_CFLAGS, since
1800 everything that uses GStreamer API should have the includes
1802 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
1804 * docs/gst/gstreamer-sections.txt:
1805 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1807 give each value a _get_type, removes the DATA exports
1809 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
1813 remove _gst_registry_auto_load, not used anymore
1814 * gst/gstbin.c: (gst_bin_get_type):
1816 * gst/gstelement.c: (gst_element_get_type):
1818 * gst/gstobject.c: (gst_object_get_type):
1820 * gst/gstpad.c: (gst_pad_get_type):
1822 make _get_type functions similar, fixes data export from library
1824 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
1827 correctly make conditionals
1828 * gst/elements/Makefile.am:
1829 * gst/elements/gstelements.c:
1830 fix typo causing fdsrc not to build
1832 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
1834 * testsuite/Makefile.am:
1835 * testsuite/bytestream/.cvsignore:
1836 * testsuite/bytestream/Makefile.am:
1837 * testsuite/bytestream/filepadsink.c:
1838 * testsuite/bytestream/gstbstest.c:
1839 * testsuite/bytestream/test1.c:
1840 * testsuite/bytestream/testfile1:
1841 * testsuite/caps/normalisation.c:
1842 * testsuite/caps/random.c: (main):
1843 * testsuite/cleanup/.cvsignore:
1844 * testsuite/cleanup/Makefile.am:
1845 * testsuite/cleanup/cleanup1.c:
1846 * testsuite/cleanup/cleanup2.c:
1847 * testsuite/cleanup/cleanup3.c:
1848 * testsuite/cleanup/cleanup4.c:
1849 * testsuite/cleanup/cleanup5.c:
1850 * testsuite/controller/interpolator.c:
1851 * testsuite/debug/printf_extension.c: (main):
1852 * testsuite/elements/tee.c:
1853 * testsuite/negotiation/.cvsignore:
1854 * testsuite/negotiation/Makefile.am:
1855 * testsuite/negotiation/pad_link.c:
1856 * testsuite/pad/Makefile.am:
1857 * testsuite/pad/chainnopull.c:
1858 * testsuite/pad/getnopush.c:
1859 * testsuite/pad/link.c:
1860 * testsuite/refcounting/sched.c: (create_pipeline):
1861 * testsuite/registry/Makefile.am:
1862 * testsuite/registry/gst-print-formats.c:
1863 * testsuite/schedulers/.cvsignore:
1864 * testsuite/schedulers/142183-2.c:
1865 * testsuite/schedulers/142183.c:
1866 * testsuite/schedulers/143777-2.c:
1867 * testsuite/schedulers/143777.c:
1868 * testsuite/schedulers/147713.c:
1869 * testsuite/schedulers/147819.c:
1870 * testsuite/schedulers/147894-2.c:
1871 * testsuite/schedulers/147894.c:
1872 * testsuite/schedulers/Makefile.am:
1873 * testsuite/schedulers/group_link.c:
1874 * testsuite/schedulers/queue_link.c:
1875 * testsuite/schedulers/relink.c:
1876 * testsuite/schedulers/unlink.c:
1877 * testsuite/schedulers/unref.c:
1878 * testsuite/schedulers/useless_iteration.c:
1879 * testsuite/states/bin.c:
1880 clean out/remove some stuff from the testsuite directories
1882 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
1885 check for some headers
1886 * gst/elements/Makefile.am:
1887 * gst/elements/gstelements.c:
1888 don't compile fdsrc without sys/socket.h
1889 * gst/indexers/Makefile.am:
1890 * gst/indexers/gstindexers.c: (plugin_init):
1891 don't compile fileindex without mmap
1893 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
1900 * check/Makefile.am:
1901 * docs/gst/Makefile.am:
1902 * examples/helloworld/Makefile.am:
1904 * gst/base/Makefile.am:
1905 * gst/check/Makefile.am:
1906 * gst/elements/Makefile.am:
1907 * gst/indexers/Makefile.am:
1908 * gst/parse/Makefile.am:
1909 * libs/gst/controller/Makefile.am:
1910 * libs/gst/dataprotocol/Makefile.am:
1911 * examples/helloworld/helloworld.c: (event_loop):
1912 compile fixes, though it's not being compiled currently
1914 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
1916 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
1917 Add some simple tests for the new taglist date API.
1919 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
1921 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
1922 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
1923 Beautify 'last-message' output: print 'none' for buffer timestamps
1924 and durations if none is set; improve alignment with next messages.
1926 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
1928 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
1929 * gst/gstpluginfeature.h:
1930 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
1931 * gst/gstregistry.h:
1932 * docs/gst/gstreamer-sections.txt:
1933 Add new API to check plugin feature version requirements.
1935 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
1936 Some basic tests for the above.
1938 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
1940 * gst/gststructure.c: (gst_structure_to_string):
1941 guard against NULL printf - happens when for example
1942 a message structure with GstClock gets serialized
1944 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
1946 * gst/base/gstcollectpads.c: (gst_collectpads_event):
1947 Fix presumable copy'n'pasto.
1949 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
1951 * gst/elements/gstfakesrc.h:
1952 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
1953 * gst/elements/gsttypefindelement.c:
1955 * gst/elements/gstfilesink.c: (gst_file_sink_render):
1956 I wonder if this could actually write +2GB files before
1958 2005-10-13 Andy Wingo <wingo@pobox.com>
1960 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
1961 Fix Timmeke Waymans bug.
1962 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
1963 string of the proper length to gst_caps_from_string. There's a
1964 potential for, before this fix, that this could cause someone
1965 connecting over the network to cause a segfault if the payload is
1968 2005-10-13 Stefan Kost <ensonic@users.sf.net>
1970 * docs/design/draft-push-pull.txt:
1971 * docs/design/part-overview.txt:
1972 * docs/random/TODO-pre-0.9:
1973 * docs/random/old/ChangeLog.gstreamer:
1974 * gst/base/gstpushsrc.c:
1978 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
1980 * gst/glib-compat.c: (gst_flags_get_first_value):
1981 * gst/glib-compat.h:
1982 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
1983 (gst_value_compare_double), (gst_value_serialize_flags):
1984 GLib 2.6 g_flags_get_first_value has a bug that triggers an
1987 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
1989 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1990 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1992 * tools/gst-launch.c: (event_loop):
1993 print out clock nicely
1995 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
1997 * docs/gst/gstreamer-sections.txt:
1999 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
2000 (gst_tag_list_get_date_index):
2001 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
2002 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
2004 2005-10-13 Julien MOUTTE <julien@moutte.net>
2006 * gst/base/gstcollectpads.c: (gst_collectpads_event),
2007 (gst_collectpads_chain):
2008 * gst/base/gstcollectpads.h: Handle newsegment and store informations
2011 2005-10-13 Stefan Kost <ensonic@users.sf.net>
2013 * docs/gst/gstreamer-sections.txt:
2016 * tools/gst-inspect.c: (main):
2017 * tools/gst-launch.c: (main):
2018 * tools/gst-run.c: (main):
2019 * tools/gst-xmlinspect.c: (main):
2020 fix GOption context leaks
2023 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
2027 * win32/common/config.h:
2029 * win32/vs6/grammar.dsp:
2030 * win32/vs6/libgstelements.dsp:
2031 * win32/vs6/libgstreamer.dsp:
2034 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
2036 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2037 * gst/base/gstbasesrc.c: (gst_base_src_query):
2038 fix more guint64<->gdouble conversions
2040 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
2043 add win32-update target
2044 * win32/common/gstconfig.h:
2045 * win32/common/gstenumtypes.c:
2046 * win32/common/gstenumtypes.h:
2047 * win32/common/gstversion.h:
2048 add files that visual studio can't generate
2050 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
2053 add a win32-update target
2056 2005-10-12 Wim Taymans <wim@fluendo.com>
2058 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2059 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
2060 * gst/gstelement.c: (gst_element_commit_state),
2061 (gst_element_set_state):
2062 Protect flags with proper lock.
2063 unref provided cached clock in dispose.
2065 2005-10-12 Stefan Kost <ensonic@users.sf.net>
2068 * gst/gstminiobject.h:
2070 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
2071 removed unused flags from miniobject
2074 2005-10-12 Wim Taymans <wim@fluendo.com>
2076 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
2077 (gst_file_sink_event), (gst_file_sink_render):
2078 Flush before seeking.
2080 2005-10-12 Andy Wingo <wingo@pobox.com>
2082 * gst/gst.c (gst_init_check): Ignore unknown options, as has
2083 always been the case.
2085 2005-10-12 Stefan Kost <ensonic@users.sf.net>
2087 * check/gst/gstbin.c: (GST_START_TEST):
2088 * docs/gst/gstreamer-sections.txt:
2089 * gst/base/gstbasesink.c: (gst_base_sink_init):
2090 * gst/base/gstbasesrc.c: (gst_base_src_init),
2091 (gst_base_src_get_range), (gst_base_src_check_get_range),
2092 (gst_base_src_start), (gst_base_src_stop):
2093 * gst/base/gstbasesrc.h:
2094 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
2095 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2096 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
2100 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
2102 * gst/gstelement.c: (gst_element_is_locked_state),
2103 (gst_element_set_locked_state), (gst_element_commit_state),
2104 (gst_element_set_state):
2106 * gst/gstindex.c: (gst_index_init):
2108 * gst/gstminiobject.h:
2109 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
2110 (gst_object_set_parent):
2112 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
2113 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
2115 * gst/gstpadtemplate.h:
2116 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
2117 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2118 * gst/gstpipeline.h:
2119 * gst/indexers/gstfileindex.c: (gst_file_index_load),
2120 (gst_file_index_commit):
2121 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
2122 * testsuite/pad/link.c: (gst_test_src_init),
2123 (gst_test_filter_init), (gst_test_sink_init):
2124 * testsuite/states/locked.c: (main):
2125 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
2126 moved bitshift from macro to enum definition
2128 2005-10-12 Wim Taymans <wim@fluendo.com>
2130 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
2131 * gst/elements/gstfilesink.c: (gst_file_sink_event),
2132 (gst_file_sink_render):
2133 Some more debugging info.
2135 2005-10-12 Wim Taymans <wim@fluendo.com>
2137 * docs/design/part-states.txt:
2138 * tools/gst-launch.c: (main):
2140 Revert non-intentional change.
2142 2005-10-12 Wim Taymans <wim@fluendo.com>
2144 * check/gst/gstbin.c: (GST_START_TEST):
2145 * check/gst/gstelement.c: (GST_START_TEST):
2146 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
2147 * check/gst/gstghostpad.c: (GST_START_TEST):
2148 * check/gst/gstpipeline.c: (GST_START_TEST):
2149 * check/pipelines/simple_launch_lines.c: (run_pipeline):
2150 * check/states/sinks.c: (GST_START_TEST):
2151 * gst/elements/gsttypefindelement.c: (stop_typefinding):
2152 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2153 (gst_bin_remove_func), (gst_bin_get_state_func),
2154 (gst_bin_recalc_state), (gst_bin_change_state_func),
2156 * gst/gstelement.c: (gst_element_get_state_func),
2157 (gst_element_get_state), (gst_element_abort_state),
2158 (gst_element_commit_state), (gst_element_set_state),
2159 (gst_element_change_state), (gst_element_change_state_func):
2161 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
2162 (gst_pipeline_provide_clock_func):
2163 * gst/gstutils.c: (gst_element_link_pads_filtered):
2164 * tools/gst-launch.c: (main):
2165 * tools/gst-typefind.c: (main):
2166 Use GstClockTime in _get_state() instead of GTimeVal.
2167 Remove old code in gstutils.c
2169 2005-10-12 Andy Wingo <wingo@pobox.com>
2171 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
2174 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
2175 there is no task. Shouldn't affect any code, as nothing in our
2176 plugins checks this return value.
2177 (gst_pad_stop_task): Also take the stream lock if the pad has no
2180 2005-10-12 Wim Taymans <wim@fluendo.com>
2182 * gst/gstpad.c: (pre_activate), (post_activate),
2183 (gst_pad_activate_pull), (gst_pad_activate_push):
2184 Cleanup activation code. Reset old state if
2187 2005-10-12 Wim Taymans <wim@fluendo.com>
2189 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2190 (gst_base_sink_change_state):
2191 No need to prerol after receiving EOS.
2193 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
2194 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
2195 * gst/elements/gstidentity.c: (gst_identity_event):
2196 Print events more verbosely.
2198 2005-10-12 Wim Taymans <wim@fluendo.com>
2200 * check/Makefile.am:
2201 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2202 * check/states/sinks2.c:
2203 Moved sinks2 testcode in sinks check.
2205 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2206 (gst_bin_remove_func), (gst_bin_recalc_state),
2207 (gst_bin_change_state_func), (bin_bus_handler):
2208 Fix potential race condition when _get_state() iterated over an
2209 ASYNC element right before it posted a state completion.
2212 Do proper cast here.
2214 * gst/gstevent.c: (gst_event_new_newsegment),
2215 (gst_event_parse_newsegment):
2216 A playback rate of 0.0 is not allowed.
2218 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
2220 * win32/common/config.h:
2221 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
2222 (_trewinddir), (_ttelldir), (_tseekdir):
2223 * win32/common/dirent.h:
2224 * win32/common/gtchar.h:
2225 * win32/common/libgstbase.def:
2226 * win32/common/libgstreamer.def:
2227 * win32/vs6/grammar.dsp:
2228 * win32/vs6/gst_inspect.dsp:
2229 * win32/vs6/gst_launch.dsp:
2230 * win32/vs6/gstreamer.dsw:
2231 * win32/vs6/libgstbase.dsp:
2232 * win32/vs6/libgstelements.dsp:
2233 * win32/vs6/libgstreamer.dsp:
2234 Visual Studio 6 project files, and a new common directory.
2237 2005-10-11 Wim Taymans <wim@fluendo.com>
2239 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2240 (gst_base_sink_do_sync), (gst_base_sink_query),
2241 (gst_base_sink_change_state):
2242 * gst/base/gstbasesink.h:
2243 Correctly parse newsegment info.
2245 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
2247 * gst/gst.c: (init_post):
2248 split plugin paths correctly
2250 2005-10-11 Wim Taymans <wim@fluendo.com>
2252 * check/gst/gstevent.c: (GST_START_TEST):
2253 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2254 (gst_base_sink_change_state):
2255 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
2256 * gst/base/gstbasetransform.c: (gst_base_transform_event):
2257 * gst/elements/gstfilesink.c: (gst_file_sink_event):
2258 * gst/gstevent.c: (gst_event_new_newsegment),
2259 (gst_event_parse_newsegment):
2261 Added extra flag to newsegment for future API freeze.
2262 Updated check and base elements.
2264 2005-10-11 Julien MOUTTE <julien@moutte.net>
2266 * gst/base/gstcollectpads.c: (gst_collectpads_init),
2267 (gst_collectpads_add_pad), (gst_collectpads_pop),
2268 (gst_collectpads_event), (gst_collectpads_chain):
2269 * gst/base/gstcollectpads.h: Handle EOS correctly.
2271 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
2273 * tools/gst-launch.c: (main):
2274 more null protecting
2276 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
2278 * gst/gst-i18n-lib.h:
2279 check for ENABLE_NLS, not GETTEXT_PACKAGE
2280 * gst/gstregistry.c: (gst_registry_add_plugin),
2281 (gst_registry_scan_path_level),
2282 (_gst_registry_remove_cache_plugins):
2283 protect possibly NULL strings
2284 * gst/parse/types.h:
2285 config.h already included before
2286 * tools/gst-inspect.c: (main):
2287 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
2288 check for ENABLE_NLS, not GETTEXT_PACKAGE
2289 * tools/gst-launch.c: (main):
2290 check for ENABLE_NLS, not GETTEXT_PACKAGE
2292 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
2295 if we don't have glib, fail before testing 2.8
2296 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
2297 fix a leak, should fix plugins-base testsuite
2299 2005-10-11 Andy Wingo <wingo@pobox.com>
2301 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
2302 take the mode we're going to as an arg. Go head and set the mode
2303 and flushing flags now, so that if the activate function starts a
2304 thread all the flags will be in the right state.
2305 (post_activate): Renamed also. Just handle making sure streaming
2306 finishes for the deactivation case, and setting the deactivated
2308 (gst_pad_set_active): Complain loudly if deactivation fails.
2309 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
2310 (gst_pad_activate_push): Adapt to pre/post_activate changes,
2311 remove the terrible hack.
2313 2005-10-11 Wim Taymans <wim@fluendo.com>
2315 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
2316 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
2317 (gst_bin_recalc_state), (gst_bin_change_state_func),
2318 (gst_bin_dispose), (bin_bus_handler):
2320 Prepare to make current EOS message queue more generic.
2323 * gst/gstevent.c: (gst_event_new_newsegment),
2324 (gst_event_parse_newsegment):
2326 Rename base to stream_time.
2331 2005-10-11 Wim Taymans <wim@fluendo.com>
2333 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
2334 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
2335 (gst_bin_change_state_func), (bin_bus_handler):
2337 Work on proper clock selection.
2339 2005-10-11 Edward Hervey <edward@fluendo.com>
2341 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
2342 * libs/gst/controller/gstcontroller.h:
2343 Added GList* version of _remove_properties() in order to be able to wrap
2346 2005-10-11 Wim Taymans <wim@fluendo.com>
2348 * docs/design/part-states.txt:
2351 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
2352 (gst_bin_change_state_func), (bin_bus_handler):
2353 Doc updates. Don't distribute the same clock over and over again.
2359 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
2360 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
2361 (gst_pad_send_event):
2363 Make probe emission threadsafe again.
2364 Register quarks and move _get_name() from utils.
2367 * gst/gstpipeline.c: (gst_pipeline_class_init),
2368 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
2369 Only redistribute the clock of it changed.
2371 * gst/gstsystemclock.h:
2376 Moved the _flow_get_name() to GstPad.
2378 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
2380 * check/gst-libs/gdp.c: (GST_START_TEST):
2381 * check/gst/gstcaps.c: (GST_START_TEST):
2382 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
2383 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
2384 (gst_dp_packet_from_caps):
2385 fix more valgrind warnings before turning up the heat
2387 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
2389 * gst/parse/grammar.y:
2390 some cleanup before the hacking
2392 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
2394 * gst/base/gstbasesrc.c: (gst_base_src_query):
2396 * gst/gstutils.c: (gst_guint64_to_gdouble),
2397 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
2399 externalize, basesrc uses it
2400 obviously the implementation needs testing
2402 2005-10-10 Wim Taymans <wim@fluendo.com>
2404 * tests/sched/Makefile.am:
2405 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
2406 (make_pipeline3), (make_pipeline4), (print_elem), (main):
2408 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
2410 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
2411 apparently converting from guint64 to double is not implemented
2414 2005-10-10 Wim Taymans <wim@fluendo.com>
2416 * check/Makefile.am:
2417 * check/generic/states.c: (GST_START_TEST):
2418 * check/gst/gstbin.c: (GST_START_TEST):
2419 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
2420 * check/states/sinks.c: (GST_START_TEST):
2421 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
2423 Check fixes, use API as stated in design docs, remove hacks.
2425 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2426 (gst_base_sink_change_state):
2427 Catch stopping our task while we're shutting down.
2429 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
2430 (gst_bin_remove_func), (gst_bin_get_state_func),
2431 (gst_bin_recalc_state), (gst_bin_change_state_func),
2434 * gst/gstelement.c: (gst_element_init),
2435 (gst_element_get_state_func), (gst_element_abort_state),
2436 (gst_element_commit_state), (gst_element_lost_state),
2437 (gst_element_set_state), (gst_element_change_state),
2438 (gst_element_change_state_func):
2440 New state change algorithm (see #318116)
2442 * gst/gstpipeline.c: (gst_pipeline_class_init),
2443 (gst_pipeline_init), (gst_pipeline_set_property),
2444 (gst_pipeline_get_property), (do_pipeline_seek),
2445 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
2446 * gst/gstpipeline.h:
2447 Remove crude state change hacks.
2452 * tools/gst-launch.c: (main):
2453 Fixes for state change. Needs some more work to fully use the
2456 2005-10-10 Andy Wingo <wingo@pobox.com>
2458 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
2460 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
2461 this flag, but it's not even in GLib 2.6. Odd. Hack around the
2464 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
2466 * gst/gstiterator.c: (gst_iterator_new):
2467 Fix my previous commit: GTypes passed to gst_iterator_new()
2468 can be fundamental types.
2470 2005-10-10 Wim Taymans <wim@fluendo.com>
2472 * gst/gstelement.c: (gst_element_iterate_pad_list),
2473 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
2474 (gst_element_iterate_sink_pads):
2475 Use src/sink pads lists for the respective iterators instead
2478 2005-10-10 Andy Wingo <wingo@pobox.com>
2480 Merged in popt removal + GOption addition patch from Ronald, bug
2483 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
2484 GstElement macros around, remove popt-related symbols, add goption
2487 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
2489 * docs/gst/Makefile.am:
2490 * docs/libs/Makefile.am: No POPT_CFLAGS.
2492 * examples/manual/Makefile.am:
2493 * docs/manual/basics-init.xml: Doc updates with an example.
2495 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
2496 (gst_init), (parse_one_option), (parse_goption_arg):
2497 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
2498 bit of hand merging and debugging to get the GOption stuff working
2501 * tests/Makefile.am:
2502 * tools/Makefile.am:
2503 * tools/gst-inspect.c: (main):
2504 * tools/gst-launch.c: (main):
2505 * tools/gst-run.c: (main):
2506 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
2508 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
2510 * gst/gstiterator.c: (gst_iterator_new):
2511 Add assertions to make sure passed GType is likely to really
2512 be a GType (as the compiler won't catch it if the size and
2513 GType arguments get mixed up, see #318447).
2515 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
2517 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2519 * gst/gstbin.c: (gst_bin_iterate_sorted):
2520 Pass GType and size arguments to gst_iterator_new() in the right
2521 order (maybe we should make _new() take the GType as first argument
2522 just like _new_list()?) (#318447).
2525 2005-10-10 Wim Taymans <wim@fluendo.com>
2527 * gst/gstelement.c: (gst_element_finalize):
2528 And free the GStaticRecMutex too
2530 2005-10-10 Andy Wingo <wingo@pobox.com>
2532 * gst/gstelement.c (gst_element_init, gst_element_finalize):
2533 Allocate and free the mutex properly.
2535 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
2537 (GstElement): The state_lock is now recursive. Rebuild your
2538 plugins, suckers. Old macros adapted.
2540 * docs/gst/gstreamer-sections.txt: Doc updates.
2543 * gst/gstutils.c (g_static_rec_cond_timed_wait)
2544 (g_static_rec_cond_wait): Ported from state changes patch, while
2545 we wait on bug #317802 to be solved in a well-distributed GLib.
2547 * gst/gstelement.c (gst_element_change_state_func): Renamed from
2548 gst_element_change_state, variable name changes.
2549 (gst_element_change_state): Split out of gst_element_set_state in
2550 preparation for the state change merge. Doesn't pay attention to
2551 the 'transition' argument.
2552 (gst_element_set_state): Updates, hopefully purely cosmetic.
2553 (gst_element_sync_state_with_parent): MT-safety. Ported from the
2555 (gst_element_get_state_func): Renamed from get_state, cosmetic
2558 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
2560 * gst/elements/gstelements.c:
2561 * win32/GStreamer.vcproj:
2563 * win32/dirent.c: (_tseekdir):
2564 * win32/gst-inspect.vcproj:
2565 * win32/gst-launch.vcproj:
2566 * win32/gstconfig.h:
2567 * win32/gstelements.vcproj:
2568 * win32/gstenumtypes.c: (gst_object_flags_get_type):
2569 * win32/gstreamer.def:
2571 updates for the win32 build (patch from Sebastien Moutte)
2573 2005-10-10 Andy Wingo <wingo@pobox.com>
2575 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
2576 gst_bin_get_state, cleaned up (but no logic changes).
2577 (bin_element_is_sink): Comment updates.
2578 (sink_iterator_filter): Remove needless cast.
2579 (gst_bin_iterate_sinks): Doc update.
2580 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
2581 cleaned up (but no logic changes).
2583 * check/states/sinks.c (test_src_sink): Cleanups from the state
2585 (test_livesrc_sink): Sync on the state.
2587 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
2588 the state change patch.
2590 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
2593 * check/gst/gstbin.c: Merge in some style fixes and additional
2594 checks from Wim's state change patch.
2596 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
2598 * gst/base/gsttypefindhelper.c: (helper_find_peek),
2599 (gst_type_find_helper):
2600 Check whether we have the requested data already in our list of
2601 cached buffers before pulling a new buffer; also make the buffer
2602 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
2604 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
2609 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2610 don't use long long, it's not portable. Replacing with
2611 gint64 seems to work; let's hope no skeletons fall out of the closet.
2613 2005-10-10 Andy Wingo <wingo@pobox.com>
2615 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
2617 2005-10-09 Stefan Kost <ensonic@users.sf.net>
2619 * docs/gst/gstreamer-sections.txt:
2624 * gst/gstmessage.c: (gst_message_parse_state_changed):
2627 more docs, fix compilation
2629 2005-10-09 Philippe Khalaf <burger@speedy.org>
2631 Fixed a few forgotten variables on previous commit
2633 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
2635 * gst/base/gsttypefindhelper.c: (helper_find_peek):
2636 Fix evil typefind crasher: getrange() might return a short
2637 buffer at the end of a file, but gst_type_find_peek() must
2638 either return the full data as requested or NULL, but
2639 never a short buffer.
2641 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
2643 * gst/gstmessage.c: (gst_message_new_state_changed),
2644 (gst_message_parse_state_changed):
2646 don't use "new", it's a C++ keyword
2648 2005-10-08 Wim Taymans <wim@fluendo.com>
2650 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
2651 * gst/gstelement.c: (gst_element_post_message):
2652 * gst/gstpipeline.c: (gst_pipeline_change_state):
2653 Small docs and debug updates.
2655 2005-10-08 Stefan Kost <ensonic@users.sf.net>
2657 * docs/gst/gstreamer-sections.txt:
2658 * gst/gstelementfactory.c:
2663 2005-10-08 Wim Taymans <wim@fluendo.com>
2665 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
2666 (gst_bin_dispose), (bin_bus_handler):
2667 Fix typos, add comments.
2668 Clear EOS list when going to PAUSED from any direction and do it
2669 in a threadsafe way.
2670 Get base time in a threadsafe way too.
2671 Fix confusing debug in the change_state function.
2672 Various other small cleanups.
2674 * gst/gstelement.c: (gst_element_post_message):
2675 Fix very verbose bus posting code.
2677 * gst/gstpipeline.c: (gst_pipeline_class_init),
2678 (gst_pipeline_set_property), (gst_pipeline_get_property),
2679 (gst_pipeline_change_state):
2680 Small ARG_ -> PROP_ cleanup
2682 2005-10-08 Wim Taymans <wim@fluendo.com>
2684 * gst/gstbin.c: (is_eos), (bin_bus_handler):
2685 Do a less CPU demanding EOS check because we can.
2687 2005-10-08 Wim Taymans <wim@fluendo.com>
2689 * libs/gst/dataprotocol/dataprotocol.c:
2690 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2691 (gst_dp_packet_from_event):
2692 * libs/gst/dataprotocol/dataprotocol.h:
2693 * libs/gst/dataprotocol/dp-private.h:
2694 It's about time we bump the version number.
2695 Since event types don't fit in the guint8 anymore describing
2696 the payload type, make payload type 16 bits wide.
2698 2005-10-08 Wim Taymans <wim@fluendo.com>
2700 * docs/design/part-TODO.txt:
2701 * docs/design/part-clocks.txt:
2702 * docs/design/part-events.txt:
2703 * docs/design/part-gstbin.txt:
2704 * docs/design/part-gstelement.txt:
2705 * docs/design/part-gstpipeline.txt:
2706 * docs/design/part-live-source.txt:
2707 * docs/design/part-messages.txt:
2708 * docs/design/part-overview.txt:
2709 * docs/design/part-states.txt:
2712 2005-10-08 Wim Taymans <wim@fluendo.com>
2716 Fix event quark registration.
2717 Add some space between events so we can insert them in the
2720 2005-10-08 Wim Taymans <wim@fluendo.com>
2722 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2723 (gst_base_sink_handle_buffer):
2730 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
2731 (gst_queue_set_property), (gst_queue_get_property):
2733 Remove old unused properties.
2735 2005-10-08 Stefan Kost <ensonic@users.sf.net>
2736 * docs/gst/gstreamer-sections.txt:
2739 * gst/gstminiobject.c:
2740 * gst/gstminiobject.h:
2744 lots of new docs and doc fixes
2746 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
2748 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
2750 * gst/gstregistry.c: (gst_registry_lookup_locked),
2751 (gst_registry_scan_path_level):
2752 * gst/gstregistryxml.c: (load_plugin):
2753 Only ever load one plugin for a given plugin basename.
2754 This ensures correct overriding of GST_PLUGIN_PATH over
2755 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
2756 system installed plugins.
2758 2005-10-08 Wim Taymans <wim@fluendo.com>
2760 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2761 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
2762 Prepare for doing QOS.
2764 2005-10-08 Wim Taymans <wim@fluendo.com>
2766 * check/gst/gstbin.c: (GST_START_TEST):
2767 * check/pipelines/cleanup.c: (GST_START_TEST):
2768 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
2769 Allow new clock message too.
2771 2005-10-08 Wim Taymans <wim@fluendo.com>
2773 * gst/gstmessage.c: (gst_message_new_error),
2774 (gst_message_new_warning), (gst_message_new_tag),
2775 (gst_message_new_state_changed), (gst_message_new_clock_provide),
2776 (gst_message_new_clock_lost), (gst_message_new_new_clock),
2777 (gst_message_new_segment_start), (gst_message_new_segment_done),
2778 (gst_message_parse_state_changed),
2779 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
2780 (gst_message_parse_new_clock):
2782 Also carry the clock in question.
2784 2005-10-08 Wim Taymans <wim@fluendo.com>
2786 * gst/gstmessage.c: (gst_message_new_custom),
2787 (gst_message_new_eos), (gst_message_new_error),
2788 (gst_message_new_warning), (gst_message_new_tag),
2789 (gst_message_new_state_changed), (gst_message_new_clock_provide),
2790 (gst_message_new_new_clock), (gst_message_new_segment_start),
2791 (gst_message_new_segment_done), (gst_message_parse_state_changed),
2792 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
2795 Added clock related messages.
2797 * gst/gstpipeline.c: (gst_pipeline_change_state):
2798 Post message when the clock changed.
2800 * tools/gst-launch.c: (event_loop):
2803 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
2805 * tools/gst-inspect.c: (print_element_properties_info):
2806 Can't pass NULL strings to g_print() on windows.
2808 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
2811 * docs/gst/Makefile.am:
2812 * docs/gst/gstreamer-docs.sgml:
2813 * docs/gst/running.xml:
2814 * docs/version.entities.in:
2815 add a chapter on running GStreamer.
2816 document GST_DEBUG and GST_PLUGIN* env vars
2818 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
2823 remove PLUGINS_BUILDDIR stuff
2824 * gst/gst.c: (init_post):
2825 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
2827 remove, it was condescending and not needed
2829 2005-10-08 Wim Taymans <wim@fluendo.com>
2831 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2832 (gst_base_sink_handle_object), (gst_base_sink_event),
2833 (gst_base_sink_wait), (gst_base_sink_handle_event),
2834 (gst_base_sink_change_state):
2835 * gst/base/gstbasesink.h:
2836 Repost EOS message while going to PLAYING if still EOS.
2837 Make sure that when receiving a FLUSH_START we don't attempt
2838 to sync on the clock anymore.
2840 2005-10-08 Wim Taymans <wim@fluendo.com>
2842 * tools/gst-launch.c: (event_loop):
2843 Better message printout.
2845 2005-10-08 Wim Taymans <wim@fluendo.com>
2847 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
2848 (gst_bin_child_proxy_get_children_count):
2849 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
2850 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
2851 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
2852 (gst_child_proxy_set_valist):
2853 * gst/parse/grammar.y:
2854 Make ChildProxy threadsafe and fix mem leaks.
2856 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
2858 * gst/gst.c: (init_post):
2859 debug the GST_PLUGIN_ env vars
2861 2005-10-08 Wim Taymans <wim@fluendo.com>
2863 * check/gst/gstbin.c: (GST_START_TEST):
2864 * check/gst/gstmessage.c: (GST_START_TEST):
2865 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
2866 * gst/gstelement.c: (gst_element_commit_state),
2867 (gst_element_lost_state):
2868 * gst/gstmessage.c: (gst_message_new_state_changed),
2869 (gst_message_parse_state_changed):
2871 * tools/gst-launch.c: (event_loop):
2872 Added extra field to STATE_CHANGE message with the pending
2873 state, which will be different from the new state soon.
2875 2005-10-08 Wim Taymans <wim@fluendo.com>
2877 * gst/gstbus.c: (gst_bus_pop):
2879 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2880 Small cleanups and doc updates.
2882 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
2884 * gst/gst.c: (init_pre):
2885 * gst/gstbin.c: (gst_bin_add_func):
2886 log distributing clocks and base time
2887 * gst/gstregistry.c: (gst_registry_add_plugin),
2888 (gst_registry_scan_path_level), (gst_registry_scan_path):
2889 clean up the debugging output a little
2890 * gst/gstutils.c: (gst_element_state_get_name):
2891 warn about a memleak (I've actually seen this be used, though
2892 it was probably a bug)
2894 2005-10-07 Wim Taymans <wim@fluendo.com>
2896 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2897 (gst_base_src_init), (gst_base_src_default_newsegment),
2898 (gst_base_src_newsegment), (gst_base_src_do_seek),
2899 (gst_base_src_loop), (gst_base_src_start):
2900 * gst/base/gstbasesrc.h:
2901 Make the newsegment event customizable by subclasses.
2903 2005-10-07 Wim Taymans <wim@fluendo.com>
2905 * gst/gstevent.c: (gst_event_new_buffersize),
2906 (gst_event_parse_buffersize):
2908 New event for future idea.
2910 2005-10-07 Andy Wingo <wingo@pobox.com>
2912 * gst/gstelement.c (gst_element_post_message): Doc update.
2914 * docs/gst/gstreamer-sections.txt: Update.
2916 * gst/gstmessage.c (gst_message_new_application): Made into a
2917 function like honest API calls.
2918 (gst_message_new_element): New message type.
2920 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
2922 * check/elements/fakesrc.c (test_no_preroll): New check, checks
2923 that setting a live fakesrc to PAUSED returns NO_PREROLL both
2926 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
2927 NO_PREROLL from gst_element_change_state to fall through.
2929 2005-10-07 Wim Taymans <wim@fluendo.com>
2931 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
2932 (gst_ghost_pad_do_activate_push):
2933 Activating a ghostpad with no internal pad in push mode
2936 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
2939 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
2940 Fixes compilation on Windows.
2942 2005-10-07 Michael Smith <msmith@fluendo.com>
2944 * tools/gst-inspect.c:
2945 Print out feature and plugin count at the end when printing out
2948 2005-10-04 Michael Smith <msmith@fluendo.com>
2950 * gst/gsterror.c: (_gst_stream_errors_init):
2951 Add another error string used in a few existing plugins.
2954 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2955 * tools/gst-inspect.c: (print_element_info):
2956 When a feature disappears from a plugin (and the feature exists in
2957 the cached registry file), things went horribly wrong. This isn't a
2958 complete fix, we should actually be removing the 'missing' features
2959 from the features list when we load the actual plugin. That's not
2962 2005-10-04 Johan Dahlin <johan@gnome.org>
2964 * check/gst/gstiterator.c: (GST_START_TEST):
2965 * gst/gstbin.c: (gst_bin_iterate_elements),
2966 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
2967 * gst/gstelement.c: (gst_element_iterate_pads):
2968 * gst/gstformat.c: (gst_format_iterate_definitions):
2969 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
2970 (gst_iterator_new_list), (gst_iterator_filter):
2971 * gst/gstiterator.h:
2972 * gst/gstquery.c: (gst_query_type_iterate_definitions):
2973 Add a GType to GstIterator, update callsites and tests.
2975 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
2977 * gst/gstpad.c: (gst_pad_event_default_dispatch):
2978 give events a chance to be handled by event probes when the pad
2981 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
2983 * gst/gstevent.c: (gst_event_type_get_name),
2984 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
2986 add string representations for event types
2988 2005-10-06 Wim Taymans <wim@fluendo.com>
2990 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
2991 Don't use NULL pointers.
2993 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
2995 * gst/gst_private.h:
2999 * gst/gstpluginfeature.c:
3000 widen the debug category in output to fit the biggest one we have
3001 add a bus category and use it
3002 play with the colors
3003 fix up some categories
3005 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
3007 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
3008 add push activation of sink ghost pads.
3009 Andye, please verify
3011 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
3013 * gst/gstutils.c: (gst_element_link_pads):
3014 fix a bug in the case where neither element has a pad
3015 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
3016 add a test for that case
3018 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
3020 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
3021 emit have-data before checking for peers. This allows
3022 for probe handlers to connect elements. This helps autopluggers.
3023 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
3025 add six checks, linked/unlinked with no/true/false probe
3027 2005-10-04 Wim Taymans <wim@fluendo.com>
3029 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
3030 (gst_fake_sink_event), (gst_fake_sink_preroll),
3031 (gst_fake_sink_render), (gst_fake_sink_change_state):
3032 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
3033 (gst_fake_src_get_property), (gst_fake_src_create),
3034 (gst_fake_src_stop):
3035 * gst/elements/gstidentity.c: (gst_identity_stop):
3036 Protect last_message with lock.
3038 2005-10-04 Edward Hervey <edward@fluendo.com>
3041 Added precision in the comments for GST_FORMAT_DEFAULT
3043 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
3045 * tools/gst-launch.c: (main):
3046 Don't try to run erroneous pipelines.
3048 2005-10-04 Julien MOUTTE <julien@moutte.net>
3050 * gst/gstbus.c: We don't need this header.
3052 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
3057 === release 0.9.3 ===
3059 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
3063 Releasing 0.9.3, "Unregistered"
3065 2005-10-03 Andy Wingo <wingo@pobox.com>
3067 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
3068 whereby calling a pad's activatepush() function can start a thread
3069 that starts to push or pull before the pad gets the FLUSHING flag
3070 unset. Hack around it by holding the stream lock until the flag is
3071 set. Need to replace this with a proper solution. Together with
3072 the ghost pad fixes, this fixes mp3 playing/tagreading.
3074 * docs/design/part-gstghostpad.txt: Add a note about activation of
3075 proxy pads outside of ghost pads.
3077 * gst/gstghostpad.c: Implement the ghost pad activation design.
3079 2005-10-02 Andy Wingo <wingo@pobox.com>
3081 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
3082 It is volatile, after all.
3084 * docs/design/part-gstghostpad.txt: Flesh out activation with
3087 * gst/base/gstbasesrc.c (gst_base_src_init): Use
3090 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
3093 Fix (unused) AM_CONDITIONAL tests.
3095 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
3097 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
3099 * gst/gstutils.c: (gst_pad_query_convert):
3100 Add assertion that makes sure src_val is >=0, just like
3101 gst_query_new_convert() has. (#315895)
3103 2005-09-30 Edward Hervey <edward@fluendo.com>
3105 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
3106 Let's not iterate pads we're not interested in, it avoids getting
3107 sky-high refcounts on sinkpad.
3109 2005-09-30 Wim Taymans <wim@fluendo.com>
3111 * gst/gstelement.c: (gst_element_set_state),
3112 (gst_element_change_state):
3113 Small tweak, element in ASYNC remains ASYNC.
3115 2005-09-30 Wim Taymans <wim@fluendo.com>
3117 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3118 Only error is an error.
3120 * gst/gstbin.c: (gst_bin_change_state):
3123 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
3124 Also call pad_block in pad alloc.
3126 * gst/gstutils.c: (gst_flow_get_name):
3129 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
3131 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3132 (gst_base_src_get_range):
3133 Fix documentation typos. Add some more debug info.
3135 2005-09-29 David Schleef <ds@schleef.org>
3137 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
3138 more end-user friendly.
3139 * tools/gst-inspect.c: (main): Check if command-line argument is
3140 a file and attempt to load that file as a plugin.
3142 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
3144 * check/gst/gstbin.c:
3145 * check/states/sinks.c:
3146 fix tests for the new warning
3147 * check/gst/gstpipeline.c:
3148 add a test for pipeline and bus interaction
3150 elements should be NULL if they get disposed; add a warning if not
3152 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
3155 for 2.6 refcounting, make debug log more correct by printing
3156 the actual refcounts at the time of swap (Wim)
3158 2005-09-29 Andy Wingo <wingo@pobox.com>
3160 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
3161 removes signal watches previously added via
3162 gst_bus_add_signal_watch.
3163 (gst_bus_add_signal_watch): Don't return the source id, just store
3164 it on the bus if there wasn't an id already.
3166 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
3167 add_signal_watch and remove_signal_watch.
3169 2005-09-29 Edward Hervey <edward@fluendo.com>
3171 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
3172 Better if we actually iterate the list :)
3174 2005-09-29 Wim Taymans <wim@fluendo.com>
3176 * check/gst/gstbin.c: (GST_START_TEST):
3177 Change for new bus API.
3179 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
3180 (send_messages), (GST_START_TEST), (gstbus_suite):
3181 Change for new bus signal API.
3183 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
3184 (gst_bus_source_prepare), (gst_bus_source_check),
3185 (gst_bus_create_watch), (gst_bus_add_watch_full),
3186 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
3187 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
3189 Remove support for multiple GSources operating on different
3190 message types as it is too complex and unneeded when using
3192 Added support for receiving signals from the bus.
3194 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
3196 * docs/libs/tmpl/gstdataprotocol.sgml:
3197 * docs/manual/advanced-dataaccess.xml:
3198 * gst/elements/gstcapsfilter.c:
3200 rename filter-caps to caps property
3202 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
3204 * gst/gstvalue.c: (gst_value_deserialize_fraction):
3205 More robust fraction string parsing.
3207 * docs/pwg/appendix-porting.xml:
3208 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
3210 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
3212 * gst/gstcaps.c: (gst_caps_do_simplify):
3213 Thou shalt not free a structure and then continue using it
3214 in the next loop iteration.
3216 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
3218 Add test case for caps simplification.
3220 2005-09-29 Wim Taymans <wim@fluendo.com>
3222 * check/gst/gstbin.c: (GST_START_TEST):
3225 2005-09-29 Wim Taymans <wim@fluendo.com>
3227 * check/gst/gstbin.c: (GST_START_TEST):
3230 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3231 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
3232 (find_element), (gst_bin_sort_iterator_next),
3233 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3234 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3235 (gst_bin_change_state), (gst_bin_dispose):
3236 A bin does not have a bus, it gets the bus from the parent.
3238 * gst/gstelement.c: (gst_element_requires_clock),
3239 (gst_element_provides_clock), (gst_element_is_indexable),
3240 (gst_element_is_locked_state), (gst_element_change_state),
3241 (gst_element_set_bus_func):
3244 * gst/gstpipeline.c: (gst_pipeline_class_init),
3245 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
3246 The pipeline provides a bus.
3248 2005-09-28 Johan Dahlin <johan@gnome.org>
3250 * gst/gstmessage.c (gst_message_parse_state_changed): Use
3251 gst_structure_get_enum instead of gst_structure_get_int
3253 * gst/gststructure.c (gst_structure_get_enum): Impl.
3255 * gst/gststructure.h (gst_structure_get_enum): Add
3257 * docs/gst/gstreamer-sections.txt: Ditto
3259 * gst/gstmessage.c (gst_message_new_state_changed): Use
3260 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
3261 which does introspection.
3262 Reviewed by Christian Schaller
3264 2005-09-28 Stefan Kost <ensonic@users.sf.net>
3266 * gst/gstinfo.c: (gst_debug_log_default):
3267 don't do dummy g_strdup()s
3268 * libs/gst/controller/gstcontroller.c:
3269 (on_object_controlled_property_changed),
3270 (gst_controlled_property_new), (gst_controller_new_valist),
3271 (gst_controller_new_list),
3272 (gst_controller_remove_properties_valist), (gst_controller_set),
3273 (gst_controller_get), (gst_controller_sync_values),
3274 (gst_controller_get_value_array), (_gst_controller_class_init),
3275 (gst_controller_get_type):
3276 * libs/gst/controller/gstcontroller.h:
3277 * libs/gst/controller/gstinterpolation.c:
3278 (gst_controlled_property_find_timed_value_node):
3279 convert // to /**/ comments
3281 2005-09-28 Wim Taymans <wim@fluendo.com>
3283 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
3284 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
3285 (gst_bus_sync_signal_handler):
3287 Added async-message and sync-message signals to the bus.
3288 Added helper BusFunc to emit signals for all posted messages.
3290 * gst/gstmessage.c: (gst_message_type_get_name),
3291 (gst_message_type_to_quark), (gst_message_get_type):
3293 Register quarks for message names.
3295 2005-09-28 Stefan Kost <ensonic@users.sf.net>
3297 * docs/libs/gstreamer-libs-sections.txt:
3298 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3299 (gst_controller_new_list):
3300 * libs/gst/controller/gstcontroller.h:
3301 added another constructor for language bindings
3303 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
3305 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3309 * gst/gstinfo.c: (_gst_debug_init):
3310 slightly more readable color for refcount debugging
3312 2005-09-28 Wim Taymans <wim@fluendo.com>
3314 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3315 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
3316 (find_element), (gst_bin_sort_iterator_next),
3317 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3318 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3319 (gst_bin_change_state), (gst_bin_dispose):
3320 Small doc fixes. get_clock -> provide_clock.
3322 * gst/gstelement.c: (gst_element_class_init),
3323 (gst_element_provides_clock), (gst_element_provide_clock),
3324 (gst_element_get_clock), (gst_element_commit_state),
3325 (gst_element_lost_state):
3327 Make get/set_clock() symetric. Add provide_clock vmethod since
3328 that is actually what this function does.
3330 * gst/gstpipeline.c: (gst_pipeline_class_init),
3331 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
3332 (gst_pipeline_get_clock):
3333 get_clock -> provide_clock.
3335 2005-09-28 Andy Wingo <wingo@pobox.com>
3337 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
3338 lieu of real docs...
3340 * gst/elements/gstfdsrc.c: Cleaned up a bit.
3342 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
3344 * gst/elements/gstcapsfilter.c:
3345 * gst/elements/gstfakesink.c:
3346 * gst/elements/gstfakesrc.c:
3347 * gst/elements/gstfdsink.c:
3348 * gst/elements/gstfdsrc.c:
3349 * gst/elements/gstfilesink.c:
3350 * gst/elements/gstfilesrc.c:
3351 * gst/elements/gstidentity.c:
3352 * gst/elements/gsttee.c:
3353 * gst/elements/gsttypefindelement.c:
3354 Make element details static.
3356 2005-09-28 Wim Taymans <wim@fluendo.com>
3358 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
3359 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
3360 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3361 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3362 (gst_bin_change_state), (gst_bin_dispose):
3363 Some documentation updates.
3364 Clean up dispose handlers.
3366 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
3367 * gst/gstpad.c: (gst_pad_dispose):
3368 Clean up dispose handler.
3370 * gst/gstpipeline.c: (gst_pipeline_change_state):
3371 Removed spurious UNLOCK.
3373 2005-09-27 Stefan Kost <ensonic@users.sf.net>
3375 * docs/gst/gstreamer-sections.txt:
3376 * gst/base/gstbasesrc.h:
3381 * gst/gstpipeline.c:
3382 * gst/gstpipeline.h:
3385 added two new functions to the docs
3386 documents all undocumented GstXXXFlags
3387 completed some incomplete docs
3389 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
3391 * gst/gstbin.c: (gst_bin_dispose):
3392 * gst/gstelement.c: (gst_element_dispose):
3393 remove now useless and leaky resurrection code in dispose
3394 * gst/base/gstbasesrc.c: (gst_base_src_init):
3395 * gst/gstelementfactory.c: (gst_element_factory_create):
3396 * gst/gstobject.c: (gst_object_set_parent):
3399 2005-09-27 Wim Taymans <wim@fluendo.com>
3401 * docs/design/part-TODO.txt:
3404 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
3405 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
3406 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3407 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3408 (gst_bin_change_state):
3410 Remove element variable, we keep element info in the iterator now.
3412 2005-09-27 Andy Wingo <wingo@pobox.com>
3414 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
3417 2005-09-27 Wim Taymans <wim@fluendo.com>
3419 * check/gst/gstbin.c: (GST_START_TEST):
3420 Enable check that works now.
3422 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
3423 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
3424 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
3425 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
3426 (gst_bin_change_state):
3428 Redid the state change algorithm using a topological sort algo.
3429 Handles all cases correctly.
3430 Exposed iterator for state change order.
3433 Temp storage for state changes. Need to get rid of this soon.
3435 2005-09-27 Wim Taymans <wim@fluendo.com>
3437 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
3438 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
3439 (link_fold_func), (gst_pad_proxy_setcaps):
3440 Leak fixes, the fold functions need to unref the passed object and
3441 _get_parent_*() returns ref to parent.
3443 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
3445 * check/gst/gstbuffer.c: (test_make_writable):
3446 Plug leak in test case and fix 'make check-valgrind'
3448 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
3450 * gst/gstbuffer.c: (gst_subbuffer_init):
3451 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
3452 works correctly in all circumstances (we could have just copied
3453 the parent buffer's readonly flag, but conceptually it seems
3454 cleaner to mark all subbuffers as read-only). (based on patch
3455 by Alessandro Decina, #314710).
3457 * check/gst/gstbuffer.c: (create_read_only_buffer),
3458 (test_make_writable), (test_subbuffer_make_writable),
3460 Add some tests for gst_buffer_make_writable().
3462 2005-09-27 Wim Taymans <wim@fluendo.com>
3464 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
3465 use gst_object_has_ancestor().
3467 * gst/gstobject.c: (gst_object_has_ancestor):
3469 gst_object_has_ancestor() copied from gstbin.c as it is a
3472 * tests/instantiate/create.c: (create_all_elements):
3473 * tests/lat.c: (handoff_src), (handoff_sink):
3474 * tests/sched/runxml.c: (main):
3475 * tests/seeking/seeking1.c: (main):
3476 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
3478 Fix compilation of some tests.
3480 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
3483 Remove comment. GST_TYPE_G_ERROR is here to stay,
3484 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
3487 2005-09-26 Wim Taymans <wim@fluendo.com>
3489 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3490 Added check that shows error in state change order.
3492 2005-09-26 Wim Taymans <wim@fluendo.com>
3494 * gst/gstbin.c: (gst_bin_change_state):
3495 Make state change function use 3 queues again, we were
3496 adding elements in the wrong order.
3498 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
3501 * gst/gstpad.c: (gst_pad_dispose):
3502 Added some debug info first.
3504 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
3506 * docs/design/draft-push-pull.txt:
3507 * docs/design/part-events.txt:
3508 * docs/design/part-overview.txt:
3509 * docs/design/part-scheduling.txt:
3510 Replace all _pull_region() with _pull_range()
3512 2005-09-26 Andy Wingo <wingo@pobox.com>
3514 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
3516 * check/gst-libs/controller.c: Update for controller api change.
3519 * tests/Makefile.am:
3520 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
3521 over by GLib bug 118439.
3523 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
3524 routines to a function.
3526 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
3528 * libs/gst/controller/gsthelper.c:
3529 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
3530 (gst_object_sync_values): Renamed from sink_values. Ugh.
3532 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
3534 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
3535 Renamed from controller_key, as it is exported.
3537 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
3539 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
3544 * gst/gstpadtemplate.h:
3547 * gst/gstqueryutils.c:
3548 * gst/gstqueryutils.h:
3549 remove queryutils headers after moving the two used functions
3550 to gstquery. also fixes build problem for gstsiddec
3552 2005-09-26 Michael Smith <msmith@fluendo.com>
3554 * tools/gst-launch.1.in:
3555 Correct documentation in manpage of debug syntax
3557 2005-09-26 Wim Taymans <wim@fluendo.com>
3559 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
3560 (gst_base_src_is_seekable), (gst_base_src_change_state):
3561 Some more debugging info.
3563 2005-09-25 Stefan Kost <ensonic@users.sf.net>
3565 * docs/gst/gstreamer-sections.txt:
3566 * gst/base/gstbasetransform.h:
3570 2005-09-25 Stefan Kost <ensonic@users.sf.net>
3572 * docs/gst/.cvsignore:
3573 * docs/gst/tmpl/.cvsignore:
3574 * docs/gst/tmpl/gstpipeline.sgml:
3575 * docs/gst/tmpl/gstplugin.sgml:
3576 * gst/gstpipeline.c:
3579 inlined the last two docs files
3580 removed the tmpl directory from cvs (no more conflicts here!)
3582 2005-09-25 Stefan Kost <ensonic@users.sf.net>
3584 * docs/gst/gstreamer-sections.txt:
3585 * docs/gst/tmpl/.cvsignore:
3586 * docs/gst/tmpl/gstpad.sgml:
3587 * docs/gst/tmpl/gstpadtemplate.sgml:
3589 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
3590 (gst_pad_finalize), (gst_pad_set_pad_template):
3592 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
3593 (gst_pad_template_class_init), (gst_pad_template_init),
3594 (gst_pad_template_dispose), (name_is_valid),
3595 (gst_static_pad_template_get), (gst_pad_template_new),
3596 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
3597 (gst_pad_template_pad_created):
3598 * gst/gstpadtemplate.h:
3599 inlined two more docs
3600 factored gstpadtemplate out of gstpad
3602 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
3604 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
3605 (test_children_state_change_order_semi_sink):
3606 Fix test case: we can't rely on a fixed state change order when
3607 going from READY => PAUSED because the sink might commit its
3608 new state first when the first buffer created by the source
3609 reaches the sink before the source has finished its change state.
3610 (Test case still fails at times, see #316856, comment 5 onwards)
3612 2005-09-24 Wim Taymans <wim@fluendo.com>
3614 * docs/design/part-events.txt:
3615 * docs/design/part-gstbus.txt:
3616 * docs/design/part-gstpipeline.txt:
3617 * docs/design/part-messages.txt:
3618 * docs/design/part-overview.txt:
3619 * docs/design/part-segments.txt:
3626 * gst/gstiterator.c:
3627 Various documentation updates.
3629 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
3632 Well, that's embarassing. Luckily we weren't using
3633 GST_CLOCK_DIFF anywhere.
3635 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
3637 * common/gtk-doc.mak:
3638 don't fail on building XML, FC4 slave shows a bunch of doc
3639 missing bits that I don't get
3641 * gst/gstpipeline.c:
3642 * gst/gststructure.c:
3645 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
3647 * docs/design/part-gstbin.txt:
3648 * docs/design/part-gstbus.txt:
3650 Add blurb about how the bus goes into flushing mode and
3651 drops all messages when its bin goes from READY into NULL
3654 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
3656 * docs/gst/gstreamer-sections.txt:
3657 * gst/gststructure.c: (gst_structure_get_clock_time):
3658 * gst/gststructure.h:
3659 add a method to get a GstClockTime out of a structure
3661 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
3663 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
3664 (test_children_state_change_order_semi_sink), (gst_bin_suite):
3665 Added test to check state change order in bins (can still be made
3666 to fail here under heavy disk load; bails out with 'Push on pad
3667 fakesink:sink0, but it was not activated in push mode').
3669 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
3670 Fix state change order when there is only a semi sink (#316856)
3672 * gst/gstbus.c: (gst_bus_class_init):
3673 Use _class_peek_parent(), not _class_ref(); fix docs to say
3674 'default main context' instead of 'mainloop' where that is
3677 * gst/gstelement.c: (gst_element_commit_state),
3678 (gst_element_set_state):
3679 Fix typos in debug messages
3681 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
3684 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
3685 * gst/gstpluginfeature.c:
3688 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3689 change an assert into an error until it gets fixed properly
3691 2005-09-23 Stefan Kost <ensonic@users.sf.net>
3693 * docs/gst/gstreamer-sections.txt:
3694 * docs/gst/tmpl/.cvsignore:
3695 * docs/gst/tmpl/gstelement.sgml:
3696 * docs/gst/tmpl/gstinfo.sgml:
3697 * docs/gst/tmpl/gstobject.sgml:
3702 * gst/gstobject.c: (gst_object_class_init):
3704 inlined 3 more biiiig doc files and added some missing docs on the fly
3706 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
3708 * check/gst/.cvsignore:
3709 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
3710 * gst/gstregistryxml.c: (load_plugin),
3711 (gst_registry_xml_save_plugin):
3712 put back source in registry. add checks for find_plugin.
3713 * testsuite/states/bin.c: (assert_state), (empty_bin),
3714 (test_adding_one_element), (main):
3715 * testsuite/states/locked.c: (main):
3716 some compile/run fixes
3718 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
3720 * check/gst/gstvalue.c: (GST_START_TEST):
3721 fix leaks in the test itself
3723 2005-09-22 Wim Taymans <wim@fluendo.com>
3725 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3726 (gst_base_sink_send_event), (gst_base_sink_peer_query),
3727 (gst_base_sink_query):
3728 Prepare for more accurate position reporting and query
3731 * gst/gstelement.c: (gst_element_send_event),
3732 (gst_element_set_state):
3735 2005-09-22 Wim Taymans <wim@fluendo.com>
3737 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
3738 (gst_query_parse_segment):
3741 Add segment query for future use.
3743 2005-09-22 Wim Taymans <wim@fluendo.com>
3745 * gst/gstbin.c: (gst_bin_add_func):
3746 Some more debug info.
3748 * gst/gstelement.c: (gst_element_send_event):
3752 Don't know how flags got broken.
3757 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
3759 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
3760 Add simplistic test suite for GST_TYPE_DATE serialisation and
3763 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
3765 * docs/gst/gstreamer-sections.txt:
3766 * gst/gststructure.c: (gst_structure_set_valist),
3767 (gst_structure_get_date):
3768 * gst/gststructure.h:
3769 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
3770 (gst_date_copy), (gst_value_compare_date),
3771 (gst_value_serialize_date), (gst_value_deserialize_date),
3772 (gst_value_transform_date_string),
3773 (gst_value_transform_string_date), (_gst_value_initialize):
3775 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
3776 bunch of utility functions along with a hack that checks that
3777 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
3778 is required. Part of the grand scheme in #170777.
3780 2005-09-22 Andy Wingo <wingo@pobox.com>
3782 * gst/gstconfig.h.in: Psych out gtk-doc.
3784 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
3786 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
3788 * tools/gst-inspect.c (print_element_list): Plug some
3789 inconsequential leaks.
3791 * gst/gstregistry.c (gst_registry_get_default): Doc.
3793 * check/gst/gstplugin.c:
3794 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
3795 * gst/gstelementfactory.c (gst_element_factory_create):
3796 * gst/gstindexfactory.c (gst_index_factory_create): Update for
3799 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
3800 (gst_plugin_feature_load): Doc, don't eat refs.
3802 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
3803 (gst_plugin_list_free): Doc.
3804 (gst_plugin_load_file): Doc updates.
3806 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
3807 accessors returning refcounted objects, return a ref.
3809 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
3810 accessor for caps. IDEMPOTENCE. Oh yes.
3812 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
3814 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
3816 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
3817 (_gst_debug_register_funcptr):
3818 Add mutex to serialise access to the hash table with
3819 the function pointer => function name string mapping;
3820 make that hash table static scope (#316809).
3822 * gst/registries/.cvsignore:
3823 Remove left-over file.
3825 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
3827 * docs/pwg/appendix-porting.xml:
3828 And something about newsegment events and caps-on-buffers to
3829 the porting guide (feel free to improve).
3831 2005-09-21 Andy Wingo <wingo@pobox.com>
3833 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
3834 data and event probes on the same pad.
3835 (test_buffer_probe_once): Test that removing probes from within
3836 the probe functions works.
3838 2005-09-21 Andy Wingo <wingo@pobox.com>
3840 * check/gst/gstutils.c: New file.
3841 (test_buffer_probe_n_times): A simple buffer probe test. More to
3844 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
3845 have-data::buffer, not have-data.
3846 (gst_pad_add_event_probe): Likewise for have-data::event.
3847 (gst_pad_add_data_probe): More docs. The part about 'resolving the
3848 peer' isn't quite right yet though.
3849 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
3850 (gst_pad_remove_data_probe): Change to take the guint handler_id
3851 as their arg, not the function+data, which is more glib-like.
3853 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
3854 the signal emission to indicate if the data is a buffer or an
3856 (gst_pad_get_type): Initialize buffer and event quarks.
3857 (gst_pad_class_init): have-data is now a detailed signal, yes it
3860 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
3862 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
3863 * gst/gstutils.c: (gst_util_set_value_from_string),
3864 (gst_util_set_object_arg):
3865 Don't put functional code in g_return_if_fail() or
3866 g_return_val_if_fail() statements, otherwise things will
3867 break when G_DISABLE_CHECKS is defined during compilation.
3869 2005-09-21 Stefan Kost <ensonic@users.sf.net>
3871 * docs/gst/tmpl/.cvsignore:
3872 * docs/gst/tmpl/gstvalue.sgml:
3875 inlied another one and added some obvious docs
3877 2005-09-21 Wim Taymans <wim@fluendo.com>
3879 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
3880 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
3881 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
3882 (gst_fdsrc_get_property), (gst_fdsrc_create):
3883 * gst/elements/gstfdsrc.h:
3884 Properly implement fdsrc. Removed signal and timeout,
3885 better implemented somewhere else.
3887 2005-09-21 Stefan Kost <ensonic@users.sf.net>
3889 * docs/gst/tmpl/.cvsignore:
3890 * docs/gst/tmpl/gstimplementsinterface.sgml:
3891 * gst/gstinterface.c:
3894 2005-09-21 Stefan Kost <ensonic@users.sf.net>
3896 * docs/gst/gstreamer-sections.txt:
3897 * docs/gst/tmpl/.cvsignore:
3898 * docs/gst/tmpl/gstenumtypes.sgml:
3899 remove obsolete doc file
3901 2005-09-21 David Schleef <ds@schleef.org>
3903 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
3904 little beer, fix a little leak.
3906 2005-09-21 Stefan Kost <ensonic@users.sf.net>
3908 * docs/gst/gstreamer-docs.sgml:
3909 * docs/gst/gstreamer-sections.txt:
3910 * docs/gst/tmpl/.cvsignore:
3915 * gst/gstindex.c: (gst_index_class_init):
3917 * gst/gstindexfactory.c: (gst_index_factory_get_type),
3918 (gst_index_factory_class_init), (gst_index_factory_init),
3919 (gst_index_factory_finalize), (gst_index_factory_new),
3920 (gst_index_factory_destroy), (gst_index_factory_find),
3921 (gst_index_factory_create), (gst_index_factory_make):
3922 * gst/gstindexfactory.h:
3923 * gst/gstpluginfeature.c:
3924 * gst/gstpluginfeature.h:
3925 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
3926 more docs inlined, splitted gstindex.{c,h}
3928 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
3930 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
3933 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
3935 * gst/elements/gstfilesink.c: (gst_file_sink_init):
3936 Set sync to FALSE by default.
3938 2005-09-20 Wim Taymans <wim@fluendo.com>
3940 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3941 (gst_base_sink_init):
3942 Make sync property settable from subclass.
3944 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
3945 (gst_fake_sink_change_state):
3946 Set sync to FALSE by default.
3948 2005-09-20 Wim Taymans <wim@fluendo.com>
3950 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
3951 * tools/gst-launch.c: (main):
3952 The timeout handler should have lower priority than the source
3953 so we don't timeout before popping a message with 0 timeout.
3954 Dump error messages after failed state change.
3956 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
3958 * tools/gst-inspect.c: (print_element_properties_info):
3961 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
3963 * check/gst/gstevent.c:
3964 * gst/elements/gstfakesink.c:
3965 * gst/elements/gstfakesink.h:
3966 remove the sync property from fakesink.
3967 has the side effect of setting sync TRUE
3968 for fakesink, which is a change. Anyone who knows how
3969 to fix this nicely in a GObject-y way, feel free.
3971 2005-09-20 Stefan Kost <ensonic@users.sf.net>
3973 * docs/gst/gstreamer-docs.sgml:
3974 remove probe refsection
3976 2005-09-20 Stefan Kost <ensonic@users.sf.net>
3978 * check/Makefile.am:
3979 disable valgrinding the controller test again
3980 * docs/gst/gstreamer-sections.txt:
3981 update for api-changes
3983 2005-09-20 Wim Taymans <wim@fluendo.com>
3985 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3986 (gst_base_sink_set_property), (gst_base_sink_get_property),
3987 (gst_base_sink_do_sync):
3988 * gst/base/gstbasesink.h:
3989 Added sync property to basesink to disable clock sync.
3991 2005-09-20 Andy Wingo <wingo@pobox.com>
3993 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
3994 eating the caller's refcount.
3996 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
3997 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
4000 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
4001 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
4002 of GLib 2.8 public, so we can know which refcount to check in
4005 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
4006 (gst_object_init): Only set the gst refcount if we're going ahead
4007 with the refcount hack.
4009 2005-09-20 Stefan Kost <ensonic@users.sf.net>
4011 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
4012 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
4013 more leaks plumbed, added more debug-logging
4017 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
4020 remove include of gstmemchunk.h
4022 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
4024 * gst/gstclock.c: (_gst_clock_id_free):
4025 Commit from the Political Party For More Atomic CVS Commits,
4026 so that people don't waste too much of their day fishing
4027 out obvious leaks out of massive commits.
4028 Oh, and fix a pretty damn obvious leak in the memchunk
4031 2005-09-20 Stefan Kost <ensonic@users.sf.net>
4033 * check/Makefile.am:
4034 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
4035 plug mem-leak, re-add to valgrindable tests
4037 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
4040 unbreak the build for those who have chronic arthritis
4041 and typing "make check" is just too taxing on the hands
4043 2005-09-20 Andy Wingo <wingo@pobox.com>
4045 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
4046 really want it out, you should fix plugins at the same time.
4048 2005-09-19 Stefan Kost <ensonic@users.sf.net>
4051 * docs/gst/gstreamer-sections.txt:
4053 added missing symbols to api docs
4054 disable ref-count hack if we have glib >= 2.8
4056 2005-09-19 David Schleef <ds@schleef.org>
4058 * docs/gst/Makefile.am: Ignore a few more internal headers
4059 * docs/gst/gstreamer-docs.sgml: Remove old sections
4060 * docs/gst/gstreamer-sections.txt: Remove old sections
4061 * docs/gst/tmpl/gstobject.sgml: update
4062 * docs/gst/tmpl/gstplugin.sgml: update
4063 * docs/gst/tmpl/gstpluginfeature.sgml: update
4064 * docs/random/ds/0.9-suggested-changes: update.
4065 * gst/Makefile.am: remove memchunk and trashstack, since they're
4067 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
4068 * gst/gst.h: don't include some headers
4069 * gst/gstchildproxy.c: add gstmarshal.h
4070 * gst/gstclock.c: Don't use memchunks
4071 * gst/gstminiobject.c: Add some docs
4072 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
4073 * gst/gstobject.h: same
4074 * gst/gstplugin.c: include gstmacros.h
4075 * gst/gstplugin.h: don't include gstmacros.h, since it's private
4076 * gst/gstquery.c: don't use memchunks
4077 * gst/gstregistry.c: rename gst_registry_deinit()
4078 * gst/gstregistry.h: same
4080 2005-09-19 David Schleef <ds@schleef.org>
4082 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
4083 * docs/libs/gstreamer-libs-sections.txt:
4084 * docs/libs/tmpl/gstgetbits.sgml:
4085 * docs/libs/tmpl/gstputbits.sgml:
4087 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
4089 * win32/gstenumtypes.c:
4090 * win32/gstenumtypes.h:
4093 2005-09-19 Wim Taymans <wim@fluendo.com>
4095 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
4096 Automatically PAUSE and RESUME a pipeline when a flushing seek
4099 2005-09-19 Andy Wingo <wingo@pobox.com>
4101 * gst/gstregistry.h: Spacing fixen.
4103 2005-09-19 Wim Taymans <wim@fluendo.com>
4105 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
4106 Handle state change failure more correctly.
4108 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
4110 * check/Makefile.am:
4111 * check/pipelines/cleanup.c: (run_pipeline):
4112 * check/pipelines/simple_launch_lines.c: (run_pipeline),
4114 enable cleanup again after fixing the leak
4116 some more info on docs
4118 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
4120 * check/Makefile.am:
4121 re-enable tests now that leaks are plugged
4123 * check/gst/gstbin.c:
4124 * check/gst/gstpipeline.c:
4125 add some more tests while fixing leaks
4127 make sure binaries are uptodate when valgrinding/gdbing
4129 * gst/gstelementfactory.c:
4130 remove a ref too many, and add a FIXME for when we get
4131 round to disposing of classes
4133 fix the refcounting when loading a plugin from a file and
4134 the code pretends that the pointer is the same even though
4135 of course it can change
4136 * gst/gstpluginfeature.c:
4137 unref plugins marked cached (a bit confusing as a name)
4138 as the docs state should be done
4139 various doc additions to explain refcounting
4140 * gst/gstregistry.c:
4141 * gst/gstregistryxml.c:
4144 2005-09-19 Wim Taymans <wim@fluendo.com>
4146 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
4147 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
4148 (send_messages), (GST_START_TEST), (gstbus_suite):
4149 * check/gst/gstpipeline.c: (GST_START_TEST):
4150 * check/pipelines/cleanup.c: (run_pipeline):
4151 * check/pipelines/simple_launch_lines.c: (run_pipeline),
4153 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
4154 (gst_bus_source_check), (gst_bus_source_dispatch),
4155 (gst_bus_create_watch), (gst_bus_add_watch_full),
4156 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
4158 * tools/gst-launch.c: (event_loop):
4159 * tools/gst-md5sum.c: (event_loop):
4160 GstBusHandler -> GstBusFunc, return value has the same meaning as
4161 any other GSource (FALSE == remove source).
4162 _add_watch() and _add_watch_full() now take a MessageType mask to
4163 only handle specific types of messages.
4164 _poll() returns the GstMessage instead of the message type to avoid
4166 _have_pending() takes a MessageType mask now too.
4167 Added testsuite for multiple bus watches.
4168 Fix testsuites and applications for new bus API.
4170 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
4172 * check/Makefile.am:
4173 mark a bunch of the tests as to fix until we fix them
4175 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
4178 use GST_PLUGIN settings for valgrind tests as well, so we're
4179 valgrinding the correct thing
4180 * gst/gst.c: (init_post):
4183 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
4185 * gst/gst.c: (init_post), (gst_deinit):
4186 * gst/gstelementfactory.c: (gst_element_factory_class_init),
4187 (gst_element_factory_finalize), (gst_element_factory_cleanup):
4188 * gst/gstindex.c: (gst_index_factory_class_init),
4189 (gst_index_factory_finalize):
4190 * gst/gstobject.c: (gst_object_dispose):
4191 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
4192 (gst_plugin_load_file), (gst_plugin_desc_free):
4193 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
4194 (gst_plugin_feature_finalize):
4195 * gst/gstregistry.c: (gst_registry_class_init),
4196 (gst_registry_init), (gst_registry_finalize),
4197 (gst_registry_get_default), (gst_registry_deinit):
4198 * gst/gstregistry.h:
4199 * gst/gstregistryxml.c: (load_feature), (load_plugin):
4200 various cleanups and memleak plugging. make valgrind is happy now.
4202 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
4205 add a check-valgrind target
4207 2005-09-18 David Schleef <ds@schleef.org>
4209 * tools/gst-inspect.c: Revert the GOption code.
4211 2005-09-17 David Schleef <ds@schleef.org>
4213 * check/Makefile.am: Fix environment variables.
4214 * check/gst/gstplugin.c: Fix for API changes.
4215 * tools/gst-inspect.c: Fix for API changes.
4216 * tools/gst-xmlinspect.c: Fix for API changes.
4217 * gst/gstelementfactory.c:
4220 * gst/gstpluginfeature.c:
4221 * gst/gstpluginfeature.h:
4222 * gst/gstregistry.c:
4223 * gst/gstregistry.h:
4224 * gst/gstregistryxml.c:
4225 * gst/gsttypefind.c:
4226 * gst/gsttypefindfactory.c:
4227 * gst/indexers/gstfileindex.c:
4228 * gst/indexers/gstmemindex.c:
4229 * gst/schedulers/Makefile.am:
4230 Change registry to keep track of both plugins and features,
4231 removing the feature tracking from plugins themselves.
4233 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
4235 * check/Makefile.am:
4236 * tools/gst-register.1.in:
4239 2005-09-15 David Schleef <ds@schleef.org>
4241 * check/gst/gstplugin.c:
4242 * gst/gstelementfactory.c:
4244 * gst/gstpluginfeature.c:
4245 * gst/gstregistry.c:
4246 Getting tired of debugging. Disabled all the unreffing of
4247 plugins and features, which fixes the segfaults, but of
4248 course leaks like crazy. At least playbin works.
4250 2005-09-15 David Schleef <ds@schleef.org>
4252 * check/gst/gstplugin.c: (register_check_elements),
4253 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
4255 * gst/elements/gsttypefindelement.c: Fix refcounting.
4256 * gst/gsttypefind.c:
4257 * gst/gsttypefindfactory.c:
4258 * gst/gsttypefindfactory.h:
4260 2005-09-15 David Schleef <ds@schleef.org>
4262 * gst/gstindex.c: get refcounting correct.
4263 * gst/gstregistry.c: Handle the case where a feature/plugin is
4266 2005-09-15 David Schleef <ds@schleef.org>
4268 * check/Makefile.am:
4269 * check/gst/gstplugin.c: Add test
4270 * gst/gstplugin.c: Fix problems noticed by testsuite
4272 * gst/gstregistry.c:
4273 * gst/gstregistry.h:
4275 2005-09-15 David Schleef <ds@schleef.org>
4277 * gst/gstplugin.c: Implement semi-decent recounting and locking
4278 in plugins and plugin features.
4280 * gst/gstpluginfeature.c:
4281 * gst/gstpluginfeature.h:
4282 * gst/gstregistry.c:
4284 2005-09-15 Michael Smith <msmith@fluendo.com>
4286 * gst/gstregistry.c: (gst_registry_get_feature_list):
4287 Implement this. Makes oggdemux work; decodebin still broken.
4289 2005-09-14 David Schleef <ds@schleef.org>
4291 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
4293 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
4294 * gst/check/Makefile.am:
4295 * libs/gst/controller/Makefile.am:
4296 * libs/gst/dataprotocol/Makefile.am:
4298 2005-09-14 David Schleef <ds@schleef.org>
4300 * configure.ac: Remove getbits library. Nothing uses it, and
4301 it should be in something like liboil if someone did want
4303 * libs/gst/Makefile.am:
4304 * libs/gst/getbits/Makefile.am:
4305 * libs/gst/getbits/gbtest.c:
4306 * libs/gst/getbits/getbits.c:
4307 * libs/gst/getbits/getbits.h:
4308 * libs/gst/getbits/gstgetbits_generic.c:
4309 * libs/gst/getbits/gstgetbits_i386.s:
4310 * libs/gst/getbits/gstgetbits_inl.h:
4312 2005-09-14 David Schleef <ds@schleef.org>
4314 * gst/Makefile.am: Dist glib-compat.h
4316 2005-09-14 David Schleef <ds@schleef.org>
4318 * configure.ac: Remove gst/registries, since it's no longer used.
4319 * gst/registries/Makefile.am:
4320 * gst/registries/gstlibxmlregistry.c:
4321 * gst/registries/gstlibxmlregistry.h:
4322 * gst/registries/gstxmlregistry.c:
4323 * gst/registries/gstxmlregistry.h:
4324 * gst/registries/registrytest.c:
4326 2005-09-14 David Schleef <ds@schleef.org>
4328 * gst/glib-compat.h:
4329 * gst/gstregistryxml.c:
4330 Convergence is near. Seriously.
4332 2005-09-14 David Schleef <ds@schleef.org>
4334 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4335 * gst/glib-compat.h:
4336 Attempt #4 to appease the buildbots.
4338 2005-09-14 David Schleef <ds@schleef.org>
4340 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4343 2005-09-14 David Schleef <ds@schleef.org>
4345 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4348 2005-09-14 David Schleef <ds@schleef.org>
4350 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
4353 2005-09-14 David Schleef <ds@schleef.org>
4355 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
4356 * gst/glib-compat.h: Add some functions that are in newer versions
4357 of glib than we care to require.
4358 * gst/gstregistryxml.c: Use them.
4360 2005-09-14 David Schleef <ds@schleef.org>
4362 * po/POTFILES.in: remove gst-register.c
4364 2005-09-14 David Schleef <ds@schleef.org>
4366 * docs/gst/gstreamer-docs.sgml:
4367 * docs/gst/gstreamer-sections.txt:
4368 * docs/gst/gstreamer.types:
4369 * docs/gst/tmpl/gstelement.sgml:
4370 * docs/gst/tmpl/gstplugin.sgml:
4371 * docs/gst/tmpl/gstpluginfeature.sgml:
4372 Documentation updates for registry changes.
4374 2005-09-14 David Schleef <ds@schleef.org>
4376 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
4377 because we don't require glib-2.8.
4379 2005-09-14 David Schleef <ds@schleef.org>
4381 * gst/gstregistryxml.c: Added. Essentially moved out of the
4382 registries directory.
4384 2005-09-14 David Schleef <ds@schleef.org>
4386 * check/Makefile.am:
4387 * check/generic/states.c:
4391 * gst/gst_private.h:
4392 * gst/gstelementfactory.c:
4397 * gst/gstpluginfeature.c:
4398 * gst/gstpluginfeature.h:
4399 * gst/gstregistry.c:
4400 * gst/gstregistry.h:
4401 * gst/gstregistrypool.c: remove
4402 * gst/gstregistrypool.h: remove
4403 * gst/gsttypefind.c:
4404 * gst/gsttypefindfactory.c:
4406 * tools/Makefile.am:
4407 * tools/gst-compprep.c:
4408 * tools/gst-inspect.c:
4409 * tools/gst-register.c: remove
4410 * tools/gst-xmlinspect.c:
4411 Registry rewrite. Changes registry from being a file created
4412 by a tool into a simple cache file created automatically by
4413 libgstreamer. Removed gst-register (because it's no longer
4414 needed). Remove registry pools, because we only have one
4415 registry implementation (XML). Fix up other subsystems as
4418 2005-09-13 Michael Smith <msmith@fluendo.com>
4420 * gst/gstconfig.h.in:
4421 Don't Use windows linking attributes for MinGW. Fixes #316157
4423 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
4425 * gst/gstutils.c: (set_state_async_thread_func),
4426 (gst_element_set_state_async):
4427 Apparently people think it's better if this function doesn't
4428 try to set the state to whatever state was asked for on the first
4429 call to this function for any object. Seriously.
4431 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
4433 * check/gst/gstpipeline.c: (GST_START_TEST):
4434 * docs/gst/gstreamer-sections.txt:
4435 * gst/gstutils.c: (set_state_async_thread_func),
4436 (gst_element_set_state_async):
4438 add a "gst_element_set_state_async" method that
4439 sets the state and starts a thread to make sure the state
4440 change completes as best as it can
4442 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
4444 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4445 codify design+behaviour in testsuite after discussion
4447 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
4449 * docs/gst/tmpl/gstelement.sgml:
4450 * docs/manual/appendix-quotes.xml:
4452 * gst/gstelement.c: (gst_element_set_state):
4455 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
4457 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4458 (gst_base_transform_prepare_output_buf),
4459 (gst_base_transform_handle_buffer):
4460 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
4461 (gst_capsfilter_prepare_buf):
4462 Remove the requirement for sub-classes to call the parent
4463 implementation of prepare_output_buffer with a wrapper function.
4466 * gst/gsttagsetter.h:
4469 2005-09-11 Stefan Kost <ensonic@users.sf.net>
4471 * docs/gst/gstreamer-sections.txt:
4474 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
4476 * docs/gst/gstreamer-sections.txt:
4477 * docs/gst/tmpl/gstelement.sgml:
4478 * docs/gst/tmpl/gstplugin.sgml:
4479 * gst/gstminiobject.c:
4481 docs now stop throwing warnings
4483 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
4485 * docs/gst/gstreamer-sections.txt:
4486 * docs/gst/gstreamer.types:
4487 * docs/gst/tmpl/gstpad.sgml:
4488 * docs/gst/tmpl/gsttypes.sgml:
4489 * gst/base/gstadapter.h:
4490 * gst/base/gstbasesink.h:
4491 * gst/base/gstbasesrc.h:
4501 * gst/gststructure.c:
4502 * gst/registries/gstlibxmlregistry.h:
4503 various documentation fixes
4505 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
4507 * docs/gst/gstreamer-sections.txt:
4508 * docs/gst/tmpl/gstvalue.sgml:
4509 rearrange gstvalue section
4510 * gst/gstutils.c: (gst_element_state_get_name):
4512 * gst/gstvalue.c: (_gst_value_initialize):
4516 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
4518 * check/gst-libs/controller.c:
4520 * gst/base/gstbasetransform.c:
4521 (gst_base_transform_default_prepare_buf),
4522 (gst_base_transform_handle_buffer):
4523 * gst/base/gstbasetransform.h:
4524 Some more basetransform changes and fixes to enable sub-classes
4525 that modify buffer metadata only.
4526 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
4527 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
4528 (gst_capsfilter_prepare_buf):
4529 If the output pad has fixed allowed caps and input buffers
4530 don't have any, set the fixed caps on outgoing buffers.
4532 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
4533 * check/elements/identity.c: (GST_START_TEST):
4534 Make the error a little clearer when the test fails because
4535 identity made a copy of the buffer.
4536 * docs/gst/gstreamer-sections.txt:
4537 New symbols in gstbasetransform.h
4538 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4539 (gst_base_transform_init), (gst_base_transform_transform_size),
4540 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
4541 (gst_base_transform_default_prepare_buf),
4542 (gst_base_transform_get_unit_size),
4543 (gst_base_transform_buffer_alloc),
4544 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4545 (gst_base_transform_change_state),
4546 (gst_base_transform_set_passthrough),
4547 (gst_base_transform_set_in_place),
4548 (gst_base_transform_is_in_place):
4549 * gst/base/gstbasetransform.h:
4550 Change BaseTransform to separate in_place operate from same_caps
4551 output. in_place implies that the element can perform the transform
4552 on incoming buffers in-place, even if the caps on the output are
4554 Sub-class elements can now implement special buffer allocation
4555 methods for outgoing buffers if they wish to.
4556 Big documentation addition.
4557 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
4558 * gst/elements/gstelements.c:
4559 Changes for basetransform modifications.
4560 * gst/elements/Makefile.am:
4561 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
4562 Compile fix. Extra debug output.
4564 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
4566 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
4568 add tests for valid pad naming
4569 * gst/check/gstcheck.c: (gst_check_log_message_func),
4570 (gst_check_log_critical_func):
4572 remove printing of code, it is fragile when the code contains
4573 % and the line number is enough info
4574 * gst/check/gstcheck.h:
4575 * gst/gstpad.c: (gst_pad_template_new):
4578 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
4581 say what CHECK flags we use
4582 * docs/libs/gstreamer-libs.types:
4583 * libs/gst/controller/Makefile.am:
4584 * libs/gst/controller/gst-controller.c:
4585 * libs/gst/controller/gst-controller.h:
4586 * libs/gst/controller/gst-helper.c:
4587 * libs/gst/controller/gst-interpolation.c:
4588 * libs/gst/controller/gstcontroller.c:
4589 * libs/gst/controller/gsthelper.c:
4590 * libs/gst/controller/gstinterpolation.c:
4591 * tools/gst-inspect.c: (print_plugin_info):
4592 we don't use dashes in header names
4594 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
4596 * check/Makefile.am:
4597 * check/gst/.cvsignore:
4598 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
4599 (gst_pipeline_suite), (main):
4600 adding a test for pipelines and state changes
4601 * gst/gstutils.c: (get_state_func):
4603 * gstreamer.spec.in:
4606 2005-09-08 Michael Smith <msmith@fluendo.com>
4608 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
4609 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
4610 (gst_file_src_is_seekable), (gst_file_src_get_size),
4611 (gst_file_src_start):
4612 * gst/elements/gstfilesrc.h:
4613 Various fixes for unseekable, unmmapable, and non-normal files, so
4614 that fallback to read() rather than mmap() works.
4615 * gst/gstevent.c: (gst_event_new_newsegment):
4616 Allow newsegment events with segment_start == segment_end, as will
4617 correctly happen if you use filesrc on a zero-size file, for
4620 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
4622 * gst/gstplugin.c: (gst_plugin_load_file):
4623 Call g_module_close when we don't load the module
4625 * gst/registries/gstlibxmlregistry.c:
4626 (gst_xml_registry_get_property):
4627 Port leak fix from 0.8
4629 2005-09-07 Stefan Kost <ensonic@users.sf.net>
4631 * docs/gst/gstreamer-docs.sgml:
4632 * docs/gst/tmpl/.cvsignore:
4633 * docs/gst/tmpl/gsttrace.sgml:
4634 * docs/gst/tmpl/gsttrashstack.sgml:
4643 * gst/gsttaginterface.c:
4644 * gst/gsttaginterface.h:
4647 * gst/gsttagsetter.c:
4648 * gst/gsttagsetter.h:
4651 * gst/gsttrashstack.c:
4652 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
4653 inlined docs for gsttrace, gsttrashstack
4655 2005-09-07 Stefan Kost <ensonic@users.sf.net>
4658 * gst/elements/gstbufferstore.h:
4659 * gst/elements/gsttypefindelement.c:
4660 * gst/elements/gsttypefindelement.h:
4662 * gst/gsttypefind.c:
4663 * gst/gsttypefind.h:
4664 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
4665 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
4666 (gst_type_find_factory_dispose),
4667 (gst_type_find_factory_unload_thyself),
4668 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
4669 (gst_type_find_factory_get_caps),
4670 (gst_type_find_factory_get_extensions),
4671 (gst_type_find_factory_call_function):
4672 * gst/gsttypefindfactory.h:
4673 * gst/registries/gstlibxmlregistry.c:
4674 * gst/registries/gstxmlregistry.c:
4675 splitted gsttypefind into gsttypefind, gsttypefindfactory
4677 2005-09-07 Andy Wingo <wingo@pobox.com>
4679 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
4680 condition whereby the pad's task function is entered before the
4681 pad_mode variable was set.
4683 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
4685 * gst/gstpad.c: (gst_pad_alloc_buffer):
4686 Catch misbehaving pad_alloc functions that don't
4687 set up caps and do it for them.
4689 2005-09-07 Stefan Kost <ensonic@users.sf.net>
4691 * check/pipelines/simple_launch_lines.c: (run_pipeline):
4693 * docs/gst/tmpl/.cvsignore:
4694 * docs/gst/tmpl/gstmemchunk.sgml:
4695 * docs/gst/tmpl/gstparse.sgml:
4696 * docs/gst/tmpl/gsttaglist.sgml:
4697 * docs/gst/tmpl/gsttagsetter.sgml:
4698 * docs/gst/tmpl/gsttypefind.sgml:
4699 * docs/gst/tmpl/gsttypefindfactory.sgml:
4700 * gst/gstmemchunk.c:
4703 * gst/gsttaginterface.c:
4704 * gst/gsttypefind.c:
4705 * gst/gsttypefind.h:
4708 === release 0.9.2 ===
4710 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
4715 releasing 0.9.2, "South"
4717 2005-09-05 Andy Wingo <wingo@pobox.com>
4719 * gst/registries/gstxmlregistry.h:
4720 * gst/registries/gstxmlregistry.c: Um... resurrect...
4722 * gst/registries/gstxmlregistry.h:
4723 * gst/registries/gstxmlregistry.c: and update to newer API.
4724 Incidentally they should be a bit faster now that they don't have
4727 2005-09-05 Andy Wingo <wingo@pobox.com>
4729 * gst/registries/gstxmlregistry.h:
4730 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
4731 replaced by the libxml registry a while back
4733 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
4735 * docs/gst/tmpl/gstplugin.sgml:
4736 * gst/elements/gstelements.c:
4738 * gst/gstplugin.c: (gst_plugin_register_func),
4739 (gst_plugin_desc_copy), (gst_plugin_desc_free),
4740 (gst_plugin_get_source):
4742 * gst/registries/gstlibxmlregistry.c: (load_plugin),
4743 (gst_xml_registry_save_plugin):
4744 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
4745 (gst_xml_registry_save_plugin):
4746 * tools/gst-inspect.c: (print_plugin_info):
4747 add a "source" plugin description field, to represent the source
4748 module this plugin is a part of. By default GST_PLUGIN_DEFINE
4749 will set it to PACKAGE, which is automake's idea of the name of
4752 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
4758 * docs/faq/Makefile.am:
4759 * docs/gst/tmpl/gstelement.sgml:
4760 * docs/gst/tmpl/gsttypes.sgml:
4761 * docs/htmlinstall.mak:
4762 * docs/manual/Makefile.am:
4763 * docs/pwg/Makefile.am:
4764 reorganize doc build a little
4765 split out docbook and gtk-doc stuff
4766 have two separate --enable's and enable them through autogen
4767 but disable by default in configure (to be similar to other
4769 * gstreamer.spec.in:
4770 clean up docs install
4790 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
4792 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
4795 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
4796 (gst_fake_sink_change_state):
4797 Make state change function thread-safe.
4799 * gst/gstpad.c: (gst_pad_alloc_buffer):
4800 Set offset on generic buffer allocated by fallback.
4802 2005-09-03 Stefan Kost <ensonic@users.sf.net>
4804 * docs/gst/gstreamer-sections.txt:
4805 * docs/gst/tmpl/gstelement.sgml:
4807 * libs/gst/controller/gst-controller.c:
4808 (gst_controlled_property_set_interpolation_mode),
4809 (gst_controlled_property_new),
4810 (gst_controller_find_controlled_property):
4811 run the wingo-magic script against the docs
4813 2005-09-02 Stefan Kost <ensonic@users.sf.net>
4815 * docs/gst/gstreamer-docs.sgml:
4816 * docs/gst/gstreamer-sections.txt:
4817 * docs/gst/tmpl/.cvsignore:
4818 * docs/gst/tmpl/gstelementdetails.sgml:
4819 * docs/gst/tmpl/gstelementfactory.sgml:
4822 * gst/gstelementfactory.c:
4823 * gst/gstelementfactory.h:
4824 merged elementdetails docs into elementfactory docs
4827 2005-09-02 Andy Wingo <wingo@pobox.com>
4829 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
4830 consider this enum an enum and not a flags.
4832 2005-09-02 Stefan Kost <ensonic@users.sf.net>
4834 * docs/gst/gstreamer-docs.sgml:
4835 * docs/gst/tmpl/.cvsignore:
4836 * docs/gst/tmpl/gstghostpad.sgml:
4837 * docs/gst/tmpl/gstiterator.sgml:
4838 * docs/gst/tmpl/gstmacros.sgml:
4839 * docs/gst/tmpl/gstrealpad.sgml:
4840 * docs/gst/tmpl/gstregistry.sgml:
4841 * docs/gst/tmpl/gstregistrypool.sgml:
4842 * docs/gst/tmpl/gststructure.sgml:
4843 * docs/gst/tmpl/gstsystemclock.sgml:
4844 * docs/gst/tmpl/gsttrace.sgml:
4845 * gst/gstghostpad.c:
4847 * gst/gstmemchunk.c:
4848 * gst/gstmemchunk.h:
4850 * gst/gstregistry.c:
4851 * gst/gstregistrypool.c:
4852 * gst/gststructure.c:
4853 * gst/gstsystemclock.c:
4856 2005-09-02 Andy Wingo <wingo@pobox.com>
4858 * gst/gstelement.h (GstState): Renamed from GstElementState,
4859 changed to be a normal enum instead of flags.
4860 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
4861 munged to be GST_STATE_CHANGE_*.
4862 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
4863 work with the new state representation.
4864 (GstStateChange): New enumeration of possible state transitions.
4865 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
4866 (GstElementClass::change_state): Pass the GstStateChange along as
4867 an argument. Helps language bindings, so they don't have to use
4868 tricky lock-needing macros like GST_STATE_CHANGE ().
4870 * scripts/update-states (file): New script. Run it on a file to
4871 update it for state naming and API changes. Updates files in
4874 * All files updated for the new API.
4876 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
4878 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
4879 * gst/gstutils.c: (gst_util_set_value_from_string),
4880 (gst_util_set_object_arg):
4881 fix a bunch of unchecked return values
4882 * tools/gst-complete.c: (main):
4883 * gstreamer.spec.in:
4886 2005-09-01 Wim Taymans <wim@fluendo.com>
4888 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4889 (gst_base_sink_event), (gst_base_sink_do_sync),
4890 (gst_base_sink_handle_event):
4891 * gst/base/gstbasesink.h:
4892 Handle newsegments more correctly.
4897 * gst/gstevent.c: (gst_event_new_newsegment):
4898 A newsegment cannot have a start_time of -1
4900 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
4902 * win32/gstenumtypes.c:
4903 * win32/gstenumtypes.h:
4906 2005-08-31 Stefan Kost <ensonic@users.sf.net>
4908 * libs/gst/controller/gst-controller.c:
4909 (gst_controlled_property_set_interpolation_mode),
4910 (gst_controlled_property_new):
4913 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
4915 * docs/faq/gst-uninstalled:
4920 * gst/gstutils.c: (gst_element_link_filtered):
4922 add gst_element_link_filtered
4924 2005-08-31 Stefan Kost <ensonic@users.sf.net>
4926 * docs/gst/gstreamer-docs.sgml:
4927 * docs/gst/gstreamer-sections.txt:
4928 * docs/gst/tmpl/.cvsignore:
4929 * docs/gst/tmpl/gsterror.sgml:
4930 * docs/gst/tmpl/gstfilter.sgml:
4931 * docs/gst/tmpl/gsturihandler.sgml:
4932 * docs/gst/tmpl/gsturitype.sgml:
4933 * docs/gst/tmpl/gstutils.sgml:
4934 * docs/gst/tmpl/gstxml.sgml:
4942 inlined more docs, fixed double id-ref
4944 2005-08-31 Wim Taymans <wim@fluendo.com>
4946 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
4947 (gst_base_transform_handle_buffer):
4948 Passthrough elements don't need the caps as they don't care.
4950 2005-08-31 Wim Taymans <wim@fluendo.com>
4952 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
4953 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
4954 Don't leak refcounts on buffers.
4956 2005-08-31 Wim Taymans <wim@fluendo.com>
4958 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
4959 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4960 (gst_base_transform_chain), (gst_base_transform_change_state):
4961 * gst/base/gstbasetransform.h:
4962 Handle the case where we are not negotiated more gracefully.
4964 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
4966 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
4967 (gst_file_src_map_region):
4968 Set READONLY flag on mmap'ed buffers, otherwise
4969 gst_buffer_make_writable() won't work properly (#314708).
4971 2005-08-31 Wim Taymans <wim@fluendo.com>
4973 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
4974 passthrough elements can even do inplace on non writable
4975 buffers (as they don't touch them).
4977 2005-08-31 Stefan Kost <ensonic@users.sf.net>
4979 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
4980 (gst_test_mono_source_set_property),
4981 (gst_test_mono_source_class_init), (GST_START_TEST),
4982 (gst_controller_suite):
4983 more tests (hehe I have the most)
4985 describe popping messages whenusing mulltiple sources
4986 * libs/gst/controller/gst-controller.c:
4987 (gst_controlled_property_set_interpolation_mode),
4988 (gst_controlled_property_new):
4989 * libs/gst/controller/gst-controller.h:
4990 * libs/gst/controller/gst-interpolation.c:
4991 implement boolean properties
4993 2005-08-31 Wim Taymans <wim@fluendo.com>
4995 * gst/gstminiobject.c: (gst_mini_object_ref):
4996 Cannot assert that the refcount has to be positive
4997 since a disposed object can be resurrected.
4999 2005-08-31 Wim Taymans <wim@fluendo.com>
5001 * gst/gstpad.c: (gst_pad_init):
5002 Revert change, need to first fix badly behaving
5005 2005-08-30 Wim Taymans <wim@fluendo.com>
5007 * check/elements/fakesrc.c: (setup_fakesrc):
5008 * check/elements/identity.c: (setup_identity):
5009 Activate pads before using them.
5011 2005-08-30 Wim Taymans <wim@fluendo.com>
5013 * gst/base/gstadapter.c: (gst_adapter_flush):
5014 Flushing out 0 bytes is ok for this function.
5016 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5017 no newsegment gives a warning and sets the start/stop to
5020 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
5021 (gst_base_transform_set_passthrough):
5024 * gst/gstminiobject.c: (gst_mini_object_ref):
5025 Check refcount here too.
5027 * gst/gstpad.c: (gst_pad_init):
5028 Pads are initially flushing and refusing data.
5030 * gst/gstutils.c: (gst_element_link_pads_filtered):
5031 When adding a capsfilter element make sure it has the
5032 same state as the parent bin.
5034 2005-08-30 Stefan Kost <ensonic@users.sf.net>
5036 * docs/gst/tmpl/.cvsignore:
5037 * docs/gst/tmpl/gstformat.sgml:
5038 * docs/gst/tmpl/gstversion.sgml:
5042 * gst/gstversion.h.in:
5043 more docs and two more inlined
5045 2005-08-30 Wim Taymans <wim@fluendo.com>
5047 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
5048 Don't sync to clock.
5050 2005-08-30 Stefan Kost <ensonic@users.sf.net>
5052 * docs/gst/gstreamer-sections.txt:
5053 ultral33t func10ns deserve to appear in the docs actually
5054 * docs/gst/tmpl/.cvsignore:
5055 * docs/gst/tmpl/gstcompat.sgml:
5056 * docs/gst/tmpl/gstconfig.sgml:
5057 * gst/check/gstcheck.c:
5059 * gst/gstconfig.h.in:
5062 2005-08-30 Stefan Kost <ensonic@users.sf.net>
5064 * docs/gst/tmpl/.cvsignore:
5065 * docs/gst/tmpl/gstquery.sgml:
5066 * docs/gst/tmpl/gstutils.sgml:
5069 inlined and extended docs
5071 2005-08-30 Stefan Kost <ensonic@users.sf.net>
5073 * check/gst-libs/controller.c: (GST_START_TEST),
5074 (gst_controller_suite):
5076 * docs/gst/tmpl/gstutils.sgml:
5077 * docs/libs/gstreamer-libs-sections.txt:
5078 * docs/libs/tmpl/gstdataprotocol.sgml:
5080 * examples/controller/audio-example.c: (main):
5081 controller example works now
5084 * tools/gst-inspect.c: (print_element_properties_info):
5085 show param spec flags
5087 2005-08-29 Andy Wingo <wingo@pobox.com>
5089 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
5091 2005-08-28 Andy Wingo <wingo@pobox.com>
5093 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
5094 as having two arguments instead of just one. Allows superclasses
5095 to access information on subclasses -- see the terrible for() loop
5096 in gtype.c:g_type_create_instance for the reason why. All callers
5099 2005-08-27 Stefan Kost <ensonic@users.sf.net>
5101 * docs/design/part-messages.txt:
5103 * docs/gst/tmpl/.cvsignore:
5104 * docs/gst/tmpl/gstcaps.sgml:
5105 * docs/gst/tmpl/gstclock.sgml:
5112 added descriptions for bus and message
5113 inline caps and clock docs
5115 2005-08-27 Stefan Kost <ensonic@users.sf.net>
5121 2005-08-27 Stefan Kost <ensonic@users.sf.net>
5123 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5126 2005-08-26 Andy Wingo <wingo@pobox.com>
5128 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
5129 element_set_state's return val.
5130 (test_2_elements): Add test that's been disabled for months.
5132 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
5133 can-activate-pull properties.
5135 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
5136 can-activate-pull properties. Implement is_seekable so fakesrc can
5137 operate in pull mode.
5139 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
5141 (gst_base_sink_activate, gst_base_sink_activate_pull)
5142 (gst_base_sink_activate_push): Make activation mode choosing work.
5144 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
5145 is right. Make pull mode work. Post an eos before pausing in pull
5147 (gst_base_sink_change_state): Pay attention to the core's
5148 change_state() return val.
5150 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
5151 has-getrange properties. Cleanups.
5153 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
5154 has_getrange and replace with can_activate_pull and
5157 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
5158 locking comments. Remove has_loop, has_chain and replace with
5159 can_activate_pull and can_activate_push.
5161 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
5164 * examples/Makefile.am:
5165 * examples/metadata/Makefile.am:
5166 * examples/metadata/read-metadata.c: (message_loop),
5167 (have_pad_handler), (make_pipeline), (print_tag), (main):
5168 Add metadata reading example that loops over a list of filenames,
5169 dumping any tags found.
5171 * gst/gstbus.c: (gst_bus_dispose):
5172 * gst/gstelement.c: (gst_element_dispose):
5173 Release a few potentially-held references in dispose.
5175 2005-08-26 Stefan Kost <ensonic@users.sf.net>
5177 * docs/gst/tmpl/gstminiobject.sgml:
5178 do *not* add tmpl/*.sgml files to CVS!
5180 2005-08-26 Stefan Kost <ensonic@users.sf.net>
5182 * libs/gst/bytestream/.cvsignore:
5183 * libs/gst/bytestream/Makefile.am:
5184 * libs/gst/bytestream/adapter.c:
5185 * libs/gst/bytestream/adapter.h:
5186 * libs/gst/bytestream/bytestream.c:
5187 * libs/gst/bytestream/bytestream.h:
5188 * libs/gst/bytestream/filepad.c:
5189 * libs/gst/bytestream/filepad.h:
5190 removing obsolete files
5192 2005-08-26 Stefan Kost <ensonic@users.sf.net>
5194 * docs/gst/gstreamer-docs.sgml:
5195 * docs/libs/gstreamer-libs-docs.sgml:
5196 disabed additional index entries again, as this makes docs-gen just
5197 slow and they aren't useful yet
5198 * docs/libs/gstreamer-libs-sections.txt:
5199 little -section.txt cleanup for libs
5201 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
5203 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5204 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
5205 fix up some debugging
5206 (gst_base_transform_get_unit_size),
5207 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
5208 (gst_base_transform_handle_buffer):
5209 * gst/base/gstbasetransform.h:
5210 handle and store timed NEWSEGMENT events so that subclasses that
5211 calculate time by counting samples have a segment_start time they
5212 need to add to their timestamps - see audioresample
5214 2005-08-26 Stefan Kost <ensonic@users.sf.net>
5217 removed ';' from the end of macro defs
5218 * docs/gst/gstreamer-docs.sgml:
5219 * docs/gst/gstreamer-sections.txt:
5220 * docs/gst/tmpl/.cvsignore:
5222 * gst/gstelement.c: (gst_element_class_init),
5223 (gst_element_set_state), (activate_pads),
5224 (gst_element_save_thyself):
5225 * gst/gstevent.c: (gst_event_new_newsegment):
5227 * gst/gstiterator.c:
5228 * gst/gstiterator.h:
5231 * gst/gstutils.c: (gst_pad_query_convert):
5233 fixed parameter name mismatches between source, header and docs
5234 added some more docs, resolved the last batch of unused elements in
5235 docs (now someone needs to doc them)
5237 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
5239 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
5240 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
5241 don't walk through the plugins backwards. Where is all this
5242 reversed logic coming from ?
5244 2005-08-25 Wim Taymans <wim@fluendo.com>
5246 * gst/base/gstbasetransform.c: (gst_base_transform_init),
5247 (gst_base_transform_transform_size),
5248 (gst_base_transform_configure_caps),
5249 (gst_base_transform_get_unit_size),
5250 (gst_base_transform_buffer_alloc),
5251 (gst_base_transform_change_state):
5252 * gst/base/gstbasetransform.h:
5253 Cache caps unit_size.
5254 Make sure we cannot negotiate up and downstream at the
5257 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
5259 * gst/gst.c: (init_pre), (init_post):
5260 register the installed plugin path after the env var
5261 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
5262 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
5263 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
5264 directories, so the tests can prefer uninstalled over installed
5266 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
5268 * gst/base/gstbasetransform.h:
5273 2005-08-25 Wim Taymans <wim@fluendo.com>
5275 * gst/gstbin.c: (bin_bus_handler):
5276 Be a bit more conservative about the posted message.
5278 * gst/gstbus.c: (gst_bus_post):
5279 Some cleanups, warn wrong return values.
5281 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
5283 * check/gst/gstbin.c: (GST_START_TEST):
5284 * gst/gstbin.c: (bin_bus_handler):
5285 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
5286 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
5287 (gst_message_new_warning), (gst_message_new_tag),
5288 (gst_message_new_state_changed), (gst_message_new_segment_start),
5289 (gst_message_new_segment_done), (gst_message_new_custom):
5291 * tools/gst-launch.c: (event_loop):
5292 * tools/gst-md5sum.c: (event_loop):
5293 Revert unpopular change for GST_MESSAGE_SRC to GObject.
5295 2005-08-25 Wim Taymans <wim@fluendo.com>
5297 * check/generic/states.c: (GST_START_TEST):
5298 Cleanup can be done at the end.
5300 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
5301 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
5302 (gst_task_get_state), (gst_task_start), (gst_task_pause):
5303 Oh boy.. Thanks for finding this, Thomas.
5305 2005-08-25 Stefan Kost <ensonic@users.sf.net>
5307 * docs/gst/gstreamer.types:
5310 2005-08-25 Stefan Kost <ensonic@users.sf.net>
5312 * docs/gst/gstreamer-docs.sgml:
5313 * docs/gst/gstreamer-sections.txt:
5314 * docs/gst/tmpl/.cvsignore:
5316 * gst/gstiterator.c:
5318 * gst/registries/gstxmlregistry.h:
5319 added missing classes and symbols (123 more to go)
5320 removed removed symbols from section file
5321 fixed many doc-comments
5323 2005-08-24 Wim Taymans <wim@fluendo.com>
5325 * check/generic/states.c: (GST_START_TEST):
5326 Make sure all tasks are stopped.
5328 * check/gst/gstbin.c: (GST_START_TEST):
5329 Unref after usage for proper valgrinding.
5331 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
5332 Really wait for the task to stop before destroying the
5335 * gst/gstqueue.c: (gst_queue_sink_activate_push),
5336 (gst_queue_src_activate_push):
5337 Small cleanups. Don't stop the task when we did not start
5340 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
5341 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
5342 (gst_task_get_state), (gst_task_start), (gst_task_pause),
5345 Protect the stream lock with the object lock.
5346 Disallow setting the stream lock when running.
5347 Add cleanup_all to wait for the threadpool to finish.
5348 Remove code to autoallocate a mutex if none was provided.
5349 Add _join() to wait for a task to stop.
5350 Protect the thread pool with a global lock.
5352 2005-08-24 Wim Taymans <wim@fluendo.com>
5354 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5355 (gst_base_sink_get_times), (gst_base_sink_do_sync),
5356 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
5357 * gst/base/gstbasesink.h:
5358 Handle newsegment events correctly.
5359 Drop buffers out of the segment range.
5361 2005-08-22 Andy Wingo <wingo@pobox.com>
5363 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
5364 macro, implements an interface and gstimplementsinterface for a
5367 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
5369 * check/Makefile.am:
5370 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
5371 add a test that does a bunch of state changes on elements
5372 needs some fixing for valgrind
5373 * check/states/sinks.c: (gst_object_suite):
5376 add prototype for gst_caps_is_equal_fixed
5378 * gst/gstregistrypool.c:
5381 2005-08-24 Andy Wingo <wingo@pobox.com>
5383 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
5384 convert a negative value. Doesn't make much sense. Mostly this is
5385 here to force callers to ensure -1 maps to -1.
5387 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
5389 * docs/pwg/advanced-types.xml:
5390 Well done to Michael for catching my deliberate introduction
5391 of this spelling mistake.
5392 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
5394 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
5395 unlink pads before removing the element from the bin.
5397 2005-08-24 Andy Wingo <wingo@pobox.com>
5399 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
5400 the same thing as GST_DEBUG=*:4.
5401 (parse_debug_level, parse_debug_category): New helper parsers.
5403 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
5405 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5406 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
5407 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
5408 (gst_base_transform_buffer_alloc),
5409 (gst_base_transform_handle_buffer):
5410 use gboolean return values and pointers to size so we can use the
5411 full GST_BUFFER_SIZE range (guint) for buffer sizes
5412 use GstPadDirection for transform_caps
5413 * gst/base/gstbasetransform.h:
5414 rename get_size to get_unit_size since that's what it is
5415 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
5416 use GstPadDirection for transform_caps
5417 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
5419 cleanup and debugging
5421 2005-08-24 Stefan Kost <ensonic@users.sf.net>
5423 * gst/gstelement.c: (gst_element_class_init),
5424 (gst_element_set_state), (activate_pads),
5425 (gst_element_save_thyself):
5426 * tools/gst-compprep.c: (main):
5427 * tools/gst-inspect.c: (print_element_properties_info):
5428 * tools/gst-xmlinspect.c: (print_element_properties):
5429 Fixed long standing mem-leak
5431 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
5433 * check/gst/gstbin.c: (GST_START_TEST):
5434 * gst/gstbin.c: (bin_bus_handler):
5435 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
5436 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
5437 (gst_message_new_warning), (gst_message_new_tag),
5438 (gst_message_new_state_changed), (gst_message_new_segment_start),
5439 (gst_message_new_segment_done), (gst_message_new_custom):
5441 * tools/gst-launch.c: (event_loop):
5442 * tools/gst-md5sum.c: (event_loop):
5443 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
5444 that applications can sensibly post custom messages with references
5445 to their own objects.
5447 2005-08-24 Andy Wingo <wingo@pobox.com>
5449 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
5452 2005-08-24 Wim Taymans <wim@fluendo.com>
5454 * gst/base/gstbasetransform.c: (gst_base_transform_init),
5455 (gst_base_transform_transform_caps),
5456 (gst_base_transform_transform_size),
5457 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5458 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
5459 (gst_base_transform_handle_buffer):
5460 * gst/base/gstbasetransform.h:
5461 Many fixes and new features added by Thomas. Can now also do
5462 transforms with variable sizes and a custom fixate_caps function.
5464 2005-08-24 Wim Taymans <wim@fluendo.com>
5466 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
5470 Cast to ClockTime before formatting to time.
5475 2005-08-24 Stefan Kost <ensonic@users.sf.net>
5477 * check/gst-libs/controller.c: (GST_START_TEST),
5478 (gst_controller_suite):
5479 * docs/gst/tmpl/gstcaps.sgml:
5480 * docs/gst/tmpl/gstghostpad.sgml:
5481 * docs/gst/tmpl/gstquery.sgml:
5482 * docs/gst/tmpl/gstutils.sgml:
5483 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
5484 (gst_object_sink_values), (gst_object_get_value_arrays),
5485 (gst_object_get_value_array):
5486 gracefully handle helper method calls to objects that are not beeing
5487 controlled, added test case for that
5489 2005-08-23 Wim Taymans <wim@fluendo.com>
5491 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
5492 (gst_event_new_newsegment), (gst_event_parse_newsegment),
5493 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
5494 (gst_event_parse_qos), (gst_event_new_seek),
5495 (gst_event_parse_seek):
5497 Some more debugging output and doc cleanups.
5499 * gst/gstqueue.c: (gst_queue_handle_sink_event):
5500 Fix possible deadlock.
5502 2005-08-23 Stefan Kost <ensonic@users.sf.net>
5504 * docs/gst/gstreamer-docs.sgml:
5505 * docs/gst/gstreamer-sections.txt:
5506 * docs/gst/gstreamer.types:
5507 * docs/gst/tmpl/.cvsignore:
5512 added 100 symbols from gstreamer-unused.txt to the right sections
5513 fixed more broken comments
5514 added GstBus to docs
5516 2005-08-23 Stefan Kost <ensonic@users.sf.net>
5518 * docs/gst/gstreamer-sections.txt:
5519 * docs/gst/tmpl/.cvsignore:
5520 * docs/gst/tmpl/gstbin.sgml:
5521 * docs/gst/tmpl/gstbuffer.sgml:
5522 * gst/base/gstbasesrc.c:
5523 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
5526 * tools/gst-launch.1.in:
5527 inlined more doc comments, added missing comments and fixed comments
5530 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
5532 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
5536 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
5538 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
5539 * gst/gststructure.h:
5540 add a fixate function for booleans; add a FIXME that these func
5541 names should probably be gst_structure_fixate_*
5543 2005-08-23 Stefan Kost <ensonic@users.sf.net>
5545 * docs/gst/gstreamer-docs.sgml:
5546 * docs/gst/gstreamer-sections.txt:
5548 * gst/gstbin.c: (gst_bin_get_type),
5549 (gst_bin_child_proxy_get_child_by_index),
5550 (gst_bin_child_proxy_get_children_count),
5551 (gst_bin_child_proxy_init):
5552 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5553 (gst_child_proxy_get_child_by_index),
5554 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
5555 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
5556 (gst_child_proxy_get), (gst_child_proxy_set_property),
5557 (gst_child_proxy_set_valist), (gst_child_proxy_set),
5558 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
5559 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
5560 * gst/gstchildproxy.h:
5561 * gst/parse/grammar.y:
5562 * tools/gst-inspect.c: (print_interfaces),
5563 (print_element_properties_info), (print_element_info):
5564 ported gstchildproxy over from 0.8
5565 ported gst-inspect fixes and enhancements over from 0.8
5567 2005-08-22 Wim Taymans <wim@fluendo.com>
5569 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5570 (gst_base_transform_handle_buffer):
5571 Also call the transform function if we have ANY caps.
5573 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
5576 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
5578 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
5579 Don't pretend to handle seek events if the source is not seekable
5581 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
5583 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5584 Remove extra parameter to debug output
5586 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5587 (gst_base_src_do_seek), (gst_base_src_activate_push):
5588 Fix seek event handling.
5590 * gst/gstpipeline.c: (gst_pipeline_change_state):
5591 * gst/gstqueue.c: (gst_queue_handle_sink_event),
5592 (gst_queue_src_activate_push):
5593 Don't start the src pad task on FLUSH_STOP if the pad
5597 2005-08-22 Wim Taymans <wim@fluendo.com>
5599 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5600 Added check for gst_static_caps_get() refcounting.
5602 2005-08-22 Wim Taymans <wim@fluendo.com>
5604 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
5605 Make _static_caps_get() refcounting sane.
5607 * gst/gstelement.c: (gst_element_set_state):
5608 Add g_return_val_if_fail() to protect against segfaults.
5610 2005-08-22 Stefan Kost <ensonic@users.sf.net>
5612 * docs/gst/tmpl/gstevent.sgml:
5615 inlined remaining docs, added missing doc comments
5617 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
5619 * check/gst/gstbin.c: (GST_START_TEST):
5620 since we don't know when preroll is done, use refcount range
5622 * gst/check/gstcheck.h:
5623 add macro for checking refcount range
5625 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
5627 * check/Makefile.am:
5628 clean up environment for when registry gets built versus
5629 when actual tests are run; valgrind seems to not report
5630 leaks if GST_PLUGIN_PATH is set to some specific values
5631 * check/gst/gstbin.c: (GST_START_TEST):
5632 add more refcounting checks; maybe this exposes a
5635 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5636 * gst/check/gstcheck.h:
5637 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
5638 (gst_bin_change_state):
5639 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
5640 add/fix debugging/whitespace
5642 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
5644 * check/gst/gstevent.c: (event_probe), (test_event),
5646 Er, don't call gst_bin_watch_for_state_change you idiot.
5648 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
5650 * check/Makefile.am:
5651 Use CHECK_CFLAGS and CHECK_LIBS
5652 * check/gst/gstevent.c: (event_probe), (test_event),
5655 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5656 (gst_base_src_start), (gst_base_src_stop),
5657 (gst_base_src_activate_push), (gst_base_src_activate_pull),
5658 (gst_base_src_change_state):
5659 Sprinkle gst_base_src_stop liberally around error paths to fix
5660 problems reusing a source after failed state changes.
5661 * gst/base/gsttypefindhelper.c: (helper_find_peek),
5662 (helper_find_suggest), (gst_type_find_helper):
5663 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
5665 * docs/gst/tmpl/gstevent.sgml:
5666 Migrate part of the docs from the SGML file. Wait for ensonic to
5667 tell me how I did it wrong ;)
5668 * tools/gst-typefind.c: (main):
5669 Extra robustness to state changes between files.
5671 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
5673 * check/Makefile.am:
5674 don't valgrind the controller test - it's leaking - Stefan, HELP
5675 * gst/check/gstcheck.c: (gst_check_message_error),
5676 (gst_check_chain_func), (gst_check_setup_element),
5677 (gst_check_teardown_element), (gst_check_setup_src_pad),
5678 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5679 (gst_check_teardown_sink_pad):
5680 * gst/check/gstcheck.h:
5681 add a bunch of methods to set up elements, and src and sink pads
5682 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
5683 * check/elements/identity.c: (setup_identity), (cleanup_identity),
5688 whitespace/doc fixes
5690 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
5693 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
5694 be handled by the application and not always printed as well
5696 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
5698 * check/Makefile.am:
5700 * gst/check/gstcheck.c: (gst_check_message_error):
5701 * gst/check/gstcheck.h:
5702 add a fail_unless_equals_int
5703 add fail_unless for error messages
5705 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
5707 * check/Makefile.am:
5709 * common/Makefile.am:
5712 factor out some of the common stuff so we can use it
5714 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
5716 * check/Makefile.am:
5717 * check/gst/gstiterator.c: (GST_START_TEST):
5718 * check/gst/gstsystemclock.c: (GST_START_TEST),
5719 (gst_systemclock_suite):
5720 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
5724 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
5726 * check/elements/.cvsignore:
5727 * check/elements/gstfakesrc.c:
5728 rename to name of element
5729 * check/elements/identity.c: (chain_func), (event_func),
5730 (setup_identity), (cleanup_identity), (GST_START_TEST),
5731 (identity_suite), (main):
5732 add a test for identity
5733 * check/Makefile.am:
5734 * pkgconfig/Makefile.am:
5735 * pkgconfig/gstreamer-check.pc.in:
5736 * pkgconfig/gstreamer-check-uninstalled.pc.in:
5740 move the check stuff to a library that gets installed
5741 * check/gst-libs/controller.c: (GST_START_TEST):
5742 * check/gst-libs/gdp.c:
5743 * check/gst/gst.c: (GST_START_TEST):
5744 * check/gst/gstbin.c:
5745 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5746 * check/gst/gstbus.c:
5747 * check/gst/gstcaps.c: (GST_START_TEST):
5748 * check/gst/gstelement.c:
5749 * check/gst/gstghostpad.c:
5750 * check/gst/gstiterator.c:
5751 * check/gst/gstmessage.c:
5752 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
5753 * check/gst/gstobject.c:
5754 * check/gst/gstpad.c: (GST_START_TEST):
5755 * check/gst/gststructure.c: (GST_START_TEST):
5756 * check/gst/gstsystemclock.c: (GST_START_TEST),
5757 (gst_systemclock_suite):
5758 * check/gst/gsttag.c: (gst_tag_suite):
5759 * check/gst/gstvalue.c:
5760 * check/pipelines/cleanup.c:
5761 * check/pipelines/simple_launch_lines.c:
5762 * check/states/sinks.c:
5763 change include statement
5765 * docs/gst/gstreamer-sections.txt:
5766 * docs/gst/tmpl/gstpad.sgml:
5767 document more pad stuff
5768 * gst/gstminiobject.c: (gst_mini_object_ref),
5769 (gst_mini_object_unref):
5772 2005-08-19 Stefan Kost <ensonic@users.sf.net>
5774 * docs/gst/tmpl/gst.sgml:
5776 eliminate another tmpl file, fix spelling in the long-description
5778 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
5780 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
5781 (test_event), (timediff), (gstevents_suite):
5782 Should fix build on 64-bit arch's
5784 2005-08-18 Andy Wingo <wingo@pobox.com>
5786 Make sure that when a pipeline goes to PLAYING, that data has
5787 actually hit the sink.
5789 * check/states/sinks.c (test_sink): A sink that doesn't get any
5790 data shouldn't return SUCCESS for going to either PLAYING or
5791 PAUSED. Test also the return values on the way back down.
5793 * gst/gstelement.c (gst_element_set_state): When changing the
5794 state of an element currently changing state asynchronously, go to
5795 lost-state after commiting the pending state. Makes future calls
5796 to get_state continue to return ASYNC.
5798 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
5799 ASYNC when going to PLAYING if we still don't have preroll, as can
5800 happen with live sources.
5802 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
5804 * docs/pwg/advanced-types.xml:
5805 Hack long paragraph into 2 chunks as a workaround for buggy
5806 jadetex version in sid and breezy that loops infinitely and
5809 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
5811 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
5812 (test_event), (timediff), (gstevents_suite):
5813 Provide more error margin in clock measurements to allow for
5814 g_get_current_time inaccuracies.
5816 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
5818 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
5819 (test_event), (timediff), (gstevents_suite):
5820 Fix error message output so I might be able to tell why the
5821 test works here but fails on the build farm.
5823 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
5825 * check/Makefile.am:
5826 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
5827 (test_event), (timediff), (gstevents_suite), (main):
5830 * docs/design/part-seeking.txt:
5833 * docs/gst/tmpl/gstevent.sgml:
5834 * docs/gst/tmpl/gstfakesrc.sgml:
5837 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5838 Treat a buffer-without-newsegment the same as a receiving
5839 a newsegment not in time format, and disable syncing to the clock
5842 * gst/gstbus.c: (gst_bus_set_sync_handler):
5843 Assert if anyone tries to replace the existing sync_handler for bus,
5844 as only the owner should be setting it.
5847 Have a fixed set of custom event enums with events identified by
5848 their structure name (as in 0.8), rather than a free-for-all
5849 allowing collisions between enum values from different plugins.
5851 * gst/gstpad.c: (gst_pad_class_init):
5854 * gst/gstqueue.c: (gst_queue_handle_sink_event):
5855 Handle out-of-band downstream events from the sending thread.
5857 2005-08-17 Andy Wingo <wingo@pobox.com>
5859 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
5860 play-timeout==0 to mean no timeout at all. In that case, don't
5861 bother with a get_state or a warning, just return directly, even
5864 * gst/base/gstbasetransform.c: Debug changes.
5867 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
5868 ensure bins post state change messages. A bit of a hack but I can't
5869 think of a way to avoid it.
5871 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
5873 2005-08-16 Andy Wingo <wingo@pobox.com>
5875 * gst/base/gstadapter.h:
5876 * gst/base/gstadapter.c (gst_adapter_take): New function, like
5877 peek() but you own the data. Not terribly efficient atm.
5879 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5881 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
5882 (gst_element_found_tags):
5884 Add two utility functions for tag handling.
5886 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5888 * docs/manual/advanced-dataaccess.xml:
5889 * docs/manual/basics-helloworld.xml:
5890 Fix docs to use _bin_add() before _link(), which fixes the examples
5891 with recent core versions (reported by Madhan Raj M
5892 <raj_madan@rediffmail.com>, #313199).
5894 2005-08-16 Wim Taymans <wim@fluendo.com>
5896 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5897 Added subtract checks.
5899 * docs/design/part-events.txt:
5900 Some more docs about newsegment
5902 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
5905 * gst/gstcaps.c: (gst_caps_to_string):
5906 Add comments, cleanups.
5908 * gst/gstelement.c: (gst_element_save_thyself):
5911 * gst/gstvalue.c: (gst_value_collect_int_range),
5912 (gst_string_unwrap), (gst_value_union_int_int_range),
5913 (gst_value_union_int_range_int_range),
5914 (gst_value_intersect_int_int_range),
5915 (gst_value_intersect_int_range_int_range),
5916 (gst_value_intersect_double_double_range),
5917 (gst_value_intersect_double_range_double_range),
5918 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
5919 (gst_value_subtract_int_range_int),
5920 (gst_value_subtract_double_range_double),
5921 (gst_value_subtract_double_range_double_range),
5922 (gst_value_subtract_from_list), (gst_value_subtract_list),
5923 (gst_value_can_compare), (gst_value_compare_fraction):
5924 Cleanups, add comments, remove unneeded asserts.
5926 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
5928 * tools/gst-launch.c: (event_loop):
5929 don't convert NULL structures to strings
5931 2005-08-15 Stefan Kost <ensonic@users.sf.net>
5933 * docs/gst/gstreamer-sections.txt:
5934 made some defines private
5935 * docs/gst/tmpl/gstconfig.sgml:
5936 * docs/gst/tmpl/gstqueue.sgml:
5937 * docs/gst/tmpl/gsttaglist.sgml:
5938 * docs/gst/tmpl/gsttypes.sgml:
5939 * docs/gst/tmpl/gstutils.sgml:
5940 * docs/pwg/appendix-porting.xml:
5941 * gst/base/gstbasesink.h:
5942 * gst/base/gstbasesrc.c:
5943 * gst/base/gstbasesrc.h:
5944 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
5945 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
5946 * gst/gstelement.c: (gst_element_class_init):
5947 * gst/gstpad.c: (gst_pad_class_init):
5948 * gst/gstqueue.c: (gst_queue_class_init):
5949 * gst/gstxml.c: (gst_xml_class_init):
5950 documented all undocumented signal inline
5951 * libs/gst/controller/gst-controller.h:
5954 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5956 * docs/pwg/appendix-porting.xml:
5957 Document _set_link_function -> _set_setcaps_function.
5959 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
5961 * check/Makefile.am:
5962 add a .check target for running the check
5963 * check/gst-libs/controller.c: (GST_START_TEST):
5965 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5966 complete checks for gstbuffer; would be nice if I could get the
5967 gcov stuff to work so I can see if I actually completed gstbuffer.c
5969 add ASSERT_BUFFER_REFCOUNT
5971 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
5973 * docs/gst/gstreamer-sections.txt:
5974 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
5976 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
5977 spew out a warning if a tag that is already registered
5978 is re-registered, unless it is re-registered with a
5979 different type (#308438).
5981 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
5983 * docs/pwg/appendix-porting.xml:
5984 * docs/pwg/building-state.xml:
5985 Add some paragraphs about state changes in 0.9 to the PWG
5986 and the porting guide, in particular about the new meaning
5987 of GST_STATE_PAUSED and how to write state change functions
5988 with concurrent access by multiple threads in mind.
5990 2005-08-11 Stefan Kost <ensonic@users.sf.net>
5992 * docs/gst/gstreamer-docs.sgml:
5993 * docs/libs/gstreamer-libs-docs.sgml:
5994 added deprecation and since indexes
5995 * libs/gst/controller/gst-controller.c:
5996 * libs/gst/controller/gst-helper.c:
6000 2005-08-11 Wim Taymans <wim@fluendo.com>
6002 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
6003 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
6004 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
6005 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
6006 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
6007 (gst_ghost_pad_set_target):
6008 Actually implement (re)setting the target on a ghostpad
6009 as described in the docs.
6011 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
6013 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
6014 Check whether GST_DEBUG_NO_COLOR environment variable is
6015 set and disable coloured debug output if that is the case.
6017 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
6019 * gst/base/gsttypefindhelper.c: (helper_find_peek),
6020 (gst_type_find_helper):
6021 The memory returned by gst_type_find_peek() needs to
6022 stay valid until the end of a typefind function, and
6023 typefind functions may keep results from different
6024 offsets around, so we can't just unref the buffer from
6025 the previous _peek(), but have to save all buffers
6026 returned by _peek() until typefinding is done and only
6029 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
6031 * docs/gst/gstreamer-sections.txt:
6033 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
6035 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6037 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6038 Fix a pretty good memleak.
6040 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
6042 * gst/gstiterator.h:
6043 Fix wrong include and 'make distcheck'.
6045 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6047 * gst/gstbin.c: (bin_bus_handler):
6048 Use gst_element_post_message() instead.
6050 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
6052 * gst/base/gstadapter.h:
6053 * gst/base/gstbasesink.h:
6054 * gst/base/gstbasesrc.h:
6055 * gst/base/gstbasetransform.h:
6056 * gst/base/gstcollectpads.h:
6057 * gst/base/gstpushsrc.h:
6058 * gst/gstiterator.h:
6059 Add padding to our base elements' class and instance structs and
6060 to GstIterator (you will need to rebuild all plugins and apps!)
6062 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6064 * gst/gstbin.c: (bin_bus_handler):
6065 Make default message forwarding from child->bus to bin->bus
6066 threadsafe and make it not emit warnings if the parent has no bus.
6068 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6070 * gst/gstelement.c: (activate_pads):
6071 On paused->ready, set pad->caps to NULL, as is the documented
6072 behaviour in this state change. Fixes playback of series of
6073 media files when visualization is enabled in Totem.
6075 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6077 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
6078 Allow NULL as filter-caps (which means "any").
6080 2005-08-05 Stefan Kost <ensonic@users.sf.net>
6082 * docs/libs/gstreamer-libs-sections.txt:
6083 * libs/gst/controller/gst-controller.c:
6084 * libs/gst/controller/gst-controller.h:
6085 * libs/gst/controller/gst-helper.c:
6086 adding more entries to the docs and fix small doc-bugs
6088 2005-08-05 Stefan Kost <ensonic@users.sf.net>
6090 * docs/gst/gstreamer-docs.sgml:
6091 * docs/gst/gstreamer-sections.txt:
6092 * docs/gst/gstreamer.types:
6093 * docs/gst/tmpl/gstbasesink.sgml:
6094 * docs/gst/tmpl/gstbasesrc.sgml:
6095 * docs/gst/tmpl/gstbasetransform.sgml:
6096 * docs/gst/tmpl/gstfakesrc.sgml:
6097 * gst/base/gstcollectpads.c:
6098 * gst/base/gstcollectpads.h:
6099 * libs/gst/controller/gst-controller.c:
6100 * libs/gst/controller/gst-controller.h:
6101 * libs/gst/controller/gst-helper.c:
6102 * libs/gst/controller/gst-interpolation.c:
6103 * libs/gst/controller/lib.c:
6104 added long/short desc for controller docs
6105 added collectpads base class docs
6106 added correct includes to base-class docs
6108 2005-08-05 Stefan Kost <ensonic@users.sf.net>
6110 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6111 (gst_test_mono_source_set_property),
6112 (gst_test_mono_source_class_init), (GST_START_TEST),
6113 (gst_controller_suite):
6114 * docs/gst/gstreamer-docs.sgml:
6115 * docs/gst/gstreamer-sections.txt:
6116 * docs/gst/gstreamer.types:
6117 * docs/libs/gstreamer-libs-docs.sgml:
6118 * docs/libs/gstreamer-libs-sections.txt:
6119 * gst/base/gstadapter.c:
6120 * libs/gst/controller/gst-controller.c:
6121 (gst_controlled_property_new), (gst_controlled_property_free),
6122 (gst_controller_new_valist),
6123 (gst_controller_remove_properties_valist),
6124 (gst_controller_sink_values), (_gst_controller_finalize):
6125 * libs/gst/controller/gst-controller.h:
6126 * libs/gst/controller/gst-helper.c:
6127 (gst_object_control_properties), (gst_object_uncontrol_properties),
6128 (gst_object_get_controller), (gst_object_set_controller),
6129 (gst_object_sink_values), (gst_object_get_value_arrays),
6130 (gst_object_get_value_array):
6131 more tests (and fixes) for the controller
6132 more docs for the controller
6133 integrated companies docs for the adapter
6135 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
6137 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
6138 (GST_START_TEST), (fakesrc_suite):
6139 add tests for sizetype
6141 2005-08-04 Andy Wingo <wingo@pobox.com>
6143 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
6144 fixes buffer_alloc proxying among other things.
6146 * gst/base/gstbasetransform.c:
6147 * gst/base/gstbasetransform.h:
6148 Revert patch to gstbasetransform from 7-28 removing
6151 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
6152 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
6153 Semantics changed, should return not the size of the output buffer
6154 but the byte size of a buffer with a given caps.
6156 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
6158 (gst_base_transform_configure_caps): Don't set out_size here: (in,
6159 out) are not the pad caps until setcaps finishes.
6160 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
6161 not-in-place case as well. Deal with changing from in-place to
6162 not-in-place within calling pad_alloc_buffer. Still a bit
6163 concerned about the overhead here...
6165 2005-08-03 Andy Wingo <wingo@pobox.com>
6167 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
6168 fixating is an error.
6170 2005-08-04 Edward Hervey <edward@fluendo.com>
6172 * gst/base/gstadapter.h:
6173 Added gst_adapter_get_type() to the header
6175 2005-08-03 Stefan Kost <ensonic@users.sf.net>
6177 * check/Makefile.am:
6178 * check/gst-libs/controller.c:
6179 * libs/gst/controller/gst-controller.c:
6180 (gst_controller_new_valist):
6181 added check test suite for the controller
6182 * gst/base/gstpushsrc.c:
6185 2005-08-03 Stefan Kost <ensonic@users.sf.net>
6187 * docs/gst/Makefile.am:
6188 * docs/gst/gstreamer-docs.sgml:
6189 * docs/gst/gstreamer-sections.txt:
6190 * docs/gst/gstreamer.types:
6191 * docs/gst/tmpl/gstfakesrc.sgml:
6193 * gst/base/gstbasesink.c:
6194 * gst/base/gstbasesink.h:
6195 * gst/base/gstbasesrc.c:
6196 * gst/base/gstbasesrc.h:
6197 * gst/base/gstbasetransform.c:
6198 * gst/base/gstpushsrc.c:
6199 * gst/base/gstpushsrc.h:
6200 add short/long description docs to base classes
6201 add pushsrc to the docs
6202 remove consolidated doc fragments
6204 2005-08-03 Stefan Kost <ensonic@users.sf.net>
6207 * docs/libs/Makefile.am:
6208 * docs/libs/gstreamer-libs-docs.sgml:
6209 * docs/libs/gstreamer-libs-sections.txt:
6210 * docs/libs/gstreamer-libs.types:
6211 * examples/Makefile.am:
6212 * examples/controller/.cvsignore:
6213 * examples/controller/Makefile.am:
6214 * examples/controller/audio-example.c: (main):
6215 * libs/gst/Makefile.am:
6216 * libs/gst/controller/.cvsignore:
6217 * libs/gst/controller/Makefile.am:
6218 * libs/gst/controller/gst-controller.c:
6219 (on_object_controlled_property_changed), (gst_timed_value_compare),
6220 (gst_timed_value_find),
6221 (gst_controlled_property_set_interpolation_mode),
6222 (gst_controlled_property_new), (gst_controlled_property_free),
6223 (gst_controller_find_controlled_property),
6224 (gst_controller_new_valist), (gst_controller_new),
6225 (gst_controller_remove_properties_valist),
6226 (gst_controller_remove_properties), (gst_controller_set),
6227 (gst_controller_set_from_list), (gst_controller_unset),
6228 (gst_controller_get), (gst_controller_get_all),
6229 (gst_controller_sink_values), (gst_controller_get_value_arrays),
6230 (gst_controller_get_value_array),
6231 (gst_controller_set_interpolation_mode),
6232 (_gst_controller_finalize), (_gst_controller_init),
6233 (_gst_controller_class_init), (gst_controller_get_type):
6234 * libs/gst/controller/gst-controller.h:
6235 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
6236 (g_object_uncontrol_properties), (g_object_get_controller),
6237 (g_object_set_controller), (g_object_sink_values),
6238 (g_object_get_value_arrays), (g_object_get_value_array):
6239 * libs/gst/controller/gst-interpolation.c:
6240 (gst_controlled_property_find_timed_value_node),
6241 (interpolate_none_get), (interpolate_trigger_get),
6242 (interpolate_trigger_get_value_array):
6243 * libs/gst/controller/lib.c: (gst_controller_init):
6244 * pkgconfig/Makefile.am:
6245 * pkgconfig/gstreamer-control-uninstalled.pc.in:
6246 * pkgconfig/gstreamer-control.pc.in:
6247 * testsuite/Makefile.am:
6248 * testsuite/controller/.cvsignore:
6249 * testsuite/controller/Makefile.am:
6250 * testsuite/controller/interpolator.c: (main):
6251 added controller code
6252 removed dparam pc files
6254 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
6255 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
6256 (gst_collectpads_stop):
6257 Broadcast the condition when shutting down, to make sure we wake all
6258 threads up. Shut down pads on finalize, for safety.
6260 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
6261 * gst/base/gstbasetransform.c: (gst_base_transform_init),
6262 (gst_base_transform_handle_buffer),
6263 (gst_base_transform_change_state):
6264 Handle PAUSED->READY->PAUSED transition after negotiation
6266 * gst/gstmessage.c: (gst_message_init):
6267 Extra piece of debug for new messages.
6269 2005-08-01 Stefan Kost <ensonic@users.sf.net>
6272 * docs/gst/tmpl/gstbasesrc.sgml:
6273 * docs/gst/tmpl/gstelement.sgml:
6274 * docs/gst/tmpl/gstevent.sgml:
6275 * docs/gst/tmpl/gstfakesrc.sgml:
6276 * docs/gst/tmpl/gstformat.sgml:
6277 * docs/gst/tmpl/gstghostpad.sgml:
6278 * docs/gst/tmpl/gstpad.sgml:
6279 * docs/gst/tmpl/gstquery.sgml:
6280 * docs/gst/tmpl/gststructure.sgml:
6281 * docs/gst/tmpl/gsttaglist.sgml:
6282 * docs/gst/tmpl/gstvalue.sgml:
6283 * docs/libs/gstreamer-libs-docs.sgml:
6284 * docs/libs/gstreamer-libs-sections.txt:
6285 * docs/libs/gstreamer-libs.types:
6286 * libs/gst/Makefile.am:
6287 * libs/gst/control/.cvsignore:
6288 * libs/gst/control/Makefile.am:
6289 * libs/gst/control/control.c:
6290 * libs/gst/control/control.h:
6291 * libs/gst/control/dparam.c:
6292 * libs/gst/control/dparam.h:
6293 * libs/gst/control/dparam_smooth.c:
6294 * libs/gst/control/dparam_smooth.h:
6295 * libs/gst/control/dparamcommon.h:
6296 * libs/gst/control/dparammanager.c:
6297 * libs/gst/control/dparammanager.h:
6298 * libs/gst/control/dplinearinterp.c:
6299 * libs/gst/control/dplinearinterp.h:
6300 * libs/gst/control/unitconvert.c:
6301 * libs/gst/control/unitconvert.h:
6302 * testsuite/Makefile.am:
6303 * testsuite/dynparams/.cvsignore:
6304 * testsuite/dynparams/Makefile.am:
6305 * testsuite/dynparams/dparamstest.c:
6306 * tools/Makefile.am:
6307 * tools/gst-inspect.c: (print_element_info), (main):
6308 * tools/gst-xmlinspect.c: (print_element_info), (main):
6309 deactivate and remove dparams (libgstcontrol)
6311 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
6313 * gst/elements/gsttypefindelement.c:
6314 (gst_type_find_element_have_type), (gst_type_find_element_init),
6315 (stop_typefinding), (gst_type_find_element_handle_event),
6316 (gst_type_find_element_chain), (gst_type_find_element_getrange):
6317 * gst/elements/gsttypefindelement.h:
6318 Set caps on all outgoing buffers, not just the first one.
6320 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
6322 * gst/elements/gsttypefindelement.c:
6323 (gst_type_find_element_have_type),
6324 (gst_type_find_element_check_set_buffer_caps),
6325 (gst_type_find_element_init), (stop_typefinding),
6326 (gst_type_find_element_handle_event),
6327 (gst_type_find_element_chain), (gst_type_find_element_getrange):
6328 * gst/elements/gsttypefindelement.h:
6329 Set caps on first outgoing buffer when we've found the type.
6331 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
6333 * docs/gst/gstreamer-docs.sgml:
6334 * docs/gst/gstreamer-sections.txt:
6335 * docs/gst/tmpl/gstscheduler.sgml:
6336 * docs/gst/tmpl/gstschedulerfactory.sgml:
6337 Remove some old cruft from docs.
6339 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
6342 Fix inline docs for GstPadLinkReturn.
6344 * gst/gststructure.c: (gst_structure_has_name):
6345 * gst/gststructure.h:
6346 * docs/gst/gstreamer-sections.txt:
6347 New API: gst_structure_has_name().
6349 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
6352 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
6353 and _LARGEFILE_SOURCE in config.h as required. Do not
6354 export those flags in our .pc files any longer (#142209).
6356 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
6358 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
6359 (gst_file_sink_do_seek), (gst_file_sink_event),
6360 (gst_file_sink_get_current_offset), (gst_file_sink_render):
6361 Redo seek/tell calls with large file support in mind; add some
6362 debugging messages; add log message that tells us when large
6363 file support is unavailable or not enabled for some reason.
6365 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
6366 Add log message that tells us when large file support
6367 is unavailable or not enabled for some reason.
6369 2005-07-29 Wim Taymans <wim@fluendo.com>
6371 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6372 Added test for removing an element with ghostpad from a bin.
6373 Fixed test as current implementation does the right thing.
6375 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
6376 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
6377 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
6378 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
6379 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
6380 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
6381 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
6382 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
6383 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
6384 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
6385 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
6386 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
6387 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
6388 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
6389 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
6390 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
6391 * gst/gstghostpad.h:
6392 Clean up ghostpads, remove properties for internal stuff.
6395 Prepare for switching targets, not all use cases work yet.
6397 2005-07-29 Wim Taymans <wim@fluendo.com>
6399 * docs/design/part-gstghostpad.txt:
6402 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
6403 (gst_bin_remove_func):
6404 Unlinking pads while holding the bin LOCK is not a good
6407 * gst/gstpad.c: (gst_pad_class_init),
6408 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
6409 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
6410 No prob setting template after creating the pad.
6412 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
6414 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
6415 (gst_bus_peek), (gst_bus_source_dispatch),
6416 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
6417 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
6418 gst_bus_poll may be called from other threads. Handle
6419 this nicely by not making poll_data disappear off the
6420 stack once gst_bus_poll returns.
6421 gst_bus_peek now increments the refcount on the returned
6424 2005-07-29 Wim Taymans <wim@fluendo.com>
6426 * docs/design/part-gstghostpad.txt:
6427 Overview of current GhostPad datastructures and use
6428 cases for changing the target.
6430 2005-07-28 Wim Taymans <wim@fluendo.com>
6432 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6433 Added checks for hierarchy consistency whan adding linked
6436 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6437 Added check to test element scheduling without bin/pipeline.
6439 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6440 First add elements to bin, then link.
6442 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
6443 (gst_bin_remove_func):
6444 Unlink pads from elements added/removed from bin to maintain
6445 hierarchy consistency.
6447 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6449 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6450 (gst_base_transform_handle_buffer):
6451 * gst/base/gstbasetransform.h:
6452 Remove broken delay_configure (fixes renegotiation of software
6453 scaling pipelines); remove some leftover printf()s.
6455 2005-07-28 Wim Taymans <wim@fluendo.com>
6457 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6458 Added some more tests for wrong hierarchy
6460 * docs/design/part-overview.txt:
6463 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
6466 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
6467 (gst_element_dispose):
6470 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6471 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
6472 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
6473 (gst_pad_set_caps), (gst_pad_send_event):
6474 Check for correct hierarchy when linking pads. Moving to
6475 strict requirement for ghostpads when linking elements in
6479 Clean ups. Added WRONG_HIERARCHY return value.
6481 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6483 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
6484 Better debug if no transform is possible.
6486 2005-07-27 Wim Taymans <wim@fluendo.com>
6488 * docs/random/wtay/network-transp:
6491 2005-07-27 Wim Taymans <wim@fluendo.com>
6493 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6494 (gst_dp_event_from_packet):
6495 Fix serialization of seek events.
6497 2005-07-27 Wim Taymans <wim@fluendo.com>
6499 * check/gst-libs/gdp.c: (GST_START_TEST):
6500 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6501 Fix compilation and fix event serialization.
6503 2005-07-27 Wim Taymans <wim@fluendo.com>
6506 * docs/design/part-TODO.txt:
6507 * docs/design/part-events.txt:
6510 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6511 (gst_base_sink_event), (gst_base_sink_do_sync),
6512 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
6513 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6514 (gst_base_src_do_seek), (gst_base_src_event_handler),
6515 (gst_base_src_loop):
6516 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6517 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6518 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6519 (gst_base_transform_event), (gst_base_transform_handle_buffer),
6520 (gst_base_transform_set_passthrough),
6521 (gst_base_transform_is_passthrough):
6522 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6523 * gst/elements/gstfilesink.c: (gst_file_sink_event):
6529 * gst/gstelement.c: (gst_element_seek):
6531 Update gst_element_seek.
6533 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
6534 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
6535 (gst_event_new_flush_start), (gst_event_new_flush_stop),
6536 (gst_event_new_eos), (gst_event_new_newsegment),
6537 (gst_event_parse_newsegment), (gst_event_new_tag),
6538 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
6539 (gst_event_parse_qos), (gst_event_new_seek),
6540 (gst_event_parse_seek), (gst_event_new_navigation):
6542 Make GstEvent use GstStructure. Add parsing code, make sure the
6543 API is sufficiently generic.
6544 Mark possible directions of events and serialization.
6546 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
6547 (_gst_message_copy), (gst_message_new_segment_start),
6548 (gst_message_new_segment_done), (gst_message_new_custom),
6549 (gst_message_parse_segment_start),
6550 (gst_message_parse_segment_done):
6553 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
6554 (gst_pad_set_caps), (gst_pad_send_event):
6555 Update for new events.
6556 Catch events sent in wrong directions.
6558 * gst/gstqueue.c: (gst_queue_link_src),
6559 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
6560 (gst_queue_handle_src_query):
6565 Remove event code from this file.
6567 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6568 (gst_dp_event_from_packet):
6571 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6573 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
6574 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6575 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
6576 Make debugging actually useful.
6578 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6580 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
6581 (gst_pad_fixate_caps):
6582 Implement default fixation once again, so that gst_pad_fixate()
6583 actually does anything at all. This probably needs to be some
6584 sort of a last resort, and use profile-based fixation first, but
6585 since that doesn't exist yet, this is the best we have. Fixes
6586 visualization in Totem.
6588 2005-07-22 Wim Taymans <wim@fluendo.com>
6590 * docs/design/part-events.txt:
6593 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6594 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
6595 (gst_base_sink_activate_pull):
6598 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
6599 (gst_fake_src_create):
6600 Fix handoff marshall.
6602 * gst/elements/gstidentity.c: (gst_identity_class_init),
6603 (gst_identity_transform_ip):
6604 We're a real inplace element.
6606 * gst/gstbus.c: (gst_bus_post):
6607 Added some comments.
6609 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
6610 * tests/muxing/case1.c: (main):
6611 * tests/sched/dynamic-pipeline.c: (main):
6612 * tests/sched/interrupt1.c: (main):
6613 * tests/sched/interrupt2.c: (main):
6614 * tests/sched/interrupt3.c: (main):
6615 * tests/sched/runxml.c: (main):
6616 * tests/sched/sched-stress.c: (main):
6617 * tests/seeking/seeking1.c: (event_received), (main):
6618 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6620 * tests/threadstate/threadstate3.c: (main):
6621 * tests/threadstate/threadstate4.c: (main):
6622 * tests/threadstate/threadstate5.c: (main):
6625 2005-07-21 Wim Taymans <wim@fluendo.com>
6627 * docs/design/part-seeking.txt:
6628 Some small additions.
6630 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6631 (gst_base_sink_get_times), (gst_base_sink_do_sync),
6632 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
6633 * gst/base/gstbasesink.h:
6634 discont values are gint64, handle the math correctly.
6636 * gst/base/gstbasesrc.c: (gst_base_src_loop):
6637 Make the basesrc report error if the source pad is not linked.
6639 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
6640 (gst_queue_loop), (gst_queue_handle_src_query),
6641 (gst_queue_src_activate_push):
6642 Make queue collect data even if the srcpad is not linked.
6643 Start pushing out data as soon as it is linked.
6645 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
6647 Added gst_flow_get_name() to ease error reporting.
6649 2005-07-20 Wim Taymans <wim@fluendo.com>
6651 * gst/gstmessage.c: (gst_message_new_segment_start),
6652 (gst_message_new_segment_done), (gst_message_parse_segment_start),
6653 (gst_message_parse_segment_done):
6655 Added a bunch of messages for advanced seeking.
6657 * gst/parse/grammar.y:
6658 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
6659 (gst_dpman_state_changed):
6660 Fix some new-pad -> pad-added signals
6662 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6664 * docs/manual/appendix-porting.xml:
6665 * docs/pwg/appendix-porting.xml:
6666 Document new-pad/state-change signal renames and the FixedList
6669 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6671 * docs/manual/advanced-autoplugging.xml:
6672 * docs/manual/basics-helloworld.xml:
6673 * docs/manual/basics-pads.xml:
6674 * docs/random/ds/0.9-suggested-changes:
6675 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
6680 * gst/gststructure.c: (gst_structure_value_get_generic_type),
6681 (gst_structure_parse_array), (gst_structure_parse_value):
6682 * gst/gstvalue.c: (gst_type_is_fixed),
6683 (gst_value_list_prepend_value), (gst_value_list_append_value),
6684 (gst_value_list_get_size), (gst_value_list_get_value),
6685 (gst_value_transform_array_string), (gst_value_serialize_array),
6686 (gst_value_deserialize_array), (gst_value_intersect_array),
6687 (gst_value_is_fixed), (_gst_value_initialize):
6689 GstElement::new-pad -> pad-added, GstElement::state-change ->
6690 state-changed, GstValueFixedList -> GstValueArray, add format and
6691 flags as their own arguments in gst_element_seek() (should improve
6692 "bindeability"), remove function generators since they don't work
6693 under a whole bunch of compilers (they were deprecated already
6696 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6698 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6699 (_gst_debug_register_funcptr):
6701 Fix illegal cast on some platforms (#309253).
6703 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6705 * gst/gstmessage.c: (gst_message_new_custom):
6707 Add _new_custom, make _new_application a macro to _new_custom.
6709 2005-07-20 Wim Taymans <wim@fluendo.com>
6711 * gst/base/gstbasesrc.c: (gst_base_src_init),
6712 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
6713 * gst/base/gstbasesrc.h:
6714 Add a gboolean to decide when to push out a discont.
6716 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
6717 (gst_queue_loop), (gst_queue_handle_src_query),
6718 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
6719 (gst_queue_set_property), (gst_queue_get_property):
6722 * tests/threadstate/threadstate1.c: (main):
6723 Make a thread test compile and run... very silly..
6726 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6728 * docs/manual/appendix-porting.xml:
6729 Mention removal of libgstgconf-0.9.la and existence of gconf
6732 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6734 * docs/pwg/advanced-clock.xml:
6735 * docs/pwg/appendix-porting.xml:
6736 * docs/pwg/intro-preface.xml:
6737 * docs/pwg/other-base.xml:
6738 * docs/pwg/other-manager.xml:
6739 * docs/pwg/other-nton.xml:
6740 * docs/pwg/other-ntoone.xml:
6741 * docs/pwg/other-oneton.xml:
6743 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
6744 demuxer), remove n-to-n (was never written), fix some code examples
6745 and links and update the porting section to include all this.
6747 2005-07-19 Wim Taymans <wim@fluendo.com>
6749 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
6750 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
6751 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
6752 (gst_queue_src_activate_push), (gst_queue_change_state),
6753 (gst_queue_get_property):
6755 Propagate GstFlowReturn more intelligently upstream and output
6756 an ERROR/EOS when streaming stopped due to fatal error.
6758 2005-07-19 Wim Taymans <wim@fluendo.com>
6760 * tools/gst-launch.c: (check_intr), (event_loop), (main):
6761 Don't block forever for the state change to complete, the
6762 pipeline already did with a sensible timeout.
6764 2005-07-19 Wim Taymans <wim@fluendo.com>
6766 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6767 Make sure we never call the create function is we
6770 2005-07-19 Andy Wingo <wingo@pobox.com>
6772 * gst/parse/parse.l: Attempt to solve bug #172815.
6774 2005-07-19 Wim Taymans <wim@fluendo.com>
6776 * docs/design/part-clocks.txt:
6777 * docs/design/part-events.txt:
6778 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
6780 Only update the seeking values when we are not
6783 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
6785 * gst/base/gstbasesrc.c: (gst_base_src_loop):
6786 Oops, ignore the result of gst_pad_push_event here.
6788 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
6790 * gst/base/gstbasesrc.c: (gst_base_src_loop),
6791 (gst_base_src_activate_push):
6792 Send discont event from the loop function, as pads
6793 aren't activated yet in the activate_push handler.
6795 * gst/gstbin.c: (bin_bus_handler):
6796 Don't leak element name.
6798 2005-07-18 Andy Wingo <wingo@pobox.com>
6800 * configure.ac: Use AS_LIBTOOL_TAGS.
6802 2005-07-18 Wim Taymans <wim@fluendo.com>
6804 * docs/gst/gstreamer.types:
6805 Remove deleted types.
6807 2005-07-18 Wim Taymans <wim@fluendo.com>
6809 * check/elements/gstfakesrc.c: (GST_START_TEST):
6812 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
6813 (init_popt_callback):
6815 * gst/gst_private.h:
6816 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
6817 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
6820 * gst/gstconfig.h.in:
6821 * gst/gstelement.c: (gst_element_class_init),
6822 (gst_element_set_base_time), (gst_element_get_base_time),
6823 (iterator_fold_with_resync), (gst_element_change_state),
6824 (gst_element_dispose), (gst_element_get_bus):
6826 * gst/gstelementfactory.h:
6827 * gst/gsterror.c: (_gst_core_errors_init):
6830 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
6832 * gst/gstinfo.c: (_gst_debug_init):
6833 * gst/gstmessage.c: (_gst_message_copy):
6835 * gst/gstminiobject.h:
6838 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
6839 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
6842 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
6843 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
6844 (gst_pipeline_get_last_stream_time):
6845 * gst/gstpipeline.h:
6846 * gst/gstpluginfeature.h:
6848 * gst/gstscheduler.c:
6849 * gst/gstscheduler.h:
6850 * gst/gststructure.h:
6851 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
6852 (gst_task_finalize), (gst_task_func), (gst_task_create),
6853 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
6854 (gst_task_stop), (gst_task_pause):
6856 * gst/gsttypefind.h:
6858 * gst/registries/gstlibxmlregistry.c: (load_feature),
6859 (gst_xml_registry_load), (gst_xml_registry_save_feature):
6860 * gst/registries/gstxmlregistry.c:
6861 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
6862 * gst/schedulers/threadscheduler.c:
6863 * libs/gst/control/dparammanager.h:
6864 * tools/gst-inspect.c: (print_element_list),
6865 (print_plugin_features), (print_element_features):
6866 * tools/gst-xmlinspect.c: (print_element_list),
6867 (print_plugin_info), (main):
6868 Removed plugable schedulers.
6869 Removed Scheduler/Manager from elements.
6870 Removed gsttypes.h, rearranged includes.
6871 Removed dependency pad<->element, element<>pipeline, and
6872 various others, fix includes.
6873 implement gst_pad_get_parent() with gst_object_get_parent()
6874 Make GstTask sefcontained.
6875 Fix _get_state() on GstBin, it did not return ASYNC with a 0
6877 Fix endless loop in iterator_fold_with_resync.
6880 2005-07-18 Wim Taymans <wim@fluendo.com>
6886 2005-07-18 Wim Taymans <wim@fluendo.com>
6891 2005-07-18 Wim Taymans <wim@fluendo.com>
6897 2005-07-18 Wim Taymans <wim@fluendo.com>
6899 * docs/design/part-dynamic.txt:
6900 * docs/design/part-events.txt:
6901 * docs/design/part-seeking.txt:
6902 Some more docs in the works.
6904 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
6905 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
6906 (gst_base_transform_setcaps), (gst_base_transform_get_size),
6907 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
6908 (gst_base_transform_handle_buffer),
6909 (gst_base_transform_sink_activate_push),
6910 (gst_base_transform_src_activate_pull),
6911 (gst_base_transform_set_passthrough),
6912 (gst_base_transform_is_passthrough):
6915 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
6918 * gst/gstevent.c: (gst_event_finalize):
6921 * gst/gstutils.c: (gst_element_unlink),
6922 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
6923 (gst_pad_proxy_setcaps):
6925 Add _get_parent_element() to get a pads parent as an element.
6927 2005-07-18 Wim Taymans <wim@fluendo.com>
6929 * check/gst/gstbin.c: (GST_START_TEST):
6932 2005-07-18 Wim Taymans <wim@fluendo.com>
6934 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
6935 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
6936 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
6937 (gst_base_sink_event), (gst_base_sink_do_sync),
6938 (gst_base_sink_chain), (gst_base_sink_loop),
6939 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
6940 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6942 Fix logic for returning ASYNC when not prerolled.
6944 2005-07-18 Wim Taymans <wim@fluendo.com>
6946 * gst/gstqueue.c: (gst_queue_handle_sink_event):
6947 Fix nasty refcount bug.
6949 2005-07-16 Philippe Khalaf <burger@speedy.org>
6951 * gst/elements/gstfdsrc.c:
6952 * gst/elements/gstfdsrc.h:
6953 * gst/elements/gstelements.c:
6954 * gst/elements/Makefile.am:
6955 Ported fdsrc to 0.9.
6957 2005-07-16 Wim Taymans <wim@fluendo.com>
6959 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6960 (gst_base_sink_do_sync):
6963 2005-07-16 Wim Taymans <wim@fluendo.com>
6965 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6966 (gst_base_sink_event), (gst_base_sink_get_times),
6967 (gst_base_sink_do_sync), (gst_base_sink_change_state):
6968 * gst/base/gstbasesink.h:
6969 Store and use discont values when syncing buffers as described
6972 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6973 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
6974 (gst_base_src_activate_push):
6975 Push discont event when starting.
6977 * gst/elements/gstidentity.c: (gst_identity_transform):
6980 * gst/gstbin.c: (gst_bin_change_state):
6981 Small cleanups in base_time distribution.
6983 * gst/gstelement.c: (gst_element_set_base_time),
6984 (gst_element_get_base_time), (gst_element_change_state):
6986 Added methods for the base_time of the element.
6989 * gst/gstpipeline.c: (gst_pipeline_send_event),
6990 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
6991 (gst_pipeline_get_last_stream_time):
6992 * gst/gstpipeline.h:
6994 Handle seeking as described in design doc, remove stream_time
6996 Cleanups clock and stream_time selection code. Added accessors
6997 for the stream_time.
7000 2005-07-16 Andy Wingo <wingo@pobox.com>
7002 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
7005 2005-07-16 Wim Taymans <wim@fluendo.com>
7007 * check/gst/gstbin.c: (GST_START_TEST):
7008 Make elements silent as the deep_notify refs the
7009 parent, which might make the test fail.
7011 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
7012 Don't hold the lock for too long.
7014 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
7016 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7017 Don't unref the caps we passed to gst_caps_make_writable() after
7018 passing them. gst_caps_make_writable() will do that for us.
7020 2005-07-15 Andy Wingo <wingo@pobox.com>
7022 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
7025 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
7026 own marshalling function for the handoff signal. Properly type the
7027 buffer as a buffer. Fixes some warnings. Should do a more general
7029 (gst_identity_class_init): Plug into the right marshaller.
7031 2005-07-15 Wim Taymans <wim@fluendo.com>
7033 * docs/design/part-TODO.txt:
7034 * docs/design/part-clocks.txt:
7035 * docs/design/part-element-sink.txt:
7036 * docs/design/part-events.txt:
7037 * docs/design/part-gstpipeline.txt:
7038 Updated docs, mostly DISCONT related.
7040 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
7042 * docs/pwg/building-pads.xml:
7043 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
7045 2005-07-15 Andy Wingo <wingo@pobox.com>
7047 * tools/gst-typefind.c: Update, add copyright block.
7049 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
7050 Normalize and truncate caps before fixation.
7053 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
7054 discards all but the first structure from its argument.
7056 2005-07-15 Wim Taymans <wim@fluendo.com>
7058 * gst/base/gstbasetransform.c: (gst_base_transform_init),
7059 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
7060 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7061 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7062 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
7063 (gst_base_transform_chain), (gst_base_transform_change_state),
7064 (gst_base_transform_set_passthrough),
7065 (gst_base_transform_is_passthrough):
7066 * gst/base/gstbasetransform.h:
7067 Make passthrough work using the bufferpools.
7068 Changed API a bit, subclasses have to write into a buffer
7069 provided by the base class.
7070 More debug info in nego functions.
7072 * gst/elements/gstidentity.c: (gst_identity_init),
7073 (gst_identity_transform):
7074 Port to new base class.
7076 2005-07-15 Wim Taymans <wim@fluendo.com>
7078 * gst/gstmessage.c: (gst_message_new_state_changed):
7079 * tools/gst-launch.c: (event_loop), (main):
7080 Totally dump messages in -launch with the -m option.
7081 Fix message name for State messages,
7083 2005-07-14 Wim Taymans <wim@fluendo.com>
7085 * gst/base/gstbasesrc.c: (gst_base_src_loop):
7086 Post error messages on errors.
7088 2005-07-14 Wim Taymans <wim@fluendo.com>
7090 * gst/gstcaps.c: (gst_caps_do_simplify):
7094 Define error for stream stopped.
7096 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
7097 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
7098 Do proper return values.
7100 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
7101 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
7102 (gst_pad_get_range):
7103 Better return values.
7106 Reorganise return values, add macro to check for fatal errors.
7108 * gst/gstqueue.c: (gst_queue_chain):
7109 Return proper GstFlowReturn values,
7111 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
7113 * docs/gst/gstreamer-sections.txt:
7114 * docs/gst/gstreamer.types:
7115 * docs/gst/tmpl/gst.sgml:
7116 * docs/gst/tmpl/gstbasesink.sgml:
7117 * docs/gst/tmpl/gstbasesrc.sgml:
7118 * docs/gst/tmpl/gstbasetransform.sgml:
7119 * docs/gst/tmpl/gstbin.sgml:
7120 * docs/gst/tmpl/gstbuffer.sgml:
7121 * docs/gst/tmpl/gstcaps.sgml:
7122 * docs/gst/tmpl/gstclock.sgml:
7123 * docs/gst/tmpl/gstcompat.sgml:
7124 * docs/gst/tmpl/gstconfig.sgml:
7125 * docs/gst/tmpl/gstelement.sgml:
7126 * docs/gst/tmpl/gstelementdetails.sgml:
7127 * docs/gst/tmpl/gstelementfactory.sgml:
7128 * docs/gst/tmpl/gstenumtypes.sgml:
7129 * docs/gst/tmpl/gsterror.sgml:
7130 * docs/gst/tmpl/gstevent.sgml:
7131 * docs/gst/tmpl/gstfakesink.sgml:
7132 * docs/gst/tmpl/gstfakesrc.sgml:
7133 * docs/gst/tmpl/gstfilesink.sgml:
7134 * docs/gst/tmpl/gstfilesrc.sgml:
7135 * docs/gst/tmpl/gstfilter.sgml:
7136 * docs/gst/tmpl/gstformat.sgml:
7137 * docs/gst/tmpl/gstghostpad.sgml:
7138 * docs/gst/tmpl/gstimplementsinterface.sgml:
7139 * docs/gst/tmpl/gstindex.sgml:
7140 * docs/gst/tmpl/gstindexfactory.sgml:
7141 * docs/gst/tmpl/gstinfo.sgml:
7142 * docs/gst/tmpl/gstiterator.sgml:
7143 * docs/gst/tmpl/gstmacros.sgml:
7144 * docs/gst/tmpl/gstmemchunk.sgml:
7145 * docs/gst/tmpl/gstminiobject.sgml:
7146 * docs/gst/tmpl/gstobject.sgml:
7147 * docs/gst/tmpl/gstpad.sgml:
7148 * docs/gst/tmpl/gstpadtemplate.sgml:
7149 * docs/gst/tmpl/gstparse.sgml:
7150 * docs/gst/tmpl/gstpipeline.sgml:
7151 * docs/gst/tmpl/gstplugin.sgml:
7152 * docs/gst/tmpl/gstpluginfeature.sgml:
7153 * docs/gst/tmpl/gstquery.sgml:
7154 * docs/gst/tmpl/gstqueue.sgml:
7155 * docs/gst/tmpl/gstregistry.sgml:
7156 * docs/gst/tmpl/gstregistrypool.sgml:
7157 * docs/gst/tmpl/gstscheduler.sgml:
7158 * docs/gst/tmpl/gstschedulerfactory.sgml:
7159 * docs/gst/tmpl/gststructure.sgml:
7160 * docs/gst/tmpl/gstsystemclock.sgml:
7161 * docs/gst/tmpl/gsttaglist.sgml:
7162 * docs/gst/tmpl/gsttagsetter.sgml:
7163 * docs/gst/tmpl/gsttrace.sgml:
7164 * docs/gst/tmpl/gsttrashstack.sgml:
7165 * docs/gst/tmpl/gsttypefind.sgml:
7166 * docs/gst/tmpl/gsttypefindfactory.sgml:
7167 * docs/gst/tmpl/gsttypes.sgml:
7168 * docs/gst/tmpl/gsturihandler.sgml:
7169 * docs/gst/tmpl/gsturitype.sgml:
7170 * docs/gst/tmpl/gstutils.sgml:
7171 * docs/gst/tmpl/gstvalue.sgml:
7172 * docs/gst/tmpl/gstversion.sgml:
7173 * docs/gst/tmpl/gstxml.sgml:
7174 * docs/libs/tmpl/gstcontrol.sgml:
7175 * docs/libs/tmpl/gstdataprotocol.sgml:
7176 * docs/libs/tmpl/gstdparam.sgml:
7177 * docs/libs/tmpl/gstdplinint.sgml:
7178 * docs/libs/tmpl/gstdpman.sgml:
7179 * docs/libs/tmpl/gstdpsmooth.sgml:
7180 * docs/libs/tmpl/gstgetbits.sgml:
7181 * docs/libs/tmpl/gstunitconvert.sgml:
7182 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
7183 (gst_push_src_base_init), (gst_push_src_class_init),
7184 (gst_push_src_init), (gst_push_src_create):
7185 * gst/base/gstpushsrc.h:
7186 * gst/elements/gstelements.c:
7187 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
7188 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
7189 (gst_fake_sink_init), (gst_fake_sink_set_property),
7190 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
7191 (gst_fake_sink_event), (gst_fake_sink_preroll),
7192 (gst_fake_sink_render), (gst_fake_sink_change_state):
7193 * gst/elements/gstfakesink.h:
7194 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
7195 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
7196 (gst_fake_src_base_init), (gst_fake_src_class_init),
7197 (gst_fake_src_init), (gst_fake_src_event_handler),
7198 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
7199 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
7200 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
7201 (gst_fake_src_create_buffer), (gst_fake_src_create),
7202 (gst_fake_src_start), (gst_fake_src_stop):
7203 * gst/elements/gstfakesrc.h:
7204 * gst/elements/gstfilesink.c: (_do_init),
7205 (gst_file_sink_base_init), (gst_file_sink_class_init),
7206 (gst_file_sink_init), (gst_file_sink_dispose),
7207 (gst_file_sink_set_location), (gst_file_sink_set_property),
7208 (gst_file_sink_get_property), (gst_file_sink_open_file),
7209 (gst_file_sink_close_file), (gst_file_sink_query),
7210 (gst_file_sink_event), (gst_file_sink_render),
7211 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
7212 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
7213 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
7214 * gst/elements/gstfilesink.h:
7215 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
7216 (gst_file_src_class_init), (gst_file_src_init),
7217 (gst_file_src_finalize), (gst_file_src_set_location),
7218 (gst_file_src_set_property), (gst_file_src_get_property),
7219 (gst_file_src_map_region), (gst_file_src_map_small_region),
7220 (gst_file_src_create_mmap), (gst_file_src_create_read),
7221 (gst_file_src_create), (gst_file_src_is_seekable),
7222 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
7223 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
7224 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
7225 (gst_file_src_uri_handler_init):
7226 * gst/elements/gstfilesrc.h:
7227 more autistic cleanliness in functions/names/defines
7229 2005-07-13 Andy Wingo <wingo@pobox.com>
7231 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
7232 source couldn't negotiate.
7234 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
7238 * gst/gstutils.c (gst_element_link_pads_filtered): New old
7239 function. I am channeling Hades. Put your boots on suckers!!!
7241 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
7243 * testsuite/caps/Makefile.am:
7244 * testsuite/caps/value_compare.c:
7245 * testsuite/caps/value_intersect.c:
7246 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7247 move two testsuite apps over to the check dir
7249 2005-07-12 Wim Taymans <wim@fluendo.com>
7251 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
7252 Added more debug info in the negotiate process.
7255 Prepare for segment playback.
7257 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
7263 * tools/gst-launch.c: (main):
7264 NULL pipeline on errors.
7266 2005-07-12 Andy Wingo <wingo@pobox.com>
7268 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
7269 not it comes from a malloc region. Make sure our copy gets freed.
7271 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
7273 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7274 * check/gst/gstmessage.c: (GST_START_TEST):
7275 * check/gst/gststructure.c: (GST_START_TEST),
7276 (gst_structure_suite), (main):
7278 * gst/gstelement.c: (gst_element_message_full):
7279 clean up GError and debug string now that they get copied
7280 * gst/gstmessage.c: (gst_message_new_error),
7281 (gst_message_new_warning), (gst_message_parse_error),
7282 (gst_message_parse_warning):
7283 use GST_TYPE_G_ERROR for structure_new, and take copies of
7284 arguments, so that we don't mess up refcounting
7286 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
7288 * check/Makefile.am:
7289 add per-test valgrind targets
7290 * check/gst-libs/gdp.c: (GST_START_TEST),
7291 (gst_data_protocol_suite), (main):
7294 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
7296 * check/Makefile.am:
7297 instate more valgrindable tests
7298 * check/elements/gstfakesrc.c: (chain_func), (event_func),
7299 (GST_START_TEST), (fakesrc_suite):
7300 * check/gst/gstpad.c: (GST_START_TEST):
7301 * check/gst/gststructure.c: (GST_START_TEST):
7303 * docs/gst/tmpl/gstminiobject.sgml:
7304 * gst/gstpad.c: (gst_pad_finalize):
7305 fix the static mutex leak
7307 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
7309 * check/Makefile.am:
7310 add two more tests for valgrinding
7311 * check/gst/gstvalue.c: (GST_START_TEST):
7312 test refcount of deserialized buffer, found a leak
7313 * docs/gst/gstreamer-docs.sgml:
7314 * docs/gst/gstreamer-sections.txt:
7315 * docs/gst/gstreamer.types:
7316 * docs/gst/tmpl/gstminiobject.sgml:
7317 add miniobject to docs
7318 * gst/gstminiobject.c:
7320 * gst/gstvalue.c: (gst_value_deserialize_buffer),
7321 (gst_string_unwrap):
7322 fix a hard-to-find invalid write for one of the tests
7323 fix a leak for deserialized buffers
7325 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7327 * docs/pwg/advanced-events.xml:
7328 * docs/pwg/advanced-request.xml:
7329 * docs/pwg/advanced-scheduling.xml:
7330 * docs/pwg/appendix-porting.xml:
7331 * docs/pwg/building-boiler.xml:
7332 * docs/pwg/intro-preface.xml:
7333 * docs/pwg/other-ntoone.xml:
7334 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
7335 of example code and explanation for pad activation, loop() and
7336 getrange() functions and a bit more. Remove old comments pointing
7338 * examples/pwg/Makefile.am:
7339 Add loop/getrange examples.
7341 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
7344 check for valgrind binary + some fixes
7346 valgrind suppressions for the tests
7347 * check/Makefile.am:
7348 add a valgrind: target that valgrinds the unit tests
7349 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
7350 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7351 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7352 * check/gst/gstghostpad.c:
7354 * check/gst/gstdata.c:
7356 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
7357 (thread_unref), (gst_mini_object_suite), (main):
7359 * gst/gst.c: (gst_deinit):
7361 add a method to clean up.
7362 * gst/gstsystemclock.c: (gst_system_clock_dispose),
7363 (gst_system_clock_obtain):
7364 allow for disposing the system clock.
7365 * tools/gst-launch.c: (main):
7368 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
7370 * docs/gst/tmpl/gstbasesrc.sgml:
7371 * docs/gst/tmpl/gstfakesrc.sgml:
7372 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7373 (gst_base_src_init), (gst_base_src_set_property),
7374 (gst_base_src_get_property), (gst_base_src_get_range),
7375 (gst_base_src_start):
7376 * gst/base/gstbasesrc.h:
7377 add num-buffers property
7378 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7379 (gst_fakesrc_init), (gst_fakesrc_set_property),
7380 (gst_fakesrc_get_property), (gst_fakesrc_create),
7381 (gst_fakesrc_start):
7382 remove num-buffers property
7384 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
7386 * docs/gst/gstreamer-sections.txt:
7387 * docs/gst/tmpl/gstbasesink.sgml:
7388 * docs/gst/tmpl/gstbasesrc.sgml:
7389 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
7390 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
7391 (gst_base_sink_finalize), (gst_base_sink_set_clock),
7392 (gst_base_sink_set_property), (gst_base_sink_get_property),
7393 (gst_base_sink_handle_object), (gst_base_sink_event),
7394 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7395 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
7396 (gst_base_sink_loop), (gst_base_sink_deactivate),
7397 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
7398 (gst_base_sink_change_state):
7399 * gst/base/gstbasesink.h:
7400 * gst/base/gstbasesrc.h:
7401 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
7402 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
7403 (gst_filesink_init):
7404 more macro splitting
7406 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
7408 * gst/gstelement.c: (gst_element_get_bus):
7410 * tools/gst-launch.c: (check_intr), (event_loop):
7413 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
7415 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
7418 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
7420 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7421 (gst_base_src_finalize):
7422 add finalize method and clean up properly
7423 * gst/gstpipeline.c: (gst_pipeline_dispose):
7426 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
7428 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
7430 add more things to check
7431 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7435 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
7437 * check/elements/gstfakesrc.c: (chain_func), (event_func),
7438 (GST_START_TEST), (fakesrc_suite):
7439 * check/gst-libs/gdp.c: (GST_START_TEST):
7440 * check/gst/gst.c: (GST_START_TEST):
7441 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7442 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7443 * check/gst/gstbus.c: (GST_START_TEST):
7444 * check/gst/gstcaps.c: (GST_START_TEST):
7445 * check/gst/gstdata.c: (GST_START_TEST):
7446 * check/gst/gstelement.c: (GST_START_TEST):
7447 * check/gst/gstghostpad.c: (GST_START_TEST):
7448 * check/gst/gstiterator.c: (GST_START_TEST):
7449 * check/gst/gstmessage.c: (GST_START_TEST):
7450 * check/gst/gstobject.c: (GST_START_TEST):
7451 * check/gst/gstpad.c: (GST_START_TEST):
7452 * check/gst/gststructure.c: (GST_START_TEST):
7453 * check/gst/gstsystemclock.c: (GST_START_TEST),
7454 (gst_systemclock_suite):
7455 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7456 * check/gst/gstvalue.c: (GST_START_TEST):
7457 * check/pipelines/cleanup.c: (GST_START_TEST):
7458 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7459 * check/states/sinks.c: (GST_START_TEST):
7460 * check/gstcheck.c: (gst_check_init):
7462 add debugging category
7463 use GST_START_TEST now, so we add a debug line
7465 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
7467 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
7468 add test for state change message on a bin
7469 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
7471 * gst/gstbin.c: (gst_bin_init):
7472 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
7473 * gst/gstelement.c: (gst_element_post_message),
7474 (gst_element_set_state):
7475 * gst/gstelementfactory.c: (gst_element_factory_create):
7476 * gst/gstmessage.c: (gst_message_new):
7477 * gst/gstscheduler.c:
7478 various debugging additions and cleanups
7480 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
7482 * check/Makefile.am:
7483 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
7485 adding tests for elements
7486 * gst/gstelement.c: (gst_element_dispose):
7488 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
7490 * gst/registries/gstlibxmlregistry.c: (load_feature):
7491 plug more leaks. A simple gst_init() now is leakfree, yay.
7493 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
7495 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
7496 (gst_xml_registry_load):
7497 plug another memleak
7499 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
7502 use GST_SET_ERROR_CFLAGS
7504 change to ERROR_CFLAGS
7506 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
7509 make GST_ERROR_CFLAGS overridable and re-enable Werror
7511 add a note about error CFLAGS
7512 * docs/gst/tmpl/gstfakesrc.sgml:
7513 * gst/elements/gstfakesrc.c:
7514 comment out some unused code
7515 * gst/gst.c: (split_and_iterate):
7516 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
7520 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
7522 * common/Makefile.am:
7523 * common/gtk-doc.mak:
7524 * docs/gst/Makefile.am:
7525 factor out gtk-doc.mak
7527 2005-07-07 Wim Taymans <wim@fluendo.com>
7529 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
7530 (gst_thread_scheduler_dispose):
7531 Unlock the STREAM_LOCK completely.
7533 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
7535 * check/Makefile.am:
7536 * check/elements/.cvsignore:
7537 * check/elements/gstfakesrc.c: (chain_func), (event_func),
7538 (START_TEST), (fakesrc_suite), (main):
7539 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7540 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7541 (gst_fakesrc_create), (gst_fakesrc_start):
7542 * gst/elements/gstfakesrc.h:
7543 adding a first element test
7545 2005-07-07 Andy Wingo <wingo@pobox.com>
7547 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
7550 2005-07-07 Wim Taymans <wim@fluendo.com>
7556 2005-07-07 Wim Taymans <wim@fluendo.com>
7558 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
7559 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
7560 Allow subclasses to implement their own negotiation.
7562 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
7564 * docs/design/part-gstbin.txt:
7565 * docs/design/part-gstpipeline.txt:
7566 Update design notes to reflect the movement of
7567 responsibility for bus handling from GstPipeline to
7570 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
7573 Remove unnecessary queue2/3/4 examples.
7575 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
7577 * examples/Makefile.am:
7578 * examples/helloworld/helloworld.c: (event_loop), (main):
7579 * examples/queue/queue.c: (event_loop), (main):
7580 * examples/queue2/queue2.c: (main):
7581 Update a couple of the examples to work again.
7583 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7584 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
7585 Spelling corrections and extra debug.
7587 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
7588 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
7589 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
7591 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
7592 (gst_pipeline_change_state):
7593 * gst/gstpipeline.h:
7594 Move the bus handler for children to the GstBin, and create a
7595 separate bus for receiving messages from children to the one the
7596 bus sends 'upwards' on.
7598 2005-07-06 Wim Taymans <wim@fluendo.com>
7601 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7602 (gst_base_sink_handle_object), (gst_base_sink_loop),
7603 (gst_base_sink_change_state):
7604 * gst/base/gstbasesink.h:
7605 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7606 (gst_base_src_init), (gst_base_src_setcaps),
7607 (gst_base_src_getcaps), (gst_base_src_loop),
7608 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
7609 (gst_base_src_start), (gst_base_src_change_state):
7610 * gst/base/gstbasesrc.h:
7611 Make basesrc negotiate.
7612 Handle the case where preroll fails in basesink.
7615 2005-07-06 Wim Taymans <wim@fluendo.com>
7617 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
7618 Implement the fixate function.
7619 Clean up acceptcaps.
7621 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7623 * docs/pwg/building-filterfactory.xml:
7625 Remove never-written filter-factory chapter; I'll add the various
7626 base classes to part 4 ("other element types") later on.
7628 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7630 * docs/pwg/advanced-negotiation.xml:
7631 * docs/pwg/building-boiler.xml:
7632 * docs/pwg/building-pads.xml:
7634 * examples/pwg/Makefile.am:
7635 Add a chapter on caps negotiation, simplify the original code
7636 samples a bit w.r.t. caps negotiation, add link to the advanced
7637 section. Add a bunch of examples showing different use cases of
7638 different types of caps negotiation. Upstream renegotiation isn't
7639 fully documented yet since nobody knows how that works.
7641 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
7643 * check/gst/gstpad.c:
7645 * gst/gstpad.c: (gst_pad_get_internal_links_default):
7646 if pad has no parent, return NULL as list of internal links
7648 2005-07-05 Andy Wingo <wingo@pobox.com>
7650 * gst/elements/gstfilesrc.c:
7651 * gst/elements/gstfakesrc.c:
7652 * gst/base/gstpushsrc.c:
7653 * gst/base/gstbasesrc.h:
7654 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
7656 2005-07-05 Stefan Kost <ensonic@users.sf.net>
7659 better report generation target (lcov needs a patch)
7661 2005-07-05 Andy Wingo <wingo@pobox.com>
7663 * gst/elements, testsuite: Null if we got it...
7665 2005-07-05 Wim Taymans <wim@fluendo.com>
7668 * libs/gst/dataprotocol/Makefile.am:
7669 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
7670 * libs/gst/dataprotocol/dataprotocol.h:
7671 * pkgconfig/Makefile.am:
7672 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
7673 * pkgconfig/gstreamer-dataprotocol.pc.in:
7674 Ported dataprotol to 0.9.
7675 Added pkgconfig files.
7677 2005-07-05 Andy Wingo <wingo@pobox.com>
7679 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
7680 Default to returning TRUE for the case when tranform_caps returns
7681 a fixed caps, like for identity or volume.
7683 * check/gst/gstbus.c (pound_bus_with_messages):
7684 * check/gst/gstmessage.c (START_TEST):
7685 * check/pipelines/simple_launch_lines.c (got_handoff): Application
7688 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
7689 logic weaks here: always run transform_caps, trying passthrough
7690 operation only if the original caps intersects with the transform.
7692 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
7693 source and sink caps.
7695 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
7696 Intersect the peer caps with the pad template before going into
7698 (gst_base_transform_transform_caps): More debugging.
7700 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
7703 2005-07-04 Edward Hervey <edward@fluendo.com>
7707 (gst_pad_add_*_probe): now returns the signal id for better wrapping
7710 2005-07-04 Andy Wingo <wingo@pobox.com>
7712 * check/gst/gstpad.c: Only set explicit caps on pads.
7714 2005-07-01 Andy Wingo <wingo@pobox.com>
7716 * tests/network-clock.scm: Commentary update.
7718 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
7719 Didn't really make sense, not implementable with basetransform,
7721 (gst_identity_transform): Unref inbuf via make_writable. Feeble
7722 attempt at implementing the sync property, needs an unlock method.
7724 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
7725 New func, by default returns the same caps (the identity
7727 (gst_base_transform_getcaps): Uses transform_caps to return
7729 (gst_base_transform_setcaps): Complicated logic to get caps on
7730 both pads, even if they are different, and to call set_caps once
7731 for every time both pads get their caps set.
7732 (gst_base_transform_handle_buffer): Give the ref to the transform
7733 function. Allows in-place modification of the buffer.
7735 * gst/base/gstbasetransform.h (transform_caps): New class method.
7736 Given caps on one side, what can I do on the other.
7737 (set_caps): Take two caps, one for each side of the element.
7740 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
7741 caps in place. This is safe because we can check the mutability of
7742 the caps, and a good idea because fixate functions are just called
7743 as a matter of last resort. (Not actually implemented.)
7744 (gst_pad_set_caps): If the caps we're setting is actually the same
7745 as the existing pad caps, just update the pointer without calling
7746 setcaps. Assert that caps is either NULL or fixed, as per the
7749 * gst/gstghostpad.c: Update for fixate changes.
7751 2005-07-02 Andy Wingo <wingo@pobox.com>
7754 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
7755 two refcounts makes it immutable, which is enough. Doc more.
7757 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
7759 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
7760 Put the mini_object into GValue as a mini_object,
7761 not a gpointer, since that's how we declared
7764 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7766 * examples/pwg/Makefile.am:
7769 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7771 * docs/pwg/building-testapp.xml:
7773 * examples/pwg/Makefile.am:
7776 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7779 * examples/Makefile.am:
7780 * examples/pwg/Makefile.am:
7781 * examples/pwg/extract.pl:
7782 Enable building the PWG examples.
7783 * docs/pwg/advanced-interfaces.xml:
7784 Add URI interface stub.
7785 * docs/pwg/advanced-types.xml:
7786 * docs/pwg/other-autoplugger.xml:
7787 * docs/pwg/appendix-porting.xml:
7789 Add porting guide (mostly stubs), remove autoplugging (see ADM).
7790 * docs/pwg/building-boiler.xml:
7791 * docs/pwg/building-chainfn.xml:
7792 * docs/pwg/building-pads.xml:
7793 * docs/pwg/building-props.xml:
7794 * docs/pwg/building-state.xml:
7795 * docs/pwg/building-testapp.xml:
7796 Update the building-*.xml parts for 0.9 changes. All examples
7797 code blocks compile in examples/pwg/*.
7799 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7801 * docs/manual/advanced-autoplugging.xml:
7802 * docs/manual/appendix-checklist.xml:
7803 * docs/manual/appendix-integration.xml:
7804 * docs/manual/highlevel-components.xml:
7805 Fix playbin/decodebin examples, update docs a bit, mention bus
7806 instead of signals in various places, mention kmplayer and
7807 kaffeine since they have a working GStreamer backend in the KDE
7810 2005-06-30 Wim Taymans <wim@fluendo.com>
7813 * docs/design/draft-ghostpads.txt:
7814 * docs/design/draft-push-pull.txt:
7815 * docs/design/draft-query.txt:
7816 * docs/design/part-TODO.txt:
7817 * docs/design/part-query.txt:
7818 Added CHANGES-0.9 doc, updated status of other docs.
7823 2005-06-30 Wim Taymans <wim@fluendo.com>
7825 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7826 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
7827 (gst_base_sink_change_state):
7828 * gst/base/gstbasesink.h:
7829 Some tweaks, only EOS and a buffer complete a preroll.
7831 2005-06-30 Andy Wingo <wingo@pobox.com>
7833 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
7834 activate_push down to the internal pad as well.
7836 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
7838 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7840 * gst/gsttaginterface.c:
7841 Some documentation fixes (#307394 and #307397).
7843 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
7845 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7847 * gst/gstvalue.c: (gst_value_intersect_list):
7848 Fix memleak (#309125).
7850 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7852 * docs/manual/advanced-dataaccess.xml:
7853 Fix fakesrc example to compile; doesn't work, bug somewhere...?
7854 * docs/manual/basics-pads.xml:
7855 Add reference for filtered caps to above chapter.
7857 2005-06-30 Wim Taymans <wim@fluendo.com>
7859 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
7860 (gst_bin_change_state):
7862 Lame attempt at making the state change function a bit
7865 2005-06-30 Wim Taymans <wim@fluendo.com>
7867 * docs/design/part-clocks.txt:
7868 * docs/design/part-element-sink.txt:
7869 * docs/design/part-events.txt:
7870 * docs/design/part-preroll.txt:
7871 * docs/design/part-states.txt:
7872 Some more tweeks and additions to the docs.
7874 2005-06-30 Wim Taymans <wim@fluendo.com>
7876 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
7877 (default_have_data), (gst_pad_class_init), (gst_pad_init),
7878 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
7879 (gst_pad_check_pull_range), (gst_pad_get_range),
7880 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
7882 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
7883 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7884 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7885 (gst_pad_remove_buffer_probe):
7886 Removed atomic operations, use existing LOCK.
7887 Move exception handling out of main code path.
7889 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7891 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
7892 (silly_return_true_function), (gst_pad_class_init),
7893 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
7894 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
7895 (gst_pad_send_event):
7896 Fix accumulator, add default value by using _emitv() instead
7897 of _emit() for signal emission.
7899 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7901 * docs/manual/advanced-dataaccess.xml:
7902 * examples/manual/Makefile.am:
7904 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
7907 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
7909 * gst/elements/gstfilesink.c: (gst_filesink_render):
7910 Simplify code so that we don't have to handle short
7911 writes and return GST_FLOW_ERROR if an error occured.
7913 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7915 * docs/gst/gstreamer-docs.sgml:
7918 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7920 * docs/gst/gstreamer-sections.txt:
7921 * docs/gst/tmpl/gstpad.sgml:
7922 * docs/gst/tmpl/gstprobe.sgml:
7924 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
7925 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
7926 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
7927 (gst_pad_push_event), (gst_pad_send_event):
7929 * gst/gstutils.c: (gst_pad_add_data_probe),
7930 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7931 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7932 (gst_pad_remove_buffer_probe):
7934 Remove old probes, add new g-signal-based probes and some utility
7937 2005-06-29 Edward Hervey <edward@fluendo.com>
7939 * gst/gstelementfactory.c:
7942 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
7943 the definition to the header file.
7945 2005-06-29 Andy Wingo <wingo@pobox.com>
7947 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
7948 plugins from the source directory.
7950 2005-06-29 Wim Taymans <wim@fluendo.com>
7952 * docs/gst/tmpl/gstbuffer.sgml:
7953 * docs/gst/tmpl/gstclock.sgml:
7954 Some fixings for blantently wrong text.
7956 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
7958 * check/Makefile.am:
7959 * gst/gst.c: (add_path_func), (init_pre):
7960 * gst/gstregistry.c: (gst_registry_add_path):
7961 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
7962 only scan the GST_PLUGIN_PATH locations, and not add
7965 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
7967 * docs/gst/gstreamer-sections.txt:
7968 * docs/gst/tmpl/gstbasesrc.sgml:
7975 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7977 * docs/manual/advanced-autoplugging.xml:
7978 Fix autoplugging example.
7980 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7982 * docs/manual/advanced-autoplugging.xml:
7983 * docs/manual/mime-world.fig:
7984 Try to get autoplugging working, fix type detection. Fix text
7985 in hello-world image.
7987 2005-06-29 Wim Taymans <wim@fluendo.com>
7989 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7990 (gst_base_sink_change_state):
7994 map SIGNAL and BROADCAST to the right function.
7997 Remove redundant braces.
7999 * gst/gstpad.c: (gst_pad_set_caps):
8000 Don't call setcaps function when reseting caps to NULL.
8002 * gst/gstsystemclock.c: (gst_system_clock_dispose),
8003 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
8004 (gst_system_clock_id_unschedule):
8005 Use BROADCAST as this is what we do.
8007 2005-06-29 Wim Taymans <wim@fluendo.com>
8009 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8010 We are actually prerolling before commiting the state
8013 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8015 * docs/manual/advanced-clocks.xml:
8016 * docs/manual/advanced-interfaces.xml:
8017 * docs/manual/advanced-metadata.xml:
8018 * docs/manual/advanced-position.xml:
8019 * docs/manual/advanced-schedulers.xml:
8020 * docs/manual/advanced-threads.xml:
8021 * docs/manual/appendix-porting.xml:
8022 * docs/manual/basics-bins.xml:
8023 * docs/manual/basics-bus.xml:
8024 * docs/manual/basics-elements.xml:
8025 * docs/manual/basics-helloworld.xml:
8026 * docs/manual/basics-pads.xml:
8027 * docs/manual/highlevel-components.xml:
8028 * docs/manual/manual.xml:
8029 * docs/manual/thread.fig:
8030 Update (until threads/scheduling) Application Development Manual;
8031 remove GstThread, add GstBus, add simple porting checklist, add
8032 documentation for tag writing, clocks, make all examples until this
8033 part compile and run.
8034 * examples/manual/Makefile.am:
8035 Update from changes to Application Development Manual; add bus
8036 example, remove thread example.
8038 2005-06-28 Wim Taymans <wim@fluendo.com>
8040 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
8041 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
8042 (gst_bus_source_dispatch):
8043 Add debugging messages.
8044 Make internal methods static.
8045 Handle the case where the bus is flushed in the handler.
8047 * gst/gstelement.c: (gst_element_get_bus):
8048 Fix refcount in _get_bus();
8050 * gst/gstpipeline.c: (gst_pipeline_change_state),
8051 (gst_pipeline_get_clock_func):
8052 Clock refcounting fixes.
8053 Handle the case where preroll timed out more gracefully.
8055 * gst/gstsystemclock.c: (gst_system_clock_dispose):
8056 Clean up the internal thread in dispose. This is needed
8057 for subclasses that actually get disposed.
8059 * gst/schedulers/threadscheduler.c:
8060 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
8061 (gst_thread_scheduler_dispose):
8062 Free thread pool in dispose.
8064 2005-06-28 Andy Wingo <wingo@pobox.com>
8066 * tests/network-clock-utils.scm (debug, print-event): New utils.
8068 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
8069 (*packet-loss*): Unified loss probability.
8070 (network-time): Report out-of-band events.
8072 * tests/plot-data: Add support for out-of-band events. Hack it
8073 into this script instead of passing it down the pipe; should fix
8076 2005-06-28 Wim Taymans <wim@fluendo.com>
8078 * docs/gst/gstreamer.types:
8079 * docs/gst/tmpl/gstbasesrc.sgml:
8080 * docs/gst/tmpl/gstpad.sgml:
8083 2005-06-28 Wim Taymans <wim@fluendo.com>
8085 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8086 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
8087 (gst_proxy_pad_do_fixatecaps):
8088 Correctly proxy the check_pull_range function.
8090 2005-06-28 Andy Wingo <wingo@pobox.com>
8092 * tests/network-clock.scm: Removed need for slib.
8094 2005-06-28 Wim Taymans <wim@fluendo.com>
8096 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
8097 (gst_basesink_preroll_queue_flush):
8098 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
8099 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
8100 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8101 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8102 (gst_proxy_pad_set_property):
8105 * gst/gstqueue.c: (gst_queue_init):
8106 The deprecated pad loop function is removed now.
8108 2005-06-28 Andy Wingo <wingo@pobox.com>
8110 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
8111 New parameters, simulate network packet loss.
8113 * tests/network-clock-utils.scm: Initialize the RNG.
8115 2005-06-28 Wim Taymans <wim@fluendo.com>
8117 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
8118 (gst_basesink_event), (gst_basesink_deactivate):
8119 Flushing the preroll queue always needs to unlock the waiters.
8121 2005-06-28 Edward Hervey <edward@fluendo.com>
8123 * gst/gstpipeline.c: (gst_pipeline_send_event):
8124 Wheen a seek was successful on a pipeline, set the stream_time to the
8125 seek offset in order to have a synchronized stream_time.
8127 2005-06-28 Wim Taymans <wim@fluendo.com>
8129 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
8130 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
8131 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
8132 (gst_proxy_pad_do_fixatecaps):
8133 Call wrapper function instead of just calling the function
8134 pointers. This takes care of any locking and whatmore.
8136 2005-06-28 Wim Taymans <wim@fluendo.com>
8138 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
8139 (gst_pad_pull_range):
8141 CONNECTED -> LINKED.
8143 2005-06-28 Andy Wingo <wingo@pobox.com>
8145 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
8146 source-munging commit!!!
8148 * gst/gstobject.c (gst_object_unref, gst_object_ref)
8149 (gst_object_sink): Take gpointer arguments, not GstObject --
8150 avoids casts. Like GLib.
8152 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
8155 2005-06-27 Andy Wingo <wingo@pobox.com>
8157 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
8160 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
8161 returns a sorted copy of the trace list.
8162 (gst_alloc_trace_print_live): New API, only prints traces with
8163 live objects. Sort the list.
8164 (gst_alloc_trace_print_all): Sort the list.
8165 (gst_alloc_trace_print): Align columns.
8167 * gst/elements/gstttypefindelement.c:
8168 * gst/elements/gsttee.c:
8169 * gst/base/gstbasesrc.c:
8170 * gst/base/gstbasesink.c:
8171 * gst/base/gstbasetransform.c:
8172 * gst/gstqueue.c: Adapt for pad activation changes.
8174 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
8176 (gst_pipeline_dispose): Drop ref on sched.
8178 * gst/gstpad.c (gst_pad_init): Set the default activate func.
8179 (gst_pad_activate_default): Push mode by default.
8180 (pre_activate_switch, post_activate_switch): New stubs, things to
8181 do before and after switching activation modes on pads.
8182 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
8183 the pad's activate function to choose which mode to activate.
8184 Shortcut on deactivation and call the right function directly.
8185 (gst_pad_activate_pull): New API, (de)activates a pad in pull
8187 (gst_pad_activate_push): New API, same for push mode.
8188 (gst_pad_set_activate_function)
8189 (gst_pad_set_activatepull_function)
8190 (gst_pad_set_activatepush_function): Setters for new API.
8192 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
8193 Trace all miniobjects.
8194 (gst_mini_object_make_writable): Unref the arg if we copy, like
8195 gst_caps_make_writable.
8197 * gst/gstmessage.c (_gst_message_initialize): No trace init.
8199 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
8200 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
8201 Adapt for new pad API.
8203 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
8206 * gst/gstelement.c (gst_element_iterate_src_pads)
8207 (gst_element_iterate_sink_pads): New API functions.
8209 * gst/gstelement.c (iterator_fold_with_resync): New utility,
8210 should fold into gstiterator.c in some form.
8211 (gst_element_pads_activate): Simplified via use of fold and
8212 delegation of decisions to gstpad->activate.
8214 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
8217 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
8218 class once in init, like gstmessage. Didn't run into this issue
8219 but it seems correct. Don't initialize a trace, gstminiobject does
8222 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
8223 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
8225 (assert_live_count): New util function, uses alloc traces to check
8228 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
8229 To be modified when unlink drops the internal pad.
8231 2005-06-27 Wim Taymans <wim@fluendo.com>
8233 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
8234 (gst_bin_change_state):
8235 Cleanup the get_state() function a little, make sure it
8236 iterates the same set of elements.
8237 Added stub iterate_state_order().
8239 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
8241 * docs/gst/gstreamer-docs.sgml:
8242 * docs/gst/gstreamer-sections.txt:
8243 * docs/gst/gstreamer.types:
8244 * docs/gst/tmpl/gstbasesink.sgml:
8245 * docs/gst/tmpl/gstbasesrc.sgml:
8246 * docs/gst/tmpl/gstbasetransform.sgml:
8247 * docs/gst/tmpl/gstelement.sgml:
8248 * docs/gst/tmpl/gstiterator.sgml:
8249 * gst/base/gstbasesrc.c:
8250 * gst/base/gstbasesrc.h:
8251 * gst/base/gstbasetransform.h:
8253 * gst/gstiterator.h:
8254 adding basetransform and iterator docs
8256 2005-06-27 Andy Wingo <wingo@pobox.com>
8258 * docs/design/part-activation.txt: Notes on how activation should
8259 work -- not quite implemented yet.
8261 2005-06-25 Wim Taymans <wim@fluendo.com>
8263 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
8264 At least get the chain function correct, needs more
8267 2005-06-25 Wim Taymans <wim@fluendo.com>
8269 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
8270 (gst_basesink_handle_object), (gst_basesink_event),
8271 (gst_basesink_do_sync), (gst_basesink_handle_event),
8272 (gst_basesink_change_state):
8274 Right, two problems here: ghostpads don't take locks and
8275 glib _rec_mutex_lock_full() with depth==0 still locks.
8276 Catch illegal locking and g_warn them.
8278 2005-06-25 Wim Taymans <wim@fluendo.com>
8280 * check/states/sinks.c: (START_TEST), (gst_object_suite):
8281 Have to check for completion now...
8283 2005-06-25 Wim Taymans <wim@fluendo.com>
8285 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
8286 (gst_basesink_handle_object), (gst_basesink_event),
8287 (gst_basesink_do_sync), (gst_basesink_handle_event),
8288 (gst_basesink_change_state):
8290 Unlock STREAM_LOCK whatever the recursion was.
8292 2005-06-25 Wim Taymans <wim@fluendo.com>
8294 * gst/base/gstbasesink.c: (gst_basesink_set_property),
8295 (gst_basesink_preroll_queue_empty),
8296 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
8297 (gst_basesink_event), (gst_basesink_do_sync),
8298 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
8299 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
8300 (gst_basesink_change_state):
8301 Reworked the base sink, handle event and buffer serialisation
8302 correctly and removed possible deadlock.
8303 Handle EOS correctly.
8305 2005-06-25 Wim Taymans <wim@fluendo.com>
8307 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
8308 (gst_pipeline_change_state):
8309 * tools/gst-launch.c: (check_intr), (event_loop), (main):
8310 Allow elements to post EOS in the state change function.
8311 Fix up -launch, make it exit the poll loop when the
8312 pipeline actually changed state.
8313 Fix up warning parsing in -launch.
8315 2005-06-25 Wim Taymans <wim@fluendo.com>
8317 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
8318 (gst_tee_sink_activate):
8319 Core takes STREAM_LOCK for us now.
8321 2005-06-25 Wim Taymans <wim@fluendo.com>
8323 * gst/gstelement.c: (gst_element_get_state_func),
8324 (gst_element_set_state):
8326 * gst/gstmessage.c: (gst_message_parse_error),
8327 (gst_message_parse_warning):
8328 Keep track of current target state while performing a state
8329 change so that subclasses can do something interesting.
8330 Fix parsing of warning/error messages when GError is NULL.
8332 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
8334 * docs/gst/Makefile.am:
8335 * docs/gst/gstreamer-docs.sgml:
8336 * docs/gst/gstreamer-sections.txt:
8337 * docs/gst/gstreamer.types:
8338 * docs/gst/tmpl/gstbasesink.sgml:
8339 * docs/gst/tmpl/gstbasesrc.sgml:
8340 * docs/gst/tmpl/gstbin.sgml:
8341 * docs/gst/tmpl/gstcompat.sgml:
8342 * docs/gst/tmpl/gstfakesink.sgml:
8343 * docs/gst/tmpl/gstfakesrc.sgml:
8344 * docs/gst/tmpl/gstfilesink.sgml:
8345 * docs/gst/tmpl/gstfilesrc.sgml:
8346 * docs/gst/tmpl/gstindex.sgml:
8347 * docs/manual/appendix-quotes.xml:
8348 * gst/base/gstbasesrc.h:
8349 * gst/elements/gstfakesrc.h:
8351 start pulling in base classes and elements in our docs
8353 2005-06-24 Stefan Kost <ensonic@users.sf.net>
8355 * docs/gst/Makefile.am:
8356 * docs/libs/Makefile.am:
8357 fixed make distcheck with gtk-doc 1.3
8359 2005-06-23 Wim Taymans <wim@fluendo.com>
8361 * gst/gstelement.c: (gst_element_get_state_func),
8362 (gst_element_set_state), (gst_element_change_state):
8363 When the state did not change, also report NO_PREROLL
8366 2005-06-23 Wim Taymans <wim@fluendo.com>
8368 * gst/gstpad.c: (gst_pad_event_default):
8369 * gst/gstqueue.c: (gst_queue_loop):
8370 No unsafe task pausing please.
8372 2005-06-23 Wim Taymans <wim@fluendo.com>
8374 * gst/schedulers/threadscheduler.c:
8375 (gst_thread_scheduler_task_start),
8376 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
8377 Ref the task before pushing it on the threadpool. This
8378 makes sure that we have a ref when the threadfunction is
8381 2005-06-23 Andy Wingo <wingo@pobox.com>
8383 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
8384 offset is greater than the file's size.
8386 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
8387 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
8388 * gst/gstobject.c (gst_object_class_init): Make the class lock
8389 recursive. Wim won't let me drop deep_notify. Decodebin works
8392 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
8393 internal pad, and hacks accordingly. Doesn't do it on the target
8394 pad because we change its caps. Probably catches all cases of
8396 (gst_ghost_pad_set_property): Connect to notify::caps as
8399 * tests/network-clock.scm (plot-simulation): Pipe data to the
8400 elite python skript.
8402 * tests/network-clock-utils.scm (define-parameter): New macro,
8403 defines a parameter that can be set via the command line.
8404 (set-parameter!, parse-parameter-arguments): Command line args
8407 * tests/plot-data: Simple matplotlib-based plotter, takes input on
8410 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
8412 * gst/elements/gsttypefindelement.c:
8413 (gst_type_find_element_handle_event):
8414 Don't restart typefinding on a discont.
8415 * gst/gstelement.c: (gst_element_set_state):
8417 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
8418 Allow changing mode of an active pad.
8420 * gst/registries/gstlibxmlregistry.c: (load_feature):
8421 Don't cast a static pad template to a normal pad template.
8423 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
8425 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
8426 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8427 remove gst_strtoll completely, since it didn't actually do
8428 anything more than what g_ascii_strtoull already does.
8429 check for range errors when deserializing
8430 do a cast for the unsigned cases; but further fixing needs
8431 a decision on what the interpretation of "(int)" and
8432 deserialization should be for values that fall outside the
8433 type's boundaries (ie, refuse, or interpret as casting)
8435 2005-06-23 Wim Taymans <wim@fluendo.com>
8437 * check/Makefile.am:
8438 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
8439 * docs/design/part-live-source.txt:
8440 * docs/design/part-states.txt:
8441 * gst/base/gstbasesrc.c: (gst_basesrc_init),
8442 (gst_basesrc_set_live), (gst_basesrc_is_live),
8443 (gst_basesrc_get_range), (gst_basesrc_activate),
8444 (gst_basesrc_change_state):
8445 * gst/base/gstbasesrc.h:
8446 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8447 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
8448 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
8449 * gst/gstelement.c: (gst_element_get_state_func),
8450 (gst_element_set_state):
8453 * tools/gst-launch.c: (event_loop), (main):
8454 Added support for live sources and other elements that
8456 Updated design docs, added live-source design doc.
8457 Implemented live source functionality in basesrc
8458 Fix error condition in _bin_get_state()
8459 Implement live source handling in -launch.
8460 Added check for live sources.
8461 Fixed case in GstBin where elements were changed state
8465 2005-06-23 Andy Wingo <wingo@pobox.com>
8467 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
8470 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
8471 gst_caps_replace takes care of this for us.
8473 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
8474 gst_pad_set_caps on the target, not just its setcaps() function.
8476 * tests/network-clock.scm:
8477 * tests/network-clock-utils.scm: A network clock simulator.
8478 Something of an algorithmic testbed before doing something in C.
8480 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
8482 * check/Makefile.am:
8483 * check/gst/capslist.h:
8484 copy over from 0.8, and add two with bitmasks specified with
8486 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
8487 add test to parse everything from capslist.h
8488 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
8490 add test for structure deserialization
8491 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
8492 add tests for deserialization of strings to int types
8493 * gst/gststructure.c: (gst_structure_nth_field_name):
8494 * gst/gststructure.h:
8495 add a way to get the name of a field referenced by index
8496 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8497 instead of checking if the resulting long long lies between
8498 min and max, we check if the long long would fit into
8499 a number of bytes for the final type.
8500 This fixes cases where a string represents 2^32 - 1, which
8501 when cast to int would be the (valid) -1, but is bigger than
8504 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
8506 * gst/parse/grammar.y:
8507 add a log line for type deserialization
8509 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
8511 * check/gst/gstvalue.c: (START_TEST):
8512 * gst/gstvalue.c: (gst_value_deserialize):
8513 return long long, not int, so gint64 deserialization actually
8514 works. Is there any flag that makes the compiler check this ?
8517 2005-06-22 Wim Taymans <wim@fluendo.com>
8520 Added convenience macros for setting buffers in GValue.
8522 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
8524 * check/gst/.cvsignore:
8525 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
8526 add a test deserializing int64, and comment part out because
8529 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
8531 * check/Makefile.am:
8532 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
8533 * testsuite/Makefile.am:
8534 * testsuite/caps/Makefile.am:
8535 * testsuite/caps/value_serialize.c:
8536 * testsuite/test_gst_init.c:
8537 move a value_serialize test over
8539 2005-06-20 Wim Taymans <wim@fluendo.com>
8544 * gst/gstvalue.c: (gst_value_compare_buffer),
8545 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
8546 (gst_value_compare_flags), (gst_value_serialize_flags),
8547 (gst_value_deserialize_flags), (_gst_value_initialize):
8548 Fix serialisation of buffers, they are not boxed types anymore
8550 2005-06-20 Wim Taymans <wim@fluendo.com>
8552 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
8553 Testcase to show error in buffer-on-caps serialisation.
8555 2005-06-20 Andy Wingo <wingo@pobox.com>
8557 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
8558 will be adding to later.
8560 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
8561 if its socks fill with rocks.
8562 (gst_system_clock_obtain): Set the name on object construction.
8563 Avoid double-checked locking.
8565 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
8567 * gst/gsturi.c: (gst_element_make_from_uri):
8568 Fix potential endless loop.
8570 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
8572 * check/Makefile.am:
8574 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
8576 move over from testsuite dir and clean up
8579 * testsuite/Makefile.am:
8580 * testsuite/tags/.cvsignore:
8581 * testsuite/tags/Makefile.am:
8582 * testsuite/tags/merge.c:
8583 remove testsuite/tags
8585 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
8587 * docs/gst/gstreamer-sections.txt:
8588 * docs/gst/tmpl/gstenumtypes.sgml:
8589 * win32/gstenumtypes.c:
8590 clean up documentation build a little
8592 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
8595 add macros for checking refcounts on objects and caps
8596 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
8597 add some more unit tests
8598 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8599 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
8600 fix leaked refcounts (I hope :)) so unittest works
8604 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
8606 * configure.ac: back to HEAD
8608 === release 0.9.1 ===
8610 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
8616 2005-06-17 Andy Wingo <wingo@pobox.com>
8618 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
8619 assert; it's always possible that the pad gets deactivated in
8620 between the checks in gstpad.c and the implementation. Rely on
8621 finish_preroll() to return a FLUSHING or similar instead of on the
8624 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
8625 clock and post an EOS message if we come out of finish_preroll in
8628 2005-06-16 David Schleef <ds@schleef.org>
8630 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8631 (gst_capsfilter_set_property): Allow NULL as possible value
8632 for filter_caps property, indicating GST_CAPS_ANY.
8634 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
8636 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
8638 * gst/schedulers/Makefile.am:
8640 * gstreamer.spec.in:
8643 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
8645 * gstreamer.spec.in:
8648 2005-06-08 Andy Wingo <wingo@pobox.com>
8650 * gst/gstutils.c: RPAD fixes all around.
8651 (gst_element_link_pads): Refcounting fixes.
8653 * tools/gst-inspect.c:
8654 * tools/gst-xmlinspect.c:
8656 * gst/base/gsttypefindhelper.c:
8657 * gst/base/gstbasesink.c:
8658 * gst/gstqueue.c: RPAD fixes.
8660 * gst/gstghostpad.h:
8661 * gst/gstghostpad.c: New ghost pad implementation as full proxy
8662 pads. The tricky thing is they provide both source and sink
8663 interfaces, since they proxy the internal pad for the external
8664 pad, and vice versa. Implement with lower-level ProxyPad objects,
8665 with the interior proxy pad as a child of the exterior ghost pad.
8666 Should write a doc on this.
8668 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
8669 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
8672 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
8673 pads are real pads. No ghost pads in this file. Not documenting
8674 the myriad s/RPAD/PAD/ and REALIZE fixes.
8675 (gst_pad_class_init): Add properties for "direction" and
8676 "template". Both are construct-only, so they can't change during
8677 the life of the pad. Fixes properly deriving from GstPad.
8678 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
8679 derived objects, just set properties when creating the objects via
8681 (gst_pad_get_parent): Implement as a function, return NULL if the
8682 parent is not an element.
8683 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
8684 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
8686 * gst/gstobject.c (gst_object_class_init): Make name a construct
8687 property. Don't set it in the object init.
8689 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
8690 with UNKNOWN direction.
8691 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
8692 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
8693 (gst_element_remove_pad): Remove ghost-pad special cases.
8694 (gst_element_pads_activate): Remove rpad cruft.
8696 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
8697 catch the pad's-parent-not-an-element case.
8699 * gst/gst.h: Include gstghostpad.h.
8701 * gst/gst.c (init_post): No more real, ghost pads.
8703 * gst/Makefile.am: Add gstghostpad.[ch].
8705 * check/Makefile.am:
8706 * check/gst/gstbin.c:
8707 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
8708 into a bin creates ghost pads, and that the refcounts are right.
8709 Partly moved from gstbin.c.
8711 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
8713 * check/gst-libs/.cvsignore:
8714 * check/gst/.cvsignore:
8715 * check/pipelines/.cvsignore:
8717 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
8718 (START_TEST), (cleanup_suite), (main):
8719 add some tests related to cleanup after running pipelines
8721 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
8723 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
8724 add a testsuite for GstBuffer
8726 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
8728 * gst/gstminiobject.h:
8729 add defines for accessing the refcount
8731 2005-06-03 Stefan Kost <ensonic@users.sf.net>
8733 * Makefile.am: added support for html unit test coverage reports
8735 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
8737 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8738 Free existing caps if the capsfilter changes. Add a FIXME about
8739 setting those caps on the pads.
8741 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
8742 Before adding a ghost pad to a parent bin, check that there isn't
8743 already one for the element on the bin. Prevents infinite recursion
8744 when using decodebin in parse pipelines. Andy says he'll rewrite the
8745 way this works anyway, so ignore the hack.
8747 2005-06-02 Andy Wingo <wingo@pobox.com>
8749 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
8750 file size, pass it on to the type find helper.
8752 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
8753 segment_start and segment_end properly according to the seek
8754 method. Segment_end is still a bit flaky because offset can be
8755 negative for CUR and END cases, but it takes -1 as an "unset"
8758 2005-06-02 Wim Taymans <wim@fluendo.com>
8760 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
8761 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
8762 (gst_basesink_activate):
8763 * gst/base/gstbasesink.h:
8764 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
8765 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
8766 (gst_pad_query), (gst_pad_start_task):
8768 * gst/gstqueue.c: (gst_queue_bufferalloc),
8769 (gst_queue_handle_sink_event), (gst_queue_chain):
8770 Bufferalloc: return GstFlowReturn to more accuratly report
8771 why allocation failed.
8773 2005-06-02 Wim Taymans <wim@fluendo.com>
8775 * gst/gstpipeline.c: (gst_pipeline_send_event):
8776 Take snapshot of state without blocking.
8778 2005-06-02 Wim Taymans <wim@fluendo.com>
8780 * docs/design/part-TODO.txt:
8781 * docs/design/part-caps.txt:
8782 * docs/design/part-clocks.txt:
8783 * docs/design/part-negotiation.txt:
8784 * docs/design/part-preroll.txt:
8787 2005-05-30 Wim Taymans <wim@fluendo.com>
8789 * gst/elements/gstidentity.c: (gst_identity_event),
8790 (gst_identity_transform), (gst_identity_get_property):
8791 Protect last_message property as it is accessed from
8794 2005-05-30 Wim Taymans <wim@fluendo.com>
8796 * gst/gstelement.c: (gst_element_init),
8797 (gst_element_pads_activate), (gst_element_change_state):
8798 Slicker pad activation code.
8800 2005-05-30 Wim Taymans <wim@fluendo.com>
8804 * gst/gstelementfactory.h:
8806 Move elementfactory methods to separate .h file.
8808 2005-05-30 Wim Taymans <wim@fluendo.com>
8810 * docs/design/part-overview.txt:
8811 * gst/gstsystemclock.h:
8812 Small typo fixes, doc updates.
8814 2005-05-30 Wim Taymans <wim@fluendo.com>
8816 * gst/gst.c: (gst_init_get_popt_table), (init_post),
8817 (init_popt_callback):
8818 Remove cpu-opt flag.
8820 2005-05-30 Wim Taymans <wim@fluendo.com>
8822 * gst/gstbuffer.c: (gst_subbuffer_finalize),
8823 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
8825 Avoid typechecking in places where not needed.
8826 Added accessor for malloc_data.
8828 2005-05-30 Wim Taymans <wim@fluendo.com>
8830 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
8831 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
8832 (gst_pad_configure_sink), (gst_pad_configure_src),
8833 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
8834 (gst_pad_start_task):
8835 Propagate errors from _set_caps() in configure_src/sink
8836 functions instead of returning TRUE.
8837 FLUSH events can travel up and downstream
8840 2005-05-30 Wim Taymans <wim@fluendo.com>
8842 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
8843 (gst_basesink_activate):
8844 Handle EOS in preroll.
8846 2005-05-30 Wim Taymans <wim@fluendo.com>
8848 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8849 (gst_queue_loop), (gst_queue_handle_src_event):
8850 Remove old pieces of code
8851 Flushing the queue in an upstream event is a very bad idea.
8853 2005-05-26 Andy Wingo <wingo@pobox.com>
8855 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
8856 gst_value_set_mini_object so as to add a ref on the object (which
8857 will be removed when the value is unset).
8859 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
8860 arg type in ::handoff.
8862 * gst/gstelement.c (gst_element_change_state): Also deactivate
8863 pads in READY->NULL, just in case the element didn't make it to
8864 PAUSED. Wingo tested, Wim approved.
8866 2005-05-26 Wim Taymans <wim@fluendo.com>
8868 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
8869 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
8870 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
8871 A flushing pad cannot be used to alloc_buffer from.
8873 2005-05-26 Wim Taymans <wim@fluendo.com>
8875 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
8876 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
8877 (gst_bus_source_dispatch), (gst_bus_source_finalize),
8878 (gst_bus_create_watch), (gst_bus_add_watch_full):
8880 Implement a real GSource and use g_main_context_wakeup() to
8881 signal new messages instead of the socketpair.
8883 2005-05-25 Wim Taymans <wim@fluendo.com>
8885 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
8886 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
8887 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
8888 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
8889 (gst_pad_send_event), (gst_pad_start_task):
8890 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
8891 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8892 (gst_queue_sink_activate), (gst_queue_src_activate),
8893 (gst_queue_change_state):
8895 Fix state changes for non sinks. We now change sinks, then elements
8896 with unconnected srcpads, then the rest.
8897 More efficient queue unlocking in flush and state changes.
8898 Set the pad activate mode even if it does not have an activate
8901 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8903 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
8904 Don't go in pull mode for non-seekable sources.
8905 * gst/elements/gsttypefindelement.h:
8906 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
8907 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
8908 (free_entry), (stop_typefinding),
8909 (gst_type_find_element_handle_event), (find_peek),
8910 (gst_type_find_element_chain), (do_pull_typefind),
8911 (gst_type_find_element_change_state):
8912 Allow typefinding (w/o seeking) in push-mode, simplified version
8914 * gst/gstutils.c: (gst_buffer_join):
8916 gst_buffer_join() from 0.8.
8918 2005-05-25 Wim Taymans <wim@fluendo.com>
8920 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
8921 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
8922 (gst_pad_send_event), (gst_pad_start_task):
8923 Disable attempt at mode switching until it is figured out.
8925 2005-05-25 Wim Taymans <wim@fluendo.com>
8927 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
8928 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
8929 (gst_basesink_finish_preroll), (gst_basesink_chain),
8930 (gst_basesink_loop), (gst_basesink_activate),
8931 (gst_basesink_change_state):
8932 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
8933 (gst_basesrc_get_range), (gst_basesrc_loop),
8934 (gst_basesrc_activate):
8935 * gst/elements/gsttee.c: (gst_tee_sink_activate):
8936 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
8937 (gst_real_pad_init), (gst_real_pad_set_property),
8938 (gst_real_pad_get_property), (gst_pad_set_active),
8939 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
8940 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
8941 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
8942 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
8943 (gst_pad_event_default_dispatch), (gst_pad_event_default),
8944 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
8945 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
8946 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
8947 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
8948 (gst_pad_stop_task):
8950 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8951 (gst_queue_loop), (gst_queue_src_activate):
8952 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
8953 (gst_task_get_state):
8955 * gst/schedulers/threadscheduler.c:
8956 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
8957 Implement gst_pad_pause/start/stop_task(), take STREAM lock
8959 Remove ACTIVE pad flag, use FLUSHING everywhere
8960 Added _pad_chain(), _pad_get_range() to call chain/getrange
8962 Add locks around IS_FLUSHING when reading.
8963 Take STREAM lock in chain(), get_range() functions so plugins
8964 don't need to take it anymore.
8968 2005-05-25 Wim Taymans <wim@fluendo.com>
8970 * tools/gst-launch.c: (event_loop):
8971 Unref message after using its contents instead of
8974 2005-05-24 Wim Taymans <wim@fluendo.com>
8976 * docs/design/draft-ghostpads.txt:
8977 * docs/design/draft-push-pull.txt:
8978 * docs/design/draft-query.txt:
8979 * docs/design/part-overview.txt:
8980 Docs updates, added general overview doc.
8982 2005-05-21 David Schleef <ds@schleef.org>
8984 * docs/gst/tmpl/old/GstBin.sgml:
8985 * docs/gst/tmpl/old/GstBuffer.sgml:
8986 * docs/gst/tmpl/old/GstCaps.sgml:
8987 * docs/gst/tmpl/old/GstClock.sgml:
8988 * docs/gst/tmpl/old/GstCompat.sgml:
8989 * docs/gst/tmpl/old/GstData.sgml:
8990 * docs/gst/tmpl/old/GstElement.sgml:
8991 * docs/gst/tmpl/old/GstEvent.sgml:
8992 * docs/gst/tmpl/old/GstIndex.sgml:
8993 * docs/gst/tmpl/old/GstStructure.sgml:
8994 * docs/gst/tmpl/old/GstTag.sgml:
8995 * docs/gst/tmpl/old/cothreads.sgml:
8996 * docs/gst/tmpl/old/cothreads_compat.sgml:
8997 * docs/gst/tmpl/old/gettext.sgml:
8998 * docs/gst/tmpl/old/gobject2gtk.sgml:
8999 * docs/gst/tmpl/old/grammar.tab.sgml:
9000 * docs/gst/tmpl/old/gst-i18n-app.sgml:
9001 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
9002 * docs/gst/tmpl/old/gst_private.sgml:
9003 * docs/gst/tmpl/old/gstaggregator.sgml:
9004 * docs/gst/tmpl/old/gstarch.sgml:
9005 * docs/gst/tmpl/old/gstatomic_impl.sgml:
9006 * docs/gst/tmpl/old/gstbufferstore.sgml:
9007 * docs/gst/tmpl/old/gstdata_private.sgml:
9008 * docs/gst/tmpl/old/gstdisksink.sgml:
9009 * docs/gst/tmpl/old/gstdisksrc.sgml:
9010 * docs/gst/tmpl/old/gstelementfactory.sgml:
9011 * docs/gst/tmpl/old/gstextratypes.sgml:
9012 * docs/gst/tmpl/old/gstfakesink.sgml:
9013 * docs/gst/tmpl/old/gstfakesrc.sgml:
9014 * docs/gst/tmpl/old/gstfdsink.sgml:
9015 * docs/gst/tmpl/old/gstfdsrc.sgml:
9016 * docs/gst/tmpl/old/gstfilesink.sgml:
9017 * docs/gst/tmpl/old/gstfilesrc.sgml:
9018 * docs/gst/tmpl/old/gsthttpsrc.sgml:
9019 * docs/gst/tmpl/old/gstidentity.sgml:
9020 * docs/gst/tmpl/old/gstindexfactory.sgml:
9021 * docs/gst/tmpl/old/gstmarshal.sgml:
9022 * docs/gst/tmpl/old/gstmd5sink.sgml:
9023 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9024 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9025 * docs/gst/tmpl/old/gstpadtemplate.sgml:
9026 * docs/gst/tmpl/old/gstpipefilter.sgml:
9027 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9028 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9029 * docs/gst/tmpl/old/gstshaper.sgml:
9030 * docs/gst/tmpl/old/gstspider.sgml:
9031 * docs/gst/tmpl/old/gstspideridentity.sgml:
9032 * docs/gst/tmpl/old/gststatistics.sgml:
9033 * docs/gst/tmpl/old/gsttee.sgml:
9034 * docs/gst/tmpl/old/gsttimecache.sgml:
9035 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9036 * docs/gst/tmpl/old/gstxmlregistry.sgml:
9037 * docs/gst/tmpl/old/gthread-cothreads.sgml:
9038 * docs/gst/tmpl/old/types.sgml:
9039 I didn't intend to add these or check them in.
9041 2005-05-19 David Schleef <ds@schleef.org>
9043 * configure.ac: Use -no-common everywhere. In a sane world, it
9044 would be the default in libtool, because without it, you can't
9045 build DLLs on Windows.
9046 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
9047 * docs/gst/gstreamer-sections.txt:
9048 * docs/gst/tmpl/gstcpu.sgml:
9049 * docs/gst/tmpl/gstdata.sgml:
9050 * docs/gst/tmpl/gstthread.sgml:
9052 2005-05-19 David Schleef <ds@schleef.org>
9054 * gst/gstminiobject.c: (gst_value_set_mini_object),
9055 (gst_value_take_mini_object), (gst_value_get_mini_object):
9056 * gst/gstminiobject.h: Add GValue set/get functions.
9058 2005-05-19 Wim Taymans <wim@fluendo.com>
9060 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
9061 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
9062 (gst_subbuffer_init), (gst_buffer_is_span_fast):
9064 * gst/gstbus.c: (gst_bus_post):
9065 * gst/gstelement.c: (gst_element_get_random_pad):
9066 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
9067 Make subbufer unref the parent in finalize.
9068 some more debugging info.
9071 2005-05-19 Wim Taymans <wim@fluendo.com>
9073 * gst/base/gstbasesink.c: (gst_basesink_class_init),
9074 (gst_basesink_init), (gst_basesink_finalize),
9075 (gst_basesink_activate), (gst_basesink_change_state):
9076 Don't free preroll queue too early.
9078 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9082 Hi, I'm outdated. Please shoot me.
9084 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9086 * gst/gstpipeline.c: (gst_pipeline_send_event):
9087 Do not access variables after they have been deleted.
9089 2005-05-19 Wim Taymans <wim@fluendo.com>
9091 * tools/gst-inspect.c: (print_plugin_features):
9092 A plugin feature does unfortunatly not use the
9095 2005-05-18 Wim Taymans <wim@fluendo.com>
9097 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
9098 Port _span() functions to new subbuffers.
9100 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9102 * gst/gstbin.c: (gst_bin_add_func):
9103 Fix clock settery in bins when adding kids after the clock has
9106 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9108 * gst/elements/gstidentity.c: (gst_identity_class_init):
9109 Workaround until signals support GstMiniObject.
9111 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
9114 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
9116 2005-05-18 Wim Taymans <wim@fluendo.com>
9118 * gst/base/Makefile.am:
9119 * gst/base/gstadapter.c: (gst_adapter_base_init),
9120 (gst_adapter_class_init), (gst_adapter_init),
9121 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
9122 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
9123 (gst_adapter_flush), (gst_adapter_available),
9124 (gst_adapter_available_fast):
9125 * gst/base/gstadapter.h:
9126 Ported and added adapter to the base classes.
9128 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9132 Make sure the class is reffed/unreffed once before threads can be
9133 used. Fixes #304551.
9135 2005-05-17 Wim Taymans <wim@fluendo.com>
9137 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
9138 (gst_basesink_chain_unlocked), (gst_basesink_activate):
9139 * gst/gstminiobject.c: (gst_mini_object_get_type),
9140 (gst_mini_object_free):
9141 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
9142 (gst_pad_push), (gst_pad_push_event):
9143 * gst/gstqueue.c: (gst_queue_change_state):
9144 Don't queue buffers in basesink when we are flushing.
9145 Unref buffer when flushing in basesink.
9146 Flush queue when going to READY
9147 Unref buffer when _push() returns an error.
9148 Don't free MiniObject instance when refcount is incremented
9149 in _finalize() so that we can recover objects.
9151 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
9153 * docs/manual/advanced-schedulers.xml:
9154 * docs/manual/appendix-checklist.xml:
9155 * docs/pwg/advanced-clock.xml:
9156 * docs/pwg/advanced-interfaces.xml:
9157 * docs/pwg/advanced-request.xml:
9158 * docs/pwg/advanced-types.xml:
9159 * docs/pwg/intro-preface.xml:
9160 * examples/plugins/example.c: (gst_example_get_type),
9161 (gst_example_class_init), (gst_example_chain),
9162 (gst_example_set_property), (gst_example_get_property),
9163 (gst_example_change_state), (plugin_init):
9164 * examples/plugins/example.h:
9167 2005-05-17 Wim Taymans <wim@fluendo.com>
9169 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
9170 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
9171 * gst/gstqueue.c: (gst_queue_change_state):
9172 Clear queue when going to READY.
9173 Remove IN_SETCAPS flag too.
9175 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
9177 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
9178 Remove implicit cast from gboolean to GstElementStateReturn;
9179 make sure we still return failure in paused => ready case if
9180 the parent class fails to change state and our own stop
9183 2005-05-17 Wim Taymans <wim@fluendo.com>
9185 * tools/gst-launch.c: (event_loop):
9186 Message was unreffed too soon.
9188 2005-05-16 Andy Wingo <wingo@pobox.com>
9190 * gst/gstbin.c (sink_iterator_filter): Err... um...
9192 * check/gst/gstbin.c (test_ghost_pads): New test for the
9193 ghosting-if-elements-not-in-same-bin behavior.
9195 2005-05-16 David Schleef <ds@schleef.org>
9197 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
9198 accessing refcount directly.
9200 2005-05-15 David Schleef <ds@schleef.org>
9202 * check/Makefile.am: remove GstData checks
9203 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
9204 * gst/Makefile.am: add miniobject, remove data
9205 * gst/gst.h: add miniobject, remove data
9206 * gst/gstdata.c: remove
9207 * gst/gstdata.h: remove
9208 * gst/gstdata_private.h: remove
9209 * gst/gsttypes.h: remove GstEvent and GstMessage
9210 * gst/gstelement.c: (gst_element_post_message): fix for API changes
9211 * gst/gstmarshal.list: change BOXED -> OBJECT
9213 Implement GstMiniObject.
9214 * gst/gstminiobject.c:
9215 * gst/gstminiobject.h:
9217 Modify to be subclasses of GstMiniObject.
9218 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9219 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
9220 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
9221 (gst_subbuffer_get_type), (gst_subbuffer_init),
9222 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
9225 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
9226 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
9227 (_gst_event_copy), (gst_event_new):
9229 * gst/gstmessage.c: (_gst_message_initialize),
9230 (gst_message_get_type), (gst_message_class_init),
9231 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
9232 (gst_message_new), (gst_message_new_error),
9233 (gst_message_new_warning), (gst_message_new_tag),
9234 (gst_message_new_state_changed), (gst_message_new_application):
9236 * gst/gstprobe.c: (gst_probe_perform),
9237 (gst_probe_dispatcher_dispatch):
9239 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
9240 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
9241 (_gst_query_copy), (gst_query_new):
9243 Update elements for GstData -> GstMiniObject changes
9245 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
9246 (gst_queue_chain), (gst_queue_loop):
9247 * gst/elements/gstbufferstore.c:
9248 (gst_buffer_store_add_buffer_func),
9249 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
9250 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
9251 (gst_fakesink_render):
9252 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9253 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
9254 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
9255 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
9256 (gst_filesrc_create_read):
9257 * gst/elements/gstidentity.c: (gst_identity_class_init):
9258 * gst/elements/gsttypefindelement.c:
9259 (gst_type_find_element_src_event), (free_entry_buffers),
9260 (gst_type_find_element_handle_event):
9261 * libs/gst/dataprotocol/dataprotocol.c:
9262 (gst_dp_header_from_buffer):
9263 * libs/gst/dataprotocol/dataprotocol.h:
9264 * libs/gst/dataprotocol/dp-private.h:
9266 2005-05-15 David Schleef <ds@schleef.org>
9268 * gst/elements/gstelements.c: Don't include headers that were
9271 2005-05-15 David Schleef <ds@schleef.org>
9273 * gst/elements/Makefile.am: Remove some elements that don't
9274 need to be in the core (or even exist at all).
9275 * gst/elements/gstaggregator.c:
9276 * gst/elements/gstaggregator.h:
9277 * gst/elements/gstmd5sink.c:
9278 * gst/elements/gstmd5sink.h:
9279 * gst/elements/gstmultifilesrc.c:
9280 * gst/elements/gstmultifilesrc.h:
9281 * gst/elements/gstpipefilter.c:
9282 * gst/elements/gstpipefilter.h:
9283 * gst/elements/gstshaper.c:
9284 * gst/elements/gstshaper.h:
9285 * gst/elements/gststatistics.c:
9286 * gst/elements/gststatistics.h:
9287 * po/POTFILES.in: Remove above files.
9289 2005-05-14 Andy Wingo <wingo@pobox.com>
9291 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
9292 so as to get the refs right.
9293 (sink_iterator_filter): New function, wraps bin_element_is_sink,
9294 unreffing objects that don't pass the filter.
9296 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
9297 gst_element_set_bus.
9298 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
9299 normal cases, this will destroy the bus.
9301 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
9304 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
9307 2005-05-13 Andy Wingo <wingo@pobox.com>
9309 * gst/gstutils.c (gst_element_link_pads): Instead of calling
9310 gst_pad_link, call pad_link_maybe_ghosting,
9311 (pad_link_maybe_ghosting): Links pads, making sure that the
9312 elements being linked are in the same bin.
9313 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
9314 Helpers for pad_link_maybe_ghosting.
9316 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
9319 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
9321 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
9323 * docs/design/part-element-source.txt:
9326 2005-05-12 Wim Taymans <wim@fluendo.com>
9328 * gst/base/gstbasesink.c: (gst_basesink_init),
9329 (gst_basesink_activate):
9330 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
9331 (gst_basesrc_is_seekable):
9332 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9333 (bin_element_is_sink), (gst_bin_change_state):
9334 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
9336 Identify sinks by their flag to avoid overly complicated
9338 Do state changes even for elements not reachable from the
9340 BaseSink is a sink now :)
9341 Some more debugging info in the basesrc.
9344 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9346 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
9347 Implement _query on a bin, similar to _send_event.
9349 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
9351 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
9352 Discont event offset format should be GST_FORMAT_BYTES,
9353 not GST_FORMAT_TIME.
9355 2005-05-12 Wim Taymans <wim@fluendo.com>
9357 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
9358 Same fix as Ronald's but without the signal.
9360 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9362 * gst/gstutils.c: (gst_element_query_position):
9363 No, an element is not a pad.
9365 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9367 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
9368 (gst_bin_get_state):
9369 If a child is removed from a bin while we remove the child from
9370 the bin and while we're retrieving its state, signal this to the
9371 get_state function so we abort the wait (instead of waiting for
9372 a timeout) and can immediately re-iterate over all other elements.
9374 2005-05-12 Wim Taymans <wim@fluendo.com>
9376 * gst/base/Makefile.am:
9377 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
9378 (gst_basesrc_start):
9379 * gst/base/gstbasesrc.h:
9380 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
9381 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
9382 (gst_pushsrc_init), (gst_pushsrc_create):
9383 * gst/base/gstpushsrc.h:
9384 Added is_seekable to BaseSrc
9385 Added simple PushSrc.
9387 2005-05-11 Wim Taymans <wim@fluendo.com>
9389 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
9390 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9391 (gst_element_link_pads), (gst_element_query_position),
9392 (gst_element_query_convert), (intersect_caps_func),
9393 (gst_pad_query_position), (gst_pad_query_convert):
9394 Fix refcounting in utils function.
9395 No point in trying to activate a pad when it's added, it could
9396 be added from the state change function and then we deadlock, the
9397 element has to decide what to do.
9399 2005-05-10 Andy Wingo <wingo@pobox.com>
9401 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
9402 *all* the arguments.
9404 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
9405 stream lock if it's a FLUSH_DONE; normal flushes don't get the
9406 lock (according to the docs -- if this is wrong change the docs).
9408 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
9409 flush messages in the NULL state.
9411 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
9412 message immediately and return.
9413 (gst_bus_set_flushing): New function. If a bus is flushing, it
9414 flushes out any queued messages and immediately unrefs new
9415 messages. This is so when an element goes to NULL, all of the
9416 unhandled messages coming from it can be freed, and their
9417 references to the element dropped. In other words: message source
9418 ref considered harmful :P
9420 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
9421 we're finished with it.
9423 * gst/gstmessage.c (gst_message_new_state_changed):
9425 2005-05-10 Wim Taymans <wim@fluendo.com>
9427 * gst/gstvalue.c: (gst_value_compare_flags),
9428 (gst_value_serialize_flags), (gst_value_deserialize_flags),
9429 (_gst_value_initialize):
9430 Added flags serialize/deserialize/compare code.
9432 2005-05-09 Andy Wingo <wingo@pobox.com>
9434 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
9435 Intersect the peer's caps with our caps.
9437 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9439 * gst/base/gsttypefindhelper.c: (helper_find_peek):
9440 * gst/elements/gsttypefindelement.c: (find_peek):
9441 Handle negative offsets better. Fixes decodebin.
9443 2005-05-09 Wim Taymans <wim@fluendo.com>
9445 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
9446 (gst_base_transform_event):
9447 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
9448 Implement accept_caps.
9449 Fix silly lock/unlock mismatch in base class.
9451 2005-05-09 Wim Taymans <wim@fluendo.com>
9453 * docs/design/draft-push-pull.txt:
9454 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
9455 * gst/elements/gstfilesink.c: (gst_filesink_init),
9456 (gst_filesink_query):
9457 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
9458 (gst_type_find_handle_src_query), (find_element_get_length):
9459 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
9463 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
9464 (gst_real_pad_get_caps_unlocked),
9465 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
9466 (gst_pad_event_default_dispatch), (gst_pad_event_default),
9467 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
9468 (gst_real_pad_dispose), (gst_real_pad_finalize),
9469 (gst_pad_load_and_link), (gst_pad_save_thyself),
9470 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
9471 (gst_pad_check_pull_range), (gst_pad_pull_range),
9472 (gst_pad_template_get_type), (gst_pad_template_class_init),
9473 (gst_pad_template_init), (gst_pad_template_dispose),
9474 (name_is_valid), (gst_static_pad_template_get),
9475 (gst_pad_template_new), (gst_static_pad_template_get_caps),
9476 (gst_pad_template_get_caps), (gst_pad_set_element_private),
9477 (gst_pad_get_element_private), (gst_pad_start_task),
9478 (gst_pad_pause_task), (gst_pad_stop_task),
9479 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
9480 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
9481 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
9482 (gst_ghost_pad_new):
9484 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
9485 (gst_query_new_position), (gst_query_set_position),
9486 (gst_query_parse_position), (gst_query_new_convert),
9487 (gst_query_set_convert), (gst_query_parse_convert):
9489 * gst/gstqueryutils.c:
9490 * gst/gstqueryutils.h:
9491 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
9492 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
9493 (gst_queue_handle_src_query):
9494 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9495 (gst_element_query_position), (gst_element_query_convert),
9496 (intersect_caps_func), (gst_pad_query_position),
9497 (gst_pad_query_convert):
9499 * tools/gst-inspect.c: (print_pad_info):
9500 * tools/gst-xmlinspect.c: (print_element_info):
9501 Remove old query functions. Ported old code.
9502 Added position/convert helper functions to gstutils.
9503 Reordered gstpad.c code, grouping relevant things.
9504 Remove gst_message_new(), always need to speficy a specific
9508 2005-05-09 Andy Wingo <wingo@pobox.com>
9510 * gst/gstiterator.h: Add some includes.
9512 * gst/gstqueryutils.h: Include more headers.
9515 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
9516 some uses of gst_pad_query.
9518 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
9519 NULL out parameters.
9520 (gst_query_new_position): New proc, allocates a new position
9523 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
9524 gstqueryutils.c to the build.
9526 * gst/gststructure.c (gst_structure_set_valist): Implement with
9527 the generic G_VALUE_COLLECT.
9529 2005-05-08 Edward Hervey <bilboed@bilboed.com>
9531 * gst/Makefile.am: (gst_headers):
9532 Added gstqueryutils.h to the list of headers to install, that was
9533 a 'nachty' move wingo :)
9535 2005-05-06 Andy Wingo <wingo@pobox.com>
9538 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
9539 GstData, init a memchunk.
9540 (standard_definitions): Add a few query types, deprecate a few.
9541 (gst_query_get_type): New proc.
9542 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
9544 (gst_query_new_application, gst_query_get_structure): New public
9547 * docs/design/draft-query.txt: Removed LINKS from the query types,
9548 because all the rest can be dispatched to other pads -- seemed
9549 ugly to have a query that couldn't be dispatched. internal_links
9550 is fine as a pad method.
9552 * gst/gstpad.h: Add query2 as a pad method, add the new functions
9553 in gstpad.c, but maintain binary compatibility for the moment.
9554 Will fix before 0.9 is out.
9556 * gst/gstqueryutils.c:
9557 * gst/gstqueryutils.h: New files, implement 3 methods for each
9558 query type: parse_query, parse_response, and set. Probably need an
9561 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
9563 * gst/elements/gstfilesink.c (gst_filesink_query2):
9564 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
9565 query_types, and formats methods.
9567 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
9568 (gst_pad_set_query2_function): New functions.
9569 (gst_real_pad_init): Set query2_default as the default query2
9570 function. Basically just dispatches to internally linked pads.
9574 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
9575 without using the atomic operations. Only one thread can possibly
9576 be accessing the data at this point. Changed so as to avoid
9577 gst_atomic operations.
9579 2005-05-06 Wim Taymans <wim@fluendo.com>
9581 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
9582 Also set caps if we use the fallback buffer alloc.
9584 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
9586 * docs/gst/Makefile.am:
9587 * docs/gst/gstreamer-docs.sgml:
9588 * docs/gst/gstreamer-sections.txt:
9589 * docs/gst/tmpl/gstatomic.sgml:
9590 * docs/gst/tmpl/gstmemchunk.sgml:
9591 * testsuite/elements/struct_i386.h:
9592 * win32/GStreamer.vcproj:
9594 Purge GstAtomic stuff from docs and win32 makefiles as well
9596 2005-05-06 Wim Taymans <wim@fluendo.com>
9598 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
9599 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
9600 * gst/gstpad.c: (gst_pad_peer_get_caps):
9601 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
9602 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
9603 (gst_queue_src_activate), (gst_queue_change_state):
9605 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9606 (intersect_caps_func):
9607 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
9608 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
9609 Some fixes for the peer_get_caps() change.
9611 2005-05-06 Wim Taymans <wim@fluendo.com>
9613 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
9614 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
9615 (gst_basesink_activate):
9616 Actually do something with error codes returned from the push
9619 2005-05-06 Wim Taymans <wim@fluendo.com>
9621 * docs/design/part-element-sink.txt:
9622 * docs/design/part-element-source.txt:
9623 * gst/base/gstbasesink.c: (gst_basesink_class_init),
9624 (gst_basesink_event), (gst_basesink_activate):
9625 * gst/base/gstbasesink.h:
9626 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
9627 (gst_basesrc_activate):
9628 * gst/base/gstbasesrc.h:
9629 * gst/gstelement.c: (gst_element_pads_activate):
9630 Some more documentation.
9631 Fixed scheduling decision in _pads_activate().
9633 2005-05-05 Andy Wingo <wingo@pobox.com>
9635 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
9638 2005-05-05 Wim Taymans <wim@fluendo.com>
9640 * gst/base/Makefile.am:
9641 * gst/base/gstbasesink.h:
9642 * gst/base/gstbasesrc.c: (gst_basesrc_init),
9643 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
9644 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
9645 (gst_collectpads_class_init), (gst_collectpads_init),
9646 (gst_collectpads_finalize), (gst_collectpads_new),
9647 (gst_collectpads_set_function), (gst_collectpads_add_pad),
9648 (find_pad), (gst_collectpads_remove_pad),
9649 (gst_collectpads_is_active), (gst_collectpads_collect),
9650 (gst_collectpads_collect_range), (gst_collectpads_start),
9651 (gst_collectpads_stop), (gst_collectpads_peek),
9652 (gst_collectpads_pop), (gst_collectpads_available),
9653 (gst_collectpads_read), (gst_collectpads_flush),
9654 (gst_collectpads_chain):
9655 * gst/base/gstcollectpads.h:
9656 * gst/elements/Makefile.am:
9657 * gst/elements/gstelements.c:
9658 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
9659 (gst_fakesink_get_times), (gst_fakesink_event),
9660 (gst_fakesink_preroll), (gst_fakesink_render):
9661 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9662 (gst_filesink_init), (gst_filesink_set_location),
9663 (gst_filesink_open_file), (gst_filesink_close_file),
9664 (gst_filesink_pad_query), (gst_filesink_event),
9665 (gst_filesink_render), (gst_filesink_change_state):
9666 * gst/elements/gstfilesink.h:
9667 Added object to help in making collect pad based elements.
9669 Make event function in sink baseclass return gboolean.
9671 2005-05-05 Wim Taymans <wim@fluendo.com>
9673 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
9674 (gst_bin_get_by_name):
9676 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
9677 (gst_clock_finalize):
9678 * gst/gstdata.c: (gst_data_replace):
9680 * gst/gstelement.c: (gst_element_request_pad),
9681 (gst_element_pads_activate):
9682 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
9684 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9685 (gst_pad_set_checkgetrange_function),
9686 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
9687 (gst_pad_check_pull_range), (gst_pad_pull_range),
9688 (gst_static_pad_template_get_caps), (gst_pad_start_task),
9689 (gst_pad_pause_task), (gst_pad_stop_task):
9690 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9691 (gst_element_request_pad), (gst_pad_proxy_getcaps):
9692 Fix name lookup in GstBin.
9693 Added _data_replace() function and _buffer_replace()
9694 Use finalize method to clean up clock.
9695 Fix refcounting on request pads.
9696 Fix pad schedule mode error.
9697 Some more object refcounting debug info,
9700 2005-05-04 Andy Wingo <wingo@pobox.com>
9702 * check/Makefile.am:
9703 * docs/gst/tmpl/gstatomic.sgml:
9704 * docs/gst/tmpl/gstplugin.sgml:
9705 * gst/base/gstbasesink.c: (gst_basesink_activate):
9706 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
9707 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
9708 (gst_basesrc_query), (gst_basesrc_set_property),
9709 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
9710 (gst_basesrc_activate):
9711 * gst/base/gstbasesrc.h:
9712 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
9713 (gst_base_transform_src_activate):
9714 * gst/elements/gstelements.c:
9715 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9716 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
9717 * gst/elements/gsttee.c: (gst_tee_sink_activate):
9718 * gst/elements/gsttypefindelement.c: (find_element_get_length),
9719 (gst_type_find_element_checkgetrange),
9720 (gst_type_find_element_activate):
9721 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
9722 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
9723 (gst_caps_load_thyself):
9724 * gst/gstelement.c: (gst_element_pads_activate),
9725 (gst_element_save_thyself), (gst_element_restore_thyself):
9726 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
9727 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
9729 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
9730 (gst_xml_parse_file), (gst_xml_parse_memory),
9731 (gst_xml_get_element), (gst_xml_make_element):
9732 * gst/indexers/gstfileindex.c: (gst_file_index_load),
9733 (_file_index_id_save_xml), (gst_file_index_commit):
9734 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
9735 (read_enum), (load_pad_template), (load_feature), (load_plugin),
9737 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
9738 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
9739 * tools/gst-complete.c: (main):
9740 * tools/gst-compprep.c: (main):
9741 * tools/gst-inspect.c: (print_element_properties_info):
9742 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
9743 * tools/gst-xmlinspect.c: (print_element_properties):
9746 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
9748 * gst/gstplugin.c: (gst_plugin_check_module),
9749 (gst_plugin_check_file), (gst_plugin_load_file):
9750 apply patch from #172526 to make register work on MacOSX
9752 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
9754 * docs/gst/tmpl/gstconfig.sgml:
9755 * gst/gstconfig.h.in:
9756 move documentation for some symbols. Add doc for GST_PTR_FORMAT
9757 * testsuite/debug/printf_extension.c: (main):
9758 Do not use GST_PTR_FORMAT on pointers to types with
9759 sizeof < sizeof(gpointer). Fixes test on 64-bit
9760 * testsuite/elements/property.h:
9761 use correct printf format
9763 2005-05-02 Wim Taymans <wim@fluendo.com>
9765 * docs/design/draft-push-pull.txt:
9766 * docs/design/draft-query.txt:
9767 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
9768 (gst_basesrc_start):
9769 Added draft for new query API.
9770 Added draft for better selecting scheduling methods.
9771 Make basesrc ignore length if the subclass does not support
9774 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
9777 possible fixes for automake-1.5 - _LIBADD is reserved
9779 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
9781 * docs/faq/Makefile.am:
9782 * docs/manual/Makefile.am:
9784 * docs/pwg/Makefile.am:
9786 possible fixes for automake-1.5
9788 2005-04-28 Wim Taymans <wim@fluendo.com>
9790 * gst/base/gstbasesink.c: (gst_basesink_base_init),
9791 (gst_basesink_pad_getcaps), (gst_basesink_init),
9792 (gst_basesink_do_sync):
9793 * gst/gstclock.c: (gst_clock_entry_new):
9794 * gst/gstevent.c: (gst_event_discont_get_value):
9795 * gst/gstpipeline.c: (pipeline_bus_handler),
9796 (gst_pipeline_change_state):
9797 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
9798 Better debugging of clocking info.
9799 Allow NULL values when getting discont values.
9801 2005-04-27 Wim Taymans <wim@fluendo.com>
9803 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
9804 * check/gst/gstpad.c: (gst_pad_suite):
9805 Increase timeout for checks.
9807 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9809 * check/Makefile.am:
9810 fix the broken rule for cleanup. Apparently this rule is
9811 only needed on FC2, so maybe this warrants further autotool
9814 2005-04-26 Wim Taymans <wim@fluendo.com>
9816 * gst/gsttrashstack.h:
9817 Ooohh. a nasty one! After having a failed pop() from the stack,
9818 it's possible that the stack is empty. In that case, don't
9819 follow the NULL pointer.
9821 2005-04-25 Wim Taymans <wim@fluendo.com>
9823 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9824 (gst_pad_set_checkgetrange_function),
9825 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
9826 (gst_pad_check_pull_range), (gst_pad_pull_range),
9827 (gst_static_pad_template_get_caps), (gst_pad_start_task),
9828 (gst_pad_pause_task), (gst_pad_stop_task):
9829 * gst/gstplugin.c: (gst_plugin_load):
9831 Remove gst_library_load as it does more harm than good with
9832 the new g_module flags.
9833 Revert bogus caps template check in pad linking, pad caps
9834 are important when linking not the template, which is more
9835 general than the current caps.
9837 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9839 * gst/autoplug/.cvsignore:
9840 * gst/autoplug/Makefile.am:
9841 * gst/autoplug/gstsearchfuncs.c:
9842 * gst/autoplug/gstsearchfuncs.h:
9843 * gst/autoplug/gstspider.c:
9844 * gst/autoplug/gstspider.h:
9845 * gst/autoplug/gstspideridentity.c:
9846 * gst/autoplug/gstspideridentity.h:
9847 * gst/autoplug/spidertest.c:
9850 2005-04-25 Wim Taymans <wim@fluendo.com>
9852 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9853 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
9854 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
9855 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
9857 Added stubs for unimplemented functions.
9859 2005-04-24 David Schleef <ds@schleef.org>
9861 * gst/gstpad.h: Disable some unimplemented functions. Wim,
9864 2005-04-24 David Schleef <ds@schleef.org>
9866 Convert everything from GstAtomicInt to g_atomic_int_*, and
9871 * gst/gstatomic_impl.h:
9879 * gst/gstdata_private.h:
9886 * gst/gststructure.c:
9887 * gst/gststructure.h:
9888 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
9891 2005-04-24 David Schleef <ds@schleef.org>
9893 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
9894 make the regressions tests work. Remove some code that is no
9896 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
9897 Disable warning for pads without templates.
9899 2005-04-24 David Schleef <ds@schleef.org>
9901 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
9902 functions that handle filtered links.
9903 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
9905 * gst/gstutils.c: Fix/remove utility functions that handle
9908 * gst/gstvalue.c: Add serialization/deserialization of caps
9909 * gst/parse/grammar.y: Ignore filtered caps when linking. This
9910 requires fixing so that the filter caps notation creates
9911 a capsfilter element and sets the filter_caps property. I
9912 think everyone probably wants to keep the shorthand notation.
9913 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
9914 * docs/gst/tmpl/gstpad.sgml:
9916 * gst/elements/gstelements.c: Register capsfilter element.
9917 * gst/Makefile.am: fix spacing
9918 * docs/random/ds/0.9-suggested-changes: random
9920 2005-04-23 David Schleef <ds@schleef.org>
9922 * gst/elements/Makefile.am:
9923 * gst/elements/gstcapsfilter.c: New element that acts like an
9924 identity, but filters caps. Will eventually replace filtered
9925 caps in pad linking.
9926 * gst/gstutils.c: (gst_element_create_all_pads): New function
9927 to create all the ALWAYS pads that are registered with an
9928 element class. This functionality should eventually be
9929 merged in with GstElement initialization.
9931 * testsuite/trigger/README: part of trigger test code that should
9932 have been checked in a long time ago.
9934 2005-04-23 David Schleef <ds@schleef.org>
9936 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
9937 needed with new versions of libtool (nobody will confirm this),
9938 and hard to carry around.
9939 * gst/autoplug/Makefile.am:
9940 * gst/base/Makefile.am:
9941 * gst/elements/Makefile.am:
9942 * gst/indexers/Makefile.am:
9943 * gst/schedulers/Makefile.am:
9944 * libs/gst/bytestream/Makefile.am:
9945 * libs/gst/control/Makefile.am:
9946 * libs/gst/dataprotocol/Makefile.am:
9947 * libs/gst/getbits/Makefile.am:
9949 2005-04-21 Wim Taymans <wim@fluendo.com>
9951 * docs/design/draft-push-pull.txt:
9952 * docs/design/part-MT-refcounting.txt:
9953 * docs/design/part-TODO.txt:
9954 * docs/design/part-caps.txt:
9955 * docs/design/part-events.txt:
9956 * docs/design/part-gstbus.txt:
9957 * docs/design/part-gstpipeline.txt:
9958 * docs/design/part-messages.txt:
9959 * docs/design/part-push-pull.txt:
9960 * docs/design/part-query.txt:
9963 2005-04-21 Wim Taymans <wim@fluendo.com>
9965 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
9966 (gst_message_new), (gst_message_new_error),
9967 (gst_message_new_warning), (gst_message_new_tag),
9968 (gst_message_new_state_changed), (gst_message_new_application),
9969 (gst_message_get_structure):
9971 * gst/gststructure.c: (gst_structure_set_parent_refcount),
9972 (gst_structure_copy_conditional):
9973 Use parent refcount in GstMessage to ensure GstStructure
9975 Cleaned up headers a bit.
9978 2005-04-20 Wim Taymans <wim@fluendo.com>
9980 * gst/base/gstbasesink.c: (gst_basesink_base_init),
9981 (gst_basesink_pad_getcaps), (gst_basesink_init),
9982 (gst_basesink_chain_unlocked):
9983 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
9984 (gst_type_find_helper):
9985 * gst/elements/gsttypefindelement.c:
9986 (gst_type_find_element_have_type), (gst_type_find_element_init),
9987 (stop_typefinding), (gst_type_find_element_handle_event),
9988 (find_suggest), (gst_type_find_element_chain),
9989 (gst_type_find_element_checkgetrange),
9990 (gst_type_find_element_getrange), (do_typefind),
9991 (gst_type_find_element_activate):
9992 * gst/gstbuffer.c: (_gst_buffer_sub_free),
9993 (gst_buffer_default_free), (gst_buffer_default_copy),
9994 (gst_buffer_set_caps):
9995 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
9997 * gst/gstmessage.c: (gst_message_new),
9998 (gst_message_new_state_changed):
9999 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10000 (gst_pad_set_checkgetrange_function),
10001 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
10002 (gst_pad_set_caps), (gst_pad_check_pull_range),
10003 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
10005 * gst/gsttypefind.c: (gst_type_find_register):
10006 Make gst_caps_replace() work like other _replace() functions.
10007 Use _caps_replace() where possible.
10008 Make sure _message_new() initialises its field.
10009 Add gst_static_pad_template_get_caps()
10012 2005-04-18 Andy Wingo <wingo@pobox.com>
10014 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
10015 on the peer, not the pad. I think that was a typo. Pass an extra
10016 arg to see if random access is possible. Activate the pads as
10017 PULL_RANGE if possible.
10019 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
10021 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
10022 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
10025 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10027 * docs/faq/using.xml:
10028 Add note on gstreamer-properties (#154996).
10030 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10032 * docs/random/bbb/optional-properties:
10033 Some analysis on optional properties.
10035 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10037 * docs/gst/tmpl/gstelementfactory.sgml:
10038 * gst/gstelement.h:
10039 * gst/gstelementfactory.c: (gst_element_factory_init),
10040 (gst_element_factory_cleanup), (gst_element_register),
10041 (__gst_element_factory_add_static_pad_template),
10042 (gst_element_factory_get_static_pad_templates),
10043 (gst_element_factory_can_src_caps),
10044 (gst_element_factory_can_sink_caps):
10045 * gst/registries/Makefile.am:
10046 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
10047 (gst_xml_registry_class_init), (gst_xml_registry_init),
10048 (gst_xml_registry_new), (gst_xml_registry_set_property),
10049 (gst_xml_registry_get_property), (get_time), (make_dir),
10050 (gst_xml_registry_get_perms_func),
10051 (plugin_times_older_than_recurse), (plugin_times_older_than),
10052 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
10053 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
10054 (add_to_char_array), (read_string), (read_uint), (read_enum),
10055 (load_pad_template), (load_feature), (load_plugin), (load_paths),
10056 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
10057 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
10058 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
10059 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
10060 (gst_xml_registry_rebuild):
10061 * gst/registries/gstlibxmlregistry.h:
10062 * tools/gst-compprep.c: (main):
10063 * tools/gst-inspect.c: (print_pad_templates_info):
10064 * tools/gst-xmlinspect.c: (print_element_info):
10065 Use libxml2 for registry parsing, use staticpadtemplates in
10066 elementfactories. Makes gst_init() +/- 10x faster.
10068 2005-04-12 Wim Taymans <wim@fluendo.com>
10070 * gst/base/Makefile.am:
10071 * gst/base/gstbasesink.c: (gst_basesink_base_init),
10072 (gst_basesink_pad_getcaps), (gst_basesink_init),
10073 (gst_basesink_event), (gst_basesink_change_state):
10074 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10075 (gst_basesrc_init), (gst_basesrc_query),
10076 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
10077 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
10078 (gst_basesrc_check_get_range), (gst_basesrc_loop),
10079 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
10080 (gst_basesrc_stop), (gst_basesrc_activate),
10081 (gst_basesrc_change_state):
10082 * gst/base/gsttypefindhelper.c: (helper_find_peek),
10083 (helper_find_suggest), (gst_type_find_helper):
10084 * gst/base/gsttypefindhelper.h:
10085 * gst/elements/Makefile.am:
10086 * gst/elements/gstelements.c:
10087 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
10088 (gst_fakesink_get_times), (gst_fakesink_event),
10089 (gst_fakesink_preroll), (gst_fakesink_render):
10090 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10091 (gst_fakesrc_init), (gst_fakesrc_event_handler),
10092 (gst_fakesrc_get_property), (gst_fakesrc_create),
10093 (gst_fakesrc_start), (gst_fakesrc_stop):
10094 * gst/elements/gstfakesrc.h:
10095 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
10096 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
10097 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
10098 (gst_filesrc_create_read), (gst_filesrc_create),
10099 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
10100 (gst_filesrc_start):
10101 * gst/elements/gsttypefindelement.c:
10102 (gst_type_find_element_have_type), (gst_type_find_element_init),
10103 (start_typefinding), (stop_typefinding), (push_buffer_store),
10104 (gst_type_find_element_handle_event),
10105 (gst_type_find_element_chain),
10106 (gst_type_find_element_checkgetrange),
10107 (gst_type_find_element_getrange), (do_typefind),
10108 (gst_type_find_element_activate),
10109 (gst_type_find_element_change_state):
10110 * gst/elements/gsttypefindelement.h:
10111 * gst/gstpipeline.c: (pipeline_bus_handler):
10112 Added typefind helper.
10113 Small preroll fix in the base sink.
10114 Disable typefind code in basesrc.
10115 Crude port of typefindelement.
10119 2005-04-11 Wim Taymans <wim@fluendo.com>
10121 * check/gst/gstbus.c: (gstbus_suite):
10122 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
10123 * check/gstcheck.h:
10124 Fix up the timeout so that the test does not fail.
10126 2005-04-06 Wim Taymans <wim@fluendo.com>
10129 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10130 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
10131 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
10132 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
10133 (gst_basesrc_check_get_range), (gst_basesrc_loop),
10134 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
10135 (gst_basesrc_stop), (gst_basesrc_activate),
10136 (gst_basesrc_change_state), (basesrc_find_peek),
10137 (basesrc_find_suggest), (gst_basesrc_type_find):
10138 * gst/base/gstbasesrc.h:
10139 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
10140 (gst_filesrc_class_init), (gst_filesrc_init),
10141 (gst_filesrc_finalize), (gst_filesrc_set_location),
10142 (gst_filesrc_set_property), (gst_filesrc_get_property),
10143 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
10144 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
10145 (gst_filesrc_create_read), (gst_filesrc_create),
10146 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
10147 * gst/elements/gstfilesrc.h:
10148 * gst/gstelement.c: (gst_element_get_state_func),
10149 (gst_element_lost_state), (gst_element_pads_activate):
10150 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10151 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
10152 (gst_pad_pull_range):
10154 More work on the generic source base class, implement seeking,
10156 Make filesrc extend the base source class.
10157 Added gst_pad_set_checkgetrange_function to GstPad.
10159 2005-04-06 Andy Wingo <wingo@pobox.com>
10161 * pkgconfig/gstreamer-base.pc.in:
10162 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
10164 * pkgconfig/Makefile.am:
10165 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
10167 2005-04-04 Wim Taymans <wim@fluendo.com>
10169 * gst/base/Makefile.am:
10171 * gst/base/gstbasesink.c: (gst_basesink_base_init),
10172 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
10173 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
10174 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
10175 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
10176 (gst_basesrc_base_init), (gst_basesrc_class_init),
10177 (gst_basesrc_init), (gst_basesrc_get_formats),
10178 (gst_basesrc_get_query_types), (gst_basesrc_query),
10179 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
10180 (gst_basesrc_set_property), (gst_basesrc_get_property),
10181 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
10182 (gst_basesrc_loop), (gst_basesrc_activate),
10183 (gst_basesrc_change_state):
10184 * gst/base/gstbasesrc.h:
10185 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
10186 (gst_fakesrc_class_init), (gst_fakesrc_init),
10187 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
10188 (gst_fakesrc_get_property), (gst_fakesrc_create):
10189 * gst/elements/gstfakesrc.h:
10190 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
10191 (gst_filesrc_open_file), (gst_filesrc_loop),
10192 (gst_filesrc_activate), (filesrc_find_peek),
10193 (gst_filesrc_type_find):
10194 Made base source class, make fakesrc extend it.
10195 Add comments to basesink class.
10196 Some filesrc cleanup.
10198 2005-03-31 David Schleef <ds@schleef.org>
10200 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
10201 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
10202 expected to link against libgstreamer.
10203 * gst/base/Makefile.am: link against libgstreamer
10204 * gst/elements/Makefile.am: same
10206 2005-03-31 Andy Wingo <wingo@pobox.com>
10208 * tests/instantiate/Makefile.am:
10209 * tests/instantiate/caps.c: Add test to test speed of caps copy
10212 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
10213 GMemChunk to be fair.
10215 * gst/gsttrashstack.h: Remove warning about using the fallback
10216 trash stack implementation, it's still faster than malloc.
10218 2005-03-30 Andy Wingo <wingo@pobox.com>
10220 * tests/complexity.c: Add a copyright.
10222 2005-03-31 Wim Taymans <wim@fluendo.com>
10224 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
10225 (gst_base_transform_class_init), (gst_base_transform_init),
10226 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
10227 (gst_base_transform_get_property),
10228 (gst_base_transform_sink_activate),
10229 (gst_base_transform_src_activate),
10230 (gst_base_transform_change_state):
10231 * gst/base/gstbasetransform.h:
10232 * gst/elements/gstidentity.c: (gst_identity_class_init),
10233 (gst_identity_event), (gst_identity_check_perfect),
10234 (gst_identity_transform), (gst_identity_start),
10235 (gst_identity_stop):
10236 Added start/stop methods to transform base class so subclasses
10237 don't need to deal with state changes even.
10239 2005-03-31 Wim Taymans <wim@fluendo.com>
10241 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
10242 (gst_event_new_discontinuous), (gst_event_discont_get_value):
10244 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10245 (gst_pad_pull_range):
10246 Added rate to the discont event to prepare for variable speed
10247 and reverse playback.
10249 2005-03-29 David Schleef <ds@schleef.org>
10252 * testsuite/trigger/Makefile.am:
10253 * testsuite/trigger/trigger.c: A little example program to show
10254 how trigger-based elements can work.
10256 2005-03-29 Wim Taymans <wim@fluendo.com>
10258 * gst/base/Makefile.am:
10260 * gst/base/gstbasesink.c: (gst_basesink_get_type),
10261 (gst_basesink_base_init), (gst_basesink_class_init),
10262 (gst_basesink_pad_getcaps), (gst_basesink_init),
10263 (gst_basesink_activate), (gst_basesink_change_state):
10264 * gst/base/gstbasesink.h:
10265 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
10266 (gst_base_transform_base_init), (gst_base_transform_finalize),
10267 (gst_base_transform_class_init), (gst_base_transform_init),
10268 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
10269 (gst_base_transform_event), (gst_base_transform_getrange),
10270 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
10271 (gst_base_transform_set_property),
10272 (gst_base_transform_get_property),
10273 (gst_base_transform_sink_activate),
10274 (gst_base_transform_src_activate),
10275 (gst_base_transform_change_state):
10276 * gst/base/gstbasetransform.h:
10277 * gst/elements/gstidentity.c: (gst_identity_finalize),
10278 (gst_identity_class_init), (gst_identity_init),
10279 (gst_identity_event), (gst_identity_check_perfect),
10280 (gst_identity_transform), (gst_identity_set_property),
10281 (gst_identity_get_property), (gst_identity_change_state):
10282 * gst/elements/gstidentity.h:
10283 * gst/gstelement.c: (gst_element_get_state_func),
10284 (gst_element_lost_state), (gst_element_pads_activate):
10285 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
10286 (gst_pad_check_pull_range), (gst_pad_pull_range):
10288 Simplify pad activation.
10289 Added function to check if pull_range can be performed.
10290 Error out when pulling inactive or flushing pads.
10291 Removed const from refcounted types as it does not make sense.
10292 Simplify pad templates in basesink
10293 Added base class for simple 1-to-1 transforms.
10294 Make identity subclass the base transform.
10296 2005-03-29 Andy Wingo <wingo@pobox.com>
10298 * docs/libs/gstreamer-libs-overrides.txt:
10299 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
10300 really don't understand what's going on, but like whatever. I want
10303 * docs/gst/Makefile.am:
10304 * docs/libs/Makefile.am: Dist the overrides files.
10306 * check/Makefile.am (clean-local): Remove .libs directories.
10308 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
10309 elements to EXTRA_DIST, so po/ files are happy.
10311 * po/POTFILES.in: Er, remove it here.
10313 * po/POTFILES: Remove gstspider.c.
10315 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
10317 * docs/libs/gstreamer-libs-docs.sgml:
10318 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
10321 * tests/complexity.c (main): Set the length of the preroll queue
10322 on the sinks to prevent a lockup.
10324 * libs/gst/dataprotocol/Makefile.am:
10325 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
10326 the same as the one in check/gst-libs/gdp.c.
10328 * po/, docs/gst/: Commit automatic changes to docs and po files.
10330 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
10331 the versioned libgstbase.
10333 * check/Makefile.am: Depend on an unversioned gst-register, seems
10334 to make autoconf happier.
10336 * gst/base/Makefile.am: Make libgstbase a versioned lib.
10338 2005-03-28 Wim Taymans <wim@fluendo.com>
10341 * docs/design/part-gstelement.txt:
10342 * docs/design/part-negotiation.txt:
10343 * docs/design/part-preroll.txt:
10344 * docs/design/part-scheduling.txt:
10345 * docs/design/part-states.txt:
10347 * gst/base/Makefile.am:
10349 * gst/base/gstbasesink.c: (gst_basesink_get_template),
10350 (gst_basesink_base_init), (gst_basesink_class_init),
10351 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
10352 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
10353 (gst_basesink_set_pad_functions),
10354 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
10355 (gst_basesink_set_property), (gst_basesink_get_property),
10356 (gst_base_sink_get_template), (gst_base_sink_get_caps),
10357 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
10358 (gst_basesink_preroll_queue_push),
10359 (gst_basesink_preroll_queue_empty),
10360 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
10361 (gst_basesink_event), (gst_basesink_get_times),
10362 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
10363 (gst_basesink_chain_unlocked), (gst_basesink_chain),
10364 (gst_basesink_loop), (gst_basesink_activate),
10365 (gst_basesink_change_state):
10366 * gst/base/gstbasesink.h:
10367 * gst/elements/Makefile.am:
10368 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
10369 (gst_fakesink_class_init), (gst_fakesink_init),
10370 (gst_fakesink_set_property), (gst_fakesink_get_property),
10371 (gst_fakesink_get_times), (gst_fakesink_event),
10372 (gst_fakesink_preroll), (gst_fakesink_render),
10373 (gst_fakesink_change_state):
10374 * gst/elements/gstfakesink.h:
10375 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
10376 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
10377 * gst/gstelement.c: (gst_element_add_pad),
10378 (gst_element_get_state_func), (gst_element_abort_state),
10379 (gst_element_commit_state), (gst_element_lost_state),
10380 (gst_element_set_state), (gst_element_pads_activate):
10381 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
10382 * gst/gstpipeline.c: (gst_pipeline_send_event),
10383 (gst_pipeline_change_state):
10384 Added state change code.
10385 Added/updated docs.
10386 Added sink base class, make fakesink extend the base class.
10387 Small cleanups in GstPipeline.
10389 2005-03-26 David Schleef <ds@schleef.org>
10391 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
10392 is broken and should be implemented in a different library.
10393 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
10394 * gst/gst.h: remove gstcpu.h
10395 * gst/gstcpu.c: remove
10396 * gst/gstcpu.h: remove
10397 * gst/Makefile.am.future: Remove this file. It's ancient.
10399 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10401 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
10402 (gst_bin_send_event):
10403 Add default event/set_manager handlers. The set_manager handler
10404 takes care that the manager is distributed over kids that were
10405 already in the bin before the manager was set. The event handler
10406 is a utility virtual function that sends the event over all sinks,
10407 so that gst_element_send_event (bin, event); has the expected
10409 * gst/gstpad.c: (gst_pad_event_default):
10410 Re-install default event handling for discontinuities, so that
10411 seeking works without requiring hacks in applications or extra
10413 * gst/gstpipeline.c: (gst_pipeline_class_init),
10414 (gst_pipeline_send_event):
10415 Half hack, half utility: set a pipeline to PAUSED for seek events,
10416 since that is the only way we can guarantee a/v sync. Means that
10417 you can do gst_element_seek (pipeline, method, pos); on a pipeline
10418 and it "just works".
10420 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10422 * gst/gstpipeline.c: (gst_pipeline_use_clock):
10423 Lock/unlock mismatch.
10425 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
10427 * docs/faq/gst-uninstalled:
10428 add gst-plugins-base
10429 * docs/gst/Makefile.am:
10430 don't error out until docs are fixed
10431 * docs/gst/gstreamer.types:
10434 2005-03-22 Wim Taymans <wim@fluendo.com>
10436 * check/Makefile.am:
10437 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
10438 * gst/gststructure.c: (gst_structure_set_valist),
10439 (gst_structure_copy_conditional):
10440 Activated more tests.
10441 Added message test.
10442 Added G_TYPE_POINTER to GstStructure.
10445 2005-03-22 Wim Taymans <wim@fluendo.com>
10447 * docs/design/part-TODO.txt:
10448 * docs/design/part-events.txt:
10449 * docs/design/part-gstbin.txt:
10450 * docs/design/part-gstbus.txt:
10451 * docs/design/part-gstpipeline.txt:
10452 * docs/design/part-messages.txt:
10454 * gst/gstmessage.c:
10457 2005-03-21 Wim Taymans <wim@fluendo.com>
10459 * gst/gstbus.c: (gst_bus_post):
10460 Fix copy-and-paste error.
10462 2005-03-21 Wim Taymans <wim@fluendo.com>
10464 * check/Makefile.am:
10466 * gst/elements/Makefile.am:
10467 * gst/elements/gstelements.c:
10468 * gst/elements/gstfakesink.c: (gst_fakesink_init),
10469 (gst_fakesink_event), (gst_fakesink_chain):
10470 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10471 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
10472 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
10473 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
10474 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10475 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
10476 (gst_fakesrc_loop), (gst_fakesrc_activate),
10477 (gst_fakesrc_change_state):
10478 * gst/elements/gstfakesrc.h:
10479 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10480 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
10481 (gst_filesrc_open_file), (gst_filesrc_loop),
10482 (gst_filesrc_activate), (gst_filesrc_change_state),
10483 (filesrc_find_peek), (filesrc_find_suggest),
10484 (gst_filesrc_type_find):
10485 * gst/elements/gstidentity.c: (gst_identity_finalize),
10486 (gst_identity_class_init), (gst_identity_init),
10487 (gst_identity_proxy_getcaps), (identity_queue_push),
10488 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
10489 (gst_identity_getrange), (gst_identity_chain),
10490 (gst_identity_sink_loop), (gst_identity_src_loop),
10491 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
10492 (gst_identity_set_property), (gst_identity_get_property),
10493 (gst_identity_change_state):
10494 * gst/elements/gstidentity.h:
10495 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
10496 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
10497 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
10498 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
10499 (gst_tee_sink_activate):
10500 * gst/elements/gsttee.h:
10501 * gst/gst.c: (gst_register_core_elements), (init_post):
10503 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
10504 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
10505 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
10506 (gst_bin_change_state):
10508 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
10509 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
10510 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
10511 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
10512 (gst_bus_set_sync_handler), (gst_bus_create_watch),
10513 (bus_watch_callback), (bus_watch_destroy),
10514 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
10515 (poll_timeout), (gst_bus_poll):
10519 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
10520 (gst_element_post_message), (gst_element_message_full),
10521 (gst_element_get_state_func), (gst_element_get_state),
10522 (gst_element_abort_state), (gst_element_commit_state),
10523 (gst_element_lost_state), (gst_element_set_state),
10524 (gst_element_pads_activate), (gst_element_change_state),
10525 (gst_element_dispose), (gst_element_set_manager_func),
10526 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
10527 (gst_element_set_manager), (gst_element_get_manager),
10528 (gst_element_set_bus), (gst_element_get_bus),
10529 (gst_element_set_scheduler), (gst_element_get_scheduler):
10530 * gst/gstelement.h:
10531 * gst/gstevent.c: (gst_event_new_segment_seek),
10532 (gst_event_new_flush):
10534 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
10535 (_gst_message_free), (gst_message_get_type), (gst_message_new),
10536 (gst_message_new_eos), (gst_message_new_error),
10537 (gst_message_new_warning), (gst_message_new_tag),
10538 (gst_message_new_state_changed), (gst_message_new_application),
10539 (gst_message_get_structure), (gst_message_parse_tag),
10540 (gst_message_parse_state_changed), (gst_message_parse_error),
10541 (gst_message_parse_warning):
10542 * gst/gstmessage.h:
10543 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
10544 (gst_real_pad_set_property), (gst_pad_set_active),
10545 (gst_pad_is_active), (gst_pad_set_blocked_async),
10546 (gst_pad_set_blocked), (gst_pad_is_blocked),
10547 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
10548 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
10549 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
10550 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
10551 (gst_pad_link_filtered), (gst_pad_relink_filtered),
10552 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
10553 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
10554 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
10555 (gst_pad_set_caps), (gst_pad_configure_sink),
10556 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
10557 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
10558 (gst_real_pad_dispose), (gst_real_pad_finalize),
10559 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
10560 (gst_pad_event_default_dispatch), (gst_pad_event_default),
10561 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
10563 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
10564 (pipeline_bus_handler), (gst_pipeline_change_state),
10565 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
10566 * gst/gstpipeline.h:
10568 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
10569 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
10570 (gst_queue_link_src), (gst_queue_bufferalloc),
10571 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
10572 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
10573 (gst_queue_loop), (gst_queue_handle_src_event),
10574 (gst_queue_handle_src_query), (gst_queue_src_activate),
10575 (gst_queue_change_state):
10577 * gst/gstscheduler.c: (gst_scheduler_init),
10578 (gst_scheduler_dispose), (gst_scheduler_create_task),
10579 (gst_scheduler_factory_create):
10580 * gst/gstscheduler.h:
10581 * gst/gststructure.c: (gst_structure_get_type),
10582 (gst_structure_copy_conditional):
10583 * gst/gststructure.h:
10584 * gst/gsttaginterface.h:
10585 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10586 (gst_task_init), (gst_task_dispose), (gst_task_create),
10587 (gst_task_get_state), (gst_task_start), (gst_task_stop),
10593 * gst/schedulers/Makefile.am:
10594 * gst/schedulers/cothreads_compat.h:
10595 * gst/schedulers/entryscheduler.c:
10596 * gst/schedulers/faircothreads.c:
10597 * gst/schedulers/faircothreads.h:
10598 * gst/schedulers/fairscheduler.c:
10599 * gst/schedulers/gstbasicscheduler.c:
10600 * gst/schedulers/gstoptimalscheduler.c:
10601 * gst/schedulers/gthread-cothreads.h:
10602 * gst/schedulers/threadscheduler.c:
10603 (gst_thread_scheduler_task_get_type),
10604 (gst_thread_scheduler_task_class_init),
10605 (gst_thread_scheduler_task_init),
10606 (gst_thread_scheduler_task_start),
10607 (gst_thread_scheduler_task_stop),
10608 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
10609 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10610 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
10611 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
10613 * libs/gst/Makefile.am:
10614 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
10615 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
10616 (gst_file_pad_parent_set):
10617 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10618 (gst_dp_event_from_packet):
10619 * tests/complexity.c: (main):
10620 * tests/mass_elements.c: (main):
10621 * testsuite/states/locked.c: (message_received), (main):
10622 * testsuite/states/parent.c: (main):
10623 * tools/gst-inspect.c: (print_element_flag_info),
10624 (print_implementation_info), (print_pad_info):
10625 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
10627 * tools/gst-md5sum.c: (event_loop), (main):
10628 * tools/gst-typefind.c: (main):
10629 * tools/gst-xmlinspect.c: (print_element_info):
10631 Added GstBus for mainloop integration.
10632 Added GstMessage for sending notifications on the bus.
10633 Added GstTask as an abstraction for pipeline entry points.
10635 Removed Schedulers.
10636 Simplified GstQueue for multithreaded core.
10637 Made _link threadsafe, removed old capsnego.
10638 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
10639 Added pad blocking functions.
10640 Reworked scheduling functions in GstPad to prepare for
10641 scheduling updates soon.
10642 Moved events out of data stream.
10643 Simplified GstEvent types.
10644 Added return values to push/pull.
10645 Removed clocking from GstElement.
10646 Added prototypes for state change function for next merge.
10647 Removed iterate from bins and state change management.
10648 Fixed some elements, disabled others for now.
10649 Fixed -inspect and -launch.
10650 Added check for GstBus.
10652 2005-03-10 Wim Taymans <wim@fluendo.com>
10654 * docs/design/part-MT-refcounting.txt:
10655 * docs/design/part-clocks.txt:
10656 * docs/design/part-gstelement.txt:
10657 * docs/design/part-gstobject.txt:
10658 * docs/design/part-standards.txt:
10659 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
10660 (gst_bin_remove_func), (gst_bin_remove):
10664 * testsuite/clock/clock1.c: (main):
10665 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
10667 * testsuite/dlopen/loadgst.c: (do_test):
10668 * testsuite/refcounting/bin.c: (add_remove_test1),
10669 (add_remove_test2), (main):
10670 * testsuite/refcounting/element.c: (main):
10671 * testsuite/refcounting/element_pad.c: (main):
10672 * testsuite/refcounting/pad.c: (main):
10673 * tools/gst-launch.c: (sigint_handler_sighandler):
10674 * tools/gst-typefind.c: (main):
10676 Added doc about clock.
10677 removed gst_bin_iterate_recurse_up(), marked methods
10679 Fix more testsuites.
10681 2005-03-09 Wim Taymans <wim@fluendo.com>
10683 * gst/gstpad.c: (gst_pad_get_direction),
10684 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
10685 (gst_pad_collect_valist):
10686 * testsuite/bins/interface.c: (main):
10687 * testsuite/caps/audioscale.c: (test_caps):
10688 * testsuite/caps/caps.c: (test1), (test2), (test3):
10689 * testsuite/caps/deserialize.c: (main):
10690 * testsuite/caps/enumcaps.c: (main):
10691 * testsuite/caps/filtercaps.c: (main):
10692 * testsuite/caps/intersect2.c: (main):
10693 * testsuite/caps/random.c: (main):
10694 * testsuite/caps/renegotiate.c: (my_fixate), (main):
10695 * testsuite/caps/sets.c: (check_caps):
10696 * testsuite/caps/simplify.c: (check_caps), (main):
10697 * testsuite/caps/subtract.c: (check_caps):
10698 Fix _pad_get_direction wrt ghostpads.
10699 Fix caps testsuite.
10701 2005-03-09 Wim Taymans <wim@fluendo.com>
10703 * check/Makefile.am:
10704 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
10705 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
10706 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
10707 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
10708 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
10709 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
10710 (gst_bin_remove), (gst_bin_iterate_recurse_up),
10711 (bin_element_is_sink), (gst_bin_iterate_sinks),
10712 (gst_bin_iterate_all_by_interface):
10714 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
10715 (gst_element_change_state), (gst_element_dispose),
10716 (gst_element_finalize), (gst_element_set_loop_function):
10717 * gst/gstelement.h:
10718 * gst/gstiterator.c: (find_custom_fold_func):
10719 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
10720 (gst_pad_collectv), (gst_pad_collect_valist),
10721 (gst_pad_template_new):
10722 * gst/gstpipeline.c: (gst_pipeline_class_init),
10723 (gst_pipeline_dispose), (gst_pipeline_set_property),
10724 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
10725 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
10726 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
10728 * gst/schedulers/entryscheduler.c:
10729 * gst/schedulers/gstbasicscheduler.c:
10730 (gst_basic_scheduler_cothreaded_chain),
10731 (gst_basic_scheduler_chain_add_element):
10732 * testsuite/bins/interface.c: (main):
10734 Added GstSystemClock test.
10735 Implemented clock distribution code in GstBin.
10736 Implemented iterate sinks method for future use.
10737 Rearranged gstelement.h
10738 Fix GstIterator comparison bug.
10739 Moved some code to GstPipeline, mostly clocking related.
10741 2005-03-09 Wim Taymans <wim@fluendo.com>
10744 * gst/gst_private.h:
10745 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
10746 (gst_bin_remove_func), (gst_bin_remove),
10747 (gst_bin_get_by_name_recurse_up):
10748 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
10749 (gst_clock_id_compare_func), (gst_clock_id_wait),
10750 (gst_clock_id_wait_async), (gst_clock_init),
10751 (gst_clock_adjust_unlocked), (gst_clock_get_time):
10752 * gst/gstelement.h:
10753 * gst/gstinfo.c: (_gst_debug_init):
10755 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
10756 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
10758 Bump version number, we're now 0.9.0
10759 Add future debugging category.
10760 Fix NULL _unref() in _get_by_name_recurse_up
10761 Rearrange gstpad.h.
10764 2005-03-08 Wim Taymans <wim@fluendo.com>
10766 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
10767 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
10768 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10769 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
10770 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
10771 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
10772 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
10773 * gst/elements/gstidentity.c: (gst_identity_class_init):
10774 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
10775 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10776 * gst/elements/gstshaper.c: (gst_shaper_class_init):
10777 * gst/elements/gststatistics.c: (gst_statistics_class_init):
10778 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
10780 * gst/gstelement.c: (gst_element_class_init),
10781 (gst_element_base_class_init), (gst_element_init),
10782 (gst_element_get_random_pad), (gst_element_wait_state_change),
10783 (gst_element_change_state), (gst_element_dispose),
10784 (gst_element_finalize), (gst_element_set_loop_function):
10785 * gst/gstelement.h:
10786 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
10787 * gst/gstthread.c: (gst_thread_class_init),
10788 (gst_thread_release_children_locks), (gst_thread_change_state):
10789 * gst/schedulers/gstbasicscheduler.c:
10790 (gst_basic_scheduler_loopfunc_wrapper),
10791 (gst_basic_scheduler_chain_wrapper),
10792 (gst_basic_scheduler_src_wrapper),
10793 (gst_basic_scheduler_remove_element):
10794 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
10795 Remove threadsafe properties. Fix elements because GObject
10796 complains when installing a property before declaring a
10797 set/get_property handler.
10798 Rearrange gstelement.h file, use STATE macros for state locks.
10799 Free mutexes in the finalize method instead of dispose.
10801 2005-03-08 Wim Taymans <wim@fluendo.com>
10803 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
10804 * gst/gstthread.c: (gst_thread_release_children_locks):
10805 Added parentage check.
10806 Fix build og GstThread again.
10808 2005-03-08 Wim Taymans <wim@fluendo.com>
10810 * docs/design/part-MT-refcounting.txt:
10811 * docs/design/part-conventions.txt:
10812 * docs/design/part-gstobject.txt:
10813 * docs/design/part-relations.txt:
10814 * docs/design/part-standards.txt:
10815 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
10816 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
10817 (gst_bin_get_by_name), (gst_bin_get_by_interface),
10818 (gst_bin_iterate_all_by_interface):
10821 * gst/gstelement.c: (gst_element_class_init),
10822 (gst_element_change_state), (gst_element_set_loop_function):
10823 * gst/gstelement.h:
10824 * gst/gstiterator.c:
10825 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
10826 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
10827 (gst_object_dispatch_properties_changed), (gst_object_set_name),
10828 (gst_object_set_parent), (gst_object_unparent),
10829 (gst_object_check_uniqueness):
10831 Docs updates, clean up some headers.
10833 2005-03-07 Wim Taymans <wim@fluendo.com>
10835 * check/.cvsignore:
10836 * check/Makefile.am:
10837 * check/gst-libs/.cvsignore:
10838 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
10839 * check/gst/.cvsignore:
10840 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
10841 (START_TEST), (gstbus_suite), (main):
10842 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
10843 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
10844 (gst_data_suite), (main):
10845 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
10846 (add_fold_func), (gstiterator_suite), (main):
10847 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
10848 (thread_name_object), (thread_name_object_default),
10849 (gst_object_name_compare), (gst_object_suite), (main):
10850 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
10851 (gst_pad_suite), (main):
10852 * check/gstcheck.c: (gst_check_log_message_func),
10853 (gst_check_log_critical_func), (gst_check_init):
10854 * check/gstcheck.h:
10855 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10856 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
10859 2005-03-07 Wim Taymans <wim@fluendo.com>
10861 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10862 (gst_list_iterator_next), (gst_list_iterator_resync),
10863 (gst_list_iterator_free), (gst_iterator_new_list),
10864 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
10865 (gst_iterator_free), (gst_iterator_push), (filter_next),
10866 (filter_resync), (filter_uninit), (filter_free),
10867 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
10868 (gst_iterator_foreach), (find_custom_fold_func),
10869 (gst_iterator_find_custom):
10870 * gst/gstiterator.h:
10871 Added missing files.
10873 2005-03-07 Wim Taymans <wim@fluendo.com>
10877 * docs/design/part-MT-refcounting.txt:
10878 * docs/design/part-conventions.txt:
10879 * docs/design/part-gstobject.txt:
10880 * docs/design/part-relations.txt:
10881 * examples/mixer/mixer.c: (main):
10882 * examples/thread/thread.c: (eos), (main):
10884 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
10885 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
10886 (gst_spider_plug_from_srcpad):
10887 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
10888 (gst_spider_identity_change_state),
10889 (gst_spider_identity_sink_loop_type_finding):
10890 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
10891 * gst/elements/gstidentity.c: (gst_identity_init):
10892 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
10893 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
10894 * gst/elements/gsttypefindelement.c: (free_entry):
10897 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
10898 (gst_bin_set_clock_func), (gst_bin_auto_clock),
10899 (gst_bin_set_index), (gst_bin_set_element_sched),
10900 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
10901 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
10902 (gst_bin_iterate_elements), (iterate_child_recurse),
10903 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
10904 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
10905 (compare_interface), (gst_bin_get_by_interface),
10906 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
10908 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
10909 (gst_buffer_default_free), (gst_buffer_default_copy),
10910 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
10911 (gst_buffer_create_sub):
10913 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
10914 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
10915 (gst_caps_unref), (gst_static_caps_get),
10916 (gst_caps_remove_and_get_structure), (gst_caps_append),
10917 (gst_caps_append_structure), (gst_caps_remove_structure),
10918 (gst_caps_copy_nth), (gst_caps_set_simple),
10919 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
10920 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
10921 (gst_caps_structure_intersect_field), (gst_caps_intersect),
10922 (gst_caps_structure_subtract_field), (gst_caps_subtract),
10923 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
10924 (gst_caps_structure_figure_out_union),
10925 (gst_caps_switch_structures), (gst_caps_do_simplify),
10926 (gst_caps_replace), (gst_caps_from_string),
10927 (gst_caps_copy_conditional):
10929 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
10930 (_gst_clock_id_free), (gst_clock_id_unref),
10931 (gst_clock_id_compare_func), (gst_clock_id_wait),
10932 (gst_clock_id_wait_async), (gst_clock_class_init),
10933 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
10934 (gst_clock_get_time), (gst_clock_set_time_adjust),
10935 (gst_clock_set_property), (gst_clock_get_property):
10938 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
10939 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
10941 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
10942 (gst_element_requires_clock), (gst_element_provides_clock),
10943 (gst_element_set_clock), (gst_element_clock_wait),
10944 (gst_element_wait), (gst_element_set_time_delay),
10945 (gst_element_is_indexable), (gst_element_add_pad),
10946 (gst_element_add_ghost_pad), (gst_element_remove_pad),
10947 (pad_compare_name), (gst_element_get_static_pad),
10948 (gst_element_request_pad), (gst_element_get_request_pad),
10949 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
10950 (gst_element_class_get_pad_template_list),
10951 (gst_element_class_get_pad_template), (gst_element_error_func),
10952 (gst_element_get_random_pad), (gst_element_get_event_masks),
10953 (gst_element_send_event), (gst_element_seek),
10954 (gst_element_get_query_types), (gst_element_query),
10955 (gst_element_get_formats), (gst_element_convert),
10956 (gst_element_is_locked_state), (gst_element_set_locked_state),
10957 (gst_element_sync_state_with_parent), (gst_element_change_state),
10958 (gst_element_finalize), (gst_element_yield),
10959 (gst_element_interrupt), (gst_element_set_scheduler),
10960 (gst_element_get_scheduler), (gst_element_set_loop_function):
10961 * gst/gstelement.h:
10963 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
10964 (gst_format_get_by_nick), (gst_format_get_details),
10965 (gst_format_iterate_definitions):
10967 * gst/gstindex.c: (gst_index_gtype_resolver):
10970 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
10971 (gst_mem_chunk_free):
10972 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
10973 (gst_object_ref), (gst_object_unref), (gst_object_sink),
10974 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
10975 (gst_object_dispatch_properties_changed),
10976 (gst_object_set_name_default), (gst_object_set_name),
10977 (gst_object_get_name), (gst_object_set_name_prefix),
10978 (gst_object_get_name_prefix), (gst_object_set_parent),
10979 (gst_object_get_parent), (gst_object_unparent),
10980 (gst_object_check_uniqueness), (gst_object_save_thyself),
10981 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
10982 (gst_object_set_property), (gst_object_get_property),
10983 (gst_object_get_path_string):
10985 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10986 (gst_real_pad_init), (gst_real_pad_get_property),
10987 (gst_pad_custom_new), (gst_pad_get_direction),
10988 (gst_pad_set_active), (gst_pad_is_active),
10989 (gst_pad_set_event_function), (gst_pad_is_linked),
10990 (gst_pad_link_free), (gst_pad_link_intersect),
10991 (gst_pad_link_fixate), (gst_pad_set_caps),
10992 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
10993 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
10994 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
10995 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
10996 (gst_pad_get_caps), (gst_pad_peer_get_caps),
10997 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
10998 (gst_pad_realize), (gst_pad_get_allowed_caps),
10999 (gst_real_pad_dispose), (gst_real_pad_finalize),
11000 (gst_pad_collectv), (gst_pad_collect_valist),
11001 (gst_pad_template_dispose), (gst_pad_template_new),
11002 (gst_pad_get_internal_links):
11004 * gst/gstpipeline.c: (gst_pipeline_dispose),
11005 (gst_pipeline_change_state):
11006 * gst/gstpipeline.h:
11008 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
11009 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
11010 * gst/gstpluginfeature.h:
11011 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
11012 * gst/gstquery.c: (_gst_query_type_initialize),
11013 (gst_query_type_register), (gst_query_type_get_by_nick),
11014 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
11016 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
11017 * gst/gstscheduler.c: (gst_scheduler_add_element),
11018 (gst_scheduler_factory_create):
11019 * gst/gststructure.c: (gst_structure_set_parent_refcount),
11020 (gst_structure_free), (gst_structure_set_name),
11021 (gst_structure_id_set_value), (gst_structure_set_value),
11022 (gst_structure_set_valist), (gst_structure_remove_field),
11023 (gst_structure_remove_fields),
11024 (gst_structure_remove_fields_valist),
11025 (gst_structure_remove_all_fields), (gst_structure_foreach),
11026 (gst_structure_map_in_place),
11027 (gst_caps_structure_fixate_field_nearest_int),
11028 (gst_caps_structure_fixate_field_nearest_double):
11029 * gst/gststructure.h:
11030 * gst/gstsystemclock.c: (gst_system_clock_class_init),
11031 (gst_system_clock_init), (gst_system_clock_dispose),
11032 (gst_system_clock_async_thread),
11033 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
11034 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
11035 * gst/gstsystemclock.h:
11036 * gst/gsttag.c: (gst_tag_list_add_value_internal),
11037 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
11038 * gst/gsttaginterface.c:
11039 * gst/gstthread.c: (gst_thread_dispose),
11040 (gst_thread_release_children_locks), (gst_thread_change_state),
11041 (gst_thread_main_loop):
11042 * gst/gsttrashstack.h:
11043 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
11045 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11046 (gst_element_request_pad), (gst_element_get_pad_from_template),
11047 (gst_element_request_compatible_pad),
11048 (gst_element_get_compatible_pad_filtered),
11049 (gst_element_get_compatible_pad), (gst_element_state_get_name),
11050 (gst_element_link_pads_filtered), (gst_element_link_filtered),
11051 (gst_element_link_many), (gst_element_link),
11052 (gst_element_link_pads), (gst_element_unlink_pads),
11053 (gst_element_unlink_many), (gst_element_unlink),
11054 (gst_pad_can_link_filtered), (gst_pad_can_link),
11055 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
11056 (gst_object_default_error), (gst_bin_add_many),
11057 (gst_bin_remove_many), (gst_element_populate_std_props),
11058 (gst_element_class_install_std_props), (gst_buffer_merge),
11059 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
11060 (link_fold_func), (gst_pad_proxy_setcaps):
11062 * gst/gstvalue.c: (gst_value_deserialize_string):
11063 * gst/parse/grammar.y:
11064 * gst/schedulers/gstbasicscheduler.c:
11065 (gst_basic_scheduler_cothreaded_chain),
11066 (gst_basic_scheduler_chain_recursive_add),
11067 (gst_basic_scheduler_pad_link):
11068 * gst/schedulers/gstoptimalscheduler.c:
11069 (get_group_schedule_function),
11070 (gst_opt_scheduler_state_transition),
11071 (gst_opt_scheduler_add_element), (element_get_reachables_func):
11072 * libs/gst/bytestream/bytestream.c:
11073 * libs/gst/dataprotocol/dataprotocol.c:
11074 (gst_dp_header_from_buffer):
11077 * tests/threadstate/threadstate2.c: (eos):
11078 * tools/gst-compprep.c: (main):
11079 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
11080 (print_pad_info), (print_children_info):
11081 * tools/gst-launch.c: (idle_func), (main):
11082 * tools/gst-md5sum.c: (idle_func), (main):
11083 * tools/gst-xmlinspect.c: (print_element_info):
11084 First THREADED backport attempt, focusing on adding locks and
11085 making sure the API is threadsafe. Needs more work. More docs
11088 2005-02-24 Andy Wingo <wingo@pobox.com>
11090 * tests/bench-complexity.scm:
11091 * tests/complexity.gnuplot: New files, good for running complexity
11094 * tests/Makefile.am:
11095 * tests/complexity.c: New test, sets up N elements, at each level
11096 teeing into M streams per element. Eeeenteresting.
11098 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
11099 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
11100 running bench-mass_elements.scm.
11102 * tests/bench-mass_elements.scm: New script, runs mass_elements
11103 for various numbers of identities, outputting the results to a
11104 file. Requires guile 1.6. Just for testing.
11106 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
11108 * gst/schedulers/fairscheduler.c:
11109 compile with debug disabled
11111 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
11114 hunting season on 0.9 is now OPEN