1 2006-03-19 Wim Taymans <wim@fluendo.com>
3 * tests/check/libs/basesrc.c: (eos_event_counter):
4 Use proper return value for probe.
6 2006-03-17 Wim Taymans <wim@fluendo.com>
8 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
10 Don't leak buffers, caps and pads on negotiation errors.
12 2006-03-16 Stefan Kost <ensonic@users.sf.net>
15 * docs/faq/dependencies.xml:
16 * docs/faq/developing.xml:
18 * docs/faq/general.xml:
19 * docs/faq/getting.xml:
21 * docs/faq/troubleshooting.xml:
23 Faq review and update.
25 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
27 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
29 Don't pound the cpu to pieces by checking get_caps when accept_caps
30 is called with the same caps as the pad already has.
31 Use GST_DEBUG_OBJECT when outputting caps change information.
33 2006-03-15 Wim Taymans <wim@fluendo.com>
35 * gst/gstclock.c: (gst_clock_class_init):
38 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
43 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
44 (gst_pad_accept_caps), (gst_pad_configure_sink),
45 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
46 Make the default acceptcaps behaviour be to check the requested
47 caps against the gst_pad_get_caps output.
49 Ensure that gst_pad_accept_caps is used to check caps when a pad
50 doesn't have a setcaps function, so that pads automatically refuse
51 caps that they don't allow in their pad template. (Fixes #332986)
53 When a buffer with attached caps is pushed, ensure that the source
54 pad receives those caps even if the element didn't call
55 gst_pad_set_caps first.
57 2006-03-15 Wim Taymans <wim@fluendo.com>
59 * libs/gst/base/gstadapter.c:
62 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
64 * win32/common/libgstbase.def:
65 * win32/common/libgstcontroller.def:
66 * win32/common/libgstreamer.def:
67 Add a whole bunch of missing functions (#334434).
69 2006-03-14 Wim Taymans <wim@fluendo.com>
71 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
72 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
73 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
74 Better debug info when we receive a segment event.
75 Reorganize a bit so we can pass the get_times() results around.
76 Use the segment format when calculating the running time.
77 Don't do QoS is sync is disabled or we have no clock or the
78 element does not want us to sync to the clock.
79 Don't drop buffers if QoS is disabled for now.
81 2006-03-14 Wim Taymans <wim@fluendo.com>
83 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
84 Marked the stats property as unimplemented so people don't get
86 Add debug message when regression goes wrong.
89 2006-03-14 Wim Taymans <wim@fluendo.com>
91 * gst/gstsegment.c: (gst_segment_to_stream_time):
92 Return correct return type in case of errors.
94 2006-03-14 Wim Taymans <wim@fluendo.com>
96 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
97 Don't segfault on invalid formats.
99 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
101 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
102 Can't use gst_segment_to_running_time() when the segment
103 is not in GST_TIME_FORMAT (like with filesink, for example).
104 Stops flac encoding pipelines from spewing critical warnings
107 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
109 * gst/gstpipeline.c: (gst_pipeline_class_init):
110 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
112 * plugins/elements/gsttypefindelement.c:
113 (gst_type_find_element_handle_event):
114 Don't try to typefind empty streams.
116 2006-03-14 Wim Taymans <wim@fluendo.com>
118 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
119 (gst_base_sink_do_qos):
120 Separate QoS calculation.
121 Only drop buffers when lateness is bigger than the
122 duration of the buffer.
124 2006-03-13 Wim Taymans <wim@fluendo.com>
126 * gst/gstpipeline.c: (gst_pipeline_set_property),
127 (gst_pipeline_get_property), (do_pipeline_seek),
128 (gst_pipeline_change_state), (gst_pipeline_set_delay),
129 (gst_pipeline_get_delay):
130 Don't deadlock when reading properties.
132 2006-03-13 Wim Taymans <wim@fluendo.com>
134 * libs/gst/base/gstbasetransform.c:
135 (gst_base_transform_class_init), (gst_base_transform_init),
136 (gst_base_transform_sink_event),
137 (gst_base_transform_sink_eventfunc),
138 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
139 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
140 (gst_base_transform_set_property),
141 (gst_base_transform_get_property),
142 (gst_base_transform_change_state), (gst_base_transform_update_qos),
143 (gst_base_transform_set_qos_enabled),
144 (gst_base_transform_is_qos_enabled):
145 * libs/gst/base/gstbasetransform.h:
146 Make basetransform virtual method for src events too.
147 Handle QOS in basetransform.
148 API: gst_base_transform_update_qos
149 API: gst_base_transform_set_qos_enabled
150 API: gst_base_transform_is_qos_enabled
152 2006-03-13 Wim Taymans <wim@fluendo.com>
154 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
155 (gst_base_sink_do_sync):
157 Use QOS debug category.
159 2006-03-13 Wim Taymans <wim@fluendo.com>
161 * plugins/elements/gstqueue.c:
162 Very small doc update.
164 2006-03-13 Wim Taymans <wim@fluendo.com>
167 * gst/gstinfo.c: (_gst_debug_init):
168 Added QOS debug category
170 2006-03-13 Wim Taymans <wim@fluendo.com>
172 * docs/gst/gstreamer-sections.txt:
173 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
175 * gst/gstbus.c: (gst_bus_class_init):
178 * gst/gstelement.c: (gst_element_set_locked_state):
180 Documentation updates.
182 * gst/gstpipeline.c: (gst_pipeline_get_type),
183 (gst_pipeline_class_init), (gst_pipeline_init),
184 (gst_pipeline_dispose), (gst_pipeline_set_property),
185 (gst_pipeline_get_property), (do_pipeline_seek),
186 (gst_pipeline_send_event), (gst_pipeline_change_state),
187 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
188 (gst_pipeline_get_delay):
190 Added methods for setting the delay.
191 API: gst_pipeline_set_delay
192 API: gst_pipeline_get_delay
193 Add pipeline debug category
196 Don't reset stream time when seek failed.
198 2006-03-13 Wim Taymans <wim@fluendo.com>
200 * docs/design/draft-klass.txt:
201 * docs/design/part-clocks.txt:
202 * docs/design/part-events.txt:
203 * docs/design/part-gstbin.txt:
204 * docs/design/part-gstpipeline.txt:
205 * docs/design/part-messages.txt:
206 * docs/design/part-negotiation.txt:
207 * docs/design/part-overview.txt:
208 * docs/design/part-preroll.txt:
209 * docs/design/part-seeking.txt:
210 * docs/design/part-states.txt:
211 * docs/design/part-streams.txt:
212 Documentation updates.
214 2006-03-12 Julien MOUTTE <julien@moutte.net>
216 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
217 us to leak strings...
219 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
221 * libs/gst/net/gstnettimeprovider.c:
223 * win32/common/config.h:
226 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
228 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
231 Don't check for libgnomeui (leftover from old examples
232 that aren't built or disted any longer) (#334303).
234 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
236 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
237 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
238 Emit RESOURCE_NO_SPACE_LEFT error here as well when
239 there's no space left on the device.
241 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
244 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
245 to cast the input to GstClockTime before comparing with
246 another GstClockTime value.
248 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
253 === release 0.10.4 ===
255 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
258 releasing 0.10.4, "Light"
260 2006-03-10 Michael Smith <msmith@fluendo.com>
262 * libs/gst/dataprotocol/dataprotocol.c:
263 Fix docs for dataprocotol to not get the return types completely
264 wrong for a few functions.
266 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
268 * docs/gst/gstreamer-sections.txt:
269 * gst/gstpipeline.c: (gst_pipeline_class_init),
270 (gst_pipeline_init), (gst_pipeline_set_property),
271 (gst_pipeline_get_property), (gst_pipeline_change_state),
272 (gst_pipeline_set_auto_flush_bus),
273 (gst_pipeline_get_auto_flush_bus):
275 Add new API: gst_pipeline_set_auto_flush_bus() and
276 gst_pipeline_get_auto_flush_bus() to disable automatic
277 flushing of the pipeline's GstBus when going from READY
278 to NULL state (#332045).
280 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
282 * docs/gst/gstreamer-sections.txt:
283 * gst/gsturi.c: (gst_uri_has_protocol):
285 Add new API: gst_uri_has_protocol() (#333779).
287 2006-03-09 Wim Taymans <wim@fluendo.com>
289 * gst/gstclock.c: (gst_clock_entry_new),
290 (gst_clock_id_compare_func), (gst_clock_id_wait),
291 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
292 (gst_clock_init), (gst_clock_get_internal_time),
293 (gst_clock_set_master), (do_linear_regression),
294 (gst_clock_add_observation), (gst_clock_set_property):
298 Fix a possible segfault when the window-size is made smaller.
299 Calculate jitter before performing the clock wait. Ideally
300 the clock implementation should calculate jitter but we need
301 API breakage for that.
303 * gst/gstsystemclock.c: (gst_system_clock_init):
306 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
309 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
310 (gst_systemclock_suite):
311 Added check to test GST_CLOCK_DIFF.
313 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
315 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
316 (gst_type_find_helper_get_range):
317 If we are provided with the size, we should implement
318 GstTypeFind::get_length, so that typefind functions who
319 want to can actually peek at the middle of a file.
321 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
323 * docs/manual/advanced-dataaccess.xml:
324 Add some very very basic error checking.
326 * docs/pwg/appendix-checklist.xml:
327 Some updates to the list of things to check when writing an element.
329 2006-03-08 Wim Taymans <wim@fluendo.com>
331 * docs/design/part-element-transform.txt:
332 Added some docs about the design of tranform elements.
334 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
335 (gst_base_src_loop), (gst_base_src_change_state):
336 Mark buffers with the DISCONT flag.
338 2006-03-08 Michael Smith <msmith@fluendo.com>
341 * gst/gstregistryxml.c: (gst_registry_save),
342 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
343 (gst_registry_xml_save_pad_template),
344 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
345 (gst_registry_xml_write_cache):
346 Rewrite registry-saving to avoid race conditions and check for
349 2006-03-08 Wim Taymans <wim@fluendo.com>
351 * libs/gst/base/gstbasetransform.c:
352 (gst_base_transform_transform_caps),
353 (gst_base_transform_transform_size),
354 (gst_base_transform_prepare_output_buffer),
355 (gst_base_transform_get_unit_size),
356 (gst_base_transform_buffer_alloc),
357 (gst_base_transform_handle_buffer),
358 (gst_base_transform_change_state):
359 Cleanups, separate normal flow from errors, add sensible
361 Don't try to renegotiate when allocating an output buffer.
362 Also copy DISCONT buffer flag when copying a buffer.
363 Reset the transform after we finish streaming, not during.
365 2006-03-08 Wim Taymans <wim@fluendo.com>
367 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
368 Use last buffer timestamp in qos message.
370 2006-03-07 Wim Taymans <wim@fluendo.com>
372 Patch by: Christophe Fergeau
374 * docs/pwg/advanced-tagging.xml:
375 * docs/pwg/building-pads.xml:
378 2006-03-07 Wim Taymans <wim@fluendo.com>
380 * docs/libs/gstreamer-libs-sections.txt:
381 Added basesink new methods.
385 Docs updates. Flesh out the QoS docs.
387 * libs/gst/base/gstadapter.c:
388 Small doc clarification about ownership and flushing.
390 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
391 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
392 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
393 (gst_base_sink_get_property), (gst_base_sink_do_sync):
394 * libs/gst/base/gstbasesink.h:
396 Added new methods to allow subclass to control max-lateness
398 Generate very basic QoS events based on last sync observation.
399 Updated docs, fix typo, added some QoS blurb.
401 * libs/gst/base/gstbasesrc.c:
402 Remove obsolete _get_state() calls from docs.
404 2006-03-07 Wim Taymans <wim@fluendo.com>
406 * docs/libs/gstreamer-libs-sections.txt:
407 * libs/gst/base/gstbasetransform.h:
408 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
409 Fix docs for GstBaseSrc.
411 2006-03-07 Wim Taymans <wim@fluendo.com>
413 * docs/gst/gstreamer-sections.txt:
416 * libs/gst/base/gstbasetransform.h:
417 Small documentation fixes.
419 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
422 Document thread-unsafety of gst_value_register_foo_func()
423 when used at the same time as gst_value_foo() (#322628).
425 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
427 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
428 (gst_push_src_check_get_range):
429 Push sources don't support pull mode by default.
431 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
433 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
434 (gst_base_src_init), (gst_base_src_pad_check_get_range),
435 (gst_base_src_default_check_get_range):
436 * libs/gst/base/gstbasesrc.h:
437 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
438 provide default implementation, and rename
439 gst_base_src_check_get_range() to
440 gst_base_src_pad_check_get_range() for clarity.
442 2006-03-06 Wim Taymans <wim@fluendo.com>
444 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
445 Make property overridable.
447 2006-03-06 Wim Taymans <wim@fluendo.com>
449 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
450 (gst_base_sink_init), (gst_base_sink_set_property),
451 (gst_base_sink_get_property), (gst_base_sink_do_sync):
452 * libs/gst/base/gstbasesink.h:
453 API addition: Make max-lateness a property.
455 2006-03-06 Wim Taymans <wim@fluendo.com>
457 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
458 (gst_base_sink_do_sync), (gst_base_sink_render_object):
459 Don't ever draw a frame that is >10ms late.
461 2006-03-06 Michael Smith <msmith@fluendo.com>
463 * gst/gstmessage.c: (_gst_message_copy):
464 When copying a message, set the parent_refcount of the enclosed
465 structure to point at the copy, not the original message.
467 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
469 Patch by: Christophe Fergeau
472 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
473 usable in c++ code (#333417)
475 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
478 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
480 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
482 * libs/gst/base/gstbasetransform.c:
483 (gst_base_transform_transform_caps):
484 Make sure caps are writable before passing them to
487 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
490 Fix some minor docs errors.
492 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
494 Patch by: Ross Burton <ross at burtonini dot com>
496 * gst/gsterror.c: (_gst_resource_errors_init):
498 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
500 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
503 Add a check and output a g_warning when GStreamer is built
504 against GLib 2.6 but running against 2.8 or higher, and vice
505 versa. (Closes: #323542)
507 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
510 Commit patch for parse_launch syntax from #331255. Removes
511 support for quoted strings and mimetypes when writing filtered
512 caps. See the bug report for more details - I'm pretty sure this
513 obscure feature is not in use by _anyone_ anywhere.
515 With this simple change, the size of the gstreamer.so here
516 drops from 2193KB to 1565KB.
518 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
520 * plugins/elements/gsttypefindelement.h:
521 * plugins/elements/gsttypefindelement.c:
522 (gst_type_find_element_src_event), (start_typefinding),
523 (stop_typefinding), (gst_type_find_element_handle_event),
524 (gst_type_find_element_chain),
525 (gst_type_find_element_chain_do_typefinding):
526 Use gst_type_find_helper_for_buffer() for chain-based
529 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
531 * plugins/elements/gsttypefindelement.c:
532 (gst_type_find_element_class_init),
533 (gst_type_find_element_set_property),
534 (gst_type_find_element_get_property):
535 Deprecate "maximum" property (not only was it only taken into
536 account for typefinding in push-mode anyway, it also was never
537 actually possible to set it in the first place because the
538 property was registered with the numeric property ID for the
539 "minimum" property). Register "maximum" property correctly,
540 for the sake of future copy'n'pasters. Remove some cruft
541 from property get/set functions.
543 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
545 * plugins/elements/gsttypefindelement.c:
546 (gst_type_find_element_activate):
547 Use gst_type_find_helper_get_range() here, so we
548 can honour the "minimum" property and also emit
549 the signal with the correct probability of the found caps.
551 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
553 * docs/libs/gstreamer-libs-sections.txt:
554 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
555 (helper_find_suggest), (gst_type_find_helper_get_range),
556 (gst_type_find_helper):
557 * libs/gst/base/gsttypefindhelper.h:
558 New API: gst_type_find_helper_get_range() (#333042).
560 2006-03-02 Michael Smith <msmith@fluendo.com>
562 * gst/gstregistryxml.c: (load_feature):
563 Asserting on a failure to read part of the registry is Not Cool.
564 Just log a warning and return NULL (which is already handled)
566 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
568 * win32/common/libgstbase.def:
569 added export of gst_type_find_helper_for_buffer
570 * win32/common/libgstbase.def:
571 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
572 gst_ghost_pad_get_target
574 2006-02-28 Wim Taymans <wim@fluendo.com>
576 * docs/design/draft-klass.txt:
578 Added Connector to mark elements that are only used to
579 allow pipeline connections.
580 Moved Debug to extra feature since most of them are
581 functionally something else.
583 2006-02-28 Wim Taymans <wim@fluendo.com>
585 * docs/design/draft-klass.txt:
586 Some updates and clarifications.
588 2006-02-28 Wim Taymans <wim@fluendo.com>
590 * docs/design/draft-klass.txt:
591 Proposal for klass field values.
593 * docs/design/part-streams.txt:
594 Start of a doc describing stream anatomy.
596 2006-02-28 Wim Taymans <wim@fluendo.com>
598 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
599 Help the compiler a bit with type registration.
600 Use existing forward cod path instead of duplicating it when
603 * gst/gstbus.c: (gst_bus_get_type):
604 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
605 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
606 * gst/gstclock.c: (gst_clock_get_type):
607 * gst/gstelement.c: (gst_element_get_type),
608 * gst/gstelementfactory.c: (gst_element_factory_get_type):
609 * gst/gstindexfactory.c: (gst_index_factory_get_type):
610 * gst/gstminiobject.c: (gst_mini_object_get_type):
611 * gst/gstpad.c: (gst_pad_get_type):
612 * gst/gstsegment.c: (gst_segment_get_type):
613 * gst/gststructure.c: (gst_structure_get_type):
614 * gst/gstsystemclock.c: (gst_system_clock_get_type):
615 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
617 Help compiler with type registration.
619 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
622 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
624 * plugins/elements/gsttypefindelement.c:
625 (gst_type_find_element_handle_event):
626 When we get an EOS event and have not found a type yet
627 (most likely because we had not yet accumulated
628 TYPE_FIND_MIN_SIZE of data yet), try to determine the
629 type given the data we have so far. Fixes typefinding
630 for very short streams again, most notably quicktime
631 redirections as used on Apple's trailer site (#331701).
633 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
635 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
636 (gst_type_find_helper):
637 Try typefinding factories with the highest rank first.
639 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
641 * docs/libs/gstreamer-libs-docs.sgml:
642 * docs/libs/gstreamer-libs-sections.txt:
643 * libs/gst/base/gsttypefindhelper.c:
644 Add section for typefind helper and add documentation
645 for the old and the new function.
647 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
649 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
650 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
651 (gst_type_find_helper_for_buffer):
652 * libs/gst/base/gsttypefindhelper.h:
653 New API: gst_type_find_helper_for_buffer() (#332723).
655 2006-02-27 Michael Smith <msmith@fluendo.com>
657 Patch by: Loïc Minier
661 * docs/slides/Makefile.am:
662 prevent CVS directories getting disted.
664 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
666 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
667 Use the REFCOUNTING category for caps refcounting.
669 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
671 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
672 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
674 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
676 * plugins/elements/gsttypefindelement.c:
677 (gst_type_find_element_activate):
678 Use gst_pad_check_pull_range() before _activate_pull()
679 to avoid unnecessary open/close (see #331690).
681 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
684 Docs enhancement: make it crystal clear what the
685 gst_pad_add_*_probe() callbacks should look like.
687 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
689 * libs/gst/base/gstbasesrc.c:
690 Document how applications can stop recording from
691 live sources (see #330996).
693 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
695 * tests/check/Makefile.am:
696 * tests/check/libs/basesrc.c: (eos_event_counter),
697 (basesrc_eos_events_pull), (basesrc_eos_events_push),
698 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
699 (gst_basesrc_suite), (main):
700 ... and add some tests for the base source EOS stuff.
702 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
704 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
705 Test case originally showed the problem fixed below,
706 but was then amended. Add checks back at the place
707 where they used to be.
709 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
711 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
712 (gst_base_src_init), (gst_base_src_loop),
713 (gst_base_src_activate_push), (gst_base_src_activate_pull),
714 (gst_base_src_change_state):
715 * libs/gst/base/gstbasesrc.h:
716 Don't unconditionally send EOS when going from PAUSED to
717 READY state, esp. make sure we don't send two EOS events
718 in some cases (e.g. one when reaching EOS and one when
719 going from PAUSED to READY). Also, we don't want to send
720 EOS events when operating in pull mode. However, we do
721 want to send an EOS event when shutting down a live
722 source explicitly, for example (fixes #330996).
724 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
726 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
727 Update src->read_position after a seek when not using mmap.
728 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
730 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
736 Make things work with --disable-parse as they do with
737 --disable-load-save - the symbols involved disappear, but the
738 header is still installed and GST_DISABLE_PARSE is included via
741 2006-02-20 Julien MOUTTE <julien@moutte.net>
743 * libs/gst/base/gstbasetransform.c:
744 (gst_base_transform_change_state): Fix a stupid bug. I was
745 sure I compiled that.
747 2006-02-20 Julien MOUTTE <julien@moutte.net>
749 * gst/gstpad.c: (gst_pad_set_blocked_async):
750 * gst/gstutils.c: (gst_pad_add_data_probe),
751 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
752 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
753 (gst_pad_remove_buffer_probe): Make those function act on the
754 ghostpad target when it's a ghostpad. (Closes #331727)
756 2006-02-20 Julien MOUTTE <julien@moutte.net>
758 * libs/gst/base/gstbasetransform.c:
759 (gst_base_transform_change_state): Make basetransform reusable.
762 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
764 * docs/random/release:
765 Move the current documentation of how to do a release to the top
768 * gst/gstbin.c: (gst_bin_class_init),
769 (gst_bin_handle_message_func):
770 Allow multiple state-recalculation threads. (Closes #328873)
772 2006-02-19 Julien MOUTTE <julien@moutte.net>
774 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
775 * gst/gstpad.c: (gst_pad_set_event_function),
776 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
777 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
778 2 strings. You can't use the STR_NULL macro on that.
780 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
782 * gst/gstpad.c: (gst_pad_set_event_function),
783 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
784 (gst_pad_set_getcaps_function)
785 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
786 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
787 So now, we can use --gst-debug-level=5 on Windows
788 * win32/common/libgstcontroller.def:
789 Added export of gst_controller_init
790 * win32/vs6/libgstcontroller.dsp:
791 Fixed Release post build configuration
793 2006-02-17 Wim Taymans <wim@fluendo.com>
795 * tests/check/gst/gstquery.c: (GST_START_TEST):
798 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
800 * plugins/elements/gsttypefindelement.c: (find_peek):
801 We can do peeks at non-zero offsets, as long as they
802 fall within the buffer we have.
804 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
806 * tests/check/Makefile.am:
807 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
808 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
809 (parse_suite), (main):
810 Add testsuite for parse launch syntax
812 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
814 * plugins/elements/gsttypefindelement.c:
815 (gst_type_find_element_chain):
816 When typefinding is unsuccessful in the chain function, don't
817 error out immediately. Only error out with NO_CAPS_FOUND if
818 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
819 otherwise simply wait for more data so we can try typefinding
820 again with more data later. Also, don't attempt to typefind
821 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
822 this should improve typefinding from network sources where the
823 size of the first buffer can be somewhat random.
825 2006-02-14 Wim Taymans <wim@fluendo.com>
827 * docs/gst/gstreamer-sections.txt:
828 * gst/gstpadtemplate.c:
829 * gst/gstpadtemplate.h:
830 Fix padtemplate docs, fixes #328805.
832 2006-02-14 Wim Taymans <wim@fluendo.com>
834 * tools/gst-launch.c: (main):
835 NO_PREROLL is not an ERROR so don't send confusing messages
838 2006-02-14 Wim Taymans <wim@fluendo.com>
840 Patch by: Torsten Schoenfeld
842 * gst/gstregistry.c: (gst_registry_get_default),
843 (_gst_registry_cleanup):
844 Protect default registry with lock and ref/sink it.
847 2006-02-14 Wim Taymans <wim@fluendo.com>
850 * gst/gstquery.c: (gst_query_list_add_format),
851 (gst_query_set_formatsv), (gst_query_parse_formats_length),
852 (gst_query_parse_formats_nth):
853 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
856 2006-02-14 Wim Taymans <wim@fluendo.com>
858 * docs/gst/gstreamer-sections.txt:
861 * gst/gstquery.c: (gst_query_new_formats),
862 (gst_query_list_add_format), (gst_query_set_formats),
863 (gst_query_set_formatsv), (gst_query_parse_formats_length),
864 (gst_query_parse_formats_nth):
866 Flesh out formats query, added some new methods.
869 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
870 Added query creation tests.
872 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
874 * gst/gstpad.c: (fixate_value):
875 Add a default fixation for fraction lists.
877 2006-02-13 Wim Taymans <wim@fluendo.com>
879 * gst/gsttask.c: (gst_task_init), (gst_task_func),
880 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
883 Detect and warn for obvious deadlocks. fixes #320340
884 Fix error case where lock was not released.
886 * tests/check/Makefile.am:
887 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
888 (task_func), (gst_element_suite), (main):
891 2006-02-13 Wim Taymans <wim@fluendo.com>
893 * docs/gst/gstreamer-sections.txt:
895 Add new functions to docs.
897 2006-02-13 Wim Taymans <wim@fluendo.com>
899 * docs/design/part-TODO.txt:
900 Updated TODO list, basesrc supports seeking to non-bytes
903 * docs/design/part-element-sink.txt:
906 * gst/gstbin.c: (bin_replace_message),
907 (gst_bin_handle_message_func):
908 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
909 * gst/gstevent.c: (gst_event_finalize):
910 * gst/gstpad.c: (gst_pad_event_default_dispatch),
911 (gst_pad_send_event):
912 Use shiny new _TYPE_NAME macros.
914 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
915 Move debug statement up.
917 * gst/gstelement.c: (gst_element_set_locked_state):
920 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
922 * docs/gst/gstreamer-sections.txt:
925 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
926 macros (#330906). Also, document the already existing
927 GST_QUERY_TYPE macro.
929 2006-02-13 Wim Taymans <wim@fluendo.com>
931 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
932 (event_probe), (GST_START_TEST):
933 Only events up to the pipeline EOS are counted, there are
934 some more when going to NULL currently which we don't care
937 2006-02-13 Wim Taymans <wim@fluendo.com>
939 * gst/gstpad.c: (gst_pad_send_event):
940 Correctly check flushing and emit probes. fixes #330125
942 2006-02-10 Andy Wingo <wingo@pobox.com>
944 * gst/gstbus.c (gst_bus_class_init): Declare our private data
946 (gst_bus_init): Cache the location of the private data in the
948 (gst_bus_enable_sync_message_emission)
949 (gst_bus_disable_sync_message_emission): Implement new public
951 (gst_bus_post): Emit the sync-message signal if the user asked for
954 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
955 location of the bus-private structure.
956 (gst_bus_enable_sync_message_emission)
957 (gst_bus_disable_sync_message_emission): API addition
959 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
961 Patch by: Vincent Torri
963 * docs/pwg/building-boiler.xml:
964 PWG patch from #326800
966 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
970 * docs/design/Makefile.am:
973 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
978 === release 0.10.3 ===
980 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
983 releasing 0.10.3, "Like a virgin"
985 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
988 2nd prerelease of 0.10.3
989 Bump libtool versioning.
991 2006-02-07 Andy Wingo <wingo@pobox.com>
993 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
994 update last_stop if we're in TIME format and the timestamp is
997 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
998 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
999 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
1000 If we get a new newsegment with a different format, adapt
1003 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
1004 of 0. Not a problem, really.
1006 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
1009 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
1014 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
1017 project files updated to the default vs7 configuration
1018 * win32/common/libgstbase.def:
1019 * win32/common/libgstreamer.def:
1021 removed empty lines,
1022 sorted all exported symbols alphabetically
1023 * win32/common/dirent.c:
1024 * win32/common/dirent.h:
1025 * win32/common/gchar.h:
1026 use windows line end.
1028 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
1030 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1031 Send EOS event when stopping.
1033 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
1036 Tell folks what to do if the plugin-foobar.xml file
1037 hasn't been generated for a newly-added plugin.
1039 2006-02-05 Julien MOUTTE <julien@moutte.net>
1041 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1042 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1043 (gst_collect_pads_start), (gst_collect_pads_stop),
1044 (gst_collect_pads_event): Collectpads now holds a reference
1045 to the GstPad that was added. Indeed we don't want to look
1046 at pads that might just go away with no warning...
1048 2006-02-05 Julien MOUTTE <julien@moutte.net>
1050 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1051 (gst_collect_pads_start), (gst_collect_pads_stop),
1052 (gst_collect_pads_event), (gst_collect_pads_chain):
1053 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
1054 Mark Nauwelaerts's patch on bug #328491.
1056 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
1058 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
1060 Add some simple tests for gst_parse_bin_from_description() and
1061 gst_bin_find_unconnected_pad() (#329069).
1063 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
1065 * tools/gst-launch.c: (event_loop), (main):
1066 Catch errors during preroll (#320084).
1068 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
1070 * plugins/elements/gsttypefindelement.c:
1071 (gst_type_find_element_activate):
1072 Post TYPE_NOT_FOUND error message when typefinding
1073 is unsuccessful in the activate function as well.
1075 2006-02-02 Wim Taymans <wim@fluendo.com>
1077 * docs/design/part-element-sink.txt:
1080 2006-02-02 Wim Taymans <wim@fluendo.com>
1082 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1083 (gst_base_sink_render_object),
1084 (gst_base_sink_queue_object_unlocked):
1085 Only keep track of prerollable items when we are
1087 Before rendering after preroll, always check if we
1089 Added some more debugging.
1091 2006-02-02 Wim Taymans <wim@fluendo.com>
1093 * gst/gstelement.c: (gst_element_continue_state),
1094 (gst_element_set_state_func), (gst_element_change_state):
1095 Fixed #326576, been running this for quite some time with
1096 no regressions at all.
1098 2006-02-02 Wim Taymans <wim@fluendo.com>
1101 Added more suppressions
1103 2006-02-02 Wim Taymans <wim@fluendo.com>
1105 * docs/design/part-element-sink.txt:
1108 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1109 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
1110 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
1111 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1112 (gst_base_sink_do_sync), (gst_base_sink_render_object),
1113 (gst_base_sink_preroll_object),
1114 (gst_base_sink_queue_object_unlocked),
1115 (gst_base_sink_queue_object), (gst_base_sink_event),
1116 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
1117 (gst_base_sink_loop), (gst_base_sink_activate_pull),
1118 (gst_base_sink_get_position), (gst_base_sink_change_state):
1119 * libs/gst/base/gstbasesink.h:
1120 Totally refactored matching the design doc.
1121 Use two segments, one to clip incomming buffers and another to
1123 Handle queueing correctly, bypass the queue when playing.
1124 Make EOS cancelable.
1125 Handle errors correctly when operating in pull based mode.
1127 * tests/check/elements/fakesink.c: (GST_START_TEST),
1129 Added new check for sinks.
1131 2006-02-02 Wim Taymans <wim@fluendo.com>
1133 * gst/gstsegment.c: (gst_segment_clip):
1134 No reason to refuse to clip when start == -1
1136 2006-02-02 Stefan Kost <ensonic@users.sf.net>
1139 * docs/manual/intro-basics.xml:
1140 * docs/manual/intro-preface.xml:
1141 * docs/manual/manual.xml:
1142 * docs/pwg/advanced-dparams.xml:
1143 * docs/pwg/intro-basics.xml:
1144 * docs/pwg/intro-preface.xml:
1146 describe dparams (controller) for plugins
1147 unify docs a little more
1149 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
1151 * docs/gst/gstreamer-sections.txt:
1152 * gst/gstutils.c: (element_find_unconnected_pad),
1153 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
1155 Add new API: gst_parse_bin_from_description() and
1156 gst_bin_find_unconnected_pad() (#329069).
1158 2006-02-01 Stefan Kost <ensonic@users.sf.net>
1160 * docs/manual/README:
1161 uncover a nasty detail of the docs build
1163 2006-01-31 Wim Taymans <wim@fluendo.com>
1165 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
1166 Don't cache duration messages if we're not going to use or
1169 2006-01-31 Stefan Kost <ensonic@users.sf.net>
1171 * docs/manual/advanced-dparams.xml:
1172 * docs/pwg/advanced-dparams.xml:
1176 * libs/gst/controller/lib.c: (gst_controller_init):
1179 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
1181 * gst/gstelement.c: (gst_element_message_full):
1182 also show file/line/func if no additional debug was given
1184 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
1186 * win32/vs7/grammar.vcproj:
1187 activate copy of autogenerated files for Release mode
1189 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
1191 * win32/common/libgstreamer.def:
1192 export gst_value_compare
1194 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
1196 * plugins/elements/Makefile.am:
1197 * plugins/elements/gstelements.c:
1198 * plugins/elements/gstfdsink.c: (_do_init),
1199 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
1200 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
1201 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
1202 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
1203 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
1204 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
1205 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
1206 * plugins/elements/gstfdsink.h:
1207 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
1209 2006-01-30 Stefan Kost <ensonic@users.sf.net>
1211 * docs/manual/advanced-dparams.xml:
1213 * docs/manual/advanced-position.xml:
1214 * docs/manual/basics-init.xml:
1215 * docs/manual/manual.xml:
1216 * docs/manual/titlepage.xml:
1218 * docs/pwg/titlepage.xml:
1219 cleanup xml (more to come)
1220 * libs/gst/controller/gstcontroller.c:
1223 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
1225 * win32/vs6/grammar.dsp:
1226 add autogen of gstmarshal.c,h for Release mode
1228 2006-01-30 Wim Taymans <wim@fluendo.com>
1230 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1231 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
1232 (gst_base_sink_handle_object), (gst_base_sink_event),
1233 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
1234 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
1235 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
1236 (gst_base_sink_deactivate), (gst_base_sink_activate),
1237 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1238 (gst_base_sink_query), (gst_base_sink_change_state):
1239 Basesink cleanups, remove some old code.
1240 Handle the case where a subclass can preroll in the render
1241 method (mostly audiosinks).
1243 Remove some locks around variables that are now protected
1244 with the PREROLL_LOCK (clock_id, flushing, ..).
1245 Optimize position query some more, do correct locking.
1246 Remove old code to push queue in state change, this is not
1247 needed anymore since preroll blocks on all prerollable items
1249 Almost implemented as described in design doc.
1251 2006-01-30 Wim Taymans <wim@fluendo.com>
1253 * tests/check/gst/gstbin.c: (GST_START_TEST):
1254 Wait for refcount to settle down before checking.
1256 2006-01-30 Wim Taymans <wim@fluendo.com>
1258 * docs/design/part-element-sink.txt:
1259 Pseudo code overview of desired sink behaviour regarding
1262 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
1263 * win32/vs6/grammar.dsp:
1264 fix some bugs in Release mode for autogenerated files
1266 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
1267 * win32/common/libgstbase.def:
1268 * win32/common/libgstreamer.def:
1269 export some new symbols: gst_base_src_set_format,
1270 gst_iterator_next, gst_structure_set_valist
1272 2006-01-29 Julien MOUTTE <julien@moutte.net>
1274 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1275 Set pad functions unconditionally. Fixes #329105.
1277 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
1279 add vs8 project files created by Sergey Scobich
1281 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
1283 * gst/gstutils.c: (gst_element_unlink_pads):
1284 Don't leak pad references.
1286 * tests/check/elements/fakesink.c: (GST_START_TEST):
1287 * tests/check/generic/sinks.c: (GST_START_TEST):
1288 * tests/check/generic/states.c: (GST_START_TEST):
1289 * tests/check/gst/gstbin.c: (GST_START_TEST):
1290 * tests/check/gst/gstcaps.c: (GST_START_TEST):
1291 * tests/check/gst/gstelement.c: (GST_START_TEST):
1292 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1293 * tests/check/gst/gstiterator.c: (GST_START_TEST):
1294 * tests/check/gst/gstvalue.c: (GST_START_TEST):
1295 Fix a bunch of leaks. Make generic/sinks.c
1296 use a bit less cpu by slowing the buffer rate
1297 between fakesrc and fakesink.
1299 2006-01-27 Stefan Kost <ensonic@users.sf.net>
1301 * gst/gstelement.c: (gst_element_send_event):
1304 * gst/gstiterator.c:
1305 * gst/gstiterator.h:
1306 * gst/gstpad.c: (gst_pad_send_event):
1307 * gst/gststructure.c:
1311 * libs/gst/base/gstadapter.c:
1312 doc fixes, to link to function, just write gst_cool_function(), don't
1315 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
1317 * plugins/elements/gsttee.c: (gst_tee_do_push),
1318 (gst_tee_handle_buffer):
1319 Always prefer an actual return value from a src
1320 pad in place of NOT_LINKED. This means we return
1321 WRONG_STATE when all src pads are WRONG_STATE
1322 instead of NOT_LINKED.
1324 Lock when replacing the last message to prevent
1325 racing with the get_property method.
1329 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
1331 * tests/check/Makefile.am:
1332 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
1334 Add a very simple check that should have caught the memleak I fixed
1335 last night (if not for the slice allocator hiding it)
1337 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
1339 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1340 (gst_bin_remove_func), (gst_bin_handle_message_func),
1341 (bin_query_duration_fold), (bin_query_generic_fold):
1342 Clean up references to the clock provider when disposed or when
1343 handling a clock-lost message from it.
1345 Unref sinks when performing a query via gst_iterator_fold, as the
1346 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
1348 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
1349 (gst_clock_set_master):
1350 Drop our reference to the master clock, if any, when we are disposed.
1352 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
1353 Chain up in dispose.
1355 2006-01-26 Wim Taymans <wim@fluendo.com>
1357 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
1360 2006-01-26 Julien MOUTTE <julien@moutte.net>
1362 * plugins/elements/gsttee.c: (gst_tee_do_push),
1363 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
1364 handles pad being NOT_LINKED or in WRONG_STATE.
1366 2006-01-26 Stefan Kost <ensonic@users.sf.net>
1371 2006-01-26 Stefan Kost <ensonic@users.sf.net>
1374 remove obsolete entry
1376 2006-01-26 Stefan Kost <ensonic@users.sf.net>
1378 * docs/gst/gstreamer-sections.txt:
1379 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
1380 (gst_bin_iterate_sources), (gst_bin_send_event):
1382 * gst/gstelement.c: (gst_element_send_event):
1384 * gst/gstpad.c: (gst_pad_send_event):
1385 added code for downstream events, reviewed docs in gstevent.c
1387 2006-01-25 Julien MOUTTE <julien@moutte.net>
1389 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1390 We only query position using the clock in the playing state.
1391 Query peer in the other cases.
1392 * win32/common/config.h: Updates.
1394 2006-01-24 Wim Taymans <wim@fluendo.com>
1396 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1397 A clock entry that is scheduled for the exact time of the
1398 clock is still in time.
1400 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1401 (gst_base_sink_do_sync):
1402 Add some more debug info.
1404 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
1407 Add new vs7 project files and solution.
1409 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
1412 all files removed as they were out-dated.
1414 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
1416 * docs/random/release:
1418 * gst/gstbin.c: (gst_bin_init):
1419 * gst/gstbus.c: (gst_bus_new):
1421 * gst/gstpipeline.c: (gst_pipeline_init):
1422 use gst_bus_new(), improve logging, fix docs
1423 * win32/common/config.h:
1424 update for cvs build
1426 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
1429 up required version of automake to 1.7
1431 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
1433 * win32/common/libgstreamer.def:
1434 export gst_buffer_is_metadata_writable
1436 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
1438 * docs/gst/gstreamer-sections.txt:
1440 Add gst_event_replace() (#327001)
1442 2006-01-20 Wim Taymans <wim@fluendo.com>
1444 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1445 Make it actually compile too..
1447 2006-01-20 Wim Taymans <wim@fluendo.com>
1450 Clarify behaviour of _is_equal() when passing NULL parameters.
1452 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1454 Cleanups. Don't unref NULL caps.
1455 When setting the same caps, protect caps of the pad with
1457 Use full functionality of _is_equal() when comparing caps.
1459 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
1461 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1462 Don't loop infinitely if there are no buffers to present. Partially
1463 fixes #327197, but collectpads is just broken for reusing elements
1464 to do multiple encodes atm.
1466 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
1468 * tools/gst-inspect.c: (print_element_features):
1469 * tools/gst-xmlinspect.c: (main):
1470 URL_HANDLER is not a plugin feature we can search for in
1473 2006-01-19 Edward Hervey <edward@fluendo.com>
1475 * gst/gstelement.c: (gst_element_pads_activate):
1476 When activating, do src pads first, then sink pads.
1477 When de-activating, do sink pads first, then src pads.
1479 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
1481 * docs/gst/gstreamer-sections.txt:
1482 Add gst_index_add_associationv to the docs
1484 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
1489 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
1490 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
1491 Do some refactoring. Doesn't actually change functionality,
1492 but makes landing the DRAIN event easier later.
1494 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
1496 * docs/pwg/advanced-scheduling.xml:
1497 Update from 0.9.x to 0.10 API and make example a bit
1500 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
1502 * docs/gst/gstreamer-sections.txt:
1503 Add gst_buffer_(is|make)_metadata_writable methods.
1505 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
1507 * docs/design/part-sparsestreams.txt:
1508 Update sparse streams doc, hopefully for greater clarity
1510 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
1512 * docs/design/part-events.txt:
1513 Remove mention of FILLER events.
1516 * docs/design/part-sparsestreams.txt:
1517 Write some things about using NEWSEGMENT to keep sparse streams
1520 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
1522 * gst/gstbin.c: (gst_bin_dispose):
1523 Guard gst_object_unref call against a NULL object (dispose
1524 can theoretically be called multiple times).
1526 2006-01-18 Wim Taymans <wim@fluendo.com>
1528 * gst/gstbin.c: (gst_bin_element_set_state):
1529 * gst/gstclock.c: (gst_clock_id_wait):
1530 Added some more debug info.
1532 * libs/gst/base/gstadapter.c:
1535 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1536 (gst_base_sink_do_sync), (gst_base_sink_chain):
1537 Added some comments.
1539 2006-01-18 Wim Taymans <wim@fluendo.com>
1541 * tests/check/Makefile.am:
1542 * tests/check/elements/fakesink.c: (chain_async_buffer),
1543 (chain_async), (chain_async_return), (GST_START_TEST),
1544 (fakesink_suite), (main):
1545 Added fakesink test that checks prerolling and clipping
1548 * tests/check/gst/gstutils.c: (GST_START_TEST):
1549 Make check run faster so that buildbots don't timeout.
1551 2006-01-18 Wim Taymans <wim@fluendo.com>
1553 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1554 (gst_base_sink_do_sync):
1556 When the sink finishes blocking on the preroll buffer, it can
1557 immediatly render it instead of rendering when the next buffer
1560 2006-01-18 Wim Taymans <wim@fluendo.com>
1562 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
1563 (gst_base_sink_get_property), (gst_base_sink_do_sync),
1564 (gst_base_sink_chain):
1566 GST_ELEMENT_CLOCK and sync are protected with LOCK.
1567 Don't store _last_stop if the buffer is dropped.
1569 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
1571 * plugins/elements/gsttypefindelement.c:
1572 (gst_type_find_element_class_init):
1573 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
1574 object method handler that sets the caps on the pad and we want
1575 that to happen before we emit the signal (fixes e.g. feeding a
1576 plain text file to decodebin).
1578 2006-01-18 Christian Schaller <Christian@fluendo.com>
1580 * gst/gstplugin.c: Add MPL and Proprietary as license options
1582 2006-01-18 Andy Wingo <wingo@pobox.com>
1584 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
1585 symbol was exported before, it appears this was just an oversight.
1587 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
1589 * gst/gstindex.c (gst_index_add_associationv): Changed int in
1590 prototype to gint. OK since this prototype was not in the header.
1592 2006-01-17 Andy Wingo <wingo@pobox.com>
1594 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
1595 registry while we remove plugins.
1597 * tools/gst-inspect.c (print_element_info): Don't unref the
1598 factory arg, that should be the responsibility of whatever code
1599 received the ref. Fixes a double-free when called from
1600 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
1601 (main): Unref the factory if we have one.
1602 (print_element_list): No change -- relies on the
1603 plugin_feature_list_free to free the list of features.
1605 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
1607 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
1608 (gst_buffer_make_metadata_writable):
1610 * libs/gst/base/gstbasetransform.c:
1611 (gst_base_transform_prepare_output_buf):
1612 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1613 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1614 Replace gst_buffer_(make|is)_metadata_writable patch now
1615 that the release is out.
1617 2006-01-17 Andy Wingo <wingo@pobox.com>
1619 * gst/gstregistry.c: Reflow design comment. Update so as to speak
1620 in the present tense without reference to versions.
1622 * gst/gstregistry.c (gst_registry_add_plugin)
1623 (gst_registry_remove_plugin, gst_registry_remove_feature)
1624 (gst_registry_find_feature, gst_registry_get_feature_list)
1625 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
1626 (gst_registry_lookup, gst_registry_scan_path)
1627 (_gst_registry_remove_cache_plugins)
1628 (gst_registry_get_feature_list_by_plugin): Add argument
1631 === release 0.10.2 ===
1633 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
1636 releasing 0.10.2, "If man is five"
1638 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
1642 * libs/gst/base/gstbasetransform.c:
1643 (gst_base_transform_prepare_output_buf):
1644 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1645 * tests/check/gst/gstbuffer.c: (gst_test_suite):
1646 Back out patch until after the release.
1648 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
1650 * gst/gstminiobject.c:
1651 Spelling fix in docs.
1652 * ChangeLog - remove conflict indicator
1654 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
1656 Reviewed By: Andy Wingo
1658 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
1659 (gst_buffer_make_metadata_writable):
1661 Add gst_buffer_(is|make)_metadata_writable as analogues of
1662 gst_buffer_(is|make)_writable.
1664 * libs/gst/base/gstbasetransform.c:
1665 (gst_base_transform_prepare_output_buf):
1666 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1667 Use name gst_buffer_(is|make)_metadata_writable functions.
1669 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1670 Test gst_buffer_(is|make)_metadata_writable
1674 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
1676 * docs/manual/Makefile.am:
1677 don't do parallel make
1680 * win32/common/config.h.in:
1681 add generations for HOST_CPU and GST_MAJORMINOR
1682 * win32/common/config.h:
1683 commit generated result
1685 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
1687 * docs/manual/appendix-integration.xml:
1688 Update GNOME integration section to use gst_init_get_option_group()
1689 instead of the old popt stuff (#322911). Also, GNOME applications
1690 should now use gconf*sink and gconf*src instead of the old gconf
1693 2006-01-13 Stefan Kost <ensonic@users.sf.net>
1696 * docs/gst/gstreamer-docs.sgml:
1697 * docs/gst/gstreamer-sections.txt:
1698 * docs/libs/gstreamer-libs-sections.txt:
1699 add new API entries to the docs
1700 * libs/gst/controller/Makefile.am:
1701 * libs/gst/controller/gstcontroller.c:
1702 * libs/gst/controller/gstcontroller.h:
1703 * libs/gst/controller/gstcontrollerprivate.h:
1704 * libs/gst/controller/gsthelper.c:
1705 * libs/gst/controller/gstinterpolation.c:
1706 move private structs to private header
1708 gstreamer-0.7 -> gstreamer-0.10
1709 * tests/check/libs/struct_i386.h:
1710 remove private structs
1712 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
1714 * plugins/indexers/Makefile.am:
1715 Fixes as part of #317048
1717 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
1719 * plugins/indexers/Makefile.am:
1720 fix #316086 - compilation when mmap is missing
1722 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
1724 * libs/gst/base/gstbasesink.c:
1725 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
1726 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
1727 * win32/common/config.h:
1728 added some defines GST_MAJORMINOR and HOST_CPU
1729 * win32/common/libgstbase.def:
1730 * win32/common/libgstreamer.def:
1731 added some exported functions.
1733 2006-01-12 Stefan Kost <ensonic@users.sf.net>
1735 * libs/gst/controller/gstcontroller.c:
1736 (gst_controlled_property_set_interpolation_mode),
1737 (gst_controlled_property_new):
1738 * libs/gst/controller/gstcontroller.h:
1739 * libs/gst/controller/gstinterpolation.c:
1740 (interpolate_none_get_string_value_array):
1741 make G_TYPE_STRING controlable
1743 2006-01-12 Stefan Kost <ensonic@users.sf.net>
1746 * tools/gst-feedback.1.in:
1747 * tools/gst-inspect.1.in:
1748 * tools/gst-launch.1.in:
1749 * tools/gst-md5sum.1.in:
1750 * tools/gst-typefind.1.in:
1751 * tools/gst-xmlinspect.1.in:
1752 * tools/gst-xmllaunch.1.in:
1753 cleanup man-pages, remove reference to gst-register, document env-vars
1755 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
1757 * gst/gstbuffer.c: (gst_buffer_span):
1758 gst_buffer_span should copy the timestamp of the first buffer
1759 if they were both originally overlapping subbuffers of the
1760 same parent, using the same logic as the 'slow copy' case.
1762 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
1764 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
1765 Need to awaken ALL the pads when we pop a buffer, otherwise
1766 collectpads only works when there is 2 input streams.
1768 2006-01-11 Stefan Kost <ensonic@users.sf.net>
1770 * docs/random/ensonic/media-device-daemon.txt:
1773 fix doc example, add clarification
1774 * tools/gst-launch.1.in:
1775 add initial info about GST_PLUGIN_PATH, needs more work
1777 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
1779 * docs/manual/basics-bins.xml:
1780 * docs/manual/basics-elements.xml:
1781 * docs/manual/intro-basics.xml:
1782 Some more minor docs additions and updates.
1784 2006-01-11 Wim Taymans <wim@fluendo.com>
1786 * docs/manual/basics-bins.xml:
1787 * docs/manual/basics-elements.xml:
1788 Some small fixes as pointed out by Ser-ver on IRC.
1790 2006-01-10 Edward Hervey <edward@fluendo.com>
1792 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1793 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
1794 the single-segment mode.
1796 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
1798 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1800 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
1801 (gst_base_src_perform_seek), (gst_base_src_send_event),
1802 (gst_base_src_set_property), (gst_base_src_get_property),
1803 (gst_base_src_loop), (gst_base_src_start),
1804 (gst_base_src_activate_push):
1805 * libs/gst/base/gstbasesrc.h:
1806 Name (private) union; makes Sun's Forte compiler happy (#324900).
1808 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
1811 gst-register is gone.
1813 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
1815 * gst/gstvalue.c: (_gst_value_initialize):
1816 make the G_TYPE_DATE instantiation work if debug is disabled
1818 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
1820 * gst/gstmessage.c: (gst_message_parse_tag),
1821 (gst_message_parse_error), (gst_message_parse_warning):
1822 Don't crash when return location for error/warning debug
1823 string is NULL; add fact that return locations can be
1824 NULL to docs where appropriate.
1826 2006-01-05 Wim Taymans <wim@fluendo.com>
1828 * gst/gstplugin.c: (gst_plugin_load_file):
1829 Replace strdup by g_strdup.
1831 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
1833 * docs/pwg/advanced-types.xml:
1836 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
1838 submitted by: Abel Cheung
1842 Added Chinese (traditional) translation
1844 2006-01-04 Wim Taymans <wim@fluendo.com>
1846 * docs/manual/basics-pads.xml:
1847 * docs/plugins/Makefile.am:
1848 * docs/plugins/gstreamer-plugins-docs.sgml:
1849 * docs/plugins/gstreamer-plugins-sections.txt:
1850 * docs/pwg/advanced-clock.xml:
1851 * docs/pwg/advanced-scheduling.xml:
1852 * docs/pwg/advanced-types.xml:
1853 * plugins/elements/gstfdsink.c:
1854 * plugins/elements/gstfdsrc.c:
1855 * plugins/elements/gstfdsrc.h:
1856 * plugins/elements/gstidentity.c: (gst_identity_class_init):
1857 * plugins/elements/gstidentity.h:
1858 * plugins/elements/gstqueue.h:
1859 * plugins/elements/gsttee.c:
1860 * plugins/elements/gsttee.h:
1861 * plugins/elements/gsttypefindelement.c:
1862 (gst_type_find_element_class_init):
1863 * plugins/elements/gsttypefindelement.h:
1864 Small updates to various docs.
1865 Added core plugins to docs.
1867 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
1870 add a suppression for liboil's uninitialized variable
1872 2006-01-02 James Livingston <jrl at ids dot org dot au>
1874 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1877 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
1878 macro, so that gcc doesn't complain if the -Wmissing-prototypes
1879 compiler switch is being used (#325429).
1881 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
1883 * gst/gstbin.c: (gst_bin_query):
1884 Disable duration query caching in bins until it gets
1885 fixed (see #324807).
1887 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
1889 * tools/gst-inspect.c: (print_element_properties_info):
1890 Handle properties of POINTER and BOXED type.
1892 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
1894 * gst/gst.c: (init_post):
1895 Init tags stuff and some other things before loading
1896 any static plugins (there may be other static plugins
1897 than just the GStreamer ones, and they may want to
1898 register their own tags or formats or whatever, and
1899 preferably without segfaulting).
1901 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1902 Print at least a warning in the debug logs if we drop a
1903 query just because we don't know how to adjust the value
1904 in the particular format.
1906 2005-12-24 David Schleef <ds@schleef.org>
1908 * tools/gstreamer-completion:
1909 Replacement for gst-complete written in sh and sed. Only
1910 completes names of features, but that's 90% of what I want
1911 it for. Properties are not available in registry.xml. (Maybe
1914 === release 0.10.1 ===
1916 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
1919 releasing 0.10.1, "Nollaig chridheil"
1921 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
1924 Add missing quote, should be make ERROR_CFLAGS="".
1926 2005-12-20 Wim Taymans <wim@fluendo.com>
1928 * docs/design/part-trickmodes.txt:
1929 More documentation on trickmodes.
1931 2005-12-20 Edward Hervey <edward@fluendo.com>
1933 * gst/gstcaps.c: (gst_static_caps_get_type):
1935 API addition: GST_TYPE_STATIC_CAPS
1936 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
1937 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
1938 * gst/gstpadtemplate.h:
1939 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
1940 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
1943 2005-12-18 Wim Taymans <wim@fluendo.com>
1945 * libs/gst/base/gstadapter.c:
1946 * libs/gst/base/gstadapter.h:
1947 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1948 (gst_base_sink_get_position):
1949 * libs/gst/base/gstbasesink.h:
1950 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1951 (gst_base_src_default_query), (gst_base_src_default_do_seek),
1952 (gst_base_src_do_seek), (gst_base_src_perform_seek),
1953 (gst_base_src_send_event), (gst_base_src_update_length),
1954 (gst_base_src_get_range), (gst_base_src_loop),
1955 (gst_base_src_start):
1956 * libs/gst/base/gstbasesrc.h:
1957 * libs/gst/base/gstbasetransform.h:
1958 * libs/gst/base/gstcollectpads.h:
1959 * libs/gst/base/gstpushsrc.c:
1960 * libs/gst/base/gstpushsrc.h:
1961 * libs/gst/dataprotocol/dataprotocol.c:
1962 * libs/gst/dataprotocol/dataprotocol.h:
1963 * libs/gst/net/gstnetclientclock.h:
1964 * libs/gst/net/gstnettimeprovider.h:
1965 Documentation updates.
1967 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
1969 * docs/manual/basics-helloworld.xml:
1970 Remove superfluous closing bracket in helloworld example.
1972 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
1974 * tools/gst-launch.1.in:
1975 Update gst-launch man page; add a section with useful
1976 environment variables. Fixes #323882.
1978 2005-12-16 Stefan Kost <ensonic@users.sf.net>
1981 * gst/gst_private.h:
1982 change some char* into char[]
1984 2005-12-16 Wim Taymans <wim@fluendo.com>
1986 * gst/gstregistryxml.c: (load_feature):
1988 Don't use g_object_unref on GstObjects so that we avoid
1989 leaks on unsafe glibs.
1991 2005-12-16 Wim Taymans <wim@fluendo.com>
1993 * gst/gstbin.c: (gst_bin_recalc_state):
1996 2005-12-16 Wim Taymans <wim@fluendo.com>
1999 Added make forever target for check.
2001 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
2003 * gst/gst.c: (init_post):
2004 make the registry cache file HOST_CPU-dependent
2006 2005-12-16 Andy Wingo <wingo@pobox.com>
2008 * plugins/elements/gstbufferstore.c
2009 (gst_buffer_store_cleared_func): Pay attention to g_list_append
2012 * tests/check/gst/gstobject.c
2013 (test_fake_object_name_threaded_unique): Pay attention to
2014 g_list_sort return value.
2016 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
2018 * tools/gst-feedback-m.m:
2019 Update for 0.9/0.10 (fixes #323870).
2021 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
2023 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
2024 Fix lcopy for mini objects, the mini object needs to be ref'ed.
2026 * tests/check/gst/gstminiobject.c: (my_foo_init),
2027 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
2028 (test_value_collection), (gst_mini_object_suite):
2029 Add test to ensure refcounts end up as expected when passing
2030 GstMiniObjects through g_object_get() and g_object_set().
2032 2005-12-14 Julien MOUTTE <julien@moutte.net>
2034 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2035 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
2036 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
2037 of collectpads. This version removes a lot of races without
2038 touching API/ABI. Yay !
2040 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
2042 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
2043 Don't allow activation of a srcpad in pull_range if it has no
2045 Change some debug statements to be a little clearer
2047 * plugins/elements/gsttypefindelement.c:
2048 (gst_type_find_handle_src_query):
2049 Check that we have a peer before executing queries thereupon.
2051 * tests/examples/metadata/read-metadata.c: (message_loop):
2052 Use gst_bus_pop instead of gst_bus_poll when we just want it to
2053 immediately return us any available message with 0 timeout.
2055 2005-12-12 Michael Smith <msmith@fluendo.com>
2057 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2058 Don't unref factories after calling them.
2059 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
2060 * plugins/elements/gsttypefindelement.c:
2061 (gst_type_find_element_chain):
2062 Free lists of factories after using them. Fixing typefinding memory
2065 2005-12-12 Stefan Kost <ensonic@users.sf.net>
2067 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2068 (gst_plugin_feature_load):
2069 more meaningful debug output
2071 * tests/Makefile.am:
2072 * tests/old/examples/Makefile.am:
2073 make make distcheck happy again
2075 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
2077 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2078 Catch the special case where we are operating chain-based,
2079 but the downstream peer pad has no chain function. Emit a
2080 custom error message in this case instead of letting the
2081 core generate one implying that this is some sort of core
2082 bug. It's not, it just means that whatever got plugged
2083 into the pipeline downstream when we announced the type
2084 can only operate pull-based, while our source can only
2085 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
2086 Error string has not been marked for translation yet, as
2087 it probably needs some more work first.
2089 (gst_type_find_element_get_best_possibility):
2090 Add helper function to find the best of all available
2091 found possibilities that qualify given the min. threshold.
2093 (gst_type_find_element_handle_event):
2094 Fix the case where we get an EOS while still in TYPEFIND
2095 mode (we want to chose the best of all possible types,
2096 not just the first type that happens to be in our unsorted
2097 list of possible types).
2099 (gst_type_find_element_chain):
2100 Make sure we return GST_FLOW_ERROR when we errored out
2101 in stop_typefinding(); also, don't just find the best of
2102 all found type entries and then use the last examined
2103 type entry, but actually use the best entry.
2105 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
2107 * tests/examples/typefind/typefind.c: (type_found):
2108 * tests/examples/xml/runxml.c: (xml_loaded):
2109 More gcc4 fixes and a mem leak fix.
2111 2005-12-12 Stefan Kost <ensonic@users.sf.net>
2113 * tests/examples/xml/createxml.c: (object_saved):
2116 2005-12-12 Stefan Kost <ensonic@users.sf.net>
2118 * tests/Makefile.am:
2119 enable the examples even more
2121 2005-12-12 Andy Wingo <wingo@pobox.com>
2123 * libs/gst/net/gstnettimeprovider.c
2124 (gst_net_time_provider_class_init, gst_net_time_provider_init)
2125 (gst_net_time_provider_set_property)
2126 (gst_net_time_provider_get_property):
2127 API addition: Export "active" as a GObject property.
2128 (gst_net_time_provider_thread): Only respond to time queries if
2129 the time provider is active.
2131 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
2132 NetTimeProvider, preserving binary compat.
2134 2005-12-12 Stefan Kost <ensonic@users.sf.net>
2136 * tests/examples/controller/audio-example.c: (main):
2137 * tests/examples/launch/Makefile.am:
2138 convert comments again
2140 2005-12-12 Wim Taymans <wim@fluendo.com>
2142 * libs/gst/base/gstpushsrc.c:
2145 2005-12-12 Wim Taymans <wim@fluendo.com>
2147 * docs/libs/gstreamer-libs-sections.txt:
2148 Added new symbol to docs.
2150 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2151 (gst_base_src_init), (gst_base_src_set_format),
2152 (gst_base_src_default_query), (gst_base_src_query),
2153 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
2154 (gst_base_src_perform_seek), (gst_base_src_send_event),
2155 (gst_base_src_default_event), (gst_base_src_event_handler),
2156 (gst_base_src_set_property), (gst_base_src_get_property),
2157 (gst_base_src_wait), (gst_base_src_do_sync),
2158 (gst_base_src_update_length), (gst_base_src_get_range),
2159 (gst_base_src_check_get_range), (gst_base_src_loop),
2160 (gst_base_src_default_negotiate), (gst_base_src_start),
2161 (gst_base_src_activate_push), (gst_base_src_activate_pull),
2162 (gst_base_src_change_state):
2163 * libs/gst/base/gstbasesrc.h:
2164 Implement seeking to other formats than _BYTES.
2165 Implement more seeking methods correctly.
2167 Added query vmethod.
2168 Added do_seek vmethod to make life easier for subclasses
2170 API addition: gst_base_src_set_format()
2172 2005-12-12 Stefan Kost <ensonic@users.sf.net>
2174 * tests/examples/Makefile.am:
2177 2005-12-12 Stefan Kost <ensonic@users.sf.net>
2180 * docs/random/ensonic/media-device-daemon.txt:
2181 * tests/examples/controller/.cvsignore:
2182 * tests/examples/controller/Makefile.am:
2183 * tests/examples/controller/audio-example.c: (main):
2184 * tests/examples/helloworld/.cvsignore:
2185 * tests/examples/helloworld/Makefile.am:
2186 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
2187 * tests/examples/launch/.cvsignore:
2188 * tests/examples/launch/Makefile.am:
2189 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
2190 * tests/examples/metadata/.cvsignore:
2191 * tests/examples/metadata/Makefile.am:
2192 * tests/examples/metadata/read-metadata.c: (message_loop),
2193 (make_pipeline), (print_tag), (main):
2194 * tests/examples/queue/.cvsignore:
2195 * tests/examples/queue/Makefile.am:
2196 * tests/examples/queue/queue.c: (event_loop), (main):
2197 * tests/examples/typefind/.cvsignore:
2198 * tests/examples/typefind/Makefile.am:
2199 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
2201 * tests/examples/xml/.cvsignore:
2202 * tests/examples/xml/Makefile.am:
2203 * tests/examples/xml/createxml.c: (object_saved), (main):
2204 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
2205 * tests/old/examples/Makefile.am:
2206 * tests/old/examples/TODO:
2207 * tests/old/examples/controller/.cvsignore:
2208 * tests/old/examples/controller/Makefile.am:
2209 * tests/old/examples/controller/audio-example.c:
2210 * tests/old/examples/helloworld/.cvsignore:
2211 * tests/old/examples/helloworld/Makefile.am:
2212 * tests/old/examples/helloworld/helloworld.c:
2213 * tests/old/examples/launch/.cvsignore:
2214 * tests/old/examples/launch/Makefile.am:
2215 * tests/old/examples/launch/mp3parselaunch.c:
2216 * tests/old/examples/launch/mp3play:
2217 * tests/old/examples/manual/Makefile.am:
2218 * tests/old/examples/metadata/Makefile.am:
2219 * tests/old/examples/metadata/read-metadata.c:
2220 * tests/old/examples/queue/.cvsignore:
2221 * tests/old/examples/queue/Makefile.am:
2222 * tests/old/examples/queue/queue.c:
2223 * tests/old/examples/typefind/.cvsignore:
2224 * tests/old/examples/typefind/Makefile.am:
2225 * tests/old/examples/typefind/typefind.c:
2226 * tests/old/examples/xml/.cvsignore:
2227 * tests/old/examples/xml/Makefile.am:
2228 * tests/old/examples/xml/createxml.c:
2229 * tests/old/examples/xml/runxml.c:
2230 applied some simple fixing to some examples
2231 re-enabled the working examples
2233 2005-12-12 Wim Taymans <wim@fluendo.com>
2235 * gst/gstsegment.c: (gst_segment_init),
2236 (gst_segment_set_last_stop), (gst_segment_set_seek),
2237 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2238 (gst_segment_to_running_time):
2239 Added more documentation.
2240 Make sure the last_pos value is updated properly.
2241 Make sure to_stream_time and to_running_time don't
2242 operate on wrong values.
2244 * tests/check/gst/gstsegment.c: (GST_START_TEST):
2247 2005-12-12 Michael Smith <msmith@fluendo.com>
2249 * plugins/elements/gsttypefindelement.c: (free_entry),
2250 (gst_type_find_element_chain):
2251 Now that we're not leaking factories, make sure we keep references
2252 to them while we need them.
2254 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
2256 * tests/check/gst/struct_i386.h:
2257 ifdef out the XML structs
2259 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
2261 * gst/gstvalue.c: (gst_value_transform_double_fraction):
2262 floor is not needed, F is always positive; this obviates the
2263 need for adding -lm when building without libxml
2265 2005-12-12 Wim Taymans <wim@fluendo.com>
2267 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2268 Take current playback rate into account when reporting
2271 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
2273 * docs/manual/mime-world.fig:
2274 Let's try this again, this time with a file that is
2275 actually in XFig format.
2277 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
2279 * docs/manual/mime-world.fig:
2280 Add audioconvert element to diagram so that it
2281 matches the text and the code (fixes #319526).
2283 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
2285 * docs/pwg/building-chainfn.xml:
2286 * docs/pwg/building-pads.xml:
2287 * docs/pwg/building-state.xml:
2288 * docs/pwg/other-source.xml:
2289 Update state change stuff for 0.10 (fixes #322969).
2291 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
2293 * docs/manual/advanced-dataaccess.xml:
2294 * docs/manual/appendix-checklist.xml:
2295 * docs/manual/appendix-programs.xml:
2296 * docs/manual/basics-pads.xml:
2297 * docs/manual/highlevel-components.xml:
2298 * docs/manual/manual.xml:
2299 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
2300 add converters in front of pipelines; remove curly
2301 brackets for threads stuff, they no longer exist; use
2302 GST_TYPE_FRACTION for framerates; update some pieces of
2303 code to 0.10, but there's plenty more to do.
2305 * docs/manual/appendix-porting.xml:
2306 Expand on asynchroneous state changes; s/0.9/0.10/;
2307 mention disappearance of gst_init_get_popt_table()
2310 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
2312 * docs/faq/using.xml:
2313 Spider no longer exists, and neither does gst-launch-ext.
2314 Update examples to use decodebin and playbin and put
2315 converters in front of sinks (fixes #323726).
2317 2005-12-09 Michael Smith <msmith@fluendo.com>
2319 * plugins/elements/gsttypefindelement.c: (find_peek),
2320 (gst_type_find_element_chain):
2321 Fix leaking element factories in typefinding.
2322 Fix problem where we forgot about a probable type on non-seekable
2323 files, and thus later mis-typefound it.
2325 2005-12-09 Michael Smith <msmith@fluendo.com>
2327 * common/m4/gst-makecontext.m4:
2328 * common/m4/gst-mcsc.m4:
2330 * win32/common/config.h:
2331 * win32/common/config.h.in:
2332 Remove makecontext stuff; not used in 0.10 and causes problems on
2333 HPUX according to bug #322441
2335 2005-12-07 Wim Taymans <wim@fluendo.com>
2337 * tests/check/Makefile.am:
2338 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
2340 * tests/check/libs/struct_i386.h:
2341 Added ABI check for libs
2343 2005-12-07 Wim Taymans <wim@fluendo.com>
2345 * tests/check/Makefile.am:
2346 And add the struct_i386.h to dist.
2348 2005-12-07 Wim Taymans <wim@fluendo.com>
2350 * tests/check/Makefile.am:
2351 * tests/check/gst/.cvsignore:
2352 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
2354 * tests/check/gst/struct_i386.h:
2355 Added check for ABI compatibility.
2357 2005-12-07 Wim Taymans <wim@fluendo.com>
2359 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2360 (gst_fake_src_get_times), (gst_fake_src_create):
2361 Fix broken sync option, fixes #323259
2363 2005-12-07 Wim Taymans <wim@fluendo.com>
2368 * gst/gstcaps.c: (gst_caps_is_equal):
2369 Don't assert on NULL <--> X. Fixes #323260
2371 * gst/gstminiobject.c: (gst_mini_object_replace):
2372 If we're doing atomic operations, we might just as well use
2373 the proper way to get an atomic pointer.
2375 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2378 2005-12-07 Michael Smith <msmith@fluendo.com>
2380 * gst/parse/grammar.y:
2381 Remove handling of { } for threads.
2383 2005-12-06 David Schleef <ds@schleef.org>
2385 * libs/gst/base/gstbasetransform.c: speling fix.
2387 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
2389 * docs/libs/tmpl/gstdataprotocol.sgml:
2390 * docs/random/omega/testing/gstobject.c:
2394 * gst/gstelementfactory.c:
2397 * gst/gstghostpad.c:
2399 * gst/gstpadtemplate.c:
2400 * gst/gstregistryxml.c:
2402 * gst/gsttagsetter.c:
2403 * gst/gsttypefind.c:
2405 * libs/gst/base/gstbasesrc.c:
2406 * libs/gst/net/gstnetclientclock.c:
2407 * libs/gst/net/gstnettimeprovider.c:
2408 * plugins/elements/gstfakesrc.c:
2409 * plugins/elements/gstfdsrc.c:
2410 * plugins/elements/gstfilesrc.c:
2411 * plugins/elements/gstidentity.c:
2412 * plugins/elements/gstqueue.c:
2413 * plugins/elements/gsttypefindelement.c:
2414 * plugins/indexers/gstfileindex.c:
2415 * plugins/indexers/gstmemindex.c:
2416 * tests/check/gst/gsttag.c:
2417 * tests/old/examples/cutter/cutter.c:
2418 * tests/old/examples/mixer/mixer.c:
2419 * tests/old/examples/xml/runxml.c: (main):
2420 * tests/old/testsuite/caps/normalisation.c:
2421 * tests/old/testsuite/debug/global.c:
2422 * tests/old/testsuite/parse/parse1.c:
2423 * tools/gst-xmlinspect.c:
2424 * win32/common/dirent.c:
2427 === release 0.10.0 ===
2429 2005-12-05 <thomas (at) apestaart (dot) org>
2432 releasing 0.10.0, "Maroilles"
2434 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
2436 submitted by: Funda Wang <fundawang@linux.net.cn>
2440 added Chinese (Traditional) translation
2442 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
2444 * docs/gst/gstreamer-sections.txt:
2445 * docs/libs/tmpl/gstdataprotocol.sgml:
2446 * docs/random/thomasvs/TODO:
2451 2005-12-05 Andy Wingo <wingo@pobox.com>
2453 patch by: Wim Taymans <wim@fluendo.com>
2455 * libs/gst/base/gstbasetransform.c
2456 (gst_base_transform_prepare_output_buf)
2457 (gst_base_transform_buffer_alloc):
2458 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
2459 alloc_buffer_and_set_caps.
2461 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
2462 set_caps on the source pad.
2463 (gst_pad_alloc_buffer_and_set_caps): New function, does what
2464 alloc_buffer used to do. Fixes #322874.
2466 * docs/gst/gstreamer-sections.txt:
2467 * docs/design/part-negotiation.txt:
2468 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
2471 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
2473 patch by: Sebastien Moutte
2476 * win32/common/config.h.in:
2477 * win32/vs6/libgstcontroller.dsp:
2480 2005-12-05 Wim Taymans <wim@fluendo.com>
2482 * gst/gstcaps.c: (gst_caps_is_equal):
2483 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2484 (gst_fake_src_create):
2485 Back out previous code changes, leave doc updates, file bugs
2488 2005-12-05 Wim Taymans <wim@fluendo.com>
2490 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2491 (gst_fake_src_get_times), (gst_fake_src_create):
2492 * plugins/elements/gstfakesrc.h:
2493 Fix broken sync code.
2495 2005-12-05 Wim Taymans <wim@fluendo.com>
2497 * gst/gstcaps.c: (gst_caps_is_equal):
2498 Comparing NULL against !NULL yields different caps, not a
2501 2005-12-05 Wim Taymans <wim@fluendo.com>
2503 * gst/gstpipeline.c:
2504 Fix small typo in docs.
2506 2005-12-05 Andy Wingo <wingo@pobox.com>
2508 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
2510 * gst/gst.c (init_post): remove hard-coded 0.9 location for
2511 registries/plugins with a MAJORMINOR one.
2512 (plugin_desc): Rename library from gstcoreleements to
2513 staticelements. Fixes #323222.
2515 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
2517 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
2518 Change debug category to 'collectpads' from 'collect_pads'
2521 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
2523 patch by: Sebastien Moutte
2525 * libs/gst/controller/gstinterpolation.c:
2526 use convert function for uint64/double
2527 * win32/vs6/libgstcontroller.dsp:
2530 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
2532 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
2533 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
2535 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2536 add tests that seem to show that the guint64/gdouble conversions
2539 2005-12-02 Wim Taymans <wim@fluendo.com>
2541 * gst/gstregistry.c: (gst_registry_add_path):
2542 * gst/gstregistry.h:
2543 * gst/gstregistryxml.c:
2546 2005-12-02 Wim Taymans <wim@fluendo.com>
2548 * gst/gstutils.c: (gst_util_uint64_scale_int64),
2549 (gst_util_uint64_scale_int):
2552 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2555 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
2558 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
2561 * win32/common/config.h:
2562 * win32/vs6/gstreamer.dsw:
2563 * win32/vs6/libgstcoreelements.dsp:
2564 * win32/vs6/libgstelements.dsp:
2565 renamed core elements plugin
2567 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
2569 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
2571 do piece-wise major/minor comparison so 0.9 < 0.10
2572 also allow .exe extensions for tools
2574 2005-12-02 Michael Smith <msmith@fluendo.com>
2577 Escape a % to make gtkdoc happier; bug 322958.
2579 === release 0.9.7 ===
2581 2005-12-01 <thomas (at) apestaart (dot) org>
2584 releasing 0.9.7, "My Dog Has No Nose"
2586 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
2588 * common/gst-xmlinspect.py:
2590 * docs/libs/tmpl/gstdataprotocol.sgml:
2591 * docs/random/release:
2610 * win32/common/config.h:
2611 * win32/common/config.h.in:
2612 * win32/vs6/gst_inspect.dsp:
2613 * win32/vs6/gst_launch.dsp:
2614 * win32/vs6/libgstbase.dsp:
2615 * win32/vs6/libgstelements.dsp:
2616 * win32/vs6/libgstreamer.dsp:
2617 * win32/vs7/GStreamer.vcproj:
2618 * win32/vs7/gst-inspect.vcproj:
2619 * win32/vs7/gst-launch.vcproj:
2620 * win32/vs7/libgstbase.vcproj:
2621 bump GST_MAJORMINOR to 0.10
2622 reset libtool version
2624 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
2628 Added Bulgarian translation by (Alexander Shopov)
2630 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
2632 * tests/check/gst/gstplugin.c:
2635 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
2637 * common/gst-xmlinspect.py:
2638 * common/gtk-doc-plugins.mak:
2641 * docs/gst/Makefile.am:
2642 * docs/gst/gstreamer-docs.sgml:
2643 * docs/gst/gstreamer-sections.txt:
2644 * docs/gst/gstreamer.types:
2645 * docs/gst/gstreamer.types.in:
2646 * docs/plugins/Makefile.am:
2647 * docs/plugins/gstreamer-plugins-docs.sgml:
2648 * docs/plugins/gstreamer-plugins-sections.txt:
2649 * docs/plugins/gstreamer-plugins.types:
2650 * docs/plugins/inspect.stamp:
2651 * docs/plugins/inspect/plugin-coreelements.xml:
2652 * docs/plugins/inspect/plugin-coreindexers.xml:
2653 * docs/plugins/scanobj-build.stamp:
2654 * gstreamer.spec.in:
2655 * plugins/elements/Makefile.am:
2656 * plugins/elements/gstelements.c:
2657 * plugins/elements/gstfakesink.c:
2658 * plugins/elements/gstfakesrc.c:
2659 * plugins/elements/gstfilesink.c:
2660 * plugins/elements/gstfilesrc.c:
2661 * plugins/elements/gstqueue.c:
2662 * plugins/indexers/Makefile.am:
2663 * plugins/indexers/gstindexers.c:
2664 document core plugins in a separate document just like all the
2666 rename these plugins to something starting with core
2668 2005-12-01 Andy Wingo <wingo@pobox.com>
2670 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
2671 padding here before, but it missed the commit.
2673 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
2675 * libs/gst/controller/gstinterpolation.c:
2676 whitespace prices have crashed, we should feel free to use some now
2677 use gst_guint64_to_gdouble
2679 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
2681 * libs/gst/controller/gstcontroller.c:
2682 * libs/gst/controller/gsthelper.c:
2683 * libs/gst/controller/gstinterpolation.c:
2684 * libs/gst/controller/lib.c:
2685 wrap config.h include
2687 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
2689 * docs/gst/gstreamer-sections.txt:
2692 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
2694 * plugins/elements/gstelements.c:
2695 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
2696 (gst_fd_sink__class_init), (gst_fd_sink__init),
2697 (gst_fd_sink__chain), (gst_fd_sink__set_property),
2698 (gst_fd_sink__get_property):
2699 * plugins/elements/gstfdsink.h:
2700 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
2701 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
2702 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
2703 (gst_fd_src_unlock), (gst_fd_src_set_property),
2704 (gst_fd_src_get_property), (gst_fd_src_create),
2705 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
2706 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
2707 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
2708 (gst_fd_src_uri_handler_init):
2709 * plugins/elements/gstfdsrc.h:
2710 * plugins/elements/gstqueue.c: (gst_queue_get_type):
2713 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
2715 * docs/gst/Makefile.am:
2716 * docs/gst/gstreamer.types.in:
2720 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
2726 * gst/gstregistry.h:
2727 * tests/benchmarks/complexity.c:
2728 * tests/benchmarks/mass-elements.c:
2729 * tests/check/Makefile.am:
2730 * tools/Makefile.am:
2731 * tools/gst-inspect.c:
2732 * tools/gst-xmlinspect.c:
2733 various fixes to make
2734 --disable-nls --disable-registry --disable-loadsave
2735 --disable-parse --disable-gst-debug
2736 work and get the core .so down to 360444 bytes after stripping
2738 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
2743 * docs/random/thomasvs/TODO:
2744 * tests/Makefile.am:
2748 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
2750 * win32/GStreamer.vcproj:
2753 * win32/Makefile.inspect:
2754 * win32/Makefile.launch:
2755 * win32/Makefile.register:
2757 * win32/gst-inspect.vcproj:
2758 * win32/gst-launch.vcproj:
2759 * win32/gst-register.vcproj:
2760 * win32/gstelements.vcproj:
2761 * win32/gstgetbits.def:
2762 * win32/gstgetbits.vcproj:
2763 * win32/gstreamer-dbg.def:
2764 * win32/gstreamer.def:
2765 * win32/libgstbase.def:
2766 * win32/libgstbase.vcproj:
2767 * win32/link_oldruntime.c:
2772 move even more stuff, win32/ is nice and clean now
2774 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
2776 * libs/gst/control/.cvsignore:
2781 * win32/gstbytestream.def:
2782 * win32/gstbytestream.vcproj:
2783 * win32/gstconfig.h:
2784 * win32/gstenumtypes.c:
2785 * win32/gstenumtypes.h:
2786 * win32/gstoptimalscheduler.vcproj:
2787 * win32/gstversion.h:
2789 * win32/testsuite/bins.vcproj:
2790 * win32/testsuite/bytestream.vcproj:
2791 * win32/testsuite/caps.vcproj:
2792 * win32/testsuite/cleanup.vcproj:
2793 * win32/testsuite/clock.vcproj:
2794 * win32/testsuite/debug.vcproj:
2795 * win32/testsuite/dlopen.vcproj:
2796 * win32/testsuite/dynparams.vcproj:
2797 * win32/testsuite/elements.vcproj:
2798 * win32/testsuite/ghostpads.vcproj:
2799 * win32/testsuite/indexers.vcproj:
2800 * win32/testsuite/negotiation.vcproj:
2801 * win32/testsuite/parse.vcproj:
2802 * win32/testsuite/plugin.vcproj:
2803 * win32/testsuite/refcounting.vcproj:
2804 * win32/testsuite/schedulers.vcproj:
2805 * win32/testsuite/states.vcproj:
2806 * win32/testsuite/tags.vcproj:
2807 * win32/testsuite/threads.vcproj:
2808 remove old win32 stuff that isn't maintained and should be
2811 2005-11-30 Andy Wingo <wingo@pobox.com>
2813 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
2814 loading the gst.interfaces python module bork.
2816 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
2817 available since GLib 2.2. Fixes #318031.
2819 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
2823 * check/Makefile.am:
2824 * check/elements/.cvsignore:
2825 * check/elements/fakesrc.c:
2826 * check/elements/fdsrc.c:
2827 * check/elements/identity.c:
2828 * check/generic/.cvsignore:
2829 * check/generic/states.c:
2830 * check/gst-libs/.cvsignore:
2831 * check/gst-libs/controller.c:
2832 * check/gst-libs/gdp.c:
2833 * check/gst/.cvsignore:
2834 * check/gst/capslist.h:
2836 * check/gst/gstbin.c:
2837 * check/gst/gstbuffer.c:
2838 * check/gst/gstbus.c:
2839 * check/gst/gstcaps.c:
2840 * check/gst/gstelement.c:
2841 * check/gst/gstevent.c:
2842 * check/gst/gstghostpad.c:
2843 * check/gst/gstiterator.c:
2844 * check/gst/gstmessage.c:
2845 * check/gst/gstminiobject.c:
2846 * check/gst/gstobject.c:
2847 * check/gst/gstpad.c:
2848 * check/gst/gstpipeline.c:
2849 * check/gst/gstplugin.c:
2850 * check/gst/gstsegment.c:
2851 * check/gst/gststructure.c:
2852 * check/gst/gstsystemclock.c:
2853 * check/gst/gsttag.c:
2854 * check/gst/gstutils.c:
2855 * check/gst/gstvalue.c:
2856 * check/net/.cvsignore:
2857 * check/net/gstnetclientclock.c:
2858 * check/net/gstnettimeprovider.c:
2859 * check/pipelines/.cvsignore:
2860 * check/pipelines/cleanup.c:
2861 * check/pipelines/simple_launch_lines.c:
2862 * check/pipelines/stress.c:
2863 * check/states/.cvsignore:
2864 * check/states/sinks.c:
2866 * examples/Makefile.am:
2867 * examples/appreader/.cvsignore:
2868 * examples/appreader/Makefile.am:
2869 * examples/appreader/appreader.c:
2870 * examples/controller/.cvsignore:
2871 * examples/controller/Makefile.am:
2872 * examples/controller/audio-example.c:
2873 * examples/cutter/.cvsignore:
2874 * examples/cutter/Makefile.am:
2875 * examples/cutter/cutter.c:
2876 * examples/cutter/cutter.h:
2877 * examples/events/Makefile.am:
2878 * examples/events/seek.c:
2879 * examples/helloworld/.cvsignore:
2880 * examples/helloworld/Makefile.am:
2881 * examples/helloworld/helloworld.c:
2882 * examples/helloworld2/.cvsignore:
2883 * examples/helloworld2/Makefile.am:
2884 * examples/helloworld2/helloworld2.c:
2885 * examples/launch/.cvsignore:
2886 * examples/launch/Makefile.am:
2887 * examples/launch/mp3parselaunch.c:
2888 * examples/launch/mp3play:
2889 * examples/manual/.cvsignore:
2890 * examples/manual/Makefile.am:
2891 * examples/manual/extract.pl:
2892 * examples/metadata/Makefile.am:
2893 * examples/metadata/read-metadata.c:
2894 * examples/mixer/.cvsignore:
2895 * examples/mixer/Makefile.am:
2896 * examples/mixer/mixer.c:
2897 * examples/mixer/mixer.h:
2898 * examples/pingpong/.cvsignore:
2899 * examples/pingpong/Makefile.am:
2900 * examples/pingpong/pingpong.c:
2901 * examples/plugins/.cvsignore:
2902 * examples/plugins/Makefile.am:
2903 * examples/plugins/example.c:
2904 * examples/plugins/example.h:
2905 * examples/pwg/.cvsignore:
2906 * examples/pwg/Makefile.am:
2907 * examples/pwg/extract.pl:
2908 * examples/queue/.cvsignore:
2909 * examples/queue/Makefile.am:
2910 * examples/queue/queue.c:
2911 * examples/queue2/.cvsignore:
2912 * examples/queue2/Makefile.am:
2913 * examples/queue2/queue2.c:
2914 * examples/queue3/.cvsignore:
2915 * examples/queue3/Makefile.am:
2916 * examples/queue3/queue3.c:
2917 * examples/queue4/.cvsignore:
2918 * examples/queue4/Makefile.am:
2919 * examples/queue4/queue4.c:
2920 * examples/retag/.cvsignore:
2921 * examples/retag/Makefile.am:
2922 * examples/retag/retag.c:
2923 * examples/retag/transcode.c:
2924 * examples/thread/.cvsignore:
2925 * examples/thread/Makefile.am:
2926 * examples/thread/thread.c:
2927 * examples/typefind/.cvsignore:
2928 * examples/typefind/Makefile.am:
2929 * examples/typefind/typefind.c:
2930 * examples/xml/.cvsignore:
2931 * examples/xml/Makefile.am:
2932 * examples/xml/createxml.c:
2933 * examples/xml/runxml.c:
2934 * tests/Makefile.am:
2935 * tests/check/Makefile.am:
2936 * testsuite/.cvsignore:
2937 * testsuite/Makefile.am:
2939 * testsuite/caps/.cvsignore:
2940 * testsuite/caps/Makefile.am:
2941 * testsuite/caps/app_fixate.c:
2942 * testsuite/caps/audioscale.c:
2943 * testsuite/caps/caps.c:
2944 * testsuite/caps/caps.h:
2945 * testsuite/caps/caps_strings:
2946 * testsuite/caps/compatibility.c:
2947 * testsuite/caps/deserialize.c:
2948 * testsuite/caps/enumcaps.c:
2949 * testsuite/caps/eratosthenes.c:
2950 * testsuite/caps/filtercaps.c:
2951 * testsuite/caps/fixed.c:
2952 * testsuite/caps/fraction-convert.c:
2953 * testsuite/caps/fraction-multiply-and-zero.c:
2954 * testsuite/caps/intersect2.c:
2955 * testsuite/caps/intersection.c:
2956 * testsuite/caps/normalisation.c:
2957 * testsuite/caps/random.c:
2958 * testsuite/caps/renegotiate.c:
2959 * testsuite/caps/sets.c:
2960 * testsuite/caps/simplify.c:
2961 * testsuite/caps/string-conversions.c:
2962 * testsuite/caps/structure.c:
2963 * testsuite/caps/subtract.c:
2964 * testsuite/caps/union.c:
2965 * testsuite/debug/.cvsignore:
2966 * testsuite/debug/Makefile.am:
2967 * testsuite/debug/category.c:
2968 * testsuite/debug/commandline.c:
2969 * testsuite/debug/global.c:
2970 * testsuite/debug/output.c:
2971 * testsuite/debug/printf_extension.c:
2972 * testsuite/dlopen/.cvsignore:
2973 * testsuite/dlopen/Makefile.am:
2974 * testsuite/dlopen/dlopen_gst.c:
2975 * testsuite/dlopen/loadgst.c:
2976 * testsuite/elements/.cvsignore:
2977 * testsuite/elements/Makefile.am:
2978 * testsuite/elements/gst-inspect-check.in:
2979 * testsuite/elements/struct_i386.h:
2980 * testsuite/elements/struct_size.c:
2981 * testsuite/indexers/.cvsignore:
2982 * testsuite/indexers/Makefile.am:
2983 * testsuite/indexers/cache1.c:
2984 * testsuite/indexers/indexdump.c:
2985 * testsuite/parse/.cvsignore:
2986 * testsuite/parse/Makefile.am:
2987 * testsuite/parse/parse1.c:
2988 * testsuite/parse/parse2.c:
2989 * testsuite/plugin/.cvsignore:
2990 * testsuite/plugin/Makefile.am:
2991 * testsuite/plugin/README:
2992 * testsuite/plugin/dynamic.c:
2993 * testsuite/plugin/linked.c:
2994 * testsuite/plugin/loading.c:
2995 * testsuite/plugin/registry.c:
2996 * testsuite/plugin/static.c:
2997 * testsuite/plugin/static2.c:
2998 * testsuite/plugin/testplugin.c:
2999 * testsuite/plugin/testplugin2.c:
3000 * testsuite/plugin/testplugin2_s.c:
3001 * testsuite/plugin/testplugin_s.c:
3002 * testsuite/refcounting/.cvsignore:
3003 * testsuite/refcounting/Makefile.am:
3004 * testsuite/refcounting/bin.c:
3005 * testsuite/refcounting/element.c:
3006 * testsuite/refcounting/element_pad.c:
3007 * testsuite/refcounting/mainloop.c:
3008 * testsuite/refcounting/mem.c:
3009 * testsuite/refcounting/mem.h:
3010 * testsuite/refcounting/object.c:
3011 * testsuite/refcounting/pad.c:
3012 * testsuite/refcounting/sched.c:
3013 * testsuite/refcounting/thread.c:
3014 * testsuite/states/.cvsignore:
3015 * testsuite/states/Makefile.am:
3016 * testsuite/states/bin.c:
3017 * testsuite/states/locked.c:
3018 * testsuite/states/parent.c:
3019 * testsuite/threads/.cvsignore:
3020 * testsuite/threads/159566.c:
3021 * testsuite/threads/159852.c:
3022 * testsuite/threads/Makefile.am:
3023 * testsuite/threads/queue.c:
3024 * testsuite/threads/signals.c:
3025 * testsuite/threads/staticrec.c:
3026 * testsuite/threads/thread.c:
3027 * testsuite/threads/threadb.c:
3028 * testsuite/threads/threadc.c:
3029 * testsuite/threads/threadd.c:
3030 * testsuite/threads/threade.c:
3031 * testsuite/threads/threadf.c:
3032 * testsuite/threads/threadg.c:
3033 * testsuite/threads/threadh.c:
3034 * testsuite/threads/threadi.c:
3035 move all of these under tests
3037 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3040 * tests/Makefile.am:
3043 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3045 * docs/gst/gstreamer-sections.txt:
3046 * tests/sched/.cvsignore:
3047 * tests/sched/Makefile.am:
3048 * tests/sched/cases/(fs-fs).xml:
3049 * tests/sched/cases/(fs-i-fs).xml:
3050 * tests/sched/cases/(fs-i-i-fs).xml:
3051 * tests/sched/cases/(fs-i-q[i-fs]).xml:
3052 * tests/sched/dynamic-pipeline.c:
3053 * tests/sched/interrupt1.c:
3054 * tests/sched/interrupt2.c:
3055 * tests/sched/interrupt3.c:
3056 * tests/sched/runtestcases:
3057 * tests/sched/runxml.c:
3058 * tests/sched/sched-stress.c:
3059 * tests/sched/sort.c:
3060 * tests/sched/testcases:
3061 * tests/sched/testcases1.tc:
3062 * tests/seeking/.cvsignore:
3063 * tests/seeking/Makefile.am:
3064 * tests/seeking/seeking1.c:
3065 * tests/threadstate/.cvsignore:
3066 * tests/threadstate/Makefile.am:
3067 * tests/threadstate/test1.c:
3068 * tests/threadstate/test2.c:
3069 * tests/threadstate/threadstate1.c:
3070 * tests/threadstate/threadstate2.c:
3071 * tests/threadstate/threadstate3.c:
3072 * tests/threadstate/threadstate4.c:
3073 * tests/threadstate/threadstate5.c:
3074 remove obsolete tests
3076 * tests/bench-complexity.scm:
3077 * tests/bench-mass_elements.scm:
3078 * tests/complexity.c:
3079 * tests/complexity.gnuplot:
3080 * tests/instantiate/.cvsignore:
3081 * tests/instantiate/Makefile.am:
3082 * tests/instantiate/caps.c:
3083 * tests/mass_elements.c:
3084 * tests/network-clock-utils.scm:
3085 * tests/network-clock.scm:
3087 First pass at cleaning up tests/ dir before moving the rest
3088 Combined with CVS surgery
3090 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3093 queue has moved, update
3095 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3097 * docs/gst/gstreamer-sections.txt:
3098 remove double entries from the docs
3099 * gst/gst_private.h:
3100 * gst/gstinfo.c: (_gst_debug_init):
3101 remove the THREAD debug category
3105 * docs/gst/gstreamer.types:
3106 * plugins/elements/gstqueue.c: (gst_queue_get_type),
3107 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
3108 completely move queue and fix up debugging categories
3110 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3112 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3113 make initialization portable, using LL is not
3115 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3117 * win32/common/gstconfig.h:
3120 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3122 * win32/common/libgstreamer.def:
3123 rename symbols; sort base section
3125 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3127 * gst/gstclock.c: (do_linear_regression):
3128 remove crack non-portable handrolled DEBUG macro
3130 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3132 * docs/random/release:
3134 * win32/common/gstenumtypes.c: (register_gst_object_flags),
3135 (gst_object_flags_get_type), (register_gst_bin_flags),
3136 (gst_bin_flags_get_type), (register_gst_buffer_flag),
3137 (gst_buffer_flag_get_type), (register_gst_bus_flags),
3138 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3139 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
3140 (gst_caps_flags_get_type), (register_gst_clock_return),
3141 (gst_clock_return_get_type), (register_gst_clock_entry_type),
3142 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3143 (gst_clock_flags_get_type), (register_gst_state),
3144 (gst_state_get_type), (register_gst_state_change_return),
3145 (gst_state_change_return_get_type), (register_gst_state_change),
3146 (gst_state_change_get_type), (register_gst_element_flags),
3147 (gst_element_flags_get_type), (register_gst_core_error),
3148 (gst_core_error_get_type), (register_gst_library_error),
3149 (gst_library_error_get_type), (register_gst_resource_error),
3150 (gst_resource_error_get_type), (register_gst_stream_error),
3151 (gst_stream_error_get_type), (register_gst_event_type_flags),
3152 (gst_event_type_flags_get_type), (register_gst_event_type),
3153 (gst_event_type_get_type), (register_gst_seek_type),
3154 (gst_seek_type_get_type), (register_gst_seek_flags),
3155 (gst_seek_flags_get_type), (register_gst_format),
3156 (gst_format_get_type), (register_gst_index_certainty),
3157 (gst_index_certainty_get_type), (register_gst_index_entry_type),
3158 (gst_index_entry_type_get_type),
3159 (register_gst_index_lookup_method),
3160 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3161 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3162 (gst_index_resolver_method_get_type), (register_gst_index_flags),
3163 (gst_index_flags_get_type), (register_gst_debug_level),
3164 (gst_debug_level_get_type), (register_gst_debug_color_flags),
3165 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3166 (gst_iterator_result_get_type), (register_gst_iterator_item),
3167 (gst_iterator_item_get_type), (register_gst_message_type),
3168 (gst_message_type_get_type), (register_gst_mini_object_flags),
3169 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3170 (gst_pad_link_return_get_type), (register_gst_flow_return),
3171 (gst_flow_return_get_type), (register_gst_activate_mode),
3172 (gst_activate_mode_get_type), (register_gst_pad_direction),
3173 (gst_pad_direction_get_type), (register_gst_pad_flags),
3174 (gst_pad_flags_get_type), (register_gst_pad_presence),
3175 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3176 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3177 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3178 (gst_plugin_error_get_type), (register_gst_plugin_flags),
3179 (gst_plugin_flags_get_type), (register_gst_rank),
3180 (gst_rank_get_type), (register_gst_query_type),
3181 (gst_query_type_get_type), (register_gst_tag_merge_mode),
3182 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3183 (gst_tag_flag_get_type), (register_gst_task_state),
3184 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3185 (gst_alloc_trace_flags_get_type),
3186 (register_gst_type_find_probability),
3187 (gst_type_find_probability_get_type), (register_gst_uri_type),
3188 (gst_uri_type_get_type), (register_gst_parse_error),
3189 (gst_parse_error_get_type):
3190 * win32/common/gstenumtypes.h:
3191 * win32/common/gstversion.h:
3192 update visual studio generated files
3194 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3196 * win32/vs6/libgstbase.dsp:
3197 * win32/vs6/libgstelements.dsp:
3198 update project files for new locations
3200 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
3205 reinstate and update
3210 * docs/random/LICENSE:
3213 2005-11-30 Edward Hervey <edward@fluendo.com>
3215 * gst/gsttypefind.c: (gst_type_find_register):
3216 * gst/gsttypefind.h:
3217 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
3218 (gst_type_find_factory_dispose):
3219 * gst/gsttypefindfactory.h:
3220 Fix memory leak in GstTypeFindFactory.
3222 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3225 * plugins/elements/Makefile.am:
3226 * plugins/elements/gstelements.c:
3227 * plugins/elements/gstqueue.c:
3228 move queue from core to the elements plugin
3230 2005-11-29 Andy Wingo <wingo@pobox.com>
3232 * libs/gst/base/gstbasetransform.h:
3233 * libs/gst/base/gstbasesrc.h:
3234 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
3236 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
3237 of pointers by which to pad very extensible base classes (like the
3238 ones in libs/gst/base).
3240 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3242 * docs/gst/gstreamer-docs.sgml:
3243 * docs/gst/gstreamer-sections.txt:
3244 * docs/libs/gstreamer-libs-docs.sgml:
3245 * docs/libs/gstreamer-libs-sections.txt:
3246 moving documentation from core to lib
3248 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3250 * check/Makefile.am:
3252 * docs/gst/Makefile.am:
3254 * gst/base/.cvsignore:
3255 * gst/base/Makefile.am:
3257 * gst/base/gstadapter.c:
3258 * gst/base/gstadapter.h:
3259 * gst/base/gstbasesink.c:
3260 * gst/base/gstbasesink.h:
3261 * gst/base/gstbasesrc.c:
3262 * gst/base/gstbasesrc.h:
3263 * gst/base/gstbasetransform.c:
3264 * gst/base/gstbasetransform.h:
3265 * gst/base/gstcollectpads.c:
3266 * gst/base/gstcollectpads.h:
3267 * gst/base/gstpushsrc.c:
3268 * gst/base/gstpushsrc.h:
3269 * gst/base/gsttypefindhelper.c:
3270 * gst/base/gsttypefindhelper.h:
3271 * gst/check/Makefile.am:
3272 * gst/check/gstcheck.c:
3273 * gst/check/gstcheck.h:
3274 * gst/net/Makefile.am:
3276 * gst/net/gstnetclientclock.c:
3277 * gst/net/gstnetclientclock.h:
3278 * gst/net/gstnettimepacket.c:
3279 * gst/net/gstnettimepacket.h:
3280 * gst/net/gstnettimeprovider.c:
3281 * gst/net/gstnettimeprovider.h:
3282 * libs/gst/Makefile.am:
3283 * libs/gst/base/Makefile.am:
3284 * libs/gst/base/gstbasetransform.c:
3285 * libs/gst/check/Makefile.am:
3286 * plugins/elements/Makefile.am:
3288 CVS surgery + support to move base, check, and net out of gst
3291 2005-11-29 Andy Wingo <wingo@pobox.com>
3293 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
3295 * gst/gststructure.h (struct _GstStructure): Only one pointer of
3298 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
3300 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
3302 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
3304 * gst/gstobject.h: (struct _GstObject): Only one pointer of
3305 padding; reduces object size by about 30%. We don't expect
3306 anything else to go into gstobject.
3308 * gst/gstminiobject.h (struct _GstMiniObject)
3309 (struct _GstMiniObjectClass): Only one pointer of padding; the
3310 payload is only a pointer and two ints anyway. For the class there
3311 are only two methods as well.
3313 * gst/gstelement.h (struct _GstElementClass): Removed
3314 the state_changed signal callback, it is not used.
3316 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
3318 * docs/gst/gstreamer.types:
3319 fix includes, though they are a little dinky
3321 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3323 * check/Makefile.am:
3324 look in the right place for elements, a lot more chance of
3327 remove indexers and elements subdirs
3328 * plugins/Makefile.am:
3329 make indexers conditional
3331 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
3335 * plugins/elements/Makefile.am:
3336 * plugins/elements/gstcapsfilter.c:
3337 * plugins/elements/gstfilesink.c:
3338 * plugins/elements/gstfilesrc.c:
3339 * plugins/elements/gstidentity.c:
3340 * plugins/indexers/Makefile.am:
3341 do CVS surgery and related build fixery to move elements
3342 and indexers in a new gstreamer/plugins directory, out of the
3345 2005-11-29 Andy Wingo <wingo@pobox.com>
3347 * check/Makefile.am:
3348 * pkgconfig/gstreamer-net-uninstalled.pc.in:
3349 * pkgconfig/gstreamer-net.pc.in:
3350 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
3353 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
3355 * tools/Makefile.am:
3356 * tools/gst-complete.1.in:
3357 * tools/gst-complete.c:
3358 * tools/gst-compprep.1.in:
3359 * tools/gst-compprep.c:
3360 removing -compprep and -complete
3362 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
3364 * gst/gstevent.c: (gst_event_new_new_segment),
3365 (gst_event_parse_new_segment):
3367 fix #320529 - clean up new_segment API and structure.
3368 Let's hope everyone was using the methods, and not the structure.
3370 2005-11-29 Edward Hervey <edward@fluendo.com>
3372 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3373 (gst_base_sink_event), (gst_base_sink_do_sync),
3374 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
3375 Properly handle non GST_FORMAT_TIME segment
3376 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3377 Properly handle non GST_FORMAT_TIME segment
3379 This function is valid if the accumulator is 0 and the format
3380 is different from the requested format.
3382 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
3384 * docs/gst/gstreamer-sections.txt:
3385 Add gst_query_new_seeking and gst_query_parse_seeking to the
3388 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
3390 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
3391 Treat a pad alloc with new caps the same as if we were not
3392 negotiated, in order to allow a changing upstream output
3393 to produce a new format of data.
3395 2005-11-29 Edward Hervey <edward@fluendo.com>
3397 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3398 (gst_base_transform_event), (gst_base_transform_eventfunc):
3399 The event virtual method is now properly implemented, with a default
3401 Sub classes should call the parent_class event method. They should
3402 return FALSE if they had a problem handling the given event, or don't
3403 want GstBaseTransform to send that even downstream
3404 * gst/elements/gstidentity.c: (gst_identity_class_init),
3405 (gst_identity_init), (gst_identity_event),
3406 (gst_identity_transform_ip), (gst_identity_set_property),
3407 (gst_identity_get_property):
3408 * gst/elements/gstidentity.h:
3409 Added the single-segment boolean property.
3410 If set to TRUE, it will output a single segment of data, starting from
3411 0, will eat up all incoming newsegment, and modify the timestamp of the
3414 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
3416 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
3417 Don't ref NULL target pad (#322751). Improve docs.
3419 2005-11-29 Michael Smith <msmith@fluendo.com>
3421 * gst/gstregistryxml.c: (load_plugin):
3422 Don't crash if we failed to load a feature from a plugin.
3424 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
3426 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
3428 use more check API and less GLib API
3430 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
3433 don't run checks if we don't have check
3435 remove the registry when running make torture
3436 * docs/gst/gstreamer-sections.txt:
3437 remove second multiply
3438 * gst/gstqueue.c: (gst_queue_loop):
3439 fix a compile warning when disabling debug
3441 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
3444 Hey! Let's print the pad name if the pointer != NULL instead
3445 of when it == NULL :-)
3447 2005-11-28 Wim Taymans <wim@fluendo.com>
3449 * check/gst/gstutils.c: (GST_START_TEST):
3450 Updated check, add some scaling accuracy checking code.
3452 * gst/gstutils.c: (gst_util_div128_64),
3453 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
3454 (gst_util_uint64_scale_int):
3455 Fix 6 times faster division code. Optimize for common
3456 1/1 and less common X/1 cases.
3458 2005-11-28 Wim Taymans <wim@fluendo.com>
3460 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3463 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
3464 (do_linear_regression), (gst_clock_add_observation):
3466 Release lock when the clock cannot be slaved.
3467 Catch the case where the regression returned an invalid denominator.
3469 * gst/gstutils.c: (gst_util_div128_64_iterate),
3470 (gst_util_div128_64), (gst_util_uint64_scale_int64),
3471 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
3472 Add protentially more performant non-iterative 128/64 divide function
3473 that unfortunatly does not work yet.
3474 Shortcut the trivial 0/X = 0 case.
3475 Remove the warnings on overflow.
3477 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
3479 * gst/gstplugin.c: (gst_plugin_register_func):
3480 everything causing a plugin not to load should be at least a WARNING
3482 2005-11-28 Stefan Kost <ensonic@users.sf.net>
3484 * docs/random/ensonic/dparams.txt:
3485 some TODOs for the next dev cycle
3486 * libs/gst/controller/gstcontroller.c:
3487 (gst_controlled_property_set_interpolation_mode),
3488 (gst_controlled_property_new):
3489 * libs/gst/controller/gstcontroller.h:
3490 use base type to assign acccessor functions
3492 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
3494 * check/Makefile.am:
3495 Oops, that should have been top_srcdir
3497 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
3499 * check/Makefile.am:
3500 * check/elements/fdsrc.c: (GST_START_TEST):
3501 Use a cmdline define to specify the location of a file to use for
3502 testing, to avoid breaking distcheck.
3504 2005-11-28 Andy Wingo <wingo@pobox.com>
3506 * gst/gstpad.c (fixate_value): Use array functions for arrays.
3508 2005-11-28 Edward Hervey <edward@fluendo.com>
3510 * tools/gst-launch.c: (main):
3511 Clarify the output strings, makes it easier to translate.
3514 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
3517 don't try and build net if we don't even have <sys/socket.h>
3519 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
3521 * check/Makefile.am:
3522 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
3523 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
3524 Add tests for fdsrc seekability
3526 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
3527 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
3528 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
3529 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
3530 * gst/elements/gstfdsrc.h:
3531 fdsrc should not be a 'live' source.
3532 Implement seeking on seekable fd's.
3534 * gst/gstquery.c: (gst_query_new_seeking),
3535 (gst_query_parse_seeking):
3537 Implement SEEKING query functions:
3538 *_new_seeking and *_parse_seeking
3540 2005-11-27 Stefan Kost <ensonic@users.sf.net>
3542 * gst/gstelement.c: (gst_element_dispose):
3545 * gst/gstiterator.c:
3546 * gst/gststructure.c:
3549 * libs/gst/controller/gstcontroller.c:
3550 (gst_controlled_property_set_interpolation_mode):
3551 * libs/gst/controller/gstcontroller.h:
3552 * libs/gst/controller/gstinterpolation.c:
3553 (interpolate_none_get_enum_value_array):
3554 support controlling enums
3556 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
3559 Improve documentation for gst_value_union().
3562 Change return value for union, intersect and subtract functions
3563 from gint to gboolean.
3565 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
3567 * gst/gstvalue.c: (gst_value_serialize_any_list),
3568 (gst_value_transform_any_list_string),
3569 (gst_value_deserialize_list), (gst_value_deserialize_array),
3570 (gst_value_set_int_range), (gst_value_deserialize_int_range),
3571 (gst_value_set_double_range), (gst_value_deserialize_double_range),
3572 (gst_value_set_fraction_range_full),
3573 (gst_value_deserialize_fraction_range),
3574 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
3575 (gst_value_deserialize_boolean),
3576 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
3577 (gst_value_serialize_float), (gst_value_deserialize_float),
3578 (gst_string_wrap), (gst_value_deserialize_string),
3579 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
3580 (gst_value_union_int_range_int_range),
3581 (gst_value_intersect_int_range_int_range),
3582 (gst_value_intersect_double_range_double_range),
3583 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
3584 (gst_value_subtract_int_range_int_range),
3585 (gst_value_subtract_double_double_range),
3586 (gst_value_subtract_double_range_double_range),
3587 (gst_value_deserialize_fraction):
3589 Use gint, gdouble and gchar in our API instead of int, double and
3590 char (and make usage in gstvalue.c more consistent).
3592 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
3594 * check/Makefile.am:
3595 * libs/gst/controller/Makefile.am:
3596 * libs/gst/dataprotocol/Makefile.am:
3597 fix up Makefile.am and remove GST_ENABLE_NEW
3599 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
3603 * gst/base/Makefile.am:
3604 * gst/check/Makefile.am:
3605 * gst/elements/Makefile.am:
3606 * gst/net/Makefile.am:
3607 update LDFLAGS use some more
3609 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
3611 * common/m4/gst-doc.m4:
3614 2005-11-26 Edward Hervey <edward@fluendo.com>
3616 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3617 This shouldn't issue a g_warning since it returns NULL if it
3618 couldn't find the plugin, and all functions using this behave
3619 properly on a NULL return. Switching to a GST_WARNING.
3621 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
3623 * gst/gstbin.c: (gst_bin_handle_message_func):
3624 Don't leak clock messages.
3626 2005-11-25 Wim Taymans <wim@fluendo.com>
3628 * gst/gstutils.c: (gst_util_uint64_scale_int64),
3629 (gst_util_uint64_scale_int):
3630 Optimisations, remove unneeded vars.
3632 2005-11-25 Wim Taymans <wim@fluendo.com>
3634 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3635 Added more checks for the high precision uint64 cases.
3637 * gst/gstutils.c: (gst_util_uint64_scale_int64),
3638 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
3639 Implement high precision (guint64 * guint64) / guint64.
3641 2005-11-24 Wim Taymans <wim@fluendo.com>
3643 * gst/base/gstbasesrc.c: (gst_base_src_query):
3644 Fix wrong percentage query.
3646 * gst/gstutils.c: (gst_util_uint64_scale),
3647 (gst_util_uint64_scale_int):
3648 Add some more common cases that can be handled
3649 efficiently to _scale.
3651 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
3653 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
3654 (gst_mini_object_suite):
3655 don't use check calls from threads; check probably isn't
3656 threadsafe and using a lock to make it threadsafe would
3657 defeat the purpose of this check
3658 * gst/check/gstcheck.c:
3659 * gst/check/gstcheck.h:
3660 use GST_DEBUG some more
3662 2005-11-24 Wim Taymans <wim@fluendo.com>
3664 * gst/gstutils.c: (gst_util_uint64_scale),
3665 (gst_util_uint64_scale_int):
3666 Chain trivial case to _scale_int.
3668 2005-11-24 Wim Taymans <wim@fluendo.com>
3670 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3671 Added test for scaling.
3676 * gst/gstutils.c: (gst_util_uint64_scale_int):
3677 Implemented high precision scaling code.
3679 2005-11-24 Stefan Kost <ensonic@users.sf.net>
3682 do not crash on pad==NULL
3684 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
3686 Patch by: Stefan Kost
3688 * common/gtk-doc.mak:
3689 * docs/gst/Makefile.am:
3690 * docs/libs/Makefile.am:
3691 Fix distcheck issues for the libraries docs build
3694 2005-11-24 Michael Smith <msmith@fluendo.com>
3696 * docs/manual/basics-helloworld.xml:
3697 Fix bug #315027: memory leak in example code in docs.
3699 2005-11-24 Michael Smith <msmith@fluendo.com>
3701 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3702 Unlock the PREROLL_LOCK in a failure case.
3704 2005-11-24 Wim Taymans <wim@fluendo.com>
3706 * docs/gst/gstreamer-sections.txt:
3707 * gst/base/gstadapter.h:
3708 * gst/base/gstbasesink.h:
3709 * gst/base/gstbasesrc.h:
3710 * gst/base/gstbasetransform.h:
3711 * gst/base/gstpushsrc.h:
3712 * gst/elements/gstfakesink.h:
3713 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
3714 * gst/elements/gstfakesrc.h:
3715 * gst/elements/gstfilesink.h:
3716 * gst/elements/gstfilesrc.h:
3719 * gst/gstbuffer.c: (_gst_buffer_copy):
3722 * gst/gstchildproxy.c:
3725 * gst/gstelementfactory.c:
3726 * gst/gstelementfactory.h:
3728 * gst/gstghostpad.h:
3730 * gst/gstinterface.h:
3731 * gst/gstminiobject.c:
3732 * gst/gstminiobject.h:
3735 * gst/gstpadtemplate.h:
3736 * gst/gstpipeline.h:
3737 * gst/gstpluginfeature.h:
3742 * gst/gsttagsetter.c:
3743 * gst/gsttagsetter.h:
3746 * gst/gsttypefind.h:
3749 * gst/net/gstnetclientclock.c:
3750 * gst/net/gstnetclientclock.h:
3751 * gst/net/gstnettimepacket.c:
3752 * gst/net/gstnettimeprovider.c:
3753 * gst/net/gstnettimeprovider.h:
3756 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
3758 * configure.ac: back to HEAD
3760 === release 0.9.6 ===
3762 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
3765 releasing 0.9.6, "Always On Time"
3767 2005-11-23 Wim Taymans <wim@fluendo.com>
3769 * docs/gst/gstreamer-sections.txt:
3770 * gst/glib-compat.c:
3771 * gst/gsttagsetter.c:
3773 * gst/net/gstnetclientclock.c:
3774 * gst/net/gstnettimepacket.h:
3777 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
3779 * docs/faq/using.xml:
3780 * docs/libs/tmpl/gstcontrol.sgml:
3781 * docs/manual/advanced-dparams.xml:
3782 * docs/manual/appendix-checklist.xml:
3783 * docs/manual/basics-elements.xml:
3784 * docs/pwg/other-source.xml:
3785 * docs/random/moving-plugins:
3787 * tools/gst-launch.1.in:
3788 remove mentions of sinesrc
3790 2005-11-23 Michael Smith <msmith@fluendo.com>
3792 * docs/gst/gstreamer-sections.txt:
3793 Update for new API and API changes.
3795 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
3797 Documentation typo fix.
3798 * gst/net/gstnettimepacket.c:
3799 Documentation fixes for arguments.
3801 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
3803 * gst/gststructure.c: (gst_structure_get_fraction),
3804 (gst_structure_parse_value),
3805 (gst_structure_fixate_field_nearest_fraction):
3806 * gst/gststructure.h:
3807 * gst/gstutils.c: (gst_util_uint64_scale_int):
3809 * scripts/update-funcnames:
3811 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
3812 Make gst_structure_fixate_field_nearest_fraction take a numerator
3813 and denominator argument instead of a GValue
3814 add gst_structure_get_fraction helper function.
3816 2005-11-23 Wim Taymans <wim@fluendo.com>
3818 * docs/design/part-TODO.txt:
3821 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3822 * gst/net/gstnetclientclock.h:
3823 Use parent fields for timeout and window_size.
3825 2005-11-23 Andy Wingo <wingo@pobox.com>
3827 * check/net/gstnetclientclock.c (test_functioning): Adjust to
3828 rate_num/rate_denom change.
3830 * gst/net/gstnetclientclock.c
3831 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
3832 OBJECT_LOCK. Don't call add_observation with the lock.
3834 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
3836 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
3838 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
3839 deal with rate as a fraction whose numerator and denominator are
3840 GstClockTime values.
3841 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
3842 master; the other fields are protected by the SLAVE_LOCK.
3843 (do_linear_regression): Note that this must be called with the
3845 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
3846 OBJECT_LOCK. Call set_calibration instead of touching the
3848 (gst_clock_set_property, gst_clock_get_property): Protect
3849 master/slave parameters with the SLAVE_LOCK.
3851 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
3852 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
3853 note that all of the instance variables that add_observation and
3854 the set_master functions use are protected by that lock and not
3856 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
3858 * gst/gstclock.c (gst_clock_add_observation): No longer requires
3859 the caller to take the object lock.
3861 2005-11-23 Wim Taymans <wim@fluendo.com>
3863 * gst/gsterror.c: (_gst_core_errors_init):
3865 Add error for clock stuff.
3867 * gst/gstpipeline.c: (gst_pipeline_change_state),
3868 (gst_pipeline_set_clock):
3869 Post clock error when clock cannot be used in a pipeline.
3871 2005-11-23 Stefan Kost <ensonic@users.sf.net>
3873 * docs/gst/gstreamer-sections.txt:
3874 make two symbols from gstinfo private for the docs
3875 * gst/base/gstcollectpads.h:
3877 fix doc typos, update docs
3879 2005-11-22 Wim Taymans <wim@fluendo.com>
3881 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3882 (gst_base_sink_wait), (gst_base_sink_do_sync),
3883 (gst_base_sink_handle_event):
3884 * gst/base/gstbasesink.h:
3885 No need to store the clock, the parent element class already
3888 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
3889 Updates for clock_set returning a gboolean
3891 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
3892 (gst_clock_id_wait_async), (gst_clock_class_init),
3893 (gst_clock_init), (gst_clock_finalize),
3894 (gst_clock_get_internal_time), (gst_clock_get_time),
3895 (gst_clock_slave_callback), (gst_clock_set_master),
3896 (gst_clock_get_master), (do_linear_regression),
3897 (gst_clock_add_observation), (gst_clock_set_property),
3898 (gst_clock_get_property):
3900 Implement master/slave. When setting a clock as a slave, a
3901 periodic timeout is scheduled to sample master and slave times.
3902 Then the slave clock is recalibrated to match offset and rate
3903 of the master clock.
3904 Update logging a bit.
3905 Add flag so that a clock can state that is cannot be slaved to
3908 * gst/gstelement.c: (gst_element_set_clock):
3910 The set clock returns a gboolean for when an element cannot
3911 deal with the selected clock in the pipeline.
3913 * gst/gstpipeline.c: (gst_pipeline_change_state),
3914 (gst_pipeline_set_clock):
3915 * gst/gstpipeline.h:
3916 Handle the case where the selected clock cannot be set on
3919 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
3920 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3921 (gst_net_client_clock_set_property),
3922 (gst_net_client_clock_get_property),
3923 (gst_net_client_clock_observe_times):
3924 * gst/net/gstnetclientclock.h:
3925 Use regression code in GstClock parent, remove duplicated
3928 2005-11-22 Michael Smith <msmith@fluendo.com>
3930 * gst/gstutils.c: (gst_util_clock_time_scale):
3932 * docs/gst/gstreamer-sections.txt:
3933 Rename method to have extra underscore.
3935 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
3937 * gst/elements/Makefile.am:
3938 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
3939 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3940 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
3941 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
3942 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
3943 * gst/elements/gstfakesrc.h:
3944 * gst/gstqueue.c: (queue_leaky_get_type):
3945 correctly fix GEnumValues so that nick is the short lowercase
3947 * tools/gst-inspect.c: (print_element_properties_info):
3948 also show the nick, since it's useful to use from parse_launch
3952 2005-11-22 Michael Smith <msmith@fluendo.com>
3954 * gst/gstutils.c: (gst_util_clocktime_scale):
3956 * docs/gst/gstreamer-sections.txt:
3957 Add util method for scaling a clocktime by a fraction. Useful
3958 implementation is left as an exercise for the reader.
3960 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
3962 * gst/gstvalue.c: (gst_value_collect_fraction_range):
3963 If needed, allocate storage in the destination value during
3966 2005-11-22 Edward Hervey <edward@fluendo.com>
3968 * docs/gst/gstreamer-sections.txt:
3973 * gst/gstutils.c: (gst_util_set_object_arg):
3974 * tools/gst-compprep.c: (main):
3975 * tools/gst-inspect.c: (print_element_properties_info):
3976 Removed GstURI, closes bug #321061
3978 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
3980 * check/gst/gststructure.c: (GST_START_TEST):
3981 * gst/gststructure.c: (gst_structure_parse_value):
3982 Oops, broke automatic string type parsing.
3983 Add a test to catch it in future.
3985 2005-11-22 Andy Wingo <wingo@pobox.com>
3987 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
3988 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
3989 Actually rename the function implementations. Grr.
3991 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
3993 * check/gst/capslist.h:
3995 * check/gst/gststructure.c: (GST_START_TEST),
3996 (gst_structure_suite):
3997 Test automatic value type detection in gst_structure_from_string.
3998 * gst/gststructure.c: (gst_structure_parse_value):
3999 Add fraction as a type we try and guess automatically in
4000 caps/structure strings.
4002 2005-11-22 Andy Wingo <wingo@pobox.com>
4004 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
4006 * gst/gsttagsetter.h:
4007 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
4008 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
4009 (gst_tag_setter_add_tag_valist)
4010 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
4011 _add_values, _add_valist, and _add_valist_values. Since this is an
4012 interface the function suffixes should be more explicit so
4013 language binding don't end up with element.add_valist ->
4014 gst_tag_setter_add_valist, for example. Fixes #322069.
4016 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
4018 * check/gst/gstcaps.c: (GST_START_TEST):
4019 Extend caps string tests to check that a caps to string
4020 conversion is reversible and produces the same caps.
4022 * gst/gststructure.c: (gst_structure_value_get_generic_type):
4023 Output "fraction" as the generic type fraction range, so caps
4024 serialisation and deserialisation works.
4025 * check/gst/capslist.h:
4026 * gst/gstvalue.c: (gst_value_deserialize_fraction):
4027 Support 'MIN' and 'MAX' for deserialising fractions.
4029 2005-11-22 Andy Wingo <wingo@pobox.com>
4031 * gst/gstevent.h (gst_event_new_new_segment)
4032 (gst_event_parse_new_segment, gst_event_new_buffer_size)
4033 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
4034 Renamed from *_newsegment, *_buffersize, *_notarget.
4036 * scripts/update-funcnames: New script, performs the changes
4039 2005-11-22 Wim Taymans <wim@fluendo.com>
4041 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4042 Make sure the GstFlowReturn is returned.
4044 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
4045 (gst_bus_add_signal_watch):
4047 add gst_bus_add_signal_watch_full.
4049 * gst/gstplugin.c: (gst_plugin_load_file):
4050 Small style cleanup.
4052 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
4054 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
4055 Block the fakesrc srcpad when we send an event, to avoid
4056 contention on the stream_lock causing random test failures.
4058 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
4060 * check/gst/gstvalue.c: (GST_START_TEST):
4061 * gst/gstvalue.c: (gst_value_fraction_subtract):
4064 2005-11-22 Stefan Kost <ensonic@users.sf.net>
4067 include "gstchildproxy.h"
4068 * gst/gstchildproxy.h:
4069 * libs/gst/controller/gstcontroller.h:
4070 use G_GNUC_NULL_TERMINATED
4072 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
4074 * check/gst/capslist.h:
4075 * check/gst/gstcaps.c: (GST_START_TEST):
4076 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4077 * gst/gststructure.c: (gst_structure_parse_range),
4078 (gst_structure_fixate_field_nearest_fraction):
4079 * gst/gststructure.h:
4080 * gst/gstvalue.c: (gst_value_init_fraction_range),
4081 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
4082 (gst_value_collect_fraction_range),
4083 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
4084 (gst_value_set_fraction_range_full),
4085 (gst_value_get_fraction_range_min),
4086 (gst_value_get_fraction_range_max),
4087 (gst_value_serialize_fraction_range),
4088 (gst_value_transform_fraction_range_string),
4089 (gst_value_compare_fraction_range),
4090 (gst_value_deserialize_fraction_range),
4091 (gst_value_intersect_fraction_fraction_range),
4092 (gst_value_intersect_fraction_range_fraction_range),
4093 (gst_value_subtract_fraction_fraction_range),
4094 (gst_value_subtract_fraction_range_fraction),
4095 (gst_value_subtract_fraction_range_fraction_range),
4096 (gst_value_collect_fraction), (gst_value_fraction_multiply),
4097 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
4098 (gst_value_transform_string_fraction), (_gst_value_initialize):
4100 Implement fraction ranges and extend GstFraction to support
4101 arithmetic subtraction, as well as deserialization from integer
4102 strings such as "100"
4103 Add a testsuite as for int and double range set operations
4105 2005-11-21 Andy Wingo <wingo@pobox.com>
4109 * gst/gststructure.h: Add glib-compat.h.
4111 2005-11-21 Wim Taymans <wim@fluendo.com>
4113 * gst/gstbin.c: (gst_bin_change_state_func):
4116 2005-11-21 Wim Taymans <wim@fluendo.com>
4119 And add a nice define too.
4121 2005-11-21 Wim Taymans <wim@fluendo.com>
4123 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
4124 (gst_segment_new), (gst_segment_free), (gst_segment_init),
4125 (gst_segment_set_duration), (gst_segment_set_last_stop),
4126 (gst_segment_set_seek), (gst_segment_set_newsegment),
4127 (gst_segment_to_stream_time), (gst_segment_to_running_time),
4130 Make binding friendly.
4132 2005-11-21 Andy Wingo <wingo@pobox.com>
4134 * gst/gsttagsetter.h:
4136 * gst/gststructure.h:
4138 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
4141 * gst/gsterror.c (_gst_core_errors_init):
4142 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
4145 * gst/Makefile.am (gst_headers): Add glib-compat.h.
4146 (noinst_HEADERS): noinst the -private.
4148 2005-11-21 Michael Smith <msmith@fluendo.com>
4151 * gst/gstregistry.h:
4152 Remove unimplemented declarations for which we can see no sensible
4155 2005-11-21 Andy Wingo <wingo@pobox.com>
4157 * gst/gst.h: Include glib-compat.h.
4159 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
4161 * gst/glib-compat.c: Include the public and the private header.
4163 * gst/glib-compat-private.h: Copied here from glib-compat.h.
4167 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
4169 * check/gst/gstevent.c (create_custom_events): Check that
4170 FLUSH_STOP is serialized.
4172 * check/elements/identity.c (event_func):
4173 * check/elements/fakesrc.c (event_func): No stream lock, the core
4176 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
4177 stream lock taking, yay.
4179 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
4180 ensure that core takes the stream lock.
4182 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
4185 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
4186 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
4187 it already. For the flush start we do take it though so we get the
4188 right preroll state change messages.
4190 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
4191 the stream lock here, the core does it for us.
4193 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
4194 GST_STREAM_GET_LOCK.
4195 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
4196 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
4197 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
4198 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
4199 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
4200 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
4202 * gst/gstpad.c: Update for stream lock name change.
4204 * gst/base/gstbasesink.c: Update for preroll lock name change.
4206 2005-11-21 Wim Taymans <wim@fluendo.com>
4208 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
4209 (gst_clock_get_master):
4211 * gst/gstsystemclock.c: (gst_system_clock_init):
4212 Convert Clock flags to object flags.
4213 Added methods to manage master/slave clocks.
4215 2005-11-21 Wim Taymans <wim@fluendo.com>
4217 * check/gst/gstsegment.c: (GST_START_TEST):
4218 * docs/design/part-TODO.txt:
4219 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4220 (gst_base_sink_event), (gst_base_sink_do_sync),
4221 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4222 (gst_base_sink_query), (gst_base_sink_change_state):
4223 * gst/base/gstbasesink.h:
4224 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4225 (gst_base_src_default_newsegment),
4226 (gst_base_src_configure_segment), (gst_base_src_do_seek),
4227 (gst_base_src_get_range), (gst_base_src_loop),
4228 (gst_base_src_change_state):
4229 * gst/base/gstbasesrc.h:
4230 * gst/base/gstbasetransform.c:
4231 (gst_base_transform_prepare_output_buf),
4232 (gst_base_transform_event), (gst_base_transform_change_state):
4233 * gst/base/gstbasetransform.h:
4234 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
4235 (gst_collect_pads_event):
4236 * gst/base/gstcollectpads.h:
4237 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
4238 (gst_fake_src_create):
4239 * gst/elements/gstfakesrc.h:
4240 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4241 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
4242 (gst_segment_set_last_stop), (gst_segment_set_seek),
4243 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4244 (gst_segment_to_running_time), (gst_segment_clip):
4246 More segment updates, replace code in plugins with segment
4249 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
4251 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
4252 Don't ignore sscanf results
4254 2005-11-21 Andy Wingo <wingo@pobox.com>
4256 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
4259 * *.c: Ran scripts/update-macros. Oh yes.
4261 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
4262 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
4265 * scripts/update-macros: New script. Run it on your files to
4266 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
4269 2005-11-21 Stefan Kost <ensonic@users.sf.net>
4271 * docs/gst/Makefile.am:
4272 * docs/gst/gstreamer-docs.sgml:
4273 * docs/gst/gstreamer-sections.txt:
4274 * docs/gst/gstreamer.types:
4276 more docs fixes, add new api to the docs
4278 2005-11-21 Andy Wingo <wingo@pobox.com>
4280 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
4281 state_broadcast call.
4283 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
4285 2005-11-21 Julien MOUTTE <julien@moutte.net>
4287 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
4288 function calls for arrays.
4290 2005-11-21 Stefan Kost <ensonic@users.sf.net>
4292 * docs/random/ensonic/media-device-daemon.txt:
4293 wild idea, can this be done?
4294 * docs/gst/gstreamer-sections.txt:
4299 * gst/gstpluginfeature.c:
4303 doc fixes and additions
4305 2005-11-21 Andy Wingo <wingo@pobox.com>
4307 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
4308 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
4309 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
4310 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
4311 private to the basesrc implementation.
4313 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
4314 behalf of event function if necessary. It should no longer be
4315 necessary to take the stream lock in pad's event functions. Fixes
4318 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
4319 * docs/gst/gstreamer-sections.txt:
4320 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
4321 (gst_structure_fixate_field_nearest_double),
4322 (gst_structure_fixate_field_boolean):
4323 * gst/gststructure.h:
4324 * win32/common/libgstreamer.def:
4325 * win32/gstreamer.def:
4327 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
4330 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
4332 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
4333 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
4334 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
4335 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
4336 (gst_fdsrc_uri_handler_init):
4337 * gst/elements/gstfdsrc.h:
4338 Port fd:// URI handler from 0.8 to fdsrc
4340 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
4342 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
4343 (gst_value_serialize_fourcc):
4345 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
4346 consistent with our other format defines (#320324).
4348 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
4350 * gst/gstvalue.c: (gst_value_is_fixed):
4351 Revert previous commit. Value lists are by definition
4352 not fixed, as they are a list of possible values.
4354 2005-11-21 Andy Wingo <wingo@pobox.com>
4356 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
4357 during the stable series if we need it. Fixes #319178.
4359 * gst/gstevent.c (gst_event_new_filler): Removed.
4361 * check/gst/gstevent.c: Update comment about filler events.
4363 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
4365 * gst/gstvalue.c: (gst_value_is_fixed):
4366 Should handle both value arrays and value lists.
4368 2005-11-21 Andy Wingo <wingo@pobox.com>
4370 patch by: Alessandro Dessina <alessandro nnva org>
4372 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
4373 functions to access arrays. Fixes #321962.
4375 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
4377 * docs/gst/gstreamer.types:
4378 gst_collectpads_get_type => gst_collect_pads_get_type.
4380 * gst/base/gstbasetransform.c:
4381 Remove unused SIGNAL_HANDOFF enum.
4383 2005-11-21 Andy Wingo <wingo@pobox.com>
4385 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
4386 the event type (upstream, downstream, serialized). Renamed
4387 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
4388 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
4389 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
4391 * gst/gstevent.c: Update for new CUSTOM event names.
4393 * check/gst/gstevent.c: Update check for new CUSTOM event names.
4396 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
4399 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
4401 * docs/gst/gstreamer-sections.txt:
4402 * win32/common/libgstbase.def:
4403 * win32/libgstbase.def:
4404 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4405 (gst_collect_pads_class_init), (gst_collect_pads_init),
4406 (gst_collect_pads_finalize), (gst_collect_pads_new),
4407 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
4408 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
4409 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
4410 (gst_collect_pads_start), (gst_collect_pads_stop),
4411 (gst_collect_pads_peek), (gst_collect_pads_pop),
4412 (gst_collect_pads_available), (gst_collect_pads_read),
4413 (gst_collect_pads_flush), (gst_collect_pads_event),
4414 (gst_collect_pads_chain):
4415 * gst/base/gstcollectpads.h:
4416 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
4417 unimplemented functions as unimplemented. Add padding to
4418 GstCollectData. (#320766, #320423)
4420 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
4423 Improve docs for DURATION message (usage of duration parameter)
4426 2005-11-20 Wim Taymans <wim@fluendo.com>
4428 * check/Makefile.am:
4429 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
4433 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
4434 (gst_segment_set_seek), (gst_segment_set_newsegment),
4435 (gst_segment_to_stream_time), (gst_segment_to_running_time),
4438 Added segment helper structure and methods. Not fully implemented
4440 Added segment check.
4442 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
4444 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4445 Add a deserialisation test for fractions
4446 * examples/metadata/read-metadata.c: (message_loop),
4447 (make_pipeline), (main):
4448 Fix up metadata reading sample.
4449 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4451 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4452 Don't try and fixate empty caps
4453 * gst/gst_private.h:
4454 Wrap in G_BEGIN_DECLS/G_END_DECLS
4455 * gst/gstvalue.c: (gst_value_collect_fraction),
4456 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
4457 (gst_value_transform_string_fraction),
4458 (gst_value_compare_fraction):
4459 Add some extra guards to ensure that we don't end up
4460 with an invalid denominator of 0 in a gstfraction and
4461 that fractions always get reduced.
4463 2005-11-20 Wim Taymans <wim@fluendo.com>
4465 * docs/gst/gstreamer-sections.txt:
4476 2005-11-20 Wim Taymans <wim@fluendo.com>
4478 * docs/design/part-TODO.txt:
4480 Make a proper enum of the flag.
4482 2005-11-19 Wim Taymans <wim@fluendo.com>
4484 * docs/design/part-TODO.txt:
4485 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
4486 (gst_format_to_quark), (gst_format_register):
4488 * gst/gstquery.c: (_gst_query_initialize),
4489 (gst_query_type_get_name), (gst_query_type_to_quark),
4490 (gst_query_type_register):
4492 Add type to quark and type to string conversions.
4494 2005-11-19 Andy Wingo <wingo@pobox.com>
4496 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
4499 2005-11-19 Wim Taymans <wim@fluendo.com>
4501 * docs/design/part-TODO.txt:
4502 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
4503 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
4504 (gst_bin_handle_message_func):
4506 Make message handling overridable.
4508 2005-11-19 Andy Wingo <wingo@pobox.com>
4510 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
4513 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
4515 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
4516 is a GstClockTime. Fixes #321710.
4518 * gst/gstclock.h (GstClock): Remove offset property. Add
4519 internal_calibration and external_calibration. Fix padding. Pad
4520 also by GstClockTime so we don't run into problems.
4522 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
4523 (gst_clock_get_rate_offset): Remove.
4524 (gst_clock_set_time_adjust): Remove. Fixes #321712.
4527 * gst/gstutils.c (g_static_rec_cond_wait)
4528 (g_static_rec_cond_timed_wait): Removed, no longer needed.
4530 * gst/gstbin.c: Remove terrible continue_state prototype.
4532 * gst/gstelement.h (gst_element_continue_state): Make public.
4535 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
4536 by continue_state. Fixes #319389.
4538 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
4539 Really fixes #168438. However I don't see anywhere where the
4540 filter function is called... stupid GStreamer...
4542 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
4543 don't have a dispose function, so it won't get called when the
4544 object is unreffed, but oh well!
4546 * gst/gstindex.c (gst_index_set_filter_full): New API function,
4547 allows a destroy function to be set so user_data can be freed.
4549 (gst_index_set_filter): Call gst_index_set_filter_full.
4551 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
4553 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
4554 string should produce an error, given the lack of a way to
4555 represent NULL strings. Fixes #165650.
4558 * gst/gstvalue.c (gst_value_array_append_value)
4559 (gst_value_array_prepend_value, gst_value_array_get_size)
4560 (gst_value_array_get_value): New API, copied from
4561 gst_value_list_*, only operates on arrays.
4562 (gst_value_list_append_value, gst_value_list_prepend_value)
4563 (gst_value_list_concat, gst_value_list_get_size)
4564 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
4566 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
4567 init_list, because it works on both.
4568 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
4569 (gst_value_copy_list_or_array): Renamed from copy_list.
4570 (gst_value_free_list_or_array): Renamed from free_list.
4571 (gst_value_collect_list_or_array): Renamed from collect_list.
4572 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
4573 (gst_value_list_or_array_peek_pointer): Renamed from
4575 (_gst_value_array_value_table, _gst_value_list_value_table):
4576 Update value table functions.
4577 (gst_value_compare_list_or_array): Renamed from compare_list.
4579 * gsttaglist.h: Whoops, foreach function returns void. Also fix
4583 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
4584 GstTagList*. Fixes #143472.
4586 * gst/gststructure.h: Clarify what the foreach/map functions can
4587 or can't do to their arguments.
4589 2005-11-18 Wim Taymans <wim@fluendo.com>
4591 * gst/gstclock.c: (gst_clock_set_calibration),
4592 (gst_clock_get_calibration):
4594 Calibration can be set with internal time equal to current
4597 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
4603 2005-11-18 Andy Wingo <wingo@pobox.com>
4606 * pkgconfig/gstreamer-net.pc.in:
4607 * pkgconfig/gstreamer-net-uninstalled.pc.in:
4608 * pkgconfig/Makefile.am: Add net pkgconfig files.
4610 2005-11-18 Stefan Kost <ensonic@users.sf.net>
4613 * gst/gstghostpad.c:
4619 2005-11-18 Andy Wingo <wingo@pobox.com>
4621 * gst/net/gstnetclientclock.c: Turn off debugging.
4623 * check/net/gstnetclientclock.c (test_functioning): Assert that the
4624 times connverge somewhat. Can't make a real test.
4626 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
4627 integer arithmetic. Return the minimum of the domain, which can be
4628 set as "internal" for gst_clock_set_calibration.
4629 (gst_net_client_clock_observe_times): Call _set_calibration.
4630 (gst_net_client_clock_new): Call _set_calibration instead of
4633 * check/net/gstnetclientclock.c (test_functioning): Use the right
4637 * gst/gstclock.c (gst_clock_get_calibration)
4638 (gst_clock_set_calibration): New functions, obsolete the ones I
4639 added yesterday. Doh. Precision issues mean we have to extrapolate
4640 from a point in the more recent past than 1970.
4641 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
4643 (gst_clock_adjust_unlocked): Use the right calibration data.
4645 2005-11-18 Edward Hervey <edward@fluendo.com>
4647 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4648 Also reset the ->current_* values in READY->PAUSED
4650 2005-11-18 Andy Wingo <wingo@pobox.com>
4652 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
4653 Whoops, check the right fd. Also add some debugging.
4654 (gst_net_client_clock_observe_times): Adjust for int64 offset.
4655 (do_linear_regression): Add a crapload of debugging. Subtract off
4656 the minimum values from the input series to discard unneeded bits.
4657 Use only int arithmetic. There is still double arithmetic when
4658 calculating the intercept that needs fixing. Return boolean to
4659 indicate success; FALSE would mean the domain or range is too
4660 great. Still needs fixes.
4662 2005-11-18 Wim Taymans <wim@fluendo.com>
4664 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4665 For the current position in stream time, we need to subtract
4668 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4669 Release lock before calling the callback function of async
4672 2005-11-18 Andy Wingo <wingo@pobox.com>
4674 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
4675 Port goes all the way to MAXUINT16.
4677 * gst/net/gstnettimeprovider.c: Make the port range the same as
4678 for the kernel: 0 assigns, otherwise ports are less than
4681 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
4684 * check/net/gstnetclientclock.c (test_functioning): Add the start
4687 2005-11-18 Wim Taymans <wim@fluendo.com>
4689 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4690 (gst_bin_remove_func), (bin_bus_handler):
4692 Removing a clock provider from a bin, triggers a clock lost message
4693 so that a new clock will be selected.
4694 Adding a clock to a bin triggers a clock provider message.
4695 Make sure we reselect a clock when we received a clock lost message.
4696 Keep a reference to the element that provided the clock.
4698 2005-11-18 Andy Wingo <wingo@pobox.com>
4700 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
4701 the clock initially so it produces values around the base time.
4702 (gst_net_client_clock_class_init): Typo fix.
4703 (gst_net_client_clock_thread): Add note on when the socket gets
4706 2005-11-17 Wim Taymans <wim@fluendo.com>
4708 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
4709 Free remote and local time arrays.
4711 2005-11-17 Wim Taymans <wim@fluendo.com>
4713 * gst/net/gstnetclientclock.c: (do_linear_regression),
4714 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
4715 Fix compilation, uninitialized vars and a forgotten continue.
4717 2005-11-17 Andy Wingo <wingo@pobox.com>
4719 * check/Makefile.am (check_PROGRAMS):
4720 * check/net/gstnetclientclock.c: Add a most minimal test for the
4721 net client clock. More to come later.
4724 * gst/net/Makefile.am: Add netclientclock.
4726 * gst/net/gstnetclientclock.h:
4727 * gst/net/gstnetclientclock.c: New files, implement an untested
4728 GstClock that takes its time from a network time provider.
4729 Implements the algorithm in network-clock.scm.
4731 * tests/network-clock.scm (*window-size*): Rename from
4733 * tests/network-clock.scm (network-time):
4734 * tests/network-clock-utils.scm (q-push): Update callers.
4736 2005-11-17 Wim Taymans <wim@fluendo.com>
4738 * gst/gstbin.c: (gst_bin_provide_clock_func),
4739 (gst_bin_sort_iterator_new):
4740 And unref the child too..
4742 2005-11-17 Wim Taymans <wim@fluendo.com>
4744 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4745 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
4746 Refactor the sort iterator so it can be used while holding the
4748 Make clock selection select a clock closest to the source.
4750 2005-11-17 Michael Smith <msmith@fluendo.com>
4752 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
4753 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
4755 Anonymous structs are a gcc (and some other compilers) extension, so
4756 don't use them. Since this is only for ABI-compatibility, and our
4757 API/ABI freeze is over in a few days, this whole thing will only
4758 last a few days, so don't bother trying to think up a meaningful
4759 name for the struct.
4761 2005-11-17 Andy Wingo <wingo@pobox.com>
4763 * gst/gstclock.h (GstClock): Add rate and offset properties,
4764 preserving ABI stability. Add rate/offset accessors. Will file bug
4765 for the freeze break.
4767 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
4768 and offset, trying to keep precision and avoiding
4770 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
4771 functions. Make gst_clock_set_time_adjust obsolete.
4772 (gst_clock_set_time_adjust): Note that this function is obsolete.
4775 * gst/base/gstbasetransform.h: Make the ABI-stability hack
4776 greppable by using GST_PADDING-1+1.
4778 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
4780 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4782 * gst/gstmessage.c: (gst_message_parse_clock_lost):
4783 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
4785 * gst/gstpadtemplate.h:
4786 * gst/gstpluginfeature.h:
4787 Don't use c++ style comments in headers (#321638).
4789 2005-11-16 Andy Wingo <wingo@pobox.com>
4791 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
4794 * check/net/gstnettimeprovider.c: Check to see that the time
4795 provider actually provides times. Works, yo!
4797 2005-11-16 Wim Taymans <wim@fluendo.com>
4799 * check/Makefile.am:
4802 * check/elements/fakesrc.c: (GST_START_TEST):
4803 Set element to NULL before disposing it.
4805 2005-11-16 Andy Wingo <wingo@pobox.com>
4807 * gst/net/Makefile.am:
4809 * gst/net/gstnettimeprovider.c:
4810 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
4811 provider, include it from gstnet.h, and add it to the build.
4813 * gst/net/gstnettimepacket.h:
4814 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
4815 sending and receiving.
4817 2005-11-16 Wim Taymans <wim@fluendo.com>
4819 * check/Makefile.am:
4820 Enable valgrind check.
4822 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
4823 (gst_fake_src_alloc_buffer):
4826 2005-11-16 Wim Taymans <wim@fluendo.com>
4828 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
4829 Call parent finalize too.
4831 2005-11-16 Wim Taymans <wim@fluendo.com>
4833 * check/Makefile.am:
4834 Enable valgrind check that should work fine now.
4836 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4837 * gst/gstqueue.c: (gst_queue_init):
4838 Fix memleaks in pad allocation.
4840 2005-11-16 Andy Wingo <wingo@pobox.com>
4842 * gst/net/Makefile.am:
4843 * gst/net/gstnet.h: New part of core to hold network elements and
4844 objects. Put in core because it exposes API that applications want
4845 to use. The library is named libgstnet-tempname right now because
4846 of the existing libgstnet in gst-plugins-base. Solution is
4847 probably to rename the one in plugins-base; will file a bug for
4850 * gst/net/gstnettimeprovider.c:
4851 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
4852 get_time call over the network.
4855 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
4857 * check/Makefile.am:
4858 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
4859 get additions shortly.
4861 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
4863 * gst/gstpad.c: (gst_pad_new_from_static_template):
4865 add gst_pad_new_from_static_template functions
4866 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
4867 (gst_check_setup_sink_pad):
4868 * gst/elements/gsttee.c: (gst_tee_init):
4871 2005-11-16 Wim Taymans <wim@fluendo.com>
4873 * gst/gstpad.c: (gst_pad_pause_task):
4874 Removed warning, it's not really an error either.
4876 2005-11-16 Wim Taymans <wim@fluendo.com>
4878 * gst/base/gstbasetransform.c:
4879 (gst_base_transform_prepare_output_buf),
4880 (gst_base_transform_event):
4881 Check if the caps are NULL, this can happen if the element
4882 is shutting down and the pad caps are set to NULL.
4884 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
4886 * gst/elements/gsttee.c: (gst_tee_init):
4887 fix pad template leak in tee
4889 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
4891 * gst/glib-compat.c: (g_value_dup_gst_object):
4892 * gst/glib-compat.h:
4893 * gst/gstpad.c: (gst_pad_set_property):
4894 use gst_object_ref when setting the pad template; this will
4895 trigger the pad template leaks on GLib 2.6 and the slaves
4897 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
4899 * gst/glib-compat.c: (gst_flags_get_first_value):
4900 * gst/glib-compat.h:
4901 * gst/gstregistryxml.c:
4902 remove functions copied from GLib 2.6
4904 2005-11-16 Michael Smith <msmith@fluendo.com>
4907 Don't link against VALGRIND_LIBS. That was always the wrong thing to
4908 do, but only breaks with newer valgrind versions. We're not a
4909 valgrind tool, we have no link-time dependencies on libcoregrind.
4911 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
4913 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4918 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
4920 * gst/base/gstbasesrc.c: (gst_base_src_init):
4921 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4922 * gst/gstqueue.c: (gst_queue_init):
4923 * gst/gstregistryxml.c: (load_feature):
4924 Revert all these unrefs, they don't even pass make check !
4926 2005-11-15 Johan Dahlin <johan@gnome.org>
4928 * gst/base/gstbasesrc.c: (gst_base_src_init):
4929 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4930 * gst/gstqueue.c: (gst_queue_init):
4931 Free pad templates, fixes a couple of leaks.
4933 2005-11-15 Daniel Fischer <dan at f3c dot com>
4935 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
4937 * gst/gstpad.c: (gst_pad_get_property):
4938 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
4939 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
4942 2005-11-15 Wim Taymans <wim@fluendo.com>
4947 2005-11-15 Andy Wingo <wingo@pobox.com>
4949 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
4951 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
4952 using GST_CLOCK_TIME_NONE to disable base time management.
4953 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
4954 time if it was NONE before.
4955 (gst_pipeline_change_state): Only munge the base time if
4956 stream_time != GST_CLOCK_TIME_NONE.
4958 * check/gst/gstpipeline.c (test_base_time): Punt around the
4959 problem of the probe not being called, because that's not the
4960 issue I'm looking at. Add a check that setting stream_time to NONE
4961 disables base time management.
4963 2005-11-15 Wim Taymans <wim@fluendo.com>
4965 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4966 segment_stop == -1 at startup.
4968 * gst/base/gstbasetransform.c: (gst_base_transform_event),
4969 (gst_base_transform_change_state):
4970 Init segment values at start.
4972 2005-11-15 Wim Taymans <wim@fluendo.com>
4974 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4975 0 segment values are 0 in any format.
4977 * gst/base/gstbasetransform.c: (gst_base_transform_event):
4978 * gst/base/gstbasetransform.h:
4979 Parse newsegment correctly in basetransform
4981 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4982 Sync to clock using updated segment values.
4984 2005-11-15 Andy Wingo <wingo@pobox.com>
4986 * check/gst/gstpipeline.c (test_base_time): Add check that the
4987 base time and stream time are reset correctly.
4989 2005-11-15 Wim Taymans <wim@fluendo.com>
4991 * docs/design/part-TODO.txt:
4992 Some more TODO items.
4994 2005-11-15 Andy Wingo <wingo@pobox.com>
4996 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
4997 error if the user selected "no clock" as the clocking method.
4999 * check/gst/gstpipeline.c (test_base_time): New test for buffer
5000 timestamps with live capture.
5002 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
5003 is 0 but we are a live source, timestamp the buffers using the
5006 2005-11-14 Stefan Kost <ensonic@users.sf.net>
5008 * docs/gst/gstreamer-sections.txt:
5010 * gst/gstghostpad.c:
5015 2005-11-14 Wim Taymans <wim@fluendo.com>
5018 add suppressions from Wim's Debian machine
5020 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
5023 add suppressions from Andy's AMD64 Ubuntu machine
5025 2005-11-14 Andy Wingo <wingo@pobox.com>
5027 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
5028 STATE_LOCK not necessary. Fixes #311489.
5030 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
5033 * gst/gstindex.c (gst_index_add_object): Note in the docs that
5034 this function is not implemented.
5036 2005-11-14 Julien MOUTTE <julien@moutte.net>
5038 * gst/base/gstbasetransform.c:
5039 (gst_base_transform_prepare_output_buf):
5040 Ref the source pad caps while we need them.
5043 2005-11-11 Wim Taymans <wim@fluendo.com>
5045 * docs/gst/gstreamer-sections.txt:
5046 Added some docs for GstCollectData.
5048 * gst/base/gstadapter.c:
5049 Some small code example fix.
5051 * gst/base/gstcollectpads.c:
5052 * gst/base/gstcollectpads.h:
5055 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
5057 * configure.ac: back to HEAD
5059 === release 0.9.5 ===
5061 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
5064 releasing 0.9.5, "Bike Lunch Day"
5066 2005-11-11 Wim Taymans <wim@fluendo.com>
5068 * gst/gstbuffer.c: (_gst_buffer_copy):
5071 * gst/gstcaps.c: (gst_caps_is_equal):
5073 Make _is_equal fast in the trivial cases.
5075 * gst/gstminiobject.c:
5076 * gst/gstminiobject.h:
5077 More docs. Spifify .h file.
5082 2005-11-11 Wim Taymans <wim@fluendo.com>
5084 * gst/base/gstbasetransform.c:
5085 (gst_base_transform_prepare_output_buf),
5086 (gst_base_transform_handle_buffer):
5088 If we're processing a buffer and need to allocate an output
5089 buffer, we cannot accept a format change. If we did get a
5090 format change, we have to alloc a buffer ourselves of the
5093 2005-11-11 Wim Taymans <wim@fluendo.com>
5095 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
5096 While checking the flag for reentrancy in the gstcaps function
5097 is nice to detect recursive invocations, it also makes it
5098 impossible to call getcaps from multiple threads, which must be
5099 possible. So, checking for recursive calls has to go.
5101 2005-11-11 Michael Smith <msmith@fluendo.com>
5103 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5104 Don't sync on buffers that fall partially outside our current
5105 segment. Prevents an assertion failure/abort playing some files.
5107 2005-11-10 Andy Wingo <wingo@pobox.com>
5109 * check/gst/gstbin.c (test_message_state_changed_children): Style
5112 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
5113 gst_bus_poll with the signal watch. Ensures that poll and a signal
5114 watch see the same messages.
5116 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
5117 a poll and a watch at the same time get the same messages.
5119 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
5121 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
5122 * gst/gstcaps.c: (gst_caps_intersect):
5123 Don't call gst_caps_do_simplify - it doesn't respect order of caps
5124 and it's not needed.
5126 2005-11-10 Wim Taymans <wim@fluendo.com>
5128 * docs/design/part-TODO.txt:
5131 2005-11-10 Wim Taymans <wim@fluendo.com>
5133 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5134 * gst/base/gstbasesrc.c: (gst_base_src_wait),
5135 (gst_base_src_do_sync), (gst_base_src_get_range):
5136 Implement clock sync in base class.
5138 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
5140 patch by: Tim-Philipp Müller <tim at centricular dot net>
5142 * gst/gststructure.c: (gst_structure_parse_field),
5143 (gst_structure_from_string):
5144 Forward-port a 0.8 patch to handle escaped spaces in structure string,
5145 so that gst_parse_launch() can deal with spaces in filtered link
5146 caps (fixes #164479)
5147 * check/gst/capslist.h:
5148 * check/gst/gststructure.c: (GST_START_TEST):
5149 add unit tests for this change
5151 2005-11-10 Wim Taymans <wim@fluendo.com>
5153 * docs/gst/gstreamer-sections.txt:
5156 Fix docs, move some STATE macros to private.
5158 2005-11-10 Wim Taymans <wim@fluendo.com>
5160 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
5161 Added check for bug #317341
5165 Some more spiffifying.
5167 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
5168 Call peer linkfunction if we are a source pad. Totally fixes
5172 Update docs, source pads should call the peer linkfunction
5173 so they can atomically perform the pad link.
5175 2005-11-09 Wim Taymans <wim@fluendo.com>
5179 Uber-spiffy-spiffify some more.
5181 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
5183 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
5184 * gst/elements/gstfilesink.c: (gst_file_sink_init):
5185 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
5186 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
5187 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
5188 * gst/gstpad.c: (gst_pad_init):
5189 Use GST_DEBUG_FUNCPTR() more extensively.
5191 2005-11-09 Wim Taymans <wim@fluendo.com>
5193 * gst/gstobject.c: (gst_object_class_init):
5195 Documentation fixes.
5197 2005-11-09 Edward Hervey <edward@fluendo.com>
5199 * gst/gsttypefindfactory.c:
5202 2005-11-09 Edward Hervey <edward@fluendo.com>
5204 * gst/base/gsttypefindhelper.c:
5205 * gst/gsttypefind.c:
5206 * gst/gsttypefind.h:
5209 2005-11-09 Wim Taymans <wim@fluendo.com>
5211 * gst/gstiterator.c:
5218 2005-11-09 Wim Taymans <wim@fluendo.com>
5224 2005-11-09 Wim Taymans <wim@fluendo.com>
5226 * docs/gst/gstreamer-sections.txt:
5227 Moved the message async delivery private lock and cond
5228 to the private section.
5234 2005-11-09 Edward Hervey <edward@fluendo.com>
5236 * docs/gst/gstreamer-sections.txt:
5239 Document GstURIHandler
5241 2005-11-09 Wim Taymans <wim@fluendo.com>
5243 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
5244 (gst_iterator_find_custom):
5245 * gst/gstiterator.h:
5248 2005-11-09 Wim Taymans <wim@fluendo.com>
5251 Document another field.
5253 * gst/gststructure.c:
5254 * gst/gststructure.h:
5257 2005-11-09 Wim Taymans <wim@fluendo.com>
5262 2005-11-09 Wim Taymans <wim@fluendo.com>
5264 * docs/gst/gstreamer-sections.txt:
5265 Added some new macros.
5272 2005-11-09 Wim Taymans <wim@fluendo.com>
5274 * docs/design/part-TODO.txt:
5275 Some more items for the TODO
5281 2005-11-09 Andy Wingo <wingo@pobox.com>
5283 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
5284 to work on something else now tho...
5286 * gst/base/gstadapter.c: More adapter docs.
5288 * gst/elements/gstfilesink.c (gst_file_sink_start)
5289 (gst_file_sink_stop): New functions, replace the state change
5291 (gst_file_sink_class_init): Hook up the start and stop functions.
5292 (gst_file_sink_base_init): Don't set the state change handler any
5293 more. It was a bit ugly too, being set from here...
5294 (gst_file_sink_get_property, gst_file_sink_set_property):
5296 (gst_file_sink_set_location): More robust check that doesn't call
5299 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
5301 * gst/base/gstbasetransform.c: (gst_base_transform_event):
5302 Hold STREAM_LOCK while pushing newsegment or tag events as well.
5304 2005-11-08 Wim Taymans <wim@fluendo.com>
5306 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
5307 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5308 (gst_base_sink_chain), (gst_base_sink_change_state):
5309 * gst/base/gstbasesink.h:
5310 * gst/base/gstbasesrc.h:
5313 Avoid excessive typechecking in macros.
5315 * gst/gstminiobject.c: (gst_mini_object_get_type),
5316 (gst_mini_object_init), (gst_mini_object_new),
5317 (gst_mini_object_free):
5318 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
5319 (gst_object_finalize):
5320 Remove cruft code, optimize alloc_trace.
5322 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
5324 * docs/faq/gst-uninstalled:
5325 fix up PS1 for systems that try to reset it
5327 2005-11-07 Wim Taymans <wim@fluendo.com>
5329 * gst/base/gstbasesrc.c: (gst_base_src_init),
5330 (gst_base_src_get_range):
5331 Set the segment_end to -1 initially. Fixed typefind.
5333 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
5335 * gst/base/gstadapter.c:
5336 Debug category should be 'adapter', not 'GstAdapter'.
5338 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
5339 (gst_collectpads_class_init), (gst_collectpads_init),
5340 (gst_collectpads_peek), (gst_collectpads_pop),
5341 (gst_collectpads_event), (gst_collectpads_chain):
5342 Add debug category and some debugging output. Use boilerplate
5343 macros. Remove some extraneous words from docs.
5345 2005-11-05 Andy Wingo <wingo@pobox.com>
5347 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
5350 2005-11-04 Stefan Kost <ensonic@users.sf.net>
5352 * docs/gst/gstreamer-sections.txt:
5355 * gst/gstminiobject.h:
5360 2005-11-04 Wim Taymans <wim@fluendo.com>
5362 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5363 Small update to stop at the configured segment_end
5366 2005-11-04 Stefan Kost <ensonic@users.sf.net>
5368 * gst/gstregistry.c:
5369 * gst/gstregistry.h:
5372 2005-11-04 Edward Hervey <edward@fluendo.com>
5374 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5375 Check if we are doing a segment seek and have arrived at the
5376 end of that segment.
5378 2005-11-04 Wim Taymans <wim@fluendo.com>
5380 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
5381 Don't leak a mutex unlock in case of an error.
5386 2005-11-04 Wim Taymans <wim@fluendo.com>
5388 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
5390 Get the context to wake up only once.
5392 2005-11-03 Wim Taymans <wim@fluendo.com>
5394 * check/states/sinks.c: (GST_START_TEST):
5395 Uncomment fixed check.
5397 * docs/design/part-TODO.txt:
5400 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5401 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
5402 (gst_base_sink_get_position):
5403 If we are going to PLAYING, post the right pending state
5404 when we post the intermediate paused message.
5406 * gst/gstelement.c: (gst_element_continue_state),
5407 (gst_element_set_state_func), (gst_element_change_state):
5408 Don't post state changes that were between the same state
5411 2005-11-03 Stefan Kost <ensonic@users.sf.net>
5413 * docs/gst/gstreamer-sections.txt:
5416 * gst/gstminiobject.h:
5419 more docs and doc style fixes
5421 2005-11-03 Stefan Kost <ensonic@users.sf.net>
5423 * docs/gst/gstreamer-sections.txt:
5425 * gst/gstminiobject.c:
5428 2005-11-03 Andy Wingo <wingo@pobox.com>
5430 * check/states/sinks.c (test_livesrc_sink): Add checks that the
5431 state-changed messages actually have the right order and the right
5434 2005-11-03 Wim Taymans <wim@fluendo.com>
5436 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5437 Added some more checks. Specifically the case where NO_PREROLL
5438 elements are in the pipeline.
5440 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5441 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
5442 (gst_base_sink_get_position):
5443 Post READY->PAUSED state change messages too.
5444 Fix bug where VOID was posted as pending state...
5446 * gst/gstbin.c: (gst_bin_recalc_state):
5447 use _element_continue_state() to continue the state change.
5449 * gst/gstelement.c: (gst_element_continue_state),
5450 (gst_element_commit_state), (gst_element_set_state_func),
5451 (gst_element_change_state), (gst_element_change_state_func):
5452 Lots of state change cleanups, assign the STATE_RETURN in
5453 a new continue_state() function that also propagates the
5454 last return value from a state change to the app.
5455 Update some debug statements with proper category.
5457 2005-11-03 Wim Taymans <wim@fluendo.com>
5459 * docs/design/part-events.txt:
5460 * docs/design/part-gstpipeline.txt:
5461 * docs/design/part-messages.txt:
5462 * docs/design/part-overview.txt:
5463 * docs/design/part-seeking.txt:
5464 * docs/design/part-states.txt:
5465 * docs/design/part-trickmodes.txt:
5466 * docs/manual/advanced-position.xml:
5470 People think !! is ugly, this looks better.
5472 * gst/gstpad.c: (gst_pad_set_blocked_async):
5473 Remove !! since it's fixed elsewhere now.
5475 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
5477 * gst/gstminiobject.h:
5479 Add !! to _FLAG_IS_SET macros to make the result boolean.
5481 2005-11-03 Edward Hervey <edward@fluendo.com>
5483 * gst/gstpad.c: (gst_pad_set_blocked_async):
5484 comparing a flag and a gboolean rarely returns coherent results...
5485 Added two characters (!!) to make that work correctly.
5487 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
5489 * gst/gstbus.c: (gst_bus_class_init):
5492 * gst/gstqueue.c: (gst_queue_loop):
5493 Don't assume a miniobject that isn't a buffer is an
5494 event (it could be that there is a refcounting
5495 problem somewhere and the pointer is stale and
5496 refers to an already destroyed miniobject).
5498 2005-11-03 Julien MOUTTE <julien@moutte.net>
5500 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
5502 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
5504 * docs/manual/advanced-position.xml:
5505 Update seek example and explanations to current 0.9 API.
5507 * gst/elements/gsttypefindelement.c:
5508 (gst_type_find_element_activate):
5509 Remove FIXME comment now that the found caps
5512 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
5514 * gst/gstregistryxml.c: (load_feature):
5515 Add another GST_STR_NULL instance
5517 2005-11-02 Edward Hervey <edward@fluendo.com>
5519 * gst/gstpad.c: (handle_pad_block):
5520 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
5522 2005-11-02 Wim Taymans <wim@fluendo.com>
5527 * gst/gstelement.c: (gst_element_commit_state):
5528 Remove unused value.
5530 * gst/gstiterator.c:
5531 Mention that the returned element is reffed in the docs.
5533 2005-11-02 Wim Taymans <wim@fluendo.com>
5535 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
5536 (gst_pad_push), (gst_pad_push_event):
5537 Unlock blocked pads when they are flushed.
5539 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
5542 * docs/gst/gstreamer-sections.txt:
5545 * gst/gstregistry.c: (gst_registry_scan_path_level):
5546 fix for a nasty little missed situation where an installed plug-in
5547 which was in the cache did not get overridden by an uninstalled one
5548 which was earlier in the plugin path because the newly created plugin
5549 for the uninstalled one (not in the registry) didn't get its
5550 ->registered set to TRUE
5552 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
5554 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
5555 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
5556 (gst_collectpads_is_active), (gst_collectpads_collect),
5557 (gst_collectpads_collect_range), (gst_collectpads_start),
5558 (gst_collectpads_stop), (gst_collectpads_peek),
5559 (gst_collectpads_pop), (gst_collectpads_available),
5560 (gst_collectpads_read), (gst_collectpads_flush):
5561 Guard public API with assertions.
5564 Fix docs for gst_pad_set_link_function().
5566 2005-11-02 Johan Dahlin <johan@gnome.org>
5568 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
5569 Unref found_caps after we used it.
5571 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
5573 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
5574 Don't try to ref NULL.
5576 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
5578 * win32/common/config.h.in:
5579 provide a GST_FUNCTION that just gives a string for now
5581 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
5583 * win32/common/gstenumtypes.c: (register_gst_object_flags),
5584 (gst_object_flags_get_type), (register_gst_bin_flags),
5585 (gst_bin_flags_get_type), (register_gst_buffer_flag),
5586 (gst_buffer_flag_get_type), (register_gst_bus_flags),
5587 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5588 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
5589 (gst_clock_return_get_type), (register_gst_clock_entry_type),
5590 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5591 (gst_clock_flags_get_type), (register_gst_state),
5592 (gst_state_get_type), (register_gst_state_change_return),
5593 (gst_state_change_return_get_type), (register_gst_state_change),
5594 (gst_state_change_get_type), (register_gst_element_flags),
5595 (gst_element_flags_get_type), (register_gst_core_error),
5596 (gst_core_error_get_type), (register_gst_library_error),
5597 (gst_library_error_get_type), (register_gst_resource_error),
5598 (gst_resource_error_get_type), (register_gst_stream_error),
5599 (gst_stream_error_get_type), (register_gst_event_type),
5600 (gst_event_type_get_type), (register_gst_seek_type),
5601 (gst_seek_type_get_type), (register_gst_seek_flags),
5602 (gst_seek_flags_get_type), (register_gst_format),
5603 (gst_format_get_type), (register_gst_index_certainty),
5604 (gst_index_certainty_get_type), (register_gst_index_entry_type),
5605 (gst_index_entry_type_get_type),
5606 (register_gst_index_lookup_method),
5607 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5608 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5609 (gst_index_resolver_method_get_type), (register_gst_index_flags),
5610 (gst_index_flags_get_type), (register_gst_debug_level),
5611 (gst_debug_level_get_type), (register_gst_debug_color_flags),
5612 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5613 (gst_iterator_result_get_type), (register_gst_iterator_item),
5614 (gst_iterator_item_get_type), (register_gst_message_type),
5615 (gst_message_type_get_type), (register_gst_mini_object_flags),
5616 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5617 (gst_pad_link_return_get_type), (register_gst_flow_return),
5618 (gst_flow_return_get_type), (register_gst_activate_mode),
5619 (gst_activate_mode_get_type), (register_gst_pad_direction),
5620 (gst_pad_direction_get_type), (register_gst_pad_flags),
5621 (gst_pad_flags_get_type), (register_gst_pad_presence),
5622 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5623 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5624 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5625 (gst_plugin_error_get_type), (register_gst_plugin_flags),
5626 (gst_plugin_flags_get_type), (register_gst_rank),
5627 (gst_rank_get_type), (register_gst_query_type),
5628 (gst_query_type_get_type), (register_gst_tag_merge_mode),
5629 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5630 (gst_tag_flag_get_type), (register_gst_task_state),
5631 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5632 (gst_alloc_trace_flags_get_type),
5633 (register_gst_type_find_probability),
5634 (gst_type_find_probability_get_type), (register_gst_uri_type),
5635 (gst_uri_type_get_type), (register_gst_parse_error),
5636 (gst_parse_error_get_type):
5637 * win32/common/gstversion.h:
5640 2005-11-01 Luca Ognibene <luogni@tin.it>
5643 fix docs. popt is dead, long live GOption.
5645 2005-10-31 Wim Taymans <wim@fluendo.com>
5650 2005-10-31 Andy Wingo <wingo@pobox.com>
5654 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
5656 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
5657 need to serialize property notifications on GLib 2.8. GLib 2.6 has
5658 the possibility of deadlocks here if code calling notify() or
5659 set() has a lock that can be taken in another notify handler (ABBA
5660 with class lock and e.g. python GIL state lock).
5662 2005-10-28 Julien MOUTTE <julien@moutte.net>
5664 * gst/gstbus.c: Doc updates.
5666 2005-10-28 Wim Taymans <wim@fluendo.com>
5668 * docs/design/part-TODO.txt:
5669 * gst/gstiterator.c:
5670 * gst/gstsystemclock.c:
5671 * gst/gstsystemclock.h:
5674 2005-10-28 Edward Hervey <edward@fluendo.com>
5676 * docs/gst/gstreamer-docs.sgml:
5677 * docs/gst/gstreamer-sections.txt:
5678 the GstURIType documentation page is private, it only defines GstURIType
5679 which should be defined in the GstURIHandler page
5681 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
5683 * gst/gstbin.c: (gst_bin_class_init):
5686 Documentation updates.
5688 2005-10-28 Wim Taymans <wim@fluendo.com>
5690 * docs/gst/gstreamer-sections.txt:
5693 Documented the clocks.
5695 2005-10-28 Stefan Kost <ensonic@users.sf.net>
5697 * docs/gst/gstreamer-sections.txt:
5698 move some macros to private sections
5699 * gst/gstminiobject.c:
5700 * gst/gstminiobject.h:
5701 add descriptions provided by ds and some more
5703 mark macro as to be removed
5705 2005-10-28 Wim Taymans <wim@fluendo.com>
5707 * docs/design/part-TODO.txt:
5708 Add an item to TODO.
5710 * gst/gstiterator.c: (gst_iterator_fold),
5711 (gst_iterator_find_custom):
5712 * gst/gstiterator.h:
5715 2005-10-28 Wim Taymans <wim@fluendo.com>
5717 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5718 (gst_base_transform_init):
5721 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
5722 An EOS event marks the queue as completely filled.
5724 2005-10-27 Wim Taymans <wim@fluendo.com>
5726 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5727 (gst_base_sink_do_sync), (gst_base_sink_get_position):
5728 Some more debugging.
5730 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
5731 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
5732 (gst_base_transform_event), (gst_base_transform_getrange),
5733 (gst_base_transform_chain):
5734 * gst/base/gstbasetransform.h:
5736 Protect transform and concurrent buffer alloc with a new lock.
5737 Try not to break ABI/API.
5739 2005-10-27 Wim Taymans <wim@fluendo.com>
5741 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5742 (gst_base_src_init), (gst_base_src_query),
5743 (gst_base_src_default_newsegment),
5744 (gst_base_src_configure_segment), (gst_base_src_do_seek),
5745 (gst_base_src_send_event), (gst_base_src_event_handler),
5746 (gst_base_src_pad_get_range), (gst_base_src_loop),
5747 (gst_base_src_unlock), (gst_base_src_default_negotiate),
5748 (gst_base_src_start), (gst_base_src_deactivate),
5749 (gst_base_src_activate_push), (gst_base_src_change_state):
5750 Move some stuff around and cleanup things.
5752 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
5754 * gst/base/gstbasesrc.c: (gst_base_src_query):
5755 Add missing break statements.
5757 2005-10-27 Wim Taymans <wim@fluendo.com>
5759 * check/gst/gstbin.c: (GST_START_TEST):
5760 An extra refcount is taken in basesrc.
5762 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
5763 (gst_base_src_get_range), (gst_base_src_pad_get_range),
5764 (gst_base_src_loop):
5765 Small cleanups, check for flushing after being unlocked from the
5766 LIVE_LOCK. take refcounts correctly (not yet everywhere).
5767 Don't send out EOS when going to READY.
5769 2005-10-27 Wim Taymans <wim@fluendo.com>
5771 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5772 (gst_base_sink_get_position):
5775 * gst/gstbin.c: (message_check), (bin_replace_message),
5776 (bin_remove_messages), (is_eos), (gst_bin_add_func),
5777 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5778 (bin_query_duration_init), (bin_query_duration_fold),
5779 (bin_query_duration_done), (bin_query_generic_fold),
5781 * tools/gst-launch.c: (main):
5784 2005-10-26 Stefan Kost <ensonic@users.sf.net>
5786 * examples/controller/audio-example.c: (main):
5787 * examples/queue/queue.c: (event_loop):
5788 * gst/base/gstbasetransform.h:
5789 * gst/gstelement.c: (gst_element_send_event):
5791 * gst/gstpad.c: (gst_pad_send_event):
5794 changing log priority in error situations
5796 2005-10-25 Wim Taymans <wim@fluendo.com>
5798 * gst/gstbin.c: (message_check), (bin_replace_message),
5799 (bin_remove_messages), (is_eos), (gst_bin_add_func),
5800 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5801 (bin_query_duration_init), (bin_query_duration_fold),
5802 (bin_query_duration_done), (bin_query_generic_fold),
5804 Some doc and debug updates.
5805 Cache previously requested query DURATION for speed. invalidate
5806 cached duration if element posts a DURATION message.
5808 2005-10-25 Wim Taymans <wim@fluendo.com>
5810 * docs/design/part-TODO.txt:
5813 * gst/gstbin.c: (message_check), (bin_replace_message),
5814 (bin_remove_messages), (is_eos), (gst_bin_add_func),
5815 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5816 (bin_query_duration_init), (bin_query_duration_fold),
5817 (bin_query_duration_done), (bin_query_generic_fold),
5819 Handle SEGMENT_START/DONE messages correctly.
5820 More evolved query algorithm that handles duration queries
5823 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
5824 (gst_element_get_state_func), (gst_element_abort_state),
5825 (gst_element_commit_state), (gst_element_lost_state):
5826 Some more debugging.
5831 2005-10-25 Wim Taymans <wim@fluendo.com>
5833 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5834 Don't use invalid stream_time.
5836 * gst/gstevent.c: (gst_event_new_newsegment):
5837 stream_time in newsegment cannot be undefined.
5839 2005-10-24 Wim Taymans <wim@fluendo.com>
5844 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5846 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
5848 2005-10-24 Stefan Kost <ensonic@users.sf.net>
5850 * docs/libs/tmpl/gstdparam.sgml:
5851 * docs/libs/tmpl/gstdplinint.sgml:
5852 * docs/libs/tmpl/gstdpman.sgml:
5853 * docs/libs/tmpl/gstdpsmooth.sgml:
5854 * docs/libs/tmpl/gstunitconvert.sgml:
5857 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
5862 === release 0.9.4 ===
5864 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
5867 releasing 0.9.4, "Tyrannosaurus Rex"
5869 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
5871 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5872 (gst_file_sink_get_current_offset):
5873 Use fseeko() and ftello() if available. When falling back on
5874 lseek() to get the current offset, fflush() first to make sure
5875 everything is up-to-date and we get the right offset.
5877 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
5879 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5880 * gst/base/gstbasesrc.c: (gst_base_src_loop):
5881 * gst/gsterror.c: (_gst_stream_errors_init):
5883 * gst/gstqueue.c: (gst_queue_loop):
5885 remove prematurely added error category and clean up the instances
5887 2005-10-21 Wim Taymans <wim@fluendo.com>
5889 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5890 (gst_base_sink_get_position), (gst_base_sink_query),
5891 (gst_base_sink_change_state):
5892 Simply set the right flag when going to playing, that's all
5893 we need to do instead of calling a function inside the object
5894 lock (that could take the lock as well and deadlock)
5896 2005-10-21 Wim Taymans <wim@fluendo.com>
5898 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
5899 (gst_base_src_loop):
5900 Don't warn, the peer element knows what to do best when
5901 the seek failed, it might try something else.
5903 2005-10-21 Wim Taymans <wim@fluendo.com>
5905 * gst/base/gstbasesrc.c: (gst_base_src_init),
5906 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
5909 2005-10-21 Wim Taymans <wim@fluendo.com>
5911 * docs/design/part-segments.txt:
5914 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5915 Correctly set caps, even on the subbufer.
5917 2005-10-21 Wim Taymans <wim@fluendo.com>
5919 * docs/gst/gstreamer-docs.sgml:
5920 * docs/gst/gstreamer-sections.txt:
5927 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
5931 And 2% more doc coverage.
5933 2005-10-21 Andy Wingo <wingo@pobox.com>
5935 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
5938 2005-10-20 Wim Taymans <wim@fluendo.com>
5940 * gst/gsterror.c: (gst_error_get_message):
5943 * gst/gststructure.c:
5948 2005-10-20 Wim Taymans <wim@fluendo.com>
5953 Another 1% more coverage.
5955 2005-10-20 Wim Taymans <wim@fluendo.com>
5957 * docs/gst/gstreamer-sections.txt:
5958 * gst/gstelement.c: (gst_element_get_state_func),
5959 (gst_element_abort_state), (gst_element_commit_state),
5960 (gst_element_lost_state):
5962 * gst/gstquery.c: (gst_query_set_position),
5963 (gst_query_parse_position), (gst_query_set_duration),
5964 (gst_query_parse_duration), (gst_query_new_convert):
5966 Yay! 1% more docs coverage.
5968 2005-10-20 Wim Taymans <wim@fluendo.com>
5971 * gst/gstquery.c: (gst_query_set_position),
5972 (gst_query_parse_position), (gst_query_set_duration),
5973 (gst_query_parse_duration), (gst_query_new_convert):
5975 * gst/gstutils.c: (gst_element_query_convert):
5977 Docs and consistency fixes.
5979 2005-10-20 Wim Taymans <wim@fluendo.com>
5985 2005-10-20 Wim Taymans <wim@fluendo.com>
5987 * gst/gstbin.c: (message_check), (bin_replace_message),
5988 (bin_remove_messages), (is_eos), (gst_bin_add_func),
5989 (update_degree), (gst_bin_sort_iterator_next),
5990 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
5991 Reworked the message handling a bit, cache the messages instead of
5992 only the senders. alows us to do more in the future.
5994 2005-10-20 Wim Taymans <wim@fluendo.com>
5996 * docs/design/part-TODO.txt:
5999 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6000 (gst_base_sink_query):
6001 Don't use clock time to report position when in EOS.
6003 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
6005 * tools/gst-inspect.c: (print_interfaces),
6006 (print_element_properties_info), (print_element_info):
6007 Fix interface output with gst-inspect -a; don't print
6008 newlines after double/float properties.
6010 2005-10-20 Wim Taymans <wim@fluendo.com>
6012 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
6013 (gst_base_sink_query):
6014 Speed up current position calculation.
6016 * gst/base/gstbasesrc.c: (gst_base_src_query),
6017 (gst_base_src_default_newsegment):
6018 Correctly set stream position in newsegment.
6020 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
6021 (update_degree), (gst_bin_sort_iterator_next),
6022 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
6023 * gst/gstmessage.c: (gst_message_new_custom):
6024 Clean up debugging info
6026 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
6027 (gst_queue_loop), (gst_queue_handle_src_query):
6030 2005-10-19 Wim Taymans <wim@fluendo.com>
6032 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6033 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6034 Fix query handling again.
6036 2005-10-19 Wim Taymans <wim@fluendo.com>
6038 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6039 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
6040 * gst/base/gstbasesrc.c: (gst_base_src_query):
6041 * gst/elements/gstfilesink.c: (gst_file_sink_query):
6042 * gst/elements/gsttypefindelement.c:
6043 (gst_type_find_handle_src_query), (find_element_get_length),
6044 (gst_type_find_element_activate):
6047 * gst/gstquery.c: (gst_query_new_position),
6048 (gst_query_set_position), (gst_query_parse_position),
6049 (gst_query_new_duration), (gst_query_set_duration),
6050 (gst_query_parse_duration), (gst_query_set_segment),
6051 (gst_query_parse_segment):
6053 Bundling query position/duration is not a good idea since duration
6054 does not change much and we don't want to recalculate it for every
6055 position query, so they are separated again..
6056 Base value in segment query is not needed.
6058 * gst/gstqueue.c: (gst_queue_handle_src_query):
6059 * gst/gstutils.c: (gst_element_query_position),
6060 (gst_element_query_duration), (gst_pad_query_position),
6061 (gst_pad_query_duration):
6063 Updates for query API change.
6064 Added some docs here and there.
6066 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
6068 * check/gst/gstbin.c: (GST_START_TEST):
6069 * check/gst/gstghostpad.c: (GST_START_TEST):
6070 * check/pipelines/cleanup.c: (GST_START_TEST):
6071 wait on thread to die so we can check refcount correctly
6073 2005-10-18 Wim Taymans <wim@fluendo.com>
6075 * check/pipelines/stress.c: (GST_START_TEST):
6076 Make check a little more time consuming.
6078 2005-10-18 Wim Taymans <wim@fluendo.com>
6080 * check/Makefile.am:
6081 * check/pipelines/stress.c: (GST_START_TEST),
6082 (simple_launch_lines_suite), (main):
6083 Small state change torture test.
6085 * docs/design/part-states.txt:
6086 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6087 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
6088 (gst_base_sink_change_state):
6089 Never take state lock from streaming thread, clean up ugly
6090 hacks. Unfortunatly core does not yet support nice ways to
6093 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
6095 Start state recalc if a STATE_DIRTY message is posted, but only
6096 on the toplevel bin.
6098 * gst/gstelement.c: (gst_element_sync_state_with_parent),
6099 (gst_element_get_state_func), (gst_element_abort_state),
6100 (gst_element_commit_state), (gst_element_lost_state),
6101 (gst_element_set_state_func), (gst_element_change_state):
6103 State variables are now protected with the LOCK, the state
6104 lock is only used to serialize _set_state().
6106 2005-10-18 Wim Taymans <wim@fluendo.com>
6108 * check/gst/gstbin.c: (GST_START_TEST):
6109 * check/gst/gstmessage.c: (GST_START_TEST):
6110 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6111 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
6113 * gst/gstelement.c: (gst_element_abort_state),
6114 (gst_element_commit_state), (gst_element_lost_state):
6115 * gst/gstmessage.c: (gst_message_new_state_changed),
6116 (gst_message_new_state_dirty), (gst_message_new_segment_start),
6117 (gst_message_new_segment_done), (gst_message_new_duration),
6118 (gst_message_parse_state_changed),
6119 (gst_message_parse_segment_start),
6120 (gst_message_parse_segment_done), (gst_message_parse_duration):
6122 * tools/gst-launch.c: (event_loop):
6123 Seriously, this is better than a previous commit as we only need
6124 to notify the fact that an element changed state in a streaming
6125 thread, marking the state of the parents dirty, hence the
6126 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
6129 2005-10-18 Wim Taymans <wim@fluendo.com>
6131 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
6132 (gst_bin_recalc_func):
6133 * gst/gstelement.c: (gst_element_set_clock),
6134 (gst_element_abort_state), (gst_element_lost_state):
6135 Cleanups, prepare for state change fixes.
6137 2005-10-18 Wim Taymans <wim@fluendo.com>
6140 * gst/gstelement.c: (gst_element_class_init),
6141 (gst_element_set_state), (gst_element_set_state_func):
6143 Pending ABI changes.
6144 GThreadPool in GstBinClass to monitor async state changes.
6145 state_cookie in GstElement to detect concurrent gst/set state.
6146 set_state is now virtual too in case a very complicated element
6147 has to be constructed.
6149 2005-10-18 Wim Taymans <wim@fluendo.com>
6151 * check/gst/gstbin.c: (GST_START_TEST):
6152 * check/gst/gstmessage.c: (GST_START_TEST):
6153 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6154 * gst/gstbin.c: (bin_bus_handler):
6155 * gst/gstelement.c: (gst_element_commit_state),
6156 (gst_element_lost_state):
6157 * gst/gstmessage.c: (gst_message_new_state_changed),
6158 (gst_message_new_segment_start), (gst_message_new_segment_done),
6159 (gst_message_new_duration), (gst_message_parse_state_changed),
6160 (gst_message_parse_segment_start),
6161 (gst_message_parse_segment_done), (gst_message_parse_duration):
6163 * tools/gst-launch.c: (event_loop):
6164 Make messages future proof.
6165 state-change gets a flag if it was a message comming from the
6167 segment-start/stop can also be specified in other formats.
6168 A message to notify an app that a pipeline changed playback
6170 Also fix a GstMessage leak in -launch
6172 2005-10-18 Andy Wingo <wingo@pobox.com>
6174 * gst/gstelement.c (gst_element_dispose): More helpful message.
6176 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
6178 reviewed by: <delete if not using a buddy>
6180 * common/gtk-doc.mak:
6182 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
6184 * gst/gstregistry.c: (gst_registry_scan_path_level):
6185 unref a plug-in we get that was already initialized
6187 2005-10-18 Stefan Kost <ensonic@users.sf.net>
6189 * docs/gst/gstreamer-sections.txt:
6190 * docs/libs/gstreamer-libs-sections.txt:
6195 2005-10-17 Andy Wingo <wingo@pobox.com>
6197 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
6200 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
6202 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
6204 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
6205 (gst_element_get_state_func): Better debug message.
6206 (gst_element_commit_state): s/INFO/DEBUG/.
6207 (gst_element_lost_state, gst_element_change_state):
6209 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
6210 (gst_message_new_custom): s/INFO/LOG/.
6212 2005-10-17 Michael Smith <msmith@fluendo.com>
6214 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6215 Check if end time is valid using end time, not start time.
6217 2005-10-17 Stefan Kost <ensonic@users.sf.net>
6219 * check/gst-libs/controller.c: (GST_START_TEST),
6220 (gst_controller_suite):
6221 * libs/gst/controller/gstcontroller.c:
6222 (gst_controlled_property_set_interpolation_mode):
6223 * libs/gst/controller/gstcontroller.h:
6224 * libs/gst/controller/gstinterpolation.c:
6225 * testsuite/controller/.cvsignore:
6226 * testsuite/controller/Makefile.am:
6227 * testsuite/controller/interpolator.c:
6228 merge controller testsuites
6230 remove mem-chunk from docs
6232 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
6234 * gst/gstmemchunk.c:
6235 * gst/gstmemchunk.h:
6236 * gst/gsttrashstack.c:
6237 * gst/gsttrashstack.h:
6238 out. get out. you're fired. to the Attic !
6240 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
6242 * gst/gstcaps.c: (gst_caps_intersect):
6243 fix signedness issues in a (hopefully) correct way
6244 * gst/gstelement.c: (gst_element_pads_activate):
6246 * gst/gstobject.c: (gst_object_set_parent):
6249 2005-10-17 Julien MOUTTE <julien@moutte.net>
6251 * gst/gstvalue.h: Fix prototypes.
6253 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
6255 * docs/gst/gstreamer-sections.txt:
6256 * gst/gst.c: (gst_version_string):
6258 * gst/gstversion.h.in:
6259 * win32/common/libgstreamer.def:
6260 add gst_version_string ()
6262 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
6266 * gst/gst.c: (init_post):
6267 * win32/common/config.h.in:
6269 * gst/gstcaps.c: (gst_caps_intersect):
6270 use gint64, the range could be bigger than a guint
6272 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
6275 document potential problem in 2038
6277 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
6279 * gst/gstcaps.c: (gst_caps_intersect):
6280 Fix guint j diving under 0
6282 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
6285 * win32/common/config.h:
6286 * win32/common/config.h.in:
6287 check for process.h, declares getpid() on Windows
6289 include process.h if we have it
6290 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
6291 * gst/gstmemchunk.h:
6292 fix signedness issues
6293 * win32/common/libgstreamer.def:
6296 2005-10-16 Julien MOUTTE <julien@moutte.net>
6298 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
6299 fix. Because of unsigned ints, caps intersection was going nuts and
6300 trying to access structures with G_MAXUINT index. That fixes
6301 videotestsrc ! ffmpegcolorspace ! fakesink
6302 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
6305 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
6308 use the gettext macro
6309 * gst/elements/gstelements.c:
6311 * gst/indexers/gstindexers.c:
6312 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
6313 * win32/common/config.h:
6315 * win32/common/config.h.in:
6316 add the template to generate config.h
6317 * win32/common/gstenumtypes.c:
6318 * win32/common/gstversion.h:
6321 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
6323 * gst/gst.c: (gst_version):
6324 * gst/gstversion.h.in:
6327 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
6330 Oops, add missing closing bracket.
6332 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
6335 use common m4's for argument checking
6337 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
6339 * docs/gst/gstreamer-sections.txt:
6341 Add GST_EVENT_TYPE_NAME() macro.
6343 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
6346 * gst/gstpluginfeature.c:
6348 privatize more symbols
6350 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
6353 add srcdir, builddir includes to GST_ALL_CFLAGS, since
6354 everything that uses GStreamer API should have the includes
6356 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
6358 * docs/gst/gstreamer-sections.txt:
6359 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6361 give each value a _get_type, removes the DATA exports
6363 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
6367 remove _gst_registry_auto_load, not used anymore
6368 * gst/gstbin.c: (gst_bin_get_type):
6370 * gst/gstelement.c: (gst_element_get_type):
6372 * gst/gstobject.c: (gst_object_get_type):
6374 * gst/gstpad.c: (gst_pad_get_type):
6376 make _get_type functions similar, fixes data export from library
6378 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
6381 correctly make conditionals
6382 * gst/elements/Makefile.am:
6383 * gst/elements/gstelements.c:
6384 fix typo causing fdsrc not to build
6386 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
6388 * testsuite/Makefile.am:
6389 * testsuite/bytestream/.cvsignore:
6390 * testsuite/bytestream/Makefile.am:
6391 * testsuite/bytestream/filepadsink.c:
6392 * testsuite/bytestream/gstbstest.c:
6393 * testsuite/bytestream/test1.c:
6394 * testsuite/bytestream/testfile1:
6395 * testsuite/caps/normalisation.c:
6396 * testsuite/caps/random.c: (main):
6397 * testsuite/cleanup/.cvsignore:
6398 * testsuite/cleanup/Makefile.am:
6399 * testsuite/cleanup/cleanup1.c:
6400 * testsuite/cleanup/cleanup2.c:
6401 * testsuite/cleanup/cleanup3.c:
6402 * testsuite/cleanup/cleanup4.c:
6403 * testsuite/cleanup/cleanup5.c:
6404 * testsuite/controller/interpolator.c:
6405 * testsuite/debug/printf_extension.c: (main):
6406 * testsuite/elements/tee.c:
6407 * testsuite/negotiation/.cvsignore:
6408 * testsuite/negotiation/Makefile.am:
6409 * testsuite/negotiation/pad_link.c:
6410 * testsuite/pad/Makefile.am:
6411 * testsuite/pad/chainnopull.c:
6412 * testsuite/pad/getnopush.c:
6413 * testsuite/pad/link.c:
6414 * testsuite/refcounting/sched.c: (create_pipeline):
6415 * testsuite/registry/Makefile.am:
6416 * testsuite/registry/gst-print-formats.c:
6417 * testsuite/schedulers/.cvsignore:
6418 * testsuite/schedulers/142183-2.c:
6419 * testsuite/schedulers/142183.c:
6420 * testsuite/schedulers/143777-2.c:
6421 * testsuite/schedulers/143777.c:
6422 * testsuite/schedulers/147713.c:
6423 * testsuite/schedulers/147819.c:
6424 * testsuite/schedulers/147894-2.c:
6425 * testsuite/schedulers/147894.c:
6426 * testsuite/schedulers/Makefile.am:
6427 * testsuite/schedulers/group_link.c:
6428 * testsuite/schedulers/queue_link.c:
6429 * testsuite/schedulers/relink.c:
6430 * testsuite/schedulers/unlink.c:
6431 * testsuite/schedulers/unref.c:
6432 * testsuite/schedulers/useless_iteration.c:
6433 * testsuite/states/bin.c:
6434 clean out/remove some stuff from the testsuite directories
6436 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
6439 check for some headers
6440 * gst/elements/Makefile.am:
6441 * gst/elements/gstelements.c:
6442 don't compile fdsrc without sys/socket.h
6443 * gst/indexers/Makefile.am:
6444 * gst/indexers/gstindexers.c: (plugin_init):
6445 don't compile fileindex without mmap
6447 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
6454 * check/Makefile.am:
6455 * docs/gst/Makefile.am:
6456 * examples/helloworld/Makefile.am:
6458 * gst/base/Makefile.am:
6459 * gst/check/Makefile.am:
6460 * gst/elements/Makefile.am:
6461 * gst/indexers/Makefile.am:
6462 * gst/parse/Makefile.am:
6463 * libs/gst/controller/Makefile.am:
6464 * libs/gst/dataprotocol/Makefile.am:
6465 * examples/helloworld/helloworld.c: (event_loop):
6466 compile fixes, though it's not being compiled currently
6468 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
6470 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
6471 Add some simple tests for the new taglist date API.
6473 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
6475 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
6476 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
6477 Beautify 'last-message' output: print 'none' for buffer timestamps
6478 and durations if none is set; improve alignment with next messages.
6480 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
6482 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
6483 * gst/gstpluginfeature.h:
6484 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
6485 * gst/gstregistry.h:
6486 * docs/gst/gstreamer-sections.txt:
6487 Add new API to check plugin feature version requirements.
6489 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
6490 Some basic tests for the above.
6492 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
6494 * gst/gststructure.c: (gst_structure_to_string):
6495 guard against NULL printf - happens when for example
6496 a message structure with GstClock gets serialized
6498 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
6500 * gst/base/gstcollectpads.c: (gst_collectpads_event):
6501 Fix presumable copy'n'pasto.
6503 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
6505 * gst/elements/gstfakesrc.h:
6506 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
6507 * gst/elements/gsttypefindelement.c:
6509 * gst/elements/gstfilesink.c: (gst_file_sink_render):
6510 I wonder if this could actually write +2GB files before
6512 2005-10-13 Andy Wingo <wingo@pobox.com>
6514 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
6515 Fix Timmeke Waymans bug.
6516 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
6517 string of the proper length to gst_caps_from_string. There's a
6518 potential for, before this fix, that this could cause someone
6519 connecting over the network to cause a segfault if the payload is
6522 2005-10-13 Stefan Kost <ensonic@users.sf.net>
6524 * docs/design/draft-push-pull.txt:
6525 * docs/design/part-overview.txt:
6526 * docs/random/TODO-pre-0.9:
6527 * docs/random/old/ChangeLog.gstreamer:
6528 * gst/base/gstpushsrc.c:
6532 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
6534 * gst/glib-compat.c: (gst_flags_get_first_value):
6535 * gst/glib-compat.h:
6536 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
6537 (gst_value_compare_double), (gst_value_serialize_flags):
6538 GLib 2.6 g_flags_get_first_value has a bug that triggers an
6541 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
6543 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6544 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
6546 * tools/gst-launch.c: (event_loop):
6547 print out clock nicely
6549 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
6551 * docs/gst/gstreamer-sections.txt:
6553 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
6554 (gst_tag_list_get_date_index):
6555 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
6556 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
6558 2005-10-13 Julien MOUTTE <julien@moutte.net>
6560 * gst/base/gstcollectpads.c: (gst_collectpads_event),
6561 (gst_collectpads_chain):
6562 * gst/base/gstcollectpads.h: Handle newsegment and store informations
6565 2005-10-13 Stefan Kost <ensonic@users.sf.net>
6567 * docs/gst/gstreamer-sections.txt:
6570 * tools/gst-inspect.c: (main):
6571 * tools/gst-launch.c: (main):
6572 * tools/gst-run.c: (main):
6573 * tools/gst-xmlinspect.c: (main):
6574 fix GOption context leaks
6577 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
6581 * win32/common/config.h:
6583 * win32/vs6/grammar.dsp:
6584 * win32/vs6/libgstelements.dsp:
6585 * win32/vs6/libgstreamer.dsp:
6588 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
6590 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6591 * gst/base/gstbasesrc.c: (gst_base_src_query):
6592 fix more guint64<->gdouble conversions
6594 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
6597 add win32-update target
6598 * win32/common/gstconfig.h:
6599 * win32/common/gstenumtypes.c:
6600 * win32/common/gstenumtypes.h:
6601 * win32/common/gstversion.h:
6602 add files that visual studio can't generate
6604 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
6607 add a win32-update target
6610 2005-10-12 Wim Taymans <wim@fluendo.com>
6612 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6613 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
6614 * gst/gstelement.c: (gst_element_commit_state),
6615 (gst_element_set_state):
6616 Protect flags with proper lock.
6617 unref provided cached clock in dispose.
6619 2005-10-12 Stefan Kost <ensonic@users.sf.net>
6622 * gst/gstminiobject.h:
6624 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
6625 removed unused flags from miniobject
6628 2005-10-12 Wim Taymans <wim@fluendo.com>
6630 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
6631 (gst_file_sink_event), (gst_file_sink_render):
6632 Flush before seeking.
6634 2005-10-12 Andy Wingo <wingo@pobox.com>
6636 * gst/gst.c (gst_init_check): Ignore unknown options, as has
6637 always been the case.
6639 2005-10-12 Stefan Kost <ensonic@users.sf.net>
6641 * check/gst/gstbin.c: (GST_START_TEST):
6642 * docs/gst/gstreamer-sections.txt:
6643 * gst/base/gstbasesink.c: (gst_base_sink_init):
6644 * gst/base/gstbasesrc.c: (gst_base_src_init),
6645 (gst_base_src_get_range), (gst_base_src_check_get_range),
6646 (gst_base_src_start), (gst_base_src_stop):
6647 * gst/base/gstbasesrc.h:
6648 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
6649 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6650 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
6654 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
6656 * gst/gstelement.c: (gst_element_is_locked_state),
6657 (gst_element_set_locked_state), (gst_element_commit_state),
6658 (gst_element_set_state):
6660 * gst/gstindex.c: (gst_index_init):
6662 * gst/gstminiobject.h:
6663 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
6664 (gst_object_set_parent):
6666 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
6667 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
6669 * gst/gstpadtemplate.h:
6670 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
6671 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
6672 * gst/gstpipeline.h:
6673 * gst/indexers/gstfileindex.c: (gst_file_index_load),
6674 (gst_file_index_commit):
6675 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6676 * testsuite/pad/link.c: (gst_test_src_init),
6677 (gst_test_filter_init), (gst_test_sink_init):
6678 * testsuite/states/locked.c: (main):
6679 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
6680 moved bitshift from macro to enum definition
6682 2005-10-12 Wim Taymans <wim@fluendo.com>
6684 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
6685 * gst/elements/gstfilesink.c: (gst_file_sink_event),
6686 (gst_file_sink_render):
6687 Some more debugging info.
6689 2005-10-12 Wim Taymans <wim@fluendo.com>
6691 * docs/design/part-states.txt:
6692 * tools/gst-launch.c: (main):
6694 Revert non-intentional change.
6696 2005-10-12 Wim Taymans <wim@fluendo.com>
6698 * check/gst/gstbin.c: (GST_START_TEST):
6699 * check/gst/gstelement.c: (GST_START_TEST):
6700 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
6701 * check/gst/gstghostpad.c: (GST_START_TEST):
6702 * check/gst/gstpipeline.c: (GST_START_TEST):
6703 * check/pipelines/simple_launch_lines.c: (run_pipeline):
6704 * check/states/sinks.c: (GST_START_TEST):
6705 * gst/elements/gsttypefindelement.c: (stop_typefinding):
6706 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6707 (gst_bin_remove_func), (gst_bin_get_state_func),
6708 (gst_bin_recalc_state), (gst_bin_change_state_func),
6710 * gst/gstelement.c: (gst_element_get_state_func),
6711 (gst_element_get_state), (gst_element_abort_state),
6712 (gst_element_commit_state), (gst_element_set_state),
6713 (gst_element_change_state), (gst_element_change_state_func):
6715 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
6716 (gst_pipeline_provide_clock_func):
6717 * gst/gstutils.c: (gst_element_link_pads_filtered):
6718 * tools/gst-launch.c: (main):
6719 * tools/gst-typefind.c: (main):
6720 Use GstClockTime in _get_state() instead of GTimeVal.
6721 Remove old code in gstutils.c
6723 2005-10-12 Andy Wingo <wingo@pobox.com>
6725 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
6728 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
6729 there is no task. Shouldn't affect any code, as nothing in our
6730 plugins checks this return value.
6731 (gst_pad_stop_task): Also take the stream lock if the pad has no
6734 2005-10-12 Wim Taymans <wim@fluendo.com>
6736 * gst/gstpad.c: (pre_activate), (post_activate),
6737 (gst_pad_activate_pull), (gst_pad_activate_push):
6738 Cleanup activation code. Reset old state if
6741 2005-10-12 Wim Taymans <wim@fluendo.com>
6743 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6744 (gst_base_sink_change_state):
6745 No need to prerol after receiving EOS.
6747 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6748 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
6749 * gst/elements/gstidentity.c: (gst_identity_event):
6750 Print events more verbosely.
6752 2005-10-12 Wim Taymans <wim@fluendo.com>
6754 * check/Makefile.am:
6755 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6756 * check/states/sinks2.c:
6757 Moved sinks2 testcode in sinks check.
6759 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6760 (gst_bin_remove_func), (gst_bin_recalc_state),
6761 (gst_bin_change_state_func), (bin_bus_handler):
6762 Fix potential race condition when _get_state() iterated over an
6763 ASYNC element right before it posted a state completion.
6766 Do proper cast here.
6768 * gst/gstevent.c: (gst_event_new_newsegment),
6769 (gst_event_parse_newsegment):
6770 A playback rate of 0.0 is not allowed.
6772 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
6774 * win32/common/config.h:
6775 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
6776 (_trewinddir), (_ttelldir), (_tseekdir):
6777 * win32/common/dirent.h:
6778 * win32/common/gtchar.h:
6779 * win32/common/libgstbase.def:
6780 * win32/common/libgstreamer.def:
6781 * win32/vs6/grammar.dsp:
6782 * win32/vs6/gst_inspect.dsp:
6783 * win32/vs6/gst_launch.dsp:
6784 * win32/vs6/gstreamer.dsw:
6785 * win32/vs6/libgstbase.dsp:
6786 * win32/vs6/libgstelements.dsp:
6787 * win32/vs6/libgstreamer.dsp:
6788 Visual Studio 6 project files, and a new common directory.
6791 2005-10-11 Wim Taymans <wim@fluendo.com>
6793 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6794 (gst_base_sink_do_sync), (gst_base_sink_query),
6795 (gst_base_sink_change_state):
6796 * gst/base/gstbasesink.h:
6797 Correctly parse newsegment info.
6799 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
6801 * gst/gst.c: (init_post):
6802 split plugin paths correctly
6804 2005-10-11 Wim Taymans <wim@fluendo.com>
6806 * check/gst/gstevent.c: (GST_START_TEST):
6807 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6808 (gst_base_sink_change_state):
6809 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
6810 * gst/base/gstbasetransform.c: (gst_base_transform_event):
6811 * gst/elements/gstfilesink.c: (gst_file_sink_event):
6812 * gst/gstevent.c: (gst_event_new_newsegment),
6813 (gst_event_parse_newsegment):
6815 Added extra flag to newsegment for future API freeze.
6816 Updated check and base elements.
6818 2005-10-11 Julien MOUTTE <julien@moutte.net>
6820 * gst/base/gstcollectpads.c: (gst_collectpads_init),
6821 (gst_collectpads_add_pad), (gst_collectpads_pop),
6822 (gst_collectpads_event), (gst_collectpads_chain):
6823 * gst/base/gstcollectpads.h: Handle EOS correctly.
6825 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
6827 * tools/gst-launch.c: (main):
6828 more null protecting
6830 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
6832 * gst/gst-i18n-lib.h:
6833 check for ENABLE_NLS, not GETTEXT_PACKAGE
6834 * gst/gstregistry.c: (gst_registry_add_plugin),
6835 (gst_registry_scan_path_level),
6836 (_gst_registry_remove_cache_plugins):
6837 protect possibly NULL strings
6838 * gst/parse/types.h:
6839 config.h already included before
6840 * tools/gst-inspect.c: (main):
6841 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
6842 check for ENABLE_NLS, not GETTEXT_PACKAGE
6843 * tools/gst-launch.c: (main):
6844 check for ENABLE_NLS, not GETTEXT_PACKAGE
6846 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
6849 if we don't have glib, fail before testing 2.8
6850 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
6851 fix a leak, should fix plugins-base testsuite
6853 2005-10-11 Andy Wingo <wingo@pobox.com>
6855 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
6856 take the mode we're going to as an arg. Go head and set the mode
6857 and flushing flags now, so that if the activate function starts a
6858 thread all the flags will be in the right state.
6859 (post_activate): Renamed also. Just handle making sure streaming
6860 finishes for the deactivation case, and setting the deactivated
6862 (gst_pad_set_active): Complain loudly if deactivation fails.
6863 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
6864 (gst_pad_activate_push): Adapt to pre/post_activate changes,
6865 remove the terrible hack.
6867 2005-10-11 Wim Taymans <wim@fluendo.com>
6869 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6870 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
6871 (gst_bin_recalc_state), (gst_bin_change_state_func),
6872 (gst_bin_dispose), (bin_bus_handler):
6874 Prepare to make current EOS message queue more generic.
6877 * gst/gstevent.c: (gst_event_new_newsegment),
6878 (gst_event_parse_newsegment):
6880 Rename base to stream_time.
6885 2005-10-11 Wim Taymans <wim@fluendo.com>
6887 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6888 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
6889 (gst_bin_change_state_func), (bin_bus_handler):
6891 Work on proper clock selection.
6893 2005-10-11 Edward Hervey <edward@fluendo.com>
6895 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
6896 * libs/gst/controller/gstcontroller.h:
6897 Added GList* version of _remove_properties() in order to be able to wrap
6900 2005-10-11 Wim Taymans <wim@fluendo.com>
6902 * docs/design/part-states.txt:
6905 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
6906 (gst_bin_change_state_func), (bin_bus_handler):
6907 Doc updates. Don't distribute the same clock over and over again.
6913 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
6914 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
6915 (gst_pad_send_event):
6917 Make probe emission threadsafe again.
6918 Register quarks and move _get_name() from utils.
6921 * gst/gstpipeline.c: (gst_pipeline_class_init),
6922 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6923 Only redistribute the clock of it changed.
6925 * gst/gstsystemclock.h:
6930 Moved the _flow_get_name() to GstPad.
6932 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
6934 * check/gst-libs/gdp.c: (GST_START_TEST):
6935 * check/gst/gstcaps.c: (GST_START_TEST):
6936 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6937 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
6938 (gst_dp_packet_from_caps):
6939 fix more valgrind warnings before turning up the heat
6941 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
6943 * gst/parse/grammar.y:
6944 some cleanup before the hacking
6946 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
6948 * gst/base/gstbasesrc.c: (gst_base_src_query):
6950 * gst/gstutils.c: (gst_guint64_to_gdouble),
6951 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
6953 externalize, basesrc uses it
6954 obviously the implementation needs testing
6956 2005-10-10 Wim Taymans <wim@fluendo.com>
6958 * tests/sched/Makefile.am:
6959 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
6960 (make_pipeline3), (make_pipeline4), (print_elem), (main):
6962 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
6964 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
6965 apparently converting from guint64 to double is not implemented
6968 2005-10-10 Wim Taymans <wim@fluendo.com>
6970 * check/Makefile.am:
6971 * check/generic/states.c: (GST_START_TEST):
6972 * check/gst/gstbin.c: (GST_START_TEST):
6973 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6974 * check/states/sinks.c: (GST_START_TEST):
6975 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
6977 Check fixes, use API as stated in design docs, remove hacks.
6979 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6980 (gst_base_sink_change_state):
6981 Catch stopping our task while we're shutting down.
6983 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6984 (gst_bin_remove_func), (gst_bin_get_state_func),
6985 (gst_bin_recalc_state), (gst_bin_change_state_func),
6988 * gst/gstelement.c: (gst_element_init),
6989 (gst_element_get_state_func), (gst_element_abort_state),
6990 (gst_element_commit_state), (gst_element_lost_state),
6991 (gst_element_set_state), (gst_element_change_state),
6992 (gst_element_change_state_func):
6994 New state change algorithm (see #318116)
6996 * gst/gstpipeline.c: (gst_pipeline_class_init),
6997 (gst_pipeline_init), (gst_pipeline_set_property),
6998 (gst_pipeline_get_property), (do_pipeline_seek),
6999 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
7000 * gst/gstpipeline.h:
7001 Remove crude state change hacks.
7006 * tools/gst-launch.c: (main):
7007 Fixes for state change. Needs some more work to fully use the
7010 2005-10-10 Andy Wingo <wingo@pobox.com>
7012 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
7014 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
7015 this flag, but it's not even in GLib 2.6. Odd. Hack around the
7018 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
7020 * gst/gstiterator.c: (gst_iterator_new):
7021 Fix my previous commit: GTypes passed to gst_iterator_new()
7022 can be fundamental types.
7024 2005-10-10 Wim Taymans <wim@fluendo.com>
7026 * gst/gstelement.c: (gst_element_iterate_pad_list),
7027 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
7028 (gst_element_iterate_sink_pads):
7029 Use src/sink pads lists for the respective iterators instead
7032 2005-10-10 Andy Wingo <wingo@pobox.com>
7034 Merged in popt removal + GOption addition patch from Ronald, bug
7037 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
7038 GstElement macros around, remove popt-related symbols, add goption
7041 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
7043 * docs/gst/Makefile.am:
7044 * docs/libs/Makefile.am: No POPT_CFLAGS.
7046 * examples/manual/Makefile.am:
7047 * docs/manual/basics-init.xml: Doc updates with an example.
7049 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7050 (gst_init), (parse_one_option), (parse_goption_arg):
7051 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
7052 bit of hand merging and debugging to get the GOption stuff working
7055 * tests/Makefile.am:
7056 * tools/Makefile.am:
7057 * tools/gst-inspect.c: (main):
7058 * tools/gst-launch.c: (main):
7059 * tools/gst-run.c: (main):
7060 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
7062 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
7064 * gst/gstiterator.c: (gst_iterator_new):
7065 Add assertions to make sure passed GType is likely to really
7066 be a GType (as the compiler won't catch it if the size and
7067 GType arguments get mixed up, see #318447).
7069 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
7071 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
7073 * gst/gstbin.c: (gst_bin_iterate_sorted):
7074 Pass GType and size arguments to gst_iterator_new() in the right
7075 order (maybe we should make _new() take the GType as first argument
7076 just like _new_list()?) (#318447).
7079 2005-10-10 Wim Taymans <wim@fluendo.com>
7081 * gst/gstelement.c: (gst_element_finalize):
7082 And free the GStaticRecMutex too
7084 2005-10-10 Andy Wingo <wingo@pobox.com>
7086 * gst/gstelement.c (gst_element_init, gst_element_finalize):
7087 Allocate and free the mutex properly.
7089 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
7091 (GstElement): The state_lock is now recursive. Rebuild your
7092 plugins, suckers. Old macros adapted.
7094 * docs/gst/gstreamer-sections.txt: Doc updates.
7097 * gst/gstutils.c (g_static_rec_cond_timed_wait)
7098 (g_static_rec_cond_wait): Ported from state changes patch, while
7099 we wait on bug #317802 to be solved in a well-distributed GLib.
7101 * gst/gstelement.c (gst_element_change_state_func): Renamed from
7102 gst_element_change_state, variable name changes.
7103 (gst_element_change_state): Split out of gst_element_set_state in
7104 preparation for the state change merge. Doesn't pay attention to
7105 the 'transition' argument.
7106 (gst_element_set_state): Updates, hopefully purely cosmetic.
7107 (gst_element_sync_state_with_parent): MT-safety. Ported from the
7109 (gst_element_get_state_func): Renamed from get_state, cosmetic
7112 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
7114 * gst/elements/gstelements.c:
7115 * win32/GStreamer.vcproj:
7117 * win32/dirent.c: (_tseekdir):
7118 * win32/gst-inspect.vcproj:
7119 * win32/gst-launch.vcproj:
7120 * win32/gstconfig.h:
7121 * win32/gstelements.vcproj:
7122 * win32/gstenumtypes.c: (gst_object_flags_get_type):
7123 * win32/gstreamer.def:
7125 updates for the win32 build (patch from Sebastien Moutte)
7127 2005-10-10 Andy Wingo <wingo@pobox.com>
7129 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
7130 gst_bin_get_state, cleaned up (but no logic changes).
7131 (bin_element_is_sink): Comment updates.
7132 (sink_iterator_filter): Remove needless cast.
7133 (gst_bin_iterate_sinks): Doc update.
7134 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
7135 cleaned up (but no logic changes).
7137 * check/states/sinks.c (test_src_sink): Cleanups from the state
7139 (test_livesrc_sink): Sync on the state.
7141 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
7142 the state change patch.
7144 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
7147 * check/gst/gstbin.c: Merge in some style fixes and additional
7148 checks from Wim's state change patch.
7150 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
7152 * gst/base/gsttypefindhelper.c: (helper_find_peek),
7153 (gst_type_find_helper):
7154 Check whether we have the requested data already in our list of
7155 cached buffers before pulling a new buffer; also make the buffer
7156 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
7158 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
7163 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7164 don't use long long, it's not portable. Replacing with
7165 gint64 seems to work; let's hope no skeletons fall out of the closet.
7167 2005-10-10 Andy Wingo <wingo@pobox.com>
7169 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
7171 2005-10-09 Stefan Kost <ensonic@users.sf.net>
7173 * docs/gst/gstreamer-sections.txt:
7178 * gst/gstmessage.c: (gst_message_parse_state_changed):
7181 more docs, fix compilation
7183 2005-10-09 Philippe Khalaf <burger@speedy.org>
7185 Fixed a few forgotten variables on previous commit
7187 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
7189 * gst/base/gsttypefindhelper.c: (helper_find_peek):
7190 Fix evil typefind crasher: getrange() might return a short
7191 buffer at the end of a file, but gst_type_find_peek() must
7192 either return the full data as requested or NULL, but
7193 never a short buffer.
7195 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
7197 * gst/gstmessage.c: (gst_message_new_state_changed),
7198 (gst_message_parse_state_changed):
7200 don't use "new", it's a C++ keyword
7202 2005-10-08 Wim Taymans <wim@fluendo.com>
7204 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
7205 * gst/gstelement.c: (gst_element_post_message):
7206 * gst/gstpipeline.c: (gst_pipeline_change_state):
7207 Small docs and debug updates.
7209 2005-10-08 Stefan Kost <ensonic@users.sf.net>
7211 * docs/gst/gstreamer-sections.txt:
7212 * gst/gstelementfactory.c:
7217 2005-10-08 Wim Taymans <wim@fluendo.com>
7219 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
7220 (gst_bin_dispose), (bin_bus_handler):
7221 Fix typos, add comments.
7222 Clear EOS list when going to PAUSED from any direction and do it
7223 in a threadsafe way.
7224 Get base time in a threadsafe way too.
7225 Fix confusing debug in the change_state function.
7226 Various other small cleanups.
7228 * gst/gstelement.c: (gst_element_post_message):
7229 Fix very verbose bus posting code.
7231 * gst/gstpipeline.c: (gst_pipeline_class_init),
7232 (gst_pipeline_set_property), (gst_pipeline_get_property),
7233 (gst_pipeline_change_state):
7234 Small ARG_ -> PROP_ cleanup
7236 2005-10-08 Wim Taymans <wim@fluendo.com>
7238 * gst/gstbin.c: (is_eos), (bin_bus_handler):
7239 Do a less CPU demanding EOS check because we can.
7241 2005-10-08 Wim Taymans <wim@fluendo.com>
7243 * libs/gst/dataprotocol/dataprotocol.c:
7244 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7245 (gst_dp_packet_from_event):
7246 * libs/gst/dataprotocol/dataprotocol.h:
7247 * libs/gst/dataprotocol/dp-private.h:
7248 It's about time we bump the version number.
7249 Since event types don't fit in the guint8 anymore describing
7250 the payload type, make payload type 16 bits wide.
7252 2005-10-08 Wim Taymans <wim@fluendo.com>
7254 * docs/design/part-TODO.txt:
7255 * docs/design/part-clocks.txt:
7256 * docs/design/part-events.txt:
7257 * docs/design/part-gstbin.txt:
7258 * docs/design/part-gstelement.txt:
7259 * docs/design/part-gstpipeline.txt:
7260 * docs/design/part-live-source.txt:
7261 * docs/design/part-messages.txt:
7262 * docs/design/part-overview.txt:
7263 * docs/design/part-states.txt:
7266 2005-10-08 Wim Taymans <wim@fluendo.com>
7270 Fix event quark registration.
7271 Add some space between events so we can insert them in the
7274 2005-10-08 Wim Taymans <wim@fluendo.com>
7276 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7277 (gst_base_sink_handle_buffer):
7284 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
7285 (gst_queue_set_property), (gst_queue_get_property):
7287 Remove old unused properties.
7289 2005-10-08 Stefan Kost <ensonic@users.sf.net>
7290 * docs/gst/gstreamer-sections.txt:
7293 * gst/gstminiobject.c:
7294 * gst/gstminiobject.h:
7298 lots of new docs and doc fixes
7300 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
7302 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
7304 * gst/gstregistry.c: (gst_registry_lookup_locked),
7305 (gst_registry_scan_path_level):
7306 * gst/gstregistryxml.c: (load_plugin):
7307 Only ever load one plugin for a given plugin basename.
7308 This ensures correct overriding of GST_PLUGIN_PATH over
7309 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
7310 system installed plugins.
7312 2005-10-08 Wim Taymans <wim@fluendo.com>
7314 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7315 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
7316 Prepare for doing QOS.
7318 2005-10-08 Wim Taymans <wim@fluendo.com>
7320 * check/gst/gstbin.c: (GST_START_TEST):
7321 * check/pipelines/cleanup.c: (GST_START_TEST):
7322 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
7323 Allow new clock message too.
7325 2005-10-08 Wim Taymans <wim@fluendo.com>
7327 * gst/gstmessage.c: (gst_message_new_error),
7328 (gst_message_new_warning), (gst_message_new_tag),
7329 (gst_message_new_state_changed), (gst_message_new_clock_provide),
7330 (gst_message_new_clock_lost), (gst_message_new_new_clock),
7331 (gst_message_new_segment_start), (gst_message_new_segment_done),
7332 (gst_message_parse_state_changed),
7333 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
7334 (gst_message_parse_new_clock):
7336 Also carry the clock in question.
7338 2005-10-08 Wim Taymans <wim@fluendo.com>
7340 * gst/gstmessage.c: (gst_message_new_custom),
7341 (gst_message_new_eos), (gst_message_new_error),
7342 (gst_message_new_warning), (gst_message_new_tag),
7343 (gst_message_new_state_changed), (gst_message_new_clock_provide),
7344 (gst_message_new_new_clock), (gst_message_new_segment_start),
7345 (gst_message_new_segment_done), (gst_message_parse_state_changed),
7346 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
7349 Added clock related messages.
7351 * gst/gstpipeline.c: (gst_pipeline_change_state):
7352 Post message when the clock changed.
7354 * tools/gst-launch.c: (event_loop):
7357 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
7359 * tools/gst-inspect.c: (print_element_properties_info):
7360 Can't pass NULL strings to g_print() on windows.
7362 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
7365 * docs/gst/Makefile.am:
7366 * docs/gst/gstreamer-docs.sgml:
7367 * docs/gst/running.xml:
7368 * docs/version.entities.in:
7369 add a chapter on running GStreamer.
7370 document GST_DEBUG and GST_PLUGIN* env vars
7372 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
7377 remove PLUGINS_BUILDDIR stuff
7378 * gst/gst.c: (init_post):
7379 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
7381 remove, it was condescending and not needed
7383 2005-10-08 Wim Taymans <wim@fluendo.com>
7385 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7386 (gst_base_sink_handle_object), (gst_base_sink_event),
7387 (gst_base_sink_wait), (gst_base_sink_handle_event),
7388 (gst_base_sink_change_state):
7389 * gst/base/gstbasesink.h:
7390 Repost EOS message while going to PLAYING if still EOS.
7391 Make sure that when receiving a FLUSH_START we don't attempt
7392 to sync on the clock anymore.
7394 2005-10-08 Wim Taymans <wim@fluendo.com>
7396 * tools/gst-launch.c: (event_loop):
7397 Better message printout.
7399 2005-10-08 Wim Taymans <wim@fluendo.com>
7401 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
7402 (gst_bin_child_proxy_get_children_count):
7403 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7404 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
7405 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
7406 (gst_child_proxy_set_valist):
7407 * gst/parse/grammar.y:
7408 Make ChildProxy threadsafe and fix mem leaks.
7410 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
7412 * gst/gst.c: (init_post):
7413 debug the GST_PLUGIN_ env vars
7415 2005-10-08 Wim Taymans <wim@fluendo.com>
7417 * check/gst/gstbin.c: (GST_START_TEST):
7418 * check/gst/gstmessage.c: (GST_START_TEST):
7419 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7420 * gst/gstelement.c: (gst_element_commit_state),
7421 (gst_element_lost_state):
7422 * gst/gstmessage.c: (gst_message_new_state_changed),
7423 (gst_message_parse_state_changed):
7425 * tools/gst-launch.c: (event_loop):
7426 Added extra field to STATE_CHANGE message with the pending
7427 state, which will be different from the new state soon.
7429 2005-10-08 Wim Taymans <wim@fluendo.com>
7431 * gst/gstbus.c: (gst_bus_pop):
7433 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7434 Small cleanups and doc updates.
7436 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
7438 * gst/gst.c: (init_pre):
7439 * gst/gstbin.c: (gst_bin_add_func):
7440 log distributing clocks and base time
7441 * gst/gstregistry.c: (gst_registry_add_plugin),
7442 (gst_registry_scan_path_level), (gst_registry_scan_path):
7443 clean up the debugging output a little
7444 * gst/gstutils.c: (gst_element_state_get_name):
7445 warn about a memleak (I've actually seen this be used, though
7446 it was probably a bug)
7448 2005-10-07 Wim Taymans <wim@fluendo.com>
7450 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7451 (gst_base_src_init), (gst_base_src_default_newsegment),
7452 (gst_base_src_newsegment), (gst_base_src_do_seek),
7453 (gst_base_src_loop), (gst_base_src_start):
7454 * gst/base/gstbasesrc.h:
7455 Make the newsegment event customizable by subclasses.
7457 2005-10-07 Wim Taymans <wim@fluendo.com>
7459 * gst/gstevent.c: (gst_event_new_buffersize),
7460 (gst_event_parse_buffersize):
7462 New event for future idea.
7464 2005-10-07 Andy Wingo <wingo@pobox.com>
7466 * gst/gstelement.c (gst_element_post_message): Doc update.
7468 * docs/gst/gstreamer-sections.txt: Update.
7470 * gst/gstmessage.c (gst_message_new_application): Made into a
7471 function like honest API calls.
7472 (gst_message_new_element): New message type.
7474 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
7476 * check/elements/fakesrc.c (test_no_preroll): New check, checks
7477 that setting a live fakesrc to PAUSED returns NO_PREROLL both
7480 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
7481 NO_PREROLL from gst_element_change_state to fall through.
7483 2005-10-07 Wim Taymans <wim@fluendo.com>
7485 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
7486 (gst_ghost_pad_do_activate_push):
7487 Activating a ghostpad with no internal pad in push mode
7490 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
7493 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
7494 Fixes compilation on Windows.
7496 2005-10-07 Michael Smith <msmith@fluendo.com>
7498 * tools/gst-inspect.c:
7499 Print out feature and plugin count at the end when printing out
7502 2005-10-04 Michael Smith <msmith@fluendo.com>
7504 * gst/gsterror.c: (_gst_stream_errors_init):
7505 Add another error string used in a few existing plugins.
7508 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7509 * tools/gst-inspect.c: (print_element_info):
7510 When a feature disappears from a plugin (and the feature exists in
7511 the cached registry file), things went horribly wrong. This isn't a
7512 complete fix, we should actually be removing the 'missing' features
7513 from the features list when we load the actual plugin. That's not
7516 2005-10-04 Johan Dahlin <johan@gnome.org>
7518 * check/gst/gstiterator.c: (GST_START_TEST):
7519 * gst/gstbin.c: (gst_bin_iterate_elements),
7520 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
7521 * gst/gstelement.c: (gst_element_iterate_pads):
7522 * gst/gstformat.c: (gst_format_iterate_definitions):
7523 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
7524 (gst_iterator_new_list), (gst_iterator_filter):
7525 * gst/gstiterator.h:
7526 * gst/gstquery.c: (gst_query_type_iterate_definitions):
7527 Add a GType to GstIterator, update callsites and tests.
7529 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
7531 * gst/gstpad.c: (gst_pad_event_default_dispatch):
7532 give events a chance to be handled by event probes when the pad
7535 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
7537 * gst/gstevent.c: (gst_event_type_get_name),
7538 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
7540 add string representations for event types
7542 2005-10-06 Wim Taymans <wim@fluendo.com>
7544 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
7545 Don't use NULL pointers.
7547 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
7549 * gst/gst_private.h:
7553 * gst/gstpluginfeature.c:
7554 widen the debug category in output to fit the biggest one we have
7555 add a bus category and use it
7556 play with the colors
7557 fix up some categories
7559 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
7561 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
7562 add push activation of sink ghost pads.
7563 Andye, please verify
7565 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
7567 * gst/gstutils.c: (gst_element_link_pads):
7568 fix a bug in the case where neither element has a pad
7569 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
7570 add a test for that case
7572 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
7574 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
7575 emit have-data before checking for peers. This allows
7576 for probe handlers to connect elements. This helps autopluggers.
7577 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
7579 add six checks, linked/unlinked with no/true/false probe
7581 2005-10-04 Wim Taymans <wim@fluendo.com>
7583 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
7584 (gst_fake_sink_event), (gst_fake_sink_preroll),
7585 (gst_fake_sink_render), (gst_fake_sink_change_state):
7586 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
7587 (gst_fake_src_get_property), (gst_fake_src_create),
7588 (gst_fake_src_stop):
7589 * gst/elements/gstidentity.c: (gst_identity_stop):
7590 Protect last_message with lock.
7592 2005-10-04 Edward Hervey <edward@fluendo.com>
7595 Added precision in the comments for GST_FORMAT_DEFAULT
7597 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
7599 * tools/gst-launch.c: (main):
7600 Don't try to run erroneous pipelines.
7602 2005-10-04 Julien MOUTTE <julien@moutte.net>
7604 * gst/gstbus.c: We don't need this header.
7606 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
7611 === release 0.9.3 ===
7613 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
7617 Releasing 0.9.3, "Unregistered"
7619 2005-10-03 Andy Wingo <wingo@pobox.com>
7621 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
7622 whereby calling a pad's activatepush() function can start a thread
7623 that starts to push or pull before the pad gets the FLUSHING flag
7624 unset. Hack around it by holding the stream lock until the flag is
7625 set. Need to replace this with a proper solution. Together with
7626 the ghost pad fixes, this fixes mp3 playing/tagreading.
7628 * docs/design/part-gstghostpad.txt: Add a note about activation of
7629 proxy pads outside of ghost pads.
7631 * gst/gstghostpad.c: Implement the ghost pad activation design.
7633 2005-10-02 Andy Wingo <wingo@pobox.com>
7635 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
7636 It is volatile, after all.
7638 * docs/design/part-gstghostpad.txt: Flesh out activation with
7641 * gst/base/gstbasesrc.c (gst_base_src_init): Use
7644 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
7647 Fix (unused) AM_CONDITIONAL tests.
7649 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
7651 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
7653 * gst/gstutils.c: (gst_pad_query_convert):
7654 Add assertion that makes sure src_val is >=0, just like
7655 gst_query_new_convert() has. (#315895)
7657 2005-09-30 Edward Hervey <edward@fluendo.com>
7659 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
7660 Let's not iterate pads we're not interested in, it avoids getting
7661 sky-high refcounts on sinkpad.
7663 2005-09-30 Wim Taymans <wim@fluendo.com>
7665 * gst/gstelement.c: (gst_element_set_state),
7666 (gst_element_change_state):
7667 Small tweak, element in ASYNC remains ASYNC.
7669 2005-09-30 Wim Taymans <wim@fluendo.com>
7671 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7672 Only error is an error.
7674 * gst/gstbin.c: (gst_bin_change_state):
7677 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
7678 Also call pad_block in pad alloc.
7680 * gst/gstutils.c: (gst_flow_get_name):
7683 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
7685 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7686 (gst_base_src_get_range):
7687 Fix documentation typos. Add some more debug info.
7689 2005-09-29 David Schleef <ds@schleef.org>
7691 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
7692 more end-user friendly.
7693 * tools/gst-inspect.c: (main): Check if command-line argument is
7694 a file and attempt to load that file as a plugin.
7696 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
7698 * check/gst/gstbin.c:
7699 * check/states/sinks.c:
7700 fix tests for the new warning
7701 * check/gst/gstpipeline.c:
7702 add a test for pipeline and bus interaction
7704 elements should be NULL if they get disposed; add a warning if not
7706 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
7709 for 2.6 refcounting, make debug log more correct by printing
7710 the actual refcounts at the time of swap (Wim)
7712 2005-09-29 Andy Wingo <wingo@pobox.com>
7714 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
7715 removes signal watches previously added via
7716 gst_bus_add_signal_watch.
7717 (gst_bus_add_signal_watch): Don't return the source id, just store
7718 it on the bus if there wasn't an id already.
7720 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
7721 add_signal_watch and remove_signal_watch.
7723 2005-09-29 Edward Hervey <edward@fluendo.com>
7725 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
7726 Better if we actually iterate the list :)
7728 2005-09-29 Wim Taymans <wim@fluendo.com>
7730 * check/gst/gstbin.c: (GST_START_TEST):
7731 Change for new bus API.
7733 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7734 (send_messages), (GST_START_TEST), (gstbus_suite):
7735 Change for new bus signal API.
7737 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
7738 (gst_bus_source_prepare), (gst_bus_source_check),
7739 (gst_bus_create_watch), (gst_bus_add_watch_full),
7740 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
7741 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
7743 Remove support for multiple GSources operating on different
7744 message types as it is too complex and unneeded when using
7746 Added support for receiving signals from the bus.
7748 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
7750 * docs/libs/tmpl/gstdataprotocol.sgml:
7751 * docs/manual/advanced-dataaccess.xml:
7752 * gst/elements/gstcapsfilter.c:
7754 rename filter-caps to caps property
7756 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
7758 * gst/gstvalue.c: (gst_value_deserialize_fraction):
7759 More robust fraction string parsing.
7761 * docs/pwg/appendix-porting.xml:
7762 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
7764 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
7766 * gst/gstcaps.c: (gst_caps_do_simplify):
7767 Thou shalt not free a structure and then continue using it
7768 in the next loop iteration.
7770 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
7772 Add test case for caps simplification.
7774 2005-09-29 Wim Taymans <wim@fluendo.com>
7776 * check/gst/gstbin.c: (GST_START_TEST):
7779 2005-09-29 Wim Taymans <wim@fluendo.com>
7781 * check/gst/gstbin.c: (GST_START_TEST):
7784 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7785 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7786 (find_element), (gst_bin_sort_iterator_next),
7787 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7788 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7789 (gst_bin_change_state), (gst_bin_dispose):
7790 A bin does not have a bus, it gets the bus from the parent.
7792 * gst/gstelement.c: (gst_element_requires_clock),
7793 (gst_element_provides_clock), (gst_element_is_indexable),
7794 (gst_element_is_locked_state), (gst_element_change_state),
7795 (gst_element_set_bus_func):
7798 * gst/gstpipeline.c: (gst_pipeline_class_init),
7799 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
7800 The pipeline provides a bus.
7802 2005-09-28 Johan Dahlin <johan@gnome.org>
7804 * gst/gstmessage.c (gst_message_parse_state_changed): Use
7805 gst_structure_get_enum instead of gst_structure_get_int
7807 * gst/gststructure.c (gst_structure_get_enum): Impl.
7809 * gst/gststructure.h (gst_structure_get_enum): Add
7811 * docs/gst/gstreamer-sections.txt: Ditto
7813 * gst/gstmessage.c (gst_message_new_state_changed): Use
7814 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
7815 which does introspection.
7816 Reviewed by Christian Schaller
7818 2005-09-28 Stefan Kost <ensonic@users.sf.net>
7820 * gst/gstinfo.c: (gst_debug_log_default):
7821 don't do dummy g_strdup()s
7822 * libs/gst/controller/gstcontroller.c:
7823 (on_object_controlled_property_changed),
7824 (gst_controlled_property_new), (gst_controller_new_valist),
7825 (gst_controller_new_list),
7826 (gst_controller_remove_properties_valist), (gst_controller_set),
7827 (gst_controller_get), (gst_controller_sync_values),
7828 (gst_controller_get_value_array), (_gst_controller_class_init),
7829 (gst_controller_get_type):
7830 * libs/gst/controller/gstcontroller.h:
7831 * libs/gst/controller/gstinterpolation.c:
7832 (gst_controlled_property_find_timed_value_node):
7833 convert // to /**/ comments
7835 2005-09-28 Wim Taymans <wim@fluendo.com>
7837 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
7838 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
7839 (gst_bus_sync_signal_handler):
7841 Added async-message and sync-message signals to the bus.
7842 Added helper BusFunc to emit signals for all posted messages.
7844 * gst/gstmessage.c: (gst_message_type_get_name),
7845 (gst_message_type_to_quark), (gst_message_get_type):
7847 Register quarks for message names.
7849 2005-09-28 Stefan Kost <ensonic@users.sf.net>
7851 * docs/libs/gstreamer-libs-sections.txt:
7852 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7853 (gst_controller_new_list):
7854 * libs/gst/controller/gstcontroller.h:
7855 added another constructor for language bindings
7857 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
7859 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7863 * gst/gstinfo.c: (_gst_debug_init):
7864 slightly more readable color for refcount debugging
7866 2005-09-28 Wim Taymans <wim@fluendo.com>
7868 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7869 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7870 (find_element), (gst_bin_sort_iterator_next),
7871 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7872 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7873 (gst_bin_change_state), (gst_bin_dispose):
7874 Small doc fixes. get_clock -> provide_clock.
7876 * gst/gstelement.c: (gst_element_class_init),
7877 (gst_element_provides_clock), (gst_element_provide_clock),
7878 (gst_element_get_clock), (gst_element_commit_state),
7879 (gst_element_lost_state):
7881 Make get/set_clock() symetric. Add provide_clock vmethod since
7882 that is actually what this function does.
7884 * gst/gstpipeline.c: (gst_pipeline_class_init),
7885 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
7886 (gst_pipeline_get_clock):
7887 get_clock -> provide_clock.
7889 2005-09-28 Andy Wingo <wingo@pobox.com>
7891 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
7892 lieu of real docs...
7894 * gst/elements/gstfdsrc.c: Cleaned up a bit.
7896 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
7898 * gst/elements/gstcapsfilter.c:
7899 * gst/elements/gstfakesink.c:
7900 * gst/elements/gstfakesrc.c:
7901 * gst/elements/gstfdsink.c:
7902 * gst/elements/gstfdsrc.c:
7903 * gst/elements/gstfilesink.c:
7904 * gst/elements/gstfilesrc.c:
7905 * gst/elements/gstidentity.c:
7906 * gst/elements/gsttee.c:
7907 * gst/elements/gsttypefindelement.c:
7908 Make element details static.
7910 2005-09-28 Wim Taymans <wim@fluendo.com>
7912 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7913 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7914 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7915 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7916 (gst_bin_change_state), (gst_bin_dispose):
7917 Some documentation updates.
7918 Clean up dispose handlers.
7920 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
7921 * gst/gstpad.c: (gst_pad_dispose):
7922 Clean up dispose handler.
7924 * gst/gstpipeline.c: (gst_pipeline_change_state):
7925 Removed spurious UNLOCK.
7927 2005-09-27 Stefan Kost <ensonic@users.sf.net>
7929 * docs/gst/gstreamer-sections.txt:
7930 * gst/base/gstbasesrc.h:
7935 * gst/gstpipeline.c:
7936 * gst/gstpipeline.h:
7939 added two new functions to the docs
7940 documents all undocumented GstXXXFlags
7941 completed some incomplete docs
7943 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
7945 * gst/gstbin.c: (gst_bin_dispose):
7946 * gst/gstelement.c: (gst_element_dispose):
7947 remove now useless and leaky resurrection code in dispose
7948 * gst/base/gstbasesrc.c: (gst_base_src_init):
7949 * gst/gstelementfactory.c: (gst_element_factory_create):
7950 * gst/gstobject.c: (gst_object_set_parent):
7953 2005-09-27 Wim Taymans <wim@fluendo.com>
7955 * docs/design/part-TODO.txt:
7958 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7959 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7960 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7961 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7962 (gst_bin_change_state):
7964 Remove element variable, we keep element info in the iterator now.
7966 2005-09-27 Andy Wingo <wingo@pobox.com>
7968 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
7971 2005-09-27 Wim Taymans <wim@fluendo.com>
7973 * check/gst/gstbin.c: (GST_START_TEST):
7974 Enable check that works now.
7976 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7977 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7978 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7979 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7980 (gst_bin_change_state):
7982 Redid the state change algorithm using a topological sort algo.
7983 Handles all cases correctly.
7984 Exposed iterator for state change order.
7987 Temp storage for state changes. Need to get rid of this soon.
7989 2005-09-27 Wim Taymans <wim@fluendo.com>
7991 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
7992 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
7993 (link_fold_func), (gst_pad_proxy_setcaps):
7994 Leak fixes, the fold functions need to unref the passed object and
7995 _get_parent_*() returns ref to parent.
7997 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
7999 * check/gst/gstbuffer.c: (test_make_writable):
8000 Plug leak in test case and fix 'make check-valgrind'
8002 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
8004 * gst/gstbuffer.c: (gst_subbuffer_init):
8005 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
8006 works correctly in all circumstances (we could have just copied
8007 the parent buffer's readonly flag, but conceptually it seems
8008 cleaner to mark all subbuffers as read-only). (based on patch
8009 by Alessandro Decina, #314710).
8011 * check/gst/gstbuffer.c: (create_read_only_buffer),
8012 (test_make_writable), (test_subbuffer_make_writable),
8014 Add some tests for gst_buffer_make_writable().
8016 2005-09-27 Wim Taymans <wim@fluendo.com>
8018 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
8019 use gst_object_has_ancestor().
8021 * gst/gstobject.c: (gst_object_has_ancestor):
8023 gst_object_has_ancestor() copied from gstbin.c as it is a
8026 * tests/instantiate/create.c: (create_all_elements):
8027 * tests/lat.c: (handoff_src), (handoff_sink):
8028 * tests/sched/runxml.c: (main):
8029 * tests/seeking/seeking1.c: (main):
8030 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8032 Fix compilation of some tests.
8034 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
8037 Remove comment. GST_TYPE_G_ERROR is here to stay,
8038 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
8041 2005-09-26 Wim Taymans <wim@fluendo.com>
8043 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8044 Added check that shows error in state change order.
8046 2005-09-26 Wim Taymans <wim@fluendo.com>
8048 * gst/gstbin.c: (gst_bin_change_state):
8049 Make state change function use 3 queues again, we were
8050 adding elements in the wrong order.
8052 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
8055 * gst/gstpad.c: (gst_pad_dispose):
8056 Added some debug info first.
8058 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
8060 * docs/design/draft-push-pull.txt:
8061 * docs/design/part-events.txt:
8062 * docs/design/part-overview.txt:
8063 * docs/design/part-scheduling.txt:
8064 Replace all _pull_region() with _pull_range()
8066 2005-09-26 Andy Wingo <wingo@pobox.com>
8068 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
8070 * check/gst-libs/controller.c: Update for controller api change.
8073 * tests/Makefile.am:
8074 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
8075 over by GLib bug 118439.
8077 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
8078 routines to a function.
8080 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
8082 * libs/gst/controller/gsthelper.c:
8083 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
8084 (gst_object_sync_values): Renamed from sink_values. Ugh.
8086 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
8088 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
8089 Renamed from controller_key, as it is exported.
8091 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
8093 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
8098 * gst/gstpadtemplate.h:
8101 * gst/gstqueryutils.c:
8102 * gst/gstqueryutils.h:
8103 remove queryutils headers after moving the two used functions
8104 to gstquery. also fixes build problem for gstsiddec
8106 2005-09-26 Michael Smith <msmith@fluendo.com>
8108 * tools/gst-launch.1.in:
8109 Correct documentation in manpage of debug syntax
8111 2005-09-26 Wim Taymans <wim@fluendo.com>
8113 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
8114 (gst_base_src_is_seekable), (gst_base_src_change_state):
8115 Some more debugging info.
8117 2005-09-25 Stefan Kost <ensonic@users.sf.net>
8119 * docs/gst/gstreamer-sections.txt:
8120 * gst/base/gstbasetransform.h:
8124 2005-09-25 Stefan Kost <ensonic@users.sf.net>
8126 * docs/gst/.cvsignore:
8127 * docs/gst/tmpl/.cvsignore:
8128 * docs/gst/tmpl/gstpipeline.sgml:
8129 * docs/gst/tmpl/gstplugin.sgml:
8130 * gst/gstpipeline.c:
8133 inlined the last two docs files
8134 removed the tmpl directory from cvs (no more conflicts here!)
8136 2005-09-25 Stefan Kost <ensonic@users.sf.net>
8138 * docs/gst/gstreamer-sections.txt:
8139 * docs/gst/tmpl/.cvsignore:
8140 * docs/gst/tmpl/gstpad.sgml:
8141 * docs/gst/tmpl/gstpadtemplate.sgml:
8143 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
8144 (gst_pad_finalize), (gst_pad_set_pad_template):
8146 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
8147 (gst_pad_template_class_init), (gst_pad_template_init),
8148 (gst_pad_template_dispose), (name_is_valid),
8149 (gst_static_pad_template_get), (gst_pad_template_new),
8150 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
8151 (gst_pad_template_pad_created):
8152 * gst/gstpadtemplate.h:
8153 inlined two more docs
8154 factored gstpadtemplate out of gstpad
8156 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
8158 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
8159 (test_children_state_change_order_semi_sink):
8160 Fix test case: we can't rely on a fixed state change order when
8161 going from READY => PAUSED because the sink might commit its
8162 new state first when the first buffer created by the source
8163 reaches the sink before the source has finished its change state.
8164 (Test case still fails at times, see #316856, comment 5 onwards)
8166 2005-09-24 Wim Taymans <wim@fluendo.com>
8168 * docs/design/part-events.txt:
8169 * docs/design/part-gstbus.txt:
8170 * docs/design/part-gstpipeline.txt:
8171 * docs/design/part-messages.txt:
8172 * docs/design/part-overview.txt:
8173 * docs/design/part-segments.txt:
8180 * gst/gstiterator.c:
8181 Various documentation updates.
8183 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
8186 Well, that's embarassing. Luckily we weren't using
8187 GST_CLOCK_DIFF anywhere.
8189 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
8191 * common/gtk-doc.mak:
8192 don't fail on building XML, FC4 slave shows a bunch of doc
8193 missing bits that I don't get
8195 * gst/gstpipeline.c:
8196 * gst/gststructure.c:
8199 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
8201 * docs/design/part-gstbin.txt:
8202 * docs/design/part-gstbus.txt:
8204 Add blurb about how the bus goes into flushing mode and
8205 drops all messages when its bin goes from READY into NULL
8208 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
8210 * docs/gst/gstreamer-sections.txt:
8211 * gst/gststructure.c: (gst_structure_get_clock_time):
8212 * gst/gststructure.h:
8213 add a method to get a GstClockTime out of a structure
8215 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
8217 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
8218 (test_children_state_change_order_semi_sink), (gst_bin_suite):
8219 Added test to check state change order in bins (can still be made
8220 to fail here under heavy disk load; bails out with 'Push on pad
8221 fakesink:sink0, but it was not activated in push mode').
8223 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
8224 Fix state change order when there is only a semi sink (#316856)
8226 * gst/gstbus.c: (gst_bus_class_init):
8227 Use _class_peek_parent(), not _class_ref(); fix docs to say
8228 'default main context' instead of 'mainloop' where that is
8231 * gst/gstelement.c: (gst_element_commit_state),
8232 (gst_element_set_state):
8233 Fix typos in debug messages
8235 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
8238 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
8239 * gst/gstpluginfeature.c:
8242 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8243 change an assert into an error until it gets fixed properly
8245 2005-09-23 Stefan Kost <ensonic@users.sf.net>
8247 * docs/gst/gstreamer-sections.txt:
8248 * docs/gst/tmpl/.cvsignore:
8249 * docs/gst/tmpl/gstelement.sgml:
8250 * docs/gst/tmpl/gstinfo.sgml:
8251 * docs/gst/tmpl/gstobject.sgml:
8256 * gst/gstobject.c: (gst_object_class_init):
8258 inlined 3 more biiiig doc files and added some missing docs on the fly
8260 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
8262 * check/gst/.cvsignore:
8263 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
8264 * gst/gstregistryxml.c: (load_plugin),
8265 (gst_registry_xml_save_plugin):
8266 put back source in registry. add checks for find_plugin.
8267 * testsuite/states/bin.c: (assert_state), (empty_bin),
8268 (test_adding_one_element), (main):
8269 * testsuite/states/locked.c: (main):
8270 some compile/run fixes
8272 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
8274 * check/gst/gstvalue.c: (GST_START_TEST):
8275 fix leaks in the test itself
8277 2005-09-22 Wim Taymans <wim@fluendo.com>
8279 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8280 (gst_base_sink_send_event), (gst_base_sink_peer_query),
8281 (gst_base_sink_query):
8282 Prepare for more accurate position reporting and query
8285 * gst/gstelement.c: (gst_element_send_event),
8286 (gst_element_set_state):
8289 2005-09-22 Wim Taymans <wim@fluendo.com>
8291 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
8292 (gst_query_parse_segment):
8295 Add segment query for future use.
8297 2005-09-22 Wim Taymans <wim@fluendo.com>
8299 * gst/gstbin.c: (gst_bin_add_func):
8300 Some more debug info.
8302 * gst/gstelement.c: (gst_element_send_event):
8306 Don't know how flags got broken.
8311 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
8313 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
8314 Add simplistic test suite for GST_TYPE_DATE serialisation and
8317 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
8319 * docs/gst/gstreamer-sections.txt:
8320 * gst/gststructure.c: (gst_structure_set_valist),
8321 (gst_structure_get_date):
8322 * gst/gststructure.h:
8323 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
8324 (gst_date_copy), (gst_value_compare_date),
8325 (gst_value_serialize_date), (gst_value_deserialize_date),
8326 (gst_value_transform_date_string),
8327 (gst_value_transform_string_date), (_gst_value_initialize):
8329 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
8330 bunch of utility functions along with a hack that checks that
8331 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
8332 is required. Part of the grand scheme in #170777.
8334 2005-09-22 Andy Wingo <wingo@pobox.com>
8336 * gst/gstconfig.h.in: Psych out gtk-doc.
8338 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
8340 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
8342 * tools/gst-inspect.c (print_element_list): Plug some
8343 inconsequential leaks.
8345 * gst/gstregistry.c (gst_registry_get_default): Doc.
8347 * check/gst/gstplugin.c:
8348 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
8349 * gst/gstelementfactory.c (gst_element_factory_create):
8350 * gst/gstindexfactory.c (gst_index_factory_create): Update for
8353 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
8354 (gst_plugin_feature_load): Doc, don't eat refs.
8356 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
8357 (gst_plugin_list_free): Doc.
8358 (gst_plugin_load_file): Doc updates.
8360 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
8361 accessors returning refcounted objects, return a ref.
8363 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
8364 accessor for caps. IDEMPOTENCE. Oh yes.
8366 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
8368 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
8370 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8371 (_gst_debug_register_funcptr):
8372 Add mutex to serialise access to the hash table with
8373 the function pointer => function name string mapping;
8374 make that hash table static scope (#316809).
8376 * gst/registries/.cvsignore:
8377 Remove left-over file.
8379 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
8381 * docs/pwg/appendix-porting.xml:
8382 And something about newsegment events and caps-on-buffers to
8383 the porting guide (feel free to improve).
8385 2005-09-21 Andy Wingo <wingo@pobox.com>
8387 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
8388 data and event probes on the same pad.
8389 (test_buffer_probe_once): Test that removing probes from within
8390 the probe functions works.
8392 2005-09-21 Andy Wingo <wingo@pobox.com>
8394 * check/gst/gstutils.c: New file.
8395 (test_buffer_probe_n_times): A simple buffer probe test. More to
8398 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
8399 have-data::buffer, not have-data.
8400 (gst_pad_add_event_probe): Likewise for have-data::event.
8401 (gst_pad_add_data_probe): More docs. The part about 'resolving the
8402 peer' isn't quite right yet though.
8403 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
8404 (gst_pad_remove_data_probe): Change to take the guint handler_id
8405 as their arg, not the function+data, which is more glib-like.
8407 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
8408 the signal emission to indicate if the data is a buffer or an
8410 (gst_pad_get_type): Initialize buffer and event quarks.
8411 (gst_pad_class_init): have-data is now a detailed signal, yes it
8414 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
8416 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8417 * gst/gstutils.c: (gst_util_set_value_from_string),
8418 (gst_util_set_object_arg):
8419 Don't put functional code in g_return_if_fail() or
8420 g_return_val_if_fail() statements, otherwise things will
8421 break when G_DISABLE_CHECKS is defined during compilation.
8423 2005-09-21 Stefan Kost <ensonic@users.sf.net>
8425 * docs/gst/tmpl/.cvsignore:
8426 * docs/gst/tmpl/gstvalue.sgml:
8429 inlied another one and added some obvious docs
8431 2005-09-21 Wim Taymans <wim@fluendo.com>
8433 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8434 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
8435 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
8436 (gst_fdsrc_get_property), (gst_fdsrc_create):
8437 * gst/elements/gstfdsrc.h:
8438 Properly implement fdsrc. Removed signal and timeout,
8439 better implemented somewhere else.
8441 2005-09-21 Stefan Kost <ensonic@users.sf.net>
8443 * docs/gst/tmpl/.cvsignore:
8444 * docs/gst/tmpl/gstimplementsinterface.sgml:
8445 * gst/gstinterface.c:
8448 2005-09-21 Stefan Kost <ensonic@users.sf.net>
8450 * docs/gst/gstreamer-sections.txt:
8451 * docs/gst/tmpl/.cvsignore:
8452 * docs/gst/tmpl/gstenumtypes.sgml:
8453 remove obsolete doc file
8455 2005-09-21 David Schleef <ds@schleef.org>
8457 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
8458 little beer, fix a little leak.
8460 2005-09-21 Stefan Kost <ensonic@users.sf.net>
8462 * docs/gst/gstreamer-docs.sgml:
8463 * docs/gst/gstreamer-sections.txt:
8464 * docs/gst/tmpl/.cvsignore:
8469 * gst/gstindex.c: (gst_index_class_init):
8471 * gst/gstindexfactory.c: (gst_index_factory_get_type),
8472 (gst_index_factory_class_init), (gst_index_factory_init),
8473 (gst_index_factory_finalize), (gst_index_factory_new),
8474 (gst_index_factory_destroy), (gst_index_factory_find),
8475 (gst_index_factory_create), (gst_index_factory_make):
8476 * gst/gstindexfactory.h:
8477 * gst/gstpluginfeature.c:
8478 * gst/gstpluginfeature.h:
8479 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8480 more docs inlined, splitted gstindex.{c,h}
8482 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
8484 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8487 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
8489 * gst/elements/gstfilesink.c: (gst_file_sink_init):
8490 Set sync to FALSE by default.
8492 2005-09-20 Wim Taymans <wim@fluendo.com>
8494 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8495 (gst_base_sink_init):
8496 Make sync property settable from subclass.
8498 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8499 (gst_fake_sink_change_state):
8500 Set sync to FALSE by default.
8502 2005-09-20 Wim Taymans <wim@fluendo.com>
8504 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
8505 * tools/gst-launch.c: (main):
8506 The timeout handler should have lower priority than the source
8507 so we don't timeout before popping a message with 0 timeout.
8508 Dump error messages after failed state change.
8510 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
8512 * tools/gst-inspect.c: (print_element_properties_info):
8515 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
8517 * check/gst/gstevent.c:
8518 * gst/elements/gstfakesink.c:
8519 * gst/elements/gstfakesink.h:
8520 remove the sync property from fakesink.
8521 has the side effect of setting sync TRUE
8522 for fakesink, which is a change. Anyone who knows how
8523 to fix this nicely in a GObject-y way, feel free.
8525 2005-09-20 Stefan Kost <ensonic@users.sf.net>
8527 * docs/gst/gstreamer-docs.sgml:
8528 remove probe refsection
8530 2005-09-20 Stefan Kost <ensonic@users.sf.net>
8532 * check/Makefile.am:
8533 disable valgrinding the controller test again
8534 * docs/gst/gstreamer-sections.txt:
8535 update for api-changes
8537 2005-09-20 Wim Taymans <wim@fluendo.com>
8539 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8540 (gst_base_sink_set_property), (gst_base_sink_get_property),
8541 (gst_base_sink_do_sync):
8542 * gst/base/gstbasesink.h:
8543 Added sync property to basesink to disable clock sync.
8545 2005-09-20 Andy Wingo <wingo@pobox.com>
8547 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
8548 eating the caller's refcount.
8550 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
8551 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
8554 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
8555 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
8556 of GLib 2.8 public, so we can know which refcount to check in
8559 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
8560 (gst_object_init): Only set the gst refcount if we're going ahead
8561 with the refcount hack.
8563 2005-09-20 Stefan Kost <ensonic@users.sf.net>
8565 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
8566 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
8567 more leaks plumbed, added more debug-logging
8571 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
8574 remove include of gstmemchunk.h
8576 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
8578 * gst/gstclock.c: (_gst_clock_id_free):
8579 Commit from the Political Party For More Atomic CVS Commits,
8580 so that people don't waste too much of their day fishing
8581 out obvious leaks out of massive commits.
8582 Oh, and fix a pretty damn obvious leak in the memchunk
8585 2005-09-20 Stefan Kost <ensonic@users.sf.net>
8587 * check/Makefile.am:
8588 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
8589 plug mem-leak, re-add to valgrindable tests
8591 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
8594 unbreak the build for those who have chronic arthritis
8595 and typing "make check" is just too taxing on the hands
8597 2005-09-20 Andy Wingo <wingo@pobox.com>
8599 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
8600 really want it out, you should fix plugins at the same time.
8602 2005-09-19 Stefan Kost <ensonic@users.sf.net>
8605 * docs/gst/gstreamer-sections.txt:
8607 added missing symbols to api docs
8608 disable ref-count hack if we have glib >= 2.8
8610 2005-09-19 David Schleef <ds@schleef.org>
8612 * docs/gst/Makefile.am: Ignore a few more internal headers
8613 * docs/gst/gstreamer-docs.sgml: Remove old sections
8614 * docs/gst/gstreamer-sections.txt: Remove old sections
8615 * docs/gst/tmpl/gstobject.sgml: update
8616 * docs/gst/tmpl/gstplugin.sgml: update
8617 * docs/gst/tmpl/gstpluginfeature.sgml: update
8618 * docs/random/ds/0.9-suggested-changes: update.
8619 * gst/Makefile.am: remove memchunk and trashstack, since they're
8621 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
8622 * gst/gst.h: don't include some headers
8623 * gst/gstchildproxy.c: add gstmarshal.h
8624 * gst/gstclock.c: Don't use memchunks
8625 * gst/gstminiobject.c: Add some docs
8626 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
8627 * gst/gstobject.h: same
8628 * gst/gstplugin.c: include gstmacros.h
8629 * gst/gstplugin.h: don't include gstmacros.h, since it's private
8630 * gst/gstquery.c: don't use memchunks
8631 * gst/gstregistry.c: rename gst_registry_deinit()
8632 * gst/gstregistry.h: same
8634 2005-09-19 David Schleef <ds@schleef.org>
8636 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
8637 * docs/libs/gstreamer-libs-sections.txt:
8638 * docs/libs/tmpl/gstgetbits.sgml:
8639 * docs/libs/tmpl/gstputbits.sgml:
8641 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
8643 * win32/gstenumtypes.c:
8644 * win32/gstenumtypes.h:
8647 2005-09-19 Wim Taymans <wim@fluendo.com>
8649 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
8650 Automatically PAUSE and RESUME a pipeline when a flushing seek
8653 2005-09-19 Andy Wingo <wingo@pobox.com>
8655 * gst/gstregistry.h: Spacing fixen.
8657 2005-09-19 Wim Taymans <wim@fluendo.com>
8659 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
8660 Handle state change failure more correctly.
8662 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
8664 * check/Makefile.am:
8665 * check/pipelines/cleanup.c: (run_pipeline):
8666 * check/pipelines/simple_launch_lines.c: (run_pipeline),
8668 enable cleanup again after fixing the leak
8670 some more info on docs
8672 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
8674 * check/Makefile.am:
8675 re-enable tests now that leaks are plugged
8677 * check/gst/gstbin.c:
8678 * check/gst/gstpipeline.c:
8679 add some more tests while fixing leaks
8681 make sure binaries are uptodate when valgrinding/gdbing
8683 * gst/gstelementfactory.c:
8684 remove a ref too many, and add a FIXME for when we get
8685 round to disposing of classes
8687 fix the refcounting when loading a plugin from a file and
8688 the code pretends that the pointer is the same even though
8689 of course it can change
8690 * gst/gstpluginfeature.c:
8691 unref plugins marked cached (a bit confusing as a name)
8692 as the docs state should be done
8693 various doc additions to explain refcounting
8694 * gst/gstregistry.c:
8695 * gst/gstregistryxml.c:
8698 2005-09-19 Wim Taymans <wim@fluendo.com>
8700 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8701 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8702 (send_messages), (GST_START_TEST), (gstbus_suite):
8703 * check/gst/gstpipeline.c: (GST_START_TEST):
8704 * check/pipelines/cleanup.c: (run_pipeline):
8705 * check/pipelines/simple_launch_lines.c: (run_pipeline),
8707 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
8708 (gst_bus_source_check), (gst_bus_source_dispatch),
8709 (gst_bus_create_watch), (gst_bus_add_watch_full),
8710 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
8712 * tools/gst-launch.c: (event_loop):
8713 * tools/gst-md5sum.c: (event_loop):
8714 GstBusHandler -> GstBusFunc, return value has the same meaning as
8715 any other GSource (FALSE == remove source).
8716 _add_watch() and _add_watch_full() now take a MessageType mask to
8717 only handle specific types of messages.
8718 _poll() returns the GstMessage instead of the message type to avoid
8720 _have_pending() takes a MessageType mask now too.
8721 Added testsuite for multiple bus watches.
8722 Fix testsuites and applications for new bus API.
8724 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
8726 * check/Makefile.am:
8727 mark a bunch of the tests as to fix until we fix them
8729 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
8732 use GST_PLUGIN settings for valgrind tests as well, so we're
8733 valgrinding the correct thing
8734 * gst/gst.c: (init_post):
8737 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
8739 * gst/gst.c: (init_post), (gst_deinit):
8740 * gst/gstelementfactory.c: (gst_element_factory_class_init),
8741 (gst_element_factory_finalize), (gst_element_factory_cleanup):
8742 * gst/gstindex.c: (gst_index_factory_class_init),
8743 (gst_index_factory_finalize):
8744 * gst/gstobject.c: (gst_object_dispose):
8745 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
8746 (gst_plugin_load_file), (gst_plugin_desc_free):
8747 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
8748 (gst_plugin_feature_finalize):
8749 * gst/gstregistry.c: (gst_registry_class_init),
8750 (gst_registry_init), (gst_registry_finalize),
8751 (gst_registry_get_default), (gst_registry_deinit):
8752 * gst/gstregistry.h:
8753 * gst/gstregistryxml.c: (load_feature), (load_plugin):
8754 various cleanups and memleak plugging. make valgrind is happy now.
8756 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
8759 add a check-valgrind target
8761 2005-09-18 David Schleef <ds@schleef.org>
8763 * tools/gst-inspect.c: Revert the GOption code.
8765 2005-09-17 David Schleef <ds@schleef.org>
8767 * check/Makefile.am: Fix environment variables.
8768 * check/gst/gstplugin.c: Fix for API changes.
8769 * tools/gst-inspect.c: Fix for API changes.
8770 * tools/gst-xmlinspect.c: Fix for API changes.
8771 * gst/gstelementfactory.c:
8774 * gst/gstpluginfeature.c:
8775 * gst/gstpluginfeature.h:
8776 * gst/gstregistry.c:
8777 * gst/gstregistry.h:
8778 * gst/gstregistryxml.c:
8779 * gst/gsttypefind.c:
8780 * gst/gsttypefindfactory.c:
8781 * gst/indexers/gstfileindex.c:
8782 * gst/indexers/gstmemindex.c:
8783 * gst/schedulers/Makefile.am:
8784 Change registry to keep track of both plugins and features,
8785 removing the feature tracking from plugins themselves.
8787 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
8789 * check/Makefile.am:
8790 * tools/gst-register.1.in:
8793 2005-09-15 David Schleef <ds@schleef.org>
8795 * check/gst/gstplugin.c:
8796 * gst/gstelementfactory.c:
8798 * gst/gstpluginfeature.c:
8799 * gst/gstregistry.c:
8800 Getting tired of debugging. Disabled all the unreffing of
8801 plugins and features, which fixes the segfaults, but of
8802 course leaks like crazy. At least playbin works.
8804 2005-09-15 David Schleef <ds@schleef.org>
8806 * check/gst/gstplugin.c: (register_check_elements),
8807 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
8809 * gst/elements/gsttypefindelement.c: Fix refcounting.
8810 * gst/gsttypefind.c:
8811 * gst/gsttypefindfactory.c:
8812 * gst/gsttypefindfactory.h:
8814 2005-09-15 David Schleef <ds@schleef.org>
8816 * gst/gstindex.c: get refcounting correct.
8817 * gst/gstregistry.c: Handle the case where a feature/plugin is
8820 2005-09-15 David Schleef <ds@schleef.org>
8822 * check/Makefile.am:
8823 * check/gst/gstplugin.c: Add test
8824 * gst/gstplugin.c: Fix problems noticed by testsuite
8826 * gst/gstregistry.c:
8827 * gst/gstregistry.h:
8829 2005-09-15 David Schleef <ds@schleef.org>
8831 * gst/gstplugin.c: Implement semi-decent recounting and locking
8832 in plugins and plugin features.
8834 * gst/gstpluginfeature.c:
8835 * gst/gstpluginfeature.h:
8836 * gst/gstregistry.c:
8838 2005-09-15 Michael Smith <msmith@fluendo.com>
8840 * gst/gstregistry.c: (gst_registry_get_feature_list):
8841 Implement this. Makes oggdemux work; decodebin still broken.
8843 2005-09-14 David Schleef <ds@schleef.org>
8845 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
8847 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
8848 * gst/check/Makefile.am:
8849 * libs/gst/controller/Makefile.am:
8850 * libs/gst/dataprotocol/Makefile.am:
8852 2005-09-14 David Schleef <ds@schleef.org>
8854 * configure.ac: Remove getbits library. Nothing uses it, and
8855 it should be in something like liboil if someone did want
8857 * libs/gst/Makefile.am:
8858 * libs/gst/getbits/Makefile.am:
8859 * libs/gst/getbits/gbtest.c:
8860 * libs/gst/getbits/getbits.c:
8861 * libs/gst/getbits/getbits.h:
8862 * libs/gst/getbits/gstgetbits_generic.c:
8863 * libs/gst/getbits/gstgetbits_i386.s:
8864 * libs/gst/getbits/gstgetbits_inl.h:
8866 2005-09-14 David Schleef <ds@schleef.org>
8868 * gst/Makefile.am: Dist glib-compat.h
8870 2005-09-14 David Schleef <ds@schleef.org>
8872 * configure.ac: Remove gst/registries, since it's no longer used.
8873 * gst/registries/Makefile.am:
8874 * gst/registries/gstlibxmlregistry.c:
8875 * gst/registries/gstlibxmlregistry.h:
8876 * gst/registries/gstxmlregistry.c:
8877 * gst/registries/gstxmlregistry.h:
8878 * gst/registries/registrytest.c:
8880 2005-09-14 David Schleef <ds@schleef.org>
8882 * gst/glib-compat.h:
8883 * gst/gstregistryxml.c:
8884 Convergence is near. Seriously.
8886 2005-09-14 David Schleef <ds@schleef.org>
8888 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8889 * gst/glib-compat.h:
8890 Attempt #4 to appease the buildbots.
8892 2005-09-14 David Schleef <ds@schleef.org>
8894 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8897 2005-09-14 David Schleef <ds@schleef.org>
8899 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8902 2005-09-14 David Schleef <ds@schleef.org>
8904 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
8907 2005-09-14 David Schleef <ds@schleef.org>
8909 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8910 * gst/glib-compat.h: Add some functions that are in newer versions
8911 of glib than we care to require.
8912 * gst/gstregistryxml.c: Use them.
8914 2005-09-14 David Schleef <ds@schleef.org>
8916 * po/POTFILES.in: remove gst-register.c
8918 2005-09-14 David Schleef <ds@schleef.org>
8920 * docs/gst/gstreamer-docs.sgml:
8921 * docs/gst/gstreamer-sections.txt:
8922 * docs/gst/gstreamer.types:
8923 * docs/gst/tmpl/gstelement.sgml:
8924 * docs/gst/tmpl/gstplugin.sgml:
8925 * docs/gst/tmpl/gstpluginfeature.sgml:
8926 Documentation updates for registry changes.
8928 2005-09-14 David Schleef <ds@schleef.org>
8930 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
8931 because we don't require glib-2.8.
8933 2005-09-14 David Schleef <ds@schleef.org>
8935 * gst/gstregistryxml.c: Added. Essentially moved out of the
8936 registries directory.
8938 2005-09-14 David Schleef <ds@schleef.org>
8940 * check/Makefile.am:
8941 * check/generic/states.c:
8945 * gst/gst_private.h:
8946 * gst/gstelementfactory.c:
8951 * gst/gstpluginfeature.c:
8952 * gst/gstpluginfeature.h:
8953 * gst/gstregistry.c:
8954 * gst/gstregistry.h:
8955 * gst/gstregistrypool.c: remove
8956 * gst/gstregistrypool.h: remove
8957 * gst/gsttypefind.c:
8958 * gst/gsttypefindfactory.c:
8960 * tools/Makefile.am:
8961 * tools/gst-compprep.c:
8962 * tools/gst-inspect.c:
8963 * tools/gst-register.c: remove
8964 * tools/gst-xmlinspect.c:
8965 Registry rewrite. Changes registry from being a file created
8966 by a tool into a simple cache file created automatically by
8967 libgstreamer. Removed gst-register (because it's no longer
8968 needed). Remove registry pools, because we only have one
8969 registry implementation (XML). Fix up other subsystems as
8972 2005-09-13 Michael Smith <msmith@fluendo.com>
8974 * gst/gstconfig.h.in:
8975 Don't Use windows linking attributes for MinGW. Fixes #316157
8977 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
8979 * gst/gstutils.c: (set_state_async_thread_func),
8980 (gst_element_set_state_async):
8981 Apparently people think it's better if this function doesn't
8982 try to set the state to whatever state was asked for on the first
8983 call to this function for any object. Seriously.
8985 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
8987 * check/gst/gstpipeline.c: (GST_START_TEST):
8988 * docs/gst/gstreamer-sections.txt:
8989 * gst/gstutils.c: (set_state_async_thread_func),
8990 (gst_element_set_state_async):
8992 add a "gst_element_set_state_async" method that
8993 sets the state and starts a thread to make sure the state
8994 change completes as best as it can
8996 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
8998 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8999 codify design+behaviour in testsuite after discussion
9001 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
9003 * docs/gst/tmpl/gstelement.sgml:
9004 * docs/manual/appendix-quotes.xml:
9006 * gst/gstelement.c: (gst_element_set_state):
9009 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
9011 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9012 (gst_base_transform_prepare_output_buf),
9013 (gst_base_transform_handle_buffer):
9014 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
9015 (gst_capsfilter_prepare_buf):
9016 Remove the requirement for sub-classes to call the parent
9017 implementation of prepare_output_buffer with a wrapper function.
9020 * gst/gsttagsetter.h:
9023 2005-09-11 Stefan Kost <ensonic@users.sf.net>
9025 * docs/gst/gstreamer-sections.txt:
9028 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
9030 * docs/gst/gstreamer-sections.txt:
9031 * docs/gst/tmpl/gstelement.sgml:
9032 * docs/gst/tmpl/gstplugin.sgml:
9033 * gst/gstminiobject.c:
9035 docs now stop throwing warnings
9037 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
9039 * docs/gst/gstreamer-sections.txt:
9040 * docs/gst/gstreamer.types:
9041 * docs/gst/tmpl/gstpad.sgml:
9042 * docs/gst/tmpl/gsttypes.sgml:
9043 * gst/base/gstadapter.h:
9044 * gst/base/gstbasesink.h:
9045 * gst/base/gstbasesrc.h:
9055 * gst/gststructure.c:
9056 * gst/registries/gstlibxmlregistry.h:
9057 various documentation fixes
9059 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
9061 * docs/gst/gstreamer-sections.txt:
9062 * docs/gst/tmpl/gstvalue.sgml:
9063 rearrange gstvalue section
9064 * gst/gstutils.c: (gst_element_state_get_name):
9066 * gst/gstvalue.c: (_gst_value_initialize):
9070 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
9072 * check/gst-libs/controller.c:
9074 * gst/base/gstbasetransform.c:
9075 (gst_base_transform_default_prepare_buf),
9076 (gst_base_transform_handle_buffer):
9077 * gst/base/gstbasetransform.h:
9078 Some more basetransform changes and fixes to enable sub-classes
9079 that modify buffer metadata only.
9080 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
9081 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
9082 (gst_capsfilter_prepare_buf):
9083 If the output pad has fixed allowed caps and input buffers
9084 don't have any, set the fixed caps on outgoing buffers.
9086 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
9087 * check/elements/identity.c: (GST_START_TEST):
9088 Make the error a little clearer when the test fails because
9089 identity made a copy of the buffer.
9090 * docs/gst/gstreamer-sections.txt:
9091 New symbols in gstbasetransform.h
9092 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9093 (gst_base_transform_init), (gst_base_transform_transform_size),
9094 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9095 (gst_base_transform_default_prepare_buf),
9096 (gst_base_transform_get_unit_size),
9097 (gst_base_transform_buffer_alloc),
9098 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9099 (gst_base_transform_change_state),
9100 (gst_base_transform_set_passthrough),
9101 (gst_base_transform_set_in_place),
9102 (gst_base_transform_is_in_place):
9103 * gst/base/gstbasetransform.h:
9104 Change BaseTransform to separate in_place operate from same_caps
9105 output. in_place implies that the element can perform the transform
9106 on incoming buffers in-place, even if the caps on the output are
9108 Sub-class elements can now implement special buffer allocation
9109 methods for outgoing buffers if they wish to.
9110 Big documentation addition.
9111 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
9112 * gst/elements/gstelements.c:
9113 Changes for basetransform modifications.
9114 * gst/elements/Makefile.am:
9115 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
9116 Compile fix. Extra debug output.
9118 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
9120 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
9122 add tests for valid pad naming
9123 * gst/check/gstcheck.c: (gst_check_log_message_func),
9124 (gst_check_log_critical_func):
9126 remove printing of code, it is fragile when the code contains
9127 % and the line number is enough info
9128 * gst/check/gstcheck.h:
9129 * gst/gstpad.c: (gst_pad_template_new):
9132 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
9135 say what CHECK flags we use
9136 * docs/libs/gstreamer-libs.types:
9137 * libs/gst/controller/Makefile.am:
9138 * libs/gst/controller/gst-controller.c:
9139 * libs/gst/controller/gst-controller.h:
9140 * libs/gst/controller/gst-helper.c:
9141 * libs/gst/controller/gst-interpolation.c:
9142 * libs/gst/controller/gstcontroller.c:
9143 * libs/gst/controller/gsthelper.c:
9144 * libs/gst/controller/gstinterpolation.c:
9145 * tools/gst-inspect.c: (print_plugin_info):
9146 we don't use dashes in header names
9148 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
9150 * check/Makefile.am:
9151 * check/gst/.cvsignore:
9152 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
9153 (gst_pipeline_suite), (main):
9154 adding a test for pipelines and state changes
9155 * gst/gstutils.c: (get_state_func):
9157 * gstreamer.spec.in:
9160 2005-09-08 Michael Smith <msmith@fluendo.com>
9162 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
9163 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
9164 (gst_file_src_is_seekable), (gst_file_src_get_size),
9165 (gst_file_src_start):
9166 * gst/elements/gstfilesrc.h:
9167 Various fixes for unseekable, unmmapable, and non-normal files, so
9168 that fallback to read() rather than mmap() works.
9169 * gst/gstevent.c: (gst_event_new_newsegment):
9170 Allow newsegment events with segment_start == segment_end, as will
9171 correctly happen if you use filesrc on a zero-size file, for
9174 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
9176 * gst/gstplugin.c: (gst_plugin_load_file):
9177 Call g_module_close when we don't load the module
9179 * gst/registries/gstlibxmlregistry.c:
9180 (gst_xml_registry_get_property):
9181 Port leak fix from 0.8
9183 2005-09-07 Stefan Kost <ensonic@users.sf.net>
9185 * docs/gst/gstreamer-docs.sgml:
9186 * docs/gst/tmpl/.cvsignore:
9187 * docs/gst/tmpl/gsttrace.sgml:
9188 * docs/gst/tmpl/gsttrashstack.sgml:
9197 * gst/gsttaginterface.c:
9198 * gst/gsttaginterface.h:
9201 * gst/gsttagsetter.c:
9202 * gst/gsttagsetter.h:
9205 * gst/gsttrashstack.c:
9206 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
9207 inlined docs for gsttrace, gsttrashstack
9209 2005-09-07 Stefan Kost <ensonic@users.sf.net>
9212 * gst/elements/gstbufferstore.h:
9213 * gst/elements/gsttypefindelement.c:
9214 * gst/elements/gsttypefindelement.h:
9216 * gst/gsttypefind.c:
9217 * gst/gsttypefind.h:
9218 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
9219 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
9220 (gst_type_find_factory_dispose),
9221 (gst_type_find_factory_unload_thyself),
9222 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
9223 (gst_type_find_factory_get_caps),
9224 (gst_type_find_factory_get_extensions),
9225 (gst_type_find_factory_call_function):
9226 * gst/gsttypefindfactory.h:
9227 * gst/registries/gstlibxmlregistry.c:
9228 * gst/registries/gstxmlregistry.c:
9229 splitted gsttypefind into gsttypefind, gsttypefindfactory
9231 2005-09-07 Andy Wingo <wingo@pobox.com>
9233 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
9234 condition whereby the pad's task function is entered before the
9235 pad_mode variable was set.
9237 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
9239 * gst/gstpad.c: (gst_pad_alloc_buffer):
9240 Catch misbehaving pad_alloc functions that don't
9241 set up caps and do it for them.
9243 2005-09-07 Stefan Kost <ensonic@users.sf.net>
9245 * check/pipelines/simple_launch_lines.c: (run_pipeline):
9247 * docs/gst/tmpl/.cvsignore:
9248 * docs/gst/tmpl/gstmemchunk.sgml:
9249 * docs/gst/tmpl/gstparse.sgml:
9250 * docs/gst/tmpl/gsttaglist.sgml:
9251 * docs/gst/tmpl/gsttagsetter.sgml:
9252 * docs/gst/tmpl/gsttypefind.sgml:
9253 * docs/gst/tmpl/gsttypefindfactory.sgml:
9254 * gst/gstmemchunk.c:
9257 * gst/gsttaginterface.c:
9258 * gst/gsttypefind.c:
9259 * gst/gsttypefind.h:
9262 === release 0.9.2 ===
9264 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
9269 releasing 0.9.2, "South"
9271 2005-09-05 Andy Wingo <wingo@pobox.com>
9273 * gst/registries/gstxmlregistry.h:
9274 * gst/registries/gstxmlregistry.c: Um... resurrect...
9276 * gst/registries/gstxmlregistry.h:
9277 * gst/registries/gstxmlregistry.c: and update to newer API.
9278 Incidentally they should be a bit faster now that they don't have
9281 2005-09-05 Andy Wingo <wingo@pobox.com>
9283 * gst/registries/gstxmlregistry.h:
9284 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
9285 replaced by the libxml registry a while back
9287 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
9289 * docs/gst/tmpl/gstplugin.sgml:
9290 * gst/elements/gstelements.c:
9292 * gst/gstplugin.c: (gst_plugin_register_func),
9293 (gst_plugin_desc_copy), (gst_plugin_desc_free),
9294 (gst_plugin_get_source):
9296 * gst/registries/gstlibxmlregistry.c: (load_plugin),
9297 (gst_xml_registry_save_plugin):
9298 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
9299 (gst_xml_registry_save_plugin):
9300 * tools/gst-inspect.c: (print_plugin_info):
9301 add a "source" plugin description field, to represent the source
9302 module this plugin is a part of. By default GST_PLUGIN_DEFINE
9303 will set it to PACKAGE, which is automake's idea of the name of
9306 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
9312 * docs/faq/Makefile.am:
9313 * docs/gst/tmpl/gstelement.sgml:
9314 * docs/gst/tmpl/gsttypes.sgml:
9315 * docs/htmlinstall.mak:
9316 * docs/manual/Makefile.am:
9317 * docs/pwg/Makefile.am:
9318 reorganize doc build a little
9319 split out docbook and gtk-doc stuff
9320 have two separate --enable's and enable them through autogen
9321 but disable by default in configure (to be similar to other
9323 * gstreamer.spec.in:
9324 clean up docs install
9344 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
9346 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
9349 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
9350 (gst_fake_sink_change_state):
9351 Make state change function thread-safe.
9353 * gst/gstpad.c: (gst_pad_alloc_buffer):
9354 Set offset on generic buffer allocated by fallback.
9356 2005-09-03 Stefan Kost <ensonic@users.sf.net>
9358 * docs/gst/gstreamer-sections.txt:
9359 * docs/gst/tmpl/gstelement.sgml:
9361 * libs/gst/controller/gst-controller.c:
9362 (gst_controlled_property_set_interpolation_mode),
9363 (gst_controlled_property_new),
9364 (gst_controller_find_controlled_property):
9365 run the wingo-magic script against the docs
9367 2005-09-02 Stefan Kost <ensonic@users.sf.net>
9369 * docs/gst/gstreamer-docs.sgml:
9370 * docs/gst/gstreamer-sections.txt:
9371 * docs/gst/tmpl/.cvsignore:
9372 * docs/gst/tmpl/gstelementdetails.sgml:
9373 * docs/gst/tmpl/gstelementfactory.sgml:
9376 * gst/gstelementfactory.c:
9377 * gst/gstelementfactory.h:
9378 merged elementdetails docs into elementfactory docs
9381 2005-09-02 Andy Wingo <wingo@pobox.com>
9383 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
9384 consider this enum an enum and not a flags.
9386 2005-09-02 Stefan Kost <ensonic@users.sf.net>
9388 * docs/gst/gstreamer-docs.sgml:
9389 * docs/gst/tmpl/.cvsignore:
9390 * docs/gst/tmpl/gstghostpad.sgml:
9391 * docs/gst/tmpl/gstiterator.sgml:
9392 * docs/gst/tmpl/gstmacros.sgml:
9393 * docs/gst/tmpl/gstrealpad.sgml:
9394 * docs/gst/tmpl/gstregistry.sgml:
9395 * docs/gst/tmpl/gstregistrypool.sgml:
9396 * docs/gst/tmpl/gststructure.sgml:
9397 * docs/gst/tmpl/gstsystemclock.sgml:
9398 * docs/gst/tmpl/gsttrace.sgml:
9399 * gst/gstghostpad.c:
9401 * gst/gstmemchunk.c:
9402 * gst/gstmemchunk.h:
9404 * gst/gstregistry.c:
9405 * gst/gstregistrypool.c:
9406 * gst/gststructure.c:
9407 * gst/gstsystemclock.c:
9410 2005-09-02 Andy Wingo <wingo@pobox.com>
9412 * gst/gstelement.h (GstState): Renamed from GstElementState,
9413 changed to be a normal enum instead of flags.
9414 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
9415 munged to be GST_STATE_CHANGE_*.
9416 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
9417 work with the new state representation.
9418 (GstStateChange): New enumeration of possible state transitions.
9419 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
9420 (GstElementClass::change_state): Pass the GstStateChange along as
9421 an argument. Helps language bindings, so they don't have to use
9422 tricky lock-needing macros like GST_STATE_CHANGE ().
9424 * scripts/update-states (file): New script. Run it on a file to
9425 update it for state naming and API changes. Updates files in
9428 * All files updated for the new API.
9430 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
9432 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
9433 * gst/gstutils.c: (gst_util_set_value_from_string),
9434 (gst_util_set_object_arg):
9435 fix a bunch of unchecked return values
9436 * tools/gst-complete.c: (main):
9437 * gstreamer.spec.in:
9440 2005-09-01 Wim Taymans <wim@fluendo.com>
9442 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9443 (gst_base_sink_event), (gst_base_sink_do_sync),
9444 (gst_base_sink_handle_event):
9445 * gst/base/gstbasesink.h:
9446 Handle newsegments more correctly.
9451 * gst/gstevent.c: (gst_event_new_newsegment):
9452 A newsegment cannot have a start_time of -1
9454 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
9456 * win32/gstenumtypes.c:
9457 * win32/gstenumtypes.h:
9460 2005-08-31 Stefan Kost <ensonic@users.sf.net>
9462 * libs/gst/controller/gst-controller.c:
9463 (gst_controlled_property_set_interpolation_mode),
9464 (gst_controlled_property_new):
9467 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
9469 * docs/faq/gst-uninstalled:
9474 * gst/gstutils.c: (gst_element_link_filtered):
9476 add gst_element_link_filtered
9478 2005-08-31 Stefan Kost <ensonic@users.sf.net>
9480 * docs/gst/gstreamer-docs.sgml:
9481 * docs/gst/gstreamer-sections.txt:
9482 * docs/gst/tmpl/.cvsignore:
9483 * docs/gst/tmpl/gsterror.sgml:
9484 * docs/gst/tmpl/gstfilter.sgml:
9485 * docs/gst/tmpl/gsturihandler.sgml:
9486 * docs/gst/tmpl/gsturitype.sgml:
9487 * docs/gst/tmpl/gstutils.sgml:
9488 * docs/gst/tmpl/gstxml.sgml:
9496 inlined more docs, fixed double id-ref
9498 2005-08-31 Wim Taymans <wim@fluendo.com>
9500 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9501 (gst_base_transform_handle_buffer):
9502 Passthrough elements don't need the caps as they don't care.
9504 2005-08-31 Wim Taymans <wim@fluendo.com>
9506 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9507 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
9508 Don't leak refcounts on buffers.
9510 2005-08-31 Wim Taymans <wim@fluendo.com>
9512 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
9513 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
9514 (gst_base_transform_chain), (gst_base_transform_change_state):
9515 * gst/base/gstbasetransform.h:
9516 Handle the case where we are not negotiated more gracefully.
9518 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
9520 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
9521 (gst_file_src_map_region):
9522 Set READONLY flag on mmap'ed buffers, otherwise
9523 gst_buffer_make_writable() won't work properly (#314708).
9525 2005-08-31 Wim Taymans <wim@fluendo.com>
9527 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
9528 passthrough elements can even do inplace on non writable
9529 buffers (as they don't touch them).
9531 2005-08-31 Stefan Kost <ensonic@users.sf.net>
9533 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9534 (gst_test_mono_source_set_property),
9535 (gst_test_mono_source_class_init), (GST_START_TEST),
9536 (gst_controller_suite):
9537 more tests (hehe I have the most)
9539 describe popping messages whenusing mulltiple sources
9540 * libs/gst/controller/gst-controller.c:
9541 (gst_controlled_property_set_interpolation_mode),
9542 (gst_controlled_property_new):
9543 * libs/gst/controller/gst-controller.h:
9544 * libs/gst/controller/gst-interpolation.c:
9545 implement boolean properties
9547 2005-08-31 Wim Taymans <wim@fluendo.com>
9549 * gst/gstminiobject.c: (gst_mini_object_ref):
9550 Cannot assert that the refcount has to be positive
9551 since a disposed object can be resurrected.
9553 2005-08-31 Wim Taymans <wim@fluendo.com>
9555 * gst/gstpad.c: (gst_pad_init):
9556 Revert change, need to first fix badly behaving
9559 2005-08-30 Wim Taymans <wim@fluendo.com>
9561 * check/elements/fakesrc.c: (setup_fakesrc):
9562 * check/elements/identity.c: (setup_identity):
9563 Activate pads before using them.
9565 2005-08-30 Wim Taymans <wim@fluendo.com>
9567 * gst/base/gstadapter.c: (gst_adapter_flush):
9568 Flushing out 0 bytes is ok for this function.
9570 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9571 no newsegment gives a warning and sets the start/stop to
9574 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
9575 (gst_base_transform_set_passthrough):
9578 * gst/gstminiobject.c: (gst_mini_object_ref):
9579 Check refcount here too.
9581 * gst/gstpad.c: (gst_pad_init):
9582 Pads are initially flushing and refusing data.
9584 * gst/gstutils.c: (gst_element_link_pads_filtered):
9585 When adding a capsfilter element make sure it has the
9586 same state as the parent bin.
9588 2005-08-30 Stefan Kost <ensonic@users.sf.net>
9590 * docs/gst/tmpl/.cvsignore:
9591 * docs/gst/tmpl/gstformat.sgml:
9592 * docs/gst/tmpl/gstversion.sgml:
9596 * gst/gstversion.h.in:
9597 more docs and two more inlined
9599 2005-08-30 Wim Taymans <wim@fluendo.com>
9601 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
9602 Don't sync to clock.
9604 2005-08-30 Stefan Kost <ensonic@users.sf.net>
9606 * docs/gst/gstreamer-sections.txt:
9607 ultral33t func10ns deserve to appear in the docs actually
9608 * docs/gst/tmpl/.cvsignore:
9609 * docs/gst/tmpl/gstcompat.sgml:
9610 * docs/gst/tmpl/gstconfig.sgml:
9611 * gst/check/gstcheck.c:
9613 * gst/gstconfig.h.in:
9616 2005-08-30 Stefan Kost <ensonic@users.sf.net>
9618 * docs/gst/tmpl/.cvsignore:
9619 * docs/gst/tmpl/gstquery.sgml:
9620 * docs/gst/tmpl/gstutils.sgml:
9623 inlined and extended docs
9625 2005-08-30 Stefan Kost <ensonic@users.sf.net>
9627 * check/gst-libs/controller.c: (GST_START_TEST),
9628 (gst_controller_suite):
9630 * docs/gst/tmpl/gstutils.sgml:
9631 * docs/libs/gstreamer-libs-sections.txt:
9632 * docs/libs/tmpl/gstdataprotocol.sgml:
9634 * examples/controller/audio-example.c: (main):
9635 controller example works now
9638 * tools/gst-inspect.c: (print_element_properties_info):
9639 show param spec flags
9641 2005-08-29 Andy Wingo <wingo@pobox.com>
9643 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
9645 2005-08-28 Andy Wingo <wingo@pobox.com>
9647 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
9648 as having two arguments instead of just one. Allows superclasses
9649 to access information on subclasses -- see the terrible for() loop
9650 in gtype.c:g_type_create_instance for the reason why. All callers
9653 2005-08-27 Stefan Kost <ensonic@users.sf.net>
9655 * docs/design/part-messages.txt:
9657 * docs/gst/tmpl/.cvsignore:
9658 * docs/gst/tmpl/gstcaps.sgml:
9659 * docs/gst/tmpl/gstclock.sgml:
9666 added descriptions for bus and message
9667 inline caps and clock docs
9669 2005-08-27 Stefan Kost <ensonic@users.sf.net>
9675 2005-08-27 Stefan Kost <ensonic@users.sf.net>
9677 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9680 2005-08-26 Andy Wingo <wingo@pobox.com>
9682 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
9683 element_set_state's return val.
9684 (test_2_elements): Add test that's been disabled for months.
9686 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
9687 can-activate-pull properties.
9689 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
9690 can-activate-pull properties. Implement is_seekable so fakesrc can
9691 operate in pull mode.
9693 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
9695 (gst_base_sink_activate, gst_base_sink_activate_pull)
9696 (gst_base_sink_activate_push): Make activation mode choosing work.
9698 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
9699 is right. Make pull mode work. Post an eos before pausing in pull
9701 (gst_base_sink_change_state): Pay attention to the core's
9702 change_state() return val.
9704 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
9705 has-getrange properties. Cleanups.
9707 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
9708 has_getrange and replace with can_activate_pull and
9711 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
9712 locking comments. Remove has_loop, has_chain and replace with
9713 can_activate_pull and can_activate_push.
9715 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
9718 * examples/Makefile.am:
9719 * examples/metadata/Makefile.am:
9720 * examples/metadata/read-metadata.c: (message_loop),
9721 (have_pad_handler), (make_pipeline), (print_tag), (main):
9722 Add metadata reading example that loops over a list of filenames,
9723 dumping any tags found.
9725 * gst/gstbus.c: (gst_bus_dispose):
9726 * gst/gstelement.c: (gst_element_dispose):
9727 Release a few potentially-held references in dispose.
9729 2005-08-26 Stefan Kost <ensonic@users.sf.net>
9731 * docs/gst/tmpl/gstminiobject.sgml:
9732 do *not* add tmpl/*.sgml files to CVS!
9734 2005-08-26 Stefan Kost <ensonic@users.sf.net>
9736 * libs/gst/bytestream/.cvsignore:
9737 * libs/gst/bytestream/Makefile.am:
9738 * libs/gst/bytestream/adapter.c:
9739 * libs/gst/bytestream/adapter.h:
9740 * libs/gst/bytestream/bytestream.c:
9741 * libs/gst/bytestream/bytestream.h:
9742 * libs/gst/bytestream/filepad.c:
9743 * libs/gst/bytestream/filepad.h:
9744 removing obsolete files
9746 2005-08-26 Stefan Kost <ensonic@users.sf.net>
9748 * docs/gst/gstreamer-docs.sgml:
9749 * docs/libs/gstreamer-libs-docs.sgml:
9750 disabed additional index entries again, as this makes docs-gen just
9751 slow and they aren't useful yet
9752 * docs/libs/gstreamer-libs-sections.txt:
9753 little -section.txt cleanup for libs
9755 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
9757 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9758 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
9759 fix up some debugging
9760 (gst_base_transform_get_unit_size),
9761 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9762 (gst_base_transform_handle_buffer):
9763 * gst/base/gstbasetransform.h:
9764 handle and store timed NEWSEGMENT events so that subclasses that
9765 calculate time by counting samples have a segment_start time they
9766 need to add to their timestamps - see audioresample
9768 2005-08-26 Stefan Kost <ensonic@users.sf.net>
9771 removed ';' from the end of macro defs
9772 * docs/gst/gstreamer-docs.sgml:
9773 * docs/gst/gstreamer-sections.txt:
9774 * docs/gst/tmpl/.cvsignore:
9776 * gst/gstelement.c: (gst_element_class_init),
9777 (gst_element_set_state), (activate_pads),
9778 (gst_element_save_thyself):
9779 * gst/gstevent.c: (gst_event_new_newsegment):
9781 * gst/gstiterator.c:
9782 * gst/gstiterator.h:
9785 * gst/gstutils.c: (gst_pad_query_convert):
9787 fixed parameter name mismatches between source, header and docs
9788 added some more docs, resolved the last batch of unused elements in
9789 docs (now someone needs to doc them)
9791 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
9793 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
9794 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
9795 don't walk through the plugins backwards. Where is all this
9796 reversed logic coming from ?
9798 2005-08-25 Wim Taymans <wim@fluendo.com>
9800 * gst/base/gstbasetransform.c: (gst_base_transform_init),
9801 (gst_base_transform_transform_size),
9802 (gst_base_transform_configure_caps),
9803 (gst_base_transform_get_unit_size),
9804 (gst_base_transform_buffer_alloc),
9805 (gst_base_transform_change_state):
9806 * gst/base/gstbasetransform.h:
9807 Cache caps unit_size.
9808 Make sure we cannot negotiate up and downstream at the
9811 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
9813 * gst/gst.c: (init_pre), (init_post):
9814 register the installed plugin path after the env var
9815 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
9816 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
9817 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
9818 directories, so the tests can prefer uninstalled over installed
9820 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
9822 * gst/base/gstbasetransform.h:
9827 2005-08-25 Wim Taymans <wim@fluendo.com>
9829 * gst/gstbin.c: (bin_bus_handler):
9830 Be a bit more conservative about the posted message.
9832 * gst/gstbus.c: (gst_bus_post):
9833 Some cleanups, warn wrong return values.
9835 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
9837 * check/gst/gstbin.c: (GST_START_TEST):
9838 * gst/gstbin.c: (bin_bus_handler):
9839 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9840 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9841 (gst_message_new_warning), (gst_message_new_tag),
9842 (gst_message_new_state_changed), (gst_message_new_segment_start),
9843 (gst_message_new_segment_done), (gst_message_new_custom):
9845 * tools/gst-launch.c: (event_loop):
9846 * tools/gst-md5sum.c: (event_loop):
9847 Revert unpopular change for GST_MESSAGE_SRC to GObject.
9849 2005-08-25 Wim Taymans <wim@fluendo.com>
9851 * check/generic/states.c: (GST_START_TEST):
9852 Cleanup can be done at the end.
9854 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
9855 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9856 (gst_task_get_state), (gst_task_start), (gst_task_pause):
9857 Oh boy.. Thanks for finding this, Thomas.
9859 2005-08-25 Stefan Kost <ensonic@users.sf.net>
9861 * docs/gst/gstreamer.types:
9864 2005-08-25 Stefan Kost <ensonic@users.sf.net>
9866 * docs/gst/gstreamer-docs.sgml:
9867 * docs/gst/gstreamer-sections.txt:
9868 * docs/gst/tmpl/.cvsignore:
9870 * gst/gstiterator.c:
9872 * gst/registries/gstxmlregistry.h:
9873 added missing classes and symbols (123 more to go)
9874 removed removed symbols from section file
9875 fixed many doc-comments
9877 2005-08-24 Wim Taymans <wim@fluendo.com>
9879 * check/generic/states.c: (GST_START_TEST):
9880 Make sure all tasks are stopped.
9882 * check/gst/gstbin.c: (GST_START_TEST):
9883 Unref after usage for proper valgrinding.
9885 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
9886 Really wait for the task to stop before destroying the
9889 * gst/gstqueue.c: (gst_queue_sink_activate_push),
9890 (gst_queue_src_activate_push):
9891 Small cleanups. Don't stop the task when we did not start
9894 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
9895 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9896 (gst_task_get_state), (gst_task_start), (gst_task_pause),
9899 Protect the stream lock with the object lock.
9900 Disallow setting the stream lock when running.
9901 Add cleanup_all to wait for the threadpool to finish.
9902 Remove code to autoallocate a mutex if none was provided.
9903 Add _join() to wait for a task to stop.
9904 Protect the thread pool with a global lock.
9906 2005-08-24 Wim Taymans <wim@fluendo.com>
9908 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9909 (gst_base_sink_get_times), (gst_base_sink_do_sync),
9910 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
9911 * gst/base/gstbasesink.h:
9912 Handle newsegment events correctly.
9913 Drop buffers out of the segment range.
9915 2005-08-22 Andy Wingo <wingo@pobox.com>
9917 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
9918 macro, implements an interface and gstimplementsinterface for a
9921 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
9923 * check/Makefile.am:
9924 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
9925 add a test that does a bunch of state changes on elements
9926 needs some fixing for valgrind
9927 * check/states/sinks.c: (gst_object_suite):
9930 add prototype for gst_caps_is_equal_fixed
9932 * gst/gstregistrypool.c:
9935 2005-08-24 Andy Wingo <wingo@pobox.com>
9937 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
9938 convert a negative value. Doesn't make much sense. Mostly this is
9939 here to force callers to ensure -1 maps to -1.
9941 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
9943 * docs/pwg/advanced-types.xml:
9944 Well done to Michael for catching my deliberate introduction
9945 of this spelling mistake.
9946 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
9948 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
9949 unlink pads before removing the element from the bin.
9951 2005-08-24 Andy Wingo <wingo@pobox.com>
9953 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
9954 the same thing as GST_DEBUG=*:4.
9955 (parse_debug_level, parse_debug_category): New helper parsers.
9957 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
9959 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9960 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
9961 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
9962 (gst_base_transform_buffer_alloc),
9963 (gst_base_transform_handle_buffer):
9964 use gboolean return values and pointers to size so we can use the
9965 full GST_BUFFER_SIZE range (guint) for buffer sizes
9966 use GstPadDirection for transform_caps
9967 * gst/base/gstbasetransform.h:
9968 rename get_size to get_unit_size since that's what it is
9969 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
9970 use GstPadDirection for transform_caps
9971 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9973 cleanup and debugging
9975 2005-08-24 Stefan Kost <ensonic@users.sf.net>
9977 * gst/gstelement.c: (gst_element_class_init),
9978 (gst_element_set_state), (activate_pads),
9979 (gst_element_save_thyself):
9980 * tools/gst-compprep.c: (main):
9981 * tools/gst-inspect.c: (print_element_properties_info):
9982 * tools/gst-xmlinspect.c: (print_element_properties):
9983 Fixed long standing mem-leak
9985 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
9987 * check/gst/gstbin.c: (GST_START_TEST):
9988 * gst/gstbin.c: (bin_bus_handler):
9989 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9990 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9991 (gst_message_new_warning), (gst_message_new_tag),
9992 (gst_message_new_state_changed), (gst_message_new_segment_start),
9993 (gst_message_new_segment_done), (gst_message_new_custom):
9995 * tools/gst-launch.c: (event_loop):
9996 * tools/gst-md5sum.c: (event_loop):
9997 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
9998 that applications can sensibly post custom messages with references
9999 to their own objects.
10001 2005-08-24 Andy Wingo <wingo@pobox.com>
10003 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
10006 2005-08-24 Wim Taymans <wim@fluendo.com>
10008 * gst/base/gstbasetransform.c: (gst_base_transform_init),
10009 (gst_base_transform_transform_caps),
10010 (gst_base_transform_transform_size),
10011 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10012 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10013 (gst_base_transform_handle_buffer):
10014 * gst/base/gstbasetransform.h:
10015 Many fixes and new features added by Thomas. Can now also do
10016 transforms with variable sizes and a custom fixate_caps function.
10018 2005-08-24 Wim Taymans <wim@fluendo.com>
10020 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10024 Cast to ClockTime before formatting to time.
10029 2005-08-24 Stefan Kost <ensonic@users.sf.net>
10031 * check/gst-libs/controller.c: (GST_START_TEST),
10032 (gst_controller_suite):
10033 * docs/gst/tmpl/gstcaps.sgml:
10034 * docs/gst/tmpl/gstghostpad.sgml:
10035 * docs/gst/tmpl/gstquery.sgml:
10036 * docs/gst/tmpl/gstutils.sgml:
10037 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
10038 (gst_object_sink_values), (gst_object_get_value_arrays),
10039 (gst_object_get_value_array):
10040 gracefully handle helper method calls to objects that are not beeing
10041 controlled, added test case for that
10043 2005-08-23 Wim Taymans <wim@fluendo.com>
10045 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
10046 (gst_event_new_newsegment), (gst_event_parse_newsegment),
10047 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
10048 (gst_event_parse_qos), (gst_event_new_seek),
10049 (gst_event_parse_seek):
10051 Some more debugging output and doc cleanups.
10053 * gst/gstqueue.c: (gst_queue_handle_sink_event):
10054 Fix possible deadlock.
10056 2005-08-23 Stefan Kost <ensonic@users.sf.net>
10058 * docs/gst/gstreamer-docs.sgml:
10059 * docs/gst/gstreamer-sections.txt:
10060 * docs/gst/gstreamer.types:
10061 * docs/gst/tmpl/.cvsignore:
10064 * gst/gstelement.c:
10066 added 100 symbols from gstreamer-unused.txt to the right sections
10067 fixed more broken comments
10068 added GstBus to docs
10070 2005-08-23 Stefan Kost <ensonic@users.sf.net>
10072 * docs/gst/gstreamer-sections.txt:
10073 * docs/gst/tmpl/.cvsignore:
10074 * docs/gst/tmpl/gstbin.sgml:
10075 * docs/gst/tmpl/gstbuffer.sgml:
10076 * gst/base/gstbasesrc.c:
10077 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
10080 * tools/gst-launch.1.in:
10081 inlined more doc comments, added missing comments and fixed comments
10084 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
10086 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
10090 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
10092 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
10093 * gst/gststructure.h:
10094 add a fixate function for booleans; add a FIXME that these func
10095 names should probably be gst_structure_fixate_*
10097 2005-08-23 Stefan Kost <ensonic@users.sf.net>
10099 * docs/gst/gstreamer-docs.sgml:
10100 * docs/gst/gstreamer-sections.txt:
10102 * gst/gstbin.c: (gst_bin_get_type),
10103 (gst_bin_child_proxy_get_child_by_index),
10104 (gst_bin_child_proxy_get_children_count),
10105 (gst_bin_child_proxy_init):
10106 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10107 (gst_child_proxy_get_child_by_index),
10108 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
10109 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
10110 (gst_child_proxy_get), (gst_child_proxy_set_property),
10111 (gst_child_proxy_set_valist), (gst_child_proxy_set),
10112 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
10113 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
10114 * gst/gstchildproxy.h:
10115 * gst/parse/grammar.y:
10116 * tools/gst-inspect.c: (print_interfaces),
10117 (print_element_properties_info), (print_element_info):
10118 ported gstchildproxy over from 0.8
10119 ported gst-inspect fixes and enhancements over from 0.8
10121 2005-08-22 Wim Taymans <wim@fluendo.com>
10123 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10124 (gst_base_transform_handle_buffer):
10125 Also call the transform function if we have ANY caps.
10127 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
10130 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
10132 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
10133 Don't pretend to handle seek events if the source is not seekable
10135 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
10137 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10138 Remove extra parameter to debug output
10140 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10141 (gst_base_src_do_seek), (gst_base_src_activate_push):
10142 Fix seek event handling.
10144 * gst/gstpipeline.c: (gst_pipeline_change_state):
10145 * gst/gstqueue.c: (gst_queue_handle_sink_event),
10146 (gst_queue_src_activate_push):
10147 Don't start the src pad task on FLUSH_STOP if the pad
10151 2005-08-22 Wim Taymans <wim@fluendo.com>
10153 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10154 Added check for gst_static_caps_get() refcounting.
10156 2005-08-22 Wim Taymans <wim@fluendo.com>
10158 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
10159 Make _static_caps_get() refcounting sane.
10161 * gst/gstelement.c: (gst_element_set_state):
10162 Add g_return_val_if_fail() to protect against segfaults.
10164 2005-08-22 Stefan Kost <ensonic@users.sf.net>
10166 * docs/gst/tmpl/gstevent.sgml:
10169 inlined remaining docs, added missing doc comments
10171 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
10173 * check/gst/gstbin.c: (GST_START_TEST):
10174 since we don't know when preroll is done, use refcount range
10176 * gst/check/gstcheck.h:
10177 add macro for checking refcount range
10179 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
10181 * check/Makefile.am:
10182 clean up environment for when registry gets built versus
10183 when actual tests are run; valgrind seems to not report
10184 leaks if GST_PLUGIN_PATH is set to some specific values
10185 * check/gst/gstbin.c: (GST_START_TEST):
10186 add more refcounting checks; maybe this exposes a
10188 * common/check.mak:
10189 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10190 * gst/check/gstcheck.h:
10191 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
10192 (gst_bin_change_state):
10193 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
10194 add/fix debugging/whitespace
10196 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
10198 * check/gst/gstevent.c: (event_probe), (test_event),
10200 Er, don't call gst_bin_watch_for_state_change you idiot.
10202 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
10204 * check/Makefile.am:
10205 Use CHECK_CFLAGS and CHECK_LIBS
10206 * check/gst/gstevent.c: (event_probe), (test_event),
10209 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10210 (gst_base_src_start), (gst_base_src_stop),
10211 (gst_base_src_activate_push), (gst_base_src_activate_pull),
10212 (gst_base_src_change_state):
10213 Sprinkle gst_base_src_stop liberally around error paths to fix
10214 problems reusing a source after failed state changes.
10215 * gst/base/gsttypefindhelper.c: (helper_find_peek),
10216 (helper_find_suggest), (gst_type_find_helper):
10217 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
10219 * docs/gst/tmpl/gstevent.sgml:
10220 Migrate part of the docs from the SGML file. Wait for ensonic to
10221 tell me how I did it wrong ;)
10222 * tools/gst-typefind.c: (main):
10223 Extra robustness to state changes between files.
10225 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
10227 * check/Makefile.am:
10228 don't valgrind the controller test - it's leaking - Stefan, HELP
10229 * gst/check/gstcheck.c: (gst_check_message_error),
10230 (gst_check_chain_func), (gst_check_setup_element),
10231 (gst_check_teardown_element), (gst_check_setup_src_pad),
10232 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10233 (gst_check_teardown_sink_pad):
10234 * gst/check/gstcheck.h:
10235 add a bunch of methods to set up elements, and src and sink pads
10236 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
10237 * check/elements/identity.c: (setup_identity), (cleanup_identity),
10240 * gst/gstmessage.c:
10242 whitespace/doc fixes
10244 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
10246 * gst/gstelement.h:
10247 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
10248 be handled by the application and not always printed as well
10250 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
10252 * check/Makefile.am:
10254 * gst/check/gstcheck.c: (gst_check_message_error):
10255 * gst/check/gstcheck.h:
10256 add a fail_unless_equals_int
10257 add fail_unless for error messages
10259 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
10261 * check/Makefile.am:
10263 * common/Makefile.am:
10264 * common/check.mak:
10266 factor out some of the common stuff so we can use it
10268 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
10270 * check/Makefile.am:
10271 * check/gst/gstiterator.c: (GST_START_TEST):
10272 * check/gst/gstsystemclock.c: (GST_START_TEST),
10273 (gst_systemclock_suite):
10274 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10276 valgrind more tests
10278 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
10280 * check/elements/.cvsignore:
10281 * check/elements/gstfakesrc.c:
10282 rename to name of element
10283 * check/elements/identity.c: (chain_func), (event_func),
10284 (setup_identity), (cleanup_identity), (GST_START_TEST),
10285 (identity_suite), (main):
10286 add a test for identity
10287 * check/Makefile.am:
10288 * pkgconfig/Makefile.am:
10289 * pkgconfig/gstreamer-check.pc.in:
10290 * pkgconfig/gstreamer-check-uninstalled.pc.in:
10294 move the check stuff to a library that gets installed
10295 * check/gst-libs/controller.c: (GST_START_TEST):
10296 * check/gst-libs/gdp.c:
10297 * check/gst/gst.c: (GST_START_TEST):
10298 * check/gst/gstbin.c:
10299 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10300 * check/gst/gstbus.c:
10301 * check/gst/gstcaps.c: (GST_START_TEST):
10302 * check/gst/gstelement.c:
10303 * check/gst/gstghostpad.c:
10304 * check/gst/gstiterator.c:
10305 * check/gst/gstmessage.c:
10306 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
10307 * check/gst/gstobject.c:
10308 * check/gst/gstpad.c: (GST_START_TEST):
10309 * check/gst/gststructure.c: (GST_START_TEST):
10310 * check/gst/gstsystemclock.c: (GST_START_TEST),
10311 (gst_systemclock_suite):
10312 * check/gst/gsttag.c: (gst_tag_suite):
10313 * check/gst/gstvalue.c:
10314 * check/pipelines/cleanup.c:
10315 * check/pipelines/simple_launch_lines.c:
10316 * check/states/sinks.c:
10317 change include statement
10319 * docs/gst/gstreamer-sections.txt:
10320 * docs/gst/tmpl/gstpad.sgml:
10321 document more pad stuff
10322 * gst/gstminiobject.c: (gst_mini_object_ref),
10323 (gst_mini_object_unref):
10326 2005-08-19 Stefan Kost <ensonic@users.sf.net>
10328 * docs/gst/tmpl/gst.sgml:
10330 eliminate another tmpl file, fix spelling in the long-description
10332 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
10334 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10335 (test_event), (timediff), (gstevents_suite):
10336 Should fix build on 64-bit arch's
10338 2005-08-18 Andy Wingo <wingo@pobox.com>
10340 Make sure that when a pipeline goes to PLAYING, that data has
10341 actually hit the sink.
10343 * check/states/sinks.c (test_sink): A sink that doesn't get any
10344 data shouldn't return SUCCESS for going to either PLAYING or
10345 PAUSED. Test also the return values on the way back down.
10347 * gst/gstelement.c (gst_element_set_state): When changing the
10348 state of an element currently changing state asynchronously, go to
10349 lost-state after commiting the pending state. Makes future calls
10350 to get_state continue to return ASYNC.
10352 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
10353 ASYNC when going to PLAYING if we still don't have preroll, as can
10354 happen with live sources.
10356 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
10358 * docs/pwg/advanced-types.xml:
10359 Hack long paragraph into 2 chunks as a workaround for buggy
10360 jadetex version in sid and breezy that loops infinitely and
10363 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
10365 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10366 (test_event), (timediff), (gstevents_suite):
10367 Provide more error margin in clock measurements to allow for
10368 g_get_current_time inaccuracies.
10370 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
10372 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10373 (test_event), (timediff), (gstevents_suite):
10374 Fix error message output so I might be able to tell why the
10375 test works here but fails on the build farm.
10377 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
10379 * check/Makefile.am:
10380 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
10381 (test_event), (timediff), (gstevents_suite), (main):
10384 * docs/design/part-seeking.txt:
10385 Spelling correction
10387 * docs/gst/tmpl/gstevent.sgml:
10388 * docs/gst/tmpl/gstfakesrc.sgml:
10391 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10392 Treat a buffer-without-newsegment the same as a receiving
10393 a newsegment not in time format, and disable syncing to the clock
10396 * gst/gstbus.c: (gst_bus_set_sync_handler):
10397 Assert if anyone tries to replace the existing sync_handler for bus,
10398 as only the owner should be setting it.
10401 Have a fixed set of custom event enums with events identified by
10402 their structure name (as in 0.8), rather than a free-for-all
10403 allowing collisions between enum values from different plugins.
10405 * gst/gstpad.c: (gst_pad_class_init):
10408 * gst/gstqueue.c: (gst_queue_handle_sink_event):
10409 Handle out-of-band downstream events from the sending thread.
10411 2005-08-17 Andy Wingo <wingo@pobox.com>
10413 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
10414 play-timeout==0 to mean no timeout at all. In that case, don't
10415 bother with a get_state or a warning, just return directly, even
10418 * gst/base/gstbasetransform.c: Debug changes.
10421 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
10422 ensure bins post state change messages. A bit of a hack but I can't
10423 think of a way to avoid it.
10425 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
10427 2005-08-16 Andy Wingo <wingo@pobox.com>
10429 * gst/base/gstadapter.h:
10430 * gst/base/gstadapter.c (gst_adapter_take): New function, like
10431 peek() but you own the data. Not terribly efficient atm.
10433 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10435 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
10436 (gst_element_found_tags):
10438 Add two utility functions for tag handling.
10440 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10442 * docs/manual/advanced-dataaccess.xml:
10443 * docs/manual/basics-helloworld.xml:
10444 Fix docs to use _bin_add() before _link(), which fixes the examples
10445 with recent core versions (reported by Madhan Raj M
10446 <raj_madan@rediffmail.com>, #313199).
10448 2005-08-16 Wim Taymans <wim@fluendo.com>
10450 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10451 Added subtract checks.
10453 * docs/design/part-events.txt:
10454 Some more docs about newsegment
10456 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10459 * gst/gstcaps.c: (gst_caps_to_string):
10460 Add comments, cleanups.
10462 * gst/gstelement.c: (gst_element_save_thyself):
10465 * gst/gstvalue.c: (gst_value_collect_int_range),
10466 (gst_string_unwrap), (gst_value_union_int_int_range),
10467 (gst_value_union_int_range_int_range),
10468 (gst_value_intersect_int_int_range),
10469 (gst_value_intersect_int_range_int_range),
10470 (gst_value_intersect_double_double_range),
10471 (gst_value_intersect_double_range_double_range),
10472 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
10473 (gst_value_subtract_int_range_int),
10474 (gst_value_subtract_double_range_double),
10475 (gst_value_subtract_double_range_double_range),
10476 (gst_value_subtract_from_list), (gst_value_subtract_list),
10477 (gst_value_can_compare), (gst_value_compare_fraction):
10478 Cleanups, add comments, remove unneeded asserts.
10480 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
10482 * tools/gst-launch.c: (event_loop):
10483 don't convert NULL structures to strings
10485 2005-08-15 Stefan Kost <ensonic@users.sf.net>
10487 * docs/gst/gstreamer-sections.txt:
10488 made some defines private
10489 * docs/gst/tmpl/gstconfig.sgml:
10490 * docs/gst/tmpl/gstqueue.sgml:
10491 * docs/gst/tmpl/gsttaglist.sgml:
10492 * docs/gst/tmpl/gsttypes.sgml:
10493 * docs/gst/tmpl/gstutils.sgml:
10494 * docs/pwg/appendix-porting.xml:
10495 * gst/base/gstbasesink.h:
10496 * gst/base/gstbasesrc.c:
10497 * gst/base/gstbasesrc.h:
10498 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
10499 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
10500 * gst/gstelement.c: (gst_element_class_init):
10501 * gst/gstpad.c: (gst_pad_class_init):
10502 * gst/gstqueue.c: (gst_queue_class_init):
10503 * gst/gstxml.c: (gst_xml_class_init):
10504 documented all undocumented signal inline
10505 * libs/gst/controller/gst-controller.h:
10508 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10510 * docs/pwg/appendix-porting.xml:
10511 Document _set_link_function -> _set_setcaps_function.
10513 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
10515 * check/Makefile.am:
10516 add a .check target for running the check
10517 * check/gst-libs/controller.c: (GST_START_TEST):
10519 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10520 complete checks for gstbuffer; would be nice if I could get the
10521 gcov stuff to work so I can see if I actually completed gstbuffer.c
10522 * check/gstcheck.h:
10523 add ASSERT_BUFFER_REFCOUNT
10525 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
10527 * docs/gst/gstreamer-sections.txt:
10528 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
10530 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
10531 spew out a warning if a tag that is already registered
10532 is re-registered, unless it is re-registered with a
10533 different type (#308438).
10535 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
10537 * docs/pwg/appendix-porting.xml:
10538 * docs/pwg/building-state.xml:
10539 Add some paragraphs about state changes in 0.9 to the PWG
10540 and the porting guide, in particular about the new meaning
10541 of GST_STATE_PAUSED and how to write state change functions
10542 with concurrent access by multiple threads in mind.
10544 2005-08-11 Stefan Kost <ensonic@users.sf.net>
10546 * docs/gst/gstreamer-docs.sgml:
10547 * docs/libs/gstreamer-libs-docs.sgml:
10548 added deprecation and since indexes
10549 * libs/gst/controller/gst-controller.c:
10550 * libs/gst/controller/gst-helper.c:
10554 2005-08-11 Wim Taymans <wim@fluendo.com>
10556 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
10557 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
10558 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
10559 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
10560 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
10561 (gst_ghost_pad_set_target):
10562 Actually implement (re)setting the target on a ghostpad
10563 as described in the docs.
10565 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
10567 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
10568 Check whether GST_DEBUG_NO_COLOR environment variable is
10569 set and disable coloured debug output if that is the case.
10571 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
10573 * gst/base/gsttypefindhelper.c: (helper_find_peek),
10574 (gst_type_find_helper):
10575 The memory returned by gst_type_find_peek() needs to
10576 stay valid until the end of a typefind function, and
10577 typefind functions may keep results from different
10578 offsets around, so we can't just unref the buffer from
10579 the previous _peek(), but have to save all buffers
10580 returned by _peek() until typefinding is done and only
10583 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
10585 * docs/gst/gstreamer-sections.txt:
10587 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
10589 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10591 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10592 Fix a pretty good memleak.
10594 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
10596 * gst/gstiterator.h:
10597 Fix wrong include and 'make distcheck'.
10599 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10601 * gst/gstbin.c: (bin_bus_handler):
10602 Use gst_element_post_message() instead.
10604 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
10606 * gst/base/gstadapter.h:
10607 * gst/base/gstbasesink.h:
10608 * gst/base/gstbasesrc.h:
10609 * gst/base/gstbasetransform.h:
10610 * gst/base/gstcollectpads.h:
10611 * gst/base/gstpushsrc.h:
10612 * gst/gstiterator.h:
10613 Add padding to our base elements' class and instance structs and
10614 to GstIterator (you will need to rebuild all plugins and apps!)
10616 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10618 * gst/gstbin.c: (bin_bus_handler):
10619 Make default message forwarding from child->bus to bin->bus
10620 threadsafe and make it not emit warnings if the parent has no bus.
10622 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10624 * gst/gstelement.c: (activate_pads):
10625 On paused->ready, set pad->caps to NULL, as is the documented
10626 behaviour in this state change. Fixes playback of series of
10627 media files when visualization is enabled in Totem.
10629 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
10631 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10632 Allow NULL as filter-caps (which means "any").
10634 2005-08-05 Stefan Kost <ensonic@users.sf.net>
10636 * docs/libs/gstreamer-libs-sections.txt:
10637 * libs/gst/controller/gst-controller.c:
10638 * libs/gst/controller/gst-controller.h:
10639 * libs/gst/controller/gst-helper.c:
10640 adding more entries to the docs and fix small doc-bugs
10642 2005-08-05 Stefan Kost <ensonic@users.sf.net>
10644 * docs/gst/gstreamer-docs.sgml:
10645 * docs/gst/gstreamer-sections.txt:
10646 * docs/gst/gstreamer.types:
10647 * docs/gst/tmpl/gstbasesink.sgml:
10648 * docs/gst/tmpl/gstbasesrc.sgml:
10649 * docs/gst/tmpl/gstbasetransform.sgml:
10650 * docs/gst/tmpl/gstfakesrc.sgml:
10651 * gst/base/gstcollectpads.c:
10652 * gst/base/gstcollectpads.h:
10653 * libs/gst/controller/gst-controller.c:
10654 * libs/gst/controller/gst-controller.h:
10655 * libs/gst/controller/gst-helper.c:
10656 * libs/gst/controller/gst-interpolation.c:
10657 * libs/gst/controller/lib.c:
10658 added long/short desc for controller docs
10659 added collectpads base class docs
10660 added correct includes to base-class docs
10662 2005-08-05 Stefan Kost <ensonic@users.sf.net>
10664 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10665 (gst_test_mono_source_set_property),
10666 (gst_test_mono_source_class_init), (GST_START_TEST),
10667 (gst_controller_suite):
10668 * docs/gst/gstreamer-docs.sgml:
10669 * docs/gst/gstreamer-sections.txt:
10670 * docs/gst/gstreamer.types:
10671 * docs/libs/gstreamer-libs-docs.sgml:
10672 * docs/libs/gstreamer-libs-sections.txt:
10673 * gst/base/gstadapter.c:
10674 * libs/gst/controller/gst-controller.c:
10675 (gst_controlled_property_new), (gst_controlled_property_free),
10676 (gst_controller_new_valist),
10677 (gst_controller_remove_properties_valist),
10678 (gst_controller_sink_values), (_gst_controller_finalize):
10679 * libs/gst/controller/gst-controller.h:
10680 * libs/gst/controller/gst-helper.c:
10681 (gst_object_control_properties), (gst_object_uncontrol_properties),
10682 (gst_object_get_controller), (gst_object_set_controller),
10683 (gst_object_sink_values), (gst_object_get_value_arrays),
10684 (gst_object_get_value_array):
10685 more tests (and fixes) for the controller
10686 more docs for the controller
10687 integrated companies docs for the adapter
10689 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
10691 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
10692 (GST_START_TEST), (fakesrc_suite):
10693 add tests for sizetype
10695 2005-08-04 Andy Wingo <wingo@pobox.com>
10697 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
10698 fixes buffer_alloc proxying among other things.
10700 * gst/base/gstbasetransform.c:
10701 * gst/base/gstbasetransform.h:
10702 Revert patch to gstbasetransform from 7-28 removing
10705 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
10706 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
10707 Semantics changed, should return not the size of the output buffer
10708 but the byte size of a buffer with a given caps.
10710 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
10712 (gst_base_transform_configure_caps): Don't set out_size here: (in,
10713 out) are not the pad caps until setcaps finishes.
10714 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
10715 not-in-place case as well. Deal with changing from in-place to
10716 not-in-place within calling pad_alloc_buffer. Still a bit
10717 concerned about the overhead here...
10719 2005-08-03 Andy Wingo <wingo@pobox.com>
10721 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
10722 fixating is an error.
10724 2005-08-04 Edward Hervey <edward@fluendo.com>
10726 * gst/base/gstadapter.h:
10727 Added gst_adapter_get_type() to the header
10729 2005-08-03 Stefan Kost <ensonic@users.sf.net>
10731 * check/Makefile.am:
10732 * check/gst-libs/controller.c:
10733 * libs/gst/controller/gst-controller.c:
10734 (gst_controller_new_valist):
10735 added check test suite for the controller
10736 * gst/base/gstpushsrc.c:
10739 2005-08-03 Stefan Kost <ensonic@users.sf.net>
10741 * docs/gst/Makefile.am:
10742 * docs/gst/gstreamer-docs.sgml:
10743 * docs/gst/gstreamer-sections.txt:
10744 * docs/gst/gstreamer.types:
10745 * docs/gst/tmpl/gstfakesrc.sgml:
10747 * gst/base/gstbasesink.c:
10748 * gst/base/gstbasesink.h:
10749 * gst/base/gstbasesrc.c:
10750 * gst/base/gstbasesrc.h:
10751 * gst/base/gstbasetransform.c:
10752 * gst/base/gstpushsrc.c:
10753 * gst/base/gstpushsrc.h:
10754 add short/long description docs to base classes
10755 add pushsrc to the docs
10756 remove consolidated doc fragments
10758 2005-08-03 Stefan Kost <ensonic@users.sf.net>
10761 * docs/libs/Makefile.am:
10762 * docs/libs/gstreamer-libs-docs.sgml:
10763 * docs/libs/gstreamer-libs-sections.txt:
10764 * docs/libs/gstreamer-libs.types:
10765 * examples/Makefile.am:
10766 * examples/controller/.cvsignore:
10767 * examples/controller/Makefile.am:
10768 * examples/controller/audio-example.c: (main):
10769 * libs/gst/Makefile.am:
10770 * libs/gst/controller/.cvsignore:
10771 * libs/gst/controller/Makefile.am:
10772 * libs/gst/controller/gst-controller.c:
10773 (on_object_controlled_property_changed), (gst_timed_value_compare),
10774 (gst_timed_value_find),
10775 (gst_controlled_property_set_interpolation_mode),
10776 (gst_controlled_property_new), (gst_controlled_property_free),
10777 (gst_controller_find_controlled_property),
10778 (gst_controller_new_valist), (gst_controller_new),
10779 (gst_controller_remove_properties_valist),
10780 (gst_controller_remove_properties), (gst_controller_set),
10781 (gst_controller_set_from_list), (gst_controller_unset),
10782 (gst_controller_get), (gst_controller_get_all),
10783 (gst_controller_sink_values), (gst_controller_get_value_arrays),
10784 (gst_controller_get_value_array),
10785 (gst_controller_set_interpolation_mode),
10786 (_gst_controller_finalize), (_gst_controller_init),
10787 (_gst_controller_class_init), (gst_controller_get_type):
10788 * libs/gst/controller/gst-controller.h:
10789 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
10790 (g_object_uncontrol_properties), (g_object_get_controller),
10791 (g_object_set_controller), (g_object_sink_values),
10792 (g_object_get_value_arrays), (g_object_get_value_array):
10793 * libs/gst/controller/gst-interpolation.c:
10794 (gst_controlled_property_find_timed_value_node),
10795 (interpolate_none_get), (interpolate_trigger_get),
10796 (interpolate_trigger_get_value_array):
10797 * libs/gst/controller/lib.c: (gst_controller_init):
10798 * pkgconfig/Makefile.am:
10799 * pkgconfig/gstreamer-control-uninstalled.pc.in:
10800 * pkgconfig/gstreamer-control.pc.in:
10801 * testsuite/Makefile.am:
10802 * testsuite/controller/.cvsignore:
10803 * testsuite/controller/Makefile.am:
10804 * testsuite/controller/interpolator.c: (main):
10805 added controller code
10806 removed dparam pc files
10808 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
10809 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
10810 (gst_collectpads_stop):
10811 Broadcast the condition when shutting down, to make sure we wake all
10812 threads up. Shut down pads on finalize, for safety.
10814 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
10815 * gst/base/gstbasetransform.c: (gst_base_transform_init),
10816 (gst_base_transform_handle_buffer),
10817 (gst_base_transform_change_state):
10818 Handle PAUSED->READY->PAUSED transition after negotiation
10820 * gst/gstmessage.c: (gst_message_init):
10821 Extra piece of debug for new messages.
10823 2005-08-01 Stefan Kost <ensonic@users.sf.net>
10826 * docs/gst/tmpl/gstbasesrc.sgml:
10827 * docs/gst/tmpl/gstelement.sgml:
10828 * docs/gst/tmpl/gstevent.sgml:
10829 * docs/gst/tmpl/gstfakesrc.sgml:
10830 * docs/gst/tmpl/gstformat.sgml:
10831 * docs/gst/tmpl/gstghostpad.sgml:
10832 * docs/gst/tmpl/gstpad.sgml:
10833 * docs/gst/tmpl/gstquery.sgml:
10834 * docs/gst/tmpl/gststructure.sgml:
10835 * docs/gst/tmpl/gsttaglist.sgml:
10836 * docs/gst/tmpl/gstvalue.sgml:
10837 * docs/libs/gstreamer-libs-docs.sgml:
10838 * docs/libs/gstreamer-libs-sections.txt:
10839 * docs/libs/gstreamer-libs.types:
10840 * libs/gst/Makefile.am:
10841 * libs/gst/control/.cvsignore:
10842 * libs/gst/control/Makefile.am:
10843 * libs/gst/control/control.c:
10844 * libs/gst/control/control.h:
10845 * libs/gst/control/dparam.c:
10846 * libs/gst/control/dparam.h:
10847 * libs/gst/control/dparam_smooth.c:
10848 * libs/gst/control/dparam_smooth.h:
10849 * libs/gst/control/dparamcommon.h:
10850 * libs/gst/control/dparammanager.c:
10851 * libs/gst/control/dparammanager.h:
10852 * libs/gst/control/dplinearinterp.c:
10853 * libs/gst/control/dplinearinterp.h:
10854 * libs/gst/control/unitconvert.c:
10855 * libs/gst/control/unitconvert.h:
10856 * testsuite/Makefile.am:
10857 * testsuite/dynparams/.cvsignore:
10858 * testsuite/dynparams/Makefile.am:
10859 * testsuite/dynparams/dparamstest.c:
10860 * tools/Makefile.am:
10861 * tools/gst-inspect.c: (print_element_info), (main):
10862 * tools/gst-xmlinspect.c: (print_element_info), (main):
10863 deactivate and remove dparams (libgstcontrol)
10865 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
10867 * gst/elements/gsttypefindelement.c:
10868 (gst_type_find_element_have_type), (gst_type_find_element_init),
10869 (stop_typefinding), (gst_type_find_element_handle_event),
10870 (gst_type_find_element_chain), (gst_type_find_element_getrange):
10871 * gst/elements/gsttypefindelement.h:
10872 Set caps on all outgoing buffers, not just the first one.
10874 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
10876 * gst/elements/gsttypefindelement.c:
10877 (gst_type_find_element_have_type),
10878 (gst_type_find_element_check_set_buffer_caps),
10879 (gst_type_find_element_init), (stop_typefinding),
10880 (gst_type_find_element_handle_event),
10881 (gst_type_find_element_chain), (gst_type_find_element_getrange):
10882 * gst/elements/gsttypefindelement.h:
10883 Set caps on first outgoing buffer when we've found the type.
10885 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
10887 * docs/gst/gstreamer-docs.sgml:
10888 * docs/gst/gstreamer-sections.txt:
10889 * docs/gst/tmpl/gstscheduler.sgml:
10890 * docs/gst/tmpl/gstschedulerfactory.sgml:
10891 Remove some old cruft from docs.
10893 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
10896 Fix inline docs for GstPadLinkReturn.
10898 * gst/gststructure.c: (gst_structure_has_name):
10899 * gst/gststructure.h:
10900 * docs/gst/gstreamer-sections.txt:
10901 New API: gst_structure_has_name().
10903 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
10906 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
10907 and _LARGEFILE_SOURCE in config.h as required. Do not
10908 export those flags in our .pc files any longer (#142209).
10910 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
10912 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
10913 (gst_file_sink_do_seek), (gst_file_sink_event),
10914 (gst_file_sink_get_current_offset), (gst_file_sink_render):
10915 Redo seek/tell calls with large file support in mind; add some
10916 debugging messages; add log message that tells us when large
10917 file support is unavailable or not enabled for some reason.
10919 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
10920 Add log message that tells us when large file support
10921 is unavailable or not enabled for some reason.
10923 2005-07-29 Wim Taymans <wim@fluendo.com>
10925 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10926 Added test for removing an element with ghostpad from a bin.
10927 Fixed test as current implementation does the right thing.
10929 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
10930 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
10931 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
10932 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
10933 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
10934 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
10935 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
10936 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10937 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
10938 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
10939 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
10940 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
10941 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10942 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
10943 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
10944 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10945 * gst/gstghostpad.h:
10946 Clean up ghostpads, remove properties for internal stuff.
10949 Prepare for switching targets, not all use cases work yet.
10951 2005-07-29 Wim Taymans <wim@fluendo.com>
10953 * docs/design/part-gstghostpad.txt:
10956 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10957 (gst_bin_remove_func):
10958 Unlinking pads while holding the bin LOCK is not a good
10961 * gst/gstpad.c: (gst_pad_class_init),
10962 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
10963 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
10964 No prob setting template after creating the pad.
10966 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
10968 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
10969 (gst_bus_peek), (gst_bus_source_dispatch),
10970 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
10971 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
10972 gst_bus_poll may be called from other threads. Handle
10973 this nicely by not making poll_data disappear off the
10974 stack once gst_bus_poll returns.
10975 gst_bus_peek now increments the refcount on the returned
10978 2005-07-29 Wim Taymans <wim@fluendo.com>
10980 * docs/design/part-gstghostpad.txt:
10981 Overview of current GhostPad datastructures and use
10982 cases for changing the target.
10984 2005-07-28 Wim Taymans <wim@fluendo.com>
10986 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10987 Added checks for hierarchy consistency whan adding linked
10990 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10991 Added check to test element scheduling without bin/pipeline.
10993 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10994 First add elements to bin, then link.
10996 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10997 (gst_bin_remove_func):
10998 Unlink pads from elements added/removed from bin to maintain
10999 hierarchy consistency.
11001 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11003 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11004 (gst_base_transform_handle_buffer):
11005 * gst/base/gstbasetransform.h:
11006 Remove broken delay_configure (fixes renegotiation of software
11007 scaling pipelines); remove some leftover printf()s.
11009 2005-07-28 Wim Taymans <wim@fluendo.com>
11011 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
11012 Added some more tests for wrong hierarchy
11014 * docs/design/part-overview.txt:
11017 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
11020 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
11021 (gst_element_dispose):
11022 Some more cleanups.
11024 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11025 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
11026 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11027 (gst_pad_set_caps), (gst_pad_send_event):
11028 Check for correct hierarchy when linking pads. Moving to
11029 strict requirement for ghostpads when linking elements in
11033 Clean ups. Added WRONG_HIERARCHY return value.
11035 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11037 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11038 Better debug if no transform is possible.
11040 2005-07-27 Wim Taymans <wim@fluendo.com>
11042 * docs/random/wtay/network-transp:
11043 Some old doc I had.
11045 2005-07-27 Wim Taymans <wim@fluendo.com>
11047 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11048 (gst_dp_event_from_packet):
11049 Fix serialization of seek events.
11051 2005-07-27 Wim Taymans <wim@fluendo.com>
11053 * check/gst-libs/gdp.c: (GST_START_TEST):
11054 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11055 Fix compilation and fix event serialization.
11057 2005-07-27 Wim Taymans <wim@fluendo.com>
11060 * docs/design/part-TODO.txt:
11061 * docs/design/part-events.txt:
11064 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11065 (gst_base_sink_event), (gst_base_sink_do_sync),
11066 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11067 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11068 (gst_base_src_do_seek), (gst_base_src_event_handler),
11069 (gst_base_src_loop):
11070 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11071 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11072 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11073 (gst_base_transform_event), (gst_base_transform_handle_buffer),
11074 (gst_base_transform_set_passthrough),
11075 (gst_base_transform_is_passthrough):
11076 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11077 * gst/elements/gstfilesink.c: (gst_file_sink_event):
11083 * gst/gstelement.c: (gst_element_seek):
11084 * gst/gstelement.h:
11085 Update gst_element_seek.
11087 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
11088 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
11089 (gst_event_new_flush_start), (gst_event_new_flush_stop),
11090 (gst_event_new_eos), (gst_event_new_newsegment),
11091 (gst_event_parse_newsegment), (gst_event_new_tag),
11092 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
11093 (gst_event_parse_qos), (gst_event_new_seek),
11094 (gst_event_parse_seek), (gst_event_new_navigation):
11096 Make GstEvent use GstStructure. Add parsing code, make sure the
11097 API is sufficiently generic.
11098 Mark possible directions of events and serialization.
11100 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
11101 (_gst_message_copy), (gst_message_new_segment_start),
11102 (gst_message_new_segment_done), (gst_message_new_custom),
11103 (gst_message_parse_segment_start),
11104 (gst_message_parse_segment_done):
11107 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11108 (gst_pad_set_caps), (gst_pad_send_event):
11109 Update for new events.
11110 Catch events sent in wrong directions.
11112 * gst/gstqueue.c: (gst_queue_link_src),
11113 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11114 (gst_queue_handle_src_query):
11119 Remove event code from this file.
11121 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11122 (gst_dp_event_from_packet):
11125 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11127 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
11128 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11129 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
11130 Make debugging actually useful.
11132 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11134 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
11135 (gst_pad_fixate_caps):
11136 Implement default fixation once again, so that gst_pad_fixate()
11137 actually does anything at all. This probably needs to be some
11138 sort of a last resort, and use profile-based fixation first, but
11139 since that doesn't exist yet, this is the best we have. Fixes
11140 visualization in Totem.
11142 2005-07-22 Wim Taymans <wim@fluendo.com>
11144 * docs/design/part-events.txt:
11147 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11148 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
11149 (gst_base_sink_activate_pull):
11150 Some more comments.
11152 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
11153 (gst_fake_src_create):
11154 Fix handoff marshall.
11156 * gst/elements/gstidentity.c: (gst_identity_class_init),
11157 (gst_identity_transform_ip):
11158 We're a real inplace element.
11160 * gst/gstbus.c: (gst_bus_post):
11161 Added some comments.
11163 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
11164 * tests/muxing/case1.c: (main):
11165 * tests/sched/dynamic-pipeline.c: (main):
11166 * tests/sched/interrupt1.c: (main):
11167 * tests/sched/interrupt2.c: (main):
11168 * tests/sched/interrupt3.c: (main):
11169 * tests/sched/runxml.c: (main):
11170 * tests/sched/sched-stress.c: (main):
11171 * tests/seeking/seeking1.c: (event_received), (main):
11172 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
11174 * tests/threadstate/threadstate3.c: (main):
11175 * tests/threadstate/threadstate4.c: (main):
11176 * tests/threadstate/threadstate5.c: (main):
11179 2005-07-21 Wim Taymans <wim@fluendo.com>
11181 * docs/design/part-seeking.txt:
11182 Some small additions.
11184 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11185 (gst_base_sink_get_times), (gst_base_sink_do_sync),
11186 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
11187 * gst/base/gstbasesink.h:
11188 discont values are gint64, handle the math correctly.
11190 * gst/base/gstbasesrc.c: (gst_base_src_loop):
11191 Make the basesrc report error if the source pad is not linked.
11193 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
11194 (gst_queue_loop), (gst_queue_handle_src_query),
11195 (gst_queue_src_activate_push):
11196 Make queue collect data even if the srcpad is not linked.
11197 Start pushing out data as soon as it is linked.
11199 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
11201 Added gst_flow_get_name() to ease error reporting.
11203 2005-07-20 Wim Taymans <wim@fluendo.com>
11205 * gst/gstmessage.c: (gst_message_new_segment_start),
11206 (gst_message_new_segment_done), (gst_message_parse_segment_start),
11207 (gst_message_parse_segment_done):
11208 * gst/gstmessage.h:
11209 Added a bunch of messages for advanced seeking.
11211 * gst/parse/grammar.y:
11212 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
11213 (gst_dpman_state_changed):
11214 Fix some new-pad -> pad-added signals
11216 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11218 * docs/manual/appendix-porting.xml:
11219 * docs/pwg/appendix-porting.xml:
11220 Document new-pad/state-change signal renames and the FixedList
11223 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11225 * docs/manual/advanced-autoplugging.xml:
11226 * docs/manual/basics-helloworld.xml:
11227 * docs/manual/basics-pads.xml:
11228 * docs/random/ds/0.9-suggested-changes:
11229 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
11230 * gst/gstelement.h:
11234 * gst/gststructure.c: (gst_structure_value_get_generic_type),
11235 (gst_structure_parse_array), (gst_structure_parse_value):
11236 * gst/gstvalue.c: (gst_type_is_fixed),
11237 (gst_value_list_prepend_value), (gst_value_list_append_value),
11238 (gst_value_list_get_size), (gst_value_list_get_value),
11239 (gst_value_transform_array_string), (gst_value_serialize_array),
11240 (gst_value_deserialize_array), (gst_value_intersect_array),
11241 (gst_value_is_fixed), (_gst_value_initialize):
11243 GstElement::new-pad -> pad-added, GstElement::state-change ->
11244 state-changed, GstValueFixedList -> GstValueArray, add format and
11245 flags as their own arguments in gst_element_seek() (should improve
11246 "bindeability"), remove function generators since they don't work
11247 under a whole bunch of compilers (they were deprecated already
11250 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11252 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11253 (_gst_debug_register_funcptr):
11255 Fix illegal cast on some platforms (#309253).
11257 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11259 * gst/gstmessage.c: (gst_message_new_custom):
11260 * gst/gstmessage.h:
11261 Add _new_custom, make _new_application a macro to _new_custom.
11263 2005-07-20 Wim Taymans <wim@fluendo.com>
11265 * gst/base/gstbasesrc.c: (gst_base_src_init),
11266 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
11267 * gst/base/gstbasesrc.h:
11268 Add a gboolean to decide when to push out a discont.
11270 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11271 (gst_queue_loop), (gst_queue_handle_src_query),
11272 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
11273 (gst_queue_set_property), (gst_queue_get_property):
11276 * tests/threadstate/threadstate1.c: (main):
11277 Make a thread test compile and run... very silly..
11280 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11282 * docs/manual/appendix-porting.xml:
11283 Mention removal of libgstgconf-0.9.la and existence of gconf
11286 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11288 * docs/pwg/advanced-clock.xml:
11289 * docs/pwg/appendix-porting.xml:
11290 * docs/pwg/intro-preface.xml:
11291 * docs/pwg/other-base.xml:
11292 * docs/pwg/other-manager.xml:
11293 * docs/pwg/other-nton.xml:
11294 * docs/pwg/other-ntoone.xml:
11295 * docs/pwg/other-oneton.xml:
11296 * docs/pwg/pwg.xml:
11297 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
11298 demuxer), remove n-to-n (was never written), fix some code examples
11299 and links and update the porting section to include all this.
11301 2005-07-19 Wim Taymans <wim@fluendo.com>
11303 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
11304 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
11305 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
11306 (gst_queue_src_activate_push), (gst_queue_change_state),
11307 (gst_queue_get_property):
11309 Propagate GstFlowReturn more intelligently upstream and output
11310 an ERROR/EOS when streaming stopped due to fatal error.
11312 2005-07-19 Wim Taymans <wim@fluendo.com>
11314 * tools/gst-launch.c: (check_intr), (event_loop), (main):
11315 Don't block forever for the state change to complete, the
11316 pipeline already did with a sensible timeout.
11318 2005-07-19 Wim Taymans <wim@fluendo.com>
11320 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11321 Make sure we never call the create function is we
11324 2005-07-19 Andy Wingo <wingo@pobox.com>
11326 * gst/parse/parse.l: Attempt to solve bug #172815.
11328 2005-07-19 Wim Taymans <wim@fluendo.com>
11330 * docs/design/part-clocks.txt:
11331 * docs/design/part-events.txt:
11332 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
11333 Small docs updates.
11334 Only update the seeking values when we are not
11337 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
11339 * gst/base/gstbasesrc.c: (gst_base_src_loop):
11340 Oops, ignore the result of gst_pad_push_event here.
11342 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
11344 * gst/base/gstbasesrc.c: (gst_base_src_loop),
11345 (gst_base_src_activate_push):
11346 Send discont event from the loop function, as pads
11347 aren't activated yet in the activate_push handler.
11349 * gst/gstbin.c: (bin_bus_handler):
11350 Don't leak element name.
11352 2005-07-18 Andy Wingo <wingo@pobox.com>
11354 * configure.ac: Use AS_LIBTOOL_TAGS.
11356 2005-07-18 Wim Taymans <wim@fluendo.com>
11358 * docs/gst/gstreamer.types:
11359 Remove deleted types.
11361 2005-07-18 Wim Taymans <wim@fluendo.com>
11363 * check/elements/gstfakesrc.c: (GST_START_TEST):
11366 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11367 (init_popt_callback):
11369 * gst/gst_private.h:
11370 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
11371 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
11374 * gst/gstconfig.h.in:
11375 * gst/gstelement.c: (gst_element_class_init),
11376 (gst_element_set_base_time), (gst_element_get_base_time),
11377 (iterator_fold_with_resync), (gst_element_change_state),
11378 (gst_element_dispose), (gst_element_get_bus):
11379 * gst/gstelement.h:
11380 * gst/gstelementfactory.h:
11381 * gst/gsterror.c: (_gst_core_errors_init):
11384 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
11386 * gst/gstinfo.c: (_gst_debug_init):
11387 * gst/gstmessage.c: (_gst_message_copy):
11388 * gst/gstmessage.h:
11389 * gst/gstminiobject.h:
11392 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11393 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
11396 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11397 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
11398 (gst_pipeline_get_last_stream_time):
11399 * gst/gstpipeline.h:
11400 * gst/gstpluginfeature.h:
11402 * gst/gstscheduler.c:
11403 * gst/gstscheduler.h:
11404 * gst/gststructure.h:
11405 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
11406 (gst_task_finalize), (gst_task_func), (gst_task_create),
11407 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
11408 (gst_task_stop), (gst_task_pause):
11410 * gst/gsttypefind.h:
11412 * gst/registries/gstlibxmlregistry.c: (load_feature),
11413 (gst_xml_registry_load), (gst_xml_registry_save_feature):
11414 * gst/registries/gstxmlregistry.c:
11415 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
11416 * gst/schedulers/threadscheduler.c:
11417 * libs/gst/control/dparammanager.h:
11418 * tools/gst-inspect.c: (print_element_list),
11419 (print_plugin_features), (print_element_features):
11420 * tools/gst-xmlinspect.c: (print_element_list),
11421 (print_plugin_info), (main):
11422 Removed plugable schedulers.
11423 Removed Scheduler/Manager from elements.
11424 Removed gsttypes.h, rearranged includes.
11425 Removed dependency pad<->element, element<>pipeline, and
11426 various others, fix includes.
11427 implement gst_pad_get_parent() with gst_object_get_parent()
11428 Make GstTask sefcontained.
11429 Fix _get_state() on GstBin, it did not return ASYNC with a 0
11431 Fix endless loop in iterator_fold_with_resync.
11434 2005-07-18 Wim Taymans <wim@fluendo.com>
11440 2005-07-18 Wim Taymans <wim@fluendo.com>
11443 No more cothreads.h
11445 2005-07-18 Wim Taymans <wim@fluendo.com>
11449 Let's remove these.
11451 2005-07-18 Wim Taymans <wim@fluendo.com>
11453 * docs/design/part-dynamic.txt:
11454 * docs/design/part-events.txt:
11455 * docs/design/part-seeking.txt:
11456 Some more docs in the works.
11458 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11459 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
11460 (gst_base_transform_setcaps), (gst_base_transform_get_size),
11461 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11462 (gst_base_transform_handle_buffer),
11463 (gst_base_transform_sink_activate_push),
11464 (gst_base_transform_src_activate_pull),
11465 (gst_base_transform_set_passthrough),
11466 (gst_base_transform_is_passthrough):
11469 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
11472 * gst/gstevent.c: (gst_event_finalize):
11475 * gst/gstutils.c: (gst_element_unlink),
11476 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
11477 (gst_pad_proxy_setcaps):
11479 Add _get_parent_element() to get a pads parent as an element.
11481 2005-07-18 Wim Taymans <wim@fluendo.com>
11483 * check/gst/gstbin.c: (GST_START_TEST):
11486 2005-07-18 Wim Taymans <wim@fluendo.com>
11488 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11489 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11490 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11491 (gst_base_sink_event), (gst_base_sink_do_sync),
11492 (gst_base_sink_chain), (gst_base_sink_loop),
11493 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
11494 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
11496 Fix logic for returning ASYNC when not prerolled.
11498 2005-07-18 Wim Taymans <wim@fluendo.com>
11500 * gst/gstqueue.c: (gst_queue_handle_sink_event):
11501 Fix nasty refcount bug.
11503 2005-07-16 Philippe Khalaf <burger@speedy.org>
11505 * gst/elements/gstfdsrc.c:
11506 * gst/elements/gstfdsrc.h:
11507 * gst/elements/gstelements.c:
11508 * gst/elements/Makefile.am:
11509 Ported fdsrc to 0.9.
11511 2005-07-16 Wim Taymans <wim@fluendo.com>
11513 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11514 (gst_base_sink_do_sync):
11517 2005-07-16 Wim Taymans <wim@fluendo.com>
11519 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11520 (gst_base_sink_event), (gst_base_sink_get_times),
11521 (gst_base_sink_do_sync), (gst_base_sink_change_state):
11522 * gst/base/gstbasesink.h:
11523 Store and use discont values when syncing buffers as described
11526 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11527 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
11528 (gst_base_src_activate_push):
11529 Push discont event when starting.
11531 * gst/elements/gstidentity.c: (gst_identity_transform):
11534 * gst/gstbin.c: (gst_bin_change_state):
11535 Small cleanups in base_time distribution.
11537 * gst/gstelement.c: (gst_element_set_base_time),
11538 (gst_element_get_base_time), (gst_element_change_state):
11539 * gst/gstelement.h:
11540 Added methods for the base_time of the element.
11543 * gst/gstpipeline.c: (gst_pipeline_send_event),
11544 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
11545 (gst_pipeline_get_last_stream_time):
11546 * gst/gstpipeline.h:
11548 Handle seeking as described in design doc, remove stream_time
11550 Cleanups clock and stream_time selection code. Added accessors
11551 for the stream_time.
11554 2005-07-16 Andy Wingo <wingo@pobox.com>
11556 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
11559 2005-07-16 Wim Taymans <wim@fluendo.com>
11561 * check/gst/gstbin.c: (GST_START_TEST):
11562 Make elements silent as the deep_notify refs the
11563 parent, which might make the test fail.
11565 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
11566 Don't hold the lock for too long.
11568 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
11570 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11571 Don't unref the caps we passed to gst_caps_make_writable() after
11572 passing them. gst_caps_make_writable() will do that for us.
11574 2005-07-15 Andy Wingo <wingo@pobox.com>
11576 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
11579 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
11580 own marshalling function for the handoff signal. Properly type the
11581 buffer as a buffer. Fixes some warnings. Should do a more general
11583 (gst_identity_class_init): Plug into the right marshaller.
11585 2005-07-15 Wim Taymans <wim@fluendo.com>
11587 * docs/design/part-TODO.txt:
11588 * docs/design/part-clocks.txt:
11589 * docs/design/part-element-sink.txt:
11590 * docs/design/part-events.txt:
11591 * docs/design/part-gstpipeline.txt:
11592 Updated docs, mostly DISCONT related.
11594 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
11596 * docs/pwg/building-pads.xml:
11597 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
11599 2005-07-15 Andy Wingo <wingo@pobox.com>
11601 * tools/gst-typefind.c: Update, add copyright block.
11603 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
11604 Normalize and truncate caps before fixation.
11607 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
11608 discards all but the first structure from its argument.
11610 2005-07-15 Wim Taymans <wim@fluendo.com>
11612 * gst/base/gstbasetransform.c: (gst_base_transform_init),
11613 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
11614 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11615 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11616 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
11617 (gst_base_transform_chain), (gst_base_transform_change_state),
11618 (gst_base_transform_set_passthrough),
11619 (gst_base_transform_is_passthrough):
11620 * gst/base/gstbasetransform.h:
11621 Make passthrough work using the bufferpools.
11622 Changed API a bit, subclasses have to write into a buffer
11623 provided by the base class.
11624 More debug info in nego functions.
11626 * gst/elements/gstidentity.c: (gst_identity_init),
11627 (gst_identity_transform):
11628 Port to new base class.
11630 2005-07-15 Wim Taymans <wim@fluendo.com>
11632 * gst/gstmessage.c: (gst_message_new_state_changed):
11633 * tools/gst-launch.c: (event_loop), (main):
11634 Totally dump messages in -launch with the -m option.
11635 Fix message name for State messages,
11637 2005-07-14 Wim Taymans <wim@fluendo.com>
11639 * gst/base/gstbasesrc.c: (gst_base_src_loop):
11640 Post error messages on errors.
11642 2005-07-14 Wim Taymans <wim@fluendo.com>
11644 * gst/gstcaps.c: (gst_caps_do_simplify):
11648 Define error for stream stopped.
11650 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11651 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
11652 Do proper return values.
11654 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
11655 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
11656 (gst_pad_get_range):
11657 Better return values.
11660 Reorganise return values, add macro to check for fatal errors.
11662 * gst/gstqueue.c: (gst_queue_chain):
11663 Return proper GstFlowReturn values,
11665 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
11667 * docs/gst/gstreamer-sections.txt:
11668 * docs/gst/gstreamer.types:
11669 * docs/gst/tmpl/gst.sgml:
11670 * docs/gst/tmpl/gstbasesink.sgml:
11671 * docs/gst/tmpl/gstbasesrc.sgml:
11672 * docs/gst/tmpl/gstbasetransform.sgml:
11673 * docs/gst/tmpl/gstbin.sgml:
11674 * docs/gst/tmpl/gstbuffer.sgml:
11675 * docs/gst/tmpl/gstcaps.sgml:
11676 * docs/gst/tmpl/gstclock.sgml:
11677 * docs/gst/tmpl/gstcompat.sgml:
11678 * docs/gst/tmpl/gstconfig.sgml:
11679 * docs/gst/tmpl/gstelement.sgml:
11680 * docs/gst/tmpl/gstelementdetails.sgml:
11681 * docs/gst/tmpl/gstelementfactory.sgml:
11682 * docs/gst/tmpl/gstenumtypes.sgml:
11683 * docs/gst/tmpl/gsterror.sgml:
11684 * docs/gst/tmpl/gstevent.sgml:
11685 * docs/gst/tmpl/gstfakesink.sgml:
11686 * docs/gst/tmpl/gstfakesrc.sgml:
11687 * docs/gst/tmpl/gstfilesink.sgml:
11688 * docs/gst/tmpl/gstfilesrc.sgml:
11689 * docs/gst/tmpl/gstfilter.sgml:
11690 * docs/gst/tmpl/gstformat.sgml:
11691 * docs/gst/tmpl/gstghostpad.sgml:
11692 * docs/gst/tmpl/gstimplementsinterface.sgml:
11693 * docs/gst/tmpl/gstindex.sgml:
11694 * docs/gst/tmpl/gstindexfactory.sgml:
11695 * docs/gst/tmpl/gstinfo.sgml:
11696 * docs/gst/tmpl/gstiterator.sgml:
11697 * docs/gst/tmpl/gstmacros.sgml:
11698 * docs/gst/tmpl/gstmemchunk.sgml:
11699 * docs/gst/tmpl/gstminiobject.sgml:
11700 * docs/gst/tmpl/gstobject.sgml:
11701 * docs/gst/tmpl/gstpad.sgml:
11702 * docs/gst/tmpl/gstpadtemplate.sgml:
11703 * docs/gst/tmpl/gstparse.sgml:
11704 * docs/gst/tmpl/gstpipeline.sgml:
11705 * docs/gst/tmpl/gstplugin.sgml:
11706 * docs/gst/tmpl/gstpluginfeature.sgml:
11707 * docs/gst/tmpl/gstquery.sgml:
11708 * docs/gst/tmpl/gstqueue.sgml:
11709 * docs/gst/tmpl/gstregistry.sgml:
11710 * docs/gst/tmpl/gstregistrypool.sgml:
11711 * docs/gst/tmpl/gstscheduler.sgml:
11712 * docs/gst/tmpl/gstschedulerfactory.sgml:
11713 * docs/gst/tmpl/gststructure.sgml:
11714 * docs/gst/tmpl/gstsystemclock.sgml:
11715 * docs/gst/tmpl/gsttaglist.sgml:
11716 * docs/gst/tmpl/gsttagsetter.sgml:
11717 * docs/gst/tmpl/gsttrace.sgml:
11718 * docs/gst/tmpl/gsttrashstack.sgml:
11719 * docs/gst/tmpl/gsttypefind.sgml:
11720 * docs/gst/tmpl/gsttypefindfactory.sgml:
11721 * docs/gst/tmpl/gsttypes.sgml:
11722 * docs/gst/tmpl/gsturihandler.sgml:
11723 * docs/gst/tmpl/gsturitype.sgml:
11724 * docs/gst/tmpl/gstutils.sgml:
11725 * docs/gst/tmpl/gstvalue.sgml:
11726 * docs/gst/tmpl/gstversion.sgml:
11727 * docs/gst/tmpl/gstxml.sgml:
11728 * docs/libs/tmpl/gstcontrol.sgml:
11729 * docs/libs/tmpl/gstdataprotocol.sgml:
11730 * docs/libs/tmpl/gstdparam.sgml:
11731 * docs/libs/tmpl/gstdplinint.sgml:
11732 * docs/libs/tmpl/gstdpman.sgml:
11733 * docs/libs/tmpl/gstdpsmooth.sgml:
11734 * docs/libs/tmpl/gstgetbits.sgml:
11735 * docs/libs/tmpl/gstunitconvert.sgml:
11736 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
11737 (gst_push_src_base_init), (gst_push_src_class_init),
11738 (gst_push_src_init), (gst_push_src_create):
11739 * gst/base/gstpushsrc.h:
11740 * gst/elements/gstelements.c:
11741 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
11742 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
11743 (gst_fake_sink_init), (gst_fake_sink_set_property),
11744 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
11745 (gst_fake_sink_event), (gst_fake_sink_preroll),
11746 (gst_fake_sink_render), (gst_fake_sink_change_state):
11747 * gst/elements/gstfakesink.h:
11748 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11749 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11750 (gst_fake_src_base_init), (gst_fake_src_class_init),
11751 (gst_fake_src_init), (gst_fake_src_event_handler),
11752 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
11753 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
11754 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
11755 (gst_fake_src_create_buffer), (gst_fake_src_create),
11756 (gst_fake_src_start), (gst_fake_src_stop):
11757 * gst/elements/gstfakesrc.h:
11758 * gst/elements/gstfilesink.c: (_do_init),
11759 (gst_file_sink_base_init), (gst_file_sink_class_init),
11760 (gst_file_sink_init), (gst_file_sink_dispose),
11761 (gst_file_sink_set_location), (gst_file_sink_set_property),
11762 (gst_file_sink_get_property), (gst_file_sink_open_file),
11763 (gst_file_sink_close_file), (gst_file_sink_query),
11764 (gst_file_sink_event), (gst_file_sink_render),
11765 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
11766 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
11767 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
11768 * gst/elements/gstfilesink.h:
11769 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
11770 (gst_file_src_class_init), (gst_file_src_init),
11771 (gst_file_src_finalize), (gst_file_src_set_location),
11772 (gst_file_src_set_property), (gst_file_src_get_property),
11773 (gst_file_src_map_region), (gst_file_src_map_small_region),
11774 (gst_file_src_create_mmap), (gst_file_src_create_read),
11775 (gst_file_src_create), (gst_file_src_is_seekable),
11776 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
11777 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
11778 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
11779 (gst_file_src_uri_handler_init):
11780 * gst/elements/gstfilesrc.h:
11781 more autistic cleanliness in functions/names/defines
11783 2005-07-13 Andy Wingo <wingo@pobox.com>
11785 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
11786 source couldn't negotiate.
11788 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
11792 * gst/gstutils.c (gst_element_link_pads_filtered): New old
11793 function. I am channeling Hades. Put your boots on suckers!!!
11795 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
11797 * testsuite/caps/Makefile.am:
11798 * testsuite/caps/value_compare.c:
11799 * testsuite/caps/value_intersect.c:
11800 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11801 move two testsuite apps over to the check dir
11803 2005-07-12 Wim Taymans <wim@fluendo.com>
11805 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11806 Added more debug info in the negotiate process.
11808 * gst/gstmessage.h:
11809 Prepare for segment playback.
11811 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
11817 * tools/gst-launch.c: (main):
11818 NULL pipeline on errors.
11820 2005-07-12 Andy Wingo <wingo@pobox.com>
11822 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
11823 not it comes from a malloc region. Make sure our copy gets freed.
11825 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
11827 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11828 * check/gst/gstmessage.c: (GST_START_TEST):
11829 * check/gst/gststructure.c: (GST_START_TEST),
11830 (gst_structure_suite), (main):
11832 * gst/gstelement.c: (gst_element_message_full):
11833 clean up GError and debug string now that they get copied
11834 * gst/gstmessage.c: (gst_message_new_error),
11835 (gst_message_new_warning), (gst_message_parse_error),
11836 (gst_message_parse_warning):
11837 use GST_TYPE_G_ERROR for structure_new, and take copies of
11838 arguments, so that we don't mess up refcounting
11840 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
11842 * check/Makefile.am:
11843 add per-test valgrind targets
11844 * check/gst-libs/gdp.c: (GST_START_TEST),
11845 (gst_data_protocol_suite), (main):
11848 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
11850 * check/Makefile.am:
11851 instate more valgrindable tests
11852 * check/elements/gstfakesrc.c: (chain_func), (event_func),
11853 (GST_START_TEST), (fakesrc_suite):
11854 * check/gst/gstpad.c: (GST_START_TEST):
11855 * check/gst/gststructure.c: (GST_START_TEST):
11857 * docs/gst/tmpl/gstminiobject.sgml:
11858 * gst/gstpad.c: (gst_pad_finalize):
11859 fix the static mutex leak
11861 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
11863 * check/Makefile.am:
11864 add two more tests for valgrinding
11865 * check/gst/gstvalue.c: (GST_START_TEST):
11866 test refcount of deserialized buffer, found a leak
11867 * docs/gst/gstreamer-docs.sgml:
11868 * docs/gst/gstreamer-sections.txt:
11869 * docs/gst/gstreamer.types:
11870 * docs/gst/tmpl/gstminiobject.sgml:
11871 add miniobject to docs
11872 * gst/gstminiobject.c:
11874 * gst/gstvalue.c: (gst_value_deserialize_buffer),
11875 (gst_string_unwrap):
11876 fix a hard-to-find invalid write for one of the tests
11877 fix a leak for deserialized buffers
11879 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11881 * docs/pwg/advanced-events.xml:
11882 * docs/pwg/advanced-request.xml:
11883 * docs/pwg/advanced-scheduling.xml:
11884 * docs/pwg/appendix-porting.xml:
11885 * docs/pwg/building-boiler.xml:
11886 * docs/pwg/intro-preface.xml:
11887 * docs/pwg/other-ntoone.xml:
11888 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
11889 of example code and explanation for pad activation, loop() and
11890 getrange() functions and a bit more. Remove old comments pointing
11892 * examples/pwg/Makefile.am:
11893 Add loop/getrange examples.
11895 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
11898 check for valgrind binary + some fixes
11900 valgrind suppressions for the tests
11901 * check/Makefile.am:
11902 add a valgrind: target that valgrinds the unit tests
11903 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
11904 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11905 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11906 * check/gst/gstghostpad.c:
11908 * check/gst/gstdata.c:
11910 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
11911 (thread_unref), (gst_mini_object_suite), (main):
11913 * gst/gst.c: (gst_deinit):
11915 add a method to clean up.
11916 * gst/gstsystemclock.c: (gst_system_clock_dispose),
11917 (gst_system_clock_obtain):
11918 allow for disposing the system clock.
11919 * tools/gst-launch.c: (main):
11922 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
11924 * docs/gst/tmpl/gstbasesrc.sgml:
11925 * docs/gst/tmpl/gstfakesrc.sgml:
11926 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11927 (gst_base_src_init), (gst_base_src_set_property),
11928 (gst_base_src_get_property), (gst_base_src_get_range),
11929 (gst_base_src_start):
11930 * gst/base/gstbasesrc.h:
11931 add num-buffers property
11932 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11933 (gst_fakesrc_init), (gst_fakesrc_set_property),
11934 (gst_fakesrc_get_property), (gst_fakesrc_create),
11935 (gst_fakesrc_start):
11936 remove num-buffers property
11938 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
11940 * docs/gst/gstreamer-sections.txt:
11941 * docs/gst/tmpl/gstbasesink.sgml:
11942 * docs/gst/tmpl/gstbasesrc.sgml:
11943 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11944 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11945 (gst_base_sink_finalize), (gst_base_sink_set_clock),
11946 (gst_base_sink_set_property), (gst_base_sink_get_property),
11947 (gst_base_sink_handle_object), (gst_base_sink_event),
11948 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11949 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
11950 (gst_base_sink_loop), (gst_base_sink_deactivate),
11951 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
11952 (gst_base_sink_change_state):
11953 * gst/base/gstbasesink.h:
11954 * gst/base/gstbasesrc.h:
11955 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
11956 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11957 (gst_filesink_init):
11958 more macro splitting
11960 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
11962 * gst/gstelement.c: (gst_element_get_bus):
11964 * tools/gst-launch.c: (check_intr), (event_loop):
11967 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
11969 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11972 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
11974 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11975 (gst_base_src_finalize):
11976 add finalize method and clean up properly
11977 * gst/gstpipeline.c: (gst_pipeline_dispose):
11980 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
11982 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
11984 add more things to check
11985 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11986 * gst/gstelement.c:
11989 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
11991 * check/elements/gstfakesrc.c: (chain_func), (event_func),
11992 (GST_START_TEST), (fakesrc_suite):
11993 * check/gst-libs/gdp.c: (GST_START_TEST):
11994 * check/gst/gst.c: (GST_START_TEST):
11995 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11996 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11997 * check/gst/gstbus.c: (GST_START_TEST):
11998 * check/gst/gstcaps.c: (GST_START_TEST):
11999 * check/gst/gstdata.c: (GST_START_TEST):
12000 * check/gst/gstelement.c: (GST_START_TEST):
12001 * check/gst/gstghostpad.c: (GST_START_TEST):
12002 * check/gst/gstiterator.c: (GST_START_TEST):
12003 * check/gst/gstmessage.c: (GST_START_TEST):
12004 * check/gst/gstobject.c: (GST_START_TEST):
12005 * check/gst/gstpad.c: (GST_START_TEST):
12006 * check/gst/gststructure.c: (GST_START_TEST):
12007 * check/gst/gstsystemclock.c: (GST_START_TEST),
12008 (gst_systemclock_suite):
12009 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12010 * check/gst/gstvalue.c: (GST_START_TEST):
12011 * check/pipelines/cleanup.c: (GST_START_TEST):
12012 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12013 * check/states/sinks.c: (GST_START_TEST):
12014 * check/gstcheck.c: (gst_check_init):
12015 * check/gstcheck.h:
12016 add debugging category
12017 use GST_START_TEST now, so we add a debug line
12019 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
12021 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
12022 add test for state change message on a bin
12023 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
12025 * gst/gstbin.c: (gst_bin_init):
12026 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
12027 * gst/gstelement.c: (gst_element_post_message),
12028 (gst_element_set_state):
12029 * gst/gstelementfactory.c: (gst_element_factory_create):
12030 * gst/gstmessage.c: (gst_message_new):
12031 * gst/gstscheduler.c:
12032 various debugging additions and cleanups
12034 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
12036 * check/Makefile.am:
12037 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
12039 adding tests for elements
12040 * gst/gstelement.c: (gst_element_dispose):
12042 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
12044 * gst/registries/gstlibxmlregistry.c: (load_feature):
12045 plug more leaks. A simple gst_init() now is leakfree, yay.
12047 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
12049 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
12050 (gst_xml_registry_load):
12051 plug another memleak
12053 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
12056 use GST_SET_ERROR_CFLAGS
12057 * docs/faq/cvs.xml:
12058 change to ERROR_CFLAGS
12060 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
12063 make GST_ERROR_CFLAGS overridable and re-enable Werror
12064 * docs/faq/cvs.xml:
12065 add a note about error CFLAGS
12066 * docs/gst/tmpl/gstfakesrc.sgml:
12067 * gst/elements/gstfakesrc.c:
12068 comment out some unused code
12069 * gst/gst.c: (split_and_iterate):
12070 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
12074 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
12076 * common/Makefile.am:
12077 * common/gtk-doc.mak:
12078 * docs/gst/Makefile.am:
12079 factor out gtk-doc.mak
12081 2005-07-07 Wim Taymans <wim@fluendo.com>
12083 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
12084 (gst_thread_scheduler_dispose):
12085 Unlock the STREAM_LOCK completely.
12087 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
12089 * check/Makefile.am:
12090 * check/elements/.cvsignore:
12091 * check/elements/gstfakesrc.c: (chain_func), (event_func),
12092 (START_TEST), (fakesrc_suite), (main):
12093 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12094 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12095 (gst_fakesrc_create), (gst_fakesrc_start):
12096 * gst/elements/gstfakesrc.h:
12097 adding a first element test
12099 2005-07-07 Andy Wingo <wingo@pobox.com>
12101 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
12104 2005-07-07 Wim Taymans <wim@fluendo.com>
12110 2005-07-07 Wim Taymans <wim@fluendo.com>
12112 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12113 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
12114 Allow subclasses to implement their own negotiation.
12116 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
12118 * docs/design/part-gstbin.txt:
12119 * docs/design/part-gstpipeline.txt:
12120 Update design notes to reflect the movement of
12121 responsibility for bus handling from GstPipeline to
12124 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
12127 Remove unnecessary queue2/3/4 examples.
12129 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
12131 * examples/Makefile.am:
12132 * examples/helloworld/helloworld.c: (event_loop), (main):
12133 * examples/queue/queue.c: (event_loop), (main):
12134 * examples/queue2/queue2.c: (main):
12135 Update a couple of the examples to work again.
12137 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12138 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
12139 Spelling corrections and extra debug.
12141 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
12142 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
12143 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
12145 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
12146 (gst_pipeline_change_state):
12147 * gst/gstpipeline.h:
12148 Move the bus handler for children to the GstBin, and create a
12149 separate bus for receiving messages from children to the one the
12150 bus sends 'upwards' on.
12152 2005-07-06 Wim Taymans <wim@fluendo.com>
12155 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12156 (gst_base_sink_handle_object), (gst_base_sink_loop),
12157 (gst_base_sink_change_state):
12158 * gst/base/gstbasesink.h:
12159 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12160 (gst_base_src_init), (gst_base_src_setcaps),
12161 (gst_base_src_getcaps), (gst_base_src_loop),
12162 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
12163 (gst_base_src_start), (gst_base_src_change_state):
12164 * gst/base/gstbasesrc.h:
12165 Make basesrc negotiate.
12166 Handle the case where preroll fails in basesink.
12169 2005-07-06 Wim Taymans <wim@fluendo.com>
12171 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
12172 Implement the fixate function.
12173 Clean up acceptcaps.
12175 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12177 * docs/pwg/building-filterfactory.xml:
12178 * docs/pwg/pwg.xml:
12179 Remove never-written filter-factory chapter; I'll add the various
12180 base classes to part 4 ("other element types") later on.
12182 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12184 * docs/pwg/advanced-negotiation.xml:
12185 * docs/pwg/building-boiler.xml:
12186 * docs/pwg/building-pads.xml:
12187 * docs/pwg/pwg.xml:
12188 * examples/pwg/Makefile.am:
12189 Add a chapter on caps negotiation, simplify the original code
12190 samples a bit w.r.t. caps negotiation, add link to the advanced
12191 section. Add a bunch of examples showing different use cases of
12192 different types of caps negotiation. Upstream renegotiation isn't
12193 fully documented yet since nobody knows how that works.
12195 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
12197 * check/gst/gstpad.c:
12198 * check/gstcheck.c:
12199 * gst/gstpad.c: (gst_pad_get_internal_links_default):
12200 if pad has no parent, return NULL as list of internal links
12202 2005-07-05 Andy Wingo <wingo@pobox.com>
12204 * gst/elements/gstfilesrc.c:
12205 * gst/elements/gstfakesrc.c:
12206 * gst/base/gstpushsrc.c:
12207 * gst/base/gstbasesrc.h:
12208 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
12210 2005-07-05 Stefan Kost <ensonic@users.sf.net>
12213 better report generation target (lcov needs a patch)
12215 2005-07-05 Andy Wingo <wingo@pobox.com>
12217 * gst/elements, testsuite: Null if we got it...
12219 2005-07-05 Wim Taymans <wim@fluendo.com>
12222 * libs/gst/dataprotocol/Makefile.am:
12223 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
12224 * libs/gst/dataprotocol/dataprotocol.h:
12225 * pkgconfig/Makefile.am:
12226 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
12227 * pkgconfig/gstreamer-dataprotocol.pc.in:
12228 Ported dataprotol to 0.9.
12229 Added pkgconfig files.
12231 2005-07-05 Andy Wingo <wingo@pobox.com>
12233 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
12234 Default to returning TRUE for the case when tranform_caps returns
12235 a fixed caps, like for identity or volume.
12237 * check/gst/gstbus.c (pound_bus_with_messages):
12238 * check/gst/gstmessage.c (START_TEST):
12239 * check/pipelines/simple_launch_lines.c (got_handoff): Application
12240 message API change.
12242 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
12243 logic weaks here: always run transform_caps, trying passthrough
12244 operation only if the original caps intersects with the transform.
12246 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
12247 source and sink caps.
12249 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
12250 Intersect the peer caps with the pad template before going into
12252 (gst_base_transform_transform_caps): More debugging.
12254 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
12257 2005-07-04 Edward Hervey <edward@fluendo.com>
12261 (gst_pad_add_*_probe): now returns the signal id for better wrapping
12264 2005-07-04 Andy Wingo <wingo@pobox.com>
12266 * check/gst/gstpad.c: Only set explicit caps on pads.
12268 2005-07-01 Andy Wingo <wingo@pobox.com>
12270 * tests/network-clock.scm: Commentary update.
12272 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
12273 Didn't really make sense, not implementable with basetransform,
12275 (gst_identity_transform): Unref inbuf via make_writable. Feeble
12276 attempt at implementing the sync property, needs an unlock method.
12278 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
12279 New func, by default returns the same caps (the identity
12281 (gst_base_transform_getcaps): Uses transform_caps to return
12282 something sensible.
12283 (gst_base_transform_setcaps): Complicated logic to get caps on
12284 both pads, even if they are different, and to call set_caps once
12285 for every time both pads get their caps set.
12286 (gst_base_transform_handle_buffer): Give the ref to the transform
12287 function. Allows in-place modification of the buffer.
12289 * gst/base/gstbasetransform.h (transform_caps): New class method.
12290 Given caps on one side, what can I do on the other.
12291 (set_caps): Take two caps, one for each side of the element.
12294 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
12295 caps in place. This is safe because we can check the mutability of
12296 the caps, and a good idea because fixate functions are just called
12297 as a matter of last resort. (Not actually implemented.)
12298 (gst_pad_set_caps): If the caps we're setting is actually the same
12299 as the existing pad caps, just update the pointer without calling
12300 setcaps. Assert that caps is either NULL or fixed, as per the
12303 * gst/gstghostpad.c: Update for fixate changes.
12305 2005-07-02 Andy Wingo <wingo@pobox.com>
12308 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
12309 two refcounts makes it immutable, which is enough. Doc more.
12311 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
12313 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
12314 Put the mini_object into GValue as a mini_object,
12315 not a gpointer, since that's how we declared
12318 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12320 * examples/pwg/Makefile.am:
12321 Fix buildbot again.
12323 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12325 * docs/pwg/building-testapp.xml:
12327 * examples/pwg/Makefile.am:
12330 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12333 * examples/Makefile.am:
12334 * examples/pwg/Makefile.am:
12335 * examples/pwg/extract.pl:
12336 Enable building the PWG examples.
12337 * docs/pwg/advanced-interfaces.xml:
12338 Add URI interface stub.
12339 * docs/pwg/advanced-types.xml:
12340 * docs/pwg/other-autoplugger.xml:
12341 * docs/pwg/appendix-porting.xml:
12342 * docs/pwg/pwg.xml:
12343 Add porting guide (mostly stubs), remove autoplugging (see ADM).
12344 * docs/pwg/building-boiler.xml:
12345 * docs/pwg/building-chainfn.xml:
12346 * docs/pwg/building-pads.xml:
12347 * docs/pwg/building-props.xml:
12348 * docs/pwg/building-state.xml:
12349 * docs/pwg/building-testapp.xml:
12350 Update the building-*.xml parts for 0.9 changes. All examples
12351 code blocks compile in examples/pwg/*.
12353 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12355 * docs/manual/advanced-autoplugging.xml:
12356 * docs/manual/appendix-checklist.xml:
12357 * docs/manual/appendix-integration.xml:
12358 * docs/manual/highlevel-components.xml:
12359 Fix playbin/decodebin examples, update docs a bit, mention bus
12360 instead of signals in various places, mention kmplayer and
12361 kaffeine since they have a working GStreamer backend in the KDE
12364 2005-06-30 Wim Taymans <wim@fluendo.com>
12367 * docs/design/draft-ghostpads.txt:
12368 * docs/design/draft-push-pull.txt:
12369 * docs/design/draft-query.txt:
12370 * docs/design/part-TODO.txt:
12371 * docs/design/part-query.txt:
12372 Added CHANGES-0.9 doc, updated status of other docs.
12377 2005-06-30 Wim Taymans <wim@fluendo.com>
12379 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12380 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
12381 (gst_base_sink_change_state):
12382 * gst/base/gstbasesink.h:
12383 Some tweaks, only EOS and a buffer complete a preroll.
12385 2005-06-30 Andy Wingo <wingo@pobox.com>
12387 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
12388 activate_push down to the internal pad as well.
12390 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
12392 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12394 * gst/gsttaginterface.c:
12395 Some documentation fixes (#307394 and #307397).
12397 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
12399 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12401 * gst/gstvalue.c: (gst_value_intersect_list):
12402 Fix memleak (#309125).
12404 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12406 * docs/manual/advanced-dataaccess.xml:
12407 Fix fakesrc example to compile; doesn't work, bug somewhere...?
12408 * docs/manual/basics-pads.xml:
12409 Add reference for filtered caps to above chapter.
12411 2005-06-30 Wim Taymans <wim@fluendo.com>
12413 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
12414 (gst_bin_change_state):
12416 Lame attempt at making the state change function a bit
12419 2005-06-30 Wim Taymans <wim@fluendo.com>
12421 * docs/design/part-clocks.txt:
12422 * docs/design/part-element-sink.txt:
12423 * docs/design/part-events.txt:
12424 * docs/design/part-preroll.txt:
12425 * docs/design/part-states.txt:
12426 Some more tweeks and additions to the docs.
12428 2005-06-30 Wim Taymans <wim@fluendo.com>
12430 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12431 (default_have_data), (gst_pad_class_init), (gst_pad_init),
12432 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
12433 (gst_pad_check_pull_range), (gst_pad_get_range),
12434 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
12436 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
12437 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12438 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12439 (gst_pad_remove_buffer_probe):
12440 Removed atomic operations, use existing LOCK.
12441 Move exception handling out of main code path.
12443 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12445 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12446 (silly_return_true_function), (gst_pad_class_init),
12447 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
12448 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
12449 (gst_pad_send_event):
12450 Fix accumulator, add default value by using _emitv() instead
12451 of _emit() for signal emission.
12453 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12455 * docs/manual/advanced-dataaccess.xml:
12456 * examples/manual/Makefile.am:
12458 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
12461 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
12463 * gst/elements/gstfilesink.c: (gst_filesink_render):
12464 Simplify code so that we don't have to handle short
12465 writes and return GST_FLOW_ERROR if an error occured.
12467 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12469 * docs/gst/gstreamer-docs.sgml:
12470 Remove probes more.
12472 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12474 * docs/gst/gstreamer-sections.txt:
12475 * docs/gst/tmpl/gstpad.sgml:
12476 * docs/gst/tmpl/gstprobe.sgml:
12478 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
12479 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
12480 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12481 (gst_pad_push_event), (gst_pad_send_event):
12483 * gst/gstutils.c: (gst_pad_add_data_probe),
12484 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12485 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12486 (gst_pad_remove_buffer_probe):
12488 Remove old probes, add new g-signal-based probes and some utility
12491 2005-06-29 Edward Hervey <edward@fluendo.com>
12493 * gst/gstelementfactory.c:
12496 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
12497 the definition to the header file.
12499 2005-06-29 Andy Wingo <wingo@pobox.com>
12501 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
12502 plugins from the source directory.
12504 2005-06-29 Wim Taymans <wim@fluendo.com>
12506 * docs/gst/tmpl/gstbuffer.sgml:
12507 * docs/gst/tmpl/gstclock.sgml:
12508 Some fixings for blantently wrong text.
12510 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
12512 * check/Makefile.am:
12513 * gst/gst.c: (add_path_func), (init_pre):
12514 * gst/gstregistry.c: (gst_registry_add_path):
12515 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
12516 only scan the GST_PLUGIN_PATH locations, and not add
12519 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
12521 * docs/gst/gstreamer-sections.txt:
12522 * docs/gst/tmpl/gstbasesrc.sgml:
12523 * gst/gstelement.c:
12524 * gst/gstelement.h:
12529 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12531 * docs/manual/advanced-autoplugging.xml:
12532 Fix autoplugging example.
12534 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12536 * docs/manual/advanced-autoplugging.xml:
12537 * docs/manual/mime-world.fig:
12538 Try to get autoplugging working, fix type detection. Fix text
12539 in hello-world image.
12541 2005-06-29 Wim Taymans <wim@fluendo.com>
12543 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12544 (gst_base_sink_change_state):
12548 map SIGNAL and BROADCAST to the right function.
12551 Remove redundant braces.
12553 * gst/gstpad.c: (gst_pad_set_caps):
12554 Don't call setcaps function when reseting caps to NULL.
12556 * gst/gstsystemclock.c: (gst_system_clock_dispose),
12557 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
12558 (gst_system_clock_id_unschedule):
12559 Use BROADCAST as this is what we do.
12561 2005-06-29 Wim Taymans <wim@fluendo.com>
12563 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12564 We are actually prerolling before commiting the state
12567 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12569 * docs/manual/advanced-clocks.xml:
12570 * docs/manual/advanced-interfaces.xml:
12571 * docs/manual/advanced-metadata.xml:
12572 * docs/manual/advanced-position.xml:
12573 * docs/manual/advanced-schedulers.xml:
12574 * docs/manual/advanced-threads.xml:
12575 * docs/manual/appendix-porting.xml:
12576 * docs/manual/basics-bins.xml:
12577 * docs/manual/basics-bus.xml:
12578 * docs/manual/basics-elements.xml:
12579 * docs/manual/basics-helloworld.xml:
12580 * docs/manual/basics-pads.xml:
12581 * docs/manual/highlevel-components.xml:
12582 * docs/manual/manual.xml:
12583 * docs/manual/thread.fig:
12584 Update (until threads/scheduling) Application Development Manual;
12585 remove GstThread, add GstBus, add simple porting checklist, add
12586 documentation for tag writing, clocks, make all examples until this
12587 part compile and run.
12588 * examples/manual/Makefile.am:
12589 Update from changes to Application Development Manual; add bus
12590 example, remove thread example.
12592 2005-06-28 Wim Taymans <wim@fluendo.com>
12594 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
12595 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
12596 (gst_bus_source_dispatch):
12597 Add debugging messages.
12598 Make internal methods static.
12599 Handle the case where the bus is flushed in the handler.
12601 * gst/gstelement.c: (gst_element_get_bus):
12602 Fix refcount in _get_bus();
12604 * gst/gstpipeline.c: (gst_pipeline_change_state),
12605 (gst_pipeline_get_clock_func):
12606 Clock refcounting fixes.
12607 Handle the case where preroll timed out more gracefully.
12609 * gst/gstsystemclock.c: (gst_system_clock_dispose):
12610 Clean up the internal thread in dispose. This is needed
12611 for subclasses that actually get disposed.
12613 * gst/schedulers/threadscheduler.c:
12614 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12615 (gst_thread_scheduler_dispose):
12616 Free thread pool in dispose.
12618 2005-06-28 Andy Wingo <wingo@pobox.com>
12620 * tests/network-clock-utils.scm (debug, print-event): New utils.
12622 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
12623 (*packet-loss*): Unified loss probability.
12624 (network-time): Report out-of-band events.
12626 * tests/plot-data: Add support for out-of-band events. Hack it
12627 into this script instead of passing it down the pipe; should fix
12630 2005-06-28 Wim Taymans <wim@fluendo.com>
12632 * docs/gst/gstreamer.types:
12633 * docs/gst/tmpl/gstbasesrc.sgml:
12634 * docs/gst/tmpl/gstpad.sgml:
12637 2005-06-28 Wim Taymans <wim@fluendo.com>
12639 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12640 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
12641 (gst_proxy_pad_do_fixatecaps):
12642 Correctly proxy the check_pull_range function.
12644 2005-06-28 Andy Wingo <wingo@pobox.com>
12646 * tests/network-clock.scm: Removed need for slib.
12648 2005-06-28 Wim Taymans <wim@fluendo.com>
12650 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
12651 (gst_basesink_preroll_queue_flush):
12652 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
12653 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
12654 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12655 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12656 (gst_proxy_pad_set_property):
12659 * gst/gstqueue.c: (gst_queue_init):
12660 The deprecated pad loop function is removed now.
12662 2005-06-28 Andy Wingo <wingo@pobox.com>
12664 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
12665 New parameters, simulate network packet loss.
12667 * tests/network-clock-utils.scm: Initialize the RNG.
12669 2005-06-28 Wim Taymans <wim@fluendo.com>
12671 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
12672 (gst_basesink_event), (gst_basesink_deactivate):
12673 Flushing the preroll queue always needs to unlock the waiters.
12675 2005-06-28 Edward Hervey <edward@fluendo.com>
12677 * gst/gstpipeline.c: (gst_pipeline_send_event):
12678 Wheen a seek was successful on a pipeline, set the stream_time to the
12679 seek offset in order to have a synchronized stream_time.
12681 2005-06-28 Wim Taymans <wim@fluendo.com>
12683 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12684 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12685 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
12686 (gst_proxy_pad_do_fixatecaps):
12687 Call wrapper function instead of just calling the function
12688 pointers. This takes care of any locking and whatmore.
12690 2005-06-28 Wim Taymans <wim@fluendo.com>
12692 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
12693 (gst_pad_pull_range):
12695 CONNECTED -> LINKED.
12697 2005-06-28 Andy Wingo <wingo@pobox.com>
12699 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
12700 source-munging commit!!!
12702 * gst/gstobject.c (gst_object_unref, gst_object_ref)
12703 (gst_object_sink): Take gpointer arguments, not GstObject --
12704 avoids casts. Like GLib.
12706 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
12709 2005-06-27 Andy Wingo <wingo@pobox.com>
12711 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
12714 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
12715 returns a sorted copy of the trace list.
12716 (gst_alloc_trace_print_live): New API, only prints traces with
12717 live objects. Sort the list.
12718 (gst_alloc_trace_print_all): Sort the list.
12719 (gst_alloc_trace_print): Align columns.
12721 * gst/elements/gstttypefindelement.c:
12722 * gst/elements/gsttee.c:
12723 * gst/base/gstbasesrc.c:
12724 * gst/base/gstbasesink.c:
12725 * gst/base/gstbasetransform.c:
12726 * gst/gstqueue.c: Adapt for pad activation changes.
12728 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
12730 (gst_pipeline_dispose): Drop ref on sched.
12732 * gst/gstpad.c (gst_pad_init): Set the default activate func.
12733 (gst_pad_activate_default): Push mode by default.
12734 (pre_activate_switch, post_activate_switch): New stubs, things to
12735 do before and after switching activation modes on pads.
12736 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
12737 the pad's activate function to choose which mode to activate.
12738 Shortcut on deactivation and call the right function directly.
12739 (gst_pad_activate_pull): New API, (de)activates a pad in pull
12741 (gst_pad_activate_push): New API, same for push mode.
12742 (gst_pad_set_activate_function)
12743 (gst_pad_set_activatepull_function)
12744 (gst_pad_set_activatepush_function): Setters for new API.
12746 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
12747 Trace all miniobjects.
12748 (gst_mini_object_make_writable): Unref the arg if we copy, like
12749 gst_caps_make_writable.
12751 * gst/gstmessage.c (_gst_message_initialize): No trace init.
12753 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
12754 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
12755 Adapt for new pad API.
12757 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
12759 * gst/gstelement.h:
12760 * gst/gstelement.c (gst_element_iterate_src_pads)
12761 (gst_element_iterate_sink_pads): New API functions.
12763 * gst/gstelement.c (iterator_fold_with_resync): New utility,
12764 should fold into gstiterator.c in some form.
12765 (gst_element_pads_activate): Simplified via use of fold and
12766 delegation of decisions to gstpad->activate.
12768 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
12771 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
12772 class once in init, like gstmessage. Didn't run into this issue
12773 but it seems correct. Don't initialize a trace, gstminiobject does
12776 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
12777 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
12779 (assert_live_count): New util function, uses alloc traces to check
12782 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
12783 To be modified when unlink drops the internal pad.
12785 2005-06-27 Wim Taymans <wim@fluendo.com>
12787 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
12788 (gst_bin_change_state):
12789 Cleanup the get_state() function a little, make sure it
12790 iterates the same set of elements.
12791 Added stub iterate_state_order().
12793 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
12795 * docs/gst/gstreamer-docs.sgml:
12796 * docs/gst/gstreamer-sections.txt:
12797 * docs/gst/gstreamer.types:
12798 * docs/gst/tmpl/gstbasesink.sgml:
12799 * docs/gst/tmpl/gstbasesrc.sgml:
12800 * docs/gst/tmpl/gstbasetransform.sgml:
12801 * docs/gst/tmpl/gstelement.sgml:
12802 * docs/gst/tmpl/gstiterator.sgml:
12803 * gst/base/gstbasesrc.c:
12804 * gst/base/gstbasesrc.h:
12805 * gst/base/gstbasetransform.h:
12806 * gst/gstelement.c:
12807 * gst/gstiterator.h:
12808 adding basetransform and iterator docs
12810 2005-06-27 Andy Wingo <wingo@pobox.com>
12812 * docs/design/part-activation.txt: Notes on how activation should
12813 work -- not quite implemented yet.
12815 2005-06-25 Wim Taymans <wim@fluendo.com>
12817 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
12818 At least get the chain function correct, needs more
12821 2005-06-25 Wim Taymans <wim@fluendo.com>
12823 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12824 (gst_basesink_handle_object), (gst_basesink_event),
12825 (gst_basesink_do_sync), (gst_basesink_handle_event),
12826 (gst_basesink_change_state):
12828 Right, two problems here: ghostpads don't take locks and
12829 glib _rec_mutex_lock_full() with depth==0 still locks.
12830 Catch illegal locking and g_warn them.
12832 2005-06-25 Wim Taymans <wim@fluendo.com>
12834 * check/states/sinks.c: (START_TEST), (gst_object_suite):
12835 Have to check for completion now...
12837 2005-06-25 Wim Taymans <wim@fluendo.com>
12839 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12840 (gst_basesink_handle_object), (gst_basesink_event),
12841 (gst_basesink_do_sync), (gst_basesink_handle_event),
12842 (gst_basesink_change_state):
12844 Unlock STREAM_LOCK whatever the recursion was.
12846 2005-06-25 Wim Taymans <wim@fluendo.com>
12848 * gst/base/gstbasesink.c: (gst_basesink_set_property),
12849 (gst_basesink_preroll_queue_empty),
12850 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
12851 (gst_basesink_event), (gst_basesink_do_sync),
12852 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
12853 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
12854 (gst_basesink_change_state):
12855 Reworked the base sink, handle event and buffer serialisation
12856 correctly and removed possible deadlock.
12857 Handle EOS correctly.
12859 2005-06-25 Wim Taymans <wim@fluendo.com>
12861 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
12862 (gst_pipeline_change_state):
12863 * tools/gst-launch.c: (check_intr), (event_loop), (main):
12864 Allow elements to post EOS in the state change function.
12865 Fix up -launch, make it exit the poll loop when the
12866 pipeline actually changed state.
12867 Fix up warning parsing in -launch.
12869 2005-06-25 Wim Taymans <wim@fluendo.com>
12871 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
12872 (gst_tee_sink_activate):
12873 Core takes STREAM_LOCK for us now.
12875 2005-06-25 Wim Taymans <wim@fluendo.com>
12877 * gst/gstelement.c: (gst_element_get_state_func),
12878 (gst_element_set_state):
12879 * gst/gstelement.h:
12880 * gst/gstmessage.c: (gst_message_parse_error),
12881 (gst_message_parse_warning):
12882 Keep track of current target state while performing a state
12883 change so that subclasses can do something interesting.
12884 Fix parsing of warning/error messages when GError is NULL.
12886 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
12888 * docs/gst/Makefile.am:
12889 * docs/gst/gstreamer-docs.sgml:
12890 * docs/gst/gstreamer-sections.txt:
12891 * docs/gst/gstreamer.types:
12892 * docs/gst/tmpl/gstbasesink.sgml:
12893 * docs/gst/tmpl/gstbasesrc.sgml:
12894 * docs/gst/tmpl/gstbin.sgml:
12895 * docs/gst/tmpl/gstcompat.sgml:
12896 * docs/gst/tmpl/gstfakesink.sgml:
12897 * docs/gst/tmpl/gstfakesrc.sgml:
12898 * docs/gst/tmpl/gstfilesink.sgml:
12899 * docs/gst/tmpl/gstfilesrc.sgml:
12900 * docs/gst/tmpl/gstindex.sgml:
12901 * docs/manual/appendix-quotes.xml:
12902 * gst/base/gstbasesrc.h:
12903 * gst/elements/gstfakesrc.h:
12904 * gst/gstmessage.h:
12905 start pulling in base classes and elements in our docs
12907 2005-06-24 Stefan Kost <ensonic@users.sf.net>
12909 * docs/gst/Makefile.am:
12910 * docs/libs/Makefile.am:
12911 fixed make distcheck with gtk-doc 1.3
12913 2005-06-23 Wim Taymans <wim@fluendo.com>
12915 * gst/gstelement.c: (gst_element_get_state_func),
12916 (gst_element_set_state), (gst_element_change_state):
12917 When the state did not change, also report NO_PREROLL
12920 2005-06-23 Wim Taymans <wim@fluendo.com>
12922 * gst/gstpad.c: (gst_pad_event_default):
12923 * gst/gstqueue.c: (gst_queue_loop):
12924 No unsafe task pausing please.
12926 2005-06-23 Wim Taymans <wim@fluendo.com>
12928 * gst/schedulers/threadscheduler.c:
12929 (gst_thread_scheduler_task_start),
12930 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
12931 Ref the task before pushing it on the threadpool. This
12932 makes sure that we have a ref when the threadfunction is
12935 2005-06-23 Andy Wingo <wingo@pobox.com>
12937 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
12938 offset is greater than the file's size.
12940 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
12941 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
12942 * gst/gstobject.c (gst_object_class_init): Make the class lock
12943 recursive. Wim won't let me drop deep_notify. Decodebin works
12944 again, whoopdy doo.
12946 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
12947 internal pad, and hacks accordingly. Doesn't do it on the target
12948 pad because we change its caps. Probably catches all cases of
12950 (gst_ghost_pad_set_property): Connect to notify::caps as
12953 * tests/network-clock.scm (plot-simulation): Pipe data to the
12954 elite python skript.
12956 * tests/network-clock-utils.scm (define-parameter): New macro,
12957 defines a parameter that can be set via the command line.
12958 (set-parameter!, parse-parameter-arguments): Command line args
12961 * tests/plot-data: Simple matplotlib-based plotter, takes input on
12964 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
12966 * gst/elements/gsttypefindelement.c:
12967 (gst_type_find_element_handle_event):
12968 Don't restart typefinding on a discont.
12969 * gst/gstelement.c: (gst_element_set_state):
12970 Debug spelling fix.
12971 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
12972 Allow changing mode of an active pad.
12973 Debug output fixes.
12974 * gst/registries/gstlibxmlregistry.c: (load_feature):
12975 Don't cast a static pad template to a normal pad template.
12977 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
12979 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12980 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12981 remove gst_strtoll completely, since it didn't actually do
12982 anything more than what g_ascii_strtoull already does.
12983 check for range errors when deserializing
12984 do a cast for the unsigned cases; but further fixing needs
12985 a decision on what the interpretation of "(int)" and
12986 deserialization should be for values that fall outside the
12987 type's boundaries (ie, refuse, or interpret as casting)
12989 2005-06-23 Wim Taymans <wim@fluendo.com>
12991 * check/Makefile.am:
12992 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
12993 * docs/design/part-live-source.txt:
12994 * docs/design/part-states.txt:
12995 * gst/base/gstbasesrc.c: (gst_basesrc_init),
12996 (gst_basesrc_set_live), (gst_basesrc_is_live),
12997 (gst_basesrc_get_range), (gst_basesrc_activate),
12998 (gst_basesrc_change_state):
12999 * gst/base/gstbasesrc.h:
13000 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13001 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13002 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
13003 * gst/gstelement.c: (gst_element_get_state_func),
13004 (gst_element_set_state):
13005 * gst/gstelement.h:
13007 * tools/gst-launch.c: (event_loop), (main):
13008 Added support for live sources and other elements that
13010 Updated design docs, added live-source design doc.
13011 Implemented live source functionality in basesrc
13012 Fix error condition in _bin_get_state()
13013 Implement live source handling in -launch.
13014 Added check for live sources.
13015 Fixed case in GstBin where elements were changed state
13019 2005-06-23 Andy Wingo <wingo@pobox.com>
13021 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
13022 borken refcounting.
13024 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
13025 gst_caps_replace takes care of this for us.
13027 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
13028 gst_pad_set_caps on the target, not just its setcaps() function.
13030 * tests/network-clock.scm:
13031 * tests/network-clock-utils.scm: A network clock simulator.
13032 Something of an algorithmic testbed before doing something in C.
13034 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
13036 * check/Makefile.am:
13037 * check/gst/capslist.h:
13038 copy over from 0.8, and add two with bitmasks specified with
13040 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13041 add test to parse everything from capslist.h
13042 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
13044 add test for structure deserialization
13045 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13046 add tests for deserialization of strings to int types
13047 * gst/gststructure.c: (gst_structure_nth_field_name):
13048 * gst/gststructure.h:
13049 add a way to get the name of a field referenced by index
13050 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
13051 instead of checking if the resulting long long lies between
13052 min and max, we check if the long long would fit into
13053 a number of bytes for the final type.
13054 This fixes cases where a string represents 2^32 - 1, which
13055 when cast to int would be the (valid) -1, but is bigger than
13058 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
13060 * gst/parse/grammar.y:
13061 add a log line for type deserialization
13063 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
13065 * check/gst/gstvalue.c: (START_TEST):
13066 * gst/gstvalue.c: (gst_value_deserialize):
13067 return long long, not int, so gint64 deserialization actually
13068 works. Is there any flag that makes the compiler check this ?
13071 2005-06-22 Wim Taymans <wim@fluendo.com>
13074 Added convenience macros for setting buffers in GValue.
13076 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
13078 * check/gst/.cvsignore:
13079 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
13080 add a test deserializing int64, and comment part out because
13083 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
13085 * check/Makefile.am:
13086 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
13087 * testsuite/Makefile.am:
13088 * testsuite/caps/Makefile.am:
13089 * testsuite/caps/value_serialize.c:
13090 * testsuite/test_gst_init.c:
13091 move a value_serialize test over
13093 2005-06-20 Wim Taymans <wim@fluendo.com>
13098 * gst/gstvalue.c: (gst_value_compare_buffer),
13099 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
13100 (gst_value_compare_flags), (gst_value_serialize_flags),
13101 (gst_value_deserialize_flags), (_gst_value_initialize):
13102 Fix serialisation of buffers, they are not boxed types anymore
13104 2005-06-20 Wim Taymans <wim@fluendo.com>
13106 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
13107 Testcase to show error in buffer-on-caps serialisation.
13109 2005-06-20 Andy Wingo <wingo@pobox.com>
13111 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
13112 will be adding to later.
13114 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
13115 if its socks fill with rocks.
13116 (gst_system_clock_obtain): Set the name on object construction.
13117 Avoid double-checked locking.
13119 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
13121 * gst/gsturi.c: (gst_element_make_from_uri):
13122 Fix potential endless loop.
13124 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
13126 * check/Makefile.am:
13128 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
13130 move over from testsuite dir and clean up
13133 * testsuite/Makefile.am:
13134 * testsuite/tags/.cvsignore:
13135 * testsuite/tags/Makefile.am:
13136 * testsuite/tags/merge.c:
13137 remove testsuite/tags
13139 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
13141 * docs/gst/gstreamer-sections.txt:
13142 * docs/gst/tmpl/gstenumtypes.sgml:
13143 * win32/gstenumtypes.c:
13144 clean up documentation build a little
13146 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
13148 * check/gstcheck.h:
13149 add macros for checking refcounts on objects and caps
13150 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
13151 add some more unit tests
13152 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13153 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
13154 fix leaked refcounts (I hope :)) so unittest works
13158 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
13160 * configure.ac: back to HEAD
13162 === release 0.9.1 ===
13164 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
13170 2005-06-17 Andy Wingo <wingo@pobox.com>
13172 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
13173 assert; it's always possible that the pad gets deactivated in
13174 between the checks in gstpad.c and the implementation. Rely on
13175 finish_preroll() to return a FLUSHING or similar instead of on the
13178 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
13179 clock and post an EOS message if we come out of finish_preroll in
13182 2005-06-16 David Schleef <ds@schleef.org>
13184 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13185 (gst_capsfilter_set_property): Allow NULL as possible value
13186 for filter_caps property, indicating GST_CAPS_ANY.
13188 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
13190 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
13192 * gst/schedulers/Makefile.am:
13194 * gstreamer.spec.in:
13197 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
13199 * gstreamer.spec.in:
13202 2005-06-08 Andy Wingo <wingo@pobox.com>
13204 * gst/gstutils.c: RPAD fixes all around.
13205 (gst_element_link_pads): Refcounting fixes.
13207 * tools/gst-inspect.c:
13208 * tools/gst-xmlinspect.c:
13210 * gst/base/gsttypefindhelper.c:
13211 * gst/base/gstbasesink.c:
13212 * gst/gstqueue.c: RPAD fixes.
13214 * gst/gstghostpad.h:
13215 * gst/gstghostpad.c: New ghost pad implementation as full proxy
13216 pads. The tricky thing is they provide both source and sink
13217 interfaces, since they proxy the internal pad for the external
13218 pad, and vice versa. Implement with lower-level ProxyPad objects,
13219 with the interior proxy pad as a child of the exterior ghost pad.
13220 Should write a doc on this.
13222 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
13223 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
13226 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
13227 pads are real pads. No ghost pads in this file. Not documenting
13228 the myriad s/RPAD/PAD/ and REALIZE fixes.
13229 (gst_pad_class_init): Add properties for "direction" and
13230 "template". Both are construct-only, so they can't change during
13231 the life of the pad. Fixes properly deriving from GstPad.
13232 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
13233 derived objects, just set properties when creating the objects via
13235 (gst_pad_get_parent): Implement as a function, return NULL if the
13236 parent is not an element.
13237 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
13238 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
13240 * gst/gstobject.c (gst_object_class_init): Make name a construct
13241 property. Don't set it in the object init.
13243 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
13244 with UNKNOWN direction.
13245 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
13246 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
13247 (gst_element_remove_pad): Remove ghost-pad special cases.
13248 (gst_element_pads_activate): Remove rpad cruft.
13250 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
13251 catch the pad's-parent-not-an-element case.
13253 * gst/gst.h: Include gstghostpad.h.
13255 * gst/gst.c (init_post): No more real, ghost pads.
13257 * gst/Makefile.am: Add gstghostpad.[ch].
13259 * check/Makefile.am:
13260 * check/gst/gstbin.c:
13261 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
13262 into a bin creates ghost pads, and that the refcounts are right.
13263 Partly moved from gstbin.c.
13265 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
13267 * check/gst-libs/.cvsignore:
13268 * check/gst/.cvsignore:
13269 * check/pipelines/.cvsignore:
13271 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
13272 (START_TEST), (cleanup_suite), (main):
13273 add some tests related to cleanup after running pipelines
13275 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
13277 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
13278 add a testsuite for GstBuffer
13280 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
13282 * gst/gstminiobject.h:
13283 add defines for accessing the refcount
13285 2005-06-03 Stefan Kost <ensonic@users.sf.net>
13287 * Makefile.am: added support for html unit test coverage reports
13289 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
13291 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13292 Free existing caps if the capsfilter changes. Add a FIXME about
13293 setting those caps on the pads.
13295 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
13296 Before adding a ghost pad to a parent bin, check that there isn't
13297 already one for the element on the bin. Prevents infinite recursion
13298 when using decodebin in parse pipelines. Andy says he'll rewrite the
13299 way this works anyway, so ignore the hack.
13301 2005-06-02 Andy Wingo <wingo@pobox.com>
13303 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
13304 file size, pass it on to the type find helper.
13306 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
13307 segment_start and segment_end properly according to the seek
13308 method. Segment_end is still a bit flaky because offset can be
13309 negative for CUR and END cases, but it takes -1 as an "unset"
13312 2005-06-02 Wim Taymans <wim@fluendo.com>
13314 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
13315 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
13316 (gst_basesink_activate):
13317 * gst/base/gstbasesink.h:
13318 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13319 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
13320 (gst_pad_query), (gst_pad_start_task):
13322 * gst/gstqueue.c: (gst_queue_bufferalloc),
13323 (gst_queue_handle_sink_event), (gst_queue_chain):
13324 Bufferalloc: return GstFlowReturn to more accuratly report
13325 why allocation failed.
13327 2005-06-02 Wim Taymans <wim@fluendo.com>
13329 * gst/gstpipeline.c: (gst_pipeline_send_event):
13330 Take snapshot of state without blocking.
13332 2005-06-02 Wim Taymans <wim@fluendo.com>
13334 * docs/design/part-TODO.txt:
13335 * docs/design/part-caps.txt:
13336 * docs/design/part-clocks.txt:
13337 * docs/design/part-negotiation.txt:
13338 * docs/design/part-preroll.txt:
13341 2005-05-30 Wim Taymans <wim@fluendo.com>
13343 * gst/elements/gstidentity.c: (gst_identity_event),
13344 (gst_identity_transform), (gst_identity_get_property):
13345 Protect last_message property as it is accessed from
13348 2005-05-30 Wim Taymans <wim@fluendo.com>
13350 * gst/gstelement.c: (gst_element_init),
13351 (gst_element_pads_activate), (gst_element_change_state):
13352 Slicker pad activation code.
13354 2005-05-30 Wim Taymans <wim@fluendo.com>
13357 * gst/gstelement.h:
13358 * gst/gstelementfactory.h:
13360 Move elementfactory methods to separate .h file.
13362 2005-05-30 Wim Taymans <wim@fluendo.com>
13364 * docs/design/part-overview.txt:
13365 * gst/gstsystemclock.h:
13366 Small typo fixes, doc updates.
13368 2005-05-30 Wim Taymans <wim@fluendo.com>
13370 * gst/gst.c: (gst_init_get_popt_table), (init_post),
13371 (init_popt_callback):
13372 Remove cpu-opt flag.
13374 2005-05-30 Wim Taymans <wim@fluendo.com>
13376 * gst/gstbuffer.c: (gst_subbuffer_finalize),
13377 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
13379 Avoid typechecking in places where not needed.
13380 Added accessor for malloc_data.
13382 2005-05-30 Wim Taymans <wim@fluendo.com>
13384 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
13385 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
13386 (gst_pad_configure_sink), (gst_pad_configure_src),
13387 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
13388 (gst_pad_start_task):
13389 Propagate errors from _set_caps() in configure_src/sink
13390 functions instead of returning TRUE.
13391 FLUSH events can travel up and downstream
13394 2005-05-30 Wim Taymans <wim@fluendo.com>
13396 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
13397 (gst_basesink_activate):
13398 Handle EOS in preroll.
13400 2005-05-30 Wim Taymans <wim@fluendo.com>
13402 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13403 (gst_queue_loop), (gst_queue_handle_src_event):
13404 Remove old pieces of code
13405 Flushing the queue in an upstream event is a very bad idea.
13407 2005-05-26 Andy Wingo <wingo@pobox.com>
13409 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
13410 gst_value_set_mini_object so as to add a ref on the object (which
13411 will be removed when the value is unset).
13413 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
13414 arg type in ::handoff.
13416 * gst/gstelement.c (gst_element_change_state): Also deactivate
13417 pads in READY->NULL, just in case the element didn't make it to
13418 PAUSED. Wingo tested, Wim approved.
13420 2005-05-26 Wim Taymans <wim@fluendo.com>
13422 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13423 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
13424 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
13425 A flushing pad cannot be used to alloc_buffer from.
13427 2005-05-26 Wim Taymans <wim@fluendo.com>
13429 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
13430 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
13431 (gst_bus_source_dispatch), (gst_bus_source_finalize),
13432 (gst_bus_create_watch), (gst_bus_add_watch_full):
13434 Implement a real GSource and use g_main_context_wakeup() to
13435 signal new messages instead of the socketpair.
13437 2005-05-25 Wim Taymans <wim@fluendo.com>
13439 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
13440 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
13441 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13442 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
13443 (gst_pad_send_event), (gst_pad_start_task):
13444 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
13445 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13446 (gst_queue_sink_activate), (gst_queue_src_activate),
13447 (gst_queue_change_state):
13449 Fix state changes for non sinks. We now change sinks, then elements
13450 with unconnected srcpads, then the rest.
13451 More efficient queue unlocking in flush and state changes.
13452 Set the pad activate mode even if it does not have an activate
13455 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13457 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
13458 Don't go in pull mode for non-seekable sources.
13459 * gst/elements/gsttypefindelement.h:
13460 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
13461 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
13462 (free_entry), (stop_typefinding),
13463 (gst_type_find_element_handle_event), (find_peek),
13464 (gst_type_find_element_chain), (do_pull_typefind),
13465 (gst_type_find_element_change_state):
13466 Allow typefinding (w/o seeking) in push-mode, simplified version
13467 of what was in 0.8.
13468 * gst/gstutils.c: (gst_buffer_join):
13470 gst_buffer_join() from 0.8.
13472 2005-05-25 Wim Taymans <wim@fluendo.com>
13474 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
13475 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
13476 (gst_pad_send_event), (gst_pad_start_task):
13477 Disable attempt at mode switching until it is figured out.
13479 2005-05-25 Wim Taymans <wim@fluendo.com>
13481 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
13482 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
13483 (gst_basesink_finish_preroll), (gst_basesink_chain),
13484 (gst_basesink_loop), (gst_basesink_activate),
13485 (gst_basesink_change_state):
13486 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
13487 (gst_basesrc_get_range), (gst_basesrc_loop),
13488 (gst_basesrc_activate):
13489 * gst/elements/gsttee.c: (gst_tee_sink_activate):
13490 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13491 (gst_real_pad_init), (gst_real_pad_set_property),
13492 (gst_real_pad_get_property), (gst_pad_set_active),
13493 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
13494 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
13495 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
13496 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
13497 (gst_pad_event_default_dispatch), (gst_pad_event_default),
13498 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
13499 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
13500 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
13501 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
13502 (gst_pad_stop_task):
13504 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13505 (gst_queue_loop), (gst_queue_src_activate):
13506 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
13507 (gst_task_get_state):
13509 * gst/schedulers/threadscheduler.c:
13510 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
13511 Implement gst_pad_pause/start/stop_task(), take STREAM lock
13513 Remove ACTIVE pad flag, use FLUSHING everywhere
13514 Added _pad_chain(), _pad_get_range() to call chain/getrange
13516 Add locks around IS_FLUSHING when reading.
13517 Take STREAM lock in chain(), get_range() functions so plugins
13518 don't need to take it anymore.
13522 2005-05-25 Wim Taymans <wim@fluendo.com>
13524 * tools/gst-launch.c: (event_loop):
13525 Unref message after using its contents instead of
13528 2005-05-24 Wim Taymans <wim@fluendo.com>
13530 * docs/design/draft-ghostpads.txt:
13531 * docs/design/draft-push-pull.txt:
13532 * docs/design/draft-query.txt:
13533 * docs/design/part-overview.txt:
13534 Docs updates, added general overview doc.
13536 2005-05-21 David Schleef <ds@schleef.org>
13538 * docs/gst/tmpl/old/GstBin.sgml:
13539 * docs/gst/tmpl/old/GstBuffer.sgml:
13540 * docs/gst/tmpl/old/GstCaps.sgml:
13541 * docs/gst/tmpl/old/GstClock.sgml:
13542 * docs/gst/tmpl/old/GstCompat.sgml:
13543 * docs/gst/tmpl/old/GstData.sgml:
13544 * docs/gst/tmpl/old/GstElement.sgml:
13545 * docs/gst/tmpl/old/GstEvent.sgml:
13546 * docs/gst/tmpl/old/GstIndex.sgml:
13547 * docs/gst/tmpl/old/GstStructure.sgml:
13548 * docs/gst/tmpl/old/GstTag.sgml:
13549 * docs/gst/tmpl/old/cothreads.sgml:
13550 * docs/gst/tmpl/old/cothreads_compat.sgml:
13551 * docs/gst/tmpl/old/gettext.sgml:
13552 * docs/gst/tmpl/old/gobject2gtk.sgml:
13553 * docs/gst/tmpl/old/grammar.tab.sgml:
13554 * docs/gst/tmpl/old/gst-i18n-app.sgml:
13555 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
13556 * docs/gst/tmpl/old/gst_private.sgml:
13557 * docs/gst/tmpl/old/gstaggregator.sgml:
13558 * docs/gst/tmpl/old/gstarch.sgml:
13559 * docs/gst/tmpl/old/gstatomic_impl.sgml:
13560 * docs/gst/tmpl/old/gstbufferstore.sgml:
13561 * docs/gst/tmpl/old/gstdata_private.sgml:
13562 * docs/gst/tmpl/old/gstdisksink.sgml:
13563 * docs/gst/tmpl/old/gstdisksrc.sgml:
13564 * docs/gst/tmpl/old/gstelementfactory.sgml:
13565 * docs/gst/tmpl/old/gstextratypes.sgml:
13566 * docs/gst/tmpl/old/gstfakesink.sgml:
13567 * docs/gst/tmpl/old/gstfakesrc.sgml:
13568 * docs/gst/tmpl/old/gstfdsink.sgml:
13569 * docs/gst/tmpl/old/gstfdsrc.sgml:
13570 * docs/gst/tmpl/old/gstfilesink.sgml:
13571 * docs/gst/tmpl/old/gstfilesrc.sgml:
13572 * docs/gst/tmpl/old/gsthttpsrc.sgml:
13573 * docs/gst/tmpl/old/gstidentity.sgml:
13574 * docs/gst/tmpl/old/gstindexfactory.sgml:
13575 * docs/gst/tmpl/old/gstmarshal.sgml:
13576 * docs/gst/tmpl/old/gstmd5sink.sgml:
13577 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
13578 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
13579 * docs/gst/tmpl/old/gstpadtemplate.sgml:
13580 * docs/gst/tmpl/old/gstpipefilter.sgml:
13581 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
13582 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
13583 * docs/gst/tmpl/old/gstshaper.sgml:
13584 * docs/gst/tmpl/old/gstspider.sgml:
13585 * docs/gst/tmpl/old/gstspideridentity.sgml:
13586 * docs/gst/tmpl/old/gststatistics.sgml:
13587 * docs/gst/tmpl/old/gsttee.sgml:
13588 * docs/gst/tmpl/old/gsttimecache.sgml:
13589 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
13590 * docs/gst/tmpl/old/gstxmlregistry.sgml:
13591 * docs/gst/tmpl/old/gthread-cothreads.sgml:
13592 * docs/gst/tmpl/old/types.sgml:
13593 I didn't intend to add these or check them in.
13595 2005-05-19 David Schleef <ds@schleef.org>
13597 * configure.ac: Use -no-common everywhere. In a sane world, it
13598 would be the default in libtool, because without it, you can't
13599 build DLLs on Windows.
13600 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
13601 * docs/gst/gstreamer-sections.txt:
13602 * docs/gst/tmpl/gstcpu.sgml:
13603 * docs/gst/tmpl/gstdata.sgml:
13604 * docs/gst/tmpl/gstthread.sgml:
13606 2005-05-19 David Schleef <ds@schleef.org>
13608 * gst/gstminiobject.c: (gst_value_set_mini_object),
13609 (gst_value_take_mini_object), (gst_value_get_mini_object):
13610 * gst/gstminiobject.h: Add GValue set/get functions.
13612 2005-05-19 Wim Taymans <wim@fluendo.com>
13614 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
13615 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
13616 (gst_subbuffer_init), (gst_buffer_is_span_fast):
13618 * gst/gstbus.c: (gst_bus_post):
13619 * gst/gstelement.c: (gst_element_get_random_pad):
13620 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
13621 Make subbufer unref the parent in finalize.
13622 some more debugging info.
13625 2005-05-19 Wim Taymans <wim@fluendo.com>
13627 * gst/base/gstbasesink.c: (gst_basesink_class_init),
13628 (gst_basesink_init), (gst_basesink_finalize),
13629 (gst_basesink_activate), (gst_basesink_change_state):
13630 Don't free preroll queue too early.
13632 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13636 Hi, I'm outdated. Please shoot me.
13638 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13640 * gst/gstpipeline.c: (gst_pipeline_send_event):
13641 Do not access variables after they have been deleted.
13643 2005-05-19 Wim Taymans <wim@fluendo.com>
13645 * tools/gst-inspect.c: (print_plugin_features):
13646 A plugin feature does unfortunatly not use the
13649 2005-05-18 Wim Taymans <wim@fluendo.com>
13651 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
13652 Port _span() functions to new subbuffers.
13654 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13656 * gst/gstbin.c: (gst_bin_add_func):
13657 Fix clock settery in bins when adding kids after the clock has
13660 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13662 * gst/elements/gstidentity.c: (gst_identity_class_init):
13663 Workaround until signals support GstMiniObject.
13665 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
13668 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
13670 2005-05-18 Wim Taymans <wim@fluendo.com>
13672 * gst/base/Makefile.am:
13673 * gst/base/gstadapter.c: (gst_adapter_base_init),
13674 (gst_adapter_class_init), (gst_adapter_init),
13675 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
13676 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
13677 (gst_adapter_flush), (gst_adapter_available),
13678 (gst_adapter_available_fast):
13679 * gst/base/gstadapter.h:
13680 Ported and added adapter to the base classes.
13682 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13685 * gst/gstmessage.c:
13686 Make sure the class is reffed/unreffed once before threads can be
13687 used. Fixes #304551.
13689 2005-05-17 Wim Taymans <wim@fluendo.com>
13691 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
13692 (gst_basesink_chain_unlocked), (gst_basesink_activate):
13693 * gst/gstminiobject.c: (gst_mini_object_get_type),
13694 (gst_mini_object_free):
13695 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
13696 (gst_pad_push), (gst_pad_push_event):
13697 * gst/gstqueue.c: (gst_queue_change_state):
13698 Don't queue buffers in basesink when we are flushing.
13699 Unref buffer when flushing in basesink.
13700 Flush queue when going to READY
13701 Unref buffer when _push() returns an error.
13702 Don't free MiniObject instance when refcount is incremented
13703 in _finalize() so that we can recover objects.
13705 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
13707 * docs/manual/advanced-schedulers.xml:
13708 * docs/manual/appendix-checklist.xml:
13709 * docs/pwg/advanced-clock.xml:
13710 * docs/pwg/advanced-interfaces.xml:
13711 * docs/pwg/advanced-request.xml:
13712 * docs/pwg/advanced-types.xml:
13713 * docs/pwg/intro-preface.xml:
13714 * examples/plugins/example.c: (gst_example_get_type),
13715 (gst_example_class_init), (gst_example_chain),
13716 (gst_example_set_property), (gst_example_get_property),
13717 (gst_example_change_state), (plugin_init):
13718 * examples/plugins/example.h:
13721 2005-05-17 Wim Taymans <wim@fluendo.com>
13723 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
13724 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
13725 * gst/gstqueue.c: (gst_queue_change_state):
13726 Clear queue when going to READY.
13727 Remove IN_SETCAPS flag too.
13729 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
13731 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
13732 Remove implicit cast from gboolean to GstElementStateReturn;
13733 make sure we still return failure in paused => ready case if
13734 the parent class fails to change state and our own stop
13737 2005-05-17 Wim Taymans <wim@fluendo.com>
13739 * tools/gst-launch.c: (event_loop):
13740 Message was unreffed too soon.
13742 2005-05-16 Andy Wingo <wingo@pobox.com>
13744 * gst/gstbin.c (sink_iterator_filter): Err... um...
13746 * check/gst/gstbin.c (test_ghost_pads): New test for the
13747 ghosting-if-elements-not-in-same-bin behavior.
13749 2005-05-16 David Schleef <ds@schleef.org>
13751 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
13752 accessing refcount directly.
13754 2005-05-15 David Schleef <ds@schleef.org>
13756 * check/Makefile.am: remove GstData checks
13757 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
13758 * gst/Makefile.am: add miniobject, remove data
13759 * gst/gst.h: add miniobject, remove data
13760 * gst/gstdata.c: remove
13761 * gst/gstdata.h: remove
13762 * gst/gstdata_private.h: remove
13763 * gst/gsttypes.h: remove GstEvent and GstMessage
13764 * gst/gstelement.c: (gst_element_post_message): fix for API changes
13765 * gst/gstmarshal.list: change BOXED -> OBJECT
13767 Implement GstMiniObject.
13768 * gst/gstminiobject.c:
13769 * gst/gstminiobject.h:
13771 Modify to be subclasses of GstMiniObject.
13772 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
13773 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
13774 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
13775 (gst_subbuffer_get_type), (gst_subbuffer_init),
13776 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
13779 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
13780 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
13781 (_gst_event_copy), (gst_event_new):
13783 * gst/gstmessage.c: (_gst_message_initialize),
13784 (gst_message_get_type), (gst_message_class_init),
13785 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
13786 (gst_message_new), (gst_message_new_error),
13787 (gst_message_new_warning), (gst_message_new_tag),
13788 (gst_message_new_state_changed), (gst_message_new_application):
13789 * gst/gstmessage.h:
13790 * gst/gstprobe.c: (gst_probe_perform),
13791 (gst_probe_dispatcher_dispatch):
13793 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
13794 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
13795 (_gst_query_copy), (gst_query_new):
13797 Update elements for GstData -> GstMiniObject changes
13799 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
13800 (gst_queue_chain), (gst_queue_loop):
13801 * gst/elements/gstbufferstore.c:
13802 (gst_buffer_store_add_buffer_func),
13803 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
13804 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13805 (gst_fakesink_render):
13806 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13807 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
13808 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
13809 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
13810 (gst_filesrc_create_read):
13811 * gst/elements/gstidentity.c: (gst_identity_class_init):
13812 * gst/elements/gsttypefindelement.c:
13813 (gst_type_find_element_src_event), (free_entry_buffers),
13814 (gst_type_find_element_handle_event):
13815 * libs/gst/dataprotocol/dataprotocol.c:
13816 (gst_dp_header_from_buffer):
13817 * libs/gst/dataprotocol/dataprotocol.h:
13818 * libs/gst/dataprotocol/dp-private.h:
13820 2005-05-15 David Schleef <ds@schleef.org>
13822 * gst/elements/gstelements.c: Don't include headers that were
13825 2005-05-15 David Schleef <ds@schleef.org>
13827 * gst/elements/Makefile.am: Remove some elements that don't
13828 need to be in the core (or even exist at all).
13829 * gst/elements/gstaggregator.c:
13830 * gst/elements/gstaggregator.h:
13831 * gst/elements/gstmd5sink.c:
13832 * gst/elements/gstmd5sink.h:
13833 * gst/elements/gstmultifilesrc.c:
13834 * gst/elements/gstmultifilesrc.h:
13835 * gst/elements/gstpipefilter.c:
13836 * gst/elements/gstpipefilter.h:
13837 * gst/elements/gstshaper.c:
13838 * gst/elements/gstshaper.h:
13839 * gst/elements/gststatistics.c:
13840 * gst/elements/gststatistics.h:
13841 * po/POTFILES.in: Remove above files.
13843 2005-05-14 Andy Wingo <wingo@pobox.com>
13845 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
13846 so as to get the refs right.
13847 (sink_iterator_filter): New function, wraps bin_element_is_sink,
13848 unreffing objects that don't pass the filter.
13850 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
13851 gst_element_set_bus.
13852 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
13853 normal cases, this will destroy the bus.
13855 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
13858 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
13861 2005-05-13 Andy Wingo <wingo@pobox.com>
13863 * gst/gstutils.c (gst_element_link_pads): Instead of calling
13864 gst_pad_link, call pad_link_maybe_ghosting,
13865 (pad_link_maybe_ghosting): Links pads, making sure that the
13866 elements being linked are in the same bin.
13867 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
13868 Helpers for pad_link_maybe_ghosting.
13870 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
13873 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
13875 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
13877 * docs/design/part-element-source.txt:
13880 2005-05-12 Wim Taymans <wim@fluendo.com>
13882 * gst/base/gstbasesink.c: (gst_basesink_init),
13883 (gst_basesink_activate):
13884 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
13885 (gst_basesrc_is_seekable):
13886 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13887 (bin_element_is_sink), (gst_bin_change_state):
13888 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13889 * gst/gstelement.h:
13890 Identify sinks by their flag to avoid overly complicated
13892 Do state changes even for elements not reachable from the
13894 BaseSink is a sink now :)
13895 Some more debugging info in the basesrc.
13898 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13900 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
13901 Implement _query on a bin, similar to _send_event.
13903 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
13905 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
13906 Discont event offset format should be GST_FORMAT_BYTES,
13907 not GST_FORMAT_TIME.
13909 2005-05-12 Wim Taymans <wim@fluendo.com>
13911 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
13912 Same fix as Ronald's but without the signal.
13914 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13916 * gst/gstutils.c: (gst_element_query_position):
13917 No, an element is not a pad.
13919 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13921 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
13922 (gst_bin_get_state):
13923 If a child is removed from a bin while we remove the child from
13924 the bin and while we're retrieving its state, signal this to the
13925 get_state function so we abort the wait (instead of waiting for
13926 a timeout) and can immediately re-iterate over all other elements.
13928 2005-05-12 Wim Taymans <wim@fluendo.com>
13930 * gst/base/Makefile.am:
13931 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
13932 (gst_basesrc_start):
13933 * gst/base/gstbasesrc.h:
13934 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
13935 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
13936 (gst_pushsrc_init), (gst_pushsrc_create):
13937 * gst/base/gstpushsrc.h:
13938 Added is_seekable to BaseSrc
13939 Added simple PushSrc.
13941 2005-05-11 Wim Taymans <wim@fluendo.com>
13943 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13944 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13945 (gst_element_link_pads), (gst_element_query_position),
13946 (gst_element_query_convert), (intersect_caps_func),
13947 (gst_pad_query_position), (gst_pad_query_convert):
13948 Fix refcounting in utils function.
13949 No point in trying to activate a pad when it's added, it could
13950 be added from the state change function and then we deadlock, the
13951 element has to decide what to do.
13953 2005-05-10 Andy Wingo <wingo@pobox.com>
13955 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
13956 *all* the arguments.
13958 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
13959 stream lock if it's a FLUSH_DONE; normal flushes don't get the
13960 lock (according to the docs -- if this is wrong change the docs).
13962 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
13963 flush messages in the NULL state.
13965 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
13966 message immediately and return.
13967 (gst_bus_set_flushing): New function. If a bus is flushing, it
13968 flushes out any queued messages and immediately unrefs new
13969 messages. This is so when an element goes to NULL, all of the
13970 unhandled messages coming from it can be freed, and their
13971 references to the element dropped. In other words: message source
13972 ref considered harmful :P
13974 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
13975 we're finished with it.
13977 * gst/gstmessage.c (gst_message_new_state_changed):
13979 2005-05-10 Wim Taymans <wim@fluendo.com>
13981 * gst/gstvalue.c: (gst_value_compare_flags),
13982 (gst_value_serialize_flags), (gst_value_deserialize_flags),
13983 (_gst_value_initialize):
13984 Added flags serialize/deserialize/compare code.
13986 2005-05-09 Andy Wingo <wingo@pobox.com>
13988 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
13989 Intersect the peer's caps with our caps.
13991 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
13993 * gst/base/gsttypefindhelper.c: (helper_find_peek):
13994 * gst/elements/gsttypefindelement.c: (find_peek):
13995 Handle negative offsets better. Fixes decodebin.
13997 2005-05-09 Wim Taymans <wim@fluendo.com>
13999 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
14000 (gst_base_transform_event):
14001 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
14002 Implement accept_caps.
14003 Fix silly lock/unlock mismatch in base class.
14005 2005-05-09 Wim Taymans <wim@fluendo.com>
14007 * docs/design/draft-push-pull.txt:
14008 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
14009 * gst/elements/gstfilesink.c: (gst_filesink_init),
14010 (gst_filesink_query):
14011 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
14012 (gst_type_find_handle_src_query), (find_element_get_length):
14013 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
14014 * gst/gstelement.h:
14015 * gst/gstmessage.c:
14016 * gst/gstmessage.h:
14017 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
14018 (gst_real_pad_get_caps_unlocked),
14019 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
14020 (gst_pad_event_default_dispatch), (gst_pad_event_default),
14021 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
14022 (gst_real_pad_dispose), (gst_real_pad_finalize),
14023 (gst_pad_load_and_link), (gst_pad_save_thyself),
14024 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
14025 (gst_pad_check_pull_range), (gst_pad_pull_range),
14026 (gst_pad_template_get_type), (gst_pad_template_class_init),
14027 (gst_pad_template_init), (gst_pad_template_dispose),
14028 (name_is_valid), (gst_static_pad_template_get),
14029 (gst_pad_template_new), (gst_static_pad_template_get_caps),
14030 (gst_pad_template_get_caps), (gst_pad_set_element_private),
14031 (gst_pad_get_element_private), (gst_pad_start_task),
14032 (gst_pad_pause_task), (gst_pad_stop_task),
14033 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
14034 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
14035 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
14036 (gst_ghost_pad_new):
14038 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
14039 (gst_query_new_position), (gst_query_set_position),
14040 (gst_query_parse_position), (gst_query_new_convert),
14041 (gst_query_set_convert), (gst_query_parse_convert):
14043 * gst/gstqueryutils.c:
14044 * gst/gstqueryutils.h:
14045 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14046 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14047 (gst_queue_handle_src_query):
14048 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14049 (gst_element_query_position), (gst_element_query_convert),
14050 (intersect_caps_func), (gst_pad_query_position),
14051 (gst_pad_query_convert):
14053 * tools/gst-inspect.c: (print_pad_info):
14054 * tools/gst-xmlinspect.c: (print_element_info):
14055 Remove old query functions. Ported old code.
14056 Added position/convert helper functions to gstutils.
14057 Reordered gstpad.c code, grouping relevant things.
14058 Remove gst_message_new(), always need to speficy a specific
14062 2005-05-09 Andy Wingo <wingo@pobox.com>
14064 * gst/gstiterator.h: Add some includes.
14066 * gst/gstqueryutils.h: Include more headers.
14069 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
14070 some uses of gst_pad_query.
14072 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
14073 NULL out parameters.
14074 (gst_query_new_position): New proc, allocates a new position
14077 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
14078 gstqueryutils.c to the build.
14080 * gst/gststructure.c (gst_structure_set_valist): Implement with
14081 the generic G_VALUE_COLLECT.
14083 2005-05-08 Edward Hervey <bilboed@bilboed.com>
14085 * gst/Makefile.am: (gst_headers):
14086 Added gstqueryutils.h to the list of headers to install, that was
14087 a 'nachty' move wingo :)
14089 2005-05-06 Andy Wingo <wingo@pobox.com>
14092 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
14093 GstData, init a memchunk.
14094 (standard_definitions): Add a few query types, deprecate a few.
14095 (gst_query_get_type): New proc.
14096 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
14098 (gst_query_new_application, gst_query_get_structure): New public
14101 * docs/design/draft-query.txt: Removed LINKS from the query types,
14102 because all the rest can be dispatched to other pads -- seemed
14103 ugly to have a query that couldn't be dispatched. internal_links
14104 is fine as a pad method.
14106 * gst/gstpad.h: Add query2 as a pad method, add the new functions
14107 in gstpad.c, but maintain binary compatibility for the moment.
14108 Will fix before 0.9 is out.
14110 * gst/gstqueryutils.c:
14111 * gst/gstqueryutils.h: New files, implement 3 methods for each
14112 query type: parse_query, parse_response, and set. Probably need an
14115 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
14117 * gst/elements/gstfilesink.c (gst_filesink_query2):
14118 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
14119 query_types, and formats methods.
14121 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
14122 (gst_pad_set_query2_function): New functions.
14123 (gst_real_pad_init): Set query2_default as the default query2
14124 function. Basically just dispatches to internally linked pads.
14128 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
14129 without using the atomic operations. Only one thread can possibly
14130 be accessing the data at this point. Changed so as to avoid
14131 gst_atomic operations.
14133 2005-05-06 Wim Taymans <wim@fluendo.com>
14135 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
14136 Also set caps if we use the fallback buffer alloc.
14138 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
14140 * docs/gst/Makefile.am:
14141 * docs/gst/gstreamer-docs.sgml:
14142 * docs/gst/gstreamer-sections.txt:
14143 * docs/gst/tmpl/gstatomic.sgml:
14144 * docs/gst/tmpl/gstmemchunk.sgml:
14145 * testsuite/elements/struct_i386.h:
14146 * win32/GStreamer.vcproj:
14148 Purge GstAtomic stuff from docs and win32 makefiles as well
14150 2005-05-06 Wim Taymans <wim@fluendo.com>
14152 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
14153 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
14154 * gst/gstpad.c: (gst_pad_peer_get_caps):
14155 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14156 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
14157 (gst_queue_src_activate), (gst_queue_change_state):
14159 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14160 (intersect_caps_func):
14161 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
14162 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
14163 Some fixes for the peer_get_caps() change.
14165 2005-05-06 Wim Taymans <wim@fluendo.com>
14167 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14168 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
14169 (gst_basesink_activate):
14170 Actually do something with error codes returned from the push
14173 2005-05-06 Wim Taymans <wim@fluendo.com>
14175 * docs/design/part-element-sink.txt:
14176 * docs/design/part-element-source.txt:
14177 * gst/base/gstbasesink.c: (gst_basesink_class_init),
14178 (gst_basesink_event), (gst_basesink_activate):
14179 * gst/base/gstbasesink.h:
14180 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
14181 (gst_basesrc_activate):
14182 * gst/base/gstbasesrc.h:
14183 * gst/gstelement.c: (gst_element_pads_activate):
14184 Some more documentation.
14185 Fixed scheduling decision in _pads_activate().
14187 2005-05-05 Andy Wingo <wingo@pobox.com>
14189 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
14192 2005-05-05 Wim Taymans <wim@fluendo.com>
14194 * gst/base/Makefile.am:
14195 * gst/base/gstbasesink.h:
14196 * gst/base/gstbasesrc.c: (gst_basesrc_init),
14197 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
14198 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
14199 (gst_collectpads_class_init), (gst_collectpads_init),
14200 (gst_collectpads_finalize), (gst_collectpads_new),
14201 (gst_collectpads_set_function), (gst_collectpads_add_pad),
14202 (find_pad), (gst_collectpads_remove_pad),
14203 (gst_collectpads_is_active), (gst_collectpads_collect),
14204 (gst_collectpads_collect_range), (gst_collectpads_start),
14205 (gst_collectpads_stop), (gst_collectpads_peek),
14206 (gst_collectpads_pop), (gst_collectpads_available),
14207 (gst_collectpads_read), (gst_collectpads_flush),
14208 (gst_collectpads_chain):
14209 * gst/base/gstcollectpads.h:
14210 * gst/elements/Makefile.am:
14211 * gst/elements/gstelements.c:
14212 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14213 (gst_fakesink_get_times), (gst_fakesink_event),
14214 (gst_fakesink_preroll), (gst_fakesink_render):
14215 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14216 (gst_filesink_init), (gst_filesink_set_location),
14217 (gst_filesink_open_file), (gst_filesink_close_file),
14218 (gst_filesink_pad_query), (gst_filesink_event),
14219 (gst_filesink_render), (gst_filesink_change_state):
14220 * gst/elements/gstfilesink.h:
14221 Added object to help in making collect pad based elements.
14223 Make event function in sink baseclass return gboolean.
14225 2005-05-05 Wim Taymans <wim@fluendo.com>
14227 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
14228 (gst_bin_get_by_name):
14230 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
14231 (gst_clock_finalize):
14232 * gst/gstdata.c: (gst_data_replace):
14234 * gst/gstelement.c: (gst_element_request_pad),
14235 (gst_element_pads_activate):
14236 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
14237 (gst_object_unref):
14238 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14239 (gst_pad_set_checkgetrange_function),
14240 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
14241 (gst_pad_check_pull_range), (gst_pad_pull_range),
14242 (gst_static_pad_template_get_caps), (gst_pad_start_task),
14243 (gst_pad_pause_task), (gst_pad_stop_task):
14244 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14245 (gst_element_request_pad), (gst_pad_proxy_getcaps):
14246 Fix name lookup in GstBin.
14247 Added _data_replace() function and _buffer_replace()
14248 Use finalize method to clean up clock.
14249 Fix refcounting on request pads.
14250 Fix pad schedule mode error.
14251 Some more object refcounting debug info,
14254 2005-05-04 Andy Wingo <wingo@pobox.com>
14256 * check/Makefile.am:
14257 * docs/gst/tmpl/gstatomic.sgml:
14258 * docs/gst/tmpl/gstplugin.sgml:
14259 * gst/base/gstbasesink.c: (gst_basesink_activate):
14260 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
14261 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
14262 (gst_basesrc_query), (gst_basesrc_set_property),
14263 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
14264 (gst_basesrc_activate):
14265 * gst/base/gstbasesrc.h:
14266 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
14267 (gst_base_transform_src_activate):
14268 * gst/elements/gstelements.c:
14269 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14270 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14271 * gst/elements/gsttee.c: (gst_tee_sink_activate):
14272 * gst/elements/gsttypefindelement.c: (find_element_get_length),
14273 (gst_type_find_element_checkgetrange),
14274 (gst_type_find_element_activate):
14275 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
14276 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
14277 (gst_caps_load_thyself):
14278 * gst/gstelement.c: (gst_element_pads_activate),
14279 (gst_element_save_thyself), (gst_element_restore_thyself):
14280 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
14281 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
14283 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
14284 (gst_xml_parse_file), (gst_xml_parse_memory),
14285 (gst_xml_get_element), (gst_xml_make_element):
14286 * gst/indexers/gstfileindex.c: (gst_file_index_load),
14287 (_file_index_id_save_xml), (gst_file_index_commit):
14288 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
14289 (read_enum), (load_pad_template), (load_feature), (load_plugin),
14291 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
14292 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
14293 * tools/gst-complete.c: (main):
14294 * tools/gst-compprep.c: (main):
14295 * tools/gst-inspect.c: (print_element_properties_info):
14296 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
14297 * tools/gst-xmlinspect.c: (print_element_properties):
14300 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
14302 * gst/gstplugin.c: (gst_plugin_check_module),
14303 (gst_plugin_check_file), (gst_plugin_load_file):
14304 apply patch from #172526 to make register work on MacOSX
14306 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
14308 * docs/gst/tmpl/gstconfig.sgml:
14309 * gst/gstconfig.h.in:
14310 move documentation for some symbols. Add doc for GST_PTR_FORMAT
14311 * testsuite/debug/printf_extension.c: (main):
14312 Do not use GST_PTR_FORMAT on pointers to types with
14313 sizeof < sizeof(gpointer). Fixes test on 64-bit
14314 * testsuite/elements/property.h:
14315 use correct printf format
14317 2005-05-02 Wim Taymans <wim@fluendo.com>
14319 * docs/design/draft-push-pull.txt:
14320 * docs/design/draft-query.txt:
14321 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
14322 (gst_basesrc_start):
14323 Added draft for new query API.
14324 Added draft for better selecting scheduling methods.
14325 Make basesrc ignore length if the subclass does not support
14328 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
14331 possible fixes for automake-1.5 - _LIBADD is reserved
14333 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
14335 * docs/faq/Makefile.am:
14336 * docs/manual/Makefile.am:
14337 * docs/manuals.mak:
14338 * docs/pwg/Makefile.am:
14340 possible fixes for automake-1.5
14342 2005-04-28 Wim Taymans <wim@fluendo.com>
14344 * gst/base/gstbasesink.c: (gst_basesink_base_init),
14345 (gst_basesink_pad_getcaps), (gst_basesink_init),
14346 (gst_basesink_do_sync):
14347 * gst/gstclock.c: (gst_clock_entry_new):
14348 * gst/gstevent.c: (gst_event_discont_get_value):
14349 * gst/gstpipeline.c: (pipeline_bus_handler),
14350 (gst_pipeline_change_state):
14351 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14352 Better debugging of clocking info.
14353 Allow NULL values when getting discont values.
14355 2005-04-27 Wim Taymans <wim@fluendo.com>
14357 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14358 * check/gst/gstpad.c: (gst_pad_suite):
14359 Increase timeout for checks.
14361 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14363 * check/Makefile.am:
14364 fix the broken rule for cleanup. Apparently this rule is
14365 only needed on FC2, so maybe this warrants further autotool
14368 2005-04-26 Wim Taymans <wim@fluendo.com>
14370 * gst/gsttrashstack.h:
14371 Ooohh. a nasty one! After having a failed pop() from the stack,
14372 it's possible that the stack is empty. In that case, don't
14373 follow the NULL pointer.
14375 2005-04-25 Wim Taymans <wim@fluendo.com>
14377 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14378 (gst_pad_set_checkgetrange_function),
14379 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
14380 (gst_pad_check_pull_range), (gst_pad_pull_range),
14381 (gst_static_pad_template_get_caps), (gst_pad_start_task),
14382 (gst_pad_pause_task), (gst_pad_stop_task):
14383 * gst/gstplugin.c: (gst_plugin_load):
14385 Remove gst_library_load as it does more harm than good with
14386 the new g_module flags.
14387 Revert bogus caps template check in pad linking, pad caps
14388 are important when linking not the template, which is more
14389 general than the current caps.
14391 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14393 * gst/autoplug/.cvsignore:
14394 * gst/autoplug/Makefile.am:
14395 * gst/autoplug/gstsearchfuncs.c:
14396 * gst/autoplug/gstsearchfuncs.h:
14397 * gst/autoplug/gstspider.c:
14398 * gst/autoplug/gstspider.h:
14399 * gst/autoplug/gstspideridentity.c:
14400 * gst/autoplug/gstspideridentity.h:
14401 * gst/autoplug/spidertest.c:
14404 2005-04-25 Wim Taymans <wim@fluendo.com>
14406 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14407 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
14408 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
14409 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
14411 Added stubs for unimplemented functions.
14413 2005-04-24 David Schleef <ds@schleef.org>
14415 * gst/gstpad.h: Disable some unimplemented functions. Wim,
14418 2005-04-24 David Schleef <ds@schleef.org>
14420 Convert everything from GstAtomicInt to g_atomic_int_*, and
14425 * gst/gstatomic_impl.h:
14433 * gst/gstdata_private.h:
14437 * gst/gstmessage.c:
14440 * gst/gststructure.c:
14441 * gst/gststructure.h:
14442 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
14445 2005-04-24 David Schleef <ds@schleef.org>
14447 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
14448 make the regressions tests work. Remove some code that is no
14450 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
14451 Disable warning for pads without templates.
14453 2005-04-24 David Schleef <ds@schleef.org>
14455 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
14456 functions that handle filtered links.
14457 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
14459 * gst/gstutils.c: Fix/remove utility functions that handle
14462 * gst/gstvalue.c: Add serialization/deserialization of caps
14463 * gst/parse/grammar.y: Ignore filtered caps when linking. This
14464 requires fixing so that the filter caps notation creates
14465 a capsfilter element and sets the filter_caps property. I
14466 think everyone probably wants to keep the shorthand notation.
14467 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
14468 * docs/gst/tmpl/gstpad.sgml:
14470 * gst/elements/gstelements.c: Register capsfilter element.
14471 * gst/Makefile.am: fix spacing
14472 * docs/random/ds/0.9-suggested-changes: random
14474 2005-04-23 David Schleef <ds@schleef.org>
14476 * gst/elements/Makefile.am:
14477 * gst/elements/gstcapsfilter.c: New element that acts like an
14478 identity, but filters caps. Will eventually replace filtered
14479 caps in pad linking.
14480 * gst/gstutils.c: (gst_element_create_all_pads): New function
14481 to create all the ALWAYS pads that are registered with an
14482 element class. This functionality should eventually be
14483 merged in with GstElement initialization.
14485 * testsuite/trigger/README: part of trigger test code that should
14486 have been checked in a long time ago.
14488 2005-04-23 David Schleef <ds@schleef.org>
14490 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
14491 needed with new versions of libtool (nobody will confirm this),
14492 and hard to carry around.
14493 * gst/autoplug/Makefile.am:
14494 * gst/base/Makefile.am:
14495 * gst/elements/Makefile.am:
14496 * gst/indexers/Makefile.am:
14497 * gst/schedulers/Makefile.am:
14498 * libs/gst/bytestream/Makefile.am:
14499 * libs/gst/control/Makefile.am:
14500 * libs/gst/dataprotocol/Makefile.am:
14501 * libs/gst/getbits/Makefile.am:
14503 2005-04-21 Wim Taymans <wim@fluendo.com>
14505 * docs/design/draft-push-pull.txt:
14506 * docs/design/part-MT-refcounting.txt:
14507 * docs/design/part-TODO.txt:
14508 * docs/design/part-caps.txt:
14509 * docs/design/part-events.txt:
14510 * docs/design/part-gstbus.txt:
14511 * docs/design/part-gstpipeline.txt:
14512 * docs/design/part-messages.txt:
14513 * docs/design/part-push-pull.txt:
14514 * docs/design/part-query.txt:
14517 2005-04-21 Wim Taymans <wim@fluendo.com>
14519 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
14520 (gst_message_new), (gst_message_new_error),
14521 (gst_message_new_warning), (gst_message_new_tag),
14522 (gst_message_new_state_changed), (gst_message_new_application),
14523 (gst_message_get_structure):
14524 * gst/gstmessage.h:
14525 * gst/gststructure.c: (gst_structure_set_parent_refcount),
14526 (gst_structure_copy_conditional):
14527 Use parent refcount in GstMessage to ensure GstStructure
14529 Cleaned up headers a bit.
14532 2005-04-20 Wim Taymans <wim@fluendo.com>
14534 * gst/base/gstbasesink.c: (gst_basesink_base_init),
14535 (gst_basesink_pad_getcaps), (gst_basesink_init),
14536 (gst_basesink_chain_unlocked):
14537 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
14538 (gst_type_find_helper):
14539 * gst/elements/gsttypefindelement.c:
14540 (gst_type_find_element_have_type), (gst_type_find_element_init),
14541 (stop_typefinding), (gst_type_find_element_handle_event),
14542 (find_suggest), (gst_type_find_element_chain),
14543 (gst_type_find_element_checkgetrange),
14544 (gst_type_find_element_getrange), (do_typefind),
14545 (gst_type_find_element_activate):
14546 * gst/gstbuffer.c: (_gst_buffer_sub_free),
14547 (gst_buffer_default_free), (gst_buffer_default_copy),
14548 (gst_buffer_set_caps):
14549 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
14550 (gst_caps_replace):
14551 * gst/gstmessage.c: (gst_message_new),
14552 (gst_message_new_state_changed):
14553 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14554 (gst_pad_set_checkgetrange_function),
14555 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
14556 (gst_pad_set_caps), (gst_pad_check_pull_range),
14557 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
14559 * gst/gsttypefind.c: (gst_type_find_register):
14560 Make gst_caps_replace() work like other _replace() functions.
14561 Use _caps_replace() where possible.
14562 Make sure _message_new() initialises its field.
14563 Add gst_static_pad_template_get_caps()
14566 2005-04-18 Andy Wingo <wingo@pobox.com>
14568 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
14569 on the peer, not the pad. I think that was a typo. Pass an extra
14570 arg to see if random access is possible. Activate the pads as
14571 PULL_RANGE if possible.
14573 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
14575 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
14576 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
14579 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14581 * docs/faq/using.xml:
14582 Add note on gstreamer-properties (#154996).
14584 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14586 * docs/random/bbb/optional-properties:
14587 Some analysis on optional properties.
14589 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14591 * docs/gst/tmpl/gstelementfactory.sgml:
14592 * gst/gstelement.h:
14593 * gst/gstelementfactory.c: (gst_element_factory_init),
14594 (gst_element_factory_cleanup), (gst_element_register),
14595 (__gst_element_factory_add_static_pad_template),
14596 (gst_element_factory_get_static_pad_templates),
14597 (gst_element_factory_can_src_caps),
14598 (gst_element_factory_can_sink_caps):
14599 * gst/registries/Makefile.am:
14600 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
14601 (gst_xml_registry_class_init), (gst_xml_registry_init),
14602 (gst_xml_registry_new), (gst_xml_registry_set_property),
14603 (gst_xml_registry_get_property), (get_time), (make_dir),
14604 (gst_xml_registry_get_perms_func),
14605 (plugin_times_older_than_recurse), (plugin_times_older_than),
14606 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
14607 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
14608 (add_to_char_array), (read_string), (read_uint), (read_enum),
14609 (load_pad_template), (load_feature), (load_plugin), (load_paths),
14610 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
14611 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
14612 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
14613 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
14614 (gst_xml_registry_rebuild):
14615 * gst/registries/gstlibxmlregistry.h:
14616 * tools/gst-compprep.c: (main):
14617 * tools/gst-inspect.c: (print_pad_templates_info):
14618 * tools/gst-xmlinspect.c: (print_element_info):
14619 Use libxml2 for registry parsing, use staticpadtemplates in
14620 elementfactories. Makes gst_init() +/- 10x faster.
14622 2005-04-12 Wim Taymans <wim@fluendo.com>
14624 * gst/base/Makefile.am:
14625 * gst/base/gstbasesink.c: (gst_basesink_base_init),
14626 (gst_basesink_pad_getcaps), (gst_basesink_init),
14627 (gst_basesink_event), (gst_basesink_change_state):
14628 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14629 (gst_basesrc_init), (gst_basesrc_query),
14630 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
14631 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
14632 (gst_basesrc_check_get_range), (gst_basesrc_loop),
14633 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
14634 (gst_basesrc_stop), (gst_basesrc_activate),
14635 (gst_basesrc_change_state):
14636 * gst/base/gsttypefindhelper.c: (helper_find_peek),
14637 (helper_find_suggest), (gst_type_find_helper):
14638 * gst/base/gsttypefindhelper.h:
14639 * gst/elements/Makefile.am:
14640 * gst/elements/gstelements.c:
14641 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
14642 (gst_fakesink_get_times), (gst_fakesink_event),
14643 (gst_fakesink_preroll), (gst_fakesink_render):
14644 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14645 (gst_fakesrc_init), (gst_fakesrc_event_handler),
14646 (gst_fakesrc_get_property), (gst_fakesrc_create),
14647 (gst_fakesrc_start), (gst_fakesrc_stop):
14648 * gst/elements/gstfakesrc.h:
14649 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
14650 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14651 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14652 (gst_filesrc_create_read), (gst_filesrc_create),
14653 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
14654 (gst_filesrc_start):
14655 * gst/elements/gsttypefindelement.c:
14656 (gst_type_find_element_have_type), (gst_type_find_element_init),
14657 (start_typefinding), (stop_typefinding), (push_buffer_store),
14658 (gst_type_find_element_handle_event),
14659 (gst_type_find_element_chain),
14660 (gst_type_find_element_checkgetrange),
14661 (gst_type_find_element_getrange), (do_typefind),
14662 (gst_type_find_element_activate),
14663 (gst_type_find_element_change_state):
14664 * gst/elements/gsttypefindelement.h:
14665 * gst/gstpipeline.c: (pipeline_bus_handler):
14666 Added typefind helper.
14667 Small preroll fix in the base sink.
14668 Disable typefind code in basesrc.
14669 Crude port of typefindelement.
14673 2005-04-11 Wim Taymans <wim@fluendo.com>
14675 * check/gst/gstbus.c: (gstbus_suite):
14676 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
14677 * check/gstcheck.h:
14678 Fix up the timeout so that the test does not fail.
14680 2005-04-06 Wim Taymans <wim@fluendo.com>
14683 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14684 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
14685 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
14686 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
14687 (gst_basesrc_check_get_range), (gst_basesrc_loop),
14688 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
14689 (gst_basesrc_stop), (gst_basesrc_activate),
14690 (gst_basesrc_change_state), (basesrc_find_peek),
14691 (basesrc_find_suggest), (gst_basesrc_type_find):
14692 * gst/base/gstbasesrc.h:
14693 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
14694 (gst_filesrc_class_init), (gst_filesrc_init),
14695 (gst_filesrc_finalize), (gst_filesrc_set_location),
14696 (gst_filesrc_set_property), (gst_filesrc_get_property),
14697 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14698 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14699 (gst_filesrc_create_read), (gst_filesrc_create),
14700 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
14701 * gst/elements/gstfilesrc.h:
14702 * gst/gstelement.c: (gst_element_get_state_func),
14703 (gst_element_lost_state), (gst_element_pads_activate):
14704 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14705 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
14706 (gst_pad_pull_range):
14708 More work on the generic source base class, implement seeking,
14710 Make filesrc extend the base source class.
14711 Added gst_pad_set_checkgetrange_function to GstPad.
14713 2005-04-06 Andy Wingo <wingo@pobox.com>
14715 * pkgconfig/gstreamer-base.pc.in:
14716 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
14718 * pkgconfig/Makefile.am:
14719 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
14721 2005-04-04 Wim Taymans <wim@fluendo.com>
14723 * gst/base/Makefile.am:
14725 * gst/base/gstbasesink.c: (gst_basesink_base_init),
14726 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14727 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14728 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
14729 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14730 (gst_basesrc_base_init), (gst_basesrc_class_init),
14731 (gst_basesrc_init), (gst_basesrc_get_formats),
14732 (gst_basesrc_get_query_types), (gst_basesrc_query),
14733 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
14734 (gst_basesrc_set_property), (gst_basesrc_get_property),
14735 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
14736 (gst_basesrc_loop), (gst_basesrc_activate),
14737 (gst_basesrc_change_state):
14738 * gst/base/gstbasesrc.h:
14739 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
14740 (gst_fakesrc_class_init), (gst_fakesrc_init),
14741 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
14742 (gst_fakesrc_get_property), (gst_fakesrc_create):
14743 * gst/elements/gstfakesrc.h:
14744 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
14745 (gst_filesrc_open_file), (gst_filesrc_loop),
14746 (gst_filesrc_activate), (filesrc_find_peek),
14747 (gst_filesrc_type_find):
14748 Made base source class, make fakesrc extend it.
14749 Add comments to basesink class.
14750 Some filesrc cleanup.
14752 2005-03-31 David Schleef <ds@schleef.org>
14754 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
14755 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
14756 expected to link against libgstreamer.
14757 * gst/base/Makefile.am: link against libgstreamer
14758 * gst/elements/Makefile.am: same
14760 2005-03-31 Andy Wingo <wingo@pobox.com>
14762 * tests/instantiate/Makefile.am:
14763 * tests/instantiate/caps.c: Add test to test speed of caps copy
14766 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
14767 GMemChunk to be fair.
14769 * gst/gsttrashstack.h: Remove warning about using the fallback
14770 trash stack implementation, it's still faster than malloc.
14772 2005-03-30 Andy Wingo <wingo@pobox.com>
14774 * tests/complexity.c: Add a copyright.
14776 2005-03-31 Wim Taymans <wim@fluendo.com>
14778 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
14779 (gst_base_transform_class_init), (gst_base_transform_init),
14780 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14781 (gst_base_transform_get_property),
14782 (gst_base_transform_sink_activate),
14783 (gst_base_transform_src_activate),
14784 (gst_base_transform_change_state):
14785 * gst/base/gstbasetransform.h:
14786 * gst/elements/gstidentity.c: (gst_identity_class_init),
14787 (gst_identity_event), (gst_identity_check_perfect),
14788 (gst_identity_transform), (gst_identity_start),
14789 (gst_identity_stop):
14790 Added start/stop methods to transform base class so subclasses
14791 don't need to deal with state changes even.
14793 2005-03-31 Wim Taymans <wim@fluendo.com>
14795 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
14796 (gst_event_new_discontinuous), (gst_event_discont_get_value):
14798 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14799 (gst_pad_pull_range):
14800 Added rate to the discont event to prepare for variable speed
14801 and reverse playback.
14803 2005-03-29 David Schleef <ds@schleef.org>
14806 * testsuite/trigger/Makefile.am:
14807 * testsuite/trigger/trigger.c: A little example program to show
14808 how trigger-based elements can work.
14810 2005-03-29 Wim Taymans <wim@fluendo.com>
14812 * gst/base/Makefile.am:
14814 * gst/base/gstbasesink.c: (gst_basesink_get_type),
14815 (gst_basesink_base_init), (gst_basesink_class_init),
14816 (gst_basesink_pad_getcaps), (gst_basesink_init),
14817 (gst_basesink_activate), (gst_basesink_change_state):
14818 * gst/base/gstbasesink.h:
14819 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
14820 (gst_base_transform_base_init), (gst_base_transform_finalize),
14821 (gst_base_transform_class_init), (gst_base_transform_init),
14822 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
14823 (gst_base_transform_event), (gst_base_transform_getrange),
14824 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
14825 (gst_base_transform_set_property),
14826 (gst_base_transform_get_property),
14827 (gst_base_transform_sink_activate),
14828 (gst_base_transform_src_activate),
14829 (gst_base_transform_change_state):
14830 * gst/base/gstbasetransform.h:
14831 * gst/elements/gstidentity.c: (gst_identity_finalize),
14832 (gst_identity_class_init), (gst_identity_init),
14833 (gst_identity_event), (gst_identity_check_perfect),
14834 (gst_identity_transform), (gst_identity_set_property),
14835 (gst_identity_get_property), (gst_identity_change_state):
14836 * gst/elements/gstidentity.h:
14837 * gst/gstelement.c: (gst_element_get_state_func),
14838 (gst_element_lost_state), (gst_element_pads_activate):
14839 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14840 (gst_pad_check_pull_range), (gst_pad_pull_range):
14842 Simplify pad activation.
14843 Added function to check if pull_range can be performed.
14844 Error out when pulling inactive or flushing pads.
14845 Removed const from refcounted types as it does not make sense.
14846 Simplify pad templates in basesink
14847 Added base class for simple 1-to-1 transforms.
14848 Make identity subclass the base transform.
14850 2005-03-29 Andy Wingo <wingo@pobox.com>
14852 * docs/libs/gstreamer-libs-overrides.txt:
14853 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
14854 really don't understand what's going on, but like whatever. I want
14857 * docs/gst/Makefile.am:
14858 * docs/libs/Makefile.am: Dist the overrides files.
14860 * check/Makefile.am (clean-local): Remove .libs directories.
14862 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
14863 elements to EXTRA_DIST, so po/ files are happy.
14865 * po/POTFILES.in: Er, remove it here.
14867 * po/POTFILES: Remove gstspider.c.
14869 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
14871 * docs/libs/gstreamer-libs-docs.sgml:
14872 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
14875 * tests/complexity.c (main): Set the length of the preroll queue
14876 on the sinks to prevent a lockup.
14878 * libs/gst/dataprotocol/Makefile.am:
14879 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
14880 the same as the one in check/gst-libs/gdp.c.
14882 * po/, docs/gst/: Commit automatic changes to docs and po files.
14884 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
14885 the versioned libgstbase.
14887 * check/Makefile.am: Depend on an unversioned gst-register, seems
14888 to make autoconf happier.
14890 * gst/base/Makefile.am: Make libgstbase a versioned lib.
14892 2005-03-28 Wim Taymans <wim@fluendo.com>
14895 * docs/design/part-gstelement.txt:
14896 * docs/design/part-negotiation.txt:
14897 * docs/design/part-preroll.txt:
14898 * docs/design/part-scheduling.txt:
14899 * docs/design/part-states.txt:
14901 * gst/base/Makefile.am:
14903 * gst/base/gstbasesink.c: (gst_basesink_get_template),
14904 (gst_basesink_base_init), (gst_basesink_class_init),
14905 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14906 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14907 (gst_basesink_set_pad_functions),
14908 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
14909 (gst_basesink_set_property), (gst_basesink_get_property),
14910 (gst_base_sink_get_template), (gst_base_sink_get_caps),
14911 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
14912 (gst_basesink_preroll_queue_push),
14913 (gst_basesink_preroll_queue_empty),
14914 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
14915 (gst_basesink_event), (gst_basesink_get_times),
14916 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
14917 (gst_basesink_chain_unlocked), (gst_basesink_chain),
14918 (gst_basesink_loop), (gst_basesink_activate),
14919 (gst_basesink_change_state):
14920 * gst/base/gstbasesink.h:
14921 * gst/elements/Makefile.am:
14922 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
14923 (gst_fakesink_class_init), (gst_fakesink_init),
14924 (gst_fakesink_set_property), (gst_fakesink_get_property),
14925 (gst_fakesink_get_times), (gst_fakesink_event),
14926 (gst_fakesink_preroll), (gst_fakesink_render),
14927 (gst_fakesink_change_state):
14928 * gst/elements/gstfakesink.h:
14929 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14930 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
14931 * gst/gstelement.c: (gst_element_add_pad),
14932 (gst_element_get_state_func), (gst_element_abort_state),
14933 (gst_element_commit_state), (gst_element_lost_state),
14934 (gst_element_set_state), (gst_element_pads_activate):
14935 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
14936 * gst/gstpipeline.c: (gst_pipeline_send_event),
14937 (gst_pipeline_change_state):
14938 Added state change code.
14939 Added/updated docs.
14940 Added sink base class, make fakesink extend the base class.
14941 Small cleanups in GstPipeline.
14943 2005-03-26 David Schleef <ds@schleef.org>
14945 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
14946 is broken and should be implemented in a different library.
14947 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
14948 * gst/gst.h: remove gstcpu.h
14949 * gst/gstcpu.c: remove
14950 * gst/gstcpu.h: remove
14951 * gst/Makefile.am.future: Remove this file. It's ancient.
14953 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14955 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14956 (gst_bin_send_event):
14957 Add default event/set_manager handlers. The set_manager handler
14958 takes care that the manager is distributed over kids that were
14959 already in the bin before the manager was set. The event handler
14960 is a utility virtual function that sends the event over all sinks,
14961 so that gst_element_send_event (bin, event); has the expected
14963 * gst/gstpad.c: (gst_pad_event_default):
14964 Re-install default event handling for discontinuities, so that
14965 seeking works without requiring hacks in applications or extra
14967 * gst/gstpipeline.c: (gst_pipeline_class_init),
14968 (gst_pipeline_send_event):
14969 Half hack, half utility: set a pipeline to PAUSED for seek events,
14970 since that is the only way we can guarantee a/v sync. Means that
14971 you can do gst_element_seek (pipeline, method, pos); on a pipeline
14972 and it "just works".
14974 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
14976 * gst/gstpipeline.c: (gst_pipeline_use_clock):
14977 Lock/unlock mismatch.
14979 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
14981 * docs/faq/gst-uninstalled:
14982 add gst-plugins-base
14983 * docs/gst/Makefile.am:
14984 don't error out until docs are fixed
14985 * docs/gst/gstreamer.types:
14988 2005-03-22 Wim Taymans <wim@fluendo.com>
14990 * check/Makefile.am:
14991 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
14992 * gst/gststructure.c: (gst_structure_set_valist),
14993 (gst_structure_copy_conditional):
14994 Activated more tests.
14995 Added message test.
14996 Added G_TYPE_POINTER to GstStructure.
14999 2005-03-22 Wim Taymans <wim@fluendo.com>
15001 * docs/design/part-TODO.txt:
15002 * docs/design/part-events.txt:
15003 * docs/design/part-gstbin.txt:
15004 * docs/design/part-gstbus.txt:
15005 * docs/design/part-gstpipeline.txt:
15006 * docs/design/part-messages.txt:
15008 * gst/gstmessage.c:
15011 2005-03-21 Wim Taymans <wim@fluendo.com>
15013 * gst/gstbus.c: (gst_bus_post):
15014 Fix copy-and-paste error.
15016 2005-03-21 Wim Taymans <wim@fluendo.com>
15018 * check/Makefile.am:
15020 * gst/elements/Makefile.am:
15021 * gst/elements/gstelements.c:
15022 * gst/elements/gstfakesink.c: (gst_fakesink_init),
15023 (gst_fakesink_event), (gst_fakesink_chain):
15024 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15025 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
15026 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
15027 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
15028 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
15029 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
15030 (gst_fakesrc_loop), (gst_fakesrc_activate),
15031 (gst_fakesrc_change_state):
15032 * gst/elements/gstfakesrc.h:
15033 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
15034 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
15035 (gst_filesrc_open_file), (gst_filesrc_loop),
15036 (gst_filesrc_activate), (gst_filesrc_change_state),
15037 (filesrc_find_peek), (filesrc_find_suggest),
15038 (gst_filesrc_type_find):
15039 * gst/elements/gstidentity.c: (gst_identity_finalize),
15040 (gst_identity_class_init), (gst_identity_init),
15041 (gst_identity_proxy_getcaps), (identity_queue_push),
15042 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
15043 (gst_identity_getrange), (gst_identity_chain),
15044 (gst_identity_sink_loop), (gst_identity_src_loop),
15045 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
15046 (gst_identity_set_property), (gst_identity_get_property),
15047 (gst_identity_change_state):
15048 * gst/elements/gstidentity.h:
15049 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
15050 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
15051 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
15052 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
15053 (gst_tee_sink_activate):
15054 * gst/elements/gsttee.h:
15055 * gst/gst.c: (gst_register_core_elements), (init_post):
15057 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
15058 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
15059 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
15060 (gst_bin_change_state):
15062 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
15063 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
15064 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
15065 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
15066 (gst_bus_set_sync_handler), (gst_bus_create_watch),
15067 (bus_watch_callback), (bus_watch_destroy),
15068 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
15069 (poll_timeout), (gst_bus_poll):
15073 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
15074 (gst_element_post_message), (gst_element_message_full),
15075 (gst_element_get_state_func), (gst_element_get_state),
15076 (gst_element_abort_state), (gst_element_commit_state),
15077 (gst_element_lost_state), (gst_element_set_state),
15078 (gst_element_pads_activate), (gst_element_change_state),
15079 (gst_element_dispose), (gst_element_set_manager_func),
15080 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
15081 (gst_element_set_manager), (gst_element_get_manager),
15082 (gst_element_set_bus), (gst_element_get_bus),
15083 (gst_element_set_scheduler), (gst_element_get_scheduler):
15084 * gst/gstelement.h:
15085 * gst/gstevent.c: (gst_event_new_segment_seek),
15086 (gst_event_new_flush):
15088 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
15089 (_gst_message_free), (gst_message_get_type), (gst_message_new),
15090 (gst_message_new_eos), (gst_message_new_error),
15091 (gst_message_new_warning), (gst_message_new_tag),
15092 (gst_message_new_state_changed), (gst_message_new_application),
15093 (gst_message_get_structure), (gst_message_parse_tag),
15094 (gst_message_parse_state_changed), (gst_message_parse_error),
15095 (gst_message_parse_warning):
15096 * gst/gstmessage.h:
15097 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
15098 (gst_real_pad_set_property), (gst_pad_set_active),
15099 (gst_pad_is_active), (gst_pad_set_blocked_async),
15100 (gst_pad_set_blocked), (gst_pad_is_blocked),
15101 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
15102 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
15103 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
15104 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
15105 (gst_pad_link_filtered), (gst_pad_relink_filtered),
15106 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
15107 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
15108 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
15109 (gst_pad_set_caps), (gst_pad_configure_sink),
15110 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
15111 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
15112 (gst_real_pad_dispose), (gst_real_pad_finalize),
15113 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
15114 (gst_pad_event_default_dispatch), (gst_pad_event_default),
15115 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
15117 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
15118 (pipeline_bus_handler), (gst_pipeline_change_state),
15119 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
15120 * gst/gstpipeline.h:
15122 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
15123 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
15124 (gst_queue_link_src), (gst_queue_bufferalloc),
15125 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15126 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
15127 (gst_queue_loop), (gst_queue_handle_src_event),
15128 (gst_queue_handle_src_query), (gst_queue_src_activate),
15129 (gst_queue_change_state):
15131 * gst/gstscheduler.c: (gst_scheduler_init),
15132 (gst_scheduler_dispose), (gst_scheduler_create_task),
15133 (gst_scheduler_factory_create):
15134 * gst/gstscheduler.h:
15135 * gst/gststructure.c: (gst_structure_get_type),
15136 (gst_structure_copy_conditional):
15137 * gst/gststructure.h:
15138 * gst/gsttaginterface.h:
15139 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15140 (gst_task_init), (gst_task_dispose), (gst_task_create),
15141 (gst_task_get_state), (gst_task_start), (gst_task_stop),
15147 * gst/schedulers/Makefile.am:
15148 * gst/schedulers/cothreads_compat.h:
15149 * gst/schedulers/entryscheduler.c:
15150 * gst/schedulers/faircothreads.c:
15151 * gst/schedulers/faircothreads.h:
15152 * gst/schedulers/fairscheduler.c:
15153 * gst/schedulers/gstbasicscheduler.c:
15154 * gst/schedulers/gstoptimalscheduler.c:
15155 * gst/schedulers/gthread-cothreads.h:
15156 * gst/schedulers/threadscheduler.c:
15157 (gst_thread_scheduler_task_get_type),
15158 (gst_thread_scheduler_task_class_init),
15159 (gst_thread_scheduler_task_init),
15160 (gst_thread_scheduler_task_start),
15161 (gst_thread_scheduler_task_stop),
15162 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
15163 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15164 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
15165 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
15167 * libs/gst/Makefile.am:
15168 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
15169 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
15170 (gst_file_pad_parent_set):
15171 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15172 (gst_dp_event_from_packet):
15173 * tests/complexity.c: (main):
15174 * tests/mass_elements.c: (main):
15175 * testsuite/states/locked.c: (message_received), (main):
15176 * testsuite/states/parent.c: (main):
15177 * tools/gst-inspect.c: (print_element_flag_info),
15178 (print_implementation_info), (print_pad_info):
15179 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
15181 * tools/gst-md5sum.c: (event_loop), (main):
15182 * tools/gst-typefind.c: (main):
15183 * tools/gst-xmlinspect.c: (print_element_info):
15185 Added GstBus for mainloop integration.
15186 Added GstMessage for sending notifications on the bus.
15187 Added GstTask as an abstraction for pipeline entry points.
15189 Removed Schedulers.
15190 Simplified GstQueue for multithreaded core.
15191 Made _link threadsafe, removed old capsnego.
15192 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
15193 Added pad blocking functions.
15194 Reworked scheduling functions in GstPad to prepare for
15195 scheduling updates soon.
15196 Moved events out of data stream.
15197 Simplified GstEvent types.
15198 Added return values to push/pull.
15199 Removed clocking from GstElement.
15200 Added prototypes for state change function for next merge.
15201 Removed iterate from bins and state change management.
15202 Fixed some elements, disabled others for now.
15203 Fixed -inspect and -launch.
15204 Added check for GstBus.
15206 2005-03-10 Wim Taymans <wim@fluendo.com>
15208 * docs/design/part-MT-refcounting.txt:
15209 * docs/design/part-clocks.txt:
15210 * docs/design/part-gstelement.txt:
15211 * docs/design/part-gstobject.txt:
15212 * docs/design/part-standards.txt:
15213 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15214 (gst_bin_remove_func), (gst_bin_remove):
15218 * testsuite/clock/clock1.c: (main):
15219 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
15221 * testsuite/dlopen/loadgst.c: (do_test):
15222 * testsuite/refcounting/bin.c: (add_remove_test1),
15223 (add_remove_test2), (main):
15224 * testsuite/refcounting/element.c: (main):
15225 * testsuite/refcounting/element_pad.c: (main):
15226 * testsuite/refcounting/pad.c: (main):
15227 * tools/gst-launch.c: (sigint_handler_sighandler):
15228 * tools/gst-typefind.c: (main):
15230 Added doc about clock.
15231 removed gst_bin_iterate_recurse_up(), marked methods
15233 Fix more testsuites.
15235 2005-03-09 Wim Taymans <wim@fluendo.com>
15237 * gst/gstpad.c: (gst_pad_get_direction),
15238 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
15239 (gst_pad_collect_valist):
15240 * testsuite/bins/interface.c: (main):
15241 * testsuite/caps/audioscale.c: (test_caps):
15242 * testsuite/caps/caps.c: (test1), (test2), (test3):
15243 * testsuite/caps/deserialize.c: (main):
15244 * testsuite/caps/enumcaps.c: (main):
15245 * testsuite/caps/filtercaps.c: (main):
15246 * testsuite/caps/intersect2.c: (main):
15247 * testsuite/caps/random.c: (main):
15248 * testsuite/caps/renegotiate.c: (my_fixate), (main):
15249 * testsuite/caps/sets.c: (check_caps):
15250 * testsuite/caps/simplify.c: (check_caps), (main):
15251 * testsuite/caps/subtract.c: (check_caps):
15252 Fix _pad_get_direction wrt ghostpads.
15253 Fix caps testsuite.
15255 2005-03-09 Wim Taymans <wim@fluendo.com>
15257 * check/Makefile.am:
15258 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
15259 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
15260 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
15261 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
15262 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
15263 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
15264 (gst_bin_remove), (gst_bin_iterate_recurse_up),
15265 (bin_element_is_sink), (gst_bin_iterate_sinks),
15266 (gst_bin_iterate_all_by_interface):
15268 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
15269 (gst_element_change_state), (gst_element_dispose),
15270 (gst_element_finalize), (gst_element_set_loop_function):
15271 * gst/gstelement.h:
15272 * gst/gstiterator.c: (find_custom_fold_func):
15273 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
15274 (gst_pad_collectv), (gst_pad_collect_valist),
15275 (gst_pad_template_new):
15276 * gst/gstpipeline.c: (gst_pipeline_class_init),
15277 (gst_pipeline_dispose), (gst_pipeline_set_property),
15278 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
15279 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
15280 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
15282 * gst/schedulers/entryscheduler.c:
15283 * gst/schedulers/gstbasicscheduler.c:
15284 (gst_basic_scheduler_cothreaded_chain),
15285 (gst_basic_scheduler_chain_add_element):
15286 * testsuite/bins/interface.c: (main):
15288 Added GstSystemClock test.
15289 Implemented clock distribution code in GstBin.
15290 Implemented iterate sinks method for future use.
15291 Rearranged gstelement.h
15292 Fix GstIterator comparison bug.
15293 Moved some code to GstPipeline, mostly clocking related.
15295 2005-03-09 Wim Taymans <wim@fluendo.com>
15298 * gst/gst_private.h:
15299 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15300 (gst_bin_remove_func), (gst_bin_remove),
15301 (gst_bin_get_by_name_recurse_up):
15302 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
15303 (gst_clock_id_compare_func), (gst_clock_id_wait),
15304 (gst_clock_id_wait_async), (gst_clock_init),
15305 (gst_clock_adjust_unlocked), (gst_clock_get_time):
15306 * gst/gstelement.h:
15307 * gst/gstinfo.c: (_gst_debug_init):
15309 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
15310 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
15312 Bump version number, we're now 0.9.0
15313 Add future debugging category.
15314 Fix NULL _unref() in _get_by_name_recurse_up
15315 Rearrange gstpad.h.
15318 2005-03-08 Wim Taymans <wim@fluendo.com>
15320 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
15321 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
15322 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15323 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
15324 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
15325 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
15326 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
15327 * gst/elements/gstidentity.c: (gst_identity_class_init):
15328 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
15329 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
15330 * gst/elements/gstshaper.c: (gst_shaper_class_init):
15331 * gst/elements/gststatistics.c: (gst_statistics_class_init):
15332 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
15334 * gst/gstelement.c: (gst_element_class_init),
15335 (gst_element_base_class_init), (gst_element_init),
15336 (gst_element_get_random_pad), (gst_element_wait_state_change),
15337 (gst_element_change_state), (gst_element_dispose),
15338 (gst_element_finalize), (gst_element_set_loop_function):
15339 * gst/gstelement.h:
15340 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
15341 * gst/gstthread.c: (gst_thread_class_init),
15342 (gst_thread_release_children_locks), (gst_thread_change_state):
15343 * gst/schedulers/gstbasicscheduler.c:
15344 (gst_basic_scheduler_loopfunc_wrapper),
15345 (gst_basic_scheduler_chain_wrapper),
15346 (gst_basic_scheduler_src_wrapper),
15347 (gst_basic_scheduler_remove_element):
15348 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
15349 Remove threadsafe properties. Fix elements because GObject
15350 complains when installing a property before declaring a
15351 set/get_property handler.
15352 Rearrange gstelement.h file, use STATE macros for state locks.
15353 Free mutexes in the finalize method instead of dispose.
15355 2005-03-08 Wim Taymans <wim@fluendo.com>
15357 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
15358 * gst/gstthread.c: (gst_thread_release_children_locks):
15359 Added parentage check.
15360 Fix build og GstThread again.
15362 2005-03-08 Wim Taymans <wim@fluendo.com>
15364 * docs/design/part-MT-refcounting.txt:
15365 * docs/design/part-conventions.txt:
15366 * docs/design/part-gstobject.txt:
15367 * docs/design/part-relations.txt:
15368 * docs/design/part-standards.txt:
15369 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
15370 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
15371 (gst_bin_get_by_name), (gst_bin_get_by_interface),
15372 (gst_bin_iterate_all_by_interface):
15375 * gst/gstelement.c: (gst_element_class_init),
15376 (gst_element_change_state), (gst_element_set_loop_function):
15377 * gst/gstelement.h:
15378 * gst/gstiterator.c:
15379 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
15380 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
15381 (gst_object_dispatch_properties_changed), (gst_object_set_name),
15382 (gst_object_set_parent), (gst_object_unparent),
15383 (gst_object_check_uniqueness):
15385 Docs updates, clean up some headers.
15387 2005-03-07 Wim Taymans <wim@fluendo.com>
15389 * check/.cvsignore:
15390 * check/Makefile.am:
15391 * check/gst-libs/.cvsignore:
15392 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
15393 * check/gst/.cvsignore:
15394 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
15395 (START_TEST), (gstbus_suite), (main):
15396 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
15397 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
15398 (gst_data_suite), (main):
15399 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
15400 (add_fold_func), (gstiterator_suite), (main):
15401 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
15402 (thread_name_object), (thread_name_object_default),
15403 (gst_object_name_compare), (gst_object_suite), (main):
15404 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
15405 (gst_pad_suite), (main):
15406 * check/gstcheck.c: (gst_check_log_message_func),
15407 (gst_check_log_critical_func), (gst_check_init):
15408 * check/gstcheck.h:
15409 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
15410 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
15413 2005-03-07 Wim Taymans <wim@fluendo.com>
15415 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
15416 (gst_list_iterator_next), (gst_list_iterator_resync),
15417 (gst_list_iterator_free), (gst_iterator_new_list),
15418 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
15419 (gst_iterator_free), (gst_iterator_push), (filter_next),
15420 (filter_resync), (filter_uninit), (filter_free),
15421 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
15422 (gst_iterator_foreach), (find_custom_fold_func),
15423 (gst_iterator_find_custom):
15424 * gst/gstiterator.h:
15425 Added missing files.
15427 2005-03-07 Wim Taymans <wim@fluendo.com>
15431 * docs/design/part-MT-refcounting.txt:
15432 * docs/design/part-conventions.txt:
15433 * docs/design/part-gstobject.txt:
15434 * docs/design/part-relations.txt:
15435 * examples/mixer/mixer.c: (main):
15436 * examples/thread/thread.c: (eos), (main):
15438 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
15439 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
15440 (gst_spider_plug_from_srcpad):
15441 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
15442 (gst_spider_identity_change_state),
15443 (gst_spider_identity_sink_loop_type_finding):
15444 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
15445 * gst/elements/gstidentity.c: (gst_identity_init):
15446 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
15447 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
15448 * gst/elements/gsttypefindelement.c: (free_entry):
15451 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
15452 (gst_bin_set_clock_func), (gst_bin_auto_clock),
15453 (gst_bin_set_index), (gst_bin_set_element_sched),
15454 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
15455 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
15456 (gst_bin_iterate_elements), (iterate_child_recurse),
15457 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
15458 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
15459 (compare_interface), (gst_bin_get_by_interface),
15460 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
15462 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
15463 (gst_buffer_default_free), (gst_buffer_default_copy),
15464 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
15465 (gst_buffer_create_sub):
15467 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
15468 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
15469 (gst_caps_unref), (gst_static_caps_get),
15470 (gst_caps_remove_and_get_structure), (gst_caps_append),
15471 (gst_caps_append_structure), (gst_caps_remove_structure),
15472 (gst_caps_copy_nth), (gst_caps_set_simple),
15473 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
15474 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
15475 (gst_caps_structure_intersect_field), (gst_caps_intersect),
15476 (gst_caps_structure_subtract_field), (gst_caps_subtract),
15477 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
15478 (gst_caps_structure_figure_out_union),
15479 (gst_caps_switch_structures), (gst_caps_do_simplify),
15480 (gst_caps_replace), (gst_caps_from_string),
15481 (gst_caps_copy_conditional):
15483 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
15484 (_gst_clock_id_free), (gst_clock_id_unref),
15485 (gst_clock_id_compare_func), (gst_clock_id_wait),
15486 (gst_clock_id_wait_async), (gst_clock_class_init),
15487 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
15488 (gst_clock_get_time), (gst_clock_set_time_adjust),
15489 (gst_clock_set_property), (gst_clock_get_property):
15492 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
15493 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
15495 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
15496 (gst_element_requires_clock), (gst_element_provides_clock),
15497 (gst_element_set_clock), (gst_element_clock_wait),
15498 (gst_element_wait), (gst_element_set_time_delay),
15499 (gst_element_is_indexable), (gst_element_add_pad),
15500 (gst_element_add_ghost_pad), (gst_element_remove_pad),
15501 (pad_compare_name), (gst_element_get_static_pad),
15502 (gst_element_request_pad), (gst_element_get_request_pad),
15503 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
15504 (gst_element_class_get_pad_template_list),
15505 (gst_element_class_get_pad_template), (gst_element_error_func),
15506 (gst_element_get_random_pad), (gst_element_get_event_masks),
15507 (gst_element_send_event), (gst_element_seek),
15508 (gst_element_get_query_types), (gst_element_query),
15509 (gst_element_get_formats), (gst_element_convert),
15510 (gst_element_is_locked_state), (gst_element_set_locked_state),
15511 (gst_element_sync_state_with_parent), (gst_element_change_state),
15512 (gst_element_finalize), (gst_element_yield),
15513 (gst_element_interrupt), (gst_element_set_scheduler),
15514 (gst_element_get_scheduler), (gst_element_set_loop_function):
15515 * gst/gstelement.h:
15517 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
15518 (gst_format_get_by_nick), (gst_format_get_details),
15519 (gst_format_iterate_definitions):
15521 * gst/gstindex.c: (gst_index_gtype_resolver):
15524 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
15525 (gst_mem_chunk_free):
15526 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
15527 (gst_object_ref), (gst_object_unref), (gst_object_sink),
15528 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
15529 (gst_object_dispatch_properties_changed),
15530 (gst_object_set_name_default), (gst_object_set_name),
15531 (gst_object_get_name), (gst_object_set_name_prefix),
15532 (gst_object_get_name_prefix), (gst_object_set_parent),
15533 (gst_object_get_parent), (gst_object_unparent),
15534 (gst_object_check_uniqueness), (gst_object_save_thyself),
15535 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
15536 (gst_object_set_property), (gst_object_get_property),
15537 (gst_object_get_path_string):
15539 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15540 (gst_real_pad_init), (gst_real_pad_get_property),
15541 (gst_pad_custom_new), (gst_pad_get_direction),
15542 (gst_pad_set_active), (gst_pad_is_active),
15543 (gst_pad_set_event_function), (gst_pad_is_linked),
15544 (gst_pad_link_free), (gst_pad_link_intersect),
15545 (gst_pad_link_fixate), (gst_pad_set_caps),
15546 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
15547 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
15548 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
15549 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
15550 (gst_pad_get_caps), (gst_pad_peer_get_caps),
15551 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
15552 (gst_pad_realize), (gst_pad_get_allowed_caps),
15553 (gst_real_pad_dispose), (gst_real_pad_finalize),
15554 (gst_pad_collectv), (gst_pad_collect_valist),
15555 (gst_pad_template_dispose), (gst_pad_template_new),
15556 (gst_pad_get_internal_links):
15558 * gst/gstpipeline.c: (gst_pipeline_dispose),
15559 (gst_pipeline_change_state):
15560 * gst/gstpipeline.h:
15562 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
15563 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
15564 * gst/gstpluginfeature.h:
15565 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
15566 * gst/gstquery.c: (_gst_query_type_initialize),
15567 (gst_query_type_register), (gst_query_type_get_by_nick),
15568 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
15570 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
15571 * gst/gstscheduler.c: (gst_scheduler_add_element),
15572 (gst_scheduler_factory_create):
15573 * gst/gststructure.c: (gst_structure_set_parent_refcount),
15574 (gst_structure_free), (gst_structure_set_name),
15575 (gst_structure_id_set_value), (gst_structure_set_value),
15576 (gst_structure_set_valist), (gst_structure_remove_field),
15577 (gst_structure_remove_fields),
15578 (gst_structure_remove_fields_valist),
15579 (gst_structure_remove_all_fields), (gst_structure_foreach),
15580 (gst_structure_map_in_place),
15581 (gst_caps_structure_fixate_field_nearest_int),
15582 (gst_caps_structure_fixate_field_nearest_double):
15583 * gst/gststructure.h:
15584 * gst/gstsystemclock.c: (gst_system_clock_class_init),
15585 (gst_system_clock_init), (gst_system_clock_dispose),
15586 (gst_system_clock_async_thread),
15587 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
15588 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
15589 * gst/gstsystemclock.h:
15590 * gst/gsttag.c: (gst_tag_list_add_value_internal),
15591 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
15592 * gst/gsttaginterface.c:
15593 * gst/gstthread.c: (gst_thread_dispose),
15594 (gst_thread_release_children_locks), (gst_thread_change_state),
15595 (gst_thread_main_loop):
15596 * gst/gsttrashstack.h:
15597 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
15599 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15600 (gst_element_request_pad), (gst_element_get_pad_from_template),
15601 (gst_element_request_compatible_pad),
15602 (gst_element_get_compatible_pad_filtered),
15603 (gst_element_get_compatible_pad), (gst_element_state_get_name),
15604 (gst_element_link_pads_filtered), (gst_element_link_filtered),
15605 (gst_element_link_many), (gst_element_link),
15606 (gst_element_link_pads), (gst_element_unlink_pads),
15607 (gst_element_unlink_many), (gst_element_unlink),
15608 (gst_pad_can_link_filtered), (gst_pad_can_link),
15609 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
15610 (gst_object_default_error), (gst_bin_add_many),
15611 (gst_bin_remove_many), (gst_element_populate_std_props),
15612 (gst_element_class_install_std_props), (gst_buffer_merge),
15613 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
15614 (link_fold_func), (gst_pad_proxy_setcaps):
15616 * gst/gstvalue.c: (gst_value_deserialize_string):
15617 * gst/parse/grammar.y:
15618 * gst/schedulers/gstbasicscheduler.c:
15619 (gst_basic_scheduler_cothreaded_chain),
15620 (gst_basic_scheduler_chain_recursive_add),
15621 (gst_basic_scheduler_pad_link):
15622 * gst/schedulers/gstoptimalscheduler.c:
15623 (get_group_schedule_function),
15624 (gst_opt_scheduler_state_transition),
15625 (gst_opt_scheduler_add_element), (element_get_reachables_func):
15626 * libs/gst/bytestream/bytestream.c:
15627 * libs/gst/dataprotocol/dataprotocol.c:
15628 (gst_dp_header_from_buffer):
15631 * tests/threadstate/threadstate2.c: (eos):
15632 * tools/gst-compprep.c: (main):
15633 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
15634 (print_pad_info), (print_children_info):
15635 * tools/gst-launch.c: (idle_func), (main):
15636 * tools/gst-md5sum.c: (idle_func), (main):
15637 * tools/gst-xmlinspect.c: (print_element_info):
15638 First THREADED backport attempt, focusing on adding locks and
15639 making sure the API is threadsafe. Needs more work. More docs
15642 2005-02-24 Andy Wingo <wingo@pobox.com>
15644 * tests/bench-complexity.scm:
15645 * tests/complexity.gnuplot: New files, good for running complexity
15648 * tests/Makefile.am:
15649 * tests/complexity.c: New test, sets up N elements, at each level
15650 teeing into M streams per element. Eeeenteresting.
15652 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
15653 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
15654 running bench-mass_elements.scm.
15656 * tests/bench-mass_elements.scm: New script, runs mass_elements
15657 for various numbers of identities, outputting the results to a
15658 file. Requires guile 1.6. Just for testing.
15660 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
15662 * gst/schedulers/fairscheduler.c:
15663 compile with debug disabled
15665 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
15668 hunting season on 0.9 is now OPEN