1 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
3 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
7 Added Danish translation.
9 2007-04-05 Wim Taymans <wim@fluendo.com>
11 * libs/gst/base/gstbasesink.c:
12 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
13 Fix leak caused when refusing newsegment after EOS.
15 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
16 (gst_fake_sink_init), (gst_fake_sink_set_property),
17 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
18 (gst_fake_sink_render), (gst_fake_sink_change_state):
19 * plugins/elements/gstfakesink.h:
20 Add num-buffers property to make the element generate EOS after a
21 configurable amount of buffers.
22 API: fakesink::num-buffers property.
24 * tests/check/elements/fakesink.c: (GST_START_TEST),
26 Fix GstBus leak in test.
27 Test for fakesink num-buffers.
29 2007-04-05 Wim Taymans <wim@fluendo.com>
31 * libs/gst/base/gstbasesink.c:
32 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
33 (gst_base_sink_change_state):
34 Don't accept anything after an EOS, return UNEXPECTED instead.
36 * tests/check/elements/fakesink.c: (GST_START_TEST),
38 Unit test for new EOS behaviour.
40 2007-04-05 Wim Taymans <wim@fluendo.com>
42 * gst/gstelement.c: (gst_element_get_request_pad):
43 Make padtemplates also work when they don't contain %s or %d.
45 2007-04-05 Wim Taymans <wim@fluendo.com>
47 * docs/gst/gstreamer-sections.txt:
48 * gst/gstclock.c: (gst_clock_adjust_unlocked),
49 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
51 Improve _adjust_unlocked() so that it overflows less.
52 Add gst_clock_unadjust_unlocked to convert from external time to
53 internal time based on calibration.
55 API: GstClock::gst_clock_unadjust_unlocked()
57 2007-04-03 Wim Taymans <wim@fluendo.com>
59 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
61 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
62 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
63 when releasing sink pad. Fixes #425400.
65 2007-04-02 Stefan Kost <ensonic@users.sf.net>
67 * docs/random/ensonic/dynlink.txt:
68 More work on proposal for new core api.
70 * docs/libs/gstreamer-libs-sections.txt:
71 * libs/gst/base/gstbasetransform.h:
72 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
74 * libs/gst/controller/gstcontroller.c:
75 (on_object_controlled_property_changed),
76 (gst_controller_sync_values),
77 (gst_controller_set_interpolation_mode):
78 * libs/gst/controller/gstcontroller.h:
79 Less verbose logging add docs for unimplemented parts and correctly
80 return when using unavailable parts.
82 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
84 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
85 Move all the debug to the CLOCK category, and associate it with
88 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
90 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
91 Make take_buffer a bit quicker by removing redundant checks
92 caused by calling gst_adapter_take.
94 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
96 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
99 * tests/check/Makefile.am:
100 * tests/check/elements/.cvsignore:
101 * tests/check/elements/multiqueue.c: (setup_multiqueue),
102 (GST_START_TEST), (multiqueue_suite):
103 Add some dead simple unit tests for the 'multiqueue' element
104 (some bits don't work yet and are disabled for now).
106 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
108 * gst/gstelement.c: (gst_element_get_request_pad),
109 (gst_element_class_get_request_pad_template):
110 Make gst_element_get_request_pad() create request pads only for
111 request pad templates and not for, say, sometimes pad templates.
113 2007-03-28 Stefan Kost <ensonic@users.sf.net>
115 * docs/design/draft-klass.txt:
116 Add example that needs more thinking.
118 * docs/design/draft-missing-plugins.txt:
119 More thoughts about wrapper plugins.
121 * docs/random/ensonic/embedded.txt:
122 * docs/random/ensonic/profiling.txt:
125 2007-03-25 Wim Taymans <wim@fluendo.com>
127 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
129 Only push the segment events in the PLAYING state for live sources.
131 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
133 * gst/gstpipeline.c: (gst_pipeline_change_state):
134 Modify the clock distribution path in PAUSED->PLAYING so that we
135 never attempt to choose a new clock unless we're actually leaving
136 the PAUSED state for the first time. This prevents choosing a
137 different clock when the state_change gets called for a 2nd time due
138 to some element doing an async state change.
140 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
142 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
143 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
144 (gst_pad_chain_unchecked), (gst_pad_push):
145 Revert last commit. This needs some more thoughts.
147 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
149 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
150 (gst_pad_chain_unchecked), (gst_pad_push):
151 Check in set_caps if the caps are compatible with the pad and remove
152 two functions that are redundant now. Fixes #421543.
154 2007-03-22 Wim Taymans <wim@fluendo.com>
156 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
157 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
158 Unref some more to make valgrind happy.
160 2007-03-22 Wim Taymans <wim@fluendo.com>
162 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
163 (gst_system_clock_id_wait_jitter),
164 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
165 Fix anoying regression that survived a few releases. When adding an
166 async entry while blocking on a sync entry, the sync entry will unblock
167 but still be busy, so it should continue to wait instead of returning
169 Add some comments here and there.
171 * tests/check/gst/gstsystemclock.c: (mixed_thread),
172 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
173 Add testcase for this.
175 2007-03-22 Wim Taymans <wim@fluendo.com>
177 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
178 Handle errors from the clock sync better, only UNSCHEDULED indicates a
179 WRONG_STATE and can silently pause the task. All other cases should
182 2007-03-22 Wim Taymans <wim@fluendo.com>
184 Patch by: <syrjala at sci dot fi>
186 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
187 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
190 2007-03-21 Michael Smith <msmith@fluendo.com>
192 * docs/pwg/advanced-types.xml:
193 Fix some errors in the typefinding docs pointed out on irc.
195 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
197 * libs/gst/base/gstbasesrc.c:
198 Clarify FIXME comment in the face of having added unlock_stop()
200 2007-03-21 Wim Taymans <wim@fluendo.com>
202 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
203 Prepare for release where we warn against possible app breakage in the
204 case of live pipelines along with an env var to enable/disable live
205 preroll mode (GST_COMPAT=[no-]live-preroll).
207 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
209 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
210 So we should use correct constants for checking for None offset.
212 2007-03-20 Wim Taymans <wim@fluendo.com>
214 * docs/design/part-block.txt:
215 Mention the fact that the newly switched element should be set to at
218 2007-03-20 Wim Taymans <wim@fluendo.com>
221 Fix compilation with registry disabled as spotted by Saur.
223 2007-03-20 Wim Taymans <wim@fluendo.com>
225 Patch by: Olivier Crete <tester at tester dot ca>
227 * gst/gstelement.c: (gst_element_sync_state_with_parent):
228 Look at the pending state too when syncing the element state to the
229 parent. Fixes #420133.
231 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
233 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
234 (gst_base_sink_change_state):
235 * libs/gst/base/gstbasesink.h:
236 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
237 (gst_base_src_default_event), (gst_base_src_unlock_stop),
238 (gst_base_src_deactivate):
239 * libs/gst/base/gstbasesrc.h:
240 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
241 for sub-classes to correctly clear any state they set trying to
242 unlock, such as clearing out unlock commands from a command fd.
244 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
245 (gst_fd_sink_render), (gst_fd_sink_unlock),
246 (gst_fd_sink_unlock_stop):
247 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
248 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
249 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
251 Implement unlock_stop in fdsrc and fdsink.
252 Implement seeking in fdsrc when a seekable fd is passed, as in
253 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
255 2007-03-19 Wim Taymans <wim@fluendo.com>
257 Patch by: Evan Nemerson <evan at coeus dash group dot com>
259 * gst/gstelement.c: (gst_element_class_init):
260 Fix pad-added and pad-removed signal signatures so that the pad type is
261 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
263 2007-03-19 Wim Taymans <wim@fluendo.com>
265 * docs/gst/gstreamer-sections.txt:
266 Add new element field and method.
268 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
269 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
270 (gst_bin_recalc_state), (gst_bin_get_state_func),
271 (gst_bin_element_set_state), (gst_bin_change_state_func),
272 (gst_bin_continue_func), (bin_bus_handler),
273 (bin_push_state_continue), (bin_handle_async_start),
274 (bin_handle_async_done), (gst_bin_handle_message_func):
275 Make async state changes a bit smarter by using new ASYNC_START and
276 ASYNC_DONE messages. This reduces the number of times we run the state
277 recalculation thread.
278 Don't change state of element with a pending ASYNC_START message.
279 Deprecate STATE_DIRTY messages.
281 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
282 (gst_element_get_state_func), (gst_element_continue_state),
283 (gst_element_lost_state), (gst_element_set_state_func),
284 (gst_element_change_state):
286 Keep the state that was last set by the app in a new element field.
287 Don't allow state changes when handling an element event.
288 Post ASYNC_START and ASYNC_DONE messages.
289 Change lost_state so that we go to PAUSED and wait for the parent to set
290 us to PLAYING again (so latency calculation can be performed)
291 Export gst_element_change_state() method so that subclasses can use it.
292 API: gst_element_change_state()
293 API: GST_STATE_TARGET
295 * gst/gstpipeline.c: (gst_pipeline_class_init),
296 (reset_stream_time), (gst_pipeline_change_state),
297 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
298 Using the new ASYNC_START message we can reset the base_time when
299 needed. This can then be used to implement base_time redistribution in
300 flushing seeks so that we can remove the explicit seek handling.
301 Perform latency query and configuration when going to PLAYING.
303 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
304 (gst_base_sink_query), (gst_base_sink_change_state):
305 Post new ASYNC_START/ASYNC_DONE messages.
307 * tests/check/generic/sinks.c: (GST_START_TEST):
308 Fix test because the bin will not set the async element to PLAYING right
311 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
312 Make the message check a little stronger.
313 Handle ASYNC messages.
315 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
316 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
317 Expect ASYNC_DONE messages.
319 2007-03-19 Wim Taymans <wim@fluendo.com>
321 * docs/gst/gstreamer-sections.txt:
322 * gst/gstmessage.c: (gst_message_new_async_start),
323 (gst_message_new_async_done), (gst_message_parse_info),
324 (gst_message_parse_async_start):
326 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
329 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
331 * tools/gst-inspect.c:
332 (print_plugin_automatic_install_info_codecs):
333 Now that we don't check for the 'Codec' keyword any longer in the
334 klass, we shouldn't spew a warning if the klass isn't a decoder or
335 encoder (since it might be a Source/Network, for example).
337 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
339 * tools/gst-inspect.c:
340 (print_plugin_automatic_install_info_codecs):
341 Don't require decoder/demuxer/depayloader elements or
342 encoder/muxer/paylader elements to have 'Codec' as part of their
343 factory class string when introspecting a plugin's capabilities.
344 draft-klass.txt mentions that it might be removed in future, and
345 flump3dec doesn't have it as part of its class string, so chances
346 are others might also not have it.
348 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
370 Update translations from translation project
372 2007-03-14 Stefan Kost <ensonic@users.sf.net>
374 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
375 (gst_child_proxy_set_property):
376 Invert precondition check to be alike the ones in the mimiced gobject
379 2007-03-13 Stefan Kost <ensonic@users.sf.net>
381 * docs/design/draft-tagreading.txt:
382 * docs/random/ensonic/audiobaseclasses.txt:
383 Do some Architect work.
385 * gst/gstobject.c: (gst_object_set_name):
389 Add docs that point from gst_pad_get_range to gst_pad_pull_range
391 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
393 * gst/gstsystemclock.c: (gst_system_clock_init),
394 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
395 Defer starting the async system clock thread until the first async
396 wait is scheduled. Fixes #414986.
398 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
400 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
401 (gst_single_queue_free):
402 Fix small leak (free GstSingleQueue structure too, not only contents).
404 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
406 * gst/gstbin.c:(gst_bin_add):
407 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
408 * win32/common/libgstbase.def:
409 * win32/common/libgstreamer.def:
410 Add new exported functions.
412 2007-03-09 Wim Taymans <wim@fluendo.com>
414 * docs/plugins/gstreamer-plugins-sections.txt:
417 2007-03-09 Wim Taymans <wim@fluendo.com>
419 * docs/gst/gstreamer-sections.txt:
420 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
422 Add metadata copy functions. Fixes #393099.
424 * gst/gstutils.c: (gst_buffer_stamp):
425 * libs/gst/base/gstbasetransform.c:
426 (gst_base_transform_prepare_output_buffer):
427 Use new metadata copy functions.
429 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
431 * plugins/elements/gstidentity.c: (gst_identity_class_init),
432 (gst_identity_init), (gst_identity_check_perfect),
433 (gst_identity_check_imperfect_timestamp),
434 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
435 (gst_identity_set_property), (gst_identity_get_property):
436 * plugins/elements/gstidentity.h:
437 Separate out check-imperfect-timestamp and check-imperfect-offset.
438 Put back check-perfect as it was to keep compatibility.
440 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
442 * gst/gstelement.c: (gst_element_dispose):
443 There's no need to warn if VOID_PENDING is not NONE here, as
444 long as the state is NULL it's ok, and that's checked immediately
447 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
449 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
450 Fix check for perfect stream to ignore buffers with -1
451 offsets/offset ends when checking data contiguity.
453 2007-03-08 Wim Taymans <wim@fluendo.com>
455 * tools/gst-launch.c: (event_loop):
458 2007-03-08 Wim Taymans <wim@fluendo.com>
460 * libs/gst/base/gstbasetransform.c:
461 (gst_base_transform_sink_eventfunc),
462 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
463 (gst_base_transform_activate):
464 * libs/gst/base/gstbasetransform.h:
465 Add support for dropping buffers with custom GstFlowReturn.
466 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
467 buffers or dropped buffers.
469 * docs/libs/gstreamer-libs-sections.txt:
470 docs for new custom return code.
472 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
473 Use drop support in base class to implement drop-probability.
475 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
477 * gst/gst.c: (load_plugin_func):
478 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
479 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
480 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
481 Remove newlines at end of debug log strings.
483 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
485 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
486 Only post bus message at max, once per buffer received.
488 2007-03-07 Wim Taymans <wim@fluendo.com>
490 * docs/design/Makefile.am:
491 * docs/design/part-synchronisation.txt:
492 Add doc about synchronisation
494 * docs/design/draft-latency.txt:
495 * docs/design/part-TODO.txt:
496 * docs/design/part-clocks.txt:
497 * docs/design/part-events.txt:
498 * docs/design/part-gstbus.txt:
499 * docs/design/part-gstpipeline.txt:
500 * docs/design/part-live-source.txt:
501 * docs/design/part-messages.txt:
502 * docs/design/part-overview.txt:
503 * docs/design/part-streams.txt:
504 * docs/design/part-trickmodes.txt:
505 Documentation updates.
507 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
510 Update the doap file.
512 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
514 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
515 Rename non-perfect to imperfect for Mike and for the sanctity of the
517 Also make sure bus message gets emitted for data-incontiguities.
519 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
521 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
522 (gst_identity_start):
523 * plugins/elements/gstidentity.h:
524 Emit bus message if check-perfect is true and we encounter a
525 non-perfect stream between 2 consecutive buffers.
528 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
533 === release 0.10.12 ===
535 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
538 releasing 0.10.12, "Inevitable Demise"
540 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
543 Version 0.10.11.2 (0.10.12 pre-release)
544 Bump libtool versioning.
546 2007-03-01 Stefan Kost <ensonic@users.sf.net>
548 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
549 Log flow-names and not numbers.
551 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
554 Convert to new AG_GST style.
556 2007-02-28 Wim Taymans <wim@fluendo.com>
558 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
559 Don't unref query twice.
561 2007-02-28 Wim Taymans <wim@fluendo.com>
563 * gst/gstvalue.c: (gst_value_transform_object_string),
564 (_gst_value_initialize):
565 Implement GstObject -> string transform so we print object names
566 when serializing GValues containing GstObjects.
568 2007-02-28 Wim Taymans <wim@fluendo.com>
570 * docs/gst/gstreamer-sections.txt:
571 Add new stuff to docs.
573 2007-02-28 Wim Taymans <wim@fluendo.com>
575 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
576 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
577 (gst_base_sink_change_state):
578 Improve latency query code.
579 Don't leak latency events.
581 * tests/check/gst/gstbin.c: (GST_START_TEST):
584 2007-02-28 Wim Taymans <wim@fluendo.com>
586 * gst/gstelement.c: (gst_element_message_full),
587 (gst_element_get_state_func):
589 Improve docs a little. Added Since: for new macro.
591 * gst/gstobject.c: (gst_object_sink):
592 * gst/gstpipeline.c: (gst_pipeline_change_state),
593 (gst_pipeline_set_new_stream_time):
595 Improve debugging and docs.
597 * gst/gstutils.c: (gst_element_state_change_return_get_name):
600 2007-02-28 Wim Taymans <wim@fluendo.com>
602 * gst/gstelement.c: (gst_element_message_full),
603 (gst_element_set_locked_state), (gst_element_get_state_func),
604 (gst_element_change_state):
605 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
606 Documentation updates.
609 * gst/gstmessage.c: (gst_message_new_info),
610 (gst_message_parse_info):
612 API: gst_message_new_info()
613 API: gst_message_parse_info()
614 Add INFO message create and parse code.
616 2007-02-28 Wim Taymans <wim@fluendo.com>
618 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
619 (bin_query_latency_done):
620 Also report the live parameter of a latency query.
622 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
624 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
625 Copy the current generic/states example from -base and adapt so
626 we can use the exact same code everywhere.
627 Check a STATES_IGNORE_ELEMENTS env var which can be used
628 to ignore certain element factories for this test, which is
629 what is being done in -base
630 * tests/check/Makefile.am:
631 Mention this environment variable.
633 2007-02-27 Wim Taymans <wim@fluendo.com>
635 * docs/gst/gstreamer-sections.txt:
636 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
637 (gst_bus_timed_pop), (gst_bus_pop):
639 API: gst_bus_timed_pop()
640 Implement gst_bus_timed_pop() to do a blocking timed wait for a
641 message to arrive on the bus.
643 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
645 Two unit tests for new _timed_pop() function.
647 2007-02-23 Wim Taymans <wim@fluendo.com>
649 * gst/gstpipeline.c: (gst_pipeline_change_state),
650 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
651 Don't ref a NULL clock in _provide_clock_func().
652 Don't allow an INVALID delay.
653 Don't try to calculate base_time with an invalid start_time.
654 Also distribute and notify a NULL clock when it was selected.
656 * tools/gst-launch.c: (event_loop):
657 Don't crash when a NULL clock was selected in the pipeline.
659 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
661 * docs/design/Makefile.am:
662 * docs/design/draft-missing-plugins.txt:
663 * docs/random/draft-missing-plugins.txt:
664 Some small updates: update plugin system identifier prefix
665 ('gstreamer.net' to 'gstreamer'), mention our new install
666 API in libgstbaseutils rather than libgimme-codec, add
667 reference to the online docs.
669 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
671 * win32/common/config.h:
672 Pretty sure Bill never made a powerpc version. Powerpc hackers,
673 use moap cl ci to only check in what is mentioned in the ChangeLog.
675 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
677 * docs/gst/gstreamer-sections.txt:
679 Fix up documentation to link to the correct GstGError section.
680 Add GST_ELEMENT_INFO macro since someone else added a Info message.
682 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
684 * tools/gst-launch.c: (event_loop):
685 Make sure that we actually show the important message part of a
687 No need to check if the gerror is not NULL to free; first of all
688 g_free accepts NULL; and second the default error handler would
689 segfault if gerror was NULL.
691 2007-02-21 Wim Taymans <wim@fluendo.com>
693 * docs/gst/gstreamer-sections.txt:
694 Removed docs as well.
696 2007-02-21 Wim Taymans <wim@fluendo.com>
698 * gst/gstmessage.c: (gst_message_parse_duration):
700 Remove new messages for release.
702 2007-02-20 Wim Taymans <wim@fluendo.com>
704 * docs/design/part-gstghostpad.txt:
705 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
706 (gst_ghost_pad_new_full):
707 Make the ghostpad a parent of the internal pad again for better backward
708 compatibility. Don't write code that relies on this however.
710 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
711 (gst_pad_link_check_hierarchy):
712 Require that parents should be GstElements in the hierarchy check.
714 2007-02-20 Wim Taymans <wim@fluendo.com>
716 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
717 (gst_bin_change_state_func), (bin_query_min_max_init),
718 (bin_query_latency_fold), (bin_query_latency_done),
721 Implement latency query.
723 2007-02-20 Wim Taymans <wim@fluendo.com>
725 * docs/design/part-gstghostpad.txt:
726 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
727 (gst_ghost_pad_internal_do_activate_push),
728 (gst_ghost_pad_internal_do_activate_pull),
729 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
730 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
731 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
732 Do not set the internal pad as a parent anymore so we can avoid
733 hierarchy linking errors when the ghostpad has no parent yet. This also
734 fixes failed activation because of unlinked internal pads, which in
735 turn fixes the impossible case where you have to activate a pad before
736 you can add it to a running element.
739 * gst/gstpad.c: (pre_activate), (post_activate),
740 (gst_pad_set_active), (gst_pad_activate_pull),
741 (gst_pad_activate_push), (gst_pad_check_pull_range):
742 Add some more debug info.
743 Mark activation mode in pre_activate so that we don't try to activate in
744 endless loops. Fixes #385084.
746 2007-02-19 Wim Taymans <wim@fluendo.com>
748 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
749 (gst_base_transform_check_get_range):
750 Implement a checkgetrange function instead of relying on the default
751 core behaviour that assumes we can operate in pull mode if we have a
752 getrange function. First step at fixing #385084.
754 2007-02-15 Stefan Kost <ensonic@users.sf.net>
756 * gst/gstchildproxy.h:
757 * libs/gst/base/gstbasesink.h:
758 * libs/gst/base/gstbasesrc.h:
759 * libs/gst/base/gstbasetransform.h:
760 More docs coverage and some ChangeLog surgery (add missing names)
762 2007-02-15 Wim Taymans <wim@fluendo.com>
764 * docs/design/part-TODO.txt:
765 * docs/design/part-activation.txt:
766 * docs/design/part-block.txt:
767 * docs/design/part-buffering.txt:
768 * docs/design/part-clocks.txt:
769 * docs/design/part-element-source.txt:
770 * docs/design/part-events.txt:
771 * docs/design/part-gstbin.txt:
772 * docs/design/part-gstbus.txt:
773 * docs/design/part-gstpipeline.txt:
774 * docs/design/part-live-source.txt:
775 * docs/design/part-messages.txt:
776 * docs/design/part-overview.txt:
777 * docs/design/part-qos.txt:
778 * docs/design/part-query.txt:
779 * docs/design/part-states.txt:
780 * docs/design/part-trickmodes.txt:
781 Some doc updates. Start renaming from stream_time to running_time where
784 2007-02-15 Wim Taymans <wim@fluendo.com>
786 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
787 Answer LATENCY query.
789 2007-02-15 Wim Taymans <wim@fluendo.com>
791 * tests/check/gst/gstevent.c: (event_probe), (test_event),
795 2007-02-15 Wim Taymans <wim@fluendo.com>
797 * gst/gstpad.c: (gst_pad_get_internal_links_default),
798 (gst_pad_dispatcher):
799 Improve debugging of default pad dispatcher and query functions.
801 2007-02-15 Wim Taymans <wim@fluendo.com>
803 * docs/gst/gstreamer-sections.txt:
804 Remove old unused method.
806 2007-02-13 Wim Taymans <wim@fluendo.com>
808 * tests/check/gst/gstsegment.c: (GST_START_TEST):
811 2007-02-13 Wim Taymans <wim@fluendo.com>
813 * docs/design/part-seeking.txt:
816 * gst/gstsegment.c: (gst_segment_set_seek):
817 Revert old bogus change that should make seeking work again.
819 2007-02-13 Stefan Kost <ensonic@users.sf.net>
821 * docs/random/ensonic/dynlink.txt:
822 * docs/random/ensonic/interfaces.txt:
823 * docs/random/ensonic/receipies.txt:
824 Possible dynamic reconnection api, plus some type fixes the other two
827 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
829 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
830 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
831 Also check for an absolute path following file:// in the filesrc
832 element. Remove redundant check and call g_path_is_absolute() on the
835 2007-02-13 Stefan Kost <ensonic@users.sf.net>
837 * docs/design/draft-klass.txt:
838 Add existing category analysis.
841 Fix doc example, framerate is a fraction.
843 2007-02-12 Stefan Kost <ensonic@users.sf.net>
846 * docs/gst/Makefile.am:
847 * docs/libs/Makefile.am:
848 * docs/plugins/Makefile.am:
849 Add crossreferences to glib/gobject docs.
851 2007-02-12 Wim Taymans <wim@fluendo.com>
853 * docs/design/draft-latency.txt:
856 * docs/libs/gstreamer-libs-sections.txt:
857 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
858 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
859 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
860 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
861 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
862 (gst_base_sink_get_position), (gst_base_sink_query),
863 (gst_base_sink_change_state):
864 * libs/gst/base/gstbasesink.h:
865 API: gst_base_sink_query_latency() to let subclasses query the upstream
867 API: gst_base_sink_get_latency() to let subclasses query the configured
869 Implement query and set latency.
871 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
872 don't continue preroll when we are flushing. Fixes #405284.
874 * tests/check/pipelines/stress.c: (change_state_timeout),
875 (quit_timeout), (GST_START_TEST), (stress_suite):
878 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
880 Patch by: René Stadler <mail at renestadler de>
882 * docs/gst/gstreamer-sections.txt:
883 * gst/gsttaglist.c: (_gst_tag_initialize):
885 API: add GST_TAG_REFERENCE_LEVEL (#403597).
887 2007-02-11 Stefan Kost <ensonic@users.sf.net>
889 * docs/libs/Makefile.am:
890 Fix path to core docs.
892 * gst/gstbin.c: (gst_bin_get_by_interface),
893 (gst_bin_iterate_all_by_interface):
894 Refix docs by also renaming 'interface' to 'iface' in implementation.
896 * docs/gst/gstreamer-sections.txt:
898 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
899 * gst/gstchildproxy.h:
900 * gst/gstelementfactory.c:
901 * gst/gstpadtemplate.h:
902 * libs/gst/controller/gstcontroller.c:
903 (gst_controlled_property_new):
906 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
908 * gst/gstbin.h:(gst_bin_get_by_interface),
909 (gst_bin_iterate_all_by_interface):
910 Replace interface parameter name by iface as interface is
911 a reserved keyword in Visual Studio for C++ projects so it removes
912 a build error for application developpers using VS.
913 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
914 Fix a bug on Windows in uri format check. Now the prefix checked
915 is file:// and next we check if the path after file:// is absolute.
916 * win32/common/libgstbase.def:
917 * win32/common/libgstdataprotocol.def:
918 * win32/common/libgstgstreamer.def:
919 Add new exported functions.
921 2007-02-09 Andy Wingo <wingo@pobox.com>
923 * tests/check/pipelines/simple-launch-lines.c
924 (simple_launch_lines_suite, test_tee): Disable tee test until I
925 have time to fix it :-(
927 * tests/check/Makefile.am (noinst_HEADERS):
928 * tests/check/libs/libsabi.c:
929 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
930 * tests/check/gst/gstabi.c:
931 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
933 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
934 tests for push and pull tee behavior.
936 * plugins/elements/gsttee.h:
937 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
938 mark as deprecated as well as unimplemented. It was a crack idea.
939 Add support for tee operating in pull mode, off by default.
941 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
942 normal-case logs down to LOG, raise errors to WARNING.
943 (gst_registry_xml_read_cache): Don't log before calling a function
946 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
947 exit (registry finalize).
948 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
949 DEBUG log when we emit signals that people don't even have the
950 chance to connect to.
951 (gst_registry_scan_path_level): Less logging in the normal case.
953 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
955 Patch by: Michal Benes <michal dot benes at itonis dot tv>
957 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
958 Correctly generate EOS for non-seekable files. We don't have a total
959 length for them and would get an unexpected end of file if we only
960 special-cased for regular files. (Fixes: #404569)
962 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
964 * tests/check/elements/filesrc.c: (GST_START_TEST),
966 Add unit test for the GstURIHandler interface in filesrc. This also
967 tests the newly added file://localhost/foo/bar support.
969 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
971 * gst/gstelementfactory.h:
972 The klass string is not a hierarchy. Add reference to the design doc
973 for more information and common types.
975 2007-02-02 Wim Taymans <wim@fluendo.com>
977 * gst/gstquery.c: (gst_query_new_latency):
978 Remove old structure field.
980 2007-02-02 Stefan Kost <ensonic@users.sf.net>
982 * tools/gst-launch.1.in:
983 Give example for network streaming (#351998)
985 2007-02-02 Wim Taymans <wim@fluendo.com>
987 * docs/gst/gstreamer-sections.txt:
988 Add docs for new methods.
990 * gst/gstevent.c: (gst_event_new_latency),
991 (gst_event_parse_latency):
993 Add new LATENCY event to configure latency in a pipeline.
994 API: gst_event_new_latency
995 API: gst_event_parse_latency
997 * gst/gstmessage.c: (gst_message_new_buffering),
998 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
999 (gst_message_new_latency), (gst_message_parse_buffering),
1000 (gst_message_parse_lost_preroll):
1002 Added messages used in draft-latency.
1003 API: gst_message_new_lost_preroll
1004 API: gst_message_parse_lost_preroll
1005 API: gst_message_new_prerolled
1006 API: gst_message_new_latency
1008 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1009 (gst_query_parse_latency):
1011 Implemented new latency query as in design doc.
1012 API: gst_query_new_latency
1013 API: gst_query_set_latency
1014 API: gst_query_parse_latency
1016 2007-02-02 Wim Taymans <wim@fluendo.com>
1018 * docs/design/draft-latency.txt:
1019 Slight redesign to allow for dynamic latency adjustments.
1021 * docs/design/part-negotiation.txt:
1024 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
1026 reviewed by: Wim Taymans <wim@fluendo.com>
1028 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1029 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1030 Allow file://localhost/foo/bar URLs and correctly fail for every other
1031 hostname that one sets. This was gnomevfssrc is linked for those if
1032 installed as it can handle it (#403172)
1034 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
1036 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1038 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1039 (unref_data), (gst_collect_pads_add_pad_full):
1040 * libs/gst/base/gstcollectpads.h:
1041 Don't put the previously added destroy notify in the GstCollectData
1042 struct as all it's padding is already used and we don't want to break
1043 ABI. Instead put in the pad's GObject data for now. This should be
1044 cleaned up for 0.11 (#402393).
1046 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
1048 reviewed by: Wim Taymans <wim@fluendo.com>
1050 * docs/libs/gstreamer-libs-sections.txt:
1051 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1052 (unref_data), (gst_collect_pads_add_pad),
1053 (gst_collect_pads_add_pad_full):
1054 * libs/gst/base/gstcollectpads.h:
1055 API: Add function to specify a destroy notification for custom
1056 GstCollectData when adding new pads in GstCollectPads (#402393).
1058 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
1061 Update Swedish translation (#378255).
1063 2007-01-31 Stefan Kost <ensonic@users.sf.net>
1065 * docs/design/draft-klass.txt:
1066 Fix the previous change, this is a list of categories and not a hierarchy.
1068 2007-01-31 Stefan Kost <ensonic@users.sf.net>
1070 * docs/design/draft-klass.txt:
1071 Add info about how to get a list of used classes.
1073 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
1075 * plugins/elements/gsttypefindelement.c:
1076 (gst_type_find_element_chain_do_typefinding),
1077 (gst_type_find_element_change_state):
1078 Don't leak found caps in chain function (no idea why that never
1079 showed up as a leak anywhere).
1081 2007-01-30 Stefan Kost <ensonic@users.sf.net>
1084 Fix and expand GstPluginDesc API docs.
1086 2007-01-29 Stefan Kost <ensonic@users.sf.net>
1089 * gst/gstelementfactory.c:
1090 * gst/gstpadtemplate.h:
1093 * libs/gst/controller/gstcontroller.c:
1094 (gst_controlled_property_new):
1095 * tests/examples/controller/audio-example.c:
1098 2007-01-29 Stefan Kost <ensonic@users.sf.net>
1101 comment about refining the xml deps
1104 comments about moving away from jade for docs
1107 recommit the ifdefs to use the binary registry
1109 * gst/gstbin.c: (gst_bin_change_state_func):
1110 this break is obsolete
1112 * gst/gstelementfactory.h:
1113 better GST_ELEMENT_DETAILS docs, add comment about translation
1118 * gst/gstobject.c: (gst_signal_object_get_type):
1119 add G_UNLIKELY as usual
1121 * gst/gstpad.c: (gst_pad_event_default):
1122 add fall trhu comment
1124 * gst/gstregistrybinary.c: (gst_registry_binary_write),
1125 (gst_registry_binary_initialize_magic),
1126 (gst_registry_binary_save_string),
1127 (gst_registry_binary_save_pad_template),
1128 (gst_registry_binary_save_feature),
1129 (gst_registry_binary_save_plugin),
1130 (gst_registry_binary_write_cache),
1131 (gst_registry_binary_check_magic),
1132 (gst_registry_binary_load_pad_template),
1133 (gst_registry_binary_load_feature),
1134 (gst_registry_binary_load_plugin),
1135 (gst_registry_binary_read_cache):
1136 comment typo and formatting
1138 * gst/gstutils.c: (gst_element_state_get_name),
1139 (gst_element_state_change_return_get_name):
1140 remove obsolete breaks
1142 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1143 add FIXME 0.11 and remove cpp comment
1145 2007-01-29 Edward Hervey <edward@fluendo.com>
1147 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1148 Fix print statement in an even more portable way.
1150 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
1152 * docs/gst/gstreamer-sections.txt:
1154 API: add GST_ROUND_DOWN_* macros (#401781).
1156 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
1158 * docs/gst/gstreamer.types.in:
1159 * gst/gstregistry.c: (gst_registry_class_init):
1160 Document registry signals and make gtk-doc pick them up (#401381).
1162 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
1164 * docs/pwg/building-testapp.xml:
1165 Add some audioconverts and audioresample to the pipeline, and some
1166 more comments and error handling.
1168 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
1170 * docs/manual/manual.xml:
1174 2007-01-26 Wim Taymans <wim@fluendo.com>
1176 * gst/gstcaps.c: (gst_static_caps_get):
1177 Init caps flags too.
1179 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
1181 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1183 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1184 If not using mmap'ed files try to seek to the end instead of the
1185 start to determine whether we can seek at all. This fixes the case
1186 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1187 seeks for everything afterwards fail. Fixes #400656
1189 2007-01-25 Wim Taymans <wim@fluendo.com>
1191 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1192 Add some refcount debugging.
1193 Make gst_static_caps_get threadsafe, which is needed when autoplugging
1194 in multiple streaming threads.
1196 2007-01-25 Wim Taymans <wim@fluendo.com>
1198 Patch by: David Schleef <ds at schleef dot org>
1200 * docs/libs/gstreamer-libs-sections.txt:
1201 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1202 * libs/gst/base/gstadapter.h:
1203 API: gst_adapter_copy() that can reduce the amount of memcpy when
1204 getting data from the adapter. Fixes #388201.
1206 2007-01-25 Edward Hervey <edward@fluendo.com>
1208 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1209 In print statements, "%x" is for guint. Fixes build on macosx.
1211 2007-01-24 Edward Hervey <edward@fluendo.com>
1213 * plugins/elements/gstmultiqueue.c:
1214 (gst_multi_queue_loop):
1216 (single_queue_overrun_cb), (single_queue_underrun_cb),
1217 (single_queue_check_full), (gst_single_queue_new):
1218 Implement single queue growth system.
1219 This uses the extra-size properties, and will grow single queues by
1220 that much if one goes full whereas there are others empty. This is
1221 called extra-mode in the code.
1222 When a single queue's levels go back below the initial max-size
1223 limits, it is no longer in extra-mode. This is to ensure we don't
1224 consume too much memory.
1227 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
1229 * gst/gst.c: (gst_init_get_option_group):
1230 Make warning about late g_thread_init() calls a bit more explicit,
1231 so that it's more obvious to application developers what they need
1232 to do if a user files a bug against their application.
1234 2007-01-22 Edward Hervey <edward@fluendo.com>
1236 * plugins/elements/gstmultiqueue.c:
1237 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1238 Remove previous hack of unsetting the flushing flag for the source pad
1239 instead of activating it. Instead, fix the source pad activate function
1240 so that it no longer depends on having a parent set or not.
1242 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
1244 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1246 * docs/manual/basics-bus.xml:
1247 Fix example code, gst_element_unref() doesn't exist any longer.
1249 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
1251 Patch by: Mark Nauwelaerts <manauw at skynet be>
1254 Fix two docs typoes (#399094).
1256 2007-01-19 Edward Hervey <edward@fluendo.com>
1258 * docs/faq/gst-uninstalled:
1259 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1260 depending on libgstbaseutils can work in uninstalled environment.
1262 2007-01-18 Stefan Kost <ensonic@users.sf.net>
1265 * gst/gsttagsetter.c:
1266 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1267 statement for new tag.
1269 2007-01-17 Edward Hervey <edward@fluendo.com>
1271 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1272 When dynamically creating single queues, activate sinkpad before adding
1274 We should be doing the same thing for the source pad, but we can't
1275 since it would call a method which needs the parent to be set in order
1276 to work propertly. Instead of activating the source pad, we just unset
1277 the flushing flag, which is the minimal requirement for adding a pad
1278 to an element in a state greater than READY.
1280 2007-01-17 Edward Hervey <edward@fluendo.com>
1282 * docs/faq/gst-uninstalled:
1283 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1286 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
1288 * tests/check/gst/gstabi.c:
1289 * tests/check/gst/struct_hppa.h:
1290 * tests/check/libs/libsabi.c:
1291 * tests/check/libs/struct_hppa.h:
1292 Add ABI structs for HPPA (see #393796).
1294 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
1296 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1297 Actually write ABI structs to the file specified in the GST_ABI
1298 environment variable, as the message we print claims we would.
1300 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1302 * tests/check/gst/gsttask.c:
1305 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1307 * gst/gsttaglist.c: (_gst_tag_initialize):
1308 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1309 previous two entries.
1311 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1313 * docs/gst/gstreamer-sections.txt:
1314 * gst/gsttaglist.c: (_gst_tag_initialize):
1316 Add tag support for beat-per-minute.
1318 2007-01-15 Stefan Kost <ensonic@users.sf.net>
1320 * gst/gstregistrybinary.c: (gst_registry_binary_write),
1321 (gst_registry_binary_initialize_magic),
1322 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1323 (gst_registry_binary_save_pad_template),
1324 (gst_registry_binary_save_feature),
1325 (gst_registry_binary_save_plugin),
1326 (gst_registry_binary_write_cache),
1327 (gst_registry_binary_check_magic),
1328 (gst_registry_binary_load_pad_template),
1329 (gst_registry_binary_load_feature),
1330 (gst_registry_binary_load_plugin),
1331 (gst_registry_binary_read_cache):
1332 * gst/gstregistrybinary.h:
1333 Use glib types, cleanup comments, impement interfaces and uri-types.
1335 2007-01-13 Andy Wingo <wingo@pobox.com>
1337 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1338 getrange() to return buffers with other caps, while we fix
1339 demuxers and typefind, or otherwise change part-negotiation.txt.
1341 2007-01-12 Andy Wingo <wingo@pobox.com>
1343 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1344 Factor start/stop into this private function instead of partially
1345 in activate functions and partially in the change_state function.
1346 Fixes setup before the element has changed from READY->PAUSED, as
1347 is the case in pull-mode pipelines.
1348 (gst_base_transform_sink_activate_push)
1349 (gst_base_transform_src_activate_pull): Refactor to use
1350 gst_base_transform_activate().
1351 (gst_base_transform_change_state): Removed, not needed any more.
1353 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1354 Truncate before fixating.
1356 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1357 Don't set_caps() if the result of fixating is ANY, as it's not
1358 supported, and not necessary in the case of a link with no
1359 template caps on either side. Fixes tests/check/libs/basesrc in
1360 some pull-mode tests.
1362 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1363 (gst_base_transform_init, gst_base_transform_sink_activate_push)
1364 (gst_base_transform_src_activate_pull):
1365 Track the activation mode.
1366 (gst_base_transform_setcaps): In pull mode, when activating the
1367 src pad, after activating the sink pad, activate the sink pad's
1368 peer, as discussed in part-negotiation.txt.
1370 * libs/gst/base/gstbasesrc.h:
1371 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1372 vmethod, as in basesink.
1374 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1376 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1377 mode, first proxy the setcaps to the peer pad.
1378 (gst_base_sink_pad_fixate): Add a fixate function that calls the
1380 (gst_base_sink_default_activate_pull): Rename from
1381 gst_base_sink_activate_pull.
1382 (gst_base_sink_negotiate_pull): New function, performs negotiation
1383 in pull mode before calling ::activate_pull().
1384 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1385 vmethod instead of the default implementation. I have no idea how
1386 this worked before. Negotiate before calling activate_pull.
1388 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1389 sink pads in pull mode. In addition to being correct, fixes
1390 filesrc ! decodebin ! identity ! fakesink.
1391 (gst_pad_get_range, gst_pad_pull_range): Don't call
1392 gst_pad_set_caps() if the caps changes; instead error out with
1393 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1395 2007-01-12 Andy Wingo <wingo@pobox.com>
1397 * docs/design/part-negotiation.txt: Update with more policy.
1399 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
1401 * libs/gst/check/gstbufferstraw.h:
1402 * libs/gst/check/gstcheck.h:
1403 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1406 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
1408 * tests/check/Makefile.am:
1409 * tests/check/gst/.cvsignore:
1410 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1411 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1412 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1413 (GST_START_TEST), (gst_tag_setter_suite):
1414 Add minimal unit test for beforementioned GstTagSetter bug.
1416 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
1418 Patch by: René Stadler <mail at renestadler dot de>
1420 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1421 gst_tag_list_merge() returns a new list, so it's not the best idea
1422 to ingore its return value. Effectively meant that tags could only
1423 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1424 Also add function guard to require a non-NULL taglist as input (has
1425 always been so due to gst_tag_list_copy(), just making it explicit).
1427 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
1429 * docs/random/draft-missing-plugins.txt:
1430 Some additions: mention new API that is supposed to be used at the
1431 various stages; short blob about new gst-inspect introspection
1432 option; mention potential future problem with plugins that have
1433 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1435 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
1437 * tools/gst-inspect.c:
1438 (print_plugin_automatic_install_info_codecs),
1439 (print_plugin_automatic_install_info_protocols),
1440 (print_plugin_automatic_install_info), (main):
1441 Add --print-plugin-auto-install-info option to gst-inspect, so we can
1442 introspect plugin files and get machine-parsable output that corresponds
1443 to the last bit of the missing-plugin installer string (small gotcha:
1444 doesn't take into account ranks).
1446 2007-01-11 Stefan Kost <ensonic@users.sf.net>
1449 * docs/gst/gstreamer-sections.txt:
1451 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1452 (gst_registry_lookup_locked):
1453 * gst/gstregistry.h:
1454 * gst/gstregistrybinary.c: (gst_registry_binary_write),
1455 (gst_registry_binary_initialize_magic),
1456 (gst_registry_binary_save_string),
1457 (gst_registry_binary_save_pad_template),
1458 (gst_registry_binary_save_feature),
1459 (gst_registry_binary_save_plugin),
1460 (gst_registry_binary_write_cache),
1461 (gst_registry_binary_check_magic),
1462 (gst_registry_binary_load_pad_template),
1463 (gst_registry_binary_load_feature),
1464 (gst_registry_binary_load_plugin),
1465 (gst_registry_binary_read_cache):
1466 * gst/gstregistrybinary.h:
1467 * gst/gstregistryxml.c: (load_feature),
1468 (gst_registry_xml_read_cache):
1469 commit binary registry (disabled by default, see #359653)
1471 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
1473 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1474 Fix 'make check' too.
1476 2007-01-10 Andy Wingo <wingo@pobox.com>
1478 * docs/design/part-negotiation.txt: Fix a typo, add a couple
1481 * docs/design/part-negotiation.txt: Update with, um, one way that
1482 pull-mode negotiation might work?
1485 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1486 that the pad must be a src pad; makes sense to call it the other
1487 way in pull mode, and the logic is symmetric anyway.
1489 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
1491 * plugins/elements/gstfilesink.c:
1492 Include <stdio.h> for fseeko().
1494 2007-01-10 Wim Taymans <wim@fluendo.com>
1498 Reserve LATENCY event.
1500 2007-01-09 Wim Taymans <wim@fluendo.com>
1502 * docs/design/draft-latency.txt:
1505 2007-01-09 Wim Taymans <wim@fluendo.com>
1507 * docs/design/draft-latency.txt:
1511 * gst/gststructure.c:
1515 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
1517 * tests/check/.cvsignore:
1518 Ignore test-registry.xml as well.
1520 2007-01-09 Wim Taymans <wim@fluendo.com>
1522 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1523 unref data at the end when we are done with the pad.
1525 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
1527 * docs/gst/gstreamer-sections.txt:
1528 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1529 (init_post), (gst_deinit), (gst_update_registry):
1531 API: add gst_update_registry() (#391296).
1533 * tests/check/Makefile.am:
1534 * tests/check/gst/gstregistry.c:
1535 * tests/check/gst/.cvsignore:
1536 Simple unit test for the above.
1538 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
1540 * gst/gstregistry.c: (gst_registry_scan_path_level):
1541 Plugin extension on HP-UX is .sl, add that to the list of approved
1542 plugin extensions (see #393796).
1544 * tests/check/gst/gstpad.c: (GST_START_TEST):
1545 ulong => gulong. Fixes compilation with HP-UX compiler.
1547 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1548 Fix compilation if valgrind headers are not available.
1550 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
1552 * win32/common/libgstreamer.def:
1553 Add new exported function.
1554 * win32/vs6/libgstbase.dsp:
1555 Add gstdataqueue.c to the build.
1556 * win32/vs6/libgstcoreelements.dsp:
1557 Add gstmultiqueue.c to the build.
1559 2007-01-06 Andy Wingo <wingo@pobox.com>
1561 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
1562 activate_pull(), providing for a way to specialize the process of
1563 spawning a thread to pull on the sink pad. There is a default
1566 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
1567 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
1568 (gst_base_sink_init): Renamed pad activation functions (inserting
1569 "_pad" in their names). Refactor to use the new activate_pull
1570 vmethod, as appropriate.
1571 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
1572 default activate_pull function to start a task pulling from the
1573 sink pad, as before.
1575 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
1576 on the pads if necessary, as in push()/chain(). Update docs.
1577 Shouldn't affect existing pull() usage as it is currently only
1578 being used on buffers without caps.
1580 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1582 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1584 Call g_thread_init() first thing in gst_init() / gst_check_init().
1585 When initialisation is done via gst_init_get_option_group() and
1586 GOption parsing, issue a warning if the GLib thread system has not
1587 been initialised yet by the time gst_init_get_option_group() is
1588 called, as it's quite likely other GLib functions such as
1589 g_option_context_new() have been called already then, and
1590 g_thread_init() must be called before any other GLib function. The
1591 application in question must be fixed in that case, since memory
1592 corruption might happen otherwise.
1593 We issue the warning because even if the GLib folks decide to work
1594 around the problem on their end in future, this is still an issue
1595 with all GLib versions >= 2.10.0, so we should warn until we depend
1596 on a GLib version we know to be safe.
1597 Update documentation as well.
1600 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1602 * tools/gst-inspect.c: (main):
1603 * tools/gst-launch.c: (main):
1604 * tools/gst-typefind.c: (main):
1605 * tools/gst-xmlinspect.c: (main):
1606 Call g_thread_init() really really early, before any other GLib
1607 function (see #342564 and recent discussion on gtk-devel-list).
1609 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1611 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
1613 * gst/gst_private.h:
1614 * gst/gstconfig.h.in:
1616 On win32, all the __declspec stuff for symbol exporting is
1617 apparently only needed with MSVC, but doesn't work with MingW.
1618 Fixes compilation with MingW and #391909.
1620 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
1622 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
1623 Change some GST_ERROR_OBJECT that aren't really errors to
1624 GST_WARNING_OBJECT in order to reduce terminal spam.
1626 2007-01-04 Stefan Kost <ensonic@users.sf.net>
1628 * tests/check/Makefile.am:
1629 disable test again, as there seem to be still race problems
1631 2007-01-04 Stefan Kost <ensonic@users.sf.net>
1633 * tests/check/Makefile.am:
1634 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1635 (GST_START_TEST), (queue_suite):
1636 enable queue test again, add tests for the leaky behaviour
1638 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
1641 * tests/examples/Makefile.am:
1642 Compile adapter test/example only if the required headers are
1643 available (fixes #391915).
1645 2007-01-01 David Schleef <ds@schleef.org>
1648 Restore the previous signal handler for SIGSEGV instead of
1649 setting to default, since we may have stolen it away from
1650 someone. (i.e., Mono)
1652 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
1654 * docs/random/draft-missing-plugins.txt:
1655 Some small additions and clarifications.
1657 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
1659 * gst/gstregistryxml.c: (gst_registry_save_escaped):
1660 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
1661 since that can lead to random memory corruptions and crashes
1662 (may or may not be related to #383244, #386711, and #386711).
1664 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1666 * tests/check/.cvsignore:
1667 * tests/check/Makefile.am:
1668 sync .cvsignome and CLEANFILES
1670 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1672 * tests/check/Makefile.am:
1675 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1677 * docs/design/part-states.txt:
1678 two tiny additional comments
1680 * gst/gststructure.c:
1683 * tests/check/Makefile.am:
1684 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1686 disable test for now, unless it gets fixed
1688 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1690 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1692 fix race in underrun test
1694 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1696 * tests/check/elements/.cvsignore:
1699 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1701 try to narrow test failure
1703 2006-12-21 David Schleef <ds@schleef.org>
1705 * plugins/elements/gstfakesrc.c:
1706 Use g_random_int_range(), since it produces better random
1707 numbers in a range than almost-correct floating point code.
1709 2006-12-21 Stefan Kost <ensonic@users.sf.net>
1711 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1712 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1713 (gst_check_teardown_sink_pad):
1714 do not automatically (de)activate pads
1716 * tests/check/Makefile.am:
1717 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1718 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
1719 add new, yet simple tests for queue
1721 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
1722 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
1723 * tests/check/elements/filesrc.c: (cleanup_filesrc),
1725 * tests/check/elements/identity.c: (cleanup_identity):
1726 consistent pad (de)activation
1728 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
1730 Patch by: Sebastian Dröge <slomo ubuntu com>
1732 * libs/gst/base/gstcollectpads.c:
1733 Fix two doc typos (#387866).
1735 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
1737 * docs/manual/advanced-dparams.xml:
1738 Fix typo (g_object_control_properties() doesn't exist).
1740 2006-12-19 Edward Hervey <edward@fluendo.com>
1742 * gst/gstsegment.c: (gst_segment_set_seek):
1743 Fine tune the cases where the segment start/stop values are really
1745 * tests/check/gst/gstsegment.c: (GST_START_TEST):
1746 Add tests for the return values of gst_segment_set_seek().
1748 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
1753 * plugins/elements/gstqueue.c: (gst_queue_class_init),
1755 Fix incorrect documentation and flesh it out a bit more.
1756 Set default values for the max properties on the GParamSpec as well,
1757 so it shows up correctly in gst-inspect.
1759 2006-12-18 Stefan Kost <ensonic@users.sf.net>
1761 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1762 Correct docs of queue, add more detail and crosslink it more.
1764 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
1766 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1767 Print additional debug info when the stream isn't perfectly
1768 timestamped; don't try to use invalid durations.
1770 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
1772 * docs/design/Makefile.am:
1773 Dist new design docs.
1775 2006-12-16 Wim Taymans <wim@fluendo.com>
1777 Patch by: Sjoerd Simons <sjoerd at luon dot net>
1779 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
1780 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1781 (gst_collect_pads_stop), (gst_collect_pads_event),
1782 (gst_collect_pads_chain):
1783 * libs/gst/base/gstcollectpads.h:
1784 Add refcounting to the collectpads data so we can track when it's safe
1785 to free the data. Fixes #383382.
1787 2006-12-15 Wim Taymans <wim@fluendo.com>
1789 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1790 (gst_collect_pads_remove_pad):
1791 Automatically activate/deactivate pads when they are added to a
1792 started/stoped collectpads.
1794 2006-12-15 Wim Taymans <wim@fluendo.com>
1796 * gst/gstelement.c: (gst_element_add_pad):
1797 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
1798 * gst/gstpad.c: (gst_pad_init):
1799 Set pads to FLUSHING when they are created. Check, warn and fix when a
1800 demuxer adds an inactive pad to itself when running. Fixes #339326.
1802 2006-12-15 Wim Taymans <wim@fluendo.com>
1804 * gst/gstelement.c: (gst_element_class_init),
1805 (gst_element_default_send_event), (gst_element_send_event),
1806 (gst_element_default_query), (gst_element_query):
1807 Expose default element send_event and query handling as vmethods that
1808 subclasses can chain up to.
1810 2006-12-15 Wim Taymans <wim@fluendo.com>
1812 * gst/gstelement.c: (gst_element_set_state_func):
1813 Small documentation fixes.
1815 2006-12-15 Wim Taymans <wim@fluendo.com>
1817 * docs/design/draft-latency.txt:
1818 Checked in draft for handling latency in pipelines.
1820 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
1824 * gstreamer.spec.in:
1827 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
1829 * gst/gst.c: (init_pre), (init_post):
1830 init_pre() and init_post() might be called via our GOptionGroup or
1831 from gst_init(), and we should skip both of them if we've already
1832 been initialised, otherwise we will init some things twice or add
1833 two default log functions.
1835 2006-12-13 Edward Hervey <edward@fluendo.com>
1837 * docs/manual/basics-bus.xml:
1838 No, gst_main_loop does not exist. Its g_main_loop.
1839 Discovered by somebody who abused the copy-paste technique of coding :)
1841 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
1843 * gst/gstghostpad.c:
1844 Log ghostpad debug stuff to the GST_PADS category as well rather
1845 than just to the default category.
1847 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
1850 * gst/gst.c: (init_pre):
1851 Add some basic system details such as OS and architecture
1852 to the debug output if possible, courtesy of uname().
1854 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
1856 * docs/gst/running.xml:
1857 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
1858 environment variables.
1860 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
1862 * tests/check/gst/gstbin.c: (GST_START_TEST):
1863 It is acceptable to have a refcount of 2 or 3 at this point in the
1864 test, because the pipeline might be just posting its state_change
1865 message. The next line then waits for that message to appear using
1866 bus_poll, so that should be fine too.
1868 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
1870 * gst/gst.c: (ensure_current_registry_forking):
1871 Ignore EINTR when reading from the child registry pipe.
1872 Explicitly ignore the return value from close, since it makes no
1875 * gst/gstminiobject.c: (gst_mini_object_ref),
1876 (gst_mini_object_unref):
1877 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
1879 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
1880 When removing cached plugins, remove their features too, so they're
1881 not visible after they've disappeared.
1883 * gst/gstutils.c: (prepare_link_maybe_ghosting):
1884 In the unlikely case that we are linking pads with no parents, don't
1885 crash trying to get the non-existent parent bin.
1887 * gst/parse/grammar.y:
1888 Output debug in the PIPELINE category
1890 2005-03-08 Wim Taymans <wim@fluendo.com>
1892 Patch by: René Stadler <mail at renestadler dot de>
1894 * gst/gstclock.c: (gst_clock_new_periodic_id):
1895 Reject invalid clock times for interval of periodic ids.
1898 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
1900 * gst/gstelementfactory.c: (gst_element_factory_create):
1901 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1902 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1903 * tools/gst-inspect.c: (print_element_info):
1904 Fix refcounting of gst_plugin_feature_load to match the docs.
1907 2006-12-07 Wim Taymans <wim@fluendo.com>
1909 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
1910 (gst_base_sink_get_position):
1911 Improve debugging of events.
1913 2006-12-07 Wim Taymans <wim@fluendo.com>
1915 Patch by: René Stadler <mail at renestadler dot de>
1917 * gst/gstclock.c: (gst_clock_id_wait):
1918 Make period ids add the interval to the origial requested time instead
1919 of the possibly updated time which can be wrong when there are multiple
1920 waiters for the same id. Fixes #382592.
1922 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
1923 (gst_system_clock_id_wait_jitter_unlocked),
1924 (gst_system_clock_id_wait_jitter):
1925 Fix restart in the async notify thread when an async entry is added to
1926 the front of the list. Fixes #381492.
1928 * tests/check/gst/gstsystemclock.c: (store_callback),
1929 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
1930 Added test for multiple async waits.
1931 Added test for async wait order.
1933 2006-12-07 Wim Taymans <wim@fluendo.com>
1935 * gst/gstbin.c: (gst_bin_query):
1936 Add some more docs about the POSITION query.
1938 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
1941 Bump version nano - back to CVS.
1943 === release 0.10.11 ===
1945 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
1948 releasing 0.10.11, "Love never runs on time"
1950 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
1952 * win32/common/libgstbase.def:
1953 * win32/common/libgstreamer.def:
1954 * win32/vs8/libgstbase.vcproj:
1955 * win32/vs8/libgstcoreelements.vcproj:
1956 * win32/vs8/libgstreamer.vcproj:
1957 Fix compilation on win32 under VS8
1958 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
1959 Partially fixes #381175
1961 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
1963 * gst/gstvalue.c: (gst_value_compare_fraction):
1964 If someone is foolish enough to compare 2 fractions with denominator =
1965 0, return UNORDERED rather than aborting.
1967 2006-11-28 Edward Hervey <edward@fluendo.com>
1969 * libs/gst/base/Makefile.am:
1970 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
1971 (gst_data_queue_base_init), (gst_data_queue_class_init),
1972 (gst_data_queue_init), (gst_data_queue_new),
1973 (gst_data_queue_cleanup), (gst_data_queue_finalize),
1974 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
1975 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
1976 (gst_data_queue_is_empty), (gst_data_queue_is_full),
1977 (gst_data_queue_set_flushing), (gst_data_queue_push),
1978 (gst_data_queue_pop), (gst_data_queue_drop_head),
1979 (gst_data_queue_set_property), (gst_data_queue_get_property):
1980 * libs/gst/base/gstdataqueue.h:
1981 New GstDataQueue object for threadsafe queueing. Most useful for
1982 elements that need some queueing functionnality.
1983 * docs/libs/gstreamer-libs-docs.sgml:
1984 * docs/libs/gstreamer-libs-sections.txt:
1985 Insert documentation for GstDataQueue
1986 * plugins/elements/Makefile.am:
1987 * plugins/elements/gstelements.c:
1988 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1989 (gst_multi_queue_class_init), (gst_multi_queue_init),
1990 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
1991 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
1992 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
1993 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
1994 (gst_multi_queue_loop), (gst_multi_queue_chain),
1995 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1996 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
1997 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
1998 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
1999 (wake_up_next_non_linked), (compute_next_non_linked),
2000 (single_queue_overrun_cb), (single_queue_underrun_cb),
2001 (single_queue_check_full), (gst_single_queue_new):
2002 * plugins/elements/gstmultiqueue.h:
2003 New multiqueue element, using GstDataQueue. Used for queuing multiple
2005 Closes #344639 and #347785
2007 2006-11-22 Stefan Kost <ensonic@users.sf.net>
2009 * docs/pwg/advanced-types.xml:
2010 add more missing type details
2012 * tools/gst-run.c: (main):
2013 remove unused variable
2015 2006-11-21 Stefan Kost <ensonic@users.sf.net>
2017 * docs/libs/Makefile.am:
2018 * docs/libs/gstreamer-libs.types:
2019 add types of base classes to enable gobject specific stuff in the docs
2021 * docs/random/ensonic/embedded.txt:
2022 more ideas about isolating platform specific things
2024 2006-11-20 Wim Taymans <wim@fluendo.com>
2026 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
2028 * libs/gst/check/gstcheck.h:
2029 Fix compilation and running against 0.9.4. Fixes #377332.
2031 2006-11-20 Wim Taymans <wim@fluendo.com>
2033 * gst/gstsegment.c: (gst_segment_set_seek),
2034 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2035 (gst_segment_to_running_time):
2036 Fix boundary checking in to_running_time() and to_stream_time().
2039 * tests/check/gst/gstsegment.c: (GST_START_TEST):
2040 stream and running time can now be calculated for the complete
2043 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
2045 * gst/gstpad.c: (gst_pad_push_event):
2046 Can't access event structure after giving away ownership of
2049 2006-11-15 Stefan Kost <ensonic@users.sf.net>
2051 * docs/random/ensonic/embedded.txt:
2052 * docs/random/ensonic/profiling.txt:
2053 * docs/random/ensonic/receipies.txt:
2056 2006-11-13 Wim Taymans <wim@fluendo.com>
2058 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2061 Fix documentation for gst_pad_dispatcher. Fixes #374475.
2063 2006-11-13 Wim Taymans <wim@fluendo.com>
2065 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2067 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2068 Store new length in segment duration so we don't keep on calling the
2069 potentially expensize get_size() call. Fixes #370865.
2071 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
2073 Patch by: Sergey Scobich <sergey.scobich at gmail com>
2075 * win32/common/libgstreamer.def:
2076 Add two missing symbols (#366492).
2078 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
2080 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2081 (gst_adapter_take_buffer):
2082 Fix format string to use all its arguments.
2083 Remove useless >= check on a guint
2085 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
2087 * tests/examples/adapter/.cvsignore:
2088 Ignore build file as commanded by the build-bot
2090 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
2092 * tests/examples/adapter/Makefile.am:
2093 * tests/examples/adapter/adapter_test.c: (run_test_take),
2094 (run_test_take_buffer), (run_tests), (main):
2096 Add new files from the previous commit
2098 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
2102 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2103 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2104 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2105 * libs/gst/base/gstadapter.h:
2106 * tests/check/libs/adapter.c: (create_and_fill_adapter),
2107 (GST_START_TEST), (gst_adapter_suite):
2108 * tests/examples/Makefile.am:
2109 Do some optimisation work in GstAdapter to avoid copies in more cases.
2110 It could still do slightly better by merging buffers when
2111 gst_buffer_is_span_fast is true, but is already faster.
2113 Also, avoid traversing a single-linked list to append each incoming
2114 buffer inside the adapter.
2116 Add simple test app that times the adapter behaviour in different
2117 situations, and extend the unit test to check that bytes enter and
2118 exit the adapter in their original order.
2120 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
2122 * docs/random/draft-missing-plugins.txt:
2123 Update: use element message instead of adding a new message
2124 type to the core; don't provide GStreamer API to initiate the
2125 plugin download, just provide API to compose the strings needed
2126 and let an external libgimmestuff handle the rest.
2128 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
2130 * tools/gst-inspect.c: (print_element_properties_info):
2131 Print a string instead of 'unknown type' for GValueArray properties
2133 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
2135 * docs/random/draft-missing-plugins.txt:
2138 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
2140 * tests/examples/typefind/typefind.c: (type_found), (main):
2141 Make typefind element example work again (#371894); add a
2144 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
2146 * docs/random/draft-missing-plugins.txt:
2147 Commit initial draft about how to deal with missing plugins,
2148 needs work (API too).
2150 2006-11-07 Stefan Kost <ensonic@users.sf.net>
2152 * docs/pwg/advanced-types.xml:
2153 documents the new caps elements (see #363118)
2155 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
2157 * gst/gstplugin.c: (gst_plugin_load_file):
2158 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2159 (gst_file_src_map_region), (gst_file_src_start):
2160 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2161 (gst_file_index_commit):
2162 Use g_strerror() instead of strerror() - we want UTF-8.
2164 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
2166 Patch by: Peter Kjellerstedt <pkj at axis com>
2168 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2169 Another printf fix (#371493).
2171 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2173 * tests/check/gst/gsttag.c:
2174 relicence (okay with author=company)
2176 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2178 * gst/gstpad.c: (gst_pad_event_default_dispatch),
2179 (gst_pad_push_event):
2180 Enhance debug and improve docs
2185 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2187 * docs/random/ensonic/distributed.txt:
2188 * docs/random/ensonic/profiling.txt:
2191 2006-11-06 Stefan Kost <ensonic@users.sf.net>
2193 * docs/gst/gstreamer-sections.txt:
2194 add new API and fix the build
2196 * gst/gstbin.c: (gst_bin_recalc_state):
2197 * gst/gstelement.c: (gst_element_message_full),
2198 (gst_element_get_state_func), (gst_element_set_state_func):
2199 use new API and improve logging
2201 * gst/gstutils.c: (gst_element_state_change_return_get_name):
2203 API: add function to get StateChangereturn names to improve logs
2205 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
2207 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2208 I'm considering shooting the next person to put strerror stuff
2209 in the translateable part of the message.
2211 2006-11-03 Wim Taymans <wim@fluendo.com>
2213 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2214 Get the type and printf conversion specifiers right.
2216 2006-11-03 Wim Taymans <wim@fluendo.com>
2218 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2220 * gst/gstpad.c: (gst_pad_init), (pre_activate),
2221 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2222 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2223 Some small cleanups. Improve debugging.
2225 Signal all waiting threads with a broadcast instead of just one.
2228 2006-11-03 Wim Taymans <wim@fluendo.com>
2230 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2231 (gst_fd_src_create):
2233 Only update fd when it's different from the old.
2235 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
2237 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2238 Printf fixes for PPC/OSX, take two (#369366).
2240 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
2242 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
2244 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2245 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2246 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2247 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2248 don't cast to long long for portability reasons, but use
2249 GLib's types instead.
2251 2006-10-30 Michael Smith <msmith@fluendo.com>
2253 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2254 Get the arguments to lseek() the right way around.
2257 2006-10-30 Wim Taymans <wim@fluendo.com>
2259 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2262 _declspec should be __declspec (two underscores, not one). Fixes 366572.
2264 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
2266 Patch by: Kjartan Maraas <kmaraas at gnome org>
2268 * docs/design/part-MT-refcounting.txt:
2269 * docs/random/wtay/capsnego2-docs:
2272 Typo fixes (#366212).
2274 2006-10-28 Wim Taymans <wim@fluendo.com>
2276 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2279 * win32/common/libgstbase.def:
2280 * win32/common/libgstreamer.def:
2281 * win32/vs8/libgstbase.vcproj:
2282 * win32/vs8/libgstcontroller.vcproj:
2283 Add needed entries in .def files.
2285 Rearrange def files in vs8 solutions. Fixes #366286.
2287 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
2289 * win32/common/gstconfig.h:
2290 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2291 hand-made win32 gstconfig.h. Fixes #366321.
2293 2006-10-27 Wim Taymans <wim@fluendo.com>
2295 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2296 (gst_ghost_pad_new_full):
2297 Make acceptcaps return TRUE when we don't have a target, just like
2300 2006-10-27 Wim Taymans <wim@fluendo.com>
2302 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2303 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2305 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
2307 * gst/gststructure.c: (gst_structure_id_set_value):
2308 If someone tries to set a non-UTF8 string field on a structure,
2309 don't just print a warning, but also ignore the request and do
2310 not change/add that field to the structure.
2312 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2315 2006-10-25 David Schleef <ds@schleef.org>
2318 g_hash_table_insert() needs a cast to a non-const pointer duh.
2320 2006-10-25 David Schleef <ds@schleef.org>
2324 Change name parameter of _gst_debug_register_funcptr to const
2325 to reflect the constness of its use in the function as well
2326 as to quiet a gcc warning.
2328 2006-10-25 Edward Hervey <edward@fluendo.com>
2330 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2331 Don't push the buffer if it's empty.
2334 2006-10-24 Wim Taymans <wim@fluendo.com>
2339 * libs/gst/base/gstbasetransform.c:
2340 (gst_base_transform_sink_eventfunc):
2341 Debug segment values *after* updating them as this is more
2344 2006-10-23 Wim Taymans <wim@fluendo.com>
2346 * docs/design/part-events.txt:
2349 * docs/design/part-block.txt:
2350 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2351 (gst_pad_push_event):
2352 Revert BLOCKING patch, it tries to be smart without really having a
2353 clear idea what or how. So, now we discard all FLUSHING events again on
2354 a blocking pad. Should fix gnonlin again.
2356 2006-10-23 Wim Taymans <wim@fluendo.com>
2358 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2360 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2361 (gst_base_src_start), (gst_base_src_activate_push):
2362 Make sure size is always initialized. Fixes #364388.
2364 2006-10-20 Stefan Kost <ensonic@users.sf.net>
2366 * docs/random/ensonic/distributed.txt:
2367 add some ideas about doing distributed processing
2369 * docs/random/ensonic/profiling.txt:
2370 get_rusage look promising
2372 2006-10-18 Stefan Kost <ensonic@users.sf.net>
2374 * docs/manual/basics-helloworld.xml:
2375 Add a cast in example to fix compile warning
2377 2006-10-18 Wim Taymans <wim@fluendo.com>
2379 * gst/gstsegment.c: (gst_segment_set_last_stop),
2380 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2381 Relax arg checking again, -1 is allowed.
2383 2006-10-18 Wim Taymans <wim@fluendo.com>
2385 * gst/gstsegment.c: (gst_segment_set_last_stop),
2386 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2387 _set_last_stop() must be with a value != -1
2388 A _TYPE_SET to -1 means seek to 0.
2389 Calc last_stop correctly for negative rates.
2390 Make sure we work with positive durations when updating a segment.
2392 2006-10-18 Wim Taymans <wim@fluendo.com>
2394 * docs/design/part-live-source.txt:
2398 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
2401 Add an explicit cast to GstBuffer** to keep old code that added an
2402 explicit cast to GstMiniObject** for gst_mini_object_replace()
2403 compiling without warning.
2405 2006-10-18 Stefan Kost <ensonic@users.sf.net>
2407 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2408 check for validity of dates
2410 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
2412 * docs/gst/gstreamer-sections.txt:
2413 Forgot this one, makes gtk-doc shut up.
2415 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
2417 Patch by: Peter Kjellerstedt <pkj at axis com>
2420 Don't define xmlNodePtr to gpointer if the core was built with
2421 --disable-loadsave and --disable-registry, this will break
2422 applications that want to use libxml2 but are buildling against a
2423 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2424 instead so we don't have to mess with the libxml2 namespace
2427 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
2430 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2431 type-punned pointer warnings.
2433 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
2436 Add casts to the correct return type to state <=> state transition
2439 2006-10-16 Stefan Kost <ensonic@users.sf.net>
2441 * docs/design/part-live-source.txt:
2442 describe howto handle latency
2444 * docs/random/ensonic/profiling.txt:
2447 * tools/gst-plot-timeline.py:
2448 fix log parsing for solaris, remove unused function
2450 2006-10-16 Wim Taymans <wim@fluendo.com>
2452 * docs/design/part-trickmodes.txt:
2454 Update some docs regarding reverse playback.
2456 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
2458 Patch by: Marcus Granado <mrc dot gran at gmail com>
2460 * win32/vs8/grammar.vcproj:
2461 Error out with a warning if glib-genmarshal.exe is not in path,
2462 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2464 2006-10-13 Wim Taymans <wim@fluendo.com>
2466 * gst/gstsegment.c: (gst_segment_set_seek):
2467 When seeking to stop -1, set last_stop (current position) to the
2468 duration of the segment.
2470 2006-10-13 Wim Taymans <wim@fluendo.com>
2473 Clarify _NO_PREROLL a bit more.
2478 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2479 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2480 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2481 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2482 due to wrong locking order. Fixes #361769.
2483 Remove some redundant/misplaced checks in pad_block.
2485 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2486 For negative rates, count backwards from the duration.
2488 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
2490 * gst/gsterror.c: (_gst_library_errors_init):
2491 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2492 up with something better).
2494 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
2496 * win32/vs6/libgstreamer.dsp:
2497 * win32/vs7/libgstreamer.vcproj:
2498 * win32/vs8/libgstreamer.vcproj:
2499 Don't reference glib-compat.c which is currently not used and not
2500 disted; add gstquark.c which was recently added. Fixes #361730.
2502 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
2504 * win32/common/libgstbase.def:
2505 * win32/common/libgstcontroller.def:
2506 * win32/common/libgstreamer.def:
2507 Add gst_caps_merge() and a bunch of other recently-added functions.
2510 2006-10-11 Wim Taymans <wim@fluendo.com>
2512 * docs/plugins/gstreamer-plugins.args:
2513 * docs/plugins/inspect/plugin-coreelements.xml:
2514 * docs/plugins/inspect/plugin-coreindexers.xml:
2515 Update element args.
2517 * gst/gstsystemclock.c:
2518 Small comment update.
2520 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2521 (gst_tee_request_new_pad), (gst_tee_release_pad),
2522 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2523 (gst_tee_sink_activate_pull):
2524 * plugins/elements/gsttee.h:
2526 Add default property defines.
2527 Implement release pad function.
2528 Give properties better blubs etc.
2529 Activate pads before adding them to a running tee.
2530 Do simple buffer_alloc on the first requested pad.
2531 Post error when activation fails.
2533 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
2535 * gst/gst.c: (ensure_current_registry_forking):
2536 Check return value of write() to make compiler happy.
2538 2006-10-11 Wim Taymans <wim@fluendo.com>
2540 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2542 * plugins/elements/gstqueue.c: (gst_queue_chain):
2543 Recheck queue filledness after signalling the overrun when we're about
2544 to leak downstream because we released the lock when emitting the signal
2545 and the queue could be empty again. Fixes #352345.
2547 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
2549 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
2550 Fix refcounting here too, just like we did for _new_valist() a few
2551 days ago (#357180) (thanks to René Stadler). Also remove all those
2552 'Since: 0.9' from the gtk-doc blobs.
2554 * tests/check/libs/controller.c: (controller_refcount_new_list),
2555 (gst_controller_suite):
2556 Unit test for the above.
2558 2006-10-10 Wim Taymans <wim@fluendo.com>
2560 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
2562 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2563 (gst_pad_save_thyself):
2565 Write pad direction in XML output. Fixes #345496.
2567 2006-10-10 Wim Taymans <wim@fluendo.com>
2569 Patch by: René Stadler <mail at renestadler dot de>
2571 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2572 (gst_controller_new_list), (_gst_controller_dispose),
2573 (_gst_controller_finalize), (_gst_controller_class_init):
2574 Take ref to controlled object so that it cannot disappear.
2577 2006-10-10 Wim Taymans <wim@fluendo.com>
2579 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2580 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2581 (gst_check_teardown_sink_pad):
2582 Activate/deactivate pads in setup/teardown respectively.
2584 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2586 Patch by: Josep Torre Valles <josep@fluendo.com>
2589 Cast values when making gstenumtypes.h. This pacifies Forte
2590 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
2593 2006-10-09 Wim Taymans <wim@fluendo.com>
2595 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
2596 Rename some more @cur to @start to fix docs.
2598 * gst/gstsegment.c: (gst_segment_set_seek):
2600 time and start must always stay in sync as defined in design doc.
2602 * gst/gsttaglist.c: (gst_tag_list_is_empty):
2603 Rename param to fix docs.
2605 * tests/check/gst/gstsegment.c: (GST_START_TEST):
2606 Check that start and time are in sync.
2608 * tests/check/pipelines/parse-launch.c:
2609 (gst_parse_test_element_change_state):
2610 Activate pad before adding to the element.
2612 2006-10-09 Wim Taymans <wim@fluendo.com>
2614 * docs/design/part-qos.txt:
2619 Update seek event docs regarding negative rates.
2620 Rename @cur to @start.
2622 * gst/gstsegment.c: (gst_segment_set_seek):
2624 Update set_seek docs regarding negative rates.
2625 Correctly update last_stop to @stop when dealing with negative
2627 Rename @cur to @start.
2629 * tests/check/gst/gstpad.c: (GST_START_TEST):
2630 Activate pads before trying to use them.
2632 * tests/check/gst/gstsegment.c: (GST_START_TEST),
2633 (gst_segment_suite):
2634 Add simple check for segments and negative rates.
2636 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
2638 * gst/gsttaglist.c: (gst_tag_list_is_empty):
2640 * docs/gst/gstreamer-sections.txt:
2641 API: add gst_tag_list_is_empty() (#360467).
2643 * tests/check/gst/gsttag.c: (GST_START_TEST):
2646 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2649 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
2650 a value that doesn't fit on enumeration.
2652 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2654 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2655 Remove local debugging system and use Gstreamer's instead.
2657 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2659 Patch by: Josep Torre Valles <josep@fluendo.com>
2661 * common/m4/gst-error.m4:
2662 Disable warning of statement not reached on Forte.
2664 Fix warning on Forte (value doesn't fit on enumeration).
2665 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
2666 Fix warning on Forte (value doesn't fit on enumeration).
2667 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2668 DEBUG macro says it takes minimum of 2 args and so Forte
2669 complains about the use with just 1 arg.
2670 * plugins/elements/gstfdsink.c:
2671 * plugins/elements/gstfdsrc.c:
2672 * plugins/elements/gstfilesink.c:
2673 * plugins/elements/gstfilesrc.c:
2674 Use correct return type for the uri handler implementations.
2676 All these fix warnings in Forte. Fixes bug #360860.
2678 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
2681 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
2682 format string, so don't use G_GNUC_PRINTF for those versions.
2684 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
2686 * gst/gsttaglist.c: (gst_is_tag_list):
2688 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
2690 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2691 Small test for the above.
2693 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
2696 Less tabs, more spaces.
2698 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
2701 Those two function declarations do actually belong there, revert
2702 commit from yesterday that turned them intro macros.
2704 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2706 Patch by: Josep Torre Valles <josep@fluendo.com>
2708 * gst/gst.c: (gst_init_get_option_group):
2709 Fix empty declaration and type mismatch.
2710 * gst/gstbin.c: (gst_bin_change_state_func):
2712 * gst/gstelement.c: (gst_element_continue_state),
2713 (gst_element_set_state_func), (gst_element_change_state),
2714 (gst_element_change_state_func):
2715 Fix type mismatches.
2716 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
2717 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
2718 Cast as appropriate.
2719 * gst/gstobject.c: (gst_class_signal_connect):
2720 Cast as appropriate. The function pointer parameter really
2721 has the wrong type but would break API if we change it.
2723 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
2724 order of including string.h.
2725 * gst/gstutils.c: (gst_element_state_get_name):
2726 Remove unreachable line.
2727 * gst/gstxml.c: (gst_xml_parse_doc):
2729 All these caught by Forte.
2731 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2733 Patch by: Josep Torre Valles <josep@fluendo.com>
2735 * common/m4/gst-error.m4:
2737 We need to disable warnings on Forte for empty declarations
2738 due to gst-indent adding ;s to lines that just use macros
2739 where the macro actually doesn't need a ; at end to end
2742 2006-10-06 Wim Taymans <wim@fluendo.com>
2744 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2745 (gst_file_sink_close_file), (gst_file_sink_event),
2746 (gst_file_sink_render):
2747 Add some FIXME for the NEWSEGMENT handling.
2749 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2751 * gst/parse/grammar.y:
2752 Remove static function gst_parse_element_lock as all it does
2753 is return. Looks like cruft from 0.8.
2755 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
2757 Patch by: Josep Torre Valles <josep@fluendo.com>
2759 * common/m4/gst-error.m4:
2761 * libs/gst/net/Makefile.am:
2762 Fix a compilation issue with Forte on Solaris. inet_aton is in
2765 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
2767 * gst/gstpad.c: (pre_activate):
2768 * gst/gstregistry.c: (gst_registry_scan_path_level):
2769 * gst/gstregistryxml.c: (load_plugin):
2770 * libs/gst/controller/gstcontroller.c:
2771 (gst_controlled_property_set_interpolation_mode):
2772 * libs/gst/dataprotocol/dataprotocol.c:
2773 (gst_dp_packet_from_event_1_0):
2774 * libs/gst/net/gstnetclientclock.c:
2775 (gst_net_client_clock_observe_times):
2776 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2779 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
2782 * docs/gst/gstreamer-sections.txt:
2783 * gst/gstconfig.h.in:
2786 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
2787 whether we can use G_GNUC_PRINTF in other header files and at
2788 least check the printf format/arguments of debug messages and
2789 GST_ELEMENT_ERROR messages when the printf extension is not
2791 Replace more tabs with spaces in gstinfo.h and remove two spurious
2792 function declarations in GST_DISABLE_DEBUG part with macros.
2794 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
2796 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
2797 More docs for the sync-message signal (mention that it is not
2798 emitted by default); log message structures of messages posted on
2801 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
2803 * gst/gst.c: (ensure_current_registry_forking):
2804 Use a pipe pair to receive status results from the forked child, and
2805 ignore the result from waitpid. Fixes #355499
2807 2006-10-02 Wim Taymans <wim@fluendo.com>
2809 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
2810 (gst_ghost_pad_suite):
2813 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
2816 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
2818 2006-10-02 Edward Hervey <edward@fluendo.com>
2820 * docs/design/part-block.txt:
2821 Further explain the use of flushing on blocked pads.
2822 * docs/gst/gstreamer-sections.txt:
2823 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2824 (gst_pad_push_event):
2826 Added new GstPadFlag : GST_PAD_BLOCKING.
2827 Adds the notion of pads really blocking, which enables to properly
2828 handle FLUSH_START/FLUSH_STOP events on blocked pads.
2830 API: gst_pad_is_blocking()
2831 API: GST_PAD_IS_BLOCKING() macro
2832 API: GST_PAD_BLOCKING GstPadFlag
2834 2006-10-02 Wim Taymans <wim@fluendo.com>
2836 Patch by: mrcgran <mrc.gran at gmail dot com>
2838 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
2839 Filter the proxied caps against the padtemplate if we have one.
2841 * gst/gstquery.c: (gst_query_new_segment):
2842 Add include for gstinfo.h so that compilation with
2843 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
2845 2006-10-02 Wim Taymans <wim@fluendo.com>
2847 Patch by: Alessandro Decina <alessandro at nnva org>
2849 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
2850 (gst_file_sink_set_location), (gst_file_sink_open_file),
2851 (gst_file_sink_close_file), (gst_file_sink_event),
2852 (gst_file_sink_render):
2853 Set file to NULL when closing filesink so that we can set a new filename
2854 in READY. Fixes #358613.
2856 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
2858 Patch by: Alessandro Decina <alessandro at nnva org>
2860 * gst/gstevent.c: (_gst_event_copy):
2861 Fix gst_mini_object_make_writable() and gst_event_copy() for events
2862 with event structures by setting the parent refcount address of the
2863 copied structure to the address of the refcount member of the newly
2864 copied event rather than the address of the refcount member of the
2865 original event. Fixes #358737.
2867 * tests/check/gst/gstevent.c: (GST_START_TEST):
2868 Unit test for the above.
2870 2006-09-29 Stefan Kost <ensonic@users.sf.net>
2872 * docs/design/Makefile.am:
2873 Dist some more files.
2875 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
2877 * tests/check/libs/controller.c: (GST_START_TEST),
2878 (gst_controller_suite):
2879 Add test for the previous fix; add some more tests
2880 for correct refcounting behaviour; fix a few leaks
2881 in test cases; call gst_controller_init() at start
2884 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
2886 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2887 (gst_controller_set_from_list):
2888 Don't g_return_val_if_fail() on timed values with invalid timestamps
2889 inside a critical section without unlocking the mutex. Spotted by
2890 René Stadler. (#357617)
2891 Also, fix up refcounting properly: when returning an existing
2892 controller, we should increase the reference only once and not
2893 once per property and when trying to control a property again
2894 we should also increase the refcount.
2896 2006-09-29 Wim Taymans <wim@fluendo.com>
2898 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2899 * libs/gst/net/gstnettimeprovider.c:
2900 (gst_net_time_provider_thread):
2901 Stop reading commands when EOF as well.
2903 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2904 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2905 * plugins/elements/gstidentity.c: (gst_identity_class_init):
2906 Unify description of the dump property.
2908 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
2910 * tests/examples/manual/.cvsignore:
2911 OK, so it's actually cvsignore that needs changing. Stop laughing.
2913 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
2915 * tests/examples/manual/Makefile.am:
2916 Gah, declare vars *before* using them
2918 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
2920 * gst/gst.c: (init_pre), (scan_and_update_registry),
2921 (ensure_current_registry_nonforking),
2922 (ensure_current_registry_forking), (ensure_current_registry),
2923 (init_post), (gst_debug_help), (gst_deinit):
2924 * gst/gst_private.h:
2925 * gst/gstregistry.c: (gst_registry_finalize),
2926 (gst_registry_remove_features_for_plugin_unlocked),
2927 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2928 (gst_registry_scan_path),
2929 (_priv_gst_registry_remove_cache_plugins),
2930 (_priv_gst_registry_cleanup):
2931 * gst/gstregistry.h:
2932 Re-commit the registry changes, along with an extra fix:
2933 When a cached plugin is encountered at a different file path,
2934 update the stored path in the registry cache so that the parent
2935 process knows where it actually is now when it re-reads the registry
2936 cache. Fixes the thing that broke distcheck with the previous commit.
2938 * tests/check/Makefile.am:
2939 Clean up files named 'core' too when running make clean.
2941 * tests/examples/manual/Makefile.am:
2942 Set up a registry path for running these tests, and clean it properly
2945 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
2948 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
2949 want gmodule-no-export-2.0.pc instead so that we don't drag in
2950 --export-dynamic on every project that links to GStreamer.
2952 Also, make our export regex only match the start of symbols, rather
2953 than any symbol that contains '_gst' somewhere.
2955 * libs/gst/check/Makefile.am:
2956 The libgstcheck we build does however need export-dynamic, as it
2957 produces some symbols that don't match our _gst... style regex.
2960 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
2962 * gst/gst.c: (init_pre), (scan_and_update_registry),
2963 (ensure_current_registry_nonforking),
2964 (ensure_current_registry_forking), (ensure_current_registry),
2965 (init_post), (gst_debug_help), (gst_deinit):
2966 * gst/gst_private.h:
2967 * gst/gstregistry.c: (gst_registry_finalize),
2968 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2969 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
2970 (_gst_registry_cleanup):
2971 * gst/gstregistry.h:
2972 Revert previous change until I figure out why it breaks distcheck.
2974 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
2976 * gst/gst.c: (init_pre), (scan_and_update_registry),
2977 (ensure_current_registry_nonforking),
2978 (ensure_current_registry_forking), (ensure_current_registry),
2979 (init_post), (gst_debug_help), (gst_deinit):
2981 Make init_pre and init_post take the full complement of GOptionFunc
2982 args so they can return useful GErrors. Make the registry updating
2985 Call _priv_gst_registry_remove_cache_plugins after scanning files to
2986 ensure that the registry we're about to write out doesn't contain
2987 stale information about old-deleted plugin files.
2989 Make _priv_gst_registry_remove_cache_plugins return a boolean so
2990 that deletion of plugin files is considered a registry change.
2992 * gst/gst_private.h:
2993 * gst/gstregistry.c: (gst_registry_finalize),
2994 (gst_registry_remove_features_for_plugin_unlocked),
2995 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
2996 (gst_registry_scan_path),
2997 (_priv_gst_registry_remove_cache_plugins),
2998 (_priv_gst_registry_cleanup):
2999 * gst/gstregistry.h:
3000 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
3001 by adding _priv prefix, so that they won't appear in the global
3002 symbol table. They still do atm though because of #318031. Move the
3003 prototypes to gst_private.h
3005 When removing a plugin, remove all features for that plugin too.
3008 2006-09-27 Wim Taymans <wim@fluendo.com>
3010 * docs/random/moving-plugins:
3011 Make it clear that the "compiled-in descriptions" really mean
3012 the element details.
3014 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3015 (gst_base_sink_wait_preroll):
3018 * docs/libs/gstreamer-libs-sections.txt:
3019 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3020 (gst_base_src_get_range), (gst_base_src_activate_push):
3021 * libs/gst/base/gstbasesrc.h:
3022 Added function to block while waiting for PLAYING, this function
3023 is used by live sources that block on the clock.
3024 API: gst_base_src_wait_playing()
3026 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
3028 Patch by: Peter Kjellerstedt <pkj at axis com>
3031 gst-element-check.m4 is generated and should therefore be
3032 copied from the build dir rather than the source dir (#357593).
3033 'make distcheck' hasn't noticed this because we were disting
3034 the file as well, so stop doing that.
3036 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
3038 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3039 Add some tests for gst_caps_intersect().
3041 * tools/gst-launch.c: (event_loop):
3042 Print all buffering percentages we get, even the 100% one.
3044 2006-09-26 Wim Taymans <wim@fluendo.com>
3046 * tools/gst-inspect.c: (print_element_properties_info),
3047 (print_signal_info):
3048 Fix printing of flags to match the look of enums.
3050 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
3052 * gst/gstelementfactory.c:
3053 Fix typo in docs blurb.
3055 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
3057 * gst/gsturi.c: (search_by_entry):
3058 Don't assert/crash here if a uri handler doesn't return any
3059 supported protocols. The list of protocols could be generated
3060 dynamically at runtime or at plugin registration, and an error
3061 in the underlying library shouldn't be fatal (#353301).
3063 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
3066 Fix warning if HAVE_PRINTF_EXTENSION is undefined
3067 (spotted by Peter Kjellerstedt).
3069 2006-09-23 Wim Taymans <wim@fluendo.com>
3071 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3073 * libs/gst/base/gstbasesrc.c:
3074 (gst_base_src_default_check_get_range), (gst_base_src_start),
3075 (gst_base_src_activate_push), (gst_base_src_activate_pull),
3076 (gst_base_src_change_state):
3077 Match _start/_stop calls in the activate functions. Remove redundant
3078 _stop call from the state change function. Fixes #356910.
3079 Turn failure DEBUG into ERROR.
3081 2006-09-22 Wim Taymans <wim@fluendo.com>
3083 * docs/design/part-buffering.txt:
3084 * gst/gstmessage.c: (gst_message_new_buffering),
3085 (gst_message_parse_buffering):
3086 Update docs about buffering.
3088 * docs/design/part-trickmodes.txt:
3091 2006-09-22 Stefan Kost <ensonic@users.sf.net>
3093 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3094 (gst_controller_new_list):
3095 Ref instances when returning them again (fixes #357180)
3097 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
3099 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3100 Don't forget to release proxy lock when there's an error.
3102 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
3105 Add extra initialisers for Caps things, to fix some plugin warnings
3108 2006-09-18 Wim Taymans <wim@fluendo.com>
3110 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3111 Also set template on the internal pad so that a getcaps from the
3112 target pad returns the template caps.
3114 2006-09-18 Wim Taymans <wim@fluendo.com>
3116 * gst/gstelement.c: (gst_element_post_message),
3117 (gst_element_dispose):
3118 Use _DEBUG_OBJECT some more.
3120 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3123 * tools/gst-launch.c: (main):
3124 If the toplevel element is not a GstPipeline, it must be put in a
3125 pipeline so that a bus and clock is selected.
3127 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
3129 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3130 JITTER, RATE, and LATENCY query should be handled by the
3131 default case and not by the CONVERT query code.
3133 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
3135 * gst/gstformat.c: (gst_format_register):
3136 Fix locking order (must take lock before using n_values).
3138 * gst/gstvalue.c: (gst_value_serialize_enum),
3139 (gst_value_deserialize_enum_iter_cmp),
3140 (gst_value_deserialize_enum):
3141 Fix serialisation/deserialisation of custom registered GstFormats.
3143 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3144 Unit test for custom format serialisation/deserialisation.
3146 2006-09-17 Stefan Kost <ensonic@users.sf.net>
3148 * docs/pwg/building-boiler.xml:
3149 * plugins/elements/gstcapsfilter.c:
3150 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3153 2006-09-16 Edward Hervey <edward@fluendo.com>
3155 * libs/gst/base/gstbasetransform.c:
3156 (gst_base_transform_buffer_alloc):
3157 Check if requested caps are the same as the sinks caps IF
3158 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3160 This fixes the renegotiation issues stated in #352827.
3162 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
3165 * docs/manual/advanced-autoplugging.xml:
3166 * tests/examples/Makefile.am:
3167 * tests/examples/manual/.cvsignore:
3168 * tests/examples/manual/Makefile.am:
3169 * tests/examples/manual/extract.pl:
3170 Extract the manual examples again like we used to do.
3173 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
3175 * win32/common/config.h:
3178 2006-09-16 Stefan Kost <ensonic@users.sf.net>
3181 Documents how to receive errors.
3183 2006-09-15 Wim Taymans <wim@fluendo.com>
3185 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3186 (event_loop), (main):
3187 Added some comments here and there.
3188 Post an application message when an interrupt is caught instead of doing
3189 an uncontrolled state change.
3190 Clean up the event loop.
3191 Handle buffering messages, pause/resume the pipeline.
3192 Make shutdown because of an interrupt more reliable.
3194 2006-09-15 Wim Taymans <wim@fluendo.com>
3196 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3197 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3198 (gst_base_sink_preroll_object):
3199 Make sure that our internal state is correct when we commit our state
3200 asynchronously. This solves a race where a state change to PLAYING
3201 could cause the sink to remain blocked in preroll in some situations.
3203 2006-09-15 Wim Taymans <wim@fluendo.com>
3205 * tools/gst-inspect.c: (print_element_properties_info),
3206 (print_signal_info):
3207 List flags as hex so it's easier to deal with.
3209 2006-09-15 Wim Taymans <wim@fluendo.com>
3211 * docs/libs/gstreamer-libs-sections.txt:
3212 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3213 (gst_base_sink_do_sync):
3214 * libs/gst/base/gstbasesink.h:
3215 Expose logic to wait for preroll so that subclasses such as audiosink
3216 can also use this method.
3217 API: gst_base_sink_wait_preroll()
3219 2006-09-15 Wim Taymans <wim@fluendo.com>
3221 * gst/gstobject.c: (gst_object_set_parent):
3222 * gst/gstpipeline.c: (do_pipeline_seek):
3223 Small cleanups in docs and code.
3225 * gst/gstsegment.c: (gst_segment_clip):
3226 * tests/check/gst/gstsegment.c: (GST_START_TEST):
3227 if stop == start and start is in the segment, no clipping should be
3228 done. Also add a test for this.
3230 2006-09-15 Wim Taymans <wim@fluendo.com>
3232 * docs/design/part-buffering.txt:
3233 * docs/gst/gstreamer-sections.txt:
3234 * gst/gstmessage.c: (gst_message_new_buffering),
3235 (gst_message_parse_buffering):
3237 Added methods to create and parse BUFFERING messages.
3238 Added preliminary docs about buffering.
3239 API: gst_message_new_buffering
3240 API: gst_message_parse_buffering
3242 2006-09-06 Wim Taymans <wim@fluendo.com>
3245 Update documentation.
3247 * gst/gstelement.c: (gst_element_class_init),
3248 (gst_element_release_request_pad), (gst_element_set_clock),
3249 (gst_element_get_index), (gst_element_add_pad),
3250 (gst_element_remove_pad), (gst_element_get_random_pad),
3251 (gst_element_send_event), (gst_element_get_query_types),
3252 (gst_element_query), (gst_element_post_message),
3253 (gst_element_message_full), (gst_element_continue_state),
3254 (gst_element_lost_state), (gst_element_save_thyself),
3255 (gst_element_restore_thyself):
3256 Documentation updates.
3257 Rename last bit of the new-pad -> pad-added signal rename.
3258 Fix the case where an element query would only work if the source
3260 Avoid some useless type checking in message handling.
3265 Documentation updates.
3267 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
3269 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3270 add an INFO line for when we actually update the fd
3272 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
3277 === release 0.10.10 ===
3279 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
3282 releasing 0.10.10, "Pais"
3284 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
3286 * docs/manual/advanced-position.xml:
3287 Fix typo in sample code.
3289 2006-09-05 Wim Taymans <wim@fluendo.com>
3291 * libs/gst/net/gstnetclientclock.c: (inet_aton),
3292 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3293 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3294 * libs/gst/net/gstnetclientclock.h:
3295 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3296 * libs/gst/net/gstnettimepacket.h:
3297 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3298 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3299 (gst_net_time_provider_thread), (gst_net_time_provider_new):
3300 * libs/gst/net/gstnettimeprovider.h:
3301 Make stuff compile on windows. Fixes #345295.
3303 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
3305 * gst/gst.c: (ensure_current_registry_forking):
3306 Print better details when child was terminated by signal.
3308 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
3310 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3311 Print a warning rather than g_assert() if a plugin feature
3312 is a URI handler but returns no protocols (#353976).
3314 2006-09-02 Stefan Kost <ensonic@users.sf.net>
3316 * docs/random/moving-plugins:
3319 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
3321 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3322 Fix locking order, handle NULL function values properly.
3327 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3328 Initialise variable before using it and fix debug statement to
3329 print the address of the function rather than the address of the
3330 variable on the stack holding the address of the function.
3332 2006-09-01 Wim Taymans <wim@fluendo.com>
3334 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3335 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3336 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3337 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3338 (gst_ghost_pad_parent_unset),
3339 (gst_ghost_pad_internal_do_activate_push),
3340 (gst_ghost_pad_internal_do_activate_pull),
3341 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3342 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3343 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3344 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3345 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3346 (gst_ghost_pad_new_no_target_from_template),
3347 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3349 Avoid needless typechecking in macros.
3350 Since the internal pad is always present and never changes, there is
3351 no need to locking or ref when retrieving it.
3352 Improve debugging a bit.
3353 Handle link errors when setting the target. Fixes #341029.
3355 2006-09-01 Wim Taymans <wim@fluendo.com>
3357 * docs/libs/gstreamer-libs-sections.txt:
3358 * docs/plugins/gstreamer-plugins-sections.txt:
3361 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3362 (gst_collect_pads_event):
3363 * libs/gst/base/gstcollectpads.h:
3364 Documentation updates.
3365 Free queued buffer when removing a pad.
3367 2006-08-31 Michael Smith <msmith@fluendo.com>
3369 * gst/gstutils.c: (gst_element_link_pads),
3370 (gst_element_link_pads_filtered):
3371 Ensure that we set a capsfilter to NULL if we failed to link it
3372 when doing filtered linking, to avoid criticals.
3374 No need to check for unreffing srcpad, which is explicly NULLed
3375 above (a trivial code cleanup).
3377 2006-08-31 Wim Taymans <wim@fluendo.com>
3379 * docs/design/part-gstghostpad.txt:
3380 Update ascii art in documentation.
3382 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3383 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3384 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3385 (gst_ghost_pad_internal_do_activate_push),
3386 (gst_ghost_pad_internal_do_activate_pull),
3387 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3388 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3389 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3390 (gst_ghost_pad_set_target):
3391 Small cleanups and leak fixes.
3392 Remove some checks now that the internal pad is never NULL.
3393 Fix the case where linking pads without a target would create nasty
3394 criticals. Fixes #341029.
3395 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3396 value of _set_target().
3398 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3399 (gst_ghost_pad_suite):
3400 Some more tests for creating and linking untargeted ghostpads.
3402 2006-08-31 Edward Hervey <edward@fluendo.com>
3404 * docs/gst/gstreamer-sections.txt:
3405 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3406 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3407 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3408 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3409 (gst_ghost_pad_new_from_template),
3410 (gst_ghost_pad_new_no_target_from_template):
3411 * gst/gstghostpad.h:
3412 Refactored *_new() functions.
3413 Templates are now used as a g_object_new() parameter.
3414 Use template in _do_getcaps() if we don't have a target.
3415 Small documentation cleanups.
3416 Added two new constructors:
3417 gst_ghost_pad_new_from_template()
3418 gst_ghost_pad_new_no_target_from_template()
3419 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3420 (gst_ghost_pad_suite):
3421 Added tests for new ghostpad instanciation functions.
3423 API additions: gst_ghost_pad_new_from_template,
3424 gst_ghost_pad_new_no_target_from_template
3426 2006-08-30 Stefan Kost <ensonic@users.sf.net>
3428 * docs/random/ensonic/profiling.txt:
3429 Ideas about qos profiling.
3431 2006-08-29 Wim Taymans <wim@fluendo.com>
3433 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3437 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
3440 Improve and detypofy docs.
3442 * tests/check/Makefile.am:
3443 * tests/check/gst/.cvsignore:
3444 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3445 Add a basic test suite for GstXML.
3447 2006-08-29 Wim Taymans <wim@fluendo.com>
3449 * gst/gstelement.c: (activate_pads), (clear_caps),
3450 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3451 Clear the pad caps when the element shut down all of the pads and
3452 is not streaming data that could modify the caps.
3455 2006-08-28 Michael Smith <msmith@fluendo.com>
3457 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3458 Revert previous change; I misunderstood single-segment mode.
3460 2006-08-28 Michael Smith <msmith@fluendo.com>
3462 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3463 Unset DISCONT on buffers when using single-segment mode.
3465 2006-08-28 Wim Taymans <wim@fluendo.com>
3467 * gst/gstcaps.c: (gst_caps_merge_structure):
3469 Fix docs and indentation again.
3471 * tests/check/gst/gstquery.c: (GST_START_TEST):
3472 Fix leak in tests and add some more tests.
3474 2006-08-28 Edward Hervey <edward@fluendo.com>
3476 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3477 Inform GstSegment of the last stop position in order for the current
3478 segment to have a proper duration if it doesn't have a specific stop
3479 position from which a duration could be calculated.
3480 This bug was noticeable when a non-flushing, non-update new segment was
3481 followed by another segment (all buffers from the new segment were being
3484 2006-08-28 Wim Taymans <wim@fluendo.com>
3486 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3487 Small comment update.
3489 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3490 (gst_identity_transform_ip):
3491 Drop-probability is broken, mention this in the code with a
3492 FIXME and also in the property description.
3493 Make silent also be silent about the drop messages.
3495 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
3497 * docs/manual/appendix-win32.xml:
3498 Remove mention of popt, we don't depend on that any
3499 longer (#353136). Add some comments pointing out that
3500 this section is slightly outdated.
3502 2006-08-28 Wim Taymans <wim@fluendo.com>
3504 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3506 * gst/gstquery.c: (gst_query_new_segment):
3507 * tests/check/gst/gstquery.c: (GST_START_TEST):
3508 Initialize variables when creating a new segment query.
3511 2006-08-28 Wim Taymans <wim@fluendo.com>
3513 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3515 * gst/gstelement.c: (gst_element_get_bus):
3516 * tests/check/gst/gstelement.c: (GST_START_TEST):
3517 Check for NULL before _reffing the bus. Fixes #353122.
3519 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
3521 * docs/manual/basics-bus.xml:
3522 Docs update: fix wrong callback return value explanation; add
3523 some lines about the implicit relationship between main loop
3524 and main context; remove duplicate main loop variable declaration.
3526 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
3528 * tests/check/gst/gstcaps.c: (GST_START_TEST):
3529 Don't leak caps in unit test; add a few more simple
3532 2006-08-24 Stefan Kost <ensonic@users.sf.net>
3534 * docs/gst/gstreamer-sections.txt:
3535 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3536 (gst_caps_structure_is_subset), (gst_caps_merge),
3537 (gst_caps_merge_structure):
3539 * libs/gst/base/gstbasetransform.c:
3540 (gst_base_transform_transform_caps):
3541 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3542 implement caps merging (fixes #352580)
3544 2006-08-23 Stefan Kost <ensonic@users.sf.net>
3546 * tools/Makefile.am:
3547 * tools/gst-plot-timeline.py:
3548 add debug-log plotting developer tool (#340674)
3550 2006-08-23 Wim Taymans <wim@fluendo.com>
3552 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
3553 (gst_pad_stop_task):
3554 Improve debugging for task functions.
3556 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
3557 (gst_task_start), (gst_task_pause), (gst_task_join):
3558 Make sure that the task function started and finished after a
3560 Don't try to push the task function on the threadpool multiple
3562 Improve the g_warning message with some useful suggestions
3563 about how to fix the problem.
3565 2006-08-23 Wim Taymans <wim@fluendo.com>
3567 * gst/gstutils.c: (gst_pad_proxy_getcaps):
3568 Handle RESYNC correctly in _proxy_getcaps.
3570 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
3572 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
3573 (gst_xml_parse_memory), (gst_xml_get_element):
3574 Chain up to parent class in dispose function and also
3575 unref the elements in the toplevel_elements GList.
3576 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
3577 Always return a reference in gst_xml_get_element() rather
3578 than only sometimes.
3580 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3581 Don't leak GstXml object.
3583 2006-08-21 Stefan Kost <ensonic@users.sf.net>
3585 * docs/gst/gstreamer-sections.txt:
3586 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
3589 * libs/gst/base/gstbasetransform.c:
3590 (gst_base_transform_transform_caps):
3591 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
3594 2006-08-21 Edward Hervey <edward@fluendo.com>
3596 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
3597 Implement GObject::dispose virtual method in GstXML so we can free the
3600 2006-08-21 Wim Taymans <wim@fluendo.com>
3602 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
3603 (gst_buffer_create_sub):
3604 Copy duration/offset_end/caps when creating a subbuffer of the
3606 Make the subbuffer read-only when we make the metadata writable for
3609 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3610 Added check for metadata copy when creating subbuffers.
3612 2006-08-21 Edward Hervey <edward@fluendo.com>
3614 * libs/gst/base/gstbasetransform.c:
3615 (gst_base_transform_buffer_alloc):
3616 Only call downstream buffer_alloc if transform element is passthrough
3617 or always_in_place. Closes #350449.
3619 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3622 ChangeLog surgery to add comments to previous changes
3624 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3629 * gst/gstpad.c: (gst_pad_set_active):
3630 Be more verbose in the log
3632 * libs/gst/base/gstbasetransform.c:
3633 (gst_base_transform_transform_caps):
3634 Simplify caps to get rid of duplicates, fixes #345444
3636 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3640 Use these optimizations only internally.
3642 2006-08-20 Stefan Kost <ensonic@users.sf.net>
3644 * gst/gstvalue.c: (gst_value_compare_list),
3645 (gst_value_compare_fraction_range),
3646 (gst_value_intersect_fraction_fraction_range),
3647 (gst_value_intersect_fraction_range_fraction_range),
3648 (gst_value_subtract_fraction_fraction_range),
3649 (gst_value_subtract_fraction_range_fraction_range),
3650 (gst_value_get_compare_func), (gst_value_compare),
3651 (gst_value_compare_with_func):
3653 Saves the expensive lookup of the compare function in many cases
3656 2006-08-18 Edward Hervey <edward@fluendo.com>
3658 * tests/check/gst/gstinfo.c: (gst_info_suite):
3659 Disable test that require gstdebug if it wasn't built in core.
3661 2006-08-18 Stefan Kost <ensonic@users.sf.net>
3663 * docs/random/ensonic/logging.txt:
3666 * gst/gstinfo.c: (gst_debug_log_default):
3667 reorder fields, save some columns, add optional color codes for log
3670 2006-08-18 Stefan Kost <ensonic@users.sf.net>
3672 * docs/random/ensonic/logging.txt:
3673 add ideas about making the logs a bit more useful
3675 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
3677 * docs/pwg/advanced-events.xml:
3678 * docs/pwg/titlepage.xml:
3679 Update for 0.10 API (#340627). Add myself
3682 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
3684 * docs/libs/gstreamer-libs-docs.sgml:
3685 * docs/libs/gstreamer-libs-sections.txt:
3686 * libs/gst/check/gstbufferstraw.c:
3687 Make gstcheck stuff show up in docs (still needs to
3688 be documented properly though).
3690 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
3692 * docs/gst/gstreamer-sections.txt:
3694 * gst/gst.c: (init_post):
3695 * gst/gst_private.h:
3696 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3698 * gst/gstquery.c: (gst_query_new_position),
3699 (gst_query_set_position), (gst_query_parse_position),
3700 (gst_query_new_duration), (gst_query_set_duration),
3701 (gst_query_parse_duration), (gst_query_new_convert),
3702 (gst_query_set_convert), (gst_query_parse_convert),
3703 (gst_query_new_segment), (gst_query_set_segment),
3704 (gst_query_parse_segment), (gst_query_new_seeking),
3705 (gst_query_set_seeking), (gst_query_parse_seeking):
3706 Add internal helpers for pre-registering quarks from static strings
3707 and using the quark values directly instead of looking them up when
3708 creating and parsing queries. Can be used for event construction too.
3711 2006-08-16 Wim Taymans <wim@fluendo.com>
3716 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3718 * gst/gstutils.c: (gst_util_set_value_from_string):
3719 Fix memleak (#351502).
3721 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3722 Add unit test for most of gst_util_set_value_from_string()
3723 (not that one would want to encourage use of this function).
3725 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3727 * libs/gst/check/gstcheck.h:
3728 Use const gchar * variables in fail_unless_equals_string
3729 macro to avoid compiler warnings (and don't use tabs for
3732 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3734 * tools/gst-launch.c: (print_tag):
3735 More space on the left for the tag names, to cater
3736 for the 'extended comment' tag (not touching the
3737 string for the first line since it's translated).
3739 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
3741 * libs/gst/check/gstcheck.h:
3742 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
3743 print something when they fail.
3745 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
3747 * docs/gst/gstreamer-sections.txt:
3748 * gst/gsttaglist.c: (_gst_tag_initialize):
3750 API: add GST_TAG_EXTENDED_COMMENT (#350935).
3751 Also change merge function for GST_TAG_COMMENT to
3754 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
3756 * gst/gstinfo.c: (gst_debug_print_object):
3757 Make GST_PTR_FORMAT print messages as well.
3759 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
3760 (GST_START_TEST), (gst_info_suite):
3763 2006-08-14 Edward Hervey <edward@fluendo.com>
3765 * gst/gstelementfactory.c: (gst_element_register):
3766 If the GstElementClass doesn't have a GstElementDetails with all fields
3767 filled up correctly (longname, description AND author), then error out
3768 nicely instead of crashing.
3770 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
3772 * gst/gststructure.c:
3773 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
3776 Expand on the difference between arrays and lists as we use them.
3778 2006-08-14 Wim Taymans <wim@fluendo.com>
3780 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3781 If the parent state change function failed, don't assume we can safely
3782 stop the source, this will be done when the pads are deactivated.
3784 2006-08-14 Wim Taymans <wim@fluendo.com>
3787 * gst/gsttask.c: (gst_task_join):
3790 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
3791 (gst_pad_stop_task):
3792 When pad (de)activation failed for some reason, restore the old
3793 activation mode and set the pad to flushing instead of assuming the
3795 If the _task_join() failed, reinstall the task on the pad so that it can
3796 be stopped later and return an error.
3798 2006-08-11 Andy Wingo <wingo@pobox.com>
3801 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3802 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
3803 is only for users of API that don't want to see deprecated
3804 functions in the headers; people that want to compile out
3805 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
3806 CFLAGS. Fixes the build of multifdsink, or will soon..
3808 2006-08-11 Wim Taymans <wim@fluendo.com>
3810 * docs/gst/gstreamer-sections.txt:
3811 Add GstClockClass vmethod docs.
3814 Mark #endif with comment for associated #if
3816 * gst/gstclock.c: (gst_clock_id_wait):
3818 Add vmethod wait_jitter to avoid an unneeded _get_time() for
3819 most clock implementations.
3821 Flesh out docs about resolution methods.
3822 API: GstClockClass::wait_jitter
3824 * gst/gstsystemclock.c: (gst_system_clock_class_init),
3825 (gst_system_clock_async_thread),
3826 (gst_system_clock_id_wait_jitter_unlocked),
3827 (gst_system_clock_id_wait_jitter):
3828 Use base class wait_jitter variant for improved performance
3829 due to less clock polling.
3831 2006-08-11 Edward Hervey <edward@fluendo.com>
3833 * gst/gst.c: (gst_init_check), (init_post):
3834 Set gst as being initialized before scanning/updating the registry,
3835 since there might be my python plugin loader that calls gst_init() and
3836 we don't want to loop back in.
3839 2006-08-11 Wim Taymans <wim@fluendo.com>
3841 * docs/design/part-qos.txt:
3842 Bring docs in line with the code. Mostly the sign of the jitter was
3843 wrong in the docs. Fixes #349943.
3846 Fix the docs for the jitter.
3848 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
3849 (gst_event_parse_tag), (gst_event_new_buffer_size),
3850 (gst_event_parse_buffer_size), (gst_event_parse_qos),
3851 (gst_event_new_seek), (gst_event_parse_seek),
3852 (gst_event_new_navigation):
3853 Make sure the GstStructure has no parent when creating custom
3855 Add some more argument checking so that we avoid 0.0 rates.
3856 Flesh out the docs for the QoS event some more.
3858 2006-08-11 Wim Taymans <wim@fluendo.com>
3860 * docs/gst/gstreamer-sections.txt:
3861 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3862 (ensure_current_registry_forking), (ensure_current_registry),
3863 (parse_one_option), (parse_goption_arg), (gst_deinit),
3864 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
3867 Added API and command line option to disable registry forking in
3868 addition to the environment variable.
3869 Constify some static arrays.
3870 Added some more debug.
3872 API: gst_registry_fork_is_enabled()
3873 API: gst_registry_fork_set_enabled()
3874 API: --gst-disable-registry-fork command line option
3877 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
3879 * gst/gst.c: (gst_init):
3880 Fix typo in error message.
3882 2006-08-10 Stefan Kost <ensonic@users.sf.net>
3884 * libs/gst/controller/gstcontroller.h:
3885 fix ABI size-correction
3887 * tests/check/libs/gdp.c: (gst_dp_suite):
3888 make tests that use deprecated API conditional
3890 2006-08-10 Stefan Kost <ensonic@users.sf.net>
3892 * docs/libs/gstreamer-libs-sections.txt:
3893 * libs/gst/controller/gstcontroller.c:
3894 (_gst_controller_get_property), (_gst_controller_set_property),
3895 (_gst_controller_init), (_gst_controller_class_init):
3896 * libs/gst/controller/gstcontroller.h:
3897 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
3898 (gst_object_set_control_rate):
3899 API: add gst_object_{s,g}et_control_rate(), add private data section,
3902 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
3903 * libs/gst/dataprotocol/dataprotocol.h:
3904 add deprecation guards to make gtk-doc happy and allow disabling cruft
3906 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
3908 * tests/check/Makefile.am:
3909 * tests/check/gst/.cvsignore:
3910 Let's enable the new unit test as well.
3912 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
3915 * docs/gst/gstreamer-sections.txt:
3916 * gst/gstconfig.h.in:
3917 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
3918 (_gst_info_printf_extension_ptr),
3919 (_gst_info_printf_extension_segment):
3920 API: add GST_SEGMENT_FORMAT, which is a printf extension we
3921 register that lets us easily dump GstSegments into debug
3924 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
3925 (info_segment_format_printf_extension), (gst_info_suite):
3926 Add simple unit test that logs a bunch of different segments (not
3927 valgrinded at the moment because of leaks in
3928 gst_debug_add_log_function).
3930 2006-08-09 Edward Hervey <edward@fluendo.com>
3932 * libs/gst/base/gstbasetransform.c:
3933 (gst_base_transform_buffer_alloc):
3934 Even if we can't figure out the proper format to request downstream,
3935 call buffer_alloc() downstream with the input parameters without setting
3936 the caps on the srcpad. This will force negotiation in the chain
3940 2006-08-08 Edward Hervey <edward@fluendo.com>
3942 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
3943 Unlinking from a pad without a target is now a perfectly valid case
3944 which should NOT raise an assertion.
3945 This case would happen if a linked ghostpad its target set to NULL after
3946 it was previously linked.
3948 2006-08-08 Edward Hervey <edward@fluendo.com>
3950 * tests/check/libs/gdp.c:
3951 Also comment out the test (see below).
3953 2006-08-08 Edward Hervey <edward@fluendo.com>
3955 * tests/check/libs/gdp.c: (gst_dp_suite):
3956 Use the architecture information from config.h and not gcc macros
3957 in order to properly disable a test that fails on PPC64.
3959 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
3961 * gst/gstelement.c: (gst_element_remove_pad):
3962 Don't crash printing the warning if the pad has no parent.
3964 2006-08-02 Wim Taymans <wim@fluendo.com>
3966 * libs/gst/dataprotocol/dataprotocol.c:
3967 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
3968 (gst_dp_crc), (gst_dp_header_payload_length),
3969 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
3970 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
3971 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
3972 (gst_dp_event_from_packet), (gst_dp_validate_header),
3973 (gst_dp_validate_payload):
3974 Make debug category static
3975 Constify the crc table.
3976 Do some more arg checking in public functions.
3977 Fix some docs and do some small cleanups.
3979 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
3980 Add some more checks to see if GDP deals with bogus input.
3982 2006-07-31 Wim Taymans <wim@fluendo.com>
3984 * gst/gstvalue.c: (gst_value_compare_list):
3985 Fix GstValueList comparison code. Fixes #347293.
3987 * tests/check/gst/gstvalue.c: (GST_START_TEST):
3988 Check to test GstValueList comparison.
3990 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
3992 * gst/gstelementfactory.c: (gst_element_factory_create):
3993 Remove unnecessary ref/unref pair
3995 * gst/parse/grammar.y:
3996 Make sure to free the parse buffer on all code paths.
3997 Move a g_free up to the error handler where it's easier to see.
3999 * tests/check/gst/gstevent.c: (test_event):
4000 Extending timeout for downstream travelling events to 10 seconds to
4001 hopefully avoid intermittent failure on the buildbots.
4003 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
4004 Don't manually set the state of the src element - it will happen as a
4005 natural consequence of the pipeline changing state, and that way it
4006 will do it in the right order too.
4008 2006-07-31 Wim Taymans <wim@fluendo.com>
4010 * libs/gst/base/gstbasetransform.c:
4011 (gst_base_transform_buffer_alloc):
4012 Use OBJECT_LOCK and refcounting to get the pad caps in the
4013 buffer_alloc function because the caps could change while we are
4014 busy with them. Fixes #349105
4016 2006-07-31 Wim Taymans <wim@fluendo.com>
4018 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
4019 Protect _PAD_CAPS with OBJECT_LOCK.
4021 2006-07-31 Wim Taymans <wim@fluendo.com>
4023 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4024 (gst_pad_get_property), (gst_pad_activate_pull),
4025 (gst_pad_activate_push), (gst_pad_set_blocked_async),
4026 (gst_pad_set_activate_function),
4027 (gst_pad_set_activatepull_function),
4028 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
4029 (gst_pad_set_getrange_function),
4030 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
4031 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4032 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
4033 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
4034 (gst_pad_set_acceptcaps_function),
4035 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4036 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
4037 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
4038 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
4039 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
4040 (gst_pad_configure_sink), (gst_pad_configure_src),
4041 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
4042 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
4043 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
4044 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
4045 (gst_pad_send_event):
4046 Use _DEBUG_OBJECT when it makes sense.
4047 Protect GST_PAD_CAPS with the OBJECT_LOCK.
4048 Small cleanups and code reflows.
4049 Avoid caps refcounting in _accept_caps.
4050 Refactor alloc_buffer so that the code performed on the peer is in a
4051 separate function. Also if the pad does not implement a buffer alloc
4052 function, we should still check if the pad is flushing before falling
4053 back to the default allocator.
4055 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
4057 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4058 Make all uses of identity and fakesink have silent=true to avoid
4059 serialising every passing data structure, which is breaking tests
4060 on FC4 for some unknown reason.
4062 2006-07-30 Stefan Kost <ensonic@users.sf.net>
4064 * gst/parse/Makefile.am:
4065 * gst/parse/grammar.y:
4066 * gst/parse/parse.l:
4067 Reverted previous patch as it required to bump the flex dependency to
4068 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4070 2006-07-30 Stefan Kost <ensonic@users.sf.net>
4072 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4074 * gst/parse/Makefile.am:
4075 * gst/parse/grammar.y:
4076 * gst/parse/parse.l:
4077 push & pop the state of the lexer for reentrant use case
4080 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
4082 * libs/gst/base/gstbasesrc.h:
4083 Note in the docs that the ::newsegment vfunc is not actually used by
4086 2006-07-28 Wim Taymans <wim@fluendo.com>
4088 * libs/gst/base/gstcollectpads.c:
4089 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4090 (gst_collect_pads_clear), (gst_collect_pads_flush),
4091 (gst_collect_pads_event), (gst_collect_pads_chain):
4092 When flushing a pad, also clear the queued buffer so that we don't
4093 accidentally use it when we shouldn't.
4094 Fix leaks by inreffing incomming buffer.
4095 Flush out queued buffers in case of errors.
4098 2006-07-28 Wim Taymans <wim@fluendo.com>
4100 * docs/random/phonon-gst:
4101 Random notes about a Phonon backend.
4103 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
4105 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4107 * tests/check/libs/gdp.c: (gst_dp_suite):
4108 Take a whack at fixing the ppc compile using a different define to
4109 disable the broken test.
4111 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4112 Remove excess g_print()
4114 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
4116 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4117 Oops, meant to uncomment this line too to dampen the noise a bit.
4119 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
4121 * gst/parse/grammar.y:
4122 * gst/parse/parse.l:
4123 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4124 (GST_START_TEST), (parse_suite):
4125 Fix some of the leaks exposed by extending the parse-launch testsuite,
4126 and move the 3 I can't figure out into a separate test that won't run
4127 the pipelines unless the appropriate line is uncommented.
4129 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
4131 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4132 Requesting 0 bytes before the end of the file should result in
4133 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4136 2006-07-27 Wim Taymans <wim@fluendo.com>
4138 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4139 Fix useless assert, a uint is always positive.
4141 * gst/gststructure.c: (gst_structure_nth_field_name),
4142 (gst_structure_foreach), (gst_structure_map_in_place):
4143 Check input arguments for public functions to avoid obvious crashes.
4145 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4146 * plugins/elements/gstfakesink.h:
4147 Do less useless typechecking.
4149 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
4151 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4152 Do not use mmap() by default since there are a number of error
4153 conditions that we would like to handle in a non-fatal way that
4154 will result in a SIGBUS if we use mmap(). Examples: external
4155 devices (USB harddrive, portable music player) being unplugged
4156 while in use; file on mounted CD/DVD that can't be read because
4157 the medium is partly damaged. Fixes #348455 and #348475.
4159 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
4162 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4165 2006-07-26 Stefan Kost <ensonic@users.sf.net>
4167 * gst/gstregistry.c:
4168 Move big documentation comment into class section header, so that it
4169 appears in the API docs.
4171 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
4173 * docs/gst/gstreamer-sections.txt:
4174 Oops. Commit the docs additions too for new API.
4175 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4177 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
4179 * gst/gststructure.c: (gst_structure_id_set),
4180 (gst_structure_id_set_valist):
4181 * gst/gststructure.h:
4182 Add API for setting values into structures without performing
4183 a quark lookup, if the appropriate quark is already known.
4185 API: gst_structure_id_set
4186 API: gst_structure_id_set_valist
4188 * gst/parse/grammar.y:
4189 * gst/parse/parse.l:
4190 Remove some dead code shown by the coverage information.
4191 Don't throw a critical g_warning when encountering a syntax error,
4192 just warn and let the normal error path handle it.
4194 * plugins/elements/gstelements.c:
4195 Bump the rank of filesink up to PRIMARY so that it is preferred over
4196 gnomevfssink for file:// sink uri's
4198 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4199 (GST_START_TEST), (run_delayed_test),
4200 (gst_parse_test_element_base_init),
4201 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4202 (gst_parse_test_element_change_state),
4203 (gst_register_parse_element), (parse_suite):
4204 Beef up the tests for parse syntax to check that more error cases
4205 fail as they are supposed to. Increases the test coverage a bit.
4207 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
4209 * docs/manual/basics-elements.xml:
4210 Fix gst_element_link() example.
4213 Mention in API docs that one should usually gst_bin_add()
4214 elements to a bin or pipeline before doing the linking.
4216 2006-07-26 Wim Taymans <wim@fluendo.com>
4218 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4219 (gst_subbuffer_get_type), (gst_buffer_create_sub):
4220 Avoid function call for known types by keeping the buffer and
4221 subbuffer GType global.
4223 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4224 Random silly optimisations in read() path.
4226 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
4228 * tools/gst-launch.c: (main):
4229 If the top-level of the parse is a normal bin, it doesn't do the
4230 right logic to run as a top-level element, so place it inside a
4233 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
4235 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4236 Remove superfluous g_object_notify() calls, GObject does
4237 that for us automatically.
4239 2006-07-25 Stefan Kost <ensonic@users.sf.net>
4242 on Win32, use dllspec to export the debug category symbols
4244 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
4246 * gst/gsttaglist.c: (_gst_tag_initialize):
4247 Allow more than one GST_TAG_IMAGE per taglist.
4249 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
4251 * gst/gstminiobject.c:
4253 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4254 (gst_fd_src_create):
4255 log recurring events at LOG level
4256 add more debug for when the fd gets set
4258 2006-07-21 Stefan Kost <ensonic@users.sf.net>
4260 * gst/gstparse.c: (gst_parse_launch):
4261 Also remove reentrance checks if flex is MT safe (#348179)
4262 Fix my empty ChangeLog entry below
4264 2006-07-21 Andy Wingo <wingo@pobox.com>
4266 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4268 * libs/gst/check/Makefile.am
4269 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4270 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
4271 * libs/gst/check/gstbufferstraw.h:
4272 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4273 functions, thus proving I am still a GStreamer haxor. OK I wrote
4274 them a long time ago, but anyways.
4276 2006-07-21 Stefan Kost <ensonic@users.sf.net>
4279 * gst/gstparse.c: (gst_parse_launch):
4280 Check for flex version and omit mutex if we have a MT save flex
4283 2006-07-21 Wim Taymans <wim@fluendo.com>
4285 * gst/gstparse.c: (gst_parse_launch):
4286 Protect recursive calls to _parse with a recursive mutex
4289 2006-07-21 Wim Taymans <wim@fluendo.com>
4291 * tests/check/gst/gstpad.c: (GST_START_TEST):
4294 2006-07-20 Stefan Kost <ensonic@users.sf.net>
4296 * gst/gstparse.c: (gst_parse_launch):
4297 Do not hang on recursive usage of gst_parse_launch()
4299 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
4302 Add some more docs, comments and FIXME 0.11s here and there
4303 and also fix some typos.
4305 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
4308 Convert tabs to spaces for better readability.
4310 2006-07-20 Edward Hervey <edward@fluendo.com>
4312 * tests/check/libs/gdp.c: (gst_dp_suite):
4313 the test_buffer test fails at line 140 on ppc64 at the following
4315 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4316 GST_BUFFER_FLAG_IN_CAPS),
4317 "GST_BUFFER_IN_CAPS flag should have been copied !");
4318 See bug #348114 for more details.
4320 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
4322 * docs/pwg/advanced-scheduling.xml:
4324 Fix typos (#348000).
4326 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
4328 * docs/pwg/intro-basics.xml:
4329 Fix wrong links (#347927).
4331 2006-07-18 Stefan Kost <ensonic@users.sf.net>
4333 * gst/gstregistry.h:
4334 * gst/gstregistryxml.c: (load_feature),
4335 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4336 * win32/common/config.h:
4337 make --disable-index work (#342564)
4339 2006-07-18 Wim Taymans <wim@fluendo.com>
4341 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4345 The attached patch adds two missing defines to gsttrace.h when tracing
4346 is disabled. It also corrects one existing define.
4349 2006-07-17 Wim Taymans <wim@fluendo.com>
4351 * docs/gst/gstreamer-sections.txt:
4352 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4354 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4355 Add two functions to check and change the SIGSEGV behaviour
4356 when loading plugins.
4357 Don't mess with the SIGSEGV handler when we were told not to.
4359 API: gst_segtrap_is_enabled
4360 API: gst_segtrap_set_enabled
4362 2006-07-14 Wim Taymans <wim@fluendo.com>
4364 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4365 * tests/check/elements/filesrc.c: (GST_START_TEST):
4366 Revert fix for regression in #347408 after release.
4368 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
4370 Patch by: Antoine Tremblay <hexa00 at gmail com>
4372 * gst/gstutils.c: (gst_element_unlink):
4373 Free iterator when done (#347311).
4375 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4376 And add a test case for this.
4378 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
4381 Bump nano back to CVS
4383 === release 0.10.9 ===
4385 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
4388 releasing 0.10.9, "On the road again"
4390 2006-07-13 Wim Taymans <wim@fluendo.com>
4392 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4393 * tests/check/elements/filesrc.c: (GST_START_TEST):
4394 Revert pull-0 fix for release. Disable check. Fixes #347408.
4396 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
4398 * libs/gst/dataprotocol/dataprotocol.c:
4399 (gst_dp_event_from_packet_1_0):
4400 Fixes #347337: failure to deserialize event packets with
4401 empty payload (only event type)
4403 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
4406 do not install a .c file in the header directory
4408 2006-07-13 Edward Hervey <edward@fluendo.com>
4410 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4411 GhostPad no longer implicitely use the padtemplates of the targets.
4414 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
4416 * gst/gstvalue.c: (gst_value_compare_list),
4417 (gst_value_compare_array), (_gst_value_initialize):
4418 * tests/check/gst/gstvalue.c: (GST_START_TEST):
4419 Make GstValueArray comparison be order dependent as designed.
4420 Add checks for value lists and value array comparisons.
4423 2006-07-11 Edward Hervey <edward@fluendo.com>
4425 * gst/gstbin.c: (activate_pads),
4426 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4427 (gst_bin_change_state_func):
4428 (de)activate src pads before calling state_change on the childs.
4429 This is to avoid the case where a src ghostpad is blocked (holding the
4430 stream lock), which would block the deactivation of the ghostpad's
4432 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4433 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4434 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4435 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4436 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4437 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4438 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4439 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4440 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4441 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4442 (gst_ghost_pad_class_init),
4443 (gst_ghost_pad_internal_do_activate_push),
4444 (gst_ghost_pad_internal_do_activate_pull),
4445 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4446 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4447 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4448 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4449 GhostPads now create their internal GstProxyPad at creation (and not
4450 when they're linked, as it was being done previously).
4451 The internal and target pads are linked straight away.
4452 The data will also travel through the other pad in order to make
4453 pad blocking and probes non-hackish (the probe/block now really happens
4454 on the GhostPad and not on the target).
4455 * gst/gstpad.c: (gst_pad_set_blocked_async),
4456 (gst_pad_link_prepare), (gst_pad_push_event):
4457 Remove previous ghostpad cruft.
4458 * gst/gstutils.c: (gst_pad_add_data_probe),
4459 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4460 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4461 (gst_pad_remove_buffer_probe):
4462 Remove previous ghost pad cruft.
4463 Added more detailed debug statements.
4464 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4465 Fix the testsuite for refcounting changes.
4466 The comments about who has references were correct, but the refcount
4467 being checked wasn't the same (!?!).
4471 2006-07-10 Stefan Kost <ensonic@users.sf.net>
4473 * docs/gst/gstreamer-sections.txt:
4474 * gst/gstconfig.h.in:
4475 More docs for configuration options, add docs to gtk-doc.
4477 2006-07-10 Stefan Kost <ensonic@users.sf.net>
4480 * gst/gstconfig.h.in:
4481 * win32/common/config.h:
4482 Fix build when disabling tracing (fixes #344016). Also start to document
4483 the defines that disable the sub-systems.
4485 2006-07-10 Edward Hervey <edward@fluendo.com>
4487 * gst/gst.c: (ensure_current_registry_forking):
4488 let's make valgrind happy...
4490 2006-07-09 Wim Taymans <wim@fluendo.com>
4492 * gst/gstelement.c: (activate_pads),
4493 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4494 Better pad activation code: Reset the collect value too on resync.
4497 2006-07-09 Wim Taymans <wim@fluendo.com>
4499 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4500 (gst_pad_activate_push):
4501 Use some more macros where it makes sense.
4502 Allow pad mode switching instead of asserting. When a pad
4503 is activated in one mode and we activate it in another,
4504 deactivate it first before activating it in a different mode.
4507 2006-07-08 Andy Wingo <wingo@pobox.com>
4509 * tools/gst-launch.c (main): Handle err == NULL.
4511 * gst/gst.c (init_post, ensure_current_registry)
4512 (ensure_current_registry_forking)
4513 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4514 factoring out the registry scanning into separate functions. Don't
4515 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4516 Better environment var name/interface suggestions accepted.
4518 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4520 * gst/gstobject.c: (gst_object_set_name_default),
4521 (gst_object_set_name):
4522 Random micro-optimisation: don't use a hash table
4523 with strings as keys and the usual strdup/strcmp
4524 involved, but rather just use the GQuark of the
4525 type name as key, since it needs to be looked up
4526 anyway to get the type name string.
4528 * tests/check/gst/gstobject.c: (GST_START_TEST):
4531 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4533 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4534 (gst_bin_iterate_all_by_interface):
4535 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4536 GTypes are gulongs and thus the top 4 bytes might be cut
4537 off on some platforms when doing GPOINTER_TO_INT, leading
4538 to invalid GTypes and bad things happening (see RH bug #179654).
4539 Also add a check to make sure the type passed in is really
4542 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4547 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
4551 * gst-element-check.m4:
4552 * gst-element-check.m4.in:
4553 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
4554 instead of the unversioned gst-inspect (#324176, #168659).
4556 2006-07-06 Wim Taymans <wim@fluendo.com>
4559 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
4562 2006-07-06 Wim Taymans <wim@fluendo.com>
4564 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4565 (gst_base_src_wait), (gst_base_src_update_length),
4566 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
4567 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
4568 (gst_base_src_loop), (gst_base_src_start),
4569 (gst_base_src_activate_pull):
4571 blocksize == 0 now means the default blocksize when working in push
4573 Remove some pointless asserts in _wait function.
4574 Fix offset/length calculations and EOS handling. We can now pull 0
4575 bytes as well, which is allowed.
4576 use _check_get_range() to decide if we can operate in _pull based
4578 Fix refcounting leak when check_get_range function was not
4580 API GstBaseSrc::blocksize range can be 0 too now (default)
4582 * tests/check/elements/filesrc.c: (GST_START_TEST),
4584 Added check to test _get_range() behaviour.
4586 2006-07-06 Wim Taymans <wim@fluendo.com>
4588 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4589 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
4590 (gst_pad_pull_range):
4592 Lots of comments and docs added to the pad functions.
4593 Flesh out the expected behaviour of the get_range() functions.
4595 2006-07-06 Wim Taymans <wim@fluendo.com>
4600 * gst/gstiterator.h:
4604 Remove comma at end of enumerator list.
4606 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
4608 * win32/common/libgstbase.def:
4609 * win32/common/libgstdataprotocol.def:
4610 * win32/common/libsgtreamer.def:
4611 Add new exported functions.
4613 2006-07-05 Wim Taymans <wim@fluendo.com>
4615 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
4616 Add some more docs here and there.
4618 2006-07-05 Wim Taymans <wim@fluendo.com>
4620 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
4621 (gst_base_sink_loop), (gst_base_sink_get_position):
4622 When operating in pull mode update the offset so that we
4625 2006-07-05 Wim Taymans <wim@fluendo.com>
4627 * gst/gstregistryxml.c: (read_string):
4628 Avoid strdup. (will happen in libxml, but hey!)
4633 2006-07-05 Wim Taymans <wim@fluendo.com>
4635 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4636 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4638 No point in checking if the size of the subbuffer > 0, the
4639 code handles it correclty as demonstrated by unit test.
4640 Also add a unit test for the zero sized _new_and_alloc and
4641 _copy. Fixes #346663.
4643 2006-07-05 Wim Taymans <wim@fluendo.com>
4645 * libs/gst/base/gstbasetransform.c:
4646 (gst_base_transform_prepare_output_buffer),
4647 (gst_base_transform_buffer_alloc),
4648 (gst_base_transform_handle_buffer):
4649 Make sure the buffer we pass to transform_ip has a refcount of
4650 1 and thus is writable. Fixes #343196
4652 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
4654 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
4655 (gst_file_src_init), (gst_file_src_set_property),
4656 (gst_file_src_get_property), (gst_file_src_map_region):
4657 * plugins/elements/gstfilesrc.h:
4658 Add "sequential" property, off by default, to use madvise and hint
4659 to the kernel that sequential access is desired.
4660 Touch all retrieved pages by default to ensure they are pulled
4661 into memory. (Closes #345720)
4663 2006-07-03 Wim Taymans <wim@fluendo.com>
4665 * docs/design/part-block.txt:
4666 * docs/design/part-dynamic.txt:
4669 2006-07-03 Wim Taymans <wim@fluendo.com>
4671 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
4672 (gst_caps_unref), (gst_static_caps_get),
4673 (gst_caps_append_structure):
4674 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4675 Use GSlice when the glib we build against is >= 2.10
4677 2006-07-03 Wim Taymans <wim@fluendo.com>
4679 * gst/gstelement.c: (gst_element_pads_activate):
4680 Small cleanup in pad activation code.
4682 2006-07-03 Wim Taymans <wim@fluendo.com>
4684 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4686 * gst/gst-i18n-app.h:
4687 * gst/gst-i18n-lib.h:
4688 * tools/gst-inspect.c: (print_signal_info):
4689 The attached patch will make the inclusion of gettext.h unconditional in
4690 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
4691 libintl.h in tools/gst-inspect.c.
4692 This allows use of --disable-nls again and fixes #344642.
4694 2006-07-03 Edward Hervey <edward@fluendo.com>
4696 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
4697 Implement pad blocking on events according to part-block.txt.
4698 More comments on behaviour.
4699 * tests/check/gst/gstevent.c: (test_event):
4700 Send event to peer pad of blocked pad (else it will block).
4702 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
4704 * libs/gst/check/gstcheck.c: (gst_check_message_error),
4705 (gst_check_run_suite):
4706 if we get the wrong message, give us the types as string
4707 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
4709 * tests/check/elements/filesrc.c: (GST_START_TEST):
4710 add a test for trying to open a non-existing file
4712 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
4714 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4715 add a test for adding self
4717 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
4719 * libs/gst/check/gstcheck.h:
4720 add some assert_ as alias for fail_unless_*
4721 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
4722 increase test coverage
4724 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4727 include lcov.mak for lcov coverage generation
4728 * tools/Makefile.am:
4731 2006-07-02 Edward Hervey <edward@fluendo.com>
4733 * tests/check/elements/.cvsignore:
4736 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4739 don't set CFLAGS and friends for gcov, done from GST_GCOV now
4740 * tests/check/Makefile.am:
4743 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4745 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
4746 remove gst_caps_simplify; it was not declared and not used
4747 and deprecated in 0.8
4749 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4751 * docs/faq/gst-uninstalled:
4752 don't put empty paths on PYTHONPATH
4753 * docs/gst/gstreamer-sections.txt:
4754 remove some symbols that are not there
4756 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4758 * gst/gstcaps.c: (gst_caps_compare_structures):
4760 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4761 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4764 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4766 * libs/gst/dataprotocol/Makefile.am:
4767 build dataprotocol test by linking to the lib, instead of
4768 compiling the source, so we get coverage
4769 * tests/check/Makefile.am:
4770 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
4771 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
4772 add a test for filesrc
4774 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4776 * tests/check/gst/gststructure.c: (GST_START_TEST),
4777 (gst_structure_suite):
4778 Push coverage from 59.04% to 70.00%
4780 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4782 * tests/check/Makefile.am:
4783 gst-inspect every element; this makes sure that we also get
4784 coverage on element's get/set functions
4786 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
4789 set CFLAGS and friends to -O0 if gcov is being used
4792 * libs/gst/base/Makefile.am:
4793 * libs/gst/check/Makefile.am:
4794 * libs/gst/controller/Makefile.am:
4795 * libs/gst/dataprotocol/Makefile.am:
4796 * libs/gst/net/Makefile.am:
4797 * plugins/elements/Makefile.am:
4798 * plugins/indexers/Makefile.am:
4799 add makefile rules to generate gcov data and clean up
4800 * tests/check/Makefile.am:
4801 add a coverage target that generates an html overview
4804 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
4806 * tests/check/elements/fakesink.c:
4807 * tests/check/elements/fakesrc.c:
4808 * tests/check/elements/fdsrc.c:
4809 * tests/check/elements/identity.c:
4810 * tests/check/generic/sinks.c: (gst_sinks_suite):
4811 * tests/check/generic/states.c:
4812 * tests/check/gst/gst.c:
4813 * tests/check/gst/gstabi.c:
4814 * tests/check/gst/gstbin.c:
4815 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
4816 * tests/check/gst/gstbus.c: (gst_bus_suite):
4817 * tests/check/gst/gstcaps.c: (GST_START_TEST):
4818 * tests/check/gst/gstelement.c:
4819 * tests/check/gst/gstevent.c: (gst_event_suite):
4820 * tests/check/gst/gstghostpad.c:
4821 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
4822 * tests/check/gst/gstmessage.c: (gst_message_suite):
4823 * tests/check/gst/gstminiobject.c:
4824 * tests/check/gst/gstobject.c:
4825 * tests/check/gst/gstpad.c:
4826 * tests/check/gst/gstpipeline.c:
4827 * tests/check/gst/gstplugin.c:
4828 * tests/check/gst/gstquery.c: (gst_query_suite):
4829 * tests/check/gst/gstsegment.c: (gst_segment_suite):
4830 * tests/check/gst/gststructure.c:
4831 * tests/check/gst/gstsystemclock.c:
4832 * tests/check/gst/gsttag.c:
4833 * tests/check/gst/gsttask.c: (gst_task_suite):
4834 * tests/check/gst/gstutils.c:
4835 * tests/check/gst/gstvalue.c:
4836 * tests/check/libs/adapter.c:
4837 * tests/check/libs/basesrc.c:
4838 * tests/check/libs/collectpads.c:
4839 * tests/check/libs/controller.c:
4840 * tests/check/libs/gdp.c: (gst_dp_suite):
4841 * tests/check/libs/gstnetclientclock.c:
4842 * tests/check/libs/gstnettimeprovider.c:
4843 * tests/check/libs/libsabi.c: (libsabi_suite):
4844 * tests/check/libs/typefindhelper.c:
4845 * tests/check/pipelines/cleanup.c:
4846 * tests/check/pipelines/parse-launch.c:
4847 * tests/check/pipelines/simple-launch-lines.c:
4848 * tests/check/pipelines/stress.c: (stress_suite):
4851 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
4853 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
4854 * libs/gst/check/gstcheck.h:
4855 create a macro and function so that the simple unit test
4856 case can be just one macro to create main()
4858 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
4860 * gst/gstbin.c: (gst_bin_restore_thyself):
4861 * gst/gstxml.c: (gst_xml_make_element):
4862 Fix deserialisation from XML. Set parent manually
4863 instead of using gst_bin_add(), since gst_bin_add()
4864 will unlink all pads of the element being added.
4867 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
4869 Patch by: Peter Kjellerstedt <pkj at axis com>
4871 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
4872 Fix missing g_strdup() and double free when using the
4873 --gst-plugin-load command line option (#346097).
4875 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
4878 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
4880 * libs/gst/net/gstnetclientclock.c:
4881 * libs/gst/net/gstnettimeprovider.c:
4882 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
4884 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
4886 * docs/manual/advanced-dataaccess.xml:
4887 Fix buffer probe example compilation in
4890 2006-06-22 Edward Hervey <edward@fluendo.com>
4892 * gst/gstelement.c: (gst_element_pads_activate):
4893 We need to deactivate src pads first and then sink pads.
4894 The reason is the src pads might be blocking while holding the streaming
4895 lock, so we need to deactivate them first so that deactivating the sink
4896 pads doesn't block (since it will require the streaming lock).
4898 2006-06-22 Wim Taymans <wim@fluendo.com>
4900 * libs/gst/base/gstbasetransform.c:
4901 (gst_base_transform_buffer_alloc):
4902 Forgot to remove two unneeded unrefs.
4903 Simplify a check _is_equal allready checks the obvious case.
4905 2006-06-22 Wim Taymans <wim@fluendo.com>
4907 * docs/design/part-block.txt:
4908 Some docs about what pad_block should do.
4910 2006-06-22 Wim Taymans <wim@fluendo.com>
4912 * gst/gstcaps.c: (gst_caps_replace):
4913 Fix crasher when passed NULL. Doc clarification.
4914 Optimize for the trivial case.
4916 * gst/gstpipeline.c: (gst_pipeline_change_state):
4919 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4920 Small documentation cleanup.
4922 * libs/gst/base/gstbasetransform.c:
4923 (gst_base_transform_buffer_alloc):
4924 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
4925 is what we need and it avoids a whole lot of redundant
4926 refcount operations.
4928 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
4930 Patch by: Philip Jägenstedt <philip at lysator liu se>
4932 * docs/manual/advanced-dataaccess.xml:
4933 Fix 'Embedding static elements' section to use
4934 GST_PLUGIN_DEFINE_STATIC (#345607).
4936 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
4938 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
4939 Attempt to 'fix' spuriously failing test case: it seems like the
4940 timeout of half a second is simply too small when the system is under
4941 load otherwise, and the timeout doesn't really seem to serve any
4942 particular purpose here. Give the pipeline a few seconds to preroll
4943 first, and then give it another half a second to go from PAUSED to
4944 PLAYING and marshal the message into the main thread.
4946 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
4948 * tools/gst-feedback-m.m:
4949 Don't only use unversioned tools, try versioned tools as well
4952 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
4954 * gst/gstbus.c: (gst_bus_class_init):
4955 Fix some typos, make docs more explicit.
4957 2006-06-20 Wim Taymans <wim@fluendo.com>
4959 * tests/check/gst/gstghostpad.c: (block_callback),
4960 (GST_START_TEST), (gst_ghost_pad_suite):
4961 Added some more ghostpad tests, mainly blocking
4964 2006-06-16 Wim Taymans <wim@fluendo.com>
4966 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4967 (gst_file_sink_close_file), (gst_file_sink_do_seek),
4968 (gst_file_sink_event), (gst_file_sink_render):
4969 * plugins/elements/gstfilesink.h:
4970 Check if we can seek in the file instead of assuming
4971 we always can. Post an error when we are asked to seek in a
4972 non-seekable file (like a fifo). Fixes #343312.
4975 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
4977 * tools/gst-launch.1.in:
4978 Un-garble (fourcc) bit in filtered caps section.
4980 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
4982 * docs/manual/advanced-autoplugging.xml:
4983 * docs/manual/basics-helloworld.xml:
4984 * docs/manual/highlevel-components.xml:
4985 Don't leak bus reference in sample code.
4987 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
4990 Add default for new --enable-plugin-docs switch.
4993 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
4997 Use new ENABLE_PLUGIN_DOCS conditional.
4999 2006-06-14 Wim Taymans <wim@fluendo.com>
5001 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
5002 Make it clear with a FIXME and a real define what the #if 0
5003 previously disabled.
5005 2006-06-14 Wim Taymans <wim@fluendo.com>
5007 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5008 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5009 * libs/gst/base/gstbasetransform.c:
5010 (gst_base_transform_sink_eventfunc):
5011 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
5012 Don't randomly and silently reset a segment when the format
5013 changes as this is a bug somewhere upstream. Fixes #330379.
5015 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
5017 Patch by: Wouter Paesen <wouter at kangaroot net>
5019 * libs/gst/controller/gstcontroller.c:
5020 (gst_controlled_property_new):
5021 Fix controlling of float properties (#344849).
5023 * tests/check/libs/controller.c:
5024 (gst_test_mono_source_get_property),
5025 (gst_test_mono_source_set_property),
5026 (gst_test_mono_source_class_init), (GST_START_TEST):
5027 While we're at it, add some float stuff to unit test.
5029 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
5032 * docs/images/gdp-header.svg:
5034 * docs/libs/Makefile.am:
5035 * docs/libs/gdp-header.png:
5036 * libs/gst/dataprotocol/dataprotocol.c:
5037 add it to the API docs
5038 * docs/manual/intro-motivation.xml:
5041 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
5043 * gst/gst.c: (scan_and_update_registry), (init_post):
5044 If the fork()'ed child process can't write the updated registry cache
5045 file to disk for some reason, make it exit with a failure exit code,
5046 so that the parent can then re-scan the plugins itself and update the
5047 registry structures in memory and work with that (rather than failing
5048 when creating elements because seemingly no plugins are available).
5049 Refactor registry scanning code into separate function for this and
5050 also separate fork() and non-fork() code paths. Fixes #344748.
5052 2006-06-13 Wim Taymans <wim@fluendo.com>
5054 * docs/manual/advanced-dataaccess.xml:
5055 Fix wrong PluginDesc. Fixes #344755.
5057 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
5059 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5060 Fix silly bug that prevented us from creating
5061 ~/.gstreamer-0.10 and writing the registry in one
5062 go (the first call to g_mkstemp() would overwrite the
5063 placeholder in the template string, so the second call
5064 to g_mkstemp() after creating the missing directory
5065 would then error out with 'invalid argument').
5067 2006-06-13 Edward Hervey <edward@fluendo.com>
5069 * gst/gst.c: (init_post):
5072 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
5074 * gst/glib-compat-private.h:
5075 * gst/glib-compat.c:
5076 * gst/glib-compat.h:
5077 * gst/gstvalue.c: (gst_value_serialize_flags):
5078 remove GLib 2.6 compatibility code
5080 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
5082 * gst/parse/Makefile.am:
5083 Fix build with 'make -j N' even more (#340016).
5085 2006-06-12 Wim Taymans <wim@fluendo.com>
5087 * docs/gst/gstreamer-sections.txt:
5090 2006-06-12 Wim Taymans <wim@fluendo.com>
5092 * gst/gstsegment.c: (gst_segment_set_duration),
5093 (gst_segment_set_last_stop), (gst_segment_set_seek),
5094 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5095 (gst_segment_to_running_time), (gst_segment_clip):
5096 Use G_UNLIKELY to help the compiler a bit.
5098 2006-06-12 Wim Taymans <wim@fluendo.com>
5100 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5102 * gst/gstevent.c: (gst_event_get_type):
5104 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5106 constify quark registration strings. Fixes #344115
5107 Avoid unneeded type checking is _pad_push() by internally
5108 calling gst_pad_chain_unchecked().
5110 2006-06-12 Wim Taymans <wim@fluendo.com>
5112 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5113 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5114 (gst_subbuffer_finalize), (gst_buffer_create_sub),
5115 (gst_buffer_is_span_fast), (gst_buffer_span):
5116 Init _type for consistency.
5117 Use _FLAGS macro to avoid type check.
5118 Avoid unneeded type checks in subbufer code.
5120 2006-06-12 Wim Taymans <wim@fluendo.com>
5122 * gst/gst.c: (gst_debug_help):
5123 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5124 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5125 (gst_plugin_feature_list_free):
5126 * gst/gstregistry.c: (gst_registry_add_plugin),
5127 (gst_registry_add_feature), (gst_registry_plugin_filter),
5128 (gst_registry_feature_filter), (gst_registry_find_plugin),
5129 (gst_registry_find_feature), (gst_registry_get_plugin_list),
5130 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5131 * gst/gstregistryxml.c: (load_feature),
5132 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5133 * gst/gstminiobject.c: (gst_mini_object_unref),
5134 (gst_mini_object_replace), (gst_value_mini_object_free),
5135 (gst_value_mini_object_copy):
5136 Use _CAST macros to avoid unneeded type checking.
5137 Added some more G_UNLIKELY.
5139 2006-06-12 Wim Taymans <wim@fluendo.com>
5142 Avoid unneeded type checking.
5143 API: GST_BUFFER_IS_DISCONT
5145 * gst/gstminiobject.h:
5146 Avoid type check in flag accessor.
5148 * gst/gstelementfactory.h:
5150 * gst/gstpluginfeature.h:
5152 API: GST_ELEMENT_FACTORY_CAST
5153 API: GST_PLUGIN_CAST
5154 API: GST_PLUGIN_FEATURE_CAST
5156 2006-06-12 Wim Taymans <wim@fluendo.com>
5158 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5160 Add G_UNLIKELY in type registration.
5161 Avoid type check in _ref/_unref since that is also
5164 2006-06-12 Wim Taymans <wim@fluendo.com>
5166 * gst/gsterror.c: (gst_g_error_get_type):
5167 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5168 (gst_static_pad_template_get_type):
5169 * gst/gsttaglist.c: (gst_tag_list_get_type):
5170 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5171 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5172 * gst/gsturi.c: (gst_uri_handler_get_type):
5173 * gst/gstvalue.c: (gst_date_get_type):
5174 * gst/gstxml.c: (gst_xml_get_type):
5175 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5176 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5177 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5178 Add G_UNLIKELY in type registration.
5180 2006-06-12 Wim Taymans <wim@fluendo.com>
5182 * tools/gst-inspect.c: (print_signal_info):
5183 Properly print enum values.
5185 2006-06-12 Wim Taymans <wim@fluendo.com>
5187 * gst/gstinfo.c: (gst_debug_set_active),
5188 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5190 Add some G_[UN]LIKELY.
5191 Maintain __gst_debug_min to avoid formatting the arguments of
5192 debug messages that will be dropped anyway to avoid a lot of
5193 overhead from the debugging system.
5195 2006-06-11 Stefan Kost <ensonic@users.sf.net>
5199 add missing files containing translatable strings, tell intltool about
5202 2006-06-11 Stefan Kost <ensonic@users.sf.net>
5204 * tests/check/libs/.cvsignore:
5205 add test-binary to ignore list
5207 2006-06-11 Stefan Kost <ensonic@users.sf.net>
5209 * docs/libs/gstreamer-libs-docs.sgml:
5210 reorder (put dp into a chapter) and indent
5212 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5217 === release 0.10.8 ===
5219 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5222 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5224 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5226 * gst/gst.c: (init_post):
5227 move pid declaration to declaration block
5229 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
5231 * gst/gst.c: (init_post):
5232 use _exit() instead of exit() in our forked child; this ensures
5233 that none of the registered exit handlers from whatever is using
5234 GStreamer get executed. This fixes gnome-mixer-applet failing
5235 to load, because ORBit would shut down.
5236 Spotted by: Edward Hervey <edward@fluendo.com>
5237 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
5240 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
5245 === release 0.10.7 ===
5247 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
5250 releasing 0.10.7, "Soepeke, ik zie ou"
5252 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
5275 * win32/common/config.h:
5278 2006-06-07 Wim Taymans <wim@fluendo.com>
5280 * gst/gstindex.c: (gst_index_gtype_resolver):
5281 * tools/gst-xmlinspect.c: (print_plugin_info):
5282 Fix leak spotted by coverity checker. Fixes #343827
5283 Fix another other leak found by paolo borelli.
5285 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5287 * libs/gst/dataprotocol/dataprotocol.c:
5288 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5289 (gst_dp_version_get_type), (gst_dp_init),
5290 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5291 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5292 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5293 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5294 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5295 (gst_dp_packetizer_free):
5296 * libs/gst/dataprotocol/dataprotocol.h:
5297 API: add a GstDPPacketizer object, and create/free functions
5298 API: add GstDPVersion enum
5299 Add 1.0 event function that uses the string serialization
5300 Serialize more useful buffer flags
5303 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5305 * tests/check/Makefile.am:
5306 * tests/check/gst/gstabi.c:
5307 * tests/check/gst/struct_ppc64.h:
5308 * tests/check/libs/libsabi.c:
5309 * tests/check/libs/struct_ppc64.h:
5310 add ppc64 structure sizes
5312 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5314 * tests/check/Makefile.am:
5315 * tests/check/gst/gstabi.c:
5316 * tests/check/gst/struct_x86_64.h:
5317 * tests/check/libs/libsabi.c:
5318 * tests/check/libs/struct_x86_64.h:
5319 generate and add structure size lists for x86_64
5321 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
5323 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5324 * libs/gst/check/gstcheck.h:
5325 factor out the method from tests that checks size of structures,
5326 and add code to generate the header containing these sizes
5327 * tests/check/gst/gstabi.c: (GST_START_TEST):
5328 * tests/check/gst/struct_i386.h:
5329 * tests/check/libs/libsabi.c: (GST_START_TEST):
5330 * tests/check/libs/struct_i386.h:
5333 2006-06-06 Michael Smith <msmith@fluendo.com>
5336 Don't use c++-style comments, fixes #343929
5338 2006-06-05 Edward Hervey <edward@fluendo.com>
5341 plugin_paths is not used if we build without registry support.
5343 * gst/gstsegment.c: (gst_segment_copy):
5344 _copy() was always returning NULL...
5346 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5348 * libs/gst/dataprotocol/dataprotocol.c:
5349 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5350 (gst_dp_packet_from_event):
5353 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5355 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5356 make sure we unset caps
5358 2006-06-02 Michael Smith <msmith@fluendo.com>
5360 * libs/gst/check/gstcheck.c: (gst_check_init),
5361 (gst_check_chain_func):
5362 * libs/gst/check/gstcheck.h:
5363 Add a cond/mutex to the check support lib, signal this whenever we
5364 add to the buffers list. This will allow tests to not busy-wait on
5367 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5369 * libs/gst/dataprotocol/dataprotocol.c:
5370 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5371 (gst_dp_packet_from_event):
5372 factor out some common header init code
5374 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
5376 * docs/libs/gstreamer-libs-sections.txt:
5377 * docs/libs/tmpl/gstdataprotocol.sgml:
5378 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5379 * libs/gst/dataprotocol/dataprotocol.h:
5380 API: make gst_dp_crc() public
5382 2006-06-01 Stefan Kost <ensonic@users.sf.net>
5384 * plugins/indexers/gstindexers.c: (plugin_init):
5385 conditionally register fileindexer (fixes #343598)
5387 2006-06-01 Stefan Kost <ensonic@users.sf.net>
5389 * gst/gsttagsetter.h:
5390 Can't cast ifaces to a class
5392 * libs/gst/net/gstnetclientclock.h:
5393 * libs/gst/net/gstnettimeprovider.h:
5394 * plugins/elements/gstfakesink.h:
5395 * plugins/elements/gstfakesrc.h:
5396 * plugins/elements/gstfdsink.h:
5397 * plugins/elements/gstfdsrc.h:
5398 * plugins/elements/gstfilesink.h:
5399 * plugins/elements/gstfilesrc.h:
5400 * plugins/elements/gstidentity.h:
5401 * plugins/elements/gstqueue.h:
5402 * plugins/elements/gsttee.h:
5403 * plugins/indexers/gstfileindex.c:
5404 * plugins/indexers/gstmemindex.c:
5405 * tests/old/examples/plugins/example.h:
5406 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5408 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
5410 * libs/gst/dataprotocol/dataprotocol.c:
5411 (gst_dp_header_from_buffer):
5412 make sure we zero the whole ABI-compatible area
5414 2006-06-01 Wim Taymans <wim@fluendo.com>
5416 Patch by: Alessandro Decina <alessandro at nnva dot org>
5418 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5419 Make sure the EOS flag is cleared from pads after a flush
5420 or stop. Fixes #343538.
5422 * tests/check/libs/collectpads.c: (GST_START_TEST),
5423 (gst_collect_pads_suite):
5424 Added test for collectpads reusage after EOS.
5426 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
5429 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5430 * win32/common/libgstbase.def:
5431 export gst_collect_pads_set_flushing
5432 * win32/common/libgstreamer.def:
5433 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5434 gst_value_fraction_multiply
5435 * win32/vs6/gst_inspect.dsp:
5436 add a link to intl.lib
5438 2006-05-30 Wim Taymans <wim@fluendo.com>
5440 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5441 (gst_collect_pads_chain):
5442 Handle the case where a pad is removed from the collection
5443 that could cause the other pads to become collectable.
5445 2006-05-30 Wim Taymans <wim@fluendo.com>
5448 Clarify the use of _release_request_pad() and
5449 _get_request_pad() a bit better.
5451 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5452 (gst_adapter_take_buffer):
5453 Fix some doc and comment typos.
5455 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
5457 * docs/gst/gstreamer-sections.txt:
5458 * docs/libs/gstreamer-libs-sections.txt:
5459 add declared symbols
5461 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
5463 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5464 Add debug that can be enabled using a #define at the top of the file,
5465 for dumping stats about how late/early we were when waking up from
5466 waiting on the clock.
5468 2006-05-30 Wim Taymans <wim@fluendo.com>
5470 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5471 When rebuilding the pad list, don't leak the previous list.
5473 2006-05-30 Wim Taymans <wim@fluendo.com>
5475 Patch by: Lutz Mueller <lutz at topfrose dot de>
5477 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5478 (gst_base_src_get_query_types), (gst_base_src_update_length):
5479 Publish supported query types.
5480 Update last_stop field in get_range mode so the position
5481 query works. Fixes #342321.
5483 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
5485 * docs/gst/gstreamer-sections.txt:
5486 * gst/gsttaglist.c: (_gst_tag_initialize):
5488 API: add GST_TAG_PREVIEW_IMAGE (#343341).
5490 2006-05-30 Wim Taymans <wim@fluendo.com>
5492 Patch by: Alessandro Decina <alessandro at nnva dot org>
5494 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5495 Unlock mutex when removing an unknown pad.
5498 * tests/check/Makefile.am:
5499 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5500 (push_event), (setup), (teardown), (GST_START_TEST),
5501 (gst_collect_pads_suite), (main):
5502 Added collecpads check, disabled for now as check crashes for
5505 2006-05-29 Wim Taymans <wim@fluendo.com>
5507 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5508 Don't leak pads lists.
5510 2006-05-29 Wim Taymans <wim@fluendo.com>
5512 * docs/libs/gstreamer-libs-sections.txt:
5513 * libs/gst/base/gstcollectpads.c:
5514 (gst_collect_pads_set_flushing_unlocked),
5515 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5516 (gst_collect_pads_stop):
5517 * libs/gst/base/gstcollectpads.h:
5518 API: gst_collect_pads_set_flushing()
5519 Added api to set the pads to flushing, useful for seeking
5520 code in elements using collectpads.
5521 Clear segment when receiving a flush.
5523 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
5525 * gst/gst.c: (add_path_func), (init_post):
5526 Don't scan registry paths passed via --gst-plugin-path immediately
5527 (will crash, because absolutely nothing is set up and no types are
5528 registered etc.); do this later in init_post(). Fixes #343057.
5530 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
5532 * gst/gst.c: (init_post):
5533 if we have fork, fork while reading/rebuilding the registry
5534 so the parent doesn't take the hit of having all plugins loaded
5535 in memory. Fixes #342777.
5537 Check if we have fork()
5538 * win32/common/config.h.in:
5541 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
5543 * plugins/elements/gstelements.c:
5544 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5545 (gst_file_src_init), (gst_file_src_set_property),
5546 (gst_file_src_get_property), (gst_file_src_start):
5547 * plugins/elements/gstfilesrc.h:
5548 API: GstFileSrc::use-mmap
5550 Add a use-mmap property to enable easier testing of all code paths.
5551 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
5552 in the absence of gnomevfssrc. (Closes #340501)
5554 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
5556 * tools/gst-inspect.c:
5557 Add missing include, removes warning of ngettext not being defined on
5560 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
5562 * gst/gstvalue.c: (gst_value_deserialize_fraction):
5563 Handle NULL input and output pointers silently as a failed conversion,
5564 rather than g_warnings.
5566 2006-05-25 Wim Taymans <wim@fluendo.com>
5568 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
5569 Initialize variable before using. Fixes #342820.
5571 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
5573 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
5574 Fix off-by-one bug that would only allow peeks of N-1 bytes
5575 from the start even if the buffer to typefind on contains
5576 in fact N bytes of data (makes vorbis typefinding from a
5577 vorbis identification header buffer work).
5579 * tests/check/Makefile.am:
5580 * tests/check/libs/.cvsignore:
5581 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
5582 (gst_typefindhelper_suite), (main), (foobar_typefind),
5584 Add very basic unit test for gst_type_find_helper_for_buffer()
5585 that checks for the problem fixed above.
5587 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
5589 * tools/gst-inspect.c: (print_interfaces),
5590 (print_element_properties_info), (print_element_list), (main):
5591 add more translatable strings
5593 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
5595 Patch by: Julien Moutte <julien at moutte net>
5597 * docs/gst/gstreamer-sections.txt:
5598 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
5600 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5601 (gst_fake_sink_preroll):
5602 * plugins/elements/gstfakesink.h:
5603 API: Add new GstFakeSink::preroll-handoff signal (#337100).
5605 2006-05-23 Wim Taymans <wim@fluendo.com>
5607 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
5609 Added _CUSTOM error and success GstFlowReturn that can be
5610 used be elements internally.
5611 Added macro to check for SUCCESS flowreturns.
5612 API: GST_FLOW_CUSTOM_SUCCESS
5613 API: GST_FLOW_CUSTOM_ERROR
5614 API: GST_FLOW_IS_SUCCESS
5616 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5617 Added check for GstFlowReturn sanity.
5619 2006-05-23 Wim Taymans <wim@fluendo.com>
5621 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5623 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5624 (gst_collect_pads_event):
5625 clear/reset segment info in FLUSH_STOP.
5628 2006-05-22 Stefan Kost <ensonic@users.sf.net>
5630 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
5631 (gst_collect_pads_check_collected):
5632 Flush queued buffer on _stop(), fixes playing again (#342454)
5634 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
5636 * tests/check/gst/gststructure.c: (GST_START_TEST),
5637 (gst_structure_suite):
5638 add a test for a complete structure
5640 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
5642 * docs/faq/developing.xml:
5644 * docs/faq/troubleshooting.xml:
5645 * docs/faq/using.xml:
5646 Some minor FAQ updates that won't change the fact that
5647 our FAQ is badly structured, full of information hardly
5648 anyone new to GStreamer needs to know and lacking lots
5649 of information people constantly ask for.
5651 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
5653 * gst/gstpad.c: (gst_pad_set_caps):
5654 Short-circuit gst_pad_set_caps if setting the existing
5655 caps pointer again, and avoid printing debug and
5656 reffing/unreffing the caps.
5658 * plugins/elements/gstqueue.c: (gst_queue_push_one):
5659 There's actually no need to set the caps before pushing -
5660 the acceptcaps method will handle it anyway.
5662 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
5664 * docs/gst/gstreamer-sections.txt:
5665 * win32/common/libgstreamer.def:
5666 * gst/gstutils.c: (gst_element_seek_simple):
5668 API: add gst_element_seek_simple() (#342238).
5670 2006-05-18 Edward Hervey <edward@fluendo.com>
5672 * gst/gsttypefind.c: (gst_type_find_get_type):
5673 * gst/gsttypefind.h:
5674 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
5675 registered for GstTypeFind pointers. This allows wrapping the structure
5676 in bindings (i.e. gst-python).
5678 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
5680 * gst/gsttagsetter.c:
5681 Docs additions and fixes (see #339918).
5683 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
5685 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5686 The caps intersection algorithm can produce multiple copies of the
5687 caps. Until that is fixed, we need to simplify the result to be
5688 sure whether the allowed caps are fixed or not.
5690 * plugins/elements/gstqueue.c: (gst_queue_init),
5691 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
5692 (gst_queue_push_one):
5693 Proxied buffer alloc should not set the caps on the source pad.
5694 When pushing buffers, we always accept the caps change that triggers.
5695 This prevents negotiation errors caused by caps changing mid-stream
5696 and then being refused on our source pad (because upstream is now
5697 refusing those caps).
5699 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
5701 * tests/examples/helloworld/helloworld.c: (main):
5702 Must plug audioconvert and audioresample between decoder
5705 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
5707 * gst/gstregistryxml.c: (read_string), (load_pad_template),
5708 (load_feature), (load_plugin):
5709 Allow empty strings for some of the plugin fields so we don't
5710 drop valid plugin entries that were written out correctly
5713 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
5715 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5716 Use g_remove and g_rename instead of remove and rename that don't
5717 handle utf8 characters. rename was failing for users who had specific
5718 characters in their name then the registry was built at each
5720 * win32/vs6/gst_inspect.dsp:
5721 * win32/vs6/gst_launch.dsp:
5722 * win32/vs6/libgstbase.dsp:
5723 * win32/vs6/libgstcoreelements.dsp:
5724 * win32/vs6/libgstreamer.dsp:
5725 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
5726 build of libgstreamer and clean unused libraries in projects link
5729 2006-05-17 Edward Hervey <edward@fluendo.com>
5731 * plugins/elements/gstqueue.c: (gst_queue_push_one):
5732 The queue is not responsible for pushing an EOS when receiving a fatal
5733 flow error. It's up to the real element driving the pipeline to do that.
5735 2006-05-16 Edward Hervey <edward@fluendo.com>
5737 * plugins/elements/gstqueue.c: (gst_queue_push_one):
5738 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
5739 buffer returned a fatal error. It should just send an EOS and stop
5741 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
5742 when pushing buffers on the queue and will be able to handle the event.
5744 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
5746 * docs/manual/basics-bins.xml:
5747 * docs/manual/basics-init.xml:
5748 Fix typos and minor errors in sample code (#341856).
5750 2006-05-16 Wim Taymans <wim@fluendo.com>
5752 * docs/design/part-qos.txt:
5753 Fix indexes in formulas to make more sense.
5755 2006-05-15 Wim Taymans <wim@fluendo.com>
5757 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5758 Don't report POSITION based on clock time if sync is
5761 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
5764 Add cast to make compiler happy - refcount variable was a gint
5765 in GstObject but is a guint in GObject and g_atomic_int_get()
5768 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
5770 * gst/parse/Makefile.am:
5771 chain commands using &&, which also makes parallel make work
5773 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
5775 * docs/gst/gstreamer-sections.txt:
5781 === release 0.10.6 ===
5783 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
5786 releasing 0.10.6, "Take the cannoli"
5788 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
5790 * tools/gst-launch.c: (print_tag):
5791 Fix use of uninitialized variable in the hypothetical
5792 case that some broken plugin creates a GST_TAG_IMAGE
5793 tag containing a NULL buffer (#341667).
5795 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
5797 * tools/gst-launch.c: (print_tag):
5798 Print something more intelligible for image tags when
5799 using the -t switch (#341556).
5801 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
5806 define GST_MAJORMINOR so we have it available in win32/common/config.h
5807 Possibly remove it from our Makefile.am files later
5808 * win32/common/config.h:
5809 * win32/common/config.h.in:
5810 added GST_MAJORMINOR
5811 * win32/common/gstenumtypes.c: (register_gst_resource_error):
5812 * win32/common/gstversion.h:
5815 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
5818 Update win32 files listing.
5819 * win32/common/gstversion.h:
5820 Add GST_MAJORMINOR definition.
5821 * win32/common/libgstreamer.def:
5822 Add new exported functions.
5824 2006-05-12 Michael Smith <msmith@fluendo.com>
5826 * gst/gstplugin.c: (gst_plugin_load_file):
5827 If an so file has no plugin entry point, unload the module.
5829 2006-05-11 Wim Taymans <wim@fluendo.com>
5831 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
5832 (gst_queue_set_property):
5833 Don't forget to signal the _chain or _loop function
5834 when the queue size or thresholds change since that might
5835 cause them to make progres again.
5837 2006-05-11 Stefan Kost <ensonic@users.sf.net>
5839 * gst/gstclock.c: (gst_clock_class_init):
5840 * gst/gstindex.c: (gst_index_class_init):
5841 * gst/gstobject.c: (gst_object_class_init):
5842 * gst/gstpad.c: (gst_pad_class_init):
5843 * gst/gstpipeline.c: (gst_pipeline_class_init):
5844 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5845 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
5846 * libs/gst/base/gstbasetransform.c:
5847 (gst_base_transform_class_init):
5848 * libs/gst/net/gstnetclientclock.c:
5849 (gst_net_client_clock_class_init):
5850 * libs/gst/net/gstnettimeprovider.c:
5851 (gst_net_time_provider_class_init):
5852 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
5853 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
5854 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
5855 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
5856 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
5857 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
5858 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
5859 * plugins/elements/gstidentity.c: (gst_identity_class_init):
5860 * plugins/elements/gsttee.c: (gst_tee_class_init):
5861 * tests/old/examples/plugins/example.c: (gst_example_class_init):
5862 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
5863 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
5865 2006-05-11 Wim Taymans <wim@fluendo.com>
5867 * gst/gstbuffer.c: (_gst_buffer_initialize):
5868 Register subbufer along with the buffer type so that
5869 it does not accidentally gets registered from N
5870 different streaming threads in a non threadsafe way.
5872 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
5877 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
5878 gst_event_ref() and gst_message_ref() functions again
5879 (ugly hack, please do fix if there's a better way besides
5880 overrides.txt, which doesn't seem to work).
5882 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
5884 * libs/gst/check/gstcheck.h:
5885 add an assert for setting state to avoid lots of repetitive code
5888 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
5890 * gst/gstvalue.c: (gst_value_serialize_flags):
5891 fix a leak if no flags are set
5892 * tests/check/gst/gstvalue.c: (GST_START_TEST):
5895 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
5897 * docs/manual/basics-pads.xml:
5898 Expand a bit on caps and filtered links and update
5899 examples that were still using the no longer existing
5900 gst_pad_link_filtered() (#338206).
5902 2006-05-10 Wim Taymans <wim@fluendo.com>
5904 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5905 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5906 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5907 (gst_collect_pads_stop):
5908 * libs/gst/base/gstcollectpads.h:
5909 No need to call _stop in _finalize.
5910 Iterate the main pad list in _finalize.
5911 Added some more debug.
5912 Free lists and data in the right order.
5913 Also free data whem doing _remove_pad when stopped for
5914 backward compatibility protect ::started with PAD_LOCK as
5917 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
5919 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
5920 (gst_structure_parse_value):
5922 rename a method so that it actually says what it does better
5924 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
5926 * gst/gstevent.c: (_gst_event_initialize):
5927 * gst/gstformat.c: (_gst_format_initialize):
5928 make sure some essential types used by events are registered
5929 as part of gst_init()
5930 * gst/gstvalue.c: (gst_value_serialize_flags):
5931 if no flags are set, serialize them to a value that represents NONE
5932 so that deserializing them works
5933 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5934 add tests for serialization and deserialization of flags
5936 2006-05-10 Wim Taymans <wim@fluendo.com>
5938 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
5939 (gst_collect_pads_collect_range), (gst_collect_pads_available),
5940 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
5941 (gst_collect_pads_event), (gst_collect_pads_chain):
5944 Catch and return errors from the collect function
5945 Refuse data on eos pads.
5947 2006-05-10 Edward Hervey <edward@fluendo.com>
5949 * gst/gstinterface.h:
5950 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
5951 GInterface type checking.
5952 They were previously using non-defined macros.
5954 2006-05-09 Wim Taymans <wim@fluendo.com>
5956 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
5957 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
5958 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
5959 (gst_collect_pads_start), (gst_collect_pads_stop),
5960 (gst_collect_pads_peek), (gst_collect_pads_pop),
5961 (gst_collect_pads_available), (gst_collect_pads_read),
5962 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
5963 (gst_collect_pads_is_collected), (gst_collect_pads_event),
5964 (gst_collect_pads_chain):
5965 * libs/gst/base/gstcollectpads.h:
5966 Clean up the mess that is collectpads, add comments and
5967 FIXMEs where needed.
5968 Maintain a separate pad list so we can add pads while
5969 collecting the other ones. For this we need a new separate
5971 Fix memory leak in finalize.
5972 Refactor some weird code to set/unset pad flushing flags, mark
5974 Don't crash in _available, _read, _flush when we're EOS.
5976 * tests/check/libs/.cvsignore:
5977 Ignore adapter check binary.
5979 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
5981 * gst/gstindex.c: (gst_index_resolver_get_type):
5982 * plugins/elements/gstfakesink.c:
5983 (gst_fake_sink_state_error_get_type):
5984 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5985 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
5986 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
5987 Const-ify GEnumValue arrays.
5989 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
5991 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5992 Add test case for flags + gst_buffer_make_metadata_writable().
5994 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
5996 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
5997 gst_buffer_make_metadata_writable() should maintain the
5998 buffer flags (those that make sense at least) (see #340859).
6000 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
6002 * tools/gst-inspect.c:
6003 * tools/gst-launch.c:
6004 * tools/gst-typefind.c:
6005 * tools/gst-xmlinspect.c:
6007 Fix up includes: need to include stdlib.h in tools.h for exit().
6009 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
6011 * gst/gsttaglist.c: (_gst_tag_initialize):
6013 API: add GST_TAG_IMAGE tag (#340721).
6015 2006-05-08 Wim Taymans <wim@fluendo.com>
6018 Added some docs for the segment query.
6020 2006-05-08 Wim Taymans <wim@fluendo.com>
6022 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6023 (gst_base_src_loop), (gst_base_src_change_state):
6024 Always push non-flushing serialized events in the streaming
6027 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
6029 * gst/gsterror.c: (_gst_stream_errors_init):
6030 Add a missing error string.
6032 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
6034 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
6035 Add applied_rate to the debug
6037 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6038 Copy applied_rate into the outgoing NEWSEGMENT event
6040 2006-05-08 Wim Taymans <wim@fluendo.com>
6042 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
6044 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6045 (gst_base_sink_change_state):
6046 call ::unlock before taking the PREROLL_LOCK so we can safely
6047 handle elements that lock in ::render.
6050 2006-05-08 Edward Hervey <edward@fluendo.com>
6052 * autogen.sh: (CONFIGURE_DEF_OPT):
6053 Darwin's libtoolize is in fact called glibtoolize.
6054 Adding glibtoolize to the list of accepted names for libtoolize.
6056 2006-05-08 Wim Taymans <wim@fluendo.com>
6058 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6059 Unify error handling, don't post an error message
6060 when a push() returns EOS but perform our normal EOS
6061 handling code. Fixes #340772.
6063 2006-05-08 Wim Taymans <wim@fluendo.com>
6065 * docs/design/part-overview.txt:
6066 Make upsteam/downstream concepts more clear.
6067 Give an example of serialized/non-serialized events.
6069 * docs/design/part-events.txt:
6070 * docs/design/part-streams.txt:
6071 Mention applied_rate.
6073 * docs/design/part-trickmodes.txt:
6074 Mention applied rate, flesh out some more use cases.
6076 * gst/gstevent.c: (gst_event_new_new_segment),
6077 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6078 (gst_event_parse_new_segment_full), (gst_event_new_tag),
6079 (gst_event_parse_tag), (gst_event_new_buffer_size),
6080 (gst_event_parse_buffer_size), (gst_event_new_qos),
6081 (gst_event_parse_qos), (gst_event_parse_seek),
6082 (gst_event_new_navigation):
6084 Add applied_rate field to NEWSEGMENT event.
6085 API: gst_event_new_new_segment_full()
6086 API: gst_event_parse_new_segment_full()
6088 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6089 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6090 (gst_segment_to_stream_time), (gst_segment_to_running_time):
6092 Add applied_rate to GstSegment structure.
6093 Make calculation of stream_time and running_time more correct
6094 wrt rate/applied_rate.
6096 API: GstSegment::applied_rate field
6097 API: gst_segment_set_newsegment_full();
6099 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6100 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6101 * libs/gst/base/gstbasetransform.c:
6102 (gst_base_transform_sink_eventfunc),
6103 (gst_base_transform_handle_buffer):
6104 Parse and use applied_rate in the GstSegment field.
6106 * tests/check/gst/gstevent.c: (GST_START_TEST):
6107 Add check for applied_rate field.
6109 * tests/check/gst/gstsegment.c: (GST_START_TEST),
6110 (gstsegments_suite):
6111 Add more checks for various GstSegment operations.
6113 2006-05-08 Wim Taymans <wim@fluendo.com>
6115 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6116 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6117 (gst_base_sink_get_position), (gst_base_sink_change_state):
6118 Store the sync time of the buffer end position separatly in a
6119 new variable eos_rtime so we can properly sync the EOS event.
6121 Fix the docs for gst_base_sink_set_qos_enabled().
6122 Don't set segment start to invalid value when we receive a
6123 non TIME newsegment.
6124 get closer to handling position reporting for negative rates
6127 2006-05-07 Stefan Kost <ensonic@users.sf.net>
6130 Docs about how to print caps for debug purposes.
6132 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6133 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6135 2006-05-07 Stefan Kost <ensonic@users.sf.net>
6138 use full enum names and preprend a '%' in docs strings to make recent
6139 gtk-doc turn that into a link
6141 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6143 * docs/manual/basics-bins.xml:
6144 * docs/manual/basics-bus.xml:
6145 * docs/manual/basics-pads.xml:
6146 Some typo fixes, some additions, some clarifications.
6148 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6150 * tools/gst-inspect.c: (main):
6151 * tools/gst-launch.c: (main):
6152 * tools/gst-run.c: (main):
6153 * tools/gst-typefind.c: (main):
6154 * tools/gst-xmlinspect.c: (main):
6155 Use the string passed to g_option_context_new() for
6156 what it's intended for - the program name is already
6159 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6161 * tools/Makefile.am:
6162 * tools/gst-inspect.c: (main):
6163 * tools/gst-launch.c: (main):
6164 * tools/gst-xmlinspect.c: (main):
6166 Add back --version command line option (#340460).
6168 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6169 Add --version option and use GOption for argument parsing; refactor a
6170 bit; accept directories as arguments and recurse into them; lastly,
6171 print a decent error message when things go wrong.
6173 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6175 * docs/manual/basics-bins.xml:
6176 Don't mention GstThread (#340611)
6177 * docs/manual/basics-elements.xml:
6178 Update link to GObject tutorial (#340607)
6180 2006-05-05 Wim Taymans <wim@fluendo.com>
6183 * gst/gstminiobject.c:
6184 Add note about refcounting and miniobject/buffer writeability
6185 to docs. Fixes #340604
6187 * gst/gstelementfactory.h:
6188 Added some explanation about @klass.
6190 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6192 * docs/manual/intro-motivation.xml:
6193 * docs/manual/manual.xml:
6194 Avoid CORBA & Bonobo references (#340598)
6196 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6198 * docs/manual/basics-bus.xml:
6199 * docs/manual/basics-pads.xml:
6200 Fix up some inaccuracies and omissions (#340609)
6202 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
6204 * gst/gstghostpad.c:
6205 Small typo in docs (#340625)
6207 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6209 * gst/parse/Makefile.am:
6210 Make 'make -j' proof (see #340698).
6212 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
6215 Require GLib-2.8 here as well.
6217 2006-05-05 Wim Taymans <wim@fluendo.com>
6219 * gst/glib-compat.c:
6220 * gst/gst.c: (init_pre):
6221 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6222 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6223 (gst_object_dispatch_properties_changed):
6225 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6226 * gst/gststructure.c: (gst_structure_set_valist):
6227 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6228 Remove pre glib2.8 compatibility, fixes #340508
6230 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
6233 Mention type of tags in doc blurbs.
6235 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
6237 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6238 (gst_pad_configure_src), (gst_pad_push):
6239 Restore acceptcaps checking behaviour now that good plugins have
6242 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
6244 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6255 * gst/parse/Makefile.am:
6256 * libs/gst/base/gstadapter.c:
6257 * libs/gst/base/gstbasesrc.c:
6258 * libs/gst/base/gstpushsrc.c:
6259 * libs/gst/base/gsttypefindhelper.c:
6260 * plugins/elements/gstfakesrc.c:
6261 * plugins/elements/gstidentity.c:
6262 Make sure gstprivate.h and/or config.h are
6263 always included first, otherwise some of our
6264 defines (like _FILE_OFFSET_BITS) might be
6265 redefined in the system headers. Fixes build
6266 on opensolaris (#340016).
6268 2006-05-04 Wim Taymans <wim@fluendo.com>
6270 * docs/libs/gstreamer-libs-sections.txt:
6271 API: addition: gst_adapter_take_buffer()
6273 * libs/gst/base/gstadapter.c: (gst_adapter_push),
6274 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6275 (gst_adapter_available_fast):
6276 * libs/gst/base/gstadapter.h:
6277 Prepare for optimizing the hell out of this hugely inefficient
6279 Added gst_adapter_take_buffer() so we can at least start thinking
6280 about subbuffering and merging.
6281 Added some comments.
6283 * tests/check/Makefile.am:
6284 * tests/check/libs/adapter.c: (GST_START_TEST),
6285 (gst_adapter_suite), (main):
6286 Added GstAdapter check.
6288 2006-05-04 Wim Taymans <wim@fluendo.com>
6290 * docs/design/part-overview.txt:
6291 Fix some typos, add blurb about buffer flags.
6293 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
6295 * docs/libs/gstreamer-libs-sections.txt:
6296 make sure GstBaseTransformClass shows up in the docs
6297 * libs/gst/base/gstbasetransform.c:
6298 * libs/gst/base/gstbasetransform.h:
6299 move docs so gtk-doc picks it up now
6301 2006-05-02 Stefan Kost <ensonic@users.sf.net>
6303 * docs/libs/gstreamer-libs-sections.txt:
6304 add missing symbols to docs
6306 2006-05-02 Stefan Kost <ensonic@users.sf.net>
6308 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6309 back out the newsegment handling change, see #340060 for ongoing
6312 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
6314 * tools/gst-run.c: (get_candidates), (main):
6315 Fix wrong g_file_test() usage (see glib docs for why it doesn't
6316 work); fix typo in error message. Fixes #340079.
6318 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
6320 * common/Makefile.am:
6322 * docs/faq/Makefile.am:
6323 * docs/gst/Makefile.am:
6324 * docs/libs/Makefile.am:
6325 * docs/manual/Makefile.am:
6326 * docs/plugins/Makefile.am:
6327 * docs/pwg/Makefile.am:
6328 * docs/slides/Makefile.am:
6330 * common/upload.mak:
6331 move upload.mak to common
6333 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
6335 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6336 add more asserts on refcounts
6337 do more cleanup at end of tests
6338 fix test leaks showing in FC5
6340 2006-04-29 Stefan Kost <ensonic@users.sf.net>
6342 * plugins/elements/gsttypefindelement.c:
6343 (gst_type_find_element_handle_event):
6344 reverted wrong change and reflowed code to avoid others falling into
6347 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6349 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6350 fix changelog entry about last collectpads change,
6351 add notes about proper fix
6353 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6356 * gst/gstregistry.c: (gst_registry_scan_path_level),
6357 (gst_registry_scan_path):
6358 * gst/gstregistry.h:
6359 only write out registry if it has changed, fixes #338339
6361 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6364 * gst/gstpipeline.c:
6365 * plugins/elements/gstcapsfilter.c:
6366 * plugins/elements/gstfakesink.c:
6367 * plugins/elements/gstfakesrc.c:
6368 * plugins/elements/gstfdsink.c:
6369 * plugins/elements/gstfdsrc.c:
6370 * plugins/elements/gstfilesink.c:
6371 * plugins/elements/gstfilesrc.c:
6372 * plugins/elements/gstidentity.c:
6373 * plugins/elements/gstqueue.c:
6374 * plugins/elements/gsttee.c:
6375 * plugins/elements/gsttypefindelement.c:
6376 (gst_type_find_element_handle_event):
6377 make GstElementDetails const
6379 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6381 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6382 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6383 (gst_collect_pads_is_collected), (gst_collect_pads_event):
6384 more detailed debug and formatting cleanup,
6385 forward newsegments to src-pad (so that e.g. adder not eats them)
6387 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6389 * gst/gstutils.c: (gst_element_link_pads):
6392 2006-04-28 Stefan Kost <ensonic@users.sf.net>
6394 * libs/gst/controller/gstcontroller.c:
6395 (gst_controller_sync_values):
6397 * tests/check/libs/controller.c: (GST_START_TEST),
6398 (gst_controller_suite):
6399 a new test for live value handling
6401 2006-04-28 Wim Taymans <wim@fluendo.com>
6403 * gst/gstutils.c: (push_and_ref):
6404 Added some more docs.
6405 Fix refcount issue whith gst_element_found_tags() helper
6406 function. Fixes #338335
6408 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6409 Added testsuite for gst_element_found_tags().
6411 2006-04-28 Michael Smith <msmith@fluendo.com>
6413 * gst/gstvalue.c: (gst_value_serialize_flags):
6414 Avoid NULL dereference when trying to serialize flags containing
6417 2006-04-28 Michael Smith <msmith@fluendo.com>
6419 * plugins/elements/gsttypefindelement.c:
6420 (gst_type_find_element_handle_event):
6421 If we get EOS before any data is accumulated, don't use
6422 uninitialised local variables.
6424 2006-04-28 Michael Smith <msmith@fluendo.com>
6426 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6427 (gst_dp_event_from_packet):
6428 Fixes in reading/writing events over GDP (not currently used?) -
6429 dereferencing NULL events for unknown/invalid event types, memory
6430 leak, and change g_warning to GST_WARNING.
6432 2006-04-28 Wim Taymans <wim@fluendo.com>
6434 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6435 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6436 (gst_base_sink_get_position), (gst_base_sink_change_state):
6437 When frame dropping is enabled, we should not ignore frames
6439 Update some documentation.
6441 2006-04-28 Wim Taymans <wim@fluendo.com>
6443 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6444 (gst_base_src_send_event), (gst_base_src_change_state):
6445 Documentation updates.
6447 2006-04-28 Wim Taymans <wim@fluendo.com>
6449 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6450 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6451 handle EAGAIN, EINTR and short writes correctly. Also clean
6452 up some error cases, avoid a deadlock on bad file descriptors and
6453 use GST_DEBUG_OBJECT.
6456 2006-04-28 Wim Taymans <wim@fluendo.com>
6458 * gst/gstvalue.c: (gst_value_serialize_buffer),
6459 (gst_value_deserialize_buffer):
6460 Don't try to serialize a GValue with a NULL buffer.
6463 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6464 Added check for serialisation of NULL buffers.
6466 2006-04-28 Wim Taymans <wim@fluendo.com>
6468 * gst/gstminiobject.c: (gst_value_take_mini_object):
6469 Taking a NULL miniobject is valid, fix the case where
6470 we try to unref the NULL miniobject.
6472 2006-04-28 Wim Taymans <wim@fluendo.com>
6474 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6476 * gst/gstbin.c: (gst_bin_handle_message_func):
6478 Don't leak bin refcount when a state recalc is
6479 in progress and we delay another one #339808.
6481 2006-04-28 Wim Taymans <wim@fluendo.com>
6483 * docs/design/part-TODO.txt:
6484 Mention QoS as an ongoing work item.
6486 * docs/design/part-buffering.txt:
6487 New doc about buffering that needs to be fleshed out
6490 * docs/design/part-qos.txt:
6491 More QoS policy for decoders/demuxers/transforms
6493 * docs/design/part-trickmodes.txt:
6496 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
6501 === release 0.10.5 ===
6503 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
6506 releasing 0.10.5, "Fogo"
6508 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
6510 patch by: Wim Taymans
6512 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6513 (gst_pad_configure_src), (gst_pad_push):
6514 * gst/gstpipeline.c: (gst_pipeline_init):
6515 Fix internal data flow errors. Fixes #338711.
6517 2006-04-12 Wim Taymans <wim@fluendo.com>
6519 * tests/check/gst/gstelement.c: (GST_START_TEST):
6520 Don't leak the factory.
6522 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
6525 * win32/common/config.h:
6528 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
6530 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6531 (gst_controller_unset_all):
6532 Free allocated GstTimedValues when freeing list nodes.
6533 Should fix leaks 'make check-valgrind' complains about.
6535 * win32/common/libgstcontroller.def:
6536 Add gst_controller_unset_all.
6538 2006-04-11 Stefan Kost <ensonic@users.sf.net>
6540 * docs/libs/gstreamer-libs-sections.txt:
6541 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6542 (gst_controller_unset_all):
6543 * libs/gst/controller/gstcontroller.h:
6544 API: Added new method gst_controller_unset_all()
6545 fixed gst_controller_unset()
6546 * tests/check/libs/controller.c: (GST_START_TEST),
6547 (gst_controller_suite):
6548 Added two testcases for new and fixed method
6550 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
6552 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6553 MSG_DONTWAIT is not defined on Cygwin, so work
6554 around that (fixes #317048).
6556 2006-04-11 Wim Taymans <wim@fluendo.com>
6558 * gst/gstelementfactory.c: (gst_element_register),
6559 (gst_element_factory_create), (gst_element_factory_make):
6562 Updated docs (Fixes #131079)
6564 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6567 * tests/check/gst/gstelement.c: (GST_START_TEST),
6568 (gst_element_suite):
6569 Added testcase for elementfactory class field.
6571 2006-04-10 Wim Taymans <wim@fluendo.com>
6574 Added some more docs.
6576 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
6577 (gst_base_sink_reset_qos):
6578 Calculate more accurate rate values.
6580 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
6582 * gst/gst_private.h:
6583 add a new #ifdef to use __declspec(dllimport) only for
6584 other modules and not for gstreamer core
6585 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
6586 use gst_guint64_to_gdouble for conversion
6587 * win32/common/libgstreamer.def:
6588 add new exported functions
6589 * win32/vs6/gst_inspect.dsp:
6590 * win32/vs6/gst_launch.dsp:
6591 * win32/vs6/libgstbase.dsp:
6592 * win32/vs6/libgstcontroller.dsp:
6593 * win32/vs6/libgstcoreelements.dsp:
6594 * win32/vs6/libgstdataprotocol.dsp:
6595 * win32/vs6/libgstnet.dsp:
6596 update project files
6598 2006-04-08 Stefan Kost <ensonic@users.sf.net>
6600 * gst/gstbuffer.c: (gst_subbuffer_class_init):
6601 * gst/gstclock.c: (gst_clock_class_init):
6602 * gst/gstelement.c: (gst_element_class_init):
6603 * gst/gstindex.c: (gst_index_class_init):
6604 * gst/gstindexfactory.c: (gst_index_factory_class_init):
6605 * gst/gstobject.c: (gst_object_class_init),
6606 (gst_signal_object_class_init):
6607 * gst/gstpad.c: (gst_pad_class_init):
6608 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
6609 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
6610 * gst/gstregistry.c: (gst_registry_class_init):
6611 * gst/gstsystemclock.c: (gst_system_clock_class_init):
6612 * gst/gsttask.c: (gst_task_class_init):
6613 * gst/gstxml.c: (gst_xml_class_init):
6614 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6615 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6616 (gst_base_src_loop):
6617 * libs/gst/controller/gstcontroller.c:/
6618 (_gst_controller_class_init):
6619 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6620 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
6621 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
6622 * tests/old/examples/plugins/example.c: (gst_example_class_init):
6623 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6624 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
6626 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
6628 * gst/gstpad.c: (gst_pad_link):
6629 Must set peer pads before calling the link function, otherwise
6630 a task started from a link function might get a flow-not-linked
6631 result when trying to push because the other thread where the
6632 linking happens hasn't had a chance to set the peers yet. This
6633 might happen for example when a queue gets linked to a downstream
6634 element, as queue starts a streaming task when its source pad
6635 gets linked. Happens in real life when playing back flac/musepack
6636 files in playbin (#332390).
6638 2006-04-08 Stefan Kost <ensonic@users.sf.net>
6642 * libs/gst/base/gstadapter.h:
6643 * libs/gst/base/gstbasesink.h:
6644 * libs/gst/base/gstbasesrc.h:
6645 * libs/gst/base/gstbasetransform.h:
6646 * libs/gst/base/gstcollectpads.h:
6647 * libs/gst/base/gstpushsrc.h:
6648 Fix broken GObject macros
6650 2006-04-07 Wim Taymans <wim@fluendo.com>
6652 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6653 Initialize start and stop times, thanks valgrind.
6655 2006-04-07 Wim Taymans <wim@fluendo.com>
6657 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6658 Be a bit nicer to badly behaving upstream elements that expect
6659 us to deal with non TIME segments and timestamps (such as fakesrc
6662 2006-04-07 Wim Taymans <wim@fluendo.com>
6665 Small documentation clarification about the signal watch.
6667 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6668 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6669 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6670 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6671 (gst_base_sink_get_position_last),
6672 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
6673 Convert and store timestamps in stream time and running time, the
6674 raw timestamps are not useful, also document this better.
6675 Use different window sizes for good and bad QoS observations so
6676 we react to badness a little quicker.
6677 Keep track of the amount of rendered and dropped buffers.
6678 Send QoS timestamps in running time.
6680 * libs/gst/base/gstbasetransform.c:
6681 (gst_base_transform_sink_eventfunc),
6682 (gst_base_transform_handle_buffer):
6683 Compare QoS timestamps against running time.
6685 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
6690 2006-04-06 Michael Smith <msmith@fluendo.com>
6692 * gst/gstpad.c: (gst_pad_set_property):
6693 Use g_value_get_object() instead of g_value_dup_gst_object(),
6694 to avoid double-reffing the pad template (which we then sink,
6695 so this worked previously if (and only if) the pad template
6698 * gst/gstpadtemplate.c: (gst_pad_template_init),
6699 (gst_pad_template_pad_created):
6700 Never return floating references to pad templates, create
6701 them as initially-sunken.
6703 Document an extra function (and make this stop sinking our
6704 pad template, since that is now guaranteed to do nothing,
6705 since we created it sunken).
6707 * gst/gstghostpad.c:
6710 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
6712 * gst/gstinfo.c: (__gst_in_valgrind):
6715 * plugins/elements/gsttypefindelement.c:
6716 (gst_type_find_element_chain):
6717 Don't leak buffer caps.
6719 2006-04-06 Michael Smith <msmith@fluendo.com>
6721 * gst/parse/grammar.y:
6722 Fix a leak in parse-launch for any source-or-sink named element
6725 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
6726 Unref the pipeline if it exists after we've failed parsing.
6728 2006-04-05 Michael Smith <msmith@fluendo.com>
6730 * gst/gstpipeline.c: (gst_pipeline_init):
6731 When we create a pipeline bus, initially create it in flushing mode.
6732 Fixes leaks in at least one test, and makes a new pipeline work the
6733 same as one that has gone to READY and then back to NULL.
6738 2006-04-05 Michael Smith <msmith@fluendo.com>
6740 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6741 Unref a pad we reffed.
6742 * tests/check/gst/gstutils.c: (GST_START_TEST):
6745 2006-04-05 Michael Smith <msmith@fluendo.com>
6747 * gst/gstquery.c: (gst_query_set_formats),
6748 (gst_query_set_formatsv):
6749 Fix leaking GValues in queries, as shown by valgrind/testsuite.
6751 2006-04-05 Michael Smith <msmith@fluendo.com>
6753 * tests/check/generic/sinks.c: (GST_START_TEST):
6754 Fix a variety of memleaks in sinks check, which are only sometimes
6755 shown by running the tests under valgrind (weird?).
6757 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
6759 * docs/version.entities.in:
6760 Fix the substituted entity name after thomas' changes on the
6763 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
6765 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
6768 2006-04-05 Andy Wingo <wingo@pobox.com>
6770 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
6772 * libs/gst/base/gstbasetransform.c
6773 (gst_base_transform_sink_eventfunc): When resetting our segment on
6774 FLUSH_STOP, also update the flag saying we haven't seen a
6777 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
6779 Patch by: Paolo Borelli <pborelli at katamail dot com>
6781 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6782 (gst_plugin_check_license):
6783 minor clean-ups: G_DEFINE_TYPE already takes care of the
6784 parent_class stuff, no need to do it twice. Mark array of
6785 license strings as constant. (#337103)
6787 2006-04-04 Michael Smith <msmith@fluendo.com>
6789 * tools/gst-inspect.c: (print_element_list):
6790 Free the right plugin list; fixes a memory leak.
6792 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
6794 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
6796 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
6797 Don't error out on empty buffers (#336945).
6799 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
6801 * docs/libs/gstreamer-libs-sections.txt:
6803 * libs/gst/base/gstbasesink.c:
6804 * libs/gst/base/gstbasesink.h:
6805 * libs/gst/base/gstbasesrc.c:
6806 * libs/gst/base/gstbasesrc.h:
6807 Documentation updates. Make BaseSink and BaseSrc docs contain the
6808 class structure so that people can actually see the prototypes for
6809 virtual functions they're supposed to be overriding.
6811 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
6813 * plugins/elements/gsttypefindelement.c:
6814 (gst_type_find_element_chain):
6815 More debug info; when skipping typefinding, send cached
6816 events in all cases.
6818 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
6821 use new AS_VERSION and AS_NANO macros
6822 * gst/gst-i18n-lib.h:
6825 * gst/gstversion.h.in:
6826 * win32/common/config.h:
6827 * win32/common/config.h.in:
6830 2006-03-31 Michael Smith <msmith@fluendo.com>
6832 * plugins/elements/gsttypefindelement.c:
6833 (gst_type_find_element_chain):
6834 Do not typefind content if the buffers already have caps.
6835 Neccesary for icydemux (#333657), and the right thing to do anyway.
6837 2006-03-30 Wim Taymans <wim@fluendo.com>
6839 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6840 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
6841 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
6842 (gst_base_sink_record_qos_observation),
6843 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6844 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6845 (gst_base_sink_change_state):
6846 More QoS measurements as described in the design doc.
6847 Get rid of ringbuffer with observations, running average is
6848 more simple and equally good.
6849 Calculates valid proportion now.
6850 Added beginning of flood measurement.
6852 2006-03-29 Wim Taymans <wim@fluendo.com>
6854 * docs/design/part-qos.txt:
6856 Small documentation updates and additions.
6858 2006-03-29 Wim Taymans <wim@fluendo.com>
6860 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6861 (gst_base_src_send_event), (gst_base_src_loop),
6862 (gst_base_src_change_state):
6863 Perform the EOS logic when we reach the segment stop position.
6864 Fix compilation on gcc4.1
6866 2006-03-29 Wim Taymans <wim@fluendo.com>
6868 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
6870 * plugins/elements/gstqueue.c: (gst_queue_init),
6871 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
6872 (gst_queue_set_property):
6873 * plugins/elements/gstqueue.h:
6874 In queue, when EOS is received, if minimum threshold > max_size -
6875 current_level, there is chance that queue blocks forever in conditional
6876 item del wait. This is because the queue is not emptied completely due
6877 to minimum threshold. Here is another approach. Instead of setting
6878 cur_levels to max in EOS, just zero all minimum threshold levels. This
6879 should make sure that queue gives out all data. When going to READY
6880 (stop) state, just reset the original minimum threshold levels.
6883 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
6885 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
6886 (gst_type_find_element_handle_event),
6887 (gst_type_find_element_send_cached_events),
6888 (gst_type_find_element_change_state):
6889 * plugins/elements/gsttypefindelement.h:
6890 When typefinding is done in push mode, we should cache
6891 events we receive during typefinding instead of just
6892 dropping them (e.g. newsegment, custom events from
6893 dvdreadsrc etc.) and then send them out once we've
6894 determined the type of the stream (and decodebin
6895 has had a chance to plug in a decoder/demuxer).
6897 2006-03-27 Wim Taymans <wim@fluendo.com>
6899 * docs/design/part-qos.txt:
6902 2006-03-27 Wim Taymans <wim@fluendo.com>
6904 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
6906 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
6907 (gst_base_src_send_event), (gst_base_src_change_state):
6908 Handle element seek correctly when we are streaming.
6911 2006-03-24 Michael Smith <msmith@fluendo.com>
6913 * docs/faq/gst-uninstalled:
6914 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
6915 allow you to correctly run intalled applications built against old
6916 core, using plugins that require updated core (e.g. running
6917 installed totem against a full uninstalled gstreamer stack)
6919 2006-03-24 Stefan Kost <ensonic@users.sf.net>
6921 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6924 2006-03-24 Wim Taymans <wim@fluendo.com>
6926 * docs/gst/gstreamer-sections.txt:
6927 Rearrange the order of the methods so that related methods
6928 are grouped together in sections.
6930 2006-03-24 Stefan Kost <ensonic@users.sf.net>
6933 Little clarification in the docs
6935 2006-03-24 Stefan Kost <ensonic@users.sf.net>
6939 * plugins/elements/gstidentity.c:
6940 * plugins/elements/gstqueue.c:
6941 * plugins/elements/gsttee.c:
6942 * plugins/elements/gsttypefindelement.c:
6943 GST_ELEMENT_DETAILS formatting
6945 2006-03-24 Wim Taymans <wim@fluendo.com>
6947 * libs/gst/base/gstbasesink.h:
6948 Only add fields, not insert or we break ABI.
6950 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
6952 * win32/common/libgstbase.def:
6953 * win32/common/libgstreamer.def:
6954 Update, add recently added functions.
6956 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
6958 * docs/gst/gstreamer-sections.txt:
6959 * gst/gstutils.c: (gst_pad_query_peer_position),
6960 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
6962 API: add some new utility functions:
6963 - gst_pad_query_peer_position()
6964 - gst_pad_query_peer_duration()
6965 - gst_pad_query_peer_convert()
6967 2006-03-23 Wim Taymans <wim@fluendo.com>
6969 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6970 (gst_base_sink_init), (gst_base_sink_finalize),
6971 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
6972 (gst_base_sink_set_property), (gst_base_sink_get_property),
6973 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
6974 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6975 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
6976 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6977 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
6978 (gst_base_sink_preroll_object), (gst_base_sink_event),
6979 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
6980 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6981 (gst_base_sink_query), (gst_base_sink_change_state):
6982 Decouple max-lateness and the fact that QoS messages are generated
6983 with a new property (qos).
6984 added API: GstBaseSink::async_play()
6985 Add vmethod so subclasses can be notified of ASYNC playing
6987 Collect timestamp start and stop to report better current
6988 position in EOS/PLAYING/PAUSED/READY/NULL.
6989 Refactor QoS/frame dropping and other measurements.
6990 API: GstBaseSrc::qos
6993 * libs/gst/base/gstbasesink.h:
6994 Added Private struct.
6995 API: gst_base_sink_set_qos_enabled()
6996 API: gst_base_sink_is_qos_enabled()
6998 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
7000 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7001 If compiling against GLib-2.8 or newer, try to read the
7002 registry file using GMappedFile first before falling back
7003 to fopen() + fread() (#332151).
7005 2006-03-22 Wim Taymans <wim@fluendo.com>
7007 * gst/gstinfo.c: (gst_debug_set_active),
7008 (gst_debug_category_set_threshold):
7009 Disable debugging unless explicitly activated.
7012 2006-03-22 Wim Taymans <wim@fluendo.com>
7014 * gst/gstelement.c: (gst_element_set_locked_state),
7015 (gst_element_dispose):
7016 Cleanup the error case.
7018 * gst/gstobject.c: (gst_object_dispose):
7019 print a critical when some object was disposed with
7020 a parent, also revive the object since it might
7023 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
7025 * tools/gst-launch.1.in:
7028 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
7031 * tests/check/Makefile.am:
7032 disable some tests when we don't have a registry
7033 * tests/check/gst/gstutils.c: (gst_utils_suite):
7034 don't build the part that needs parsing
7036 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
7039 * tests/examples/Makefile.am:
7040 fix --disable-parse build
7042 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
7044 * tools/gst-feedback.1.in:
7045 Fix typo: s/feeback/feedback/ (#133494).
7047 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
7049 * tools/Makefile.am:
7050 * tools/gst-launch.1.in:
7051 Add FILES section and correct entry about GST_REGISTRY_PATH
7052 environment variable (#133495; #133494).
7054 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
7056 * tools/Makefile.am:
7057 * tools/gst-md5sum.1.in:
7058 * tools/gst-md5sum.c:
7059 Remove gst-md5sum and man page (the md5sink element
7060 required was removed ages ago)
7062 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
7064 * gst/gststructure.c: (gst_structure_id_set_value):
7065 Make sure that string fields in structures/taglists
7066 contain valid UTF-8 - we don't want to pass rubbish to
7067 applications because of a buggy plugin (cp. #334167).
7069 2006-03-21 Edward Hervey <edward@fluendo.com>
7071 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7072 (gst_bin_handle_message_func):
7073 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7074 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7075 (gst_element_set_bus_func):
7076 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7077 * gst/gstminiobject.c: (gst_value_set_mini_object),
7078 (gst_value_take_mini_object):
7079 * gst/gstpad.c: (gst_pad_set_pad_template):
7080 * gst/gstpipeline.c: (gst_pipeline_dispose),
7081 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7082 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7083 (gst_collect_pads_chain):
7084 * libs/gst/net/gstnettimeprovider.c:
7085 (gst_net_time_provider_set_property):
7086 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7087 It's in fact all issues with gst_*object_replace().
7089 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
7091 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
7093 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7094 * pkgconfig/gstreamer-check.pc.in:
7095 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7097 2006-03-21 Edward Hervey <edward@fluendo.com>
7102 gst_[buffer|event|message]_ref() macros are replaced by a static
7103 inline functions because gcc-4.1 will about if the return value
7105 * tests/check/gst/gstevent.c: (event_probe):
7106 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7108 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
7111 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7112 the type' case. (Closes: #335195 for now). In the future, when we
7113 depend on GLib 2.10, we could also intern the type name using
7114 g_intern_static_string()
7116 2006-03-20 Wim Taymans <wim@fluendo.com>
7118 * gst/gstbin.c: (gst_bin_handle_message_func),
7119 (bin_query_max_init), (bin_query_position_fold),
7120 (bin_query_position_done), (gst_bin_query):
7121 Position query should also take max of all streams.
7123 2006-03-20 Wim Taymans <wim@fluendo.com>
7125 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7126 (gst_fake_src_finalize):
7127 Fix leaks in fakesrc.
7129 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7130 Fix leaks in the testcase.
7132 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
7134 * gst/gst_private.h:
7135 add win32 specific import decoration(__declspec(dllimport))
7136 for all extern GstDebugCategory * variables
7137 * win32/common/libgstbase.def:
7138 * win32/common/libgstcontroller.def:
7139 * win32/common/libgstreamer.def:
7140 Add some exports, remove empty lines
7141 * win32/common/libgstdataprotocol.def:
7142 * win32/common/libgstdataprotocol.dsp:
7143 * win32/common/libgstnet.def:
7144 * win32/common/libgstnet.dsp:
7145 new project files and exportation files added
7147 2006-03-19 Wim Taymans <wim@fluendo.com>
7149 * tests/check/libs/basesrc.c: (eos_event_counter):
7150 Use proper return value for probe.
7152 2006-03-17 Wim Taymans <wim@fluendo.com>
7154 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7156 Don't leak buffers, caps and pads on negotiation errors.
7158 2006-03-16 Stefan Kost <ensonic@users.sf.net>
7161 * docs/faq/dependencies.xml:
7162 * docs/faq/developing.xml:
7164 * docs/faq/general.xml:
7165 * docs/faq/getting.xml:
7166 * docs/faq/legal.xml:
7167 * docs/faq/troubleshooting.xml:
7168 * docs/faq/using.xml:
7169 Faq review and update.
7171 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
7173 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7175 Don't pound the cpu to pieces by checking get_caps when accept_caps
7176 is called with the same caps as the pad already has.
7177 Use GST_DEBUG_OBJECT when outputting caps change information.
7179 2006-03-15 Wim Taymans <wim@fluendo.com>
7181 * gst/gstclock.c: (gst_clock_class_init):
7184 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
7189 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7190 (gst_pad_accept_caps), (gst_pad_configure_sink),
7191 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7192 Make the default acceptcaps behaviour be to check the requested
7193 caps against the gst_pad_get_caps output.
7195 Ensure that gst_pad_accept_caps is used to check caps when a pad
7196 doesn't have a setcaps function, so that pads automatically refuse
7197 caps that they don't allow in their pad template. (Fixes #332986)
7199 When a buffer with attached caps is pushed, ensure that the source
7200 pad receives those caps even if the element didn't call
7201 gst_pad_set_caps first.
7203 2006-03-15 Wim Taymans <wim@fluendo.com>
7205 * libs/gst/base/gstadapter.c:
7208 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
7210 * win32/common/libgstbase.def:
7211 * win32/common/libgstcontroller.def:
7212 * win32/common/libgstreamer.def:
7213 Add a whole bunch of missing functions (#334434).
7215 2006-03-14 Wim Taymans <wim@fluendo.com>
7217 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7218 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7219 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7220 Better debug info when we receive a segment event.
7221 Reorganize a bit so we can pass the get_times() results around.
7222 Use the segment format when calculating the running time.
7223 Don't do QoS is sync is disabled or we have no clock or the
7224 element does not want us to sync to the clock.
7225 Don't drop buffers if QoS is disabled for now.
7227 2006-03-14 Wim Taymans <wim@fluendo.com>
7229 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7230 Marked the stats property as unimplemented so people don't get
7232 Add debug message when regression goes wrong.
7233 Added some more docs.
7235 2006-03-14 Wim Taymans <wim@fluendo.com>
7237 * gst/gstsegment.c: (gst_segment_to_stream_time):
7238 Return correct return type in case of errors.
7240 2006-03-14 Wim Taymans <wim@fluendo.com>
7242 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7243 Don't segfault on invalid formats.
7245 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
7247 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7248 Can't use gst_segment_to_running_time() when the segment
7249 is not in GST_TIME_FORMAT (like with filesink, for example).
7250 Stops flac encoding pipelines from spewing critical warnings
7253 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
7255 * gst/gstpipeline.c: (gst_pipeline_class_init):
7256 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7258 * plugins/elements/gsttypefindelement.c:
7259 (gst_type_find_element_handle_event):
7260 Don't try to typefind empty streams.
7262 2006-03-14 Wim Taymans <wim@fluendo.com>
7264 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7265 (gst_base_sink_do_qos):
7266 Separate QoS calculation.
7267 Only drop buffers when lateness is bigger than the
7268 duration of the buffer.
7270 2006-03-13 Wim Taymans <wim@fluendo.com>
7272 * gst/gstpipeline.c: (gst_pipeline_set_property),
7273 (gst_pipeline_get_property), (do_pipeline_seek),
7274 (gst_pipeline_change_state), (gst_pipeline_set_delay),
7275 (gst_pipeline_get_delay):
7276 Don't deadlock when reading properties.
7278 2006-03-13 Wim Taymans <wim@fluendo.com>
7280 * libs/gst/base/gstbasetransform.c:
7281 (gst_base_transform_class_init), (gst_base_transform_init),
7282 (gst_base_transform_sink_event),
7283 (gst_base_transform_sink_eventfunc),
7284 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7285 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7286 (gst_base_transform_set_property),
7287 (gst_base_transform_get_property),
7288 (gst_base_transform_change_state), (gst_base_transform_update_qos),
7289 (gst_base_transform_set_qos_enabled),
7290 (gst_base_transform_is_qos_enabled):
7291 * libs/gst/base/gstbasetransform.h:
7292 Make basetransform virtual method for src events too.
7293 Handle QOS in basetransform.
7294 API: gst_base_transform_update_qos()
7295 API: gst_base_transform_set_qos_enabled()
7296 API: gst_base_transform_is_qos_enabled()
7298 2006-03-13 Wim Taymans <wim@fluendo.com>
7300 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7301 (gst_base_sink_do_sync):
7303 Use QOS debug category.
7305 2006-03-13 Wim Taymans <wim@fluendo.com>
7307 * plugins/elements/gstqueue.c:
7308 Very small doc update.
7310 2006-03-13 Wim Taymans <wim@fluendo.com>
7312 * gst/gst_private.h:
7313 * gst/gstinfo.c: (_gst_debug_init):
7314 Added QOS debug category
7316 2006-03-13 Wim Taymans <wim@fluendo.com>
7318 * docs/gst/gstreamer-sections.txt:
7319 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7321 * gst/gstbus.c: (gst_bus_class_init):
7324 * gst/gstelement.c: (gst_element_set_locked_state):
7326 Documentation updates.
7328 * gst/gstpipeline.c: (gst_pipeline_get_type),
7329 (gst_pipeline_class_init), (gst_pipeline_init),
7330 (gst_pipeline_dispose), (gst_pipeline_set_property),
7331 (gst_pipeline_get_property), (do_pipeline_seek),
7332 (gst_pipeline_send_event), (gst_pipeline_change_state),
7333 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7334 (gst_pipeline_get_delay):
7335 * gst/gstpipeline.h:
7336 Added methods for setting the delay.
7337 API: gst_pipeline_set_delay()
7338 API: gst_pipeline_get_delay()
7339 Add pipeline debug category
7342 Don't reset stream time when seek failed.
7344 2006-03-13 Wim Taymans <wim@fluendo.com>
7346 * docs/design/draft-klass.txt:
7347 * docs/design/part-clocks.txt:
7348 * docs/design/part-events.txt:
7349 * docs/design/part-gstbin.txt:
7350 * docs/design/part-gstpipeline.txt:
7351 * docs/design/part-messages.txt:
7352 * docs/design/part-negotiation.txt:
7353 * docs/design/part-overview.txt:
7354 * docs/design/part-preroll.txt:
7355 * docs/design/part-seeking.txt:
7356 * docs/design/part-states.txt:
7357 * docs/design/part-streams.txt:
7358 Documentation updates.
7360 2006-03-12 Julien MOUTTE <julien@moutte.net>
7362 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7363 us to leak strings...
7365 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
7367 * libs/gst/net/gstnettimeprovider.c:
7369 * win32/common/config.h:
7372 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
7374 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7377 Don't check for libgnomeui (leftover from old examples
7378 that aren't built or disted any longer) (#334303).
7380 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
7382 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7383 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7384 Emit RESOURCE_NO_SPACE_LEFT error here as well when
7385 there's no space left on the device.
7387 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
7390 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7391 to cast the input to GstClockTime before comparing with
7392 another GstClockTime value.
7394 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
7399 === release 0.10.4 ===
7401 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
7404 releasing 0.10.4, "Light"
7406 2006-03-10 Michael Smith <msmith@fluendo.com>
7408 * libs/gst/dataprotocol/dataprotocol.c:
7409 Fix docs for dataprocotol to not get the return types completely
7410 wrong for a few functions.
7412 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
7414 * docs/gst/gstreamer-sections.txt:
7415 * gst/gstpipeline.c: (gst_pipeline_class_init),
7416 (gst_pipeline_init), (gst_pipeline_set_property),
7417 (gst_pipeline_get_property), (gst_pipeline_change_state),
7418 (gst_pipeline_set_auto_flush_bus),
7419 (gst_pipeline_get_auto_flush_bus):
7420 * gst/gstpipeline.h:
7421 Add new API: gst_pipeline_set_auto_flush_bus() and
7422 gst_pipeline_get_auto_flush_bus() to disable automatic
7423 flushing of the pipeline's GstBus when going from READY
7424 to NULL state (#332045).
7426 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
7428 * docs/gst/gstreamer-sections.txt:
7429 * gst/gsturi.c: (gst_uri_has_protocol):
7431 Add new API: gst_uri_has_protocol() (#333779).
7433 2006-03-09 Wim Taymans <wim@fluendo.com>
7435 * gst/gstclock.c: (gst_clock_entry_new),
7436 (gst_clock_id_compare_func), (gst_clock_id_wait),
7437 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7438 (gst_clock_init), (gst_clock_get_internal_time),
7439 (gst_clock_set_master), (do_linear_regression),
7440 (gst_clock_add_observation), (gst_clock_set_property):
7444 Fix a possible segfault when the window-size is made smaller.
7445 Calculate jitter before performing the clock wait. Ideally
7446 the clock implementation should calculate jitter but we need
7447 API breakage for that.
7449 * gst/gstsystemclock.c: (gst_system_clock_init):
7452 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7453 Remove leftover else
7455 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7456 (gst_systemclock_suite):
7457 Added check to test GST_CLOCK_DIFF.
7459 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
7461 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7462 (gst_type_find_helper_get_range):
7463 If we are provided with the size, we should implement
7464 GstTypeFind::get_length, so that typefind functions who
7465 want to can actually peek at the middle of a file.
7467 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
7469 * docs/manual/advanced-dataaccess.xml:
7470 Add some very very basic error checking.
7472 * docs/pwg/appendix-checklist.xml:
7473 Some updates to the list of things to check when writing an element.
7475 2006-03-08 Wim Taymans <wim@fluendo.com>
7477 * docs/design/part-element-transform.txt:
7478 Added some docs about the design of tranform elements.
7480 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7481 (gst_base_src_loop), (gst_base_src_change_state):
7482 Mark buffers with the DISCONT flag.
7484 2006-03-08 Michael Smith <msmith@fluendo.com>
7486 * gst/gstregistry.h:
7487 * gst/gstregistryxml.c: (gst_registry_save),
7488 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7489 (gst_registry_xml_save_pad_template),
7490 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7491 (gst_registry_xml_write_cache):
7492 Rewrite registry-saving to avoid race conditions and check for
7495 2006-03-08 Wim Taymans <wim@fluendo.com>
7497 * libs/gst/base/gstbasetransform.c:
7498 (gst_base_transform_transform_caps),
7499 (gst_base_transform_transform_size),
7500 (gst_base_transform_prepare_output_buffer),
7501 (gst_base_transform_get_unit_size),
7502 (gst_base_transform_buffer_alloc),
7503 (gst_base_transform_handle_buffer),
7504 (gst_base_transform_change_state):
7505 Cleanups, separate normal flow from errors, add sensible
7507 Don't try to renegotiate when allocating an output buffer.
7508 Also copy DISCONT buffer flag when copying a buffer.
7509 Reset the transform after we finish streaming, not during.
7511 2006-03-08 Wim Taymans <wim@fluendo.com>
7513 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7514 Use last buffer timestamp in qos message.
7516 2006-03-07 Wim Taymans <wim@fluendo.com>
7518 Patch by: Christophe Fergeau
7520 * docs/pwg/advanced-tagging.xml:
7521 * docs/pwg/building-pads.xml:
7524 2006-03-07 Wim Taymans <wim@fluendo.com>
7526 * docs/libs/gstreamer-libs-sections.txt:
7527 Added basesink new methods.
7531 Docs updates. Flesh out the QoS docs.
7533 * libs/gst/base/gstadapter.c:
7534 Small doc clarification about ownership and flushing.
7536 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7537 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7538 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
7539 (gst_base_sink_get_property), (gst_base_sink_do_sync):
7540 * libs/gst/base/gstbasesink.h:
7542 Added new methods to allow subclass to control max-lateness
7544 Generate very basic QoS events based on last sync observation.
7545 Updated docs, fix typo, added some QoS blurb.
7547 * libs/gst/base/gstbasesrc.c:
7548 Remove obsolete _get_state() calls from docs.
7550 2006-03-07 Wim Taymans <wim@fluendo.com>
7552 * docs/libs/gstreamer-libs-sections.txt:
7553 * libs/gst/base/gstbasetransform.h:
7554 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
7555 Fix docs for GstBaseSrc.
7557 2006-03-07 Wim Taymans <wim@fluendo.com>
7559 * docs/gst/gstreamer-sections.txt:
7562 * libs/gst/base/gstbasetransform.h:
7563 Small documentation fixes.
7565 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
7568 Document thread-unsafety of gst_value_register_foo_func()
7569 when used at the same time as gst_value_foo() (#322628).
7571 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
7573 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
7574 (gst_push_src_check_get_range):
7575 Push sources don't support pull mode by default.
7577 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
7579 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7580 (gst_base_src_init), (gst_base_src_pad_check_get_range),
7581 (gst_base_src_default_check_get_range):
7582 * libs/gst/base/gstbasesrc.h:
7583 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
7584 provide default implementation, and rename
7585 gst_base_src_check_get_range() to
7586 gst_base_src_pad_check_get_range() for clarity.
7588 2006-03-06 Wim Taymans <wim@fluendo.com>
7590 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7591 Make property overridable.
7593 2006-03-06 Wim Taymans <wim@fluendo.com>
7595 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7596 (gst_base_sink_init), (gst_base_sink_set_property),
7597 (gst_base_sink_get_property), (gst_base_sink_do_sync):
7598 * libs/gst/base/gstbasesink.h:
7599 API addition: Make max-lateness a property.
7601 2006-03-06 Wim Taymans <wim@fluendo.com>
7603 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
7604 (gst_base_sink_do_sync), (gst_base_sink_render_object):
7605 Don't ever draw a frame that is >10ms late.
7607 2006-03-06 Michael Smith <msmith@fluendo.com>
7609 * gst/gstmessage.c: (_gst_message_copy):
7610 When copying a message, set the parent_refcount of the enclosed
7611 structure to point at the copy, not the original message.
7613 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
7615 Patch by: Christophe Fergeau
7618 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
7619 usable in c++ code (#333417)
7621 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
7624 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
7626 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
7628 * libs/gst/base/gstbasetransform.c:
7629 (gst_base_transform_transform_caps):
7630 Make sure caps are writable before passing them to
7633 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
7636 Fix some minor docs errors.
7638 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
7640 Patch by: Ross Burton <ross at burtonini dot com>
7642 * gst/gsterror.c: (_gst_resource_errors_init):
7644 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
7646 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
7649 Add a check and output a g_warning when GStreamer is built
7650 against GLib 2.6 but running against 2.8 or higher, and vice
7651 versa. (Closes: #323542)
7653 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
7655 * gst/parse/parse.l:
7656 Commit patch for parse_launch syntax from #331255. Removes
7657 support for quoted strings and mimetypes when writing filtered
7658 caps. See the bug report for more details - I'm pretty sure this
7659 obscure feature is not in use by _anyone_ anywhere.
7661 With this simple change, the size of the gstreamer.so here
7662 drops from 2193KB to 1565KB.
7664 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
7666 * plugins/elements/gsttypefindelement.h:
7667 * plugins/elements/gsttypefindelement.c:
7668 (gst_type_find_element_src_event), (start_typefinding),
7669 (stop_typefinding), (gst_type_find_element_handle_event),
7670 (gst_type_find_element_chain),
7671 (gst_type_find_element_chain_do_typefinding):
7672 Use gst_type_find_helper_for_buffer() for chain-based
7675 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
7677 * plugins/elements/gsttypefindelement.c:
7678 (gst_type_find_element_class_init),
7679 (gst_type_find_element_set_property),
7680 (gst_type_find_element_get_property):
7681 Deprecate "maximum" property (not only was it only taken into
7682 account for typefinding in push-mode anyway, it also was never
7683 actually possible to set it in the first place because the
7684 property was registered with the numeric property ID for the
7685 "minimum" property). Register "maximum" property correctly,
7686 for the sake of future copy'n'pasters. Remove some cruft
7687 from property get/set functions.
7689 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
7691 * plugins/elements/gsttypefindelement.c:
7692 (gst_type_find_element_activate):
7693 Use gst_type_find_helper_get_range() here, so we
7694 can honour the "minimum" property and also emit
7695 the signal with the correct probability of the found caps.
7697 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
7699 * docs/libs/gstreamer-libs-sections.txt:
7700 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7701 (helper_find_suggest), (gst_type_find_helper_get_range),
7702 (gst_type_find_helper):
7703 * libs/gst/base/gsttypefindhelper.h:
7704 New API: gst_type_find_helper_get_range() (#333042).
7706 2006-03-02 Michael Smith <msmith@fluendo.com>
7708 * gst/gstregistryxml.c: (load_feature):
7709 Asserting on a failure to read part of the registry is Not Cool.
7710 Just log a warning and return NULL (which is already handled)
7712 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
7714 * win32/common/libgstbase.def:
7715 added export of gst_type_find_helper_for_buffer
7716 * win32/common/libgstbase.def:
7717 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
7718 gst_ghost_pad_get_target
7720 2006-02-28 Wim Taymans <wim@fluendo.com>
7722 * docs/design/draft-klass.txt:
7724 Added Connector to mark elements that are only used to
7725 allow pipeline connections.
7726 Moved Debug to extra feature since most of them are
7727 functionally something else.
7729 2006-02-28 Wim Taymans <wim@fluendo.com>
7731 * docs/design/draft-klass.txt:
7732 Some updates and clarifications.
7734 2006-02-28 Wim Taymans <wim@fluendo.com>
7736 * docs/design/draft-klass.txt:
7737 Proposal for klass field values.
7739 * docs/design/part-streams.txt:
7740 Start of a doc describing stream anatomy.
7742 2006-02-28 Wim Taymans <wim@fluendo.com>
7744 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
7745 Help the compiler a bit with type registration.
7746 Use existing forward cod path instead of duplicating it when
7749 * gst/gstbus.c: (gst_bus_get_type):
7750 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
7751 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
7752 * gst/gstclock.c: (gst_clock_get_type):
7753 * gst/gstelement.c: (gst_element_get_type),
7754 * gst/gstelementfactory.c: (gst_element_factory_get_type):
7755 * gst/gstindexfactory.c: (gst_index_factory_get_type):
7756 * gst/gstminiobject.c: (gst_mini_object_get_type):
7757 * gst/gstpad.c: (gst_pad_get_type):
7758 * gst/gstsegment.c: (gst_segment_get_type):
7759 * gst/gststructure.c: (gst_structure_get_type):
7760 * gst/gstsystemclock.c: (gst_system_clock_get_type):
7761 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
7763 Help compiler with type registration.
7765 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7768 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7770 * plugins/elements/gsttypefindelement.c:
7771 (gst_type_find_element_handle_event):
7772 When we get an EOS event and have not found a type yet
7773 (most likely because we had not yet accumulated
7774 TYPE_FIND_MIN_SIZE of data yet), try to determine the
7775 type given the data we have so far. Fixes typefinding
7776 for very short streams again, most notably quicktime
7777 redirections as used on Apple's trailer site (#331701).
7779 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7781 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
7782 (gst_type_find_helper):
7783 Try typefinding factories with the highest rank first.
7785 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7787 * docs/libs/gstreamer-libs-docs.sgml:
7788 * docs/libs/gstreamer-libs-sections.txt:
7789 * libs/gst/base/gsttypefindhelper.c:
7790 Add section for typefind helper and add documentation
7791 for the old and the new function.
7793 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7795 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
7796 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
7797 (gst_type_find_helper_for_buffer):
7798 * libs/gst/base/gsttypefindhelper.h:
7799 New API: gst_type_find_helper_for_buffer() (#332723).
7801 2006-02-27 Michael Smith <msmith@fluendo.com>
7803 Patch by: Loïc Minier
7807 * docs/slides/Makefile.am:
7808 prevent CVS directories getting disted.
7810 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
7812 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
7813 Use the REFCOUNTING category for caps refcounting.
7815 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
7817 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
7818 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
7820 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
7822 * plugins/elements/gsttypefindelement.c:
7823 (gst_type_find_element_activate):
7824 Use gst_pad_check_pull_range() before _activate_pull()
7825 to avoid unnecessary open/close (see #331690).
7827 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
7830 Docs enhancement: make it crystal clear what the
7831 gst_pad_add_*_probe() callbacks should look like.
7833 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
7835 * libs/gst/base/gstbasesrc.c:
7836 Document how applications can stop recording from
7837 live sources (see #330996).
7839 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
7841 * tests/check/Makefile.am:
7842 * tests/check/libs/basesrc.c: (eos_event_counter),
7843 (basesrc_eos_events_pull), (basesrc_eos_events_push),
7844 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
7845 (gst_basesrc_suite), (main):
7846 ... and add some tests for the base source EOS stuff.
7848 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
7850 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
7851 Test case originally showed the problem fixed below,
7852 but was then amended. Add checks back at the place
7853 where they used to be.
7855 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
7857 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7858 (gst_base_src_init), (gst_base_src_loop),
7859 (gst_base_src_activate_push), (gst_base_src_activate_pull),
7860 (gst_base_src_change_state):
7861 * libs/gst/base/gstbasesrc.h:
7862 Don't unconditionally send EOS when going from PAUSED to
7863 READY state, esp. make sure we don't send two EOS events
7864 in some cases (e.g. one when reaching EOS and one when
7865 going from PAUSED to READY). Also, we don't want to send
7866 EOS events when operating in pull mode. However, we do
7867 want to send an EOS event when shutting down a live
7868 source explicitly, for example (fixes #330996).
7870 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
7872 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
7873 Update src->read_position after a seek when not using mmap.
7874 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
7876 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
7882 Make things work with --disable-parse as they do with
7883 --disable-load-save - the symbols involved disappear, but the
7884 header is still installed and GST_DISABLE_PARSE is included via
7887 2006-02-20 Julien MOUTTE <julien@moutte.net>
7889 * libs/gst/base/gstbasetransform.c:
7890 (gst_base_transform_change_state): Fix a stupid bug. I was
7891 sure I compiled that.
7893 2006-02-20 Julien MOUTTE <julien@moutte.net>
7895 * gst/gstpad.c: (gst_pad_set_blocked_async):
7896 * gst/gstutils.c: (gst_pad_add_data_probe),
7897 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
7898 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
7899 (gst_pad_remove_buffer_probe): Make those function act on the
7900 ghostpad target when it's a ghostpad. (Closes #331727)
7902 2006-02-20 Julien MOUTTE <julien@moutte.net>
7904 * libs/gst/base/gstbasetransform.c:
7905 (gst_base_transform_change_state): Make basetransform reusable.
7908 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
7910 * docs/random/release:
7911 Move the current documentation of how to do a release to the top
7914 * gst/gstbin.c: (gst_bin_class_init),
7915 (gst_bin_handle_message_func):
7916 Allow multiple state-recalculation threads. (Closes #328873)
7918 2006-02-19 Julien MOUTTE <julien@moutte.net>
7920 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
7921 * gst/gstpad.c: (gst_pad_set_event_function),
7922 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7923 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
7924 2 strings. You can't use the STR_NULL macro on that.
7926 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
7928 * gst/gstpad.c: (gst_pad_set_event_function),
7929 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
7930 (gst_pad_set_getcaps_function)
7931 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
7932 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
7933 So now, we can use --gst-debug-level=5 on Windows
7934 * win32/common/libgstcontroller.def:
7935 Added export of gst_controller_init
7936 * win32/vs6/libgstcontroller.dsp:
7937 Fixed Release post build configuration
7939 2006-02-17 Wim Taymans <wim@fluendo.com>
7941 * tests/check/gst/gstquery.c: (GST_START_TEST):
7942 Added another check.
7944 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
7946 * plugins/elements/gsttypefindelement.c: (find_peek):
7947 We can do peeks at non-zero offsets, as long as they
7948 fall within the buffer we have.
7950 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
7952 * tests/check/Makefile.am:
7953 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
7954 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
7955 (parse_suite), (main):
7956 Add testsuite for parse launch syntax
7958 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
7960 * plugins/elements/gsttypefindelement.c:
7961 (gst_type_find_element_chain):
7962 When typefinding is unsuccessful in the chain function, don't
7963 error out immediately. Only error out with NO_CAPS_FOUND if
7964 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
7965 otherwise simply wait for more data so we can try typefinding
7966 again with more data later. Also, don't attempt to typefind
7967 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
7968 this should improve typefinding from network sources where the
7969 size of the first buffer can be somewhat random.
7971 2006-02-14 Wim Taymans <wim@fluendo.com>
7973 * docs/gst/gstreamer-sections.txt:
7974 * gst/gstpadtemplate.c:
7975 * gst/gstpadtemplate.h:
7976 Fix padtemplate docs, fixes #328805.
7978 2006-02-14 Wim Taymans <wim@fluendo.com>
7980 * tools/gst-launch.c: (main):
7981 NO_PREROLL is not an ERROR so don't send confusing messages
7984 2006-02-14 Wim Taymans <wim@fluendo.com>
7986 Patch by: Torsten Schoenfeld
7988 * gst/gstregistry.c: (gst_registry_get_default),
7989 (_gst_registry_cleanup):
7990 Protect default registry with lock and ref/sink it.
7993 2006-02-14 Wim Taymans <wim@fluendo.com>
7996 * gst/gstquery.c: (gst_query_list_add_format),
7997 (gst_query_set_formatsv), (gst_query_parse_formats_length),
7998 (gst_query_parse_formats_nth):
7999 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8002 2006-02-14 Wim Taymans <wim@fluendo.com>
8004 * docs/gst/gstreamer-sections.txt:
8005 Reworked query docs.
8007 * gst/gstquery.c: (gst_query_new_formats),
8008 (gst_query_list_add_format), (gst_query_set_formats),
8009 (gst_query_set_formatsv), (gst_query_parse_formats_length),
8010 (gst_query_parse_formats_nth):
8012 Flesh out formats query, added some new methods.
8013 Fix part of #324398.
8015 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
8016 Added query creation tests.
8018 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
8020 * gst/gstpad.c: (fixate_value):
8021 Add a default fixation for fraction lists.
8023 2006-02-13 Wim Taymans <wim@fluendo.com>
8025 * gst/gsttask.c: (gst_task_init), (gst_task_func),
8026 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
8029 Detect and warn for obvious deadlocks. fixes #320340
8030 Fix error case where lock was not released.
8032 * tests/check/Makefile.am:
8033 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
8034 (task_func), (gst_element_suite), (main):
8037 2006-02-13 Wim Taymans <wim@fluendo.com>
8039 * docs/gst/gstreamer-sections.txt:
8041 Add new functions to docs.
8043 2006-02-13 Wim Taymans <wim@fluendo.com>
8045 * docs/design/part-TODO.txt:
8046 Updated TODO list, basesrc supports seeking to non-bytes
8049 * docs/design/part-element-sink.txt:
8052 * gst/gstbin.c: (bin_replace_message),
8053 (gst_bin_handle_message_func):
8054 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
8055 * gst/gstevent.c: (gst_event_finalize):
8056 * gst/gstpad.c: (gst_pad_event_default_dispatch),
8057 (gst_pad_send_event):
8058 Use shiny new _TYPE_NAME macros.
8060 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8061 Move debug statement up.
8063 * gst/gstelement.c: (gst_element_set_locked_state):
8066 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
8068 * docs/gst/gstreamer-sections.txt:
8071 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8072 macros (#330906). Also, document the already existing
8073 GST_QUERY_TYPE macro.
8075 2006-02-13 Wim Taymans <wim@fluendo.com>
8077 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8078 (event_probe), (GST_START_TEST):
8079 Only events up to the pipeline EOS are counted, there are
8080 some more when going to NULL currently which we don't care
8083 2006-02-13 Wim Taymans <wim@fluendo.com>
8085 * gst/gstpad.c: (gst_pad_send_event):
8086 Correctly check flushing and emit probes. fixes #330125
8088 2006-02-10 Andy Wingo <wingo@pobox.com>
8090 * gst/gstbus.c (gst_bus_class_init): Declare our private data
8092 (gst_bus_init): Cache the location of the private data in the
8094 (gst_bus_enable_sync_message_emission)
8095 (gst_bus_disable_sync_message_emission): Implement new public
8097 (gst_bus_post): Emit the sync-message signal if the user asked for
8100 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8101 location of the bus-private structure.
8102 (gst_bus_enable_sync_message_emission)
8103 (gst_bus_disable_sync_message_emission): API addition
8105 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
8107 Patch by: Vincent Torri
8109 * docs/pwg/building-boiler.xml:
8110 PWG patch from #326800
8112 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
8116 * docs/design/Makefile.am:
8119 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
8124 === release 0.10.3 ===
8126 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
8129 releasing 0.10.3, "Like a virgin"
8131 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
8134 2nd prerelease of 0.10.3
8135 Bump libtool versioning.
8137 2006-02-07 Andy Wingo <wingo@pobox.com>
8139 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8140 update last_stop if we're in TIME format and the timestamp is
8143 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
8144 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
8145 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8146 If we get a new newsegment with a different format, adapt
8149 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8150 of 0. Not a problem, really.
8152 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8155 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
8160 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
8163 project files updated to the default vs7 configuration
8164 * win32/common/libgstbase.def:
8165 * win32/common/libgstreamer.def:
8167 removed empty lines,
8168 sorted all exported symbols alphabetically
8169 * win32/common/dirent.c:
8170 * win32/common/dirent.h:
8171 * win32/common/gchar.h:
8172 use windows line end.
8174 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
8176 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8177 Send EOS event when stopping.
8179 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
8182 Tell folks what to do if the plugin-foobar.xml file
8183 hasn't been generated for a newly-added plugin.
8185 2006-02-05 Julien MOUTTE <julien@moutte.net>
8187 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8188 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8189 (gst_collect_pads_start), (gst_collect_pads_stop),
8190 (gst_collect_pads_event): Collectpads now holds a reference
8191 to the GstPad that was added. Indeed we don't want to look
8192 at pads that might just go away with no warning...
8194 2006-02-05 Julien MOUTTE <julien@moutte.net>
8196 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8197 (gst_collect_pads_start), (gst_collect_pads_stop),
8198 (gst_collect_pads_event), (gst_collect_pads_chain):
8199 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8200 Mark Nauwelaerts's patch on bug #328491.
8202 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
8204 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8206 Add some simple tests for gst_parse_bin_from_description() and
8207 gst_bin_find_unconnected_pad() (#329069).
8209 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
8211 * tools/gst-launch.c: (event_loop), (main):
8212 Catch errors during preroll (#320084).
8214 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
8216 * plugins/elements/gsttypefindelement.c:
8217 (gst_type_find_element_activate):
8218 Post TYPE_NOT_FOUND error message when typefinding
8219 is unsuccessful in the activate function as well.
8221 2006-02-02 Wim Taymans <wim@fluendo.com>
8223 * docs/design/part-element-sink.txt:
8226 2006-02-02 Wim Taymans <wim@fluendo.com>
8228 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8229 (gst_base_sink_render_object),
8230 (gst_base_sink_queue_object_unlocked):
8231 Only keep track of prerollable items when we are
8233 Before rendering after preroll, always check if we
8235 Added some more debugging.
8237 2006-02-02 Wim Taymans <wim@fluendo.com>
8239 * gst/gstelement.c: (gst_element_continue_state),
8240 (gst_element_set_state_func), (gst_element_change_state):
8241 Fixed #326576, been running this for quite some time with
8242 no regressions at all.
8244 2006-02-02 Wim Taymans <wim@fluendo.com>
8247 Added more suppressions
8249 2006-02-02 Wim Taymans <wim@fluendo.com>
8251 * docs/design/part-element-sink.txt:
8254 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8255 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8256 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8257 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8258 (gst_base_sink_do_sync), (gst_base_sink_render_object),
8259 (gst_base_sink_preroll_object),
8260 (gst_base_sink_queue_object_unlocked),
8261 (gst_base_sink_queue_object), (gst_base_sink_event),
8262 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8263 (gst_base_sink_loop), (gst_base_sink_activate_pull),
8264 (gst_base_sink_get_position), (gst_base_sink_change_state):
8265 * libs/gst/base/gstbasesink.h:
8266 Totally refactored matching the design doc.
8267 Use two segments, one to clip incomming buffers and another to
8269 Handle queueing correctly, bypass the queue when playing.
8270 Make EOS cancelable.
8271 Handle errors correctly when operating in pull based mode.
8273 * tests/check/elements/fakesink.c: (GST_START_TEST),
8275 Added new check for sinks.
8277 2006-02-02 Wim Taymans <wim@fluendo.com>
8279 * gst/gstsegment.c: (gst_segment_clip):
8280 No reason to refuse to clip when start == -1
8282 2006-02-02 Stefan Kost <ensonic@users.sf.net>
8285 * docs/manual/intro-basics.xml:
8286 * docs/manual/intro-preface.xml:
8287 * docs/manual/manual.xml:
8288 * docs/pwg/advanced-dparams.xml:
8289 * docs/pwg/intro-basics.xml:
8290 * docs/pwg/intro-preface.xml:
8292 describe dparams (controller) for plugins
8293 unify docs a little more
8295 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
8297 * docs/gst/gstreamer-sections.txt:
8298 * gst/gstutils.c: (element_find_unconnected_pad),
8299 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8301 Add new API: gst_parse_bin_from_description() and
8302 gst_bin_find_unconnected_pad() (#329069).
8304 2006-02-01 Stefan Kost <ensonic@users.sf.net>
8306 * docs/manual/README:
8307 uncover a nasty detail of the docs build
8309 2006-01-31 Wim Taymans <wim@fluendo.com>
8311 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8312 Don't cache duration messages if we're not going to use or
8315 2006-01-31 Stefan Kost <ensonic@users.sf.net>
8317 * docs/manual/advanced-dparams.xml:
8318 * docs/pwg/advanced-dparams.xml:
8322 * libs/gst/controller/lib.c: (gst_controller_init):
8325 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
8327 * gst/gstelement.c: (gst_element_message_full):
8328 also show file/line/func if no additional debug was given
8330 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
8332 * win32/vs7/grammar.vcproj:
8333 activate copy of autogenerated files for Release mode
8335 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
8337 * win32/common/libgstreamer.def:
8338 export gst_value_compare
8340 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
8342 * plugins/elements/Makefile.am:
8343 * plugins/elements/gstelements.c:
8344 * plugins/elements/gstfdsink.c: (_do_init),
8345 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8346 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8347 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8348 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8349 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8350 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8351 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8352 * plugins/elements/gstfdsink.h:
8353 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8355 2006-01-30 Stefan Kost <ensonic@users.sf.net>
8357 * docs/manual/advanced-dparams.xml:
8359 * docs/manual/advanced-position.xml:
8360 * docs/manual/basics-init.xml:
8361 * docs/manual/manual.xml:
8362 * docs/manual/titlepage.xml:
8364 * docs/pwg/titlepage.xml:
8365 cleanup xml (more to come)
8366 * libs/gst/controller/gstcontroller.c:
8369 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
8371 * win32/vs6/grammar.dsp:
8372 add autogen of gstmarshal.c,h for Release mode
8374 2006-01-30 Wim Taymans <wim@fluendo.com>
8376 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8377 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8378 (gst_base_sink_handle_object), (gst_base_sink_event),
8379 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8380 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8381 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8382 (gst_base_sink_deactivate), (gst_base_sink_activate),
8383 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8384 (gst_base_sink_query), (gst_base_sink_change_state):
8385 Basesink cleanups, remove some old code.
8386 Handle the case where a subclass can preroll in the render
8387 method (mostly audiosinks).
8389 Remove some locks around variables that are now protected
8390 with the PREROLL_LOCK (clock_id, flushing, ..).
8391 Optimize position query some more, do correct locking.
8392 Remove old code to push queue in state change, this is not
8393 needed anymore since preroll blocks on all prerollable items
8395 Almost implemented as described in design doc.
8397 2006-01-30 Wim Taymans <wim@fluendo.com>
8399 * tests/check/gst/gstbin.c: (GST_START_TEST):
8400 Wait for refcount to settle down before checking.
8402 2006-01-30 Wim Taymans <wim@fluendo.com>
8404 * docs/design/part-element-sink.txt:
8405 Pseudo code overview of desired sink behaviour regarding
8408 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
8409 * win32/vs6/grammar.dsp:
8410 fix some bugs in Release mode for autogenerated files
8412 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
8413 * win32/common/libgstbase.def:
8414 * win32/common/libgstreamer.def:
8415 export some new symbols: gst_base_src_set_format,
8416 gst_iterator_next, gst_structure_set_valist
8418 2006-01-29 Julien MOUTTE <julien@moutte.net>
8420 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8421 Set pad functions unconditionally. Fixes #329105.
8423 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
8425 add vs8 project files created by Sergey Scobich
8427 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
8429 * gst/gstutils.c: (gst_element_unlink_pads):
8430 Don't leak pad references.
8432 * tests/check/elements/fakesink.c: (GST_START_TEST):
8433 * tests/check/generic/sinks.c: (GST_START_TEST):
8434 * tests/check/generic/states.c: (GST_START_TEST):
8435 * tests/check/gst/gstbin.c: (GST_START_TEST):
8436 * tests/check/gst/gstcaps.c: (GST_START_TEST):
8437 * tests/check/gst/gstelement.c: (GST_START_TEST):
8438 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8439 * tests/check/gst/gstiterator.c: (GST_START_TEST):
8440 * tests/check/gst/gstvalue.c: (GST_START_TEST):
8441 Fix a bunch of leaks. Make generic/sinks.c
8442 use a bit less cpu by slowing the buffer rate
8443 between fakesrc and fakesink.
8445 2006-01-27 Stefan Kost <ensonic@users.sf.net>
8447 * gst/gstelement.c: (gst_element_send_event):
8450 * gst/gstiterator.c:
8451 * gst/gstiterator.h:
8452 * gst/gstpad.c: (gst_pad_send_event):
8453 * gst/gststructure.c:
8457 * libs/gst/base/gstadapter.c:
8458 doc fixes, to link to function, just write gst_cool_function(), don't
8461 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
8463 * plugins/elements/gsttee.c: (gst_tee_do_push),
8464 (gst_tee_handle_buffer):
8465 Always prefer an actual return value from a src
8466 pad in place of NOT_LINKED. This means we return
8467 WRONG_STATE when all src pads are WRONG_STATE
8468 instead of NOT_LINKED.
8470 Lock when replacing the last message to prevent
8471 racing with the get_property method.
8475 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
8477 * tests/check/Makefile.am:
8478 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8480 Add a very simple check that should have caught the memleak I fixed
8481 last night (if not for the slice allocator hiding it)
8483 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
8485 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8486 (gst_bin_remove_func), (gst_bin_handle_message_func),
8487 (bin_query_duration_fold), (bin_query_generic_fold):
8488 Clean up references to the clock provider when disposed or when
8489 handling a clock-lost message from it.
8491 Unref sinks when performing a query via gst_iterator_fold, as the
8492 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8494 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8495 (gst_clock_set_master):
8496 Drop our reference to the master clock, if any, when we are disposed.
8498 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8499 Chain up in dispose.
8501 2006-01-26 Wim Taymans <wim@fluendo.com>
8503 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8506 2006-01-26 Julien MOUTTE <julien@moutte.net>
8508 * plugins/elements/gsttee.c: (gst_tee_do_push),
8509 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8510 handles pad being NOT_LINKED or in WRONG_STATE.
8512 2006-01-26 Stefan Kost <ensonic@users.sf.net>
8517 2006-01-26 Stefan Kost <ensonic@users.sf.net>
8520 remove obsolete entry
8522 2006-01-26 Stefan Kost <ensonic@users.sf.net>
8524 * docs/gst/gstreamer-sections.txt:
8525 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8526 (gst_bin_iterate_sources), (gst_bin_send_event):
8528 * gst/gstelement.c: (gst_element_send_event):
8530 * gst/gstpad.c: (gst_pad_send_event):
8531 added code for downstream events, reviewed docs in gstevent.c
8533 2006-01-25 Julien MOUTTE <julien@moutte.net>
8535 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8536 We only query position using the clock in the playing state.
8537 Query peer in the other cases.
8538 * win32/common/config.h: Updates.
8540 2006-01-24 Wim Taymans <wim@fluendo.com>
8542 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8543 A clock entry that is scheduled for the exact time of the
8544 clock is still in time.
8546 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8547 (gst_base_sink_do_sync):
8548 Add some more debug info.
8550 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
8553 Add new vs7 project files and solution.
8555 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
8558 all files removed as they were out-dated.
8560 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
8562 * docs/random/release:
8564 * gst/gstbin.c: (gst_bin_init):
8565 * gst/gstbus.c: (gst_bus_new):
8567 * gst/gstpipeline.c: (gst_pipeline_init):
8568 use gst_bus_new(), improve logging, fix docs
8569 * win32/common/config.h:
8570 update for cvs build
8572 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
8575 up required version of automake to 1.7
8577 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
8579 * win32/common/libgstreamer.def:
8580 export gst_buffer_is_metadata_writable
8582 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
8584 * docs/gst/gstreamer-sections.txt:
8586 Add gst_event_replace() (#327001)
8588 2006-01-20 Wim Taymans <wim@fluendo.com>
8590 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8591 Make it actually compile too..
8593 2006-01-20 Wim Taymans <wim@fluendo.com>
8596 Clarify behaviour of _is_equal() when passing NULL parameters.
8598 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8600 Cleanups. Don't unref NULL caps.
8601 When setting the same caps, protect caps of the pad with
8603 Use full functionality of _is_equal() when comparing caps.
8605 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
8607 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8608 Don't loop infinitely if there are no buffers to present. Partially
8609 fixes #327197, but collectpads is just broken for reusing elements
8610 to do multiple encodes atm.
8612 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
8614 * tools/gst-inspect.c: (print_element_features):
8615 * tools/gst-xmlinspect.c: (main):
8616 URL_HANDLER is not a plugin feature we can search for in
8619 2006-01-19 Edward Hervey <edward@fluendo.com>
8621 * gst/gstelement.c: (gst_element_pads_activate):
8622 When activating, do src pads first, then sink pads.
8623 When de-activating, do sink pads first, then src pads.
8625 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8627 * docs/gst/gstreamer-sections.txt:
8628 Add gst_index_add_associationv to the docs
8630 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8635 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
8636 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
8637 Do some refactoring. Doesn't actually change functionality,
8638 but makes landing the DRAIN event easier later.
8640 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
8642 * docs/pwg/advanced-scheduling.xml:
8643 Update from 0.9.x to 0.10 API and make example a bit
8646 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8648 * docs/gst/gstreamer-sections.txt:
8649 Add gst_buffer_(is|make)_metadata_writable methods.
8651 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
8653 * docs/design/part-sparsestreams.txt:
8654 Update sparse streams doc, hopefully for greater clarity
8656 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
8658 * docs/design/part-events.txt:
8659 Remove mention of FILLER events.
8662 * docs/design/part-sparsestreams.txt:
8663 Write some things about using NEWSEGMENT to keep sparse streams
8666 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
8668 * gst/gstbin.c: (gst_bin_dispose):
8669 Guard gst_object_unref call against a NULL object (dispose
8670 can theoretically be called multiple times).
8672 2006-01-18 Wim Taymans <wim@fluendo.com>
8674 * gst/gstbin.c: (gst_bin_element_set_state):
8675 * gst/gstclock.c: (gst_clock_id_wait):
8676 Added some more debug info.
8678 * libs/gst/base/gstadapter.c:
8681 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8682 (gst_base_sink_do_sync), (gst_base_sink_chain):
8683 Added some comments.
8685 2006-01-18 Wim Taymans <wim@fluendo.com>
8687 * tests/check/Makefile.am:
8688 * tests/check/elements/fakesink.c: (chain_async_buffer),
8689 (chain_async), (chain_async_return), (GST_START_TEST),
8690 (fakesink_suite), (main):
8691 Added fakesink test that checks prerolling and clipping
8694 * tests/check/gst/gstutils.c: (GST_START_TEST):
8695 Make check run faster so that buildbots don't timeout.
8697 2006-01-18 Wim Taymans <wim@fluendo.com>
8699 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8700 (gst_base_sink_do_sync):
8702 When the sink finishes blocking on the preroll buffer, it can
8703 immediatly render it instead of rendering when the next buffer
8706 2006-01-18 Wim Taymans <wim@fluendo.com>
8708 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
8709 (gst_base_sink_get_property), (gst_base_sink_do_sync),
8710 (gst_base_sink_chain):
8712 GST_ELEMENT_CLOCK and sync are protected with LOCK.
8713 Don't store _last_stop if the buffer is dropped.
8715 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
8717 * plugins/elements/gsttypefindelement.c:
8718 (gst_type_find_element_class_init):
8719 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
8720 object method handler that sets the caps on the pad and we want
8721 that to happen before we emit the signal (fixes e.g. feeding a
8722 plain text file to decodebin).
8724 2006-01-18 Christian Schaller <Christian@fluendo.com>
8726 * gst/gstplugin.c: Add MPL and Proprietary as license options
8728 2006-01-18 Andy Wingo <wingo@pobox.com>
8730 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
8731 symbol was exported before, it appears this was just an oversight.
8733 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
8735 * gst/gstindex.c (gst_index_add_associationv): Changed int in
8736 prototype to gint. OK since this prototype was not in the header.
8738 2006-01-17 Andy Wingo <wingo@pobox.com>
8740 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
8741 registry while we remove plugins.
8743 * tools/gst-inspect.c (print_element_info): Don't unref the
8744 factory arg, that should be the responsibility of whatever code
8745 received the ref. Fixes a double-free when called from
8746 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
8747 (main): Unref the factory if we have one.
8748 (print_element_list): No change -- relies on the
8749 plugin_feature_list_free to free the list of features.
8751 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
8753 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8754 (gst_buffer_make_metadata_writable):
8756 * libs/gst/base/gstbasetransform.c:
8757 (gst_base_transform_prepare_output_buf):
8758 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8759 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8760 Replace gst_buffer_(make|is)_metadata_writable patch now
8761 that the release is out.
8763 2006-01-17 Andy Wingo <wingo@pobox.com>
8765 * gst/gstregistry.c: Reflow design comment. Update so as to speak
8766 in the present tense without reference to versions.
8768 * gst/gstregistry.c (gst_registry_add_plugin)
8769 (gst_registry_remove_plugin, gst_registry_remove_feature)
8770 (gst_registry_find_feature, gst_registry_get_feature_list)
8771 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
8772 (gst_registry_lookup, gst_registry_scan_path)
8773 (_gst_registry_remove_cache_plugins)
8774 (gst_registry_get_feature_list_by_plugin): Add argument
8777 === release 0.10.2 ===
8779 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
8782 releasing 0.10.2, "If man is five"
8784 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
8788 * libs/gst/base/gstbasetransform.c:
8789 (gst_base_transform_prepare_output_buf):
8790 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8791 * tests/check/gst/gstbuffer.c: (gst_test_suite):
8792 Back out patch until after the release.
8794 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
8796 * gst/gstminiobject.c:
8797 Spelling fix in docs.
8798 * ChangeLog - remove conflict indicator
8800 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
8802 Reviewed By: Andy Wingo
8804 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
8805 (gst_buffer_make_metadata_writable):
8807 Add gst_buffer_(is|make)_metadata_writable as analogues of
8808 gst_buffer_(is|make)_writable.
8810 * libs/gst/base/gstbasetransform.c:
8811 (gst_base_transform_prepare_output_buf):
8812 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8813 Use name gst_buffer_(is|make)_metadata_writable functions.
8815 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8816 Test gst_buffer_(is|make)_metadata_writable
8820 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
8822 * docs/manual/Makefile.am:
8823 don't do parallel make
8826 * win32/common/config.h.in:
8827 add generations for HOST_CPU and GST_MAJORMINOR
8828 * win32/common/config.h:
8829 commit generated result
8831 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
8833 * docs/manual/appendix-integration.xml:
8834 Update GNOME integration section to use gst_init_get_option_group()
8835 instead of the old popt stuff (#322911). Also, GNOME applications
8836 should now use gconf*sink and gconf*src instead of the old gconf
8839 2006-01-13 Stefan Kost <ensonic@users.sf.net>
8842 * docs/gst/gstreamer-docs.sgml:
8843 * docs/gst/gstreamer-sections.txt:
8844 * docs/libs/gstreamer-libs-sections.txt:
8845 add new API entries to the docs
8846 * libs/gst/controller/Makefile.am:
8847 * libs/gst/controller/gstcontroller.c:
8848 * libs/gst/controller/gstcontroller.h:
8849 * libs/gst/controller/gstcontrollerprivate.h:
8850 * libs/gst/controller/gsthelper.c:
8851 * libs/gst/controller/gstinterpolation.c:
8852 move private structs to private header
8854 gstreamer-0.7 -> gstreamer-0.10
8855 * tests/check/libs/struct_i386.h:
8856 remove private structs
8858 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
8860 * plugins/indexers/Makefile.am:
8861 Fixes as part of #317048
8863 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
8865 * plugins/indexers/Makefile.am:
8866 fix #316086 - compilation when mmap is missing
8868 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
8870 * libs/gst/base/gstbasesink.c:
8871 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
8872 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
8873 * win32/common/config.h:
8874 added some defines GST_MAJORMINOR and HOST_CPU
8875 * win32/common/libgstbase.def:
8876 * win32/common/libgstreamer.def:
8877 added some exported functions.
8879 2006-01-12 Stefan Kost <ensonic@users.sf.net>
8881 * libs/gst/controller/gstcontroller.c:
8882 (gst_controlled_property_set_interpolation_mode),
8883 (gst_controlled_property_new):
8884 * libs/gst/controller/gstcontroller.h:
8885 * libs/gst/controller/gstinterpolation.c:
8886 (interpolate_none_get_string_value_array):
8887 make G_TYPE_STRING controlable
8889 2006-01-12 Stefan Kost <ensonic@users.sf.net>
8892 * tools/gst-feedback.1.in:
8893 * tools/gst-inspect.1.in:
8894 * tools/gst-launch.1.in:
8895 * tools/gst-md5sum.1.in:
8896 * tools/gst-typefind.1.in:
8897 * tools/gst-xmlinspect.1.in:
8898 * tools/gst-xmllaunch.1.in:
8899 cleanup man-pages, remove reference to gst-register, document env-vars
8901 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
8903 * gst/gstbuffer.c: (gst_buffer_span):
8904 gst_buffer_span should copy the timestamp of the first buffer
8905 if they were both originally overlapping subbuffers of the
8906 same parent, using the same logic as the 'slow copy' case.
8908 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
8910 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
8911 Need to awaken ALL the pads when we pop a buffer, otherwise
8912 collectpads only works when there is 2 input streams.
8914 2006-01-11 Stefan Kost <ensonic@users.sf.net>
8916 * docs/random/ensonic/media-device-daemon.txt:
8919 fix doc example, add clarification
8920 * tools/gst-launch.1.in:
8921 add initial info about GST_PLUGIN_PATH, needs more work
8923 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
8925 * docs/manual/basics-bins.xml:
8926 * docs/manual/basics-elements.xml:
8927 * docs/manual/intro-basics.xml:
8928 Some more minor docs additions and updates.
8930 2006-01-11 Wim Taymans <wim@fluendo.com>
8932 * docs/manual/basics-bins.xml:
8933 * docs/manual/basics-elements.xml:
8934 Some small fixes as pointed out by Ser-ver on IRC.
8936 2006-01-10 Edward Hervey <edward@fluendo.com>
8938 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8939 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
8940 the single-segment mode.
8942 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
8944 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
8946 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
8947 (gst_base_src_perform_seek), (gst_base_src_send_event),
8948 (gst_base_src_set_property), (gst_base_src_get_property),
8949 (gst_base_src_loop), (gst_base_src_start),
8950 (gst_base_src_activate_push):
8951 * libs/gst/base/gstbasesrc.h:
8952 Name (private) union; makes Sun's Forte compiler happy (#324900).
8954 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
8957 gst-register is gone.
8959 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
8961 * gst/gstvalue.c: (_gst_value_initialize):
8962 make the G_TYPE_DATE instantiation work if debug is disabled
8964 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
8966 * gst/gstmessage.c: (gst_message_parse_tag),
8967 (gst_message_parse_error), (gst_message_parse_warning):
8968 Don't crash when return location for error/warning debug
8969 string is NULL; add fact that return locations can be
8970 NULL to docs where appropriate.
8972 2006-01-05 Wim Taymans <wim@fluendo.com>
8974 * gst/gstplugin.c: (gst_plugin_load_file):
8975 Replace strdup by g_strdup.
8977 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
8979 * docs/pwg/advanced-types.xml:
8982 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
8984 submitted by: Abel Cheung
8988 Added Chinese (traditional) translation
8990 2006-01-04 Wim Taymans <wim@fluendo.com>
8992 * docs/manual/basics-pads.xml:
8993 * docs/plugins/Makefile.am:
8994 * docs/plugins/gstreamer-plugins-docs.sgml:
8995 * docs/plugins/gstreamer-plugins-sections.txt:
8996 * docs/pwg/advanced-clock.xml:
8997 * docs/pwg/advanced-scheduling.xml:
8998 * docs/pwg/advanced-types.xml:
8999 * plugins/elements/gstfdsink.c:
9000 * plugins/elements/gstfdsrc.c:
9001 * plugins/elements/gstfdsrc.h:
9002 * plugins/elements/gstidentity.c: (gst_identity_class_init):
9003 * plugins/elements/gstidentity.h:
9004 * plugins/elements/gstqueue.h:
9005 * plugins/elements/gsttee.c:
9006 * plugins/elements/gsttee.h:
9007 * plugins/elements/gsttypefindelement.c:
9008 (gst_type_find_element_class_init):
9009 * plugins/elements/gsttypefindelement.h:
9010 Small updates to various docs.
9011 Added core plugins to docs.
9013 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9016 add a suppression for liboil's uninitialized variable
9018 2006-01-02 James Livingston <jrl at ids dot org dot au>
9020 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9023 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
9024 macro, so that gcc doesn't complain if the -Wmissing-prototypes
9025 compiler switch is being used (#325429).
9027 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
9029 * gst/gstbin.c: (gst_bin_query):
9030 Disable duration query caching in bins until it gets
9031 fixed (see #324807).
9033 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
9035 * tools/gst-inspect.c: (print_element_properties_info):
9036 Handle properties of POINTER and BOXED type.
9038 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
9040 * gst/gst.c: (init_post):
9041 Init tags stuff and some other things before loading
9042 any static plugins (there may be other static plugins
9043 than just the GStreamer ones, and they may want to
9044 register their own tags or formats or whatever, and
9045 preferably without segfaulting).
9047 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
9048 Print at least a warning in the debug logs if we drop a
9049 query just because we don't know how to adjust the value
9050 in the particular format.
9052 2005-12-24 David Schleef <ds@schleef.org>
9054 * tools/gstreamer-completion:
9055 Replacement for gst-complete written in sh and sed. Only
9056 completes names of features, but that's 90% of what I want
9057 it for. Properties are not available in registry.xml. (Maybe
9060 === release 0.10.1 ===
9062 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
9065 releasing 0.10.1, "Nollaig chridheil"
9067 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
9070 Add missing quote, should be make ERROR_CFLAGS="".
9072 2005-12-20 Wim Taymans <wim@fluendo.com>
9074 * docs/design/part-trickmodes.txt:
9075 More documentation on trickmodes.
9077 2005-12-20 Edward Hervey <edward@fluendo.com>
9079 * gst/gstcaps.c: (gst_static_caps_get_type):
9081 API addition: GST_TYPE_STATIC_CAPS
9082 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9083 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9084 * gst/gstpadtemplate.h:
9085 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9086 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9089 2005-12-18 Wim Taymans <wim@fluendo.com>
9091 * libs/gst/base/gstadapter.c:
9092 * libs/gst/base/gstadapter.h:
9093 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9094 (gst_base_sink_get_position):
9095 * libs/gst/base/gstbasesink.h:
9096 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9097 (gst_base_src_default_query), (gst_base_src_default_do_seek),
9098 (gst_base_src_do_seek), (gst_base_src_perform_seek),
9099 (gst_base_src_send_event), (gst_base_src_update_length),
9100 (gst_base_src_get_range), (gst_base_src_loop),
9101 (gst_base_src_start):
9102 * libs/gst/base/gstbasesrc.h:
9103 * libs/gst/base/gstbasetransform.h:
9104 * libs/gst/base/gstcollectpads.h:
9105 * libs/gst/base/gstpushsrc.c:
9106 * libs/gst/base/gstpushsrc.h:
9107 * libs/gst/dataprotocol/dataprotocol.c:
9108 * libs/gst/dataprotocol/dataprotocol.h:
9109 * libs/gst/net/gstnetclientclock.h:
9110 * libs/gst/net/gstnettimeprovider.h:
9111 Documentation updates.
9113 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
9115 * docs/manual/basics-helloworld.xml:
9116 Remove superfluous closing bracket in helloworld example.
9118 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
9120 * tools/gst-launch.1.in:
9121 Update gst-launch man page; add a section with useful
9122 environment variables. Fixes #323882.
9124 2005-12-16 Stefan Kost <ensonic@users.sf.net>
9127 * gst/gst_private.h:
9128 change some char* into char[]
9130 2005-12-16 Wim Taymans <wim@fluendo.com>
9132 * gst/gstregistryxml.c: (load_feature):
9134 Don't use g_object_unref on GstObjects so that we avoid
9135 leaks on unsafe glibs.
9137 2005-12-16 Wim Taymans <wim@fluendo.com>
9139 * gst/gstbin.c: (gst_bin_recalc_state):
9142 2005-12-16 Wim Taymans <wim@fluendo.com>
9145 Added make forever target for check.
9147 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
9149 * gst/gst.c: (init_post):
9150 make the registry cache file HOST_CPU-dependent
9152 2005-12-16 Andy Wingo <wingo@pobox.com>
9154 * plugins/elements/gstbufferstore.c
9155 (gst_buffer_store_cleared_func): Pay attention to g_list_append
9158 * tests/check/gst/gstobject.c
9159 (test_fake_object_name_threaded_unique): Pay attention to
9160 g_list_sort return value.
9162 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
9164 * tools/gst-feedback-m.m:
9165 Update for 0.9/0.10 (fixes #323870).
9167 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
9169 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9170 Fix lcopy for mini objects, the mini object needs to be ref'ed.
9172 * tests/check/gst/gstminiobject.c: (my_foo_init),
9173 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9174 (test_value_collection), (gst_mini_object_suite):
9175 Add test to ensure refcounts end up as expected when passing
9176 GstMiniObjects through g_object_get() and g_object_set().
9178 2005-12-14 Julien MOUTTE <julien@moutte.net>
9180 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9181 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9182 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9183 of collectpads. This version removes a lot of races without
9184 touching API/ABI. Yay !
9186 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
9188 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9189 Don't allow activation of a srcpad in pull_range if it has no
9191 Change some debug statements to be a little clearer
9193 * plugins/elements/gsttypefindelement.c:
9194 (gst_type_find_handle_src_query):
9195 Check that we have a peer before executing queries thereupon.
9197 * tests/examples/metadata/read-metadata.c: (message_loop):
9198 Use gst_bus_pop instead of gst_bus_poll when we just want it to
9199 immediately return us any available message with 0 timeout.
9201 2005-12-12 Michael Smith <msmith@fluendo.com>
9203 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9204 Don't unref factories after calling them.
9205 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9206 * plugins/elements/gsttypefindelement.c:
9207 (gst_type_find_element_chain):
9208 Free lists of factories after using them. Fixing typefinding memory
9211 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9213 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9214 (gst_plugin_feature_load):
9215 more meaningful debug output
9217 * tests/Makefile.am:
9218 * tests/old/examples/Makefile.am:
9219 make make distcheck happy again
9221 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
9223 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9224 Catch the special case where we are operating chain-based,
9225 but the downstream peer pad has no chain function. Emit a
9226 custom error message in this case instead of letting the
9227 core generate one implying that this is some sort of core
9228 bug. It's not, it just means that whatever got plugged
9229 into the pipeline downstream when we announced the type
9230 can only operate pull-based, while our source can only
9231 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9232 Error string has not been marked for translation yet, as
9233 it probably needs some more work first.
9235 (gst_type_find_element_get_best_possibility):
9236 Add helper function to find the best of all available
9237 found possibilities that qualify given the min. threshold.
9239 (gst_type_find_element_handle_event):
9240 Fix the case where we get an EOS while still in TYPEFIND
9241 mode (we want to chose the best of all possible types,
9242 not just the first type that happens to be in our unsorted
9243 list of possible types).
9245 (gst_type_find_element_chain):
9246 Make sure we return GST_FLOW_ERROR when we errored out
9247 in stop_typefinding(); also, don't just find the best of
9248 all found type entries and then use the last examined
9249 type entry, but actually use the best entry.
9251 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
9253 * tests/examples/typefind/typefind.c: (type_found):
9254 * tests/examples/xml/runxml.c: (xml_loaded):
9255 More gcc4 fixes and a mem leak fix.
9257 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9259 * tests/examples/xml/createxml.c: (object_saved):
9262 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9264 * tests/Makefile.am:
9265 enable the examples even more
9267 2005-12-12 Andy Wingo <wingo@pobox.com>
9269 * libs/gst/net/gstnettimeprovider.c
9270 (gst_net_time_provider_class_init, gst_net_time_provider_init)
9271 (gst_net_time_provider_set_property)
9272 (gst_net_time_provider_get_property):
9273 API addition: Export "active" as a GObject property.
9274 (gst_net_time_provider_thread): Only respond to time queries if
9275 the time provider is active.
9277 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9278 NetTimeProvider, preserving binary compat.
9280 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9282 * tests/examples/controller/audio-example.c: (main):
9283 * tests/examples/launch/Makefile.am:
9284 convert comments again
9286 2005-12-12 Wim Taymans <wim@fluendo.com>
9288 * libs/gst/base/gstpushsrc.c:
9291 2005-12-12 Wim Taymans <wim@fluendo.com>
9293 * docs/libs/gstreamer-libs-sections.txt:
9294 Added new symbol to docs.
9296 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9297 (gst_base_src_init), (gst_base_src_set_format),
9298 (gst_base_src_default_query), (gst_base_src_query),
9299 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9300 (gst_base_src_perform_seek), (gst_base_src_send_event),
9301 (gst_base_src_default_event), (gst_base_src_event_handler),
9302 (gst_base_src_set_property), (gst_base_src_get_property),
9303 (gst_base_src_wait), (gst_base_src_do_sync),
9304 (gst_base_src_update_length), (gst_base_src_get_range),
9305 (gst_base_src_check_get_range), (gst_base_src_loop),
9306 (gst_base_src_default_negotiate), (gst_base_src_start),
9307 (gst_base_src_activate_push), (gst_base_src_activate_pull),
9308 (gst_base_src_change_state):
9309 * libs/gst/base/gstbasesrc.h:
9310 Implement seeking to other formats than _BYTES.
9311 Implement more seeking methods correctly.
9313 Added query vmethod.
9314 Added do_seek vmethod to make life easier for subclasses
9316 API addition: gst_base_src_set_format()
9318 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9320 * tests/examples/Makefile.am:
9323 2005-12-12 Stefan Kost <ensonic@users.sf.net>
9326 * docs/random/ensonic/media-device-daemon.txt:
9327 * tests/examples/controller/.cvsignore:
9328 * tests/examples/controller/Makefile.am:
9329 * tests/examples/controller/audio-example.c: (main):
9330 * tests/examples/helloworld/.cvsignore:
9331 * tests/examples/helloworld/Makefile.am:
9332 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9333 * tests/examples/launch/.cvsignore:
9334 * tests/examples/launch/Makefile.am:
9335 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9336 * tests/examples/metadata/.cvsignore:
9337 * tests/examples/metadata/Makefile.am:
9338 * tests/examples/metadata/read-metadata.c: (message_loop),
9339 (make_pipeline), (print_tag), (main):
9340 * tests/examples/queue/.cvsignore:
9341 * tests/examples/queue/Makefile.am:
9342 * tests/examples/queue/queue.c: (event_loop), (main):
9343 * tests/examples/typefind/.cvsignore:
9344 * tests/examples/typefind/Makefile.am:
9345 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9347 * tests/examples/xml/.cvsignore:
9348 * tests/examples/xml/Makefile.am:
9349 * tests/examples/xml/createxml.c: (object_saved), (main):
9350 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9351 * tests/old/examples/Makefile.am:
9352 * tests/old/examples/TODO:
9353 * tests/old/examples/controller/.cvsignore:
9354 * tests/old/examples/controller/Makefile.am:
9355 * tests/old/examples/controller/audio-example.c:
9356 * tests/old/examples/helloworld/.cvsignore:
9357 * tests/old/examples/helloworld/Makefile.am:
9358 * tests/old/examples/helloworld/helloworld.c:
9359 * tests/old/examples/launch/.cvsignore:
9360 * tests/old/examples/launch/Makefile.am:
9361 * tests/old/examples/launch/mp3parselaunch.c:
9362 * tests/old/examples/launch/mp3play:
9363 * tests/old/examples/manual/Makefile.am:
9364 * tests/old/examples/metadata/Makefile.am:
9365 * tests/old/examples/metadata/read-metadata.c:
9366 * tests/old/examples/queue/.cvsignore:
9367 * tests/old/examples/queue/Makefile.am:
9368 * tests/old/examples/queue/queue.c:
9369 * tests/old/examples/typefind/.cvsignore:
9370 * tests/old/examples/typefind/Makefile.am:
9371 * tests/old/examples/typefind/typefind.c:
9372 * tests/old/examples/xml/.cvsignore:
9373 * tests/old/examples/xml/Makefile.am:
9374 * tests/old/examples/xml/createxml.c:
9375 * tests/old/examples/xml/runxml.c:
9376 applied some simple fixing to some examples
9377 re-enabled the working examples
9379 2005-12-12 Wim Taymans <wim@fluendo.com>
9381 * gst/gstsegment.c: (gst_segment_init),
9382 (gst_segment_set_last_stop), (gst_segment_set_seek),
9383 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9384 (gst_segment_to_running_time):
9385 Added more documentation.
9386 Make sure the last_pos value is updated properly.
9387 Make sure to_stream_time and to_running_time don't
9388 operate on wrong values.
9390 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9393 2005-12-12 Michael Smith <msmith@fluendo.com>
9395 * plugins/elements/gsttypefindelement.c: (free_entry),
9396 (gst_type_find_element_chain):
9397 Now that we're not leaking factories, make sure we keep references
9398 to them while we need them.
9400 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
9402 * tests/check/gst/struct_i386.h:
9403 ifdef out the XML structs
9405 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
9407 * gst/gstvalue.c: (gst_value_transform_double_fraction):
9408 floor is not needed, F is always positive; this obviates the
9409 need for adding -lm when building without libxml
9411 2005-12-12 Wim Taymans <wim@fluendo.com>
9413 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9414 Take current playback rate into account when reporting
9417 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9419 * docs/manual/mime-world.fig:
9420 Let's try this again, this time with a file that is
9421 actually in XFig format.
9423 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9425 * docs/manual/mime-world.fig:
9426 Add audioconvert element to diagram so that it
9427 matches the text and the code (fixes #319526).
9429 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9431 * docs/pwg/building-chainfn.xml:
9432 * docs/pwg/building-pads.xml:
9433 * docs/pwg/building-state.xml:
9434 * docs/pwg/other-source.xml:
9435 Update state change stuff for 0.10 (fixes #322969).
9437 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9439 * docs/manual/advanced-dataaccess.xml:
9440 * docs/manual/appendix-checklist.xml:
9441 * docs/manual/appendix-programs.xml:
9442 * docs/manual/basics-pads.xml:
9443 * docs/manual/highlevel-components.xml:
9444 * docs/manual/manual.xml:
9445 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9446 add converters in front of pipelines; remove curly
9447 brackets for threads stuff, they no longer exist; use
9448 GST_TYPE_FRACTION for framerates; update some pieces of
9449 code to 0.10, but there's plenty more to do.
9451 * docs/manual/appendix-porting.xml:
9452 Expand on asynchroneous state changes; s/0.9/0.10/;
9453 mention disappearance of gst_init_get_popt_table()
9456 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
9458 * docs/faq/using.xml:
9459 Spider no longer exists, and neither does gst-launch-ext.
9460 Update examples to use decodebin and playbin and put
9461 converters in front of sinks (fixes #323726).
9463 2005-12-09 Michael Smith <msmith@fluendo.com>
9465 * plugins/elements/gsttypefindelement.c: (find_peek),
9466 (gst_type_find_element_chain):
9467 Fix leaking element factories in typefinding.
9468 Fix problem where we forgot about a probable type on non-seekable
9469 files, and thus later mis-typefound it.
9471 2005-12-09 Michael Smith <msmith@fluendo.com>
9473 * common/m4/gst-makecontext.m4:
9474 * common/m4/gst-mcsc.m4:
9476 * win32/common/config.h:
9477 * win32/common/config.h.in:
9478 Remove makecontext stuff; not used in 0.10 and causes problems on
9479 HPUX according to bug #322441
9481 2005-12-07 Wim Taymans <wim@fluendo.com>
9483 * tests/check/Makefile.am:
9484 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9486 * tests/check/libs/struct_i386.h:
9487 Added ABI check for libs
9489 2005-12-07 Wim Taymans <wim@fluendo.com>
9491 * tests/check/Makefile.am:
9492 And add the struct_i386.h to dist.
9494 2005-12-07 Wim Taymans <wim@fluendo.com>
9496 * tests/check/Makefile.am:
9497 * tests/check/gst/.cvsignore:
9498 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9500 * tests/check/gst/struct_i386.h:
9501 Added check for ABI compatibility.
9503 2005-12-07 Wim Taymans <wim@fluendo.com>
9505 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9506 (gst_fake_src_get_times), (gst_fake_src_create):
9507 Fix broken sync option, fixes #323259
9509 2005-12-07 Wim Taymans <wim@fluendo.com>
9514 * gst/gstcaps.c: (gst_caps_is_equal):
9515 Don't assert on NULL <--> X. Fixes #323260
9517 * gst/gstminiobject.c: (gst_mini_object_replace):
9518 If we're doing atomic operations, we might just as well use
9519 the proper way to get an atomic pointer.
9521 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9524 2005-12-07 Michael Smith <msmith@fluendo.com>
9526 * gst/parse/grammar.y:
9527 Remove handling of { } for threads.
9529 2005-12-06 David Schleef <ds@schleef.org>
9531 * libs/gst/base/gstbasetransform.c: speling fix.
9533 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
9535 * docs/libs/tmpl/gstdataprotocol.sgml:
9536 * docs/random/omega/testing/gstobject.c:
9540 * gst/gstelementfactory.c:
9543 * gst/gstghostpad.c:
9545 * gst/gstpadtemplate.c:
9546 * gst/gstregistryxml.c:
9548 * gst/gsttagsetter.c:
9549 * gst/gsttypefind.c:
9551 * libs/gst/base/gstbasesrc.c:
9552 * libs/gst/net/gstnetclientclock.c:
9553 * libs/gst/net/gstnettimeprovider.c:
9554 * plugins/elements/gstfakesrc.c:
9555 * plugins/elements/gstfdsrc.c:
9556 * plugins/elements/gstfilesrc.c:
9557 * plugins/elements/gstidentity.c:
9558 * plugins/elements/gstqueue.c:
9559 * plugins/elements/gsttypefindelement.c:
9560 * plugins/indexers/gstfileindex.c:
9561 * plugins/indexers/gstmemindex.c:
9562 * tests/check/gst/gsttag.c:
9563 * tests/old/examples/cutter/cutter.c:
9564 * tests/old/examples/mixer/mixer.c:
9565 * tests/old/examples/xml/runxml.c: (main):
9566 * tests/old/testsuite/caps/normalisation.c:
9567 * tests/old/testsuite/debug/global.c:
9568 * tests/old/testsuite/parse/parse1.c:
9569 * tools/gst-xmlinspect.c:
9570 * win32/common/dirent.c:
9573 === release 0.10.0 ===
9575 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9578 releasing 0.10.0, "Maroilles"
9580 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
9582 submitted by: Funda Wang <fundawang@linux.net.cn>
9586 added Chinese (Traditional) translation
9588 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
9590 * docs/gst/gstreamer-sections.txt:
9591 * docs/libs/tmpl/gstdataprotocol.sgml:
9592 * docs/random/thomasvs/TODO:
9597 2005-12-05 Andy Wingo <wingo@pobox.com>
9599 patch by: Wim Taymans <wim@fluendo.com>
9601 * libs/gst/base/gstbasetransform.c
9602 (gst_base_transform_prepare_output_buf)
9603 (gst_base_transform_buffer_alloc):
9604 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
9605 alloc_buffer_and_set_caps.
9607 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
9608 set_caps on the source pad.
9609 (gst_pad_alloc_buffer_and_set_caps): New function, does what
9610 alloc_buffer used to do. Fixes #322874.
9612 * docs/gst/gstreamer-sections.txt:
9613 * docs/design/part-negotiation.txt:
9614 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
9617 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
9619 patch by: Sebastien Moutte
9622 * win32/common/config.h.in:
9623 * win32/vs6/libgstcontroller.dsp:
9626 2005-12-05 Wim Taymans <wim@fluendo.com>
9628 * gst/gstcaps.c: (gst_caps_is_equal):
9629 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9630 (gst_fake_src_create):
9631 Back out previous code changes, leave doc updates, file bugs
9634 2005-12-05 Wim Taymans <wim@fluendo.com>
9636 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9637 (gst_fake_src_get_times), (gst_fake_src_create):
9638 * plugins/elements/gstfakesrc.h:
9639 Fix broken sync code.
9641 2005-12-05 Wim Taymans <wim@fluendo.com>
9643 * gst/gstcaps.c: (gst_caps_is_equal):
9644 Comparing NULL against !NULL yields different caps, not a
9647 2005-12-05 Wim Taymans <wim@fluendo.com>
9649 * gst/gstpipeline.c:
9650 Fix small typo in docs.
9652 2005-12-05 Andy Wingo <wingo@pobox.com>
9654 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
9656 * gst/gst.c (init_post): remove hard-coded 0.9 location for
9657 registries/plugins with a MAJORMINOR one.
9658 (plugin_desc): Rename library from gstcoreleements to
9659 staticelements. Fixes #323222.
9661 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
9663 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
9664 Change debug category to 'collectpads' from 'collect_pads'
9667 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
9669 patch by: Sebastien Moutte
9671 * libs/gst/controller/gstinterpolation.c:
9672 use convert function for uint64/double
9673 * win32/vs6/libgstcontroller.dsp:
9676 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
9678 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
9679 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
9681 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9682 add tests that seem to show that the guint64/gdouble conversions
9685 2005-12-02 Wim Taymans <wim@fluendo.com>
9687 * gst/gstregistry.c: (gst_registry_add_path):
9688 * gst/gstregistry.h:
9689 * gst/gstregistryxml.c:
9692 2005-12-02 Wim Taymans <wim@fluendo.com>
9694 * gst/gstutils.c: (gst_util_uint64_scale_int64),
9695 (gst_util_uint64_scale_int):
9698 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9701 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
9704 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
9707 * win32/common/config.h:
9708 * win32/vs6/gstreamer.dsw:
9709 * win32/vs6/libgstcoreelements.dsp:
9710 * win32/vs6/libgstelements.dsp:
9711 renamed core elements plugin
9713 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
9715 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
9717 do piece-wise major/minor comparison so 0.9 < 0.10
9718 also allow .exe extensions for tools
9720 2005-12-02 Michael Smith <msmith@fluendo.com>
9723 Escape a % to make gtkdoc happier; bug 322958.
9725 === release 0.9.7 ===
9727 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9730 releasing 0.9.7, "My Dog Has No Nose"
9732 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9734 * common/gst-xmlinspect.py:
9736 * docs/libs/tmpl/gstdataprotocol.sgml:
9737 * docs/random/release:
9756 * win32/common/config.h:
9757 * win32/common/config.h.in:
9758 * win32/vs6/gst_inspect.dsp:
9759 * win32/vs6/gst_launch.dsp:
9760 * win32/vs6/libgstbase.dsp:
9761 * win32/vs6/libgstelements.dsp:
9762 * win32/vs6/libgstreamer.dsp:
9763 * win32/vs7/GStreamer.vcproj:
9764 * win32/vs7/gst-inspect.vcproj:
9765 * win32/vs7/gst-launch.vcproj:
9766 * win32/vs7/libgstbase.vcproj:
9767 bump GST_MAJORMINOR to 0.10
9768 reset libtool version
9770 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9774 Added Bulgarian translation by (Alexander Shopov)
9776 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9778 * tests/check/gst/gstplugin.c:
9781 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9783 * common/gst-xmlinspect.py:
9784 * common/gtk-doc-plugins.mak:
9787 * docs/gst/Makefile.am:
9788 * docs/gst/gstreamer-docs.sgml:
9789 * docs/gst/gstreamer-sections.txt:
9790 * docs/gst/gstreamer.types:
9791 * docs/gst/gstreamer.types.in:
9792 * docs/plugins/Makefile.am:
9793 * docs/plugins/gstreamer-plugins-docs.sgml:
9794 * docs/plugins/gstreamer-plugins-sections.txt:
9795 * docs/plugins/gstreamer-plugins.types:
9796 * docs/plugins/inspect.stamp:
9797 * docs/plugins/inspect/plugin-coreelements.xml:
9798 * docs/plugins/inspect/plugin-coreindexers.xml:
9799 * docs/plugins/scanobj-build.stamp:
9800 * gstreamer.spec.in:
9801 * plugins/elements/Makefile.am:
9802 * plugins/elements/gstelements.c:
9803 * plugins/elements/gstfakesink.c:
9804 * plugins/elements/gstfakesrc.c:
9805 * plugins/elements/gstfilesink.c:
9806 * plugins/elements/gstfilesrc.c:
9807 * plugins/elements/gstqueue.c:
9808 * plugins/indexers/Makefile.am:
9809 * plugins/indexers/gstindexers.c:
9810 document core plugins in a separate document just like all the
9812 rename these plugins to something starting with core
9814 2005-12-01 Andy Wingo <wingo@pobox.com>
9816 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
9817 padding here before, but it missed the commit.
9819 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
9821 * libs/gst/controller/gstinterpolation.c:
9822 whitespace prices have crashed, we should feel free to use some now
9823 use gst_guint64_to_gdouble
9825 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
9827 * libs/gst/controller/gstcontroller.c:
9828 * libs/gst/controller/gsthelper.c:
9829 * libs/gst/controller/gstinterpolation.c:
9830 * libs/gst/controller/lib.c:
9831 wrap config.h include
9833 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
9835 * docs/gst/gstreamer-sections.txt:
9838 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
9840 * plugins/elements/gstelements.c:
9841 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
9842 (gst_fd_sink__class_init), (gst_fd_sink__init),
9843 (gst_fd_sink__chain), (gst_fd_sink__set_property),
9844 (gst_fd_sink__get_property):
9845 * plugins/elements/gstfdsink.h:
9846 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
9847 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
9848 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
9849 (gst_fd_src_unlock), (gst_fd_src_set_property),
9850 (gst_fd_src_get_property), (gst_fd_src_create),
9851 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
9852 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
9853 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
9854 (gst_fd_src_uri_handler_init):
9855 * plugins/elements/gstfdsrc.h:
9856 * plugins/elements/gstqueue.c: (gst_queue_get_type):
9859 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
9861 * docs/gst/Makefile.am:
9862 * docs/gst/gstreamer.types.in:
9866 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9872 * gst/gstregistry.h:
9873 * tests/benchmarks/complexity.c:
9874 * tests/benchmarks/mass-elements.c:
9875 * tests/check/Makefile.am:
9876 * tools/Makefile.am:
9877 * tools/gst-inspect.c:
9878 * tools/gst-xmlinspect.c:
9879 various fixes to make
9880 --disable-nls --disable-registry --disable-loadsave
9881 --disable-parse --disable-gst-debug
9882 work and get the core .so down to 360444 bytes after stripping
9884 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9889 * docs/random/thomasvs/TODO:
9890 * tests/Makefile.am:
9894 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9896 * win32/GStreamer.vcproj:
9899 * win32/Makefile.inspect:
9900 * win32/Makefile.launch:
9901 * win32/Makefile.register:
9903 * win32/gst-inspect.vcproj:
9904 * win32/gst-launch.vcproj:
9905 * win32/gst-register.vcproj:
9906 * win32/gstelements.vcproj:
9907 * win32/gstgetbits.def:
9908 * win32/gstgetbits.vcproj:
9909 * win32/gstreamer-dbg.def:
9910 * win32/gstreamer.def:
9911 * win32/libgstbase.def:
9912 * win32/libgstbase.vcproj:
9913 * win32/link_oldruntime.c:
9918 move even more stuff, win32/ is nice and clean now
9920 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9922 * libs/gst/control/.cvsignore:
9927 * win32/gstbytestream.def:
9928 * win32/gstbytestream.vcproj:
9929 * win32/gstconfig.h:
9930 * win32/gstenumtypes.c:
9931 * win32/gstenumtypes.h:
9932 * win32/gstoptimalscheduler.vcproj:
9933 * win32/gstversion.h:
9935 * win32/testsuite/bins.vcproj:
9936 * win32/testsuite/bytestream.vcproj:
9937 * win32/testsuite/caps.vcproj:
9938 * win32/testsuite/cleanup.vcproj:
9939 * win32/testsuite/clock.vcproj:
9940 * win32/testsuite/debug.vcproj:
9941 * win32/testsuite/dlopen.vcproj:
9942 * win32/testsuite/dynparams.vcproj:
9943 * win32/testsuite/elements.vcproj:
9944 * win32/testsuite/ghostpads.vcproj:
9945 * win32/testsuite/indexers.vcproj:
9946 * win32/testsuite/negotiation.vcproj:
9947 * win32/testsuite/parse.vcproj:
9948 * win32/testsuite/plugin.vcproj:
9949 * win32/testsuite/refcounting.vcproj:
9950 * win32/testsuite/schedulers.vcproj:
9951 * win32/testsuite/states.vcproj:
9952 * win32/testsuite/tags.vcproj:
9953 * win32/testsuite/threads.vcproj:
9954 remove old win32 stuff that isn't maintained and should be
9957 2005-11-30 Andy Wingo <wingo@pobox.com>
9959 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
9960 loading the gst.interfaces python module bork.
9962 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
9963 available since GLib 2.2. Fixes #318031.
9965 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
9969 * check/Makefile.am:
9970 * check/elements/.cvsignore:
9971 * check/elements/fakesrc.c:
9972 * check/elements/fdsrc.c:
9973 * check/elements/identity.c:
9974 * check/generic/.cvsignore:
9975 * check/generic/states.c:
9976 * check/gst-libs/.cvsignore:
9977 * check/gst-libs/controller.c:
9978 * check/gst-libs/gdp.c:
9979 * check/gst/.cvsignore:
9980 * check/gst/capslist.h:
9982 * check/gst/gstbin.c:
9983 * check/gst/gstbuffer.c:
9984 * check/gst/gstbus.c:
9985 * check/gst/gstcaps.c:
9986 * check/gst/gstelement.c:
9987 * check/gst/gstevent.c:
9988 * check/gst/gstghostpad.c:
9989 * check/gst/gstiterator.c:
9990 * check/gst/gstmessage.c:
9991 * check/gst/gstminiobject.c:
9992 * check/gst/gstobject.c:
9993 * check/gst/gstpad.c:
9994 * check/gst/gstpipeline.c:
9995 * check/gst/gstplugin.c:
9996 * check/gst/gstsegment.c:
9997 * check/gst/gststructure.c:
9998 * check/gst/gstsystemclock.c:
9999 * check/gst/gsttag.c:
10000 * check/gst/gstutils.c:
10001 * check/gst/gstvalue.c:
10002 * check/net/.cvsignore:
10003 * check/net/gstnetclientclock.c:
10004 * check/net/gstnettimeprovider.c:
10005 * check/pipelines/.cvsignore:
10006 * check/pipelines/cleanup.c:
10007 * check/pipelines/simple_launch_lines.c:
10008 * check/pipelines/stress.c:
10009 * check/states/.cvsignore:
10010 * check/states/sinks.c:
10012 * examples/Makefile.am:
10013 * examples/appreader/.cvsignore:
10014 * examples/appreader/Makefile.am:
10015 * examples/appreader/appreader.c:
10016 * examples/controller/.cvsignore:
10017 * examples/controller/Makefile.am:
10018 * examples/controller/audio-example.c:
10019 * examples/cutter/.cvsignore:
10020 * examples/cutter/Makefile.am:
10021 * examples/cutter/cutter.c:
10022 * examples/cutter/cutter.h:
10023 * examples/events/Makefile.am:
10024 * examples/events/seek.c:
10025 * examples/helloworld/.cvsignore:
10026 * examples/helloworld/Makefile.am:
10027 * examples/helloworld/helloworld.c:
10028 * examples/helloworld2/.cvsignore:
10029 * examples/helloworld2/Makefile.am:
10030 * examples/helloworld2/helloworld2.c:
10031 * examples/launch/.cvsignore:
10032 * examples/launch/Makefile.am:
10033 * examples/launch/mp3parselaunch.c:
10034 * examples/launch/mp3play:
10035 * examples/manual/.cvsignore:
10036 * examples/manual/Makefile.am:
10037 * examples/manual/extract.pl:
10038 * examples/metadata/Makefile.am:
10039 * examples/metadata/read-metadata.c:
10040 * examples/mixer/.cvsignore:
10041 * examples/mixer/Makefile.am:
10042 * examples/mixer/mixer.c:
10043 * examples/mixer/mixer.h:
10044 * examples/pingpong/.cvsignore:
10045 * examples/pingpong/Makefile.am:
10046 * examples/pingpong/pingpong.c:
10047 * examples/plugins/.cvsignore:
10048 * examples/plugins/Makefile.am:
10049 * examples/plugins/example.c:
10050 * examples/plugins/example.h:
10051 * examples/pwg/.cvsignore:
10052 * examples/pwg/Makefile.am:
10053 * examples/pwg/extract.pl:
10054 * examples/queue/.cvsignore:
10055 * examples/queue/Makefile.am:
10056 * examples/queue/queue.c:
10057 * examples/queue2/.cvsignore:
10058 * examples/queue2/Makefile.am:
10059 * examples/queue2/queue2.c:
10060 * examples/queue3/.cvsignore:
10061 * examples/queue3/Makefile.am:
10062 * examples/queue3/queue3.c:
10063 * examples/queue4/.cvsignore:
10064 * examples/queue4/Makefile.am:
10065 * examples/queue4/queue4.c:
10066 * examples/retag/.cvsignore:
10067 * examples/retag/Makefile.am:
10068 * examples/retag/retag.c:
10069 * examples/retag/transcode.c:
10070 * examples/thread/.cvsignore:
10071 * examples/thread/Makefile.am:
10072 * examples/thread/thread.c:
10073 * examples/typefind/.cvsignore:
10074 * examples/typefind/Makefile.am:
10075 * examples/typefind/typefind.c:
10076 * examples/xml/.cvsignore:
10077 * examples/xml/Makefile.am:
10078 * examples/xml/createxml.c:
10079 * examples/xml/runxml.c:
10080 * tests/Makefile.am:
10081 * tests/check/Makefile.am:
10082 * testsuite/.cvsignore:
10083 * testsuite/Makefile.am:
10085 * testsuite/caps/.cvsignore:
10086 * testsuite/caps/Makefile.am:
10087 * testsuite/caps/app_fixate.c:
10088 * testsuite/caps/audioscale.c:
10089 * testsuite/caps/caps.c:
10090 * testsuite/caps/caps.h:
10091 * testsuite/caps/caps_strings:
10092 * testsuite/caps/compatibility.c:
10093 * testsuite/caps/deserialize.c:
10094 * testsuite/caps/enumcaps.c:
10095 * testsuite/caps/eratosthenes.c:
10096 * testsuite/caps/filtercaps.c:
10097 * testsuite/caps/fixed.c:
10098 * testsuite/caps/fraction-convert.c:
10099 * testsuite/caps/fraction-multiply-and-zero.c:
10100 * testsuite/caps/intersect2.c:
10101 * testsuite/caps/intersection.c:
10102 * testsuite/caps/normalisation.c:
10103 * testsuite/caps/random.c:
10104 * testsuite/caps/renegotiate.c:
10105 * testsuite/caps/sets.c:
10106 * testsuite/caps/simplify.c:
10107 * testsuite/caps/string-conversions.c:
10108 * testsuite/caps/structure.c:
10109 * testsuite/caps/subtract.c:
10110 * testsuite/caps/union.c:
10111 * testsuite/debug/.cvsignore:
10112 * testsuite/debug/Makefile.am:
10113 * testsuite/debug/category.c:
10114 * testsuite/debug/commandline.c:
10115 * testsuite/debug/global.c:
10116 * testsuite/debug/output.c:
10117 * testsuite/debug/printf_extension.c:
10118 * testsuite/dlopen/.cvsignore:
10119 * testsuite/dlopen/Makefile.am:
10120 * testsuite/dlopen/dlopen_gst.c:
10121 * testsuite/dlopen/loadgst.c:
10122 * testsuite/elements/.cvsignore:
10123 * testsuite/elements/Makefile.am:
10124 * testsuite/elements/gst-inspect-check.in:
10125 * testsuite/elements/struct_i386.h:
10126 * testsuite/elements/struct_size.c:
10127 * testsuite/indexers/.cvsignore:
10128 * testsuite/indexers/Makefile.am:
10129 * testsuite/indexers/cache1.c:
10130 * testsuite/indexers/indexdump.c:
10131 * testsuite/parse/.cvsignore:
10132 * testsuite/parse/Makefile.am:
10133 * testsuite/parse/parse1.c:
10134 * testsuite/parse/parse2.c:
10135 * testsuite/plugin/.cvsignore:
10136 * testsuite/plugin/Makefile.am:
10137 * testsuite/plugin/README:
10138 * testsuite/plugin/dynamic.c:
10139 * testsuite/plugin/linked.c:
10140 * testsuite/plugin/loading.c:
10141 * testsuite/plugin/registry.c:
10142 * testsuite/plugin/static.c:
10143 * testsuite/plugin/static2.c:
10144 * testsuite/plugin/testplugin.c:
10145 * testsuite/plugin/testplugin2.c:
10146 * testsuite/plugin/testplugin2_s.c:
10147 * testsuite/plugin/testplugin_s.c:
10148 * testsuite/refcounting/.cvsignore:
10149 * testsuite/refcounting/Makefile.am:
10150 * testsuite/refcounting/bin.c:
10151 * testsuite/refcounting/element.c:
10152 * testsuite/refcounting/element_pad.c:
10153 * testsuite/refcounting/mainloop.c:
10154 * testsuite/refcounting/mem.c:
10155 * testsuite/refcounting/mem.h:
10156 * testsuite/refcounting/object.c:
10157 * testsuite/refcounting/pad.c:
10158 * testsuite/refcounting/sched.c:
10159 * testsuite/refcounting/thread.c:
10160 * testsuite/states/.cvsignore:
10161 * testsuite/states/Makefile.am:
10162 * testsuite/states/bin.c:
10163 * testsuite/states/locked.c:
10164 * testsuite/states/parent.c:
10165 * testsuite/threads/.cvsignore:
10166 * testsuite/threads/159566.c:
10167 * testsuite/threads/159852.c:
10168 * testsuite/threads/Makefile.am:
10169 * testsuite/threads/queue.c:
10170 * testsuite/threads/signals.c:
10171 * testsuite/threads/staticrec.c:
10172 * testsuite/threads/thread.c:
10173 * testsuite/threads/threadb.c:
10174 * testsuite/threads/threadc.c:
10175 * testsuite/threads/threadd.c:
10176 * testsuite/threads/threade.c:
10177 * testsuite/threads/threadf.c:
10178 * testsuite/threads/threadg.c:
10179 * testsuite/threads/threadh.c:
10180 * testsuite/threads/threadi.c:
10181 move all of these under tests
10183 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10186 * tests/Makefile.am:
10189 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10191 * docs/gst/gstreamer-sections.txt:
10192 * tests/sched/.cvsignore:
10193 * tests/sched/Makefile.am:
10194 * tests/sched/cases/(fs-fs).xml:
10195 * tests/sched/cases/(fs-i-fs).xml:
10196 * tests/sched/cases/(fs-i-i-fs).xml:
10197 * tests/sched/cases/(fs-i-q[i-fs]).xml:
10198 * tests/sched/dynamic-pipeline.c:
10199 * tests/sched/interrupt1.c:
10200 * tests/sched/interrupt2.c:
10201 * tests/sched/interrupt3.c:
10202 * tests/sched/runtestcases:
10203 * tests/sched/runxml.c:
10204 * tests/sched/sched-stress.c:
10205 * tests/sched/sort.c:
10206 * tests/sched/testcases:
10207 * tests/sched/testcases1.tc:
10208 * tests/seeking/.cvsignore:
10209 * tests/seeking/Makefile.am:
10210 * tests/seeking/seeking1.c:
10211 * tests/threadstate/.cvsignore:
10212 * tests/threadstate/Makefile.am:
10213 * tests/threadstate/test1.c:
10214 * tests/threadstate/test2.c:
10215 * tests/threadstate/threadstate1.c:
10216 * tests/threadstate/threadstate2.c:
10217 * tests/threadstate/threadstate3.c:
10218 * tests/threadstate/threadstate4.c:
10219 * tests/threadstate/threadstate5.c:
10220 remove obsolete tests
10222 * tests/bench-complexity.scm:
10223 * tests/bench-mass_elements.scm:
10224 * tests/complexity.c:
10225 * tests/complexity.gnuplot:
10226 * tests/instantiate/.cvsignore:
10227 * tests/instantiate/Makefile.am:
10228 * tests/instantiate/caps.c:
10229 * tests/mass_elements.c:
10230 * tests/network-clock-utils.scm:
10231 * tests/network-clock.scm:
10233 First pass at cleaning up tests/ dir before moving the rest
10234 Combined with CVS surgery
10236 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10239 queue has moved, update
10241 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10243 * docs/gst/gstreamer-sections.txt:
10244 remove double entries from the docs
10245 * gst/gst_private.h:
10246 * gst/gstinfo.c: (_gst_debug_init):
10247 remove the THREAD debug category
10251 * docs/gst/gstreamer.types:
10252 * plugins/elements/gstqueue.c: (gst_queue_get_type),
10253 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10254 completely move queue and fix up debugging categories
10256 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10258 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10259 make initialization portable, using LL is not
10261 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10263 * win32/common/gstconfig.h:
10266 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10268 * win32/common/libgstreamer.def:
10269 rename symbols; sort base section
10271 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10273 * gst/gstclock.c: (do_linear_regression):
10274 remove crack non-portable handrolled DEBUG macro
10276 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10278 * docs/random/release:
10280 * win32/common/gstenumtypes.c: (register_gst_object_flags),
10281 (gst_object_flags_get_type), (register_gst_bin_flags),
10282 (gst_bin_flags_get_type), (register_gst_buffer_flag),
10283 (gst_buffer_flag_get_type), (register_gst_bus_flags),
10284 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10285 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10286 (gst_caps_flags_get_type), (register_gst_clock_return),
10287 (gst_clock_return_get_type), (register_gst_clock_entry_type),
10288 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10289 (gst_clock_flags_get_type), (register_gst_state),
10290 (gst_state_get_type), (register_gst_state_change_return),
10291 (gst_state_change_return_get_type), (register_gst_state_change),
10292 (gst_state_change_get_type), (register_gst_element_flags),
10293 (gst_element_flags_get_type), (register_gst_core_error),
10294 (gst_core_error_get_type), (register_gst_library_error),
10295 (gst_library_error_get_type), (register_gst_resource_error),
10296 (gst_resource_error_get_type), (register_gst_stream_error),
10297 (gst_stream_error_get_type), (register_gst_event_type_flags),
10298 (gst_event_type_flags_get_type), (register_gst_event_type),
10299 (gst_event_type_get_type), (register_gst_seek_type),
10300 (gst_seek_type_get_type), (register_gst_seek_flags),
10301 (gst_seek_flags_get_type), (register_gst_format),
10302 (gst_format_get_type), (register_gst_index_certainty),
10303 (gst_index_certainty_get_type), (register_gst_index_entry_type),
10304 (gst_index_entry_type_get_type),
10305 (register_gst_index_lookup_method),
10306 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10307 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10308 (gst_index_resolver_method_get_type), (register_gst_index_flags),
10309 (gst_index_flags_get_type), (register_gst_debug_level),
10310 (gst_debug_level_get_type), (register_gst_debug_color_flags),
10311 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10312 (gst_iterator_result_get_type), (register_gst_iterator_item),
10313 (gst_iterator_item_get_type), (register_gst_message_type),
10314 (gst_message_type_get_type), (register_gst_mini_object_flags),
10315 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10316 (gst_pad_link_return_get_type), (register_gst_flow_return),
10317 (gst_flow_return_get_type), (register_gst_activate_mode),
10318 (gst_activate_mode_get_type), (register_gst_pad_direction),
10319 (gst_pad_direction_get_type), (register_gst_pad_flags),
10320 (gst_pad_flags_get_type), (register_gst_pad_presence),
10321 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10322 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10323 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10324 (gst_plugin_error_get_type), (register_gst_plugin_flags),
10325 (gst_plugin_flags_get_type), (register_gst_rank),
10326 (gst_rank_get_type), (register_gst_query_type),
10327 (gst_query_type_get_type), (register_gst_tag_merge_mode),
10328 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10329 (gst_tag_flag_get_type), (register_gst_task_state),
10330 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10331 (gst_alloc_trace_flags_get_type),
10332 (register_gst_type_find_probability),
10333 (gst_type_find_probability_get_type), (register_gst_uri_type),
10334 (gst_uri_type_get_type), (register_gst_parse_error),
10335 (gst_parse_error_get_type):
10336 * win32/common/gstenumtypes.h:
10337 * win32/common/gstversion.h:
10338 update visual studio generated files
10340 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10342 * win32/vs6/libgstbase.dsp:
10343 * win32/vs6/libgstelements.dsp:
10344 update project files for new locations
10346 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
10351 reinstate and update
10356 * docs/random/LICENSE:
10359 2005-11-30 Edward Hervey <edward@fluendo.com>
10361 * gst/gsttypefind.c: (gst_type_find_register):
10362 * gst/gsttypefind.h:
10363 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10364 (gst_type_find_factory_dispose):
10365 * gst/gsttypefindfactory.h:
10366 Fix memory leak in GstTypeFindFactory.
10368 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10371 * plugins/elements/Makefile.am:
10372 * plugins/elements/gstelements.c:
10373 * plugins/elements/gstqueue.c:
10374 move queue from core to the elements plugin
10376 2005-11-29 Andy Wingo <wingo@pobox.com>
10378 * libs/gst/base/gstbasetransform.h:
10379 * libs/gst/base/gstbasesrc.h:
10380 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10382 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10383 of pointers by which to pad very extensible base classes (like the
10384 ones in libs/gst/base).
10386 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10388 * docs/gst/gstreamer-docs.sgml:
10389 * docs/gst/gstreamer-sections.txt:
10390 * docs/libs/gstreamer-libs-docs.sgml:
10391 * docs/libs/gstreamer-libs-sections.txt:
10392 moving documentation from core to lib
10394 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10396 * check/Makefile.am:
10398 * docs/gst/Makefile.am:
10400 * gst/base/.cvsignore:
10401 * gst/base/Makefile.am:
10403 * gst/base/gstadapter.c:
10404 * gst/base/gstadapter.h:
10405 * gst/base/gstbasesink.c:
10406 * gst/base/gstbasesink.h:
10407 * gst/base/gstbasesrc.c:
10408 * gst/base/gstbasesrc.h:
10409 * gst/base/gstbasetransform.c:
10410 * gst/base/gstbasetransform.h:
10411 * gst/base/gstcollectpads.c:
10412 * gst/base/gstcollectpads.h:
10413 * gst/base/gstpushsrc.c:
10414 * gst/base/gstpushsrc.h:
10415 * gst/base/gsttypefindhelper.c:
10416 * gst/base/gsttypefindhelper.h:
10417 * gst/check/Makefile.am:
10418 * gst/check/gstcheck.c:
10419 * gst/check/gstcheck.h:
10420 * gst/net/Makefile.am:
10421 * gst/net/gstnet.h:
10422 * gst/net/gstnetclientclock.c:
10423 * gst/net/gstnetclientclock.h:
10424 * gst/net/gstnettimepacket.c:
10425 * gst/net/gstnettimepacket.h:
10426 * gst/net/gstnettimeprovider.c:
10427 * gst/net/gstnettimeprovider.h:
10428 * libs/gst/Makefile.am:
10429 * libs/gst/base/Makefile.am:
10430 * libs/gst/base/gstbasetransform.c:
10431 * libs/gst/check/Makefile.am:
10432 * plugins/elements/Makefile.am:
10434 CVS surgery + support to move base, check, and net out of gst
10437 2005-11-29 Andy Wingo <wingo@pobox.com>
10439 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10441 * gst/gststructure.h (struct _GstStructure): Only one pointer of
10444 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10446 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10448 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10450 * gst/gstobject.h: (struct _GstObject): Only one pointer of
10451 padding; reduces object size by about 30%. We don't expect
10452 anything else to go into gstobject.
10454 * gst/gstminiobject.h (struct _GstMiniObject)
10455 (struct _GstMiniObjectClass): Only one pointer of padding; the
10456 payload is only a pointer and two ints anyway. For the class there
10457 are only two methods as well.
10459 * gst/gstelement.h (struct _GstElementClass): Removed
10460 the state_changed signal callback, it is not used.
10462 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
10464 * docs/gst/gstreamer.types:
10465 fix includes, though they are a little dinky
10467 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10469 * check/Makefile.am:
10470 look in the right place for elements, a lot more chance of
10473 remove indexers and elements subdirs
10474 * plugins/Makefile.am:
10475 make indexers conditional
10477 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10481 * plugins/elements/Makefile.am:
10482 * plugins/elements/gstcapsfilter.c:
10483 * plugins/elements/gstfilesink.c:
10484 * plugins/elements/gstfilesrc.c:
10485 * plugins/elements/gstidentity.c:
10486 * plugins/indexers/Makefile.am:
10487 do CVS surgery and related build fixery to move elements
10488 and indexers in a new gstreamer/plugins directory, out of the
10491 2005-11-29 Andy Wingo <wingo@pobox.com>
10493 * check/Makefile.am:
10494 * pkgconfig/gstreamer-net-uninstalled.pc.in:
10495 * pkgconfig/gstreamer-net.pc.in:
10496 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10499 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
10501 * tools/Makefile.am:
10502 * tools/gst-complete.1.in:
10503 * tools/gst-complete.c:
10504 * tools/gst-compprep.1.in:
10505 * tools/gst-compprep.c:
10506 removing -compprep and -complete
10508 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
10510 * gst/gstevent.c: (gst_event_new_new_segment),
10511 (gst_event_parse_new_segment):
10513 fix #320529 - clean up new_segment API and structure.
10514 Let's hope everyone was using the methods, and not the structure.
10516 2005-11-29 Edward Hervey <edward@fluendo.com>
10518 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10519 (gst_base_sink_event), (gst_base_sink_do_sync),
10520 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10521 Properly handle non GST_FORMAT_TIME segment
10522 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10523 Properly handle non GST_FORMAT_TIME segment
10524 * gst/gstsegment.c:
10525 This function is valid if the accumulator is 0 and the format
10526 is different from the requested format.
10528 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
10530 * docs/gst/gstreamer-sections.txt:
10531 Add gst_query_new_seeking and gst_query_parse_seeking to the
10534 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
10536 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10537 Treat a pad alloc with new caps the same as if we were not
10538 negotiated, in order to allow a changing upstream output
10539 to produce a new format of data.
10541 2005-11-29 Edward Hervey <edward@fluendo.com>
10543 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10544 (gst_base_transform_event), (gst_base_transform_eventfunc):
10545 The event virtual method is now properly implemented, with a default
10547 Sub classes should call the parent_class event method. They should
10548 return FALSE if they had a problem handling the given event, or don't
10549 want GstBaseTransform to send that even downstream
10550 * gst/elements/gstidentity.c: (gst_identity_class_init),
10551 (gst_identity_init), (gst_identity_event),
10552 (gst_identity_transform_ip), (gst_identity_set_property),
10553 (gst_identity_get_property):
10554 * gst/elements/gstidentity.h:
10555 Added the single-segment boolean property.
10556 If set to TRUE, it will output a single segment of data, starting from
10557 0, will eat up all incoming newsegment, and modify the timestamp of the
10558 buffers accordingly
10560 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
10562 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
10563 Don't ref NULL target pad (#322751). Improve docs.
10565 2005-11-29 Michael Smith <msmith@fluendo.com>
10567 * gst/gstregistryxml.c: (load_plugin):
10568 Don't crash if we failed to load a feature from a plugin.
10570 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10572 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10574 use more check API and less GLib API
10576 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10579 don't run checks if we don't have check
10580 * common/check.mak:
10581 remove the registry when running make torture
10582 * docs/gst/gstreamer-sections.txt:
10583 remove second multiply
10584 * gst/gstqueue.c: (gst_queue_loop):
10585 fix a compile warning when disabling debug
10587 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
10590 Hey! Let's print the pad name if the pointer != NULL instead
10591 of when it == NULL :-)
10593 2005-11-28 Wim Taymans <wim@fluendo.com>
10595 * check/gst/gstutils.c: (GST_START_TEST):
10596 Updated check, add some scaling accuracy checking code.
10598 * gst/gstutils.c: (gst_util_div128_64),
10599 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
10600 (gst_util_uint64_scale_int):
10601 Fix 6 times faster division code. Optimize for common
10602 1/1 and less common X/1 cases.
10604 2005-11-28 Wim Taymans <wim@fluendo.com>
10606 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10609 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
10610 (do_linear_regression), (gst_clock_add_observation):
10612 Release lock when the clock cannot be slaved.
10613 Catch the case where the regression returned an invalid denominator.
10615 * gst/gstutils.c: (gst_util_div128_64_iterate),
10616 (gst_util_div128_64), (gst_util_uint64_scale_int64),
10617 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10618 Add protentially more performant non-iterative 128/64 divide function
10619 that unfortunatly does not work yet.
10620 Shortcut the trivial 0/X = 0 case.
10621 Remove the warnings on overflow.
10623 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10625 * gst/gstplugin.c: (gst_plugin_register_func):
10626 everything causing a plugin not to load should be at least a WARNING
10628 2005-11-28 Stefan Kost <ensonic@users.sf.net>
10630 * docs/random/ensonic/dparams.txt:
10631 some TODOs for the next dev cycle
10632 * libs/gst/controller/gstcontroller.c:
10633 (gst_controlled_property_set_interpolation_mode),
10634 (gst_controlled_property_new):
10635 * libs/gst/controller/gstcontroller.h:
10636 use base type to assign acccessor functions
10638 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
10640 * check/Makefile.am:
10641 Oops, that should have been top_srcdir
10643 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
10645 * check/Makefile.am:
10646 * check/elements/fdsrc.c: (GST_START_TEST):
10647 Use a cmdline define to specify the location of a file to use for
10648 testing, to avoid breaking distcheck.
10650 2005-11-28 Andy Wingo <wingo@pobox.com>
10652 * gst/gstpad.c (fixate_value): Use array functions for arrays.
10654 2005-11-28 Edward Hervey <edward@fluendo.com>
10656 * tools/gst-launch.c: (main):
10657 Clarify the output strings, makes it easier to translate.
10660 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
10663 don't try and build net if we don't even have <sys/socket.h>
10665 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
10667 * check/Makefile.am:
10668 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
10669 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
10670 Add tests for fdsrc seekability
10672 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10673 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
10674 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
10675 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
10676 * gst/elements/gstfdsrc.h:
10677 fdsrc should not be a 'live' source.
10678 Implement seeking on seekable fd's.
10680 * gst/gstquery.c: (gst_query_new_seeking),
10681 (gst_query_parse_seeking):
10683 Implement SEEKING query functions:
10684 *_new_seeking and *_parse_seeking
10686 2005-11-27 Stefan Kost <ensonic@users.sf.net>
10688 * gst/gstelement.c: (gst_element_dispose):
10691 * gst/gstiterator.c:
10692 * gst/gststructure.c:
10695 * libs/gst/controller/gstcontroller.c:
10696 (gst_controlled_property_set_interpolation_mode):
10697 * libs/gst/controller/gstcontroller.h:
10698 * libs/gst/controller/gstinterpolation.c:
10699 (interpolate_none_get_enum_value_array):
10700 support controlling enums
10702 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
10705 Improve documentation for gst_value_union().
10708 Change return value for union, intersect and subtract functions
10709 from gint to gboolean.
10711 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
10713 * gst/gstvalue.c: (gst_value_serialize_any_list),
10714 (gst_value_transform_any_list_string),
10715 (gst_value_deserialize_list), (gst_value_deserialize_array),
10716 (gst_value_set_int_range), (gst_value_deserialize_int_range),
10717 (gst_value_set_double_range), (gst_value_deserialize_double_range),
10718 (gst_value_set_fraction_range_full),
10719 (gst_value_deserialize_fraction_range),
10720 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
10721 (gst_value_deserialize_boolean),
10722 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
10723 (gst_value_serialize_float), (gst_value_deserialize_float),
10724 (gst_string_wrap), (gst_value_deserialize_string),
10725 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
10726 (gst_value_union_int_range_int_range),
10727 (gst_value_intersect_int_range_int_range),
10728 (gst_value_intersect_double_range_double_range),
10729 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10730 (gst_value_subtract_int_range_int_range),
10731 (gst_value_subtract_double_double_range),
10732 (gst_value_subtract_double_range_double_range),
10733 (gst_value_deserialize_fraction):
10735 Use gint, gdouble and gchar in our API instead of int, double and
10736 char (and make usage in gstvalue.c more consistent).
10738 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
10740 * check/Makefile.am:
10741 * libs/gst/controller/Makefile.am:
10742 * libs/gst/dataprotocol/Makefile.am:
10743 fix up Makefile.am and remove GST_ENABLE_NEW
10745 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
10749 * gst/base/Makefile.am:
10750 * gst/check/Makefile.am:
10751 * gst/elements/Makefile.am:
10752 * gst/net/Makefile.am:
10753 update LDFLAGS use some more
10755 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
10757 * common/m4/gst-doc.m4:
10760 2005-11-26 Edward Hervey <edward@fluendo.com>
10762 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10763 This shouldn't issue a g_warning since it returns NULL if it
10764 couldn't find the plugin, and all functions using this behave
10765 properly on a NULL return. Switching to a GST_WARNING.
10767 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
10769 * gst/gstbin.c: (gst_bin_handle_message_func):
10770 Don't leak clock messages.
10772 2005-11-25 Wim Taymans <wim@fluendo.com>
10774 * gst/gstutils.c: (gst_util_uint64_scale_int64),
10775 (gst_util_uint64_scale_int):
10776 Optimisations, remove unneeded vars.
10778 2005-11-25 Wim Taymans <wim@fluendo.com>
10780 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10781 Added more checks for the high precision uint64 cases.
10783 * gst/gstutils.c: (gst_util_uint64_scale_int64),
10784 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10785 Implement high precision (guint64 * guint64) / guint64.
10787 2005-11-24 Wim Taymans <wim@fluendo.com>
10789 * gst/base/gstbasesrc.c: (gst_base_src_query):
10790 Fix wrong percentage query.
10792 * gst/gstutils.c: (gst_util_uint64_scale),
10793 (gst_util_uint64_scale_int):
10794 Add some more common cases that can be handled
10795 efficiently to _scale.
10797 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
10799 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
10800 (gst_mini_object_suite):
10801 don't use check calls from threads; check probably isn't
10802 threadsafe and using a lock to make it threadsafe would
10803 defeat the purpose of this check
10804 * gst/check/gstcheck.c:
10805 * gst/check/gstcheck.h:
10806 use GST_DEBUG some more
10808 2005-11-24 Wim Taymans <wim@fluendo.com>
10810 * gst/gstutils.c: (gst_util_uint64_scale),
10811 (gst_util_uint64_scale_int):
10812 Chain trivial case to _scale_int.
10814 2005-11-24 Wim Taymans <wim@fluendo.com>
10816 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10817 Added test for scaling.
10822 * gst/gstutils.c: (gst_util_uint64_scale_int):
10823 Implemented high precision scaling code.
10825 2005-11-24 Stefan Kost <ensonic@users.sf.net>
10828 do not crash on pad==NULL
10830 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
10832 Patch by: Stefan Kost
10834 * common/gtk-doc.mak:
10835 * docs/gst/Makefile.am:
10836 * docs/libs/Makefile.am:
10837 Fix distcheck issues for the libraries docs build
10840 2005-11-24 Michael Smith <msmith@fluendo.com>
10842 * docs/manual/basics-helloworld.xml:
10843 Fix bug #315027: memory leak in example code in docs.
10845 2005-11-24 Michael Smith <msmith@fluendo.com>
10847 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10848 Unlock the PREROLL_LOCK in a failure case.
10850 2005-11-24 Wim Taymans <wim@fluendo.com>
10852 * docs/gst/gstreamer-sections.txt:
10853 * gst/base/gstadapter.h:
10854 * gst/base/gstbasesink.h:
10855 * gst/base/gstbasesrc.h:
10856 * gst/base/gstbasetransform.h:
10857 * gst/base/gstpushsrc.h:
10858 * gst/elements/gstfakesink.h:
10859 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
10860 * gst/elements/gstfakesrc.h:
10861 * gst/elements/gstfilesink.h:
10862 * gst/elements/gstfilesrc.h:
10865 * gst/gstbuffer.c: (_gst_buffer_copy):
10868 * gst/gstchildproxy.c:
10870 * gst/gstelement.c:
10871 * gst/gstelementfactory.c:
10872 * gst/gstelementfactory.h:
10874 * gst/gstghostpad.h:
10876 * gst/gstinterface.h:
10877 * gst/gstminiobject.c:
10878 * gst/gstminiobject.h:
10881 * gst/gstpadtemplate.h:
10882 * gst/gstpipeline.h:
10883 * gst/gstpluginfeature.h:
10886 * gst/gsttaglist.c:
10887 * gst/gsttaglist.h:
10888 * gst/gsttagsetter.c:
10889 * gst/gsttagsetter.h:
10892 * gst/gsttypefind.h:
10895 * gst/net/gstnetclientclock.c:
10896 * gst/net/gstnetclientclock.h:
10897 * gst/net/gstnettimepacket.c:
10898 * gst/net/gstnettimeprovider.c:
10899 * gst/net/gstnettimeprovider.h:
10902 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
10904 * configure.ac: back to HEAD
10906 === release 0.9.6 ===
10908 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
10911 releasing 0.9.6, "Always On Time"
10913 2005-11-23 Wim Taymans <wim@fluendo.com>
10915 * docs/gst/gstreamer-sections.txt:
10916 * gst/glib-compat.c:
10917 * gst/gsttagsetter.c:
10919 * gst/net/gstnetclientclock.c:
10920 * gst/net/gstnettimepacket.h:
10923 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
10925 * docs/faq/using.xml:
10926 * docs/libs/tmpl/gstcontrol.sgml:
10927 * docs/manual/advanced-dparams.xml:
10928 * docs/manual/appendix-checklist.xml:
10929 * docs/manual/basics-elements.xml:
10930 * docs/pwg/other-source.xml:
10931 * docs/random/moving-plugins:
10933 * tools/gst-launch.1.in:
10934 remove mentions of sinesrc
10936 2005-11-23 Michael Smith <msmith@fluendo.com>
10938 * docs/gst/gstreamer-sections.txt:
10939 Update for new API and API changes.
10941 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
10943 Documentation typo fix.
10944 * gst/net/gstnettimepacket.c:
10945 Documentation fixes for arguments.
10947 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
10949 * gst/gststructure.c: (gst_structure_get_fraction),
10950 (gst_structure_parse_value),
10951 (gst_structure_fixate_field_nearest_fraction):
10952 * gst/gststructure.h:
10953 * gst/gstutils.c: (gst_util_uint64_scale_int):
10955 * scripts/update-funcnames:
10957 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
10958 Make gst_structure_fixate_field_nearest_fraction take a numerator
10959 and denominator argument instead of a GValue
10960 add gst_structure_get_fraction helper function.
10962 2005-11-23 Wim Taymans <wim@fluendo.com>
10964 * docs/design/part-TODO.txt:
10967 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10968 * gst/net/gstnetclientclock.h:
10969 Use parent fields for timeout and window_size.
10971 2005-11-23 Andy Wingo <wingo@pobox.com>
10973 * check/net/gstnetclientclock.c (test_functioning): Adjust to
10974 rate_num/rate_denom change.
10976 * gst/net/gstnetclientclock.c
10977 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
10978 OBJECT_LOCK. Don't call add_observation with the lock.
10980 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
10982 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
10984 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
10985 deal with rate as a fraction whose numerator and denominator are
10986 GstClockTime values.
10987 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
10988 master; the other fields are protected by the SLAVE_LOCK.
10989 (do_linear_regression): Note that this must be called with the
10991 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
10992 OBJECT_LOCK. Call set_calibration instead of touching the
10993 variables directly.
10994 (gst_clock_set_property, gst_clock_get_property): Protect
10995 master/slave parameters with the SLAVE_LOCK.
10997 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
10998 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
10999 note that all of the instance variables that add_observation and
11000 the set_master functions use are protected by that lock and not
11002 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
11004 * gst/gstclock.c (gst_clock_add_observation): No longer requires
11005 the caller to take the object lock.
11007 2005-11-23 Wim Taymans <wim@fluendo.com>
11009 * gst/gsterror.c: (_gst_core_errors_init):
11011 Add error for clock stuff.
11013 * gst/gstpipeline.c: (gst_pipeline_change_state),
11014 (gst_pipeline_set_clock):
11015 Post clock error when clock cannot be used in a pipeline.
11017 2005-11-23 Stefan Kost <ensonic@users.sf.net>
11019 * docs/gst/gstreamer-sections.txt:
11020 make two symbols from gstinfo private for the docs
11021 * gst/base/gstcollectpads.h:
11023 fix doc typos, update docs
11025 2005-11-22 Wim Taymans <wim@fluendo.com>
11027 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11028 (gst_base_sink_wait), (gst_base_sink_do_sync),
11029 (gst_base_sink_handle_event):
11030 * gst/base/gstbasesink.h:
11031 No need to store the clock, the parent element class already
11034 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
11035 Updates for clock_set returning a gboolean
11037 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
11038 (gst_clock_id_wait_async), (gst_clock_class_init),
11039 (gst_clock_init), (gst_clock_finalize),
11040 (gst_clock_get_internal_time), (gst_clock_get_time),
11041 (gst_clock_slave_callback), (gst_clock_set_master),
11042 (gst_clock_get_master), (do_linear_regression),
11043 (gst_clock_add_observation), (gst_clock_set_property),
11044 (gst_clock_get_property):
11046 Implement master/slave. When setting a clock as a slave, a
11047 periodic timeout is scheduled to sample master and slave times.
11048 Then the slave clock is recalibrated to match offset and rate
11049 of the master clock.
11050 Update logging a bit.
11051 Add flag so that a clock can state that is cannot be slaved to
11054 * gst/gstelement.c: (gst_element_set_clock):
11055 * gst/gstelement.h:
11056 The set clock returns a gboolean for when an element cannot
11057 deal with the selected clock in the pipeline.
11059 * gst/gstpipeline.c: (gst_pipeline_change_state),
11060 (gst_pipeline_set_clock):
11061 * gst/gstpipeline.h:
11062 Handle the case where the selected clock cannot be set on
11065 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11066 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11067 (gst_net_client_clock_set_property),
11068 (gst_net_client_clock_get_property),
11069 (gst_net_client_clock_observe_times):
11070 * gst/net/gstnetclientclock.h:
11071 Use regression code in GstClock parent, remove duplicated
11074 2005-11-22 Michael Smith <msmith@fluendo.com>
11076 * gst/gstutils.c: (gst_util_clock_time_scale):
11078 * docs/gst/gstreamer-sections.txt:
11079 Rename method to have extra underscore.
11081 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
11083 * gst/elements/Makefile.am:
11084 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11085 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11086 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11087 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11088 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11089 * gst/elements/gstfakesrc.h:
11090 * gst/gstqueue.c: (queue_leaky_get_type):
11091 correctly fix GEnumValues so that nick is the short lowercase
11093 * tools/gst-inspect.c: (print_element_properties_info):
11094 also show the nick, since it's useful to use from parse_launch
11098 2005-11-22 Michael Smith <msmith@fluendo.com>
11100 * gst/gstutils.c: (gst_util_clocktime_scale):
11102 * docs/gst/gstreamer-sections.txt:
11103 Add util method for scaling a clocktime by a fraction. Useful
11104 implementation is left as an exercise for the reader.
11106 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11108 * gst/gstvalue.c: (gst_value_collect_fraction_range):
11109 If needed, allocate storage in the destination value during
11112 2005-11-22 Edward Hervey <edward@fluendo.com>
11114 * docs/gst/gstreamer-sections.txt:
11117 * gst/gsturitype.c:
11118 * gst/gsturitype.h:
11119 * gst/gstutils.c: (gst_util_set_object_arg):
11120 * tools/gst-compprep.c: (main):
11121 * tools/gst-inspect.c: (print_element_properties_info):
11122 Removed GstURI, closes bug #321061
11124 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11126 * check/gst/gststructure.c: (GST_START_TEST):
11127 * gst/gststructure.c: (gst_structure_parse_value):
11128 Oops, broke automatic string type parsing.
11129 Add a test to catch it in future.
11131 2005-11-22 Andy Wingo <wingo@pobox.com>
11133 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
11134 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11135 Actually rename the function implementations. Grr.
11137 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11139 * check/gst/capslist.h:
11141 * check/gst/gststructure.c: (GST_START_TEST),
11142 (gst_structure_suite):
11143 Test automatic value type detection in gst_structure_from_string.
11144 * gst/gststructure.c: (gst_structure_parse_value):
11145 Add fraction as a type we try and guess automatically in
11146 caps/structure strings.
11148 2005-11-22 Andy Wingo <wingo@pobox.com>
11150 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11152 * gst/gsttagsetter.h:
11153 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11154 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11155 (gst_tag_setter_add_tag_valist)
11156 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11157 _add_values, _add_valist, and _add_valist_values. Since this is an
11158 interface the function suffixes should be more explicit so
11159 language binding don't end up with element.add_valist ->
11160 gst_tag_setter_add_valist, for example. Fixes #322069.
11162 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11164 * check/gst/gstcaps.c: (GST_START_TEST):
11165 Extend caps string tests to check that a caps to string
11166 conversion is reversible and produces the same caps.
11168 * gst/gststructure.c: (gst_structure_value_get_generic_type):
11169 Output "fraction" as the generic type fraction range, so caps
11170 serialisation and deserialisation works.
11171 * check/gst/capslist.h:
11172 * gst/gstvalue.c: (gst_value_deserialize_fraction):
11173 Support 'MIN' and 'MAX' for deserialising fractions.
11175 2005-11-22 Andy Wingo <wingo@pobox.com>
11177 * gst/gstevent.h (gst_event_new_new_segment)
11178 (gst_event_parse_new_segment, gst_event_new_buffer_size)
11179 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11180 Renamed from *_newsegment, *_buffersize, *_notarget.
11182 * scripts/update-funcnames: New script, performs the changes
11185 2005-11-22 Wim Taymans <wim@fluendo.com>
11187 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11188 Make sure the GstFlowReturn is returned.
11190 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11191 (gst_bus_add_signal_watch):
11193 add gst_bus_add_signal_watch_full.
11195 * gst/gstplugin.c: (gst_plugin_load_file):
11196 Small style cleanup.
11198 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11200 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11201 Block the fakesrc srcpad when we send an event, to avoid
11202 contention on the stream_lock causing random test failures.
11204 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11206 * check/gst/gstvalue.c: (GST_START_TEST):
11207 * gst/gstvalue.c: (gst_value_fraction_subtract):
11210 2005-11-22 Stefan Kost <ensonic@users.sf.net>
11213 include "gstchildproxy.h"
11214 * gst/gstchildproxy.h:
11215 * libs/gst/controller/gstcontroller.h:
11216 use G_GNUC_NULL_TERMINATED
11218 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
11220 * check/gst/capslist.h:
11221 * check/gst/gstcaps.c: (GST_START_TEST):
11222 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11223 * gst/gststructure.c: (gst_structure_parse_range),
11224 (gst_structure_fixate_field_nearest_fraction):
11225 * gst/gststructure.h:
11226 * gst/gstvalue.c: (gst_value_init_fraction_range),
11227 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11228 (gst_value_collect_fraction_range),
11229 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11230 (gst_value_set_fraction_range_full),
11231 (gst_value_get_fraction_range_min),
11232 (gst_value_get_fraction_range_max),
11233 (gst_value_serialize_fraction_range),
11234 (gst_value_transform_fraction_range_string),
11235 (gst_value_compare_fraction_range),
11236 (gst_value_deserialize_fraction_range),
11237 (gst_value_intersect_fraction_fraction_range),
11238 (gst_value_intersect_fraction_range_fraction_range),
11239 (gst_value_subtract_fraction_fraction_range),
11240 (gst_value_subtract_fraction_range_fraction),
11241 (gst_value_subtract_fraction_range_fraction_range),
11242 (gst_value_collect_fraction), (gst_value_fraction_multiply),
11243 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11244 (gst_value_transform_string_fraction), (_gst_value_initialize):
11246 Implement fraction ranges and extend GstFraction to support
11247 arithmetic subtraction, as well as deserialization from integer
11248 strings such as "100"
11249 Add a testsuite as for int and double range set operations
11251 2005-11-21 Andy Wingo <wingo@pobox.com>
11253 * gst/gsttaglist.h:
11255 * gst/gststructure.h: Add glib-compat.h.
11257 2005-11-21 Wim Taymans <wim@fluendo.com>
11259 * gst/gstbin.c: (gst_bin_change_state_func):
11262 2005-11-21 Wim Taymans <wim@fluendo.com>
11264 * gst/gstsegment.h:
11265 And add a nice define too.
11267 2005-11-21 Wim Taymans <wim@fluendo.com>
11269 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11270 (gst_segment_new), (gst_segment_free), (gst_segment_init),
11271 (gst_segment_set_duration), (gst_segment_set_last_stop),
11272 (gst_segment_set_seek), (gst_segment_set_newsegment),
11273 (gst_segment_to_stream_time), (gst_segment_to_running_time),
11274 (gst_segment_clip):
11275 * gst/gstsegment.h:
11276 Make binding friendly.
11278 2005-11-21 Andy Wingo <wingo@pobox.com>
11280 * gst/gsttagsetter.h:
11281 * gst/gsttaglist.h:
11282 * gst/gststructure.h:
11284 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11287 * gst/gsterror.c (_gst_core_errors_init):
11288 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11291 * gst/Makefile.am (gst_headers): Add glib-compat.h.
11292 (noinst_HEADERS): noinst the -private.
11294 2005-11-21 Michael Smith <msmith@fluendo.com>
11297 * gst/gstregistry.h:
11298 Remove unimplemented declarations for which we can see no sensible
11301 2005-11-21 Andy Wingo <wingo@pobox.com>
11303 * gst/gst.h: Include glib-compat.h.
11305 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11307 * gst/glib-compat.c: Include the public and the private header.
11309 * gst/glib-compat-private.h: Copied here from glib-compat.h.
11313 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11315 * check/gst/gstevent.c (create_custom_events): Check that
11316 FLUSH_STOP is serialized.
11318 * check/elements/identity.c (event_func):
11319 * check/elements/fakesrc.c (event_func): No stream lock, the core
11322 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11323 stream lock taking, yay.
11325 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11326 ensure that core takes the stream lock.
11328 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11331 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11332 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11333 it already. For the flush start we do take it though so we get the
11334 right preroll state change messages.
11336 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11337 the stream lock here, the core does it for us.
11339 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11340 GST_STREAM_GET_LOCK.
11341 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
11342 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
11343 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11344 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11345 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
11346 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11348 * gst/gstpad.c: Update for stream lock name change.
11350 * gst/base/gstbasesink.c: Update for preroll lock name change.
11352 2005-11-21 Wim Taymans <wim@fluendo.com>
11354 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11355 (gst_clock_get_master):
11357 * gst/gstsystemclock.c: (gst_system_clock_init):
11358 Convert Clock flags to object flags.
11359 Added methods to manage master/slave clocks.
11361 2005-11-21 Wim Taymans <wim@fluendo.com>
11363 * check/gst/gstsegment.c: (GST_START_TEST):
11364 * docs/design/part-TODO.txt:
11365 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11366 (gst_base_sink_event), (gst_base_sink_do_sync),
11367 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11368 (gst_base_sink_query), (gst_base_sink_change_state):
11369 * gst/base/gstbasesink.h:
11370 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11371 (gst_base_src_default_newsegment),
11372 (gst_base_src_configure_segment), (gst_base_src_do_seek),
11373 (gst_base_src_get_range), (gst_base_src_loop),
11374 (gst_base_src_change_state):
11375 * gst/base/gstbasesrc.h:
11376 * gst/base/gstbasetransform.c:
11377 (gst_base_transform_prepare_output_buf),
11378 (gst_base_transform_event), (gst_base_transform_change_state):
11379 * gst/base/gstbasetransform.h:
11380 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11381 (gst_collect_pads_event):
11382 * gst/base/gstcollectpads.h:
11383 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11384 (gst_fake_src_create):
11385 * gst/elements/gstfakesrc.h:
11386 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11387 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11388 (gst_segment_set_last_stop), (gst_segment_set_seek),
11389 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11390 (gst_segment_to_running_time), (gst_segment_clip):
11391 * gst/gstsegment.h:
11392 More segment updates, replace code in plugins with segment
11395 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
11397 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11398 Don't ignore sscanf results
11400 2005-11-21 Andy Wingo <wingo@pobox.com>
11402 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11405 * *.c: Ran scripts/update-macros. Oh yes.
11407 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11408 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11411 * scripts/update-macros: New script. Run it on your files to
11412 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11415 2005-11-21 Stefan Kost <ensonic@users.sf.net>
11417 * docs/gst/Makefile.am:
11418 * docs/gst/gstreamer-docs.sgml:
11419 * docs/gst/gstreamer-sections.txt:
11420 * docs/gst/gstreamer.types:
11422 more docs fixes, add new api to the docs
11424 2005-11-21 Andy Wingo <wingo@pobox.com>
11426 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11427 state_broadcast call.
11429 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11431 2005-11-21 Julien MOUTTE <julien@moutte.net>
11433 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11434 function calls for arrays.
11436 2005-11-21 Stefan Kost <ensonic@users.sf.net>
11438 * docs/random/ensonic/media-device-daemon.txt:
11439 wild idea, can this be done?
11440 * docs/gst/gstreamer-sections.txt:
11445 * gst/gstpluginfeature.c:
11449 doc fixes and additions
11451 2005-11-21 Andy Wingo <wingo@pobox.com>
11453 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
11454 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
11455 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
11456 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11457 private to the basesrc implementation.
11459 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11460 behalf of event function if necessary. It should no longer be
11461 necessary to take the stream lock in pad's event functions. Fixes
11464 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
11465 * docs/gst/gstreamer-sections.txt:
11466 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11467 (gst_structure_fixate_field_nearest_double),
11468 (gst_structure_fixate_field_boolean):
11469 * gst/gststructure.h:
11470 * win32/common/libgstreamer.def:
11471 * win32/gstreamer.def:
11473 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11476 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
11478 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11479 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11480 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11481 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11482 (gst_fdsrc_uri_handler_init):
11483 * gst/elements/gstfdsrc.h:
11484 Port fd:// URI handler from 0.8 to fdsrc
11486 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11488 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11489 (gst_value_serialize_fourcc):
11491 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11492 consistent with our other format defines (#320324).
11494 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11496 * gst/gstvalue.c: (gst_value_is_fixed):
11497 Revert previous commit. Value lists are by definition
11498 not fixed, as they are a list of possible values.
11500 2005-11-21 Andy Wingo <wingo@pobox.com>
11502 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11503 during the stable series if we need it. Fixes #319178.
11505 * gst/gstevent.c (gst_event_new_filler): Removed.
11507 * check/gst/gstevent.c: Update comment about filler events.
11509 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11511 * gst/gstvalue.c: (gst_value_is_fixed):
11512 Should handle both value arrays and value lists.
11514 2005-11-21 Andy Wingo <wingo@pobox.com>
11516 patch by: Alessandro Dessina <alessandro nnva org>
11518 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11519 functions to access arrays. Fixes #321962.
11521 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11523 * docs/gst/gstreamer.types:
11524 gst_collectpads_get_type => gst_collect_pads_get_type.
11526 * gst/base/gstbasetransform.c:
11527 Remove unused SIGNAL_HANDOFF enum.
11529 2005-11-21 Andy Wingo <wingo@pobox.com>
11531 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11532 the event type (upstream, downstream, serialized). Renamed
11533 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11534 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11535 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11537 * gst/gstevent.c: Update for new CUSTOM event names.
11539 * check/gst/gstevent.c: Update check for new CUSTOM event names.
11542 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
11545 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11547 * docs/gst/gstreamer-sections.txt:
11548 * win32/common/libgstbase.def:
11549 * win32/libgstbase.def:
11550 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11551 (gst_collect_pads_class_init), (gst_collect_pads_init),
11552 (gst_collect_pads_finalize), (gst_collect_pads_new),
11553 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
11554 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
11555 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
11556 (gst_collect_pads_start), (gst_collect_pads_stop),
11557 (gst_collect_pads_peek), (gst_collect_pads_pop),
11558 (gst_collect_pads_available), (gst_collect_pads_read),
11559 (gst_collect_pads_flush), (gst_collect_pads_event),
11560 (gst_collect_pads_chain):
11561 * gst/base/gstcollectpads.h:
11562 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
11563 unimplemented functions as unimplemented. Add padding to
11564 GstCollectData. (#320766, #320423)
11566 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
11568 * gst/gstmessage.c:
11569 Improve docs for DURATION message (usage of duration parameter)
11572 2005-11-20 Wim Taymans <wim@fluendo.com>
11574 * check/Makefile.am:
11575 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
11579 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11580 (gst_segment_set_seek), (gst_segment_set_newsegment),
11581 (gst_segment_to_stream_time), (gst_segment_to_running_time),
11582 (gst_segment_clip):
11583 * gst/gstsegment.h:
11584 Added segment helper structure and methods. Not fully implemented
11586 Added segment check.
11588 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
11590 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11591 Add a deserialisation test for fractions
11592 * examples/metadata/read-metadata.c: (message_loop),
11593 (make_pipeline), (main):
11594 Fix up metadata reading sample.
11595 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11597 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11598 Don't try and fixate empty caps
11599 * gst/gst_private.h:
11600 Wrap in G_BEGIN_DECLS/G_END_DECLS
11601 * gst/gstvalue.c: (gst_value_collect_fraction),
11602 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
11603 (gst_value_transform_string_fraction),
11604 (gst_value_compare_fraction):
11605 Add some extra guards to ensure that we don't end up
11606 with an invalid denominator of 0 in a gstfraction and
11607 that fractions always get reduced.
11609 2005-11-20 Wim Taymans <wim@fluendo.com>
11611 * docs/gst/gstreamer-sections.txt:
11613 * gst/gstelement.c:
11622 2005-11-20 Wim Taymans <wim@fluendo.com>
11624 * docs/design/part-TODO.txt:
11626 Make a proper enum of the flag.
11628 2005-11-19 Wim Taymans <wim@fluendo.com>
11630 * docs/design/part-TODO.txt:
11631 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
11632 (gst_format_to_quark), (gst_format_register):
11634 * gst/gstquery.c: (_gst_query_initialize),
11635 (gst_query_type_get_name), (gst_query_type_to_quark),
11636 (gst_query_type_register):
11638 Add type to quark and type to string conversions.
11640 2005-11-19 Andy Wingo <wingo@pobox.com>
11642 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
11645 2005-11-19 Wim Taymans <wim@fluendo.com>
11647 * docs/design/part-TODO.txt:
11648 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11649 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
11650 (gst_bin_handle_message_func):
11652 Make message handling overridable.
11654 2005-11-19 Andy Wingo <wingo@pobox.com>
11656 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
11659 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
11661 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
11662 is a GstClockTime. Fixes #321710.
11664 * gst/gstclock.h (GstClock): Remove offset property. Add
11665 internal_calibration and external_calibration. Fix padding. Pad
11666 also by GstClockTime so we don't run into problems.
11668 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
11669 (gst_clock_get_rate_offset): Remove.
11670 (gst_clock_set_time_adjust): Remove. Fixes #321712.
11673 * gst/gstutils.c (g_static_rec_cond_wait)
11674 (g_static_rec_cond_timed_wait): Removed, no longer needed.
11676 * gst/gstbin.c: Remove terrible continue_state prototype.
11678 * gst/gstelement.h (gst_element_continue_state): Make public.
11680 * gst/gstelement.h:
11681 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
11682 by continue_state. Fixes #319389.
11684 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
11685 Really fixes #168438. However I don't see anywhere where the
11686 filter function is called... stupid GStreamer...
11688 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
11689 don't have a dispose function, so it won't get called when the
11690 object is unreffed, but oh well!
11692 * gst/gstindex.c (gst_index_set_filter_full): New API function,
11693 allows a destroy function to be set so user_data can be freed.
11695 (gst_index_set_filter): Call gst_index_set_filter_full.
11697 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
11699 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
11700 string should produce an error, given the lack of a way to
11701 represent NULL strings. Fixes #165650.
11704 * gst/gstvalue.c (gst_value_array_append_value)
11705 (gst_value_array_prepend_value, gst_value_array_get_size)
11706 (gst_value_array_get_value): New API, copied from
11707 gst_value_list_*, only operates on arrays.
11708 (gst_value_list_append_value, gst_value_list_prepend_value)
11709 (gst_value_list_concat, gst_value_list_get_size)
11710 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
11712 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
11713 init_list, because it works on both.
11714 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
11715 (gst_value_copy_list_or_array): Renamed from copy_list.
11716 (gst_value_free_list_or_array): Renamed from free_list.
11717 (gst_value_collect_list_or_array): Renamed from collect_list.
11718 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
11719 (gst_value_list_or_array_peek_pointer): Renamed from
11721 (_gst_value_array_value_table, _gst_value_list_value_table):
11722 Update value table functions.
11723 (gst_value_compare_list_or_array): Renamed from compare_list.
11725 * gsttaglist.h: Whoops, foreach function returns void. Also fix
11728 * gst/gsttaglist.c:
11729 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
11730 GstTagList*. Fixes #143472.
11732 * gst/gststructure.h: Clarify what the foreach/map functions can
11733 or can't do to their arguments.
11735 2005-11-18 Wim Taymans <wim@fluendo.com>
11737 * gst/gstclock.c: (gst_clock_set_calibration),
11738 (gst_clock_get_calibration):
11740 Calibration can be set with internal time equal to current
11743 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
11749 2005-11-18 Andy Wingo <wingo@pobox.com>
11752 * pkgconfig/gstreamer-net.pc.in:
11753 * pkgconfig/gstreamer-net-uninstalled.pc.in:
11754 * pkgconfig/Makefile.am: Add net pkgconfig files.
11756 2005-11-18 Stefan Kost <ensonic@users.sf.net>
11759 * gst/gstghostpad.c:
11765 2005-11-18 Andy Wingo <wingo@pobox.com>
11767 * gst/net/gstnetclientclock.c: Turn off debugging.
11769 * check/net/gstnetclientclock.c (test_functioning): Assert that the
11770 times connverge somewhat. Can't make a real test.
11772 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
11773 integer arithmetic. Return the minimum of the domain, which can be
11774 set as "internal" for gst_clock_set_calibration.
11775 (gst_net_client_clock_observe_times): Call _set_calibration.
11776 (gst_net_client_clock_new): Call _set_calibration instead of
11779 * check/net/gstnetclientclock.c (test_functioning): Use the right
11783 * gst/gstclock.c (gst_clock_get_calibration)
11784 (gst_clock_set_calibration): New functions, obsolete the ones I
11785 added yesterday. Doh. Precision issues mean we have to extrapolate
11786 from a point in the more recent past than 1970.
11787 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
11789 (gst_clock_adjust_unlocked): Use the right calibration data.
11791 2005-11-18 Edward Hervey <edward@fluendo.com>
11793 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
11794 Also reset the ->current_* values in READY->PAUSED
11796 2005-11-18 Andy Wingo <wingo@pobox.com>
11798 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
11799 Whoops, check the right fd. Also add some debugging.
11800 (gst_net_client_clock_observe_times): Adjust for int64 offset.
11801 (do_linear_regression): Add a crapload of debugging. Subtract off
11802 the minimum values from the input series to discard unneeded bits.
11803 Use only int arithmetic. There is still double arithmetic when
11804 calculating the intercept that needs fixing. Return boolean to
11805 indicate success; FALSE would mean the domain or range is too
11806 great. Still needs fixes.
11808 2005-11-18 Wim Taymans <wim@fluendo.com>
11810 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
11811 For the current position in stream time, we need to subtract
11814 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11815 Release lock before calling the callback function of async
11818 2005-11-18 Andy Wingo <wingo@pobox.com>
11820 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
11821 Port goes all the way to MAXUINT16.
11823 * gst/net/gstnettimeprovider.c: Make the port range the same as
11824 for the kernel: 0 assigns, otherwise ports are less than
11827 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
11830 * check/net/gstnetclientclock.c (test_functioning): Add the start
11833 2005-11-18 Wim Taymans <wim@fluendo.com>
11835 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11836 (gst_bin_remove_func), (bin_bus_handler):
11838 Removing a clock provider from a bin, triggers a clock lost message
11839 so that a new clock will be selected.
11840 Adding a clock to a bin triggers a clock provider message.
11841 Make sure we reselect a clock when we received a clock lost message.
11842 Keep a reference to the element that provided the clock.
11844 2005-11-18 Andy Wingo <wingo@pobox.com>
11846 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
11847 the clock initially so it produces values around the base time.
11848 (gst_net_client_clock_class_init): Typo fix.
11849 (gst_net_client_clock_thread): Add note on when the socket gets
11852 2005-11-17 Wim Taymans <wim@fluendo.com>
11854 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
11855 Free remote and local time arrays.
11857 2005-11-17 Wim Taymans <wim@fluendo.com>
11859 * gst/net/gstnetclientclock.c: (do_linear_regression),
11860 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
11861 Fix compilation, uninitialized vars and a forgotten continue.
11863 2005-11-17 Andy Wingo <wingo@pobox.com>
11865 * check/Makefile.am (check_PROGRAMS):
11866 * check/net/gstnetclientclock.c: Add a most minimal test for the
11867 net client clock. More to come later.
11869 * gst/net/gstnet.h:
11870 * gst/net/Makefile.am: Add netclientclock.
11872 * gst/net/gstnetclientclock.h:
11873 * gst/net/gstnetclientclock.c: New files, implement an untested
11874 GstClock that takes its time from a network time provider.
11875 Implements the algorithm in network-clock.scm.
11877 * tests/network-clock.scm (*window-size*): Rename from
11879 * tests/network-clock.scm (network-time):
11880 * tests/network-clock-utils.scm (q-push): Update callers.
11882 2005-11-17 Wim Taymans <wim@fluendo.com>
11884 * gst/gstbin.c: (gst_bin_provide_clock_func),
11885 (gst_bin_sort_iterator_new):
11886 And unref the child too..
11888 2005-11-17 Wim Taymans <wim@fluendo.com>
11890 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11891 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
11892 Refactor the sort iterator so it can be used while holding the
11894 Make clock selection select a clock closest to the source.
11896 2005-11-17 Michael Smith <msmith@fluendo.com>
11898 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
11899 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
11901 Anonymous structs are a gcc (and some other compilers) extension, so
11902 don't use them. Since this is only for ABI-compatibility, and our
11903 API/ABI freeze is over in a few days, this whole thing will only
11904 last a few days, so don't bother trying to think up a meaningful
11905 name for the struct.
11907 2005-11-17 Andy Wingo <wingo@pobox.com>
11909 * gst/gstclock.h (GstClock): Add rate and offset properties,
11910 preserving ABI stability. Add rate/offset accessors. Will file bug
11911 for the freeze break.
11913 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
11914 and offset, trying to keep precision and avoiding
11915 underflow/overflow.
11916 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
11917 functions. Make gst_clock_set_time_adjust obsolete.
11918 (gst_clock_set_time_adjust): Note that this function is obsolete.
11919 Will file bug soon.
11921 * gst/base/gstbasetransform.h: Make the ABI-stability hack
11922 greppable by using GST_PADDING-1+1.
11924 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
11926 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
11928 * gst/gstmessage.c: (gst_message_parse_clock_lost):
11929 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
11931 * gst/gstpadtemplate.h:
11932 * gst/gstpluginfeature.h:
11933 Don't use c++ style comments in headers (#321638).
11935 2005-11-16 Andy Wingo <wingo@pobox.com>
11937 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
11940 * check/net/gstnettimeprovider.c: Check to see that the time
11941 provider actually provides times. Works, yo!
11943 2005-11-16 Wim Taymans <wim@fluendo.com>
11945 * check/Makefile.am:
11948 * check/elements/fakesrc.c: (GST_START_TEST):
11949 Set element to NULL before disposing it.
11951 2005-11-16 Andy Wingo <wingo@pobox.com>
11953 * gst/net/Makefile.am:
11954 * gst/net/gstnet.h:
11955 * gst/net/gstnettimeprovider.c:
11956 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
11957 provider, include it from gstnet.h, and add it to the build.
11959 * gst/net/gstnettimepacket.h:
11960 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
11961 sending and receiving.
11963 2005-11-16 Wim Taymans <wim@fluendo.com>
11965 * check/Makefile.am:
11966 Enable valgrind check.
11968 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
11969 (gst_fake_src_alloc_buffer):
11972 2005-11-16 Wim Taymans <wim@fluendo.com>
11974 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
11975 Call parent finalize too.
11977 2005-11-16 Wim Taymans <wim@fluendo.com>
11979 * check/Makefile.am:
11980 Enable valgrind check that should work fine now.
11982 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
11983 * gst/gstqueue.c: (gst_queue_init):
11984 Fix memleaks in pad allocation.
11986 2005-11-16 Andy Wingo <wingo@pobox.com>
11988 * gst/net/Makefile.am:
11989 * gst/net/gstnet.h: New part of core to hold network elements and
11990 objects. Put in core because it exposes API that applications want
11991 to use. The library is named libgstnet-tempname right now because
11992 of the existing libgstnet in gst-plugins-base. Solution is
11993 probably to rename the one in plugins-base; will file a bug for
11996 * gst/net/gstnettimeprovider.c:
11997 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
11998 get_time call over the network.
12001 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
12003 * check/Makefile.am:
12004 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
12005 get additions shortly.
12007 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
12009 * gst/gstpad.c: (gst_pad_new_from_static_template):
12011 add gst_pad_new_from_static_template functions
12012 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
12013 (gst_check_setup_sink_pad):
12014 * gst/elements/gsttee.c: (gst_tee_init):
12017 2005-11-16 Wim Taymans <wim@fluendo.com>
12019 * gst/gstpad.c: (gst_pad_pause_task):
12020 Removed warning, it's not really an error either.
12022 2005-11-16 Wim Taymans <wim@fluendo.com>
12024 * gst/base/gstbasetransform.c:
12025 (gst_base_transform_prepare_output_buf),
12026 (gst_base_transform_event):
12027 Check if the caps are NULL, this can happen if the element
12028 is shutting down and the pad caps are set to NULL.
12030 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
12032 * gst/elements/gsttee.c: (gst_tee_init):
12033 fix pad template leak in tee
12035 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
12037 * gst/glib-compat.c: (g_value_dup_gst_object):
12038 * gst/glib-compat.h:
12039 * gst/gstpad.c: (gst_pad_set_property):
12040 use gst_object_ref when setting the pad template; this will
12041 trigger the pad template leaks on GLib 2.6 and the slaves
12043 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
12045 * gst/glib-compat.c: (gst_flags_get_first_value):
12046 * gst/glib-compat.h:
12047 * gst/gstregistryxml.c:
12048 remove functions copied from GLib 2.6
12050 2005-11-16 Michael Smith <msmith@fluendo.com>
12053 Don't link against VALGRIND_LIBS. That was always the wrong thing to
12054 do, but only breaks with newer valgrind versions. We're not a
12055 valgrind tool, we have no link-time dependencies on libcoregrind.
12057 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
12059 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12061 * gst/gstmessage.h:
12064 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
12066 * gst/base/gstbasesrc.c: (gst_base_src_init):
12067 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12068 * gst/gstqueue.c: (gst_queue_init):
12069 * gst/gstregistryxml.c: (load_feature):
12070 Revert all these unrefs, they don't even pass make check !
12072 2005-11-15 Johan Dahlin <johan@gnome.org>
12074 * gst/base/gstbasesrc.c: (gst_base_src_init):
12075 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12076 * gst/gstqueue.c: (gst_queue_init):
12077 Free pad templates, fixes a couple of leaks.
12079 2005-11-15 Daniel Fischer <dan at f3c dot com>
12081 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
12083 * gst/gstpad.c: (gst_pad_get_property):
12084 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12085 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12088 2005-11-15 Wim Taymans <wim@fluendo.com>
12093 2005-11-15 Andy Wingo <wingo@pobox.com>
12095 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12097 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12098 using GST_CLOCK_TIME_NONE to disable base time management.
12099 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12100 time if it was NONE before.
12101 (gst_pipeline_change_state): Only munge the base time if
12102 stream_time != GST_CLOCK_TIME_NONE.
12104 * check/gst/gstpipeline.c (test_base_time): Punt around the
12105 problem of the probe not being called, because that's not the
12106 issue I'm looking at. Add a check that setting stream_time to NONE
12107 disables base time management.
12109 2005-11-15 Wim Taymans <wim@fluendo.com>
12111 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12112 segment_stop == -1 at startup.
12114 * gst/base/gstbasetransform.c: (gst_base_transform_event),
12115 (gst_base_transform_change_state):
12116 Init segment values at start.
12118 2005-11-15 Wim Taymans <wim@fluendo.com>
12120 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12121 0 segment values are 0 in any format.
12123 * gst/base/gstbasetransform.c: (gst_base_transform_event):
12124 * gst/base/gstbasetransform.h:
12125 Parse newsegment correctly in basetransform
12127 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12128 Sync to clock using updated segment values.
12130 2005-11-15 Andy Wingo <wingo@pobox.com>
12132 * check/gst/gstpipeline.c (test_base_time): Add check that the
12133 base time and stream time are reset correctly.
12135 2005-11-15 Wim Taymans <wim@fluendo.com>
12137 * docs/design/part-TODO.txt:
12138 Some more TODO items.
12140 2005-11-15 Andy Wingo <wingo@pobox.com>
12142 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12143 error if the user selected "no clock" as the clocking method.
12145 * check/gst/gstpipeline.c (test_base_time): New test for buffer
12146 timestamps with live capture.
12148 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12149 is 0 but we are a live source, timestamp the buffers using the
12152 2005-11-14 Stefan Kost <ensonic@users.sf.net>
12154 * docs/gst/gstreamer-sections.txt:
12156 * gst/gstghostpad.c:
12161 2005-11-14 Wim Taymans <wim@fluendo.com>
12164 add suppressions from Wim's Debian machine
12166 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
12169 add suppressions from Andy's AMD64 Ubuntu machine
12171 2005-11-14 Andy Wingo <wingo@pobox.com>
12173 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12174 STATE_LOCK not necessary. Fixes #311489.
12176 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12179 * gst/gstindex.c (gst_index_add_object): Note in the docs that
12180 this function is not implemented.
12182 2005-11-14 Julien MOUTTE <julien@moutte.net>
12184 * gst/base/gstbasetransform.c:
12185 (gst_base_transform_prepare_output_buf):
12186 Ref the source pad caps while we need them.
12189 2005-11-11 Wim Taymans <wim@fluendo.com>
12191 * docs/gst/gstreamer-sections.txt:
12192 Added some docs for GstCollectData.
12194 * gst/base/gstadapter.c:
12195 Some small code example fix.
12197 * gst/base/gstcollectpads.c:
12198 * gst/base/gstcollectpads.h:
12199 Document some more.
12201 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
12203 * configure.ac: back to HEAD
12205 === release 0.9.5 ===
12207 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
12210 releasing 0.9.5, "Bike Lunch Day"
12212 2005-11-11 Wim Taymans <wim@fluendo.com>
12214 * gst/gstbuffer.c: (_gst_buffer_copy):
12217 * gst/gstcaps.c: (gst_caps_is_equal):
12219 Make _is_equal fast in the trivial cases.
12221 * gst/gstminiobject.c:
12222 * gst/gstminiobject.h:
12223 More docs. Spifify .h file.
12228 2005-11-11 Wim Taymans <wim@fluendo.com>
12230 * gst/base/gstbasetransform.c:
12231 (gst_base_transform_prepare_output_buf),
12232 (gst_base_transform_handle_buffer):
12234 If we're processing a buffer and need to allocate an output
12235 buffer, we cannot accept a format change. If we did get a
12236 format change, we have to alloc a buffer ourselves of the
12239 2005-11-11 Wim Taymans <wim@fluendo.com>
12241 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12242 While checking the flag for reentrancy in the gstcaps function
12243 is nice to detect recursive invocations, it also makes it
12244 impossible to call getcaps from multiple threads, which must be
12245 possible. So, checking for recursive calls has to go.
12247 2005-11-11 Michael Smith <msmith@fluendo.com>
12249 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12250 Don't sync on buffers that fall partially outside our current
12251 segment. Prevents an assertion failure/abort playing some files.
12253 2005-11-10 Andy Wingo <wingo@pobox.com>
12255 * check/gst/gstbin.c (test_message_state_changed_children): Style
12258 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12259 gst_bus_poll with the signal watch. Ensures that poll and a signal
12260 watch see the same messages.
12262 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12263 a poll and a watch at the same time get the same messages.
12265 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
12267 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12268 * gst/gstcaps.c: (gst_caps_intersect):
12269 Don't call gst_caps_do_simplify - it doesn't respect order of caps
12270 and it's not needed.
12272 2005-11-10 Wim Taymans <wim@fluendo.com>
12274 * docs/design/part-TODO.txt:
12277 2005-11-10 Wim Taymans <wim@fluendo.com>
12279 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12280 * gst/base/gstbasesrc.c: (gst_base_src_wait),
12281 (gst_base_src_do_sync), (gst_base_src_get_range):
12282 Implement clock sync in base class.
12284 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
12286 patch by: Tim-Philipp Müller <tim at centricular dot net>
12288 * gst/gststructure.c: (gst_structure_parse_field),
12289 (gst_structure_from_string):
12290 Forward-port a 0.8 patch to handle escaped spaces in structure string,
12291 so that gst_parse_launch() can deal with spaces in filtered link
12292 caps (fixes #164479)
12293 * check/gst/capslist.h:
12294 * check/gst/gststructure.c: (GST_START_TEST):
12295 add unit tests for this change
12297 2005-11-10 Wim Taymans <wim@fluendo.com>
12299 * docs/gst/gstreamer-sections.txt:
12300 * gst/gstelement.c:
12301 * gst/gstelement.h:
12302 Fix docs, move some STATE macros to private.
12304 2005-11-10 Wim Taymans <wim@fluendo.com>
12306 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12307 Added check for bug #317341
12311 Some more spiffifying.
12313 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12314 Call peer linkfunction if we are a source pad. Totally fixes
12318 Update docs, source pads should call the peer linkfunction
12319 so they can atomically perform the pad link.
12321 2005-11-09 Wim Taymans <wim@fluendo.com>
12325 Uber-spiffy-spiffify some more.
12327 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
12329 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12330 * gst/elements/gstfilesink.c: (gst_file_sink_init):
12331 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12332 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12333 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12334 * gst/gstpad.c: (gst_pad_init):
12335 Use GST_DEBUG_FUNCPTR() more extensively.
12337 2005-11-09 Wim Taymans <wim@fluendo.com>
12339 * gst/gstobject.c: (gst_object_class_init):
12341 Documentation fixes.
12343 2005-11-09 Edward Hervey <edward@fluendo.com>
12345 * gst/gsttypefindfactory.c:
12348 2005-11-09 Edward Hervey <edward@fluendo.com>
12350 * gst/base/gsttypefindhelper.c:
12351 * gst/gsttypefind.c:
12352 * gst/gsttypefind.h:
12355 2005-11-09 Wim Taymans <wim@fluendo.com>
12357 * gst/gstiterator.c:
12364 2005-11-09 Wim Taymans <wim@fluendo.com>
12370 2005-11-09 Wim Taymans <wim@fluendo.com>
12372 * docs/gst/gstreamer-sections.txt:
12373 Moved the message async delivery private lock and cond
12374 to the private section.
12376 * gst/gstmessage.c:
12377 * gst/gstmessage.h:
12380 2005-11-09 Edward Hervey <edward@fluendo.com>
12382 * docs/gst/gstreamer-sections.txt:
12385 Document GstURIHandler
12387 2005-11-09 Wim Taymans <wim@fluendo.com>
12389 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12390 (gst_iterator_find_custom):
12391 * gst/gstiterator.h:
12394 2005-11-09 Wim Taymans <wim@fluendo.com>
12397 Document another field.
12399 * gst/gststructure.c:
12400 * gst/gststructure.h:
12403 2005-11-09 Wim Taymans <wim@fluendo.com>
12406 Documented structs.
12408 2005-11-09 Wim Taymans <wim@fluendo.com>
12410 * docs/gst/gstreamer-sections.txt:
12411 Added some new macros.
12418 2005-11-09 Wim Taymans <wim@fluendo.com>
12420 * docs/design/part-TODO.txt:
12421 Some more items for the TODO
12427 2005-11-09 Andy Wingo <wingo@pobox.com>
12429 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12430 to work on something else now tho...
12432 * gst/base/gstadapter.c: More adapter docs.
12434 * gst/elements/gstfilesink.c (gst_file_sink_start)
12435 (gst_file_sink_stop): New functions, replace the state change
12437 (gst_file_sink_class_init): Hook up the start and stop functions.
12438 (gst_file_sink_base_init): Don't set the state change handler any
12439 more. It was a bit ugly too, being set from here...
12440 (gst_file_sink_get_property, gst_file_sink_set_property):
12442 (gst_file_sink_set_location): More robust check that doesn't call
12443 GST_STATE. Ugggggg.
12445 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
12447 * gst/base/gstbasetransform.c: (gst_base_transform_event):
12448 Hold STREAM_LOCK while pushing newsegment or tag events as well.
12450 2005-11-08 Wim Taymans <wim@fluendo.com>
12452 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12453 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12454 (gst_base_sink_chain), (gst_base_sink_change_state):
12455 * gst/base/gstbasesink.h:
12456 * gst/base/gstbasesrc.h:
12457 * gst/gstelement.h:
12459 Avoid excessive typechecking in macros.
12461 * gst/gstminiobject.c: (gst_mini_object_get_type),
12462 (gst_mini_object_init), (gst_mini_object_new),
12463 (gst_mini_object_free):
12464 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12465 (gst_object_finalize):
12466 Remove cruft code, optimize alloc_trace.
12468 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
12470 * docs/faq/gst-uninstalled:
12471 fix up PS1 for systems that try to reset it
12473 2005-11-07 Wim Taymans <wim@fluendo.com>
12475 * gst/base/gstbasesrc.c: (gst_base_src_init),
12476 (gst_base_src_get_range):
12477 Set the segment_end to -1 initially. Fixed typefind.
12479 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
12481 * gst/base/gstadapter.c:
12482 Debug category should be 'adapter', not 'GstAdapter'.
12484 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12485 (gst_collectpads_class_init), (gst_collectpads_init),
12486 (gst_collectpads_peek), (gst_collectpads_pop),
12487 (gst_collectpads_event), (gst_collectpads_chain):
12488 Add debug category and some debugging output. Use boilerplate
12489 macros. Remove some extraneous words from docs.
12491 2005-11-05 Andy Wingo <wingo@pobox.com>
12493 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12496 2005-11-04 Stefan Kost <ensonic@users.sf.net>
12498 * docs/gst/gstreamer-sections.txt:
12501 * gst/gstminiobject.h:
12506 2005-11-04 Wim Taymans <wim@fluendo.com>
12508 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12509 Small update to stop at the configured segment_end
12512 2005-11-04 Stefan Kost <ensonic@users.sf.net>
12514 * gst/gstregistry.c:
12515 * gst/gstregistry.h:
12518 2005-11-04 Edward Hervey <edward@fluendo.com>
12520 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12521 Check if we are doing a segment seek and have arrived at the
12522 end of that segment.
12524 2005-11-04 Wim Taymans <wim@fluendo.com>
12526 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12527 Don't leak a mutex unlock in case of an error.
12532 2005-11-04 Wim Taymans <wim@fluendo.com>
12534 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12536 Get the context to wake up only once.
12538 2005-11-03 Wim Taymans <wim@fluendo.com>
12540 * check/states/sinks.c: (GST_START_TEST):
12541 Uncomment fixed check.
12543 * docs/design/part-TODO.txt:
12546 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12547 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12548 (gst_base_sink_get_position):
12549 If we are going to PLAYING, post the right pending state
12550 when we post the intermediate paused message.
12552 * gst/gstelement.c: (gst_element_continue_state),
12553 (gst_element_set_state_func), (gst_element_change_state):
12554 Don't post state changes that were between the same state
12555 and were not ASYNC.
12557 2005-11-03 Stefan Kost <ensonic@users.sf.net>
12559 * docs/gst/gstreamer-sections.txt:
12562 * gst/gstminiobject.h:
12565 more docs and doc style fixes
12567 2005-11-03 Stefan Kost <ensonic@users.sf.net>
12569 * docs/gst/gstreamer-sections.txt:
12570 * gst/gstelement.c:
12571 * gst/gstminiobject.c:
12574 2005-11-03 Andy Wingo <wingo@pobox.com>
12576 * check/states/sinks.c (test_livesrc_sink): Add checks that the
12577 state-changed messages actually have the right order and the right
12580 2005-11-03 Wim Taymans <wim@fluendo.com>
12582 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12583 Added some more checks. Specifically the case where NO_PREROLL
12584 elements are in the pipeline.
12586 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12587 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12588 (gst_base_sink_get_position):
12589 Post READY->PAUSED state change messages too.
12590 Fix bug where VOID was posted as pending state...
12592 * gst/gstbin.c: (gst_bin_recalc_state):
12593 use _element_continue_state() to continue the state change.
12595 * gst/gstelement.c: (gst_element_continue_state),
12596 (gst_element_commit_state), (gst_element_set_state_func),
12597 (gst_element_change_state), (gst_element_change_state_func):
12598 Lots of state change cleanups, assign the STATE_RETURN in
12599 a new continue_state() function that also propagates the
12600 last return value from a state change to the app.
12601 Update some debug statements with proper category.
12603 2005-11-03 Wim Taymans <wim@fluendo.com>
12605 * docs/design/part-events.txt:
12606 * docs/design/part-gstpipeline.txt:
12607 * docs/design/part-messages.txt:
12608 * docs/design/part-overview.txt:
12609 * docs/design/part-seeking.txt:
12610 * docs/design/part-states.txt:
12611 * docs/design/part-trickmodes.txt:
12612 * docs/manual/advanced-position.xml:
12613 Small docs updates.
12616 People think !! is ugly, this looks better.
12618 * gst/gstpad.c: (gst_pad_set_blocked_async):
12619 Remove !! since it's fixed elsewhere now.
12621 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
12623 * gst/gstminiobject.h:
12625 Add !! to _FLAG_IS_SET macros to make the result boolean.
12627 2005-11-03 Edward Hervey <edward@fluendo.com>
12629 * gst/gstpad.c: (gst_pad_set_blocked_async):
12630 comparing a flag and a gboolean rarely returns coherent results...
12631 Added two characters (!!) to make that work correctly.
12633 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
12635 * gst/gstbus.c: (gst_bus_class_init):
12638 * gst/gstqueue.c: (gst_queue_loop):
12639 Don't assume a miniobject that isn't a buffer is an
12640 event (it could be that there is a refcounting
12641 problem somewhere and the pointer is stale and
12642 refers to an already destroyed miniobject).
12644 2005-11-03 Julien MOUTTE <julien@moutte.net>
12646 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
12648 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
12650 * docs/manual/advanced-position.xml:
12651 Update seek example and explanations to current 0.9 API.
12653 * gst/elements/gsttypefindelement.c:
12654 (gst_type_find_element_activate):
12655 Remove FIXME comment now that the found caps
12658 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
12660 * gst/gstregistryxml.c: (load_feature):
12661 Add another GST_STR_NULL instance
12663 2005-11-02 Edward Hervey <edward@fluendo.com>
12665 * gst/gstpad.c: (handle_pad_block):
12666 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
12668 2005-11-02 Wim Taymans <wim@fluendo.com>
12673 * gst/gstelement.c: (gst_element_commit_state):
12674 Remove unused value.
12676 * gst/gstiterator.c:
12677 Mention that the returned element is reffed in the docs.
12679 2005-11-02 Wim Taymans <wim@fluendo.com>
12681 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
12682 (gst_pad_push), (gst_pad_push_event):
12683 Unlock blocked pads when they are flushed.
12685 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
12688 * docs/gst/gstreamer-sections.txt:
12691 * gst/gstregistry.c: (gst_registry_scan_path_level):
12692 fix for a nasty little missed situation where an installed plug-in
12693 which was in the cache did not get overridden by an uninstalled one
12694 which was earlier in the plugin path because the newly created plugin
12695 for the uninstalled one (not in the registry) didn't get its
12696 ->registered set to TRUE
12698 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
12700 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
12701 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
12702 (gst_collectpads_is_active), (gst_collectpads_collect),
12703 (gst_collectpads_collect_range), (gst_collectpads_start),
12704 (gst_collectpads_stop), (gst_collectpads_peek),
12705 (gst_collectpads_pop), (gst_collectpads_available),
12706 (gst_collectpads_read), (gst_collectpads_flush):
12707 Guard public API with assertions.
12710 Fix docs for gst_pad_set_link_function().
12712 2005-11-02 Johan Dahlin <johan@gnome.org>
12714 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
12715 Unref found_caps after we used it.
12717 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
12719 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
12720 Don't try to ref NULL.
12722 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
12724 * win32/common/config.h.in:
12725 provide a GST_FUNCTION that just gives a string for now
12727 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
12729 * win32/common/gstenumtypes.c: (register_gst_object_flags),
12730 (gst_object_flags_get_type), (register_gst_bin_flags),
12731 (gst_bin_flags_get_type), (register_gst_buffer_flag),
12732 (gst_buffer_flag_get_type), (register_gst_bus_flags),
12733 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
12734 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
12735 (gst_clock_return_get_type), (register_gst_clock_entry_type),
12736 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
12737 (gst_clock_flags_get_type), (register_gst_state),
12738 (gst_state_get_type), (register_gst_state_change_return),
12739 (gst_state_change_return_get_type), (register_gst_state_change),
12740 (gst_state_change_get_type), (register_gst_element_flags),
12741 (gst_element_flags_get_type), (register_gst_core_error),
12742 (gst_core_error_get_type), (register_gst_library_error),
12743 (gst_library_error_get_type), (register_gst_resource_error),
12744 (gst_resource_error_get_type), (register_gst_stream_error),
12745 (gst_stream_error_get_type), (register_gst_event_type),
12746 (gst_event_type_get_type), (register_gst_seek_type),
12747 (gst_seek_type_get_type), (register_gst_seek_flags),
12748 (gst_seek_flags_get_type), (register_gst_format),
12749 (gst_format_get_type), (register_gst_index_certainty),
12750 (gst_index_certainty_get_type), (register_gst_index_entry_type),
12751 (gst_index_entry_type_get_type),
12752 (register_gst_index_lookup_method),
12753 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
12754 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
12755 (gst_index_resolver_method_get_type), (register_gst_index_flags),
12756 (gst_index_flags_get_type), (register_gst_debug_level),
12757 (gst_debug_level_get_type), (register_gst_debug_color_flags),
12758 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
12759 (gst_iterator_result_get_type), (register_gst_iterator_item),
12760 (gst_iterator_item_get_type), (register_gst_message_type),
12761 (gst_message_type_get_type), (register_gst_mini_object_flags),
12762 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
12763 (gst_pad_link_return_get_type), (register_gst_flow_return),
12764 (gst_flow_return_get_type), (register_gst_activate_mode),
12765 (gst_activate_mode_get_type), (register_gst_pad_direction),
12766 (gst_pad_direction_get_type), (register_gst_pad_flags),
12767 (gst_pad_flags_get_type), (register_gst_pad_presence),
12768 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
12769 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
12770 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
12771 (gst_plugin_error_get_type), (register_gst_plugin_flags),
12772 (gst_plugin_flags_get_type), (register_gst_rank),
12773 (gst_rank_get_type), (register_gst_query_type),
12774 (gst_query_type_get_type), (register_gst_tag_merge_mode),
12775 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
12776 (gst_tag_flag_get_type), (register_gst_task_state),
12777 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
12778 (gst_alloc_trace_flags_get_type),
12779 (register_gst_type_find_probability),
12780 (gst_type_find_probability_get_type), (register_gst_uri_type),
12781 (gst_uri_type_get_type), (register_gst_parse_error),
12782 (gst_parse_error_get_type):
12783 * win32/common/gstversion.h:
12784 update win32 copies
12786 2005-11-01 Luca Ognibene <luogni@tin.it>
12789 fix docs. popt is dead, long live GOption.
12791 2005-10-31 Wim Taymans <wim@fluendo.com>
12796 2005-10-31 Andy Wingo <wingo@pobox.com>
12800 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
12802 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
12803 need to serialize property notifications on GLib 2.8. GLib 2.6 has
12804 the possibility of deadlocks here if code calling notify() or
12805 set() has a lock that can be taken in another notify handler (ABBA
12806 with class lock and e.g. python GIL state lock).
12808 2005-10-28 Julien MOUTTE <julien@moutte.net>
12810 * gst/gstbus.c: Doc updates.
12812 2005-10-28 Wim Taymans <wim@fluendo.com>
12814 * docs/design/part-TODO.txt:
12815 * gst/gstiterator.c:
12816 * gst/gstsystemclock.c:
12817 * gst/gstsystemclock.h:
12820 2005-10-28 Edward Hervey <edward@fluendo.com>
12822 * docs/gst/gstreamer-docs.sgml:
12823 * docs/gst/gstreamer-sections.txt:
12824 the GstURIType documentation page is private, it only defines GstURIType
12825 which should be defined in the GstURIHandler page
12827 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
12829 * gst/gstbin.c: (gst_bin_class_init):
12832 Documentation updates.
12834 2005-10-28 Wim Taymans <wim@fluendo.com>
12836 * docs/gst/gstreamer-sections.txt:
12839 Documented the clocks.
12841 2005-10-28 Stefan Kost <ensonic@users.sf.net>
12843 * docs/gst/gstreamer-sections.txt:
12844 move some macros to private sections
12845 * gst/gstminiobject.c:
12846 * gst/gstminiobject.h:
12847 add descriptions provided by ds and some more
12849 mark macro as to be removed
12851 2005-10-28 Wim Taymans <wim@fluendo.com>
12853 * docs/design/part-TODO.txt:
12854 Add an item to TODO.
12856 * gst/gstiterator.c: (gst_iterator_fold),
12857 (gst_iterator_find_custom):
12858 * gst/gstiterator.h:
12861 2005-10-28 Wim Taymans <wim@fluendo.com>
12863 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
12864 (gst_base_transform_init):
12867 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
12868 An EOS event marks the queue as completely filled.
12870 2005-10-27 Wim Taymans <wim@fluendo.com>
12872 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12873 (gst_base_sink_do_sync), (gst_base_sink_get_position):
12874 Some more debugging.
12876 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
12877 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
12878 (gst_base_transform_event), (gst_base_transform_getrange),
12879 (gst_base_transform_chain):
12880 * gst/base/gstbasetransform.h:
12882 Protect transform and concurrent buffer alloc with a new lock.
12883 Try not to break ABI/API.
12885 2005-10-27 Wim Taymans <wim@fluendo.com>
12887 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12888 (gst_base_src_init), (gst_base_src_query),
12889 (gst_base_src_default_newsegment),
12890 (gst_base_src_configure_segment), (gst_base_src_do_seek),
12891 (gst_base_src_send_event), (gst_base_src_event_handler),
12892 (gst_base_src_pad_get_range), (gst_base_src_loop),
12893 (gst_base_src_unlock), (gst_base_src_default_negotiate),
12894 (gst_base_src_start), (gst_base_src_deactivate),
12895 (gst_base_src_activate_push), (gst_base_src_change_state):
12896 Move some stuff around and cleanup things.
12898 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
12900 * gst/base/gstbasesrc.c: (gst_base_src_query):
12901 Add missing break statements.
12903 2005-10-27 Wim Taymans <wim@fluendo.com>
12905 * check/gst/gstbin.c: (GST_START_TEST):
12906 An extra refcount is taken in basesrc.
12908 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
12909 (gst_base_src_get_range), (gst_base_src_pad_get_range),
12910 (gst_base_src_loop):
12911 Small cleanups, check for flushing after being unlocked from the
12912 LIVE_LOCK. take refcounts correctly (not yet everywhere).
12913 Don't send out EOS when going to READY.
12915 2005-10-27 Wim Taymans <wim@fluendo.com>
12917 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12918 (gst_base_sink_get_position):
12921 * gst/gstbin.c: (message_check), (bin_replace_message),
12922 (bin_remove_messages), (is_eos), (gst_bin_add_func),
12923 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12924 (bin_query_duration_init), (bin_query_duration_fold),
12925 (bin_query_duration_done), (bin_query_generic_fold),
12927 * tools/gst-launch.c: (main):
12930 2005-10-26 Stefan Kost <ensonic@users.sf.net>
12932 * examples/controller/audio-example.c: (main):
12933 * examples/queue/queue.c: (event_loop):
12934 * gst/base/gstbasetransform.h:
12935 * gst/gstelement.c: (gst_element_send_event):
12937 * gst/gstpad.c: (gst_pad_send_event):
12940 changing log priority in error situations
12942 2005-10-25 Wim Taymans <wim@fluendo.com>
12944 * gst/gstbin.c: (message_check), (bin_replace_message),
12945 (bin_remove_messages), (is_eos), (gst_bin_add_func),
12946 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12947 (bin_query_duration_init), (bin_query_duration_fold),
12948 (bin_query_duration_done), (bin_query_generic_fold),
12950 Some doc and debug updates.
12951 Cache previously requested query DURATION for speed. invalidate
12952 cached duration if element posts a DURATION message.
12954 2005-10-25 Wim Taymans <wim@fluendo.com>
12956 * docs/design/part-TODO.txt:
12959 * gst/gstbin.c: (message_check), (bin_replace_message),
12960 (bin_remove_messages), (is_eos), (gst_bin_add_func),
12961 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
12962 (bin_query_duration_init), (bin_query_duration_fold),
12963 (bin_query_duration_done), (bin_query_generic_fold),
12965 Handle SEGMENT_START/DONE messages correctly.
12966 More evolved query algorithm that handles duration queries
12969 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
12970 (gst_element_get_state_func), (gst_element_abort_state),
12971 (gst_element_commit_state), (gst_element_lost_state):
12972 Some more debugging.
12974 * gst/gstmessage.h:
12977 2005-10-25 Wim Taymans <wim@fluendo.com>
12979 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12980 Don't use invalid stream_time.
12982 * gst/gstevent.c: (gst_event_new_newsegment):
12983 stream_time in newsegment cannot be undefined.
12985 2005-10-24 Wim Taymans <wim@fluendo.com>
12990 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12992 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
12994 2005-10-24 Stefan Kost <ensonic@users.sf.net>
12996 * docs/libs/tmpl/gstdparam.sgml:
12997 * docs/libs/tmpl/gstdplinint.sgml:
12998 * docs/libs/tmpl/gstdpman.sgml:
12999 * docs/libs/tmpl/gstdpsmooth.sgml:
13000 * docs/libs/tmpl/gstunitconvert.sgml:
13003 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
13008 === release 0.9.4 ===
13010 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
13013 releasing 0.9.4, "Tyrannosaurus Rex"
13015 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
13017 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13018 (gst_file_sink_get_current_offset):
13019 Use fseeko() and ftello() if available. When falling back on
13020 lseek() to get the current offset, fflush() first to make sure
13021 everything is up-to-date and we get the right offset.
13023 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
13025 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13026 * gst/base/gstbasesrc.c: (gst_base_src_loop):
13027 * gst/gsterror.c: (_gst_stream_errors_init):
13029 * gst/gstqueue.c: (gst_queue_loop):
13031 remove prematurely added error category and clean up the instances
13033 2005-10-21 Wim Taymans <wim@fluendo.com>
13035 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13036 (gst_base_sink_get_position), (gst_base_sink_query),
13037 (gst_base_sink_change_state):
13038 Simply set the right flag when going to playing, that's all
13039 we need to do instead of calling a function inside the object
13040 lock (that could take the lock as well and deadlock)
13042 2005-10-21 Wim Taymans <wim@fluendo.com>
13044 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
13045 (gst_base_src_loop):
13046 Don't warn, the peer element knows what to do best when
13047 the seek failed, it might try something else.
13049 2005-10-21 Wim Taymans <wim@fluendo.com>
13051 * gst/base/gstbasesrc.c: (gst_base_src_init),
13052 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13055 2005-10-21 Wim Taymans <wim@fluendo.com>
13057 * docs/design/part-segments.txt:
13060 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13061 Correctly set caps, even on the subbufer.
13063 2005-10-21 Wim Taymans <wim@fluendo.com>
13065 * docs/gst/gstreamer-docs.sgml:
13066 * docs/gst/gstreamer-sections.txt:
13067 * gst/gstelement.h:
13070 * gst/gstmessage.h:
13073 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13077 And 2% more doc coverage.
13079 2005-10-21 Andy Wingo <wingo@pobox.com>
13081 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13082 position reporting.
13084 2005-10-20 Wim Taymans <wim@fluendo.com>
13086 * gst/gsterror.c: (gst_error_get_message):
13089 * gst/gststructure.c:
13094 2005-10-20 Wim Taymans <wim@fluendo.com>
13099 Another 1% more coverage.
13101 2005-10-20 Wim Taymans <wim@fluendo.com>
13103 * docs/gst/gstreamer-sections.txt:
13104 * gst/gstelement.c: (gst_element_get_state_func),
13105 (gst_element_abort_state), (gst_element_commit_state),
13106 (gst_element_lost_state):
13108 * gst/gstquery.c: (gst_query_set_position),
13109 (gst_query_parse_position), (gst_query_set_duration),
13110 (gst_query_parse_duration), (gst_query_new_convert):
13112 Yay! 1% more docs coverage.
13114 2005-10-20 Wim Taymans <wim@fluendo.com>
13117 * gst/gstquery.c: (gst_query_set_position),
13118 (gst_query_parse_position), (gst_query_set_duration),
13119 (gst_query_parse_duration), (gst_query_new_convert):
13121 * gst/gstutils.c: (gst_element_query_convert):
13123 Docs and consistency fixes.
13125 2005-10-20 Wim Taymans <wim@fluendo.com>
13131 2005-10-20 Wim Taymans <wim@fluendo.com>
13133 * gst/gstbin.c: (message_check), (bin_replace_message),
13134 (bin_remove_messages), (is_eos), (gst_bin_add_func),
13135 (update_degree), (gst_bin_sort_iterator_next),
13136 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13137 Reworked the message handling a bit, cache the messages instead of
13138 only the senders. alows us to do more in the future.
13140 2005-10-20 Wim Taymans <wim@fluendo.com>
13142 * docs/design/part-TODO.txt:
13145 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13146 (gst_base_sink_query):
13147 Don't use clock time to report position when in EOS.
13149 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
13151 * tools/gst-inspect.c: (print_interfaces),
13152 (print_element_properties_info), (print_element_info):
13153 Fix interface output with gst-inspect -a; don't print
13154 newlines after double/float properties.
13156 2005-10-20 Wim Taymans <wim@fluendo.com>
13158 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13159 (gst_base_sink_query):
13160 Speed up current position calculation.
13162 * gst/base/gstbasesrc.c: (gst_base_src_query),
13163 (gst_base_src_default_newsegment):
13164 Correctly set stream position in newsegment.
13166 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13167 (update_degree), (gst_bin_sort_iterator_next),
13168 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13169 * gst/gstmessage.c: (gst_message_new_custom):
13170 Clean up debugging info
13172 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13173 (gst_queue_loop), (gst_queue_handle_src_query):
13176 2005-10-19 Wim Taymans <wim@fluendo.com>
13178 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13179 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13180 Fix query handling again.
13182 2005-10-19 Wim Taymans <wim@fluendo.com>
13184 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13185 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13186 * gst/base/gstbasesrc.c: (gst_base_src_query):
13187 * gst/elements/gstfilesink.c: (gst_file_sink_query):
13188 * gst/elements/gsttypefindelement.c:
13189 (gst_type_find_handle_src_query), (find_element_get_length),
13190 (gst_type_find_element_activate):
13193 * gst/gstquery.c: (gst_query_new_position),
13194 (gst_query_set_position), (gst_query_parse_position),
13195 (gst_query_new_duration), (gst_query_set_duration),
13196 (gst_query_parse_duration), (gst_query_set_segment),
13197 (gst_query_parse_segment):
13199 Bundling query position/duration is not a good idea since duration
13200 does not change much and we don't want to recalculate it for every
13201 position query, so they are separated again..
13202 Base value in segment query is not needed.
13204 * gst/gstqueue.c: (gst_queue_handle_src_query):
13205 * gst/gstutils.c: (gst_element_query_position),
13206 (gst_element_query_duration), (gst_pad_query_position),
13207 (gst_pad_query_duration):
13209 Updates for query API change.
13210 Added some docs here and there.
13212 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
13214 * check/gst/gstbin.c: (GST_START_TEST):
13215 * check/gst/gstghostpad.c: (GST_START_TEST):
13216 * check/pipelines/cleanup.c: (GST_START_TEST):
13217 wait on thread to die so we can check refcount correctly
13219 2005-10-18 Wim Taymans <wim@fluendo.com>
13221 * check/pipelines/stress.c: (GST_START_TEST):
13222 Make check a little more time consuming.
13224 2005-10-18 Wim Taymans <wim@fluendo.com>
13226 * check/Makefile.am:
13227 * check/pipelines/stress.c: (GST_START_TEST),
13228 (simple_launch_lines_suite), (main):
13229 Small state change torture test.
13231 * docs/design/part-states.txt:
13232 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13233 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13234 (gst_base_sink_change_state):
13235 Never take state lock from streaming thread, clean up ugly
13236 hacks. Unfortunatly core does not yet support nice ways to
13237 async commit state.
13239 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13241 Start state recalc if a STATE_DIRTY message is posted, but only
13242 on the toplevel bin.
13244 * gst/gstelement.c: (gst_element_sync_state_with_parent),
13245 (gst_element_get_state_func), (gst_element_abort_state),
13246 (gst_element_commit_state), (gst_element_lost_state),
13247 (gst_element_set_state_func), (gst_element_change_state):
13248 * gst/gstelement.h:
13249 State variables are now protected with the LOCK, the state
13250 lock is only used to serialize _set_state().
13252 2005-10-18 Wim Taymans <wim@fluendo.com>
13254 * check/gst/gstbin.c: (GST_START_TEST):
13255 * check/gst/gstmessage.c: (GST_START_TEST):
13256 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13257 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13259 * gst/gstelement.c: (gst_element_abort_state),
13260 (gst_element_commit_state), (gst_element_lost_state):
13261 * gst/gstmessage.c: (gst_message_new_state_changed),
13262 (gst_message_new_state_dirty), (gst_message_new_segment_start),
13263 (gst_message_new_segment_done), (gst_message_new_duration),
13264 (gst_message_parse_state_changed),
13265 (gst_message_parse_segment_start),
13266 (gst_message_parse_segment_done), (gst_message_parse_duration):
13267 * gst/gstmessage.h:
13268 * tools/gst-launch.c: (event_loop):
13269 Seriously, this is better than a previous commit as we only need
13270 to notify the fact that an element changed state in a streaming
13271 thread, marking the state of the parents dirty, hence the
13272 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13275 2005-10-18 Wim Taymans <wim@fluendo.com>
13277 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13278 (gst_bin_recalc_func):
13279 * gst/gstelement.c: (gst_element_set_clock),
13280 (gst_element_abort_state), (gst_element_lost_state):
13281 Cleanups, prepare for state change fixes.
13283 2005-10-18 Wim Taymans <wim@fluendo.com>
13286 * gst/gstelement.c: (gst_element_class_init),
13287 (gst_element_set_state), (gst_element_set_state_func):
13288 * gst/gstelement.h:
13289 Pending ABI changes.
13290 GThreadPool in GstBinClass to monitor async state changes.
13291 state_cookie in GstElement to detect concurrent gst/set state.
13292 set_state is now virtual too in case a very complicated element
13293 has to be constructed.
13295 2005-10-18 Wim Taymans <wim@fluendo.com>
13297 * check/gst/gstbin.c: (GST_START_TEST):
13298 * check/gst/gstmessage.c: (GST_START_TEST):
13299 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13300 * gst/gstbin.c: (bin_bus_handler):
13301 * gst/gstelement.c: (gst_element_commit_state),
13302 (gst_element_lost_state):
13303 * gst/gstmessage.c: (gst_message_new_state_changed),
13304 (gst_message_new_segment_start), (gst_message_new_segment_done),
13305 (gst_message_new_duration), (gst_message_parse_state_changed),
13306 (gst_message_parse_segment_start),
13307 (gst_message_parse_segment_done), (gst_message_parse_duration):
13308 * gst/gstmessage.h:
13309 * tools/gst-launch.c: (event_loop):
13310 Make messages future proof.
13311 state-change gets a flag if it was a message comming from the
13313 segment-start/stop can also be specified in other formats.
13314 A message to notify an app that a pipeline changed playback
13316 Also fix a GstMessage leak in -launch
13318 2005-10-18 Andy Wingo <wingo@pobox.com>
13320 * gst/gstelement.c (gst_element_dispose): More helpful message.
13322 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
13324 reviewed by: <delete if not using a buddy>
13326 * common/gtk-doc.mak:
13328 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
13330 * gst/gstregistry.c: (gst_registry_scan_path_level):
13331 unref a plug-in we get that was already initialized
13333 2005-10-18 Stefan Kost <ensonic@users.sf.net>
13335 * docs/gst/gstreamer-sections.txt:
13336 * docs/libs/gstreamer-libs-sections.txt:
13337 * gst/gstelement.h:
13338 add new api entries
13339 hide internal macro
13341 2005-10-17 Andy Wingo <wingo@pobox.com>
13343 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13346 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13348 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13350 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13351 (gst_element_get_state_func): Better debug message.
13352 (gst_element_commit_state): s/INFO/DEBUG/.
13353 (gst_element_lost_state, gst_element_change_state):
13355 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13356 (gst_message_new_custom): s/INFO/LOG/.
13358 2005-10-17 Michael Smith <msmith@fluendo.com>
13360 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13361 Check if end time is valid using end time, not start time.
13363 2005-10-17 Stefan Kost <ensonic@users.sf.net>
13365 * check/gst-libs/controller.c: (GST_START_TEST),
13366 (gst_controller_suite):
13367 * libs/gst/controller/gstcontroller.c:
13368 (gst_controlled_property_set_interpolation_mode):
13369 * libs/gst/controller/gstcontroller.h:
13370 * libs/gst/controller/gstinterpolation.c:
13371 * testsuite/controller/.cvsignore:
13372 * testsuite/controller/Makefile.am:
13373 * testsuite/controller/interpolator.c:
13374 merge controller testsuites
13376 remove mem-chunk from docs
13378 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
13380 * gst/gstmemchunk.c:
13381 * gst/gstmemchunk.h:
13382 * gst/gsttrashstack.c:
13383 * gst/gsttrashstack.h:
13384 out. get out. you're fired. to the Attic !
13386 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
13388 * gst/gstcaps.c: (gst_caps_intersect):
13389 fix signedness issues in a (hopefully) correct way
13390 * gst/gstelement.c: (gst_element_pads_activate):
13392 * gst/gstobject.c: (gst_object_set_parent):
13395 2005-10-17 Julien MOUTTE <julien@moutte.net>
13397 * gst/gstvalue.h: Fix prototypes.
13399 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13401 * docs/gst/gstreamer-sections.txt:
13402 * gst/gst.c: (gst_version_string):
13404 * gst/gstversion.h.in:
13405 * win32/common/libgstreamer.def:
13406 add gst_version_string ()
13408 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13412 * gst/gst.c: (init_post):
13413 * win32/common/config.h.in:
13415 * gst/gstcaps.c: (gst_caps_intersect):
13416 use gint64, the range could be bigger than a guint
13418 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13421 document potential problem in 2038
13423 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13425 * gst/gstcaps.c: (gst_caps_intersect):
13426 Fix guint j diving under 0
13428 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13431 * win32/common/config.h:
13432 * win32/common/config.h.in:
13433 check for process.h, declares getpid() on Windows
13435 include process.h if we have it
13436 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13437 * gst/gstmemchunk.h:
13438 fix signedness issues
13439 * win32/common/libgstreamer.def:
13442 2005-10-16 Julien MOUTTE <julien@moutte.net>
13444 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13445 fix. Because of unsigned ints, caps intersection was going nuts and
13446 trying to access structures with G_MAXUINT index. That fixes
13447 videotestsrc ! ffmpegcolorspace ! fakesink
13448 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13451 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13454 use the gettext macro
13455 * gst/elements/gstelements.c:
13457 * gst/indexers/gstindexers.c:
13458 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13459 * win32/common/config.h:
13461 * win32/common/config.h.in:
13462 add the template to generate config.h
13463 * win32/common/gstenumtypes.c:
13464 * win32/common/gstversion.h:
13467 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
13469 * gst/gst.c: (gst_version):
13470 * gst/gstversion.h.in:
13473 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
13476 Oops, add missing closing bracket.
13478 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13481 use common m4's for argument checking
13483 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
13485 * docs/gst/gstreamer-sections.txt:
13487 Add GST_EVENT_TYPE_NAME() macro.
13489 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13492 * gst/gstpluginfeature.c:
13494 privatize more symbols
13496 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13499 add srcdir, builddir includes to GST_ALL_CFLAGS, since
13500 everything that uses GStreamer API should have the includes
13502 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13504 * docs/gst/gstreamer-sections.txt:
13505 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13507 give each value a _get_type, removes the DATA exports
13509 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13513 remove _gst_registry_auto_load, not used anymore
13514 * gst/gstbin.c: (gst_bin_get_type):
13516 * gst/gstelement.c: (gst_element_get_type):
13517 * gst/gstelement.h:
13518 * gst/gstobject.c: (gst_object_get_type):
13520 * gst/gstpad.c: (gst_pad_get_type):
13522 make _get_type functions similar, fixes data export from library
13524 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13527 correctly make conditionals
13528 * gst/elements/Makefile.am:
13529 * gst/elements/gstelements.c:
13530 fix typo causing fdsrc not to build
13532 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13534 * testsuite/Makefile.am:
13535 * testsuite/bytestream/.cvsignore:
13536 * testsuite/bytestream/Makefile.am:
13537 * testsuite/bytestream/filepadsink.c:
13538 * testsuite/bytestream/gstbstest.c:
13539 * testsuite/bytestream/test1.c:
13540 * testsuite/bytestream/testfile1:
13541 * testsuite/caps/normalisation.c:
13542 * testsuite/caps/random.c: (main):
13543 * testsuite/cleanup/.cvsignore:
13544 * testsuite/cleanup/Makefile.am:
13545 * testsuite/cleanup/cleanup1.c:
13546 * testsuite/cleanup/cleanup2.c:
13547 * testsuite/cleanup/cleanup3.c:
13548 * testsuite/cleanup/cleanup4.c:
13549 * testsuite/cleanup/cleanup5.c:
13550 * testsuite/controller/interpolator.c:
13551 * testsuite/debug/printf_extension.c: (main):
13552 * testsuite/elements/tee.c:
13553 * testsuite/negotiation/.cvsignore:
13554 * testsuite/negotiation/Makefile.am:
13555 * testsuite/negotiation/pad_link.c:
13556 * testsuite/pad/Makefile.am:
13557 * testsuite/pad/chainnopull.c:
13558 * testsuite/pad/getnopush.c:
13559 * testsuite/pad/link.c:
13560 * testsuite/refcounting/sched.c: (create_pipeline):
13561 * testsuite/registry/Makefile.am:
13562 * testsuite/registry/gst-print-formats.c:
13563 * testsuite/schedulers/.cvsignore:
13564 * testsuite/schedulers/142183-2.c:
13565 * testsuite/schedulers/142183.c:
13566 * testsuite/schedulers/143777-2.c:
13567 * testsuite/schedulers/143777.c:
13568 * testsuite/schedulers/147713.c:
13569 * testsuite/schedulers/147819.c:
13570 * testsuite/schedulers/147894-2.c:
13571 * testsuite/schedulers/147894.c:
13572 * testsuite/schedulers/Makefile.am:
13573 * testsuite/schedulers/group_link.c:
13574 * testsuite/schedulers/queue_link.c:
13575 * testsuite/schedulers/relink.c:
13576 * testsuite/schedulers/unlink.c:
13577 * testsuite/schedulers/unref.c:
13578 * testsuite/schedulers/useless_iteration.c:
13579 * testsuite/states/bin.c:
13580 clean out/remove some stuff from the testsuite directories
13582 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13585 check for some headers
13586 * gst/elements/Makefile.am:
13587 * gst/elements/gstelements.c:
13588 don't compile fdsrc without sys/socket.h
13589 * gst/indexers/Makefile.am:
13590 * gst/indexers/gstindexers.c: (plugin_init):
13591 don't compile fileindex without mmap
13593 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
13600 * check/Makefile.am:
13601 * docs/gst/Makefile.am:
13602 * examples/helloworld/Makefile.am:
13604 * gst/base/Makefile.am:
13605 * gst/check/Makefile.am:
13606 * gst/elements/Makefile.am:
13607 * gst/indexers/Makefile.am:
13608 * gst/parse/Makefile.am:
13609 * libs/gst/controller/Makefile.am:
13610 * libs/gst/dataprotocol/Makefile.am:
13611 * examples/helloworld/helloworld.c: (event_loop):
13612 compile fixes, though it's not being compiled currently
13614 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
13616 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
13617 Add some simple tests for the new taglist date API.
13619 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
13621 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
13622 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
13623 Beautify 'last-message' output: print 'none' for buffer timestamps
13624 and durations if none is set; improve alignment with next messages.
13626 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
13628 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
13629 * gst/gstpluginfeature.h:
13630 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
13631 * gst/gstregistry.h:
13632 * docs/gst/gstreamer-sections.txt:
13633 Add new API to check plugin feature version requirements.
13635 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
13636 Some basic tests for the above.
13638 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13640 * gst/gststructure.c: (gst_structure_to_string):
13641 guard against NULL printf - happens when for example
13642 a message structure with GstClock gets serialized
13644 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
13646 * gst/base/gstcollectpads.c: (gst_collectpads_event):
13647 Fix presumable copy'n'pasto.
13649 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13651 * gst/elements/gstfakesrc.h:
13652 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
13653 * gst/elements/gsttypefindelement.c:
13654 fix some signedness
13655 * gst/elements/gstfilesink.c: (gst_file_sink_render):
13656 I wonder if this could actually write +2GB files before
13658 2005-10-13 Andy Wingo <wingo@pobox.com>
13660 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
13661 Fix Timmeke Waymans bug.
13662 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
13663 string of the proper length to gst_caps_from_string. There's a
13664 potential for, before this fix, that this could cause someone
13665 connecting over the network to cause a segfault if the payload is
13666 not NUL-terminated.
13668 2005-10-13 Stefan Kost <ensonic@users.sf.net>
13670 * docs/design/draft-push-pull.txt:
13671 * docs/design/part-overview.txt:
13672 * docs/random/TODO-pre-0.9:
13673 * docs/random/old/ChangeLog.gstreamer:
13674 * gst/base/gstpushsrc.c:
13678 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13680 * gst/glib-compat.c: (gst_flags_get_first_value):
13681 * gst/glib-compat.h:
13682 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
13683 (gst_value_compare_double), (gst_value_serialize_flags):
13684 GLib 2.6 g_flags_get_first_value has a bug that triggers an
13687 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13689 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13690 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13692 * tools/gst-launch.c: (event_loop):
13693 print out clock nicely
13695 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
13697 * docs/gst/gstreamer-sections.txt:
13698 * gst/gsttaglist.h:
13699 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
13700 (gst_tag_list_get_date_index):
13701 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
13702 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
13704 2005-10-13 Julien MOUTTE <julien@moutte.net>
13706 * gst/base/gstcollectpads.c: (gst_collectpads_event),
13707 (gst_collectpads_chain):
13708 * gst/base/gstcollectpads.h: Handle newsegment and store informations
13711 2005-10-13 Stefan Kost <ensonic@users.sf.net>
13713 * docs/gst/gstreamer-sections.txt:
13716 * tools/gst-inspect.c: (main):
13717 * tools/gst-launch.c: (main):
13718 * tools/gst-run.c: (main):
13719 * tools/gst-xmlinspect.c: (main):
13720 fix GOption context leaks
13723 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
13727 * win32/common/config.h:
13729 * win32/vs6/grammar.dsp:
13730 * win32/vs6/libgstelements.dsp:
13731 * win32/vs6/libgstreamer.dsp:
13734 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
13736 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13737 * gst/base/gstbasesrc.c: (gst_base_src_query):
13738 fix more guint64<->gdouble conversions
13740 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
13743 add win32-update target
13744 * win32/common/gstconfig.h:
13745 * win32/common/gstenumtypes.c:
13746 * win32/common/gstenumtypes.h:
13747 * win32/common/gstversion.h:
13748 add files that visual studio can't generate
13750 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
13753 add a win32-update target
13756 2005-10-12 Wim Taymans <wim@fluendo.com>
13758 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13759 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
13760 * gst/gstelement.c: (gst_element_commit_state),
13761 (gst_element_set_state):
13762 Protect flags with proper lock.
13763 unref provided cached clock in dispose.
13765 2005-10-12 Stefan Kost <ensonic@users.sf.net>
13768 * gst/gstminiobject.h:
13770 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
13771 removed unused flags from miniobject
13774 2005-10-12 Wim Taymans <wim@fluendo.com>
13776 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13777 (gst_file_sink_event), (gst_file_sink_render):
13778 Flush before seeking.
13780 2005-10-12 Andy Wingo <wingo@pobox.com>
13782 * gst/gst.c (gst_init_check): Ignore unknown options, as has
13783 always been the case.
13785 2005-10-12 Stefan Kost <ensonic@users.sf.net>
13787 * check/gst/gstbin.c: (GST_START_TEST):
13788 * docs/gst/gstreamer-sections.txt:
13789 * gst/base/gstbasesink.c: (gst_base_sink_init):
13790 * gst/base/gstbasesrc.c: (gst_base_src_init),
13791 (gst_base_src_get_range), (gst_base_src_check_get_range),
13792 (gst_base_src_start), (gst_base_src_stop):
13793 * gst/base/gstbasesrc.h:
13794 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
13795 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13796 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
13800 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
13802 * gst/gstelement.c: (gst_element_is_locked_state),
13803 (gst_element_set_locked_state), (gst_element_commit_state),
13804 (gst_element_set_state):
13805 * gst/gstelement.h:
13806 * gst/gstindex.c: (gst_index_init):
13808 * gst/gstminiobject.h:
13809 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
13810 (gst_object_set_parent):
13812 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
13813 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
13815 * gst/gstpadtemplate.h:
13816 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
13817 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
13818 * gst/gstpipeline.h:
13819 * gst/indexers/gstfileindex.c: (gst_file_index_load),
13820 (gst_file_index_commit):
13821 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
13822 * testsuite/pad/link.c: (gst_test_src_init),
13823 (gst_test_filter_init), (gst_test_sink_init):
13824 * testsuite/states/locked.c: (main):
13825 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
13826 moved bitshift from macro to enum definition
13828 2005-10-12 Wim Taymans <wim@fluendo.com>
13830 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
13831 * gst/elements/gstfilesink.c: (gst_file_sink_event),
13832 (gst_file_sink_render):
13833 Some more debugging info.
13835 2005-10-12 Wim Taymans <wim@fluendo.com>
13837 * docs/design/part-states.txt:
13838 * tools/gst-launch.c: (main):
13840 Revert non-intentional change.
13842 2005-10-12 Wim Taymans <wim@fluendo.com>
13844 * check/gst/gstbin.c: (GST_START_TEST):
13845 * check/gst/gstelement.c: (GST_START_TEST):
13846 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
13847 * check/gst/gstghostpad.c: (GST_START_TEST):
13848 * check/gst/gstpipeline.c: (GST_START_TEST):
13849 * check/pipelines/simple_launch_lines.c: (run_pipeline):
13850 * check/states/sinks.c: (GST_START_TEST):
13851 * gst/elements/gsttypefindelement.c: (stop_typefinding):
13852 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13853 (gst_bin_remove_func), (gst_bin_get_state_func),
13854 (gst_bin_recalc_state), (gst_bin_change_state_func),
13856 * gst/gstelement.c: (gst_element_get_state_func),
13857 (gst_element_get_state), (gst_element_abort_state),
13858 (gst_element_commit_state), (gst_element_set_state),
13859 (gst_element_change_state), (gst_element_change_state_func):
13860 * gst/gstelement.h:
13861 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
13862 (gst_pipeline_provide_clock_func):
13863 * gst/gstutils.c: (gst_element_link_pads_filtered):
13864 * tools/gst-launch.c: (main):
13865 * tools/gst-typefind.c: (main):
13866 Use GstClockTime in _get_state() instead of GTimeVal.
13867 Remove old code in gstutils.c
13869 2005-10-12 Andy Wingo <wingo@pobox.com>
13871 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
13874 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
13875 there is no task. Shouldn't affect any code, as nothing in our
13876 plugins checks this return value.
13877 (gst_pad_stop_task): Also take the stream lock if the pad has no
13878 task. Docs updated.
13880 2005-10-12 Wim Taymans <wim@fluendo.com>
13882 * gst/gstpad.c: (pre_activate), (post_activate),
13883 (gst_pad_activate_pull), (gst_pad_activate_push):
13884 Cleanup activation code. Reset old state if
13887 2005-10-12 Wim Taymans <wim@fluendo.com>
13889 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13890 (gst_base_sink_change_state):
13891 No need to prerol after receiving EOS.
13893 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13894 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
13895 * gst/elements/gstidentity.c: (gst_identity_event):
13896 Print events more verbosely.
13898 2005-10-12 Wim Taymans <wim@fluendo.com>
13900 * check/Makefile.am:
13901 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13902 * check/states/sinks2.c:
13903 Moved sinks2 testcode in sinks check.
13905 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
13906 (gst_bin_remove_func), (gst_bin_recalc_state),
13907 (gst_bin_change_state_func), (bin_bus_handler):
13908 Fix potential race condition when _get_state() iterated over an
13909 ASYNC element right before it posted a state completion.
13912 Do proper cast here.
13914 * gst/gstevent.c: (gst_event_new_newsegment),
13915 (gst_event_parse_newsegment):
13916 A playback rate of 0.0 is not allowed.
13918 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13920 * win32/common/config.h:
13921 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
13922 (_trewinddir), (_ttelldir), (_tseekdir):
13923 * win32/common/dirent.h:
13924 * win32/common/gtchar.h:
13925 * win32/common/libgstbase.def:
13926 * win32/common/libgstreamer.def:
13927 * win32/vs6/grammar.dsp:
13928 * win32/vs6/gst_inspect.dsp:
13929 * win32/vs6/gst_launch.dsp:
13930 * win32/vs6/gstreamer.dsw:
13931 * win32/vs6/libgstbase.dsp:
13932 * win32/vs6/libgstelements.dsp:
13933 * win32/vs6/libgstreamer.dsp:
13934 Visual Studio 6 project files, and a new common directory.
13937 2005-10-11 Wim Taymans <wim@fluendo.com>
13939 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13940 (gst_base_sink_do_sync), (gst_base_sink_query),
13941 (gst_base_sink_change_state):
13942 * gst/base/gstbasesink.h:
13943 Correctly parse newsegment info.
13945 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13947 * gst/gst.c: (init_post):
13948 split plugin paths correctly
13950 2005-10-11 Wim Taymans <wim@fluendo.com>
13952 * check/gst/gstevent.c: (GST_START_TEST):
13953 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13954 (gst_base_sink_change_state):
13955 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
13956 * gst/base/gstbasetransform.c: (gst_base_transform_event):
13957 * gst/elements/gstfilesink.c: (gst_file_sink_event):
13958 * gst/gstevent.c: (gst_event_new_newsegment),
13959 (gst_event_parse_newsegment):
13961 Added extra flag to newsegment for future API freeze.
13962 Updated check and base elements.
13964 2005-10-11 Julien MOUTTE <julien@moutte.net>
13966 * gst/base/gstcollectpads.c: (gst_collectpads_init),
13967 (gst_collectpads_add_pad), (gst_collectpads_pop),
13968 (gst_collectpads_event), (gst_collectpads_chain):
13969 * gst/base/gstcollectpads.h: Handle EOS correctly.
13971 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13973 * tools/gst-launch.c: (main):
13974 more null protecting
13976 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13978 * gst/gst-i18n-lib.h:
13979 check for ENABLE_NLS, not GETTEXT_PACKAGE
13980 * gst/gstregistry.c: (gst_registry_add_plugin),
13981 (gst_registry_scan_path_level),
13982 (_gst_registry_remove_cache_plugins):
13983 protect possibly NULL strings
13984 * gst/parse/types.h:
13985 config.h already included before
13986 * tools/gst-inspect.c: (main):
13987 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
13988 check for ENABLE_NLS, not GETTEXT_PACKAGE
13989 * tools/gst-launch.c: (main):
13990 check for ENABLE_NLS, not GETTEXT_PACKAGE
13992 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
13995 if we don't have glib, fail before testing 2.8
13996 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
13997 fix a leak, should fix plugins-base testsuite
13999 2005-10-11 Andy Wingo <wingo@pobox.com>
14001 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
14002 take the mode we're going to as an arg. Go head and set the mode
14003 and flushing flags now, so that if the activate function starts a
14004 thread all the flags will be in the right state.
14005 (post_activate): Renamed also. Just handle making sure streaming
14006 finishes for the deactivation case, and setting the deactivated
14008 (gst_pad_set_active): Complain loudly if deactivation fails.
14009 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
14010 (gst_pad_activate_push): Adapt to pre/post_activate changes,
14011 remove the terrible hack.
14013 2005-10-11 Wim Taymans <wim@fluendo.com>
14015 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14016 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
14017 (gst_bin_recalc_state), (gst_bin_change_state_func),
14018 (gst_bin_dispose), (bin_bus_handler):
14020 Prepare to make current EOS message queue more generic.
14023 * gst/gstevent.c: (gst_event_new_newsegment),
14024 (gst_event_parse_newsegment):
14026 Rename base to stream_time.
14028 * gst/gstmessage.h:
14031 2005-10-11 Wim Taymans <wim@fluendo.com>
14033 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14034 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
14035 (gst_bin_change_state_func), (bin_bus_handler):
14037 Work on proper clock selection.
14039 2005-10-11 Edward Hervey <edward@fluendo.com>
14041 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
14042 * libs/gst/controller/gstcontroller.h:
14043 Added GList* version of _remove_properties() in order to be able to wrap
14046 2005-10-11 Wim Taymans <wim@fluendo.com>
14048 * docs/design/part-states.txt:
14051 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
14052 (gst_bin_change_state_func), (bin_bus_handler):
14053 Doc updates. Don't distribute the same clock over and over again.
14059 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14060 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14061 (gst_pad_send_event):
14063 Make probe emission threadsafe again.
14064 Register quarks and move _get_name() from utils.
14067 * gst/gstpipeline.c: (gst_pipeline_class_init),
14068 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14069 Only redistribute the clock of it changed.
14071 * gst/gstsystemclock.h:
14076 Moved the _flow_get_name() to GstPad.
14078 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
14080 * check/gst-libs/gdp.c: (GST_START_TEST):
14081 * check/gst/gstcaps.c: (GST_START_TEST):
14082 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14083 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14084 (gst_dp_packet_from_caps):
14085 fix more valgrind warnings before turning up the heat
14087 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
14089 * gst/parse/grammar.y:
14090 some cleanup before the hacking
14092 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
14094 * gst/base/gstbasesrc.c: (gst_base_src_query):
14096 * gst/gstutils.c: (gst_guint64_to_gdouble),
14097 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14099 externalize, basesrc uses it
14100 obviously the implementation needs testing
14102 2005-10-10 Wim Taymans <wim@fluendo.com>
14104 * tests/sched/Makefile.am:
14105 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14106 (make_pipeline3), (make_pipeline4), (print_elem), (main):
14108 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
14110 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14111 apparently converting from guint64 to double is not implemented
14114 2005-10-10 Wim Taymans <wim@fluendo.com>
14116 * check/Makefile.am:
14117 * check/generic/states.c: (GST_START_TEST):
14118 * check/gst/gstbin.c: (GST_START_TEST):
14119 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14120 * check/states/sinks.c: (GST_START_TEST):
14121 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14123 Check fixes, use API as stated in design docs, remove hacks.
14125 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14126 (gst_base_sink_change_state):
14127 Catch stopping our task while we're shutting down.
14129 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14130 (gst_bin_remove_func), (gst_bin_get_state_func),
14131 (gst_bin_recalc_state), (gst_bin_change_state_func),
14134 * gst/gstelement.c: (gst_element_init),
14135 (gst_element_get_state_func), (gst_element_abort_state),
14136 (gst_element_commit_state), (gst_element_lost_state),
14137 (gst_element_set_state), (gst_element_change_state),
14138 (gst_element_change_state_func):
14139 * gst/gstelement.h:
14140 New state change algorithm (see #318116)
14142 * gst/gstpipeline.c: (gst_pipeline_class_init),
14143 (gst_pipeline_init), (gst_pipeline_set_property),
14144 (gst_pipeline_get_property), (do_pipeline_seek),
14145 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14146 * gst/gstpipeline.h:
14147 Remove crude state change hacks.
14150 Remove crude hacks.
14152 * tools/gst-launch.c: (main):
14153 Fixes for state change. Needs some more work to fully use the
14156 2005-10-10 Andy Wingo <wingo@pobox.com>
14158 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14160 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14161 this flag, but it's not even in GLib 2.6. Odd. Hack around the
14164 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
14166 * gst/gstiterator.c: (gst_iterator_new):
14167 Fix my previous commit: GTypes passed to gst_iterator_new()
14168 can be fundamental types.
14170 2005-10-10 Wim Taymans <wim@fluendo.com>
14172 * gst/gstelement.c: (gst_element_iterate_pad_list),
14173 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14174 (gst_element_iterate_sink_pads):
14175 Use src/sink pads lists for the respective iterators instead
14178 2005-10-10 Andy Wingo <wingo@pobox.com>
14180 Merged in popt removal + GOption addition patch from Ronald, bug
14183 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14184 GstElement macros around, remove popt-related symbols, add goption
14187 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14189 * docs/gst/Makefile.am:
14190 * docs/libs/Makefile.am: No POPT_CFLAGS.
14192 * examples/manual/Makefile.am:
14193 * docs/manual/basics-init.xml: Doc updates with an example.
14195 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14196 (gst_init), (parse_one_option), (parse_goption_arg):
14197 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14198 bit of hand merging and debugging to get the GOption stuff working
14201 * tests/Makefile.am:
14202 * tools/Makefile.am:
14203 * tools/gst-inspect.c: (main):
14204 * tools/gst-launch.c: (main):
14205 * tools/gst-run.c: (main):
14206 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14208 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
14210 * gst/gstiterator.c: (gst_iterator_new):
14211 Add assertions to make sure passed GType is likely to really
14212 be a GType (as the compiler won't catch it if the size and
14213 GType arguments get mixed up, see #318447).
14215 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
14217 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
14219 * gst/gstbin.c: (gst_bin_iterate_sorted):
14220 Pass GType and size arguments to gst_iterator_new() in the right
14221 order (maybe we should make _new() take the GType as first argument
14222 just like _new_list()?) (#318447).
14225 2005-10-10 Wim Taymans <wim@fluendo.com>
14227 * gst/gstelement.c: (gst_element_finalize):
14228 And free the GStaticRecMutex too
14230 2005-10-10 Andy Wingo <wingo@pobox.com>
14232 * gst/gstelement.c (gst_element_init, gst_element_finalize):
14233 Allocate and free the mutex properly.
14235 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14237 (GstElement): The state_lock is now recursive. Rebuild your
14238 plugins, suckers. Old macros adapted.
14240 * docs/gst/gstreamer-sections.txt: Doc updates.
14243 * gst/gstutils.c (g_static_rec_cond_timed_wait)
14244 (g_static_rec_cond_wait): Ported from state changes patch, while
14245 we wait on bug #317802 to be solved in a well-distributed GLib.
14247 * gst/gstelement.c (gst_element_change_state_func): Renamed from
14248 gst_element_change_state, variable name changes.
14249 (gst_element_change_state): Split out of gst_element_set_state in
14250 preparation for the state change merge. Doesn't pay attention to
14251 the 'transition' argument.
14252 (gst_element_set_state): Updates, hopefully purely cosmetic.
14253 (gst_element_sync_state_with_parent): MT-safety. Ported from the
14254 state change patch.
14255 (gst_element_get_state_func): Renamed from get_state, cosmetic
14258 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
14260 * gst/elements/gstelements.c:
14261 * win32/GStreamer.vcproj:
14263 * win32/dirent.c: (_tseekdir):
14264 * win32/gst-inspect.vcproj:
14265 * win32/gst-launch.vcproj:
14266 * win32/gstconfig.h:
14267 * win32/gstelements.vcproj:
14268 * win32/gstenumtypes.c: (gst_object_flags_get_type):
14269 * win32/gstreamer.def:
14270 * win32/msvc71.sln:
14271 updates for the win32 build (patch from Sebastien Moutte)
14273 2005-10-10 Andy Wingo <wingo@pobox.com>
14275 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14276 gst_bin_get_state, cleaned up (but no logic changes).
14277 (bin_element_is_sink): Comment updates.
14278 (sink_iterator_filter): Remove needless cast.
14279 (gst_bin_iterate_sinks): Doc update.
14280 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14281 cleaned up (but no logic changes).
14283 * check/states/sinks.c (test_src_sink): Cleanups from the state
14285 (test_livesrc_sink): Sync on the state.
14287 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14288 the state change patch.
14290 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14293 * check/gst/gstbin.c: Merge in some style fixes and additional
14294 checks from Wim's state change patch.
14296 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
14298 * gst/base/gsttypefindhelper.c: (helper_find_peek),
14299 (gst_type_find_helper):
14300 Check whether we have the requested data already in our list of
14301 cached buffers before pulling a new buffer; also make the buffer
14302 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14304 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
14309 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14310 don't use long long, it's not portable. Replacing with
14311 gint64 seems to work; let's hope no skeletons fall out of the closet.
14313 2005-10-10 Andy Wingo <wingo@pobox.com>
14315 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14317 2005-10-09 Stefan Kost <ensonic@users.sf.net>
14319 * docs/gst/gstreamer-sections.txt:
14324 * gst/gstmessage.c: (gst_message_parse_state_changed):
14327 more docs, fix compilation
14329 2005-10-09 Philippe Khalaf <burger@speedy.org>
14330 * gst/gstmessage.c:
14331 Fixed a few forgotten variables on previous commit
14333 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
14335 * gst/base/gsttypefindhelper.c: (helper_find_peek):
14336 Fix evil typefind crasher: getrange() might return a short
14337 buffer at the end of a file, but gst_type_find_peek() must
14338 either return the full data as requested or NULL, but
14339 never a short buffer.
14341 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
14343 * gst/gstmessage.c: (gst_message_new_state_changed),
14344 (gst_message_parse_state_changed):
14345 * gst/gstmessage.h:
14346 don't use "new", it's a C++ keyword
14348 2005-10-08 Wim Taymans <wim@fluendo.com>
14350 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14351 * gst/gstelement.c: (gst_element_post_message):
14352 * gst/gstpipeline.c: (gst_pipeline_change_state):
14353 Small docs and debug updates.
14355 2005-10-08 Stefan Kost <ensonic@users.sf.net>
14357 * docs/gst/gstreamer-sections.txt:
14358 * gst/gstelementfactory.c:
14360 * gst/gsttaglist.c:
14363 2005-10-08 Wim Taymans <wim@fluendo.com>
14365 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14366 (gst_bin_dispose), (bin_bus_handler):
14367 Fix typos, add comments.
14368 Clear EOS list when going to PAUSED from any direction and do it
14369 in a threadsafe way.
14370 Get base time in a threadsafe way too.
14371 Fix confusing debug in the change_state function.
14372 Various other small cleanups.
14374 * gst/gstelement.c: (gst_element_post_message):
14375 Fix very verbose bus posting code.
14377 * gst/gstpipeline.c: (gst_pipeline_class_init),
14378 (gst_pipeline_set_property), (gst_pipeline_get_property),
14379 (gst_pipeline_change_state):
14380 Small ARG_ -> PROP_ cleanup
14382 2005-10-08 Wim Taymans <wim@fluendo.com>
14384 * gst/gstbin.c: (is_eos), (bin_bus_handler):
14385 Do a less CPU demanding EOS check because we can.
14387 2005-10-08 Wim Taymans <wim@fluendo.com>
14389 * libs/gst/dataprotocol/dataprotocol.c:
14390 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14391 (gst_dp_packet_from_event):
14392 * libs/gst/dataprotocol/dataprotocol.h:
14393 * libs/gst/dataprotocol/dp-private.h:
14394 It's about time we bump the version number.
14395 Since event types don't fit in the guint8 anymore describing
14396 the payload type, make payload type 16 bits wide.
14398 2005-10-08 Wim Taymans <wim@fluendo.com>
14400 * docs/design/part-TODO.txt:
14401 * docs/design/part-clocks.txt:
14402 * docs/design/part-events.txt:
14403 * docs/design/part-gstbin.txt:
14404 * docs/design/part-gstelement.txt:
14405 * docs/design/part-gstpipeline.txt:
14406 * docs/design/part-live-source.txt:
14407 * docs/design/part-messages.txt:
14408 * docs/design/part-overview.txt:
14409 * docs/design/part-states.txt:
14412 2005-10-08 Wim Taymans <wim@fluendo.com>
14416 Fix event quark registration.
14417 Add some space between events so we can insert them in the
14420 2005-10-08 Wim Taymans <wim@fluendo.com>
14422 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14423 (gst_base_sink_handle_buffer):
14424 Better log message.
14427 * gst/gstelement.h:
14430 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14431 (gst_queue_set_property), (gst_queue_get_property):
14433 Remove old unused properties.
14435 2005-10-08 Stefan Kost <ensonic@users.sf.net>
14436 * docs/gst/gstreamer-sections.txt:
14437 * gst/gstmessage.c:
14438 * gst/gstmessage.h:
14439 * gst/gstminiobject.c:
14440 * gst/gstminiobject.h:
14444 lots of new docs and doc fixes
14446 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14448 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14450 * gst/gstregistry.c: (gst_registry_lookup_locked),
14451 (gst_registry_scan_path_level):
14452 * gst/gstregistryxml.c: (load_plugin):
14453 Only ever load one plugin for a given plugin basename.
14454 This ensures correct overriding of GST_PLUGIN_PATH over
14455 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14456 system installed plugins.
14458 2005-10-08 Wim Taymans <wim@fluendo.com>
14460 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14461 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14462 Prepare for doing QOS.
14464 2005-10-08 Wim Taymans <wim@fluendo.com>
14466 * check/gst/gstbin.c: (GST_START_TEST):
14467 * check/pipelines/cleanup.c: (GST_START_TEST):
14468 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14469 Allow new clock message too.
14471 2005-10-08 Wim Taymans <wim@fluendo.com>
14473 * gst/gstmessage.c: (gst_message_new_error),
14474 (gst_message_new_warning), (gst_message_new_tag),
14475 (gst_message_new_state_changed), (gst_message_new_clock_provide),
14476 (gst_message_new_clock_lost), (gst_message_new_new_clock),
14477 (gst_message_new_segment_start), (gst_message_new_segment_done),
14478 (gst_message_parse_state_changed),
14479 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14480 (gst_message_parse_new_clock):
14481 * gst/gstmessage.h:
14482 Also carry the clock in question.
14484 2005-10-08 Wim Taymans <wim@fluendo.com>
14486 * gst/gstmessage.c: (gst_message_new_custom),
14487 (gst_message_new_eos), (gst_message_new_error),
14488 (gst_message_new_warning), (gst_message_new_tag),
14489 (gst_message_new_state_changed), (gst_message_new_clock_provide),
14490 (gst_message_new_new_clock), (gst_message_new_segment_start),
14491 (gst_message_new_segment_done), (gst_message_parse_state_changed),
14492 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14493 * gst/gstmessage.h:
14495 Added clock related messages.
14497 * gst/gstpipeline.c: (gst_pipeline_change_state):
14498 Post message when the clock changed.
14500 * tools/gst-launch.c: (event_loop):
14503 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
14505 * tools/gst-inspect.c: (print_element_properties_info):
14506 Can't pass NULL strings to g_print() on windows.
14508 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14510 * docs/Makefile.am:
14511 * docs/gst/Makefile.am:
14512 * docs/gst/gstreamer-docs.sgml:
14513 * docs/gst/running.xml:
14514 * docs/version.entities.in:
14515 add a chapter on running GStreamer.
14516 document GST_DEBUG and GST_PLUGIN* env vars
14518 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14523 remove PLUGINS_BUILDDIR stuff
14524 * gst/gst.c: (init_post):
14525 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14527 remove, it was condescending and not needed
14529 2005-10-08 Wim Taymans <wim@fluendo.com>
14531 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14532 (gst_base_sink_handle_object), (gst_base_sink_event),
14533 (gst_base_sink_wait), (gst_base_sink_handle_event),
14534 (gst_base_sink_change_state):
14535 * gst/base/gstbasesink.h:
14536 Repost EOS message while going to PLAYING if still EOS.
14537 Make sure that when receiving a FLUSH_START we don't attempt
14538 to sync on the clock anymore.
14540 2005-10-08 Wim Taymans <wim@fluendo.com>
14542 * tools/gst-launch.c: (event_loop):
14543 Better message printout.
14545 2005-10-08 Wim Taymans <wim@fluendo.com>
14547 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
14548 (gst_bin_child_proxy_get_children_count):
14549 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14550 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
14551 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
14552 (gst_child_proxy_set_valist):
14553 * gst/parse/grammar.y:
14554 Make ChildProxy threadsafe and fix mem leaks.
14556 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14558 * gst/gst.c: (init_post):
14559 debug the GST_PLUGIN_ env vars
14561 2005-10-08 Wim Taymans <wim@fluendo.com>
14563 * check/gst/gstbin.c: (GST_START_TEST):
14564 * check/gst/gstmessage.c: (GST_START_TEST):
14565 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14566 * gst/gstelement.c: (gst_element_commit_state),
14567 (gst_element_lost_state):
14568 * gst/gstmessage.c: (gst_message_new_state_changed),
14569 (gst_message_parse_state_changed):
14570 * gst/gstmessage.h:
14571 * tools/gst-launch.c: (event_loop):
14572 Added extra field to STATE_CHANGE message with the pending
14573 state, which will be different from the new state soon.
14575 2005-10-08 Wim Taymans <wim@fluendo.com>
14577 * gst/gstbus.c: (gst_bus_pop):
14579 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14580 Small cleanups and doc updates.
14582 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
14584 * gst/gst.c: (init_pre):
14585 * gst/gstbin.c: (gst_bin_add_func):
14586 log distributing clocks and base time
14587 * gst/gstregistry.c: (gst_registry_add_plugin),
14588 (gst_registry_scan_path_level), (gst_registry_scan_path):
14589 clean up the debugging output a little
14590 * gst/gstutils.c: (gst_element_state_get_name):
14591 warn about a memleak (I've actually seen this be used, though
14592 it was probably a bug)
14594 2005-10-07 Wim Taymans <wim@fluendo.com>
14596 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14597 (gst_base_src_init), (gst_base_src_default_newsegment),
14598 (gst_base_src_newsegment), (gst_base_src_do_seek),
14599 (gst_base_src_loop), (gst_base_src_start):
14600 * gst/base/gstbasesrc.h:
14601 Make the newsegment event customizable by subclasses.
14603 2005-10-07 Wim Taymans <wim@fluendo.com>
14605 * gst/gstevent.c: (gst_event_new_buffersize),
14606 (gst_event_parse_buffersize):
14608 New event for future idea.
14610 2005-10-07 Andy Wingo <wingo@pobox.com>
14612 * gst/gstelement.c (gst_element_post_message): Doc update.
14614 * docs/gst/gstreamer-sections.txt: Update.
14616 * gst/gstmessage.c (gst_message_new_application): Made into a
14617 function like honest API calls.
14618 (gst_message_new_element): New message type.
14620 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
14622 * check/elements/fakesrc.c (test_no_preroll): New check, checks
14623 that setting a live fakesrc to PAUSED returns NO_PREROLL both
14626 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
14627 NO_PREROLL from gst_element_change_state to fall through.
14629 2005-10-07 Wim Taymans <wim@fluendo.com>
14631 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
14632 (gst_ghost_pad_do_activate_push):
14633 Activating a ghostpad with no internal pad in push mode
14636 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
14639 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
14640 Fixes compilation on Windows.
14642 2005-10-07 Michael Smith <msmith@fluendo.com>
14644 * tools/gst-inspect.c:
14645 Print out feature and plugin count at the end when printing out
14648 2005-10-04 Michael Smith <msmith@fluendo.com>
14650 * gst/gsterror.c: (_gst_stream_errors_init):
14651 Add another error string used in a few existing plugins.
14654 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14655 * tools/gst-inspect.c: (print_element_info):
14656 When a feature disappears from a plugin (and the feature exists in
14657 the cached registry file), things went horribly wrong. This isn't a
14658 complete fix, we should actually be removing the 'missing' features
14659 from the features list when we load the actual plugin. That's not
14662 2005-10-04 Johan Dahlin <johan@gnome.org>
14664 * check/gst/gstiterator.c: (GST_START_TEST):
14665 * gst/gstbin.c: (gst_bin_iterate_elements),
14666 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
14667 * gst/gstelement.c: (gst_element_iterate_pads):
14668 * gst/gstformat.c: (gst_format_iterate_definitions):
14669 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14670 (gst_iterator_new_list), (gst_iterator_filter):
14671 * gst/gstiterator.h:
14672 * gst/gstquery.c: (gst_query_type_iterate_definitions):
14673 Add a GType to GstIterator, update callsites and tests.
14675 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14677 * gst/gstpad.c: (gst_pad_event_default_dispatch):
14678 give events a chance to be handled by event probes when the pad
14681 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14683 * gst/gstevent.c: (gst_event_type_get_name),
14684 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
14686 add string representations for event types
14688 2005-10-06 Wim Taymans <wim@fluendo.com>
14690 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
14691 Don't use NULL pointers.
14693 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14695 * gst/gst_private.h:
14697 * gst/gstelement.c:
14699 * gst/gstpluginfeature.c:
14700 widen the debug category in output to fit the biggest one we have
14701 add a bus category and use it
14702 play with the colors
14703 fix up some categories
14705 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
14707 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
14708 add push activation of sink ghost pads.
14709 Andye, please verify
14711 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
14713 * gst/gstutils.c: (gst_element_link_pads):
14714 fix a bug in the case where neither element has a pad
14715 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14716 add a test for that case
14718 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
14720 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
14721 emit have-data before checking for peers. This allows
14722 for probe handlers to connect elements. This helps autopluggers.
14723 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
14725 add six checks, linked/unlinked with no/true/false probe
14727 2005-10-04 Wim Taymans <wim@fluendo.com>
14729 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
14730 (gst_fake_sink_event), (gst_fake_sink_preroll),
14731 (gst_fake_sink_render), (gst_fake_sink_change_state):
14732 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
14733 (gst_fake_src_get_property), (gst_fake_src_create),
14734 (gst_fake_src_stop):
14735 * gst/elements/gstidentity.c: (gst_identity_stop):
14736 Protect last_message with lock.
14738 2005-10-04 Edward Hervey <edward@fluendo.com>
14741 Added precision in the comments for GST_FORMAT_DEFAULT
14743 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
14745 * tools/gst-launch.c: (main):
14746 Don't try to run erroneous pipelines.
14748 2005-10-04 Julien MOUTTE <julien@moutte.net>
14750 * gst/gstbus.c: We don't need this header.
14752 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
14755 back to development
14757 === release 0.9.3 ===
14759 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
14763 Releasing 0.9.3, "Unregistered"
14765 2005-10-03 Andy Wingo <wingo@pobox.com>
14767 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
14768 whereby calling a pad's activatepush() function can start a thread
14769 that starts to push or pull before the pad gets the FLUSHING flag
14770 unset. Hack around it by holding the stream lock until the flag is
14771 set. Need to replace this with a proper solution. Together with
14772 the ghost pad fixes, this fixes mp3 playing/tagreading.
14774 * docs/design/part-gstghostpad.txt: Add a note about activation of
14775 proxy pads outside of ghost pads.
14777 * gst/gstghostpad.c: Implement the ghost pad activation design.
14779 2005-10-02 Andy Wingo <wingo@pobox.com>
14781 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
14782 It is volatile, after all.
14784 * docs/design/part-gstghostpad.txt: Flesh out activation with
14787 * gst/base/gstbasesrc.c (gst_base_src_init): Use
14790 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
14793 Fix (unused) AM_CONDITIONAL tests.
14795 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
14797 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
14799 * gst/gstutils.c: (gst_pad_query_convert):
14800 Add assertion that makes sure src_val is >=0, just like
14801 gst_query_new_convert() has. (#315895)
14803 2005-09-30 Edward Hervey <edward@fluendo.com>
14805 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
14806 Let's not iterate pads we're not interested in, it avoids getting
14807 sky-high refcounts on sinkpad.
14809 2005-09-30 Wim Taymans <wim@fluendo.com>
14811 * gst/gstelement.c: (gst_element_set_state),
14812 (gst_element_change_state):
14813 Small tweak, element in ASYNC remains ASYNC.
14815 2005-09-30 Wim Taymans <wim@fluendo.com>
14817 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
14818 Only error is an error.
14820 * gst/gstbin.c: (gst_bin_change_state):
14823 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
14824 Also call pad_block in pad alloc.
14826 * gst/gstutils.c: (gst_flow_get_name):
14829 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
14831 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14832 (gst_base_src_get_range):
14833 Fix documentation typos. Add some more debug info.
14835 2005-09-29 David Schleef <ds@schleef.org>
14837 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
14838 more end-user friendly.
14839 * tools/gst-inspect.c: (main): Check if command-line argument is
14840 a file and attempt to load that file as a plugin.
14842 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
14844 * check/gst/gstbin.c:
14845 * check/states/sinks.c:
14846 fix tests for the new warning
14847 * check/gst/gstpipeline.c:
14848 add a test for pipeline and bus interaction
14849 * gst/gstelement.c:
14850 elements should be NULL if they get disposed; add a warning if not
14852 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
14855 for 2.6 refcounting, make debug log more correct by printing
14856 the actual refcounts at the time of swap (Wim)
14858 2005-09-29 Andy Wingo <wingo@pobox.com>
14860 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
14861 removes signal watches previously added via
14862 gst_bus_add_signal_watch.
14863 (gst_bus_add_signal_watch): Don't return the source id, just store
14864 it on the bus if there wasn't an id already.
14866 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
14867 add_signal_watch and remove_signal_watch.
14869 2005-09-29 Edward Hervey <edward@fluendo.com>
14871 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
14872 Better if we actually iterate the list :)
14874 2005-09-29 Wim Taymans <wim@fluendo.com>
14876 * check/gst/gstbin.c: (GST_START_TEST):
14877 Change for new bus API.
14879 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
14880 (send_messages), (GST_START_TEST), (gstbus_suite):
14881 Change for new bus signal API.
14883 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
14884 (gst_bus_source_prepare), (gst_bus_source_check),
14885 (gst_bus_create_watch), (gst_bus_add_watch_full),
14886 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
14887 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
14889 Remove support for multiple GSources operating on different
14890 message types as it is too complex and unneeded when using
14892 Added support for receiving signals from the bus.
14894 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
14896 * docs/libs/tmpl/gstdataprotocol.sgml:
14897 * docs/manual/advanced-dataaccess.xml:
14898 * gst/elements/gstcapsfilter.c:
14900 rename filter-caps to caps property
14902 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
14904 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14905 More robust fraction string parsing.
14907 * docs/pwg/appendix-porting.xml:
14908 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
14910 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
14912 * gst/gstcaps.c: (gst_caps_do_simplify):
14913 Thou shalt not free a structure and then continue using it
14914 in the next loop iteration.
14916 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
14918 Add test case for caps simplification.
14920 2005-09-29 Wim Taymans <wim@fluendo.com>
14922 * check/gst/gstbin.c: (GST_START_TEST):
14925 2005-09-29 Wim Taymans <wim@fluendo.com>
14927 * check/gst/gstbin.c: (GST_START_TEST):
14930 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
14931 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
14932 (find_element), (gst_bin_sort_iterator_next),
14933 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
14934 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
14935 (gst_bin_change_state), (gst_bin_dispose):
14936 A bin does not have a bus, it gets the bus from the parent.
14938 * gst/gstelement.c: (gst_element_requires_clock),
14939 (gst_element_provides_clock), (gst_element_is_indexable),
14940 (gst_element_is_locked_state), (gst_element_change_state),
14941 (gst_element_set_bus_func):
14944 * gst/gstpipeline.c: (gst_pipeline_class_init),
14945 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
14946 The pipeline provides a bus.
14948 2005-09-28 Johan Dahlin <johan@gnome.org>
14950 * gst/gstmessage.c (gst_message_parse_state_changed): Use
14951 gst_structure_get_enum instead of gst_structure_get_int
14953 * gst/gststructure.c (gst_structure_get_enum): Impl.
14955 * gst/gststructure.h (gst_structure_get_enum): Add
14957 * docs/gst/gstreamer-sections.txt: Ditto
14959 * gst/gstmessage.c (gst_message_new_state_changed): Use
14960 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
14961 which does introspection.
14962 Reviewed by Christian Schaller
14964 2005-09-28 Stefan Kost <ensonic@users.sf.net>
14966 * gst/gstinfo.c: (gst_debug_log_default):
14967 don't do dummy g_strdup()s
14968 * libs/gst/controller/gstcontroller.c:
14969 (on_object_controlled_property_changed),
14970 (gst_controlled_property_new), (gst_controller_new_valist),
14971 (gst_controller_new_list),
14972 (gst_controller_remove_properties_valist), (gst_controller_set),
14973 (gst_controller_get), (gst_controller_sync_values),
14974 (gst_controller_get_value_array), (_gst_controller_class_init),
14975 (gst_controller_get_type):
14976 * libs/gst/controller/gstcontroller.h:
14977 * libs/gst/controller/gstinterpolation.c:
14978 (gst_controlled_property_find_timed_value_node):
14979 convert // to /**/ comments
14981 2005-09-28 Wim Taymans <wim@fluendo.com>
14983 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
14984 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
14985 (gst_bus_sync_signal_handler):
14987 Added async-message and sync-message signals to the bus.
14988 Added helper BusFunc to emit signals for all posted messages.
14990 * gst/gstmessage.c: (gst_message_type_get_name),
14991 (gst_message_type_to_quark), (gst_message_get_type):
14992 * gst/gstmessage.h:
14993 Register quarks for message names.
14995 2005-09-28 Stefan Kost <ensonic@users.sf.net>
14997 * docs/libs/gstreamer-libs-sections.txt:
14998 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
14999 (gst_controller_new_list):
15000 * libs/gst/controller/gstcontroller.h:
15001 added another constructor for language bindings
15003 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
15005 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15009 * gst/gstinfo.c: (_gst_debug_init):
15010 slightly more readable color for refcount debugging
15012 2005-09-28 Wim Taymans <wim@fluendo.com>
15014 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15015 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15016 (find_element), (gst_bin_sort_iterator_next),
15017 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15018 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15019 (gst_bin_change_state), (gst_bin_dispose):
15020 Small doc fixes. get_clock -> provide_clock.
15022 * gst/gstelement.c: (gst_element_class_init),
15023 (gst_element_provides_clock), (gst_element_provide_clock),
15024 (gst_element_get_clock), (gst_element_commit_state),
15025 (gst_element_lost_state):
15026 * gst/gstelement.h:
15027 Make get/set_clock() symetric. Add provide_clock vmethod since
15028 that is actually what this function does.
15030 * gst/gstpipeline.c: (gst_pipeline_class_init),
15031 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
15032 (gst_pipeline_get_clock):
15033 get_clock -> provide_clock.
15035 2005-09-28 Andy Wingo <wingo@pobox.com>
15037 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
15038 lieu of real docs...
15040 * gst/elements/gstfdsrc.c: Cleaned up a bit.
15042 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
15044 * gst/elements/gstcapsfilter.c:
15045 * gst/elements/gstfakesink.c:
15046 * gst/elements/gstfakesrc.c:
15047 * gst/elements/gstfdsink.c:
15048 * gst/elements/gstfdsrc.c:
15049 * gst/elements/gstfilesink.c:
15050 * gst/elements/gstfilesrc.c:
15051 * gst/elements/gstidentity.c:
15052 * gst/elements/gsttee.c:
15053 * gst/elements/gsttypefindelement.c:
15054 Make element details static.
15056 2005-09-28 Wim Taymans <wim@fluendo.com>
15058 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15059 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15060 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15061 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15062 (gst_bin_change_state), (gst_bin_dispose):
15063 Some documentation updates.
15064 Clean up dispose handlers.
15066 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15067 * gst/gstpad.c: (gst_pad_dispose):
15068 Clean up dispose handler.
15070 * gst/gstpipeline.c: (gst_pipeline_change_state):
15071 Removed spurious UNLOCK.
15073 2005-09-27 Stefan Kost <ensonic@users.sf.net>
15075 * docs/gst/gstreamer-sections.txt:
15076 * gst/base/gstbasesrc.h:
15077 * gst/gstelement.h:
15081 * gst/gstpipeline.c:
15082 * gst/gstpipeline.h:
15085 added two new functions to the docs
15086 documents all undocumented GstXXXFlags
15087 completed some incomplete docs
15089 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
15091 * gst/gstbin.c: (gst_bin_dispose):
15092 * gst/gstelement.c: (gst_element_dispose):
15093 remove now useless and leaky resurrection code in dispose
15094 * gst/base/gstbasesrc.c: (gst_base_src_init):
15095 * gst/gstelementfactory.c: (gst_element_factory_create):
15096 * gst/gstobject.c: (gst_object_set_parent):
15099 2005-09-27 Wim Taymans <wim@fluendo.com>
15101 * docs/design/part-TODO.txt:
15104 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15105 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15106 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15107 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15108 (gst_bin_change_state):
15109 * gst/gstelement.h:
15110 Remove element variable, we keep element info in the iterator now.
15112 2005-09-27 Andy Wingo <wingo@pobox.com>
15114 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15117 2005-09-27 Wim Taymans <wim@fluendo.com>
15119 * check/gst/gstbin.c: (GST_START_TEST):
15120 Enable check that works now.
15122 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15123 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15124 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15125 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15126 (gst_bin_change_state):
15128 Redid the state change algorithm using a topological sort algo.
15129 Handles all cases correctly.
15130 Exposed iterator for state change order.
15132 * gst/gstelement.h:
15133 Temp storage for state changes. Need to get rid of this soon.
15135 2005-09-27 Wim Taymans <wim@fluendo.com>
15137 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15138 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15139 (link_fold_func), (gst_pad_proxy_setcaps):
15140 Leak fixes, the fold functions need to unref the passed object and
15141 _get_parent_*() returns ref to parent.
15143 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
15145 * check/gst/gstbuffer.c: (test_make_writable):
15146 Plug leak in test case and fix 'make check-valgrind'
15148 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
15150 * gst/gstbuffer.c: (gst_subbuffer_init):
15151 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15152 works correctly in all circumstances (we could have just copied
15153 the parent buffer's readonly flag, but conceptually it seems
15154 cleaner to mark all subbuffers as read-only). (based on patch
15155 by Alessandro Decina, #314710).
15157 * check/gst/gstbuffer.c: (create_read_only_buffer),
15158 (test_make_writable), (test_subbuffer_make_writable),
15160 Add some tests for gst_buffer_make_writable().
15162 2005-09-27 Wim Taymans <wim@fluendo.com>
15164 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15165 use gst_object_has_ancestor().
15167 * gst/gstobject.c: (gst_object_has_ancestor):
15169 gst_object_has_ancestor() copied from gstbin.c as it is a
15172 * tests/instantiate/create.c: (create_all_elements):
15173 * tests/lat.c: (handoff_src), (handoff_sink):
15174 * tests/sched/runxml.c: (main):
15175 * tests/seeking/seeking1.c: (main):
15176 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15178 Fix compilation of some tests.
15180 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
15183 Remove comment. GST_TYPE_G_ERROR is here to stay,
15184 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15185 (#316961, #300610).
15187 2005-09-26 Wim Taymans <wim@fluendo.com>
15189 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15190 Added check that shows error in state change order.
15192 2005-09-26 Wim Taymans <wim@fluendo.com>
15194 * gst/gstbin.c: (gst_bin_change_state):
15195 Make state change function use 3 queues again, we were
15196 adding elements in the wrong order.
15198 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15201 * gst/gstpad.c: (gst_pad_dispose):
15202 Added some debug info first.
15204 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
15206 * docs/design/draft-push-pull.txt:
15207 * docs/design/part-events.txt:
15208 * docs/design/part-overview.txt:
15209 * docs/design/part-scheduling.txt:
15210 Replace all _pull_region() with _pull_range()
15212 2005-09-26 Andy Wingo <wingo@pobox.com>
15214 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15216 * check/gst-libs/controller.c: Update for controller api change.
15219 * tests/Makefile.am:
15220 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15221 over by GLib bug 118439.
15223 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15224 routines to a function.
15226 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15228 * libs/gst/controller/gsthelper.c:
15229 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15230 (gst_object_sync_values): Renamed from sink_values. Ugh.
15232 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15234 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15235 Renamed from controller_key, as it is exported.
15237 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15239 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
15244 * gst/gstpadtemplate.h:
15247 * gst/gstqueryutils.c:
15248 * gst/gstqueryutils.h:
15249 remove queryutils headers after moving the two used functions
15250 to gstquery. also fixes build problem for gstsiddec
15252 2005-09-26 Michael Smith <msmith@fluendo.com>
15254 * tools/gst-launch.1.in:
15255 Correct documentation in manpage of debug syntax
15257 2005-09-26 Wim Taymans <wim@fluendo.com>
15259 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15260 (gst_base_src_is_seekable), (gst_base_src_change_state):
15261 Some more debugging info.
15263 2005-09-25 Stefan Kost <ensonic@users.sf.net>
15265 * docs/gst/gstreamer-sections.txt:
15266 * gst/base/gstbasetransform.h:
15270 2005-09-25 Stefan Kost <ensonic@users.sf.net>
15272 * docs/gst/.cvsignore:
15273 * docs/gst/tmpl/.cvsignore:
15274 * docs/gst/tmpl/gstpipeline.sgml:
15275 * docs/gst/tmpl/gstplugin.sgml:
15276 * gst/gstpipeline.c:
15279 inlined the last two docs files
15280 removed the tmpl directory from cvs (no more conflicts here!)
15282 2005-09-25 Stefan Kost <ensonic@users.sf.net>
15284 * docs/gst/gstreamer-sections.txt:
15285 * docs/gst/tmpl/.cvsignore:
15286 * docs/gst/tmpl/gstpad.sgml:
15287 * docs/gst/tmpl/gstpadtemplate.sgml:
15289 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15290 (gst_pad_finalize), (gst_pad_set_pad_template):
15292 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15293 (gst_pad_template_class_init), (gst_pad_template_init),
15294 (gst_pad_template_dispose), (name_is_valid),
15295 (gst_static_pad_template_get), (gst_pad_template_new),
15296 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15297 (gst_pad_template_pad_created):
15298 * gst/gstpadtemplate.h:
15299 inlined two more docs
15300 factored gstpadtemplate out of gstpad
15302 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
15304 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15305 (test_children_state_change_order_semi_sink):
15306 Fix test case: we can't rely on a fixed state change order when
15307 going from READY => PAUSED because the sink might commit its
15308 new state first when the first buffer created by the source
15309 reaches the sink before the source has finished its change state.
15310 (Test case still fails at times, see #316856, comment 5 onwards)
15312 2005-09-24 Wim Taymans <wim@fluendo.com>
15314 * docs/design/part-events.txt:
15315 * docs/design/part-gstbus.txt:
15316 * docs/design/part-gstpipeline.txt:
15317 * docs/design/part-messages.txt:
15318 * docs/design/part-overview.txt:
15319 * docs/design/part-segments.txt:
15323 * gst/gstelement.c:
15326 * gst/gstiterator.c:
15327 Various documentation updates.
15329 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
15332 Well, that's embarassing. Luckily we weren't using
15333 GST_CLOCK_DIFF anywhere.
15335 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15337 * common/gtk-doc.mak:
15338 don't fail on building XML, FC4 slave shows a bunch of doc
15339 missing bits that I don't get
15341 * gst/gstpipeline.c:
15342 * gst/gststructure.c:
15345 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
15347 * docs/design/part-gstbin.txt:
15348 * docs/design/part-gstbus.txt:
15350 Add blurb about how the bus goes into flushing mode and
15351 drops all messages when its bin goes from READY into NULL
15354 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15356 * docs/gst/gstreamer-sections.txt:
15357 * gst/gststructure.c: (gst_structure_get_clock_time):
15358 * gst/gststructure.h:
15359 add a method to get a GstClockTime out of a structure
15361 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
15363 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15364 (test_children_state_change_order_semi_sink), (gst_bin_suite):
15365 Added test to check state change order in bins (can still be made
15366 to fail here under heavy disk load; bails out with 'Push on pad
15367 fakesink:sink0, but it was not activated in push mode').
15369 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15370 Fix state change order when there is only a semi sink (#316856)
15372 * gst/gstbus.c: (gst_bus_class_init):
15373 Use _class_peek_parent(), not _class_ref(); fix docs to say
15374 'default main context' instead of 'mainloop' where that is
15377 * gst/gstelement.c: (gst_element_commit_state),
15378 (gst_element_set_state):
15379 Fix typos in debug messages
15381 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15384 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15385 * gst/gstpluginfeature.c:
15387 various doc updates
15388 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15389 change an assert into an error until it gets fixed properly
15391 2005-09-23 Stefan Kost <ensonic@users.sf.net>
15393 * docs/gst/gstreamer-sections.txt:
15394 * docs/gst/tmpl/.cvsignore:
15395 * docs/gst/tmpl/gstelement.sgml:
15396 * docs/gst/tmpl/gstinfo.sgml:
15397 * docs/gst/tmpl/gstobject.sgml:
15398 * gst/gstelement.c:
15399 * gst/gstelement.h:
15402 * gst/gstobject.c: (gst_object_class_init):
15404 inlined 3 more biiiig doc files and added some missing docs on the fly
15406 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
15408 * check/gst/.cvsignore:
15409 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15410 * gst/gstregistryxml.c: (load_plugin),
15411 (gst_registry_xml_save_plugin):
15412 put back source in registry. add checks for find_plugin.
15413 * testsuite/states/bin.c: (assert_state), (empty_bin),
15414 (test_adding_one_element), (main):
15415 * testsuite/states/locked.c: (main):
15416 some compile/run fixes
15418 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
15420 * check/gst/gstvalue.c: (GST_START_TEST):
15421 fix leaks in the test itself
15423 2005-09-22 Wim Taymans <wim@fluendo.com>
15425 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15426 (gst_base_sink_send_event), (gst_base_sink_peer_query),
15427 (gst_base_sink_query):
15428 Prepare for more accurate position reporting and query
15431 * gst/gstelement.c: (gst_element_send_event),
15432 (gst_element_set_state):
15435 2005-09-22 Wim Taymans <wim@fluendo.com>
15437 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15438 (gst_query_parse_segment):
15440 More documentation.
15441 Add segment query for future use.
15443 2005-09-22 Wim Taymans <wim@fluendo.com>
15445 * gst/gstbin.c: (gst_bin_add_func):
15446 Some more debug info.
15448 * gst/gstelement.c: (gst_element_send_event):
15449 Simplify send_event
15451 * gst/gstelement.h:
15452 Don't know how flags got broken.
15457 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
15459 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15460 Add simplistic test suite for GST_TYPE_DATE serialisation and
15463 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
15465 * docs/gst/gstreamer-sections.txt:
15466 * gst/gststructure.c: (gst_structure_set_valist),
15467 (gst_structure_get_date):
15468 * gst/gststructure.h:
15469 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15470 (gst_date_copy), (gst_value_compare_date),
15471 (gst_value_serialize_date), (gst_value_deserialize_date),
15472 (gst_value_transform_date_string),
15473 (gst_value_transform_string_date), (_gst_value_initialize):
15475 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15476 bunch of utility functions along with a hack that checks that
15477 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15478 is required. Part of the grand scheme in #170777.
15480 2005-09-22 Andy Wingo <wingo@pobox.com>
15482 * gst/gstconfig.h.in: Psych out gtk-doc.
15484 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15486 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15488 * tools/gst-inspect.c (print_element_list): Plug some
15489 inconsequential leaks.
15491 * gst/gstregistry.c (gst_registry_get_default): Doc.
15493 * check/gst/gstplugin.c:
15494 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15495 * gst/gstelementfactory.c (gst_element_factory_create):
15496 * gst/gstindexfactory.c (gst_index_factory_create): Update for
15499 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15500 (gst_plugin_feature_load): Doc, don't eat refs.
15502 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15503 (gst_plugin_list_free): Doc.
15504 (gst_plugin_load_file): Doc updates.
15506 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15507 accessors returning refcounted objects, return a ref.
15509 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15510 accessor for caps. IDEMPOTENCE. Oh yes.
15512 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
15514 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
15516 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15517 (_gst_debug_register_funcptr):
15518 Add mutex to serialise access to the hash table with
15519 the function pointer => function name string mapping;
15520 make that hash table static scope (#316809).
15522 * gst/registries/.cvsignore:
15523 Remove left-over file.
15525 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
15527 * docs/pwg/appendix-porting.xml:
15528 And something about newsegment events and caps-on-buffers to
15529 the porting guide (feel free to improve).
15531 2005-09-21 Andy Wingo <wingo@pobox.com>
15533 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15534 data and event probes on the same pad.
15535 (test_buffer_probe_once): Test that removing probes from within
15536 the probe functions works.
15538 2005-09-21 Andy Wingo <wingo@pobox.com>
15540 * check/gst/gstutils.c: New file.
15541 (test_buffer_probe_n_times): A simple buffer probe test. More to
15544 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
15545 have-data::buffer, not have-data.
15546 (gst_pad_add_event_probe): Likewise for have-data::event.
15547 (gst_pad_add_data_probe): More docs. The part about 'resolving the
15548 peer' isn't quite right yet though.
15549 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
15550 (gst_pad_remove_data_probe): Change to take the guint handler_id
15551 as their arg, not the function+data, which is more glib-like.
15553 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
15554 the signal emission to indicate if the data is a buffer or an
15556 (gst_pad_get_type): Initialize buffer and event quarks.
15557 (gst_pad_class_init): have-data is now a detailed signal, yes it
15560 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
15562 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15563 * gst/gstutils.c: (gst_util_set_value_from_string),
15564 (gst_util_set_object_arg):
15565 Don't put functional code in g_return_if_fail() or
15566 g_return_val_if_fail() statements, otherwise things will
15567 break when G_DISABLE_CHECKS is defined during compilation.
15569 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15571 * docs/gst/tmpl/.cvsignore:
15572 * docs/gst/tmpl/gstvalue.sgml:
15575 inlied another one and added some obvious docs
15577 2005-09-21 Wim Taymans <wim@fluendo.com>
15579 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15580 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
15581 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
15582 (gst_fdsrc_get_property), (gst_fdsrc_create):
15583 * gst/elements/gstfdsrc.h:
15584 Properly implement fdsrc. Removed signal and timeout,
15585 better implemented somewhere else.
15587 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15589 * docs/gst/tmpl/.cvsignore:
15590 * docs/gst/tmpl/gstimplementsinterface.sgml:
15591 * gst/gstinterface.c:
15594 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15596 * docs/gst/gstreamer-sections.txt:
15597 * docs/gst/tmpl/.cvsignore:
15598 * docs/gst/tmpl/gstenumtypes.sgml:
15599 remove obsolete doc file
15601 2005-09-21 David Schleef <ds@schleef.org>
15603 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
15604 little beer, fix a little leak.
15606 2005-09-21 Stefan Kost <ensonic@users.sf.net>
15608 * docs/gst/gstreamer-docs.sgml:
15609 * docs/gst/gstreamer-sections.txt:
15610 * docs/gst/tmpl/.cvsignore:
15614 * gst/gstelement.h:
15615 * gst/gstindex.c: (gst_index_class_init):
15617 * gst/gstindexfactory.c: (gst_index_factory_get_type),
15618 (gst_index_factory_class_init), (gst_index_factory_init),
15619 (gst_index_factory_finalize), (gst_index_factory_new),
15620 (gst_index_factory_destroy), (gst_index_factory_find),
15621 (gst_index_factory_create), (gst_index_factory_make):
15622 * gst/gstindexfactory.h:
15623 * gst/gstpluginfeature.c:
15624 * gst/gstpluginfeature.h:
15625 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15626 more docs inlined, splitted gstindex.{c,h}
15628 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15630 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15633 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
15635 * gst/elements/gstfilesink.c: (gst_file_sink_init):
15636 Set sync to FALSE by default.
15638 2005-09-20 Wim Taymans <wim@fluendo.com>
15640 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15641 (gst_base_sink_init):
15642 Make sync property settable from subclass.
15644 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
15645 (gst_fake_sink_change_state):
15646 Set sync to FALSE by default.
15648 2005-09-20 Wim Taymans <wim@fluendo.com>
15650 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
15651 * tools/gst-launch.c: (main):
15652 The timeout handler should have lower priority than the source
15653 so we don't timeout before popping a message with 0 timeout.
15654 Dump error messages after failed state change.
15656 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
15658 * tools/gst-inspect.c: (print_element_properties_info):
15661 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15663 * check/gst/gstevent.c:
15664 * gst/elements/gstfakesink.c:
15665 * gst/elements/gstfakesink.h:
15666 remove the sync property from fakesink.
15667 has the side effect of setting sync TRUE
15668 for fakesink, which is a change. Anyone who knows how
15669 to fix this nicely in a GObject-y way, feel free.
15671 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15673 * docs/gst/gstreamer-docs.sgml:
15674 remove probe refsection
15676 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15678 * check/Makefile.am:
15679 disable valgrinding the controller test again
15680 * docs/gst/gstreamer-sections.txt:
15681 update for api-changes
15683 2005-09-20 Wim Taymans <wim@fluendo.com>
15685 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15686 (gst_base_sink_set_property), (gst_base_sink_get_property),
15687 (gst_base_sink_do_sync):
15688 * gst/base/gstbasesink.h:
15689 Added sync property to basesink to disable clock sync.
15691 2005-09-20 Andy Wingo <wingo@pobox.com>
15693 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
15694 eating the caller's refcount.
15696 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
15697 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
15700 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
15701 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
15702 of GLib 2.8 public, so we can know which refcount to check in
15705 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
15706 (gst_object_init): Only set the gst refcount if we're going ahead
15707 with the refcount hack.
15709 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15711 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15712 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15713 more leaks plumbed, added more debug-logging
15717 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15719 * gst/gstmessage.c:
15720 remove include of gstmemchunk.h
15722 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15724 * gst/gstclock.c: (_gst_clock_id_free):
15725 Commit from the Political Party For More Atomic CVS Commits,
15726 so that people don't waste too much of their day fishing
15727 out obvious leaks out of massive commits.
15728 Oh, and fix a pretty damn obvious leak in the memchunk
15731 2005-09-20 Stefan Kost <ensonic@users.sf.net>
15733 * check/Makefile.am:
15734 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
15735 plug mem-leak, re-add to valgrindable tests
15737 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
15740 unbreak the build for those who have chronic arthritis
15741 and typing "make check" is just too taxing on the hands
15743 2005-09-20 Andy Wingo <wingo@pobox.com>
15745 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
15746 really want it out, you should fix plugins at the same time.
15748 2005-09-19 Stefan Kost <ensonic@users.sf.net>
15751 * docs/gst/gstreamer-sections.txt:
15753 added missing symbols to api docs
15754 disable ref-count hack if we have glib >= 2.8
15756 2005-09-19 David Schleef <ds@schleef.org>
15758 * docs/gst/Makefile.am: Ignore a few more internal headers
15759 * docs/gst/gstreamer-docs.sgml: Remove old sections
15760 * docs/gst/gstreamer-sections.txt: Remove old sections
15761 * docs/gst/tmpl/gstobject.sgml: update
15762 * docs/gst/tmpl/gstplugin.sgml: update
15763 * docs/gst/tmpl/gstpluginfeature.sgml: update
15764 * docs/random/ds/0.9-suggested-changes: update.
15765 * gst/Makefile.am: remove memchunk and trashstack, since they're
15767 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
15768 * gst/gst.h: don't include some headers
15769 * gst/gstchildproxy.c: add gstmarshal.h
15770 * gst/gstclock.c: Don't use memchunks
15771 * gst/gstminiobject.c: Add some docs
15772 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
15773 * gst/gstobject.h: same
15774 * gst/gstplugin.c: include gstmacros.h
15775 * gst/gstplugin.h: don't include gstmacros.h, since it's private
15776 * gst/gstquery.c: don't use memchunks
15777 * gst/gstregistry.c: rename gst_registry_deinit()
15778 * gst/gstregistry.h: same
15780 2005-09-19 David Schleef <ds@schleef.org>
15782 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
15783 * docs/libs/gstreamer-libs-sections.txt:
15784 * docs/libs/tmpl/gstgetbits.sgml:
15785 * docs/libs/tmpl/gstputbits.sgml:
15787 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
15789 * win32/gstenumtypes.c:
15790 * win32/gstenumtypes.h:
15793 2005-09-19 Wim Taymans <wim@fluendo.com>
15795 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
15796 Automatically PAUSE and RESUME a pipeline when a flushing seek
15799 2005-09-19 Andy Wingo <wingo@pobox.com>
15801 * gst/gstregistry.h: Spacing fixen.
15803 2005-09-19 Wim Taymans <wim@fluendo.com>
15805 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
15806 Handle state change failure more correctly.
15808 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
15810 * check/Makefile.am:
15811 * check/pipelines/cleanup.c: (run_pipeline):
15812 * check/pipelines/simple_launch_lines.c: (run_pipeline),
15814 enable cleanup again after fixing the leak
15816 some more info on docs
15818 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
15820 * check/Makefile.am:
15821 re-enable tests now that leaks are plugged
15823 * check/gst/gstbin.c:
15824 * check/gst/gstpipeline.c:
15825 add some more tests while fixing leaks
15826 * common/check.mak:
15827 make sure binaries are uptodate when valgrinding/gdbing
15829 * gst/gstelementfactory.c:
15830 remove a ref too many, and add a FIXME for when we get
15831 round to disposing of classes
15833 fix the refcounting when loading a plugin from a file and
15834 the code pretends that the pointer is the same even though
15835 of course it can change
15836 * gst/gstpluginfeature.c:
15837 unref plugins marked cached (a bit confusing as a name)
15838 as the docs state should be done
15839 various doc additions to explain refcounting
15840 * gst/gstregistry.c:
15841 * gst/gstregistryxml.c:
15844 2005-09-19 Wim Taymans <wim@fluendo.com>
15846 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
15847 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15848 (send_messages), (GST_START_TEST), (gstbus_suite):
15849 * check/gst/gstpipeline.c: (GST_START_TEST):
15850 * check/pipelines/cleanup.c: (run_pipeline):
15851 * check/pipelines/simple_launch_lines.c: (run_pipeline),
15853 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
15854 (gst_bus_source_check), (gst_bus_source_dispatch),
15855 (gst_bus_create_watch), (gst_bus_add_watch_full),
15856 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
15858 * tools/gst-launch.c: (event_loop):
15859 * tools/gst-md5sum.c: (event_loop):
15860 GstBusHandler -> GstBusFunc, return value has the same meaning as
15861 any other GSource (FALSE == remove source).
15862 _add_watch() and _add_watch_full() now take a MessageType mask to
15863 only handle specific types of messages.
15864 _poll() returns the GstMessage instead of the message type to avoid
15866 _have_pending() takes a MessageType mask now too.
15867 Added testsuite for multiple bus watches.
15868 Fix testsuites and applications for new bus API.
15870 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
15872 * check/Makefile.am:
15873 mark a bunch of the tests as to fix until we fix them
15875 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
15877 * common/check.mak:
15878 use GST_PLUGIN settings for valgrind tests as well, so we're
15879 valgrinding the correct thing
15880 * gst/gst.c: (init_post):
15883 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
15885 * gst/gst.c: (init_post), (gst_deinit):
15886 * gst/gstelementfactory.c: (gst_element_factory_class_init),
15887 (gst_element_factory_finalize), (gst_element_factory_cleanup):
15888 * gst/gstindex.c: (gst_index_factory_class_init),
15889 (gst_index_factory_finalize):
15890 * gst/gstobject.c: (gst_object_dispose):
15891 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15892 (gst_plugin_load_file), (gst_plugin_desc_free):
15893 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
15894 (gst_plugin_feature_finalize):
15895 * gst/gstregistry.c: (gst_registry_class_init),
15896 (gst_registry_init), (gst_registry_finalize),
15897 (gst_registry_get_default), (gst_registry_deinit):
15898 * gst/gstregistry.h:
15899 * gst/gstregistryxml.c: (load_feature), (load_plugin):
15900 various cleanups and memleak plugging. make valgrind is happy now.
15902 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
15904 * common/check.mak:
15905 add a check-valgrind target
15907 2005-09-18 David Schleef <ds@schleef.org>
15909 * tools/gst-inspect.c: Revert the GOption code.
15911 2005-09-17 David Schleef <ds@schleef.org>
15913 * check/Makefile.am: Fix environment variables.
15914 * check/gst/gstplugin.c: Fix for API changes.
15915 * tools/gst-inspect.c: Fix for API changes.
15916 * tools/gst-xmlinspect.c: Fix for API changes.
15917 * gst/gstelementfactory.c:
15920 * gst/gstpluginfeature.c:
15921 * gst/gstpluginfeature.h:
15922 * gst/gstregistry.c:
15923 * gst/gstregistry.h:
15924 * gst/gstregistryxml.c:
15925 * gst/gsttypefind.c:
15926 * gst/gsttypefindfactory.c:
15927 * gst/indexers/gstfileindex.c:
15928 * gst/indexers/gstmemindex.c:
15929 * gst/schedulers/Makefile.am:
15930 Change registry to keep track of both plugins and features,
15931 removing the feature tracking from plugins themselves.
15933 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
15935 * check/Makefile.am:
15936 * tools/gst-register.1.in:
15937 remove gst-register
15939 2005-09-15 David Schleef <ds@schleef.org>
15941 * check/gst/gstplugin.c:
15942 * gst/gstelementfactory.c:
15944 * gst/gstpluginfeature.c:
15945 * gst/gstregistry.c:
15946 Getting tired of debugging. Disabled all the unreffing of
15947 plugins and features, which fixes the segfaults, but of
15948 course leaks like crazy. At least playbin works.
15950 2005-09-15 David Schleef <ds@schleef.org>
15952 * check/gst/gstplugin.c: (register_check_elements),
15953 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
15955 * gst/elements/gsttypefindelement.c: Fix refcounting.
15956 * gst/gsttypefind.c:
15957 * gst/gsttypefindfactory.c:
15958 * gst/gsttypefindfactory.h:
15960 2005-09-15 David Schleef <ds@schleef.org>
15962 * gst/gstindex.c: get refcounting correct.
15963 * gst/gstregistry.c: Handle the case where a feature/plugin is
15966 2005-09-15 David Schleef <ds@schleef.org>
15968 * check/Makefile.am:
15969 * check/gst/gstplugin.c: Add test
15970 * gst/gstplugin.c: Fix problems noticed by testsuite
15972 * gst/gstregistry.c:
15973 * gst/gstregistry.h:
15975 2005-09-15 David Schleef <ds@schleef.org>
15977 * gst/gstplugin.c: Implement semi-decent recounting and locking
15978 in plugins and plugin features.
15980 * gst/gstpluginfeature.c:
15981 * gst/gstpluginfeature.h:
15982 * gst/gstregistry.c:
15984 2005-09-15 Michael Smith <msmith@fluendo.com>
15986 * gst/gstregistry.c: (gst_registry_get_feature_list):
15987 Implement this. Makes oggdemux work; decodebin still broken.
15989 2005-09-14 David Schleef <ds@schleef.org>
15991 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
15993 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
15994 * gst/check/Makefile.am:
15995 * libs/gst/controller/Makefile.am:
15996 * libs/gst/dataprotocol/Makefile.am:
15998 2005-09-14 David Schleef <ds@schleef.org>
16000 * configure.ac: Remove getbits library. Nothing uses it, and
16001 it should be in something like liboil if someone did want
16003 * libs/gst/Makefile.am:
16004 * libs/gst/getbits/Makefile.am:
16005 * libs/gst/getbits/gbtest.c:
16006 * libs/gst/getbits/getbits.c:
16007 * libs/gst/getbits/getbits.h:
16008 * libs/gst/getbits/gstgetbits_generic.c:
16009 * libs/gst/getbits/gstgetbits_i386.s:
16010 * libs/gst/getbits/gstgetbits_inl.h:
16012 2005-09-14 David Schleef <ds@schleef.org>
16014 * gst/Makefile.am: Dist glib-compat.h
16016 2005-09-14 David Schleef <ds@schleef.org>
16018 * configure.ac: Remove gst/registries, since it's no longer used.
16019 * gst/registries/Makefile.am:
16020 * gst/registries/gstlibxmlregistry.c:
16021 * gst/registries/gstlibxmlregistry.h:
16022 * gst/registries/gstxmlregistry.c:
16023 * gst/registries/gstxmlregistry.h:
16024 * gst/registries/registrytest.c:
16026 2005-09-14 David Schleef <ds@schleef.org>
16028 * gst/glib-compat.h:
16029 * gst/gstregistryxml.c:
16030 Convergence is near. Seriously.
16032 2005-09-14 David Schleef <ds@schleef.org>
16034 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16035 * gst/glib-compat.h:
16036 Attempt #4 to appease the buildbots.
16038 2005-09-14 David Schleef <ds@schleef.org>
16040 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16043 2005-09-14 David Schleef <ds@schleef.org>
16045 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16048 2005-09-14 David Schleef <ds@schleef.org>
16050 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
16053 2005-09-14 David Schleef <ds@schleef.org>
16055 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16056 * gst/glib-compat.h: Add some functions that are in newer versions
16057 of glib than we care to require.
16058 * gst/gstregistryxml.c: Use them.
16060 2005-09-14 David Schleef <ds@schleef.org>
16062 * po/POTFILES.in: remove gst-register.c
16064 2005-09-14 David Schleef <ds@schleef.org>
16066 * docs/gst/gstreamer-docs.sgml:
16067 * docs/gst/gstreamer-sections.txt:
16068 * docs/gst/gstreamer.types:
16069 * docs/gst/tmpl/gstelement.sgml:
16070 * docs/gst/tmpl/gstplugin.sgml:
16071 * docs/gst/tmpl/gstpluginfeature.sgml:
16072 Documentation updates for registry changes.
16074 2005-09-14 David Schleef <ds@schleef.org>
16076 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16077 because we don't require glib-2.8.
16079 2005-09-14 David Schleef <ds@schleef.org>
16081 * gst/gstregistryxml.c: Added. Essentially moved out of the
16082 registries directory.
16084 2005-09-14 David Schleef <ds@schleef.org>
16086 * check/Makefile.am:
16087 * check/generic/states.c:
16091 * gst/gst_private.h:
16092 * gst/gstelementfactory.c:
16097 * gst/gstpluginfeature.c:
16098 * gst/gstpluginfeature.h:
16099 * gst/gstregistry.c:
16100 * gst/gstregistry.h:
16101 * gst/gstregistrypool.c: remove
16102 * gst/gstregistrypool.h: remove
16103 * gst/gsttypefind.c:
16104 * gst/gsttypefindfactory.c:
16106 * tools/Makefile.am:
16107 * tools/gst-compprep.c:
16108 * tools/gst-inspect.c:
16109 * tools/gst-register.c: remove
16110 * tools/gst-xmlinspect.c:
16111 Registry rewrite. Changes registry from being a file created
16112 by a tool into a simple cache file created automatically by
16113 libgstreamer. Removed gst-register (because it's no longer
16114 needed). Remove registry pools, because we only have one
16115 registry implementation (XML). Fix up other subsystems as
16118 2005-09-13 Michael Smith <msmith@fluendo.com>
16120 * gst/gstconfig.h.in:
16121 Don't Use windows linking attributes for MinGW. Fixes #316157
16123 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
16125 * gst/gstutils.c: (set_state_async_thread_func),
16126 (gst_element_set_state_async):
16127 Apparently people think it's better if this function doesn't
16128 try to set the state to whatever state was asked for on the first
16129 call to this function for any object. Seriously.
16131 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
16133 * check/gst/gstpipeline.c: (GST_START_TEST):
16134 * docs/gst/gstreamer-sections.txt:
16135 * gst/gstutils.c: (set_state_async_thread_func),
16136 (gst_element_set_state_async):
16138 add a "gst_element_set_state_async" method that
16139 sets the state and starts a thread to make sure the state
16140 change completes as best as it can
16142 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
16144 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16145 codify design+behaviour in testsuite after discussion
16147 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
16149 * docs/gst/tmpl/gstelement.sgml:
16150 * docs/manual/appendix-quotes.xml:
16152 * gst/gstelement.c: (gst_element_set_state):
16155 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
16157 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16158 (gst_base_transform_prepare_output_buf),
16159 (gst_base_transform_handle_buffer):
16160 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16161 (gst_capsfilter_prepare_buf):
16162 Remove the requirement for sub-classes to call the parent
16163 implementation of prepare_output_buffer with a wrapper function.
16165 * gst/gsttaglist.h:
16166 * gst/gsttagsetter.h:
16167 Fix #define wrapper
16169 2005-09-11 Stefan Kost <ensonic@users.sf.net>
16171 * docs/gst/gstreamer-sections.txt:
16174 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
16176 * docs/gst/gstreamer-sections.txt:
16177 * docs/gst/tmpl/gstelement.sgml:
16178 * docs/gst/tmpl/gstplugin.sgml:
16179 * gst/gstminiobject.c:
16181 docs now stop throwing warnings
16183 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
16185 * docs/gst/gstreamer-sections.txt:
16186 * docs/gst/gstreamer.types:
16187 * docs/gst/tmpl/gstpad.sgml:
16188 * docs/gst/tmpl/gsttypes.sgml:
16189 * gst/base/gstadapter.h:
16190 * gst/base/gstbasesink.h:
16191 * gst/base/gstbasesrc.h:
16197 * gst/gstelement.h:
16199 * gst/gstmessage.h:
16201 * gst/gststructure.c:
16202 * gst/registries/gstlibxmlregistry.h:
16203 various documentation fixes
16205 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
16207 * docs/gst/gstreamer-sections.txt:
16208 * docs/gst/tmpl/gstvalue.sgml:
16209 rearrange gstvalue section
16210 * gst/gstutils.c: (gst_element_state_get_name):
16212 * gst/gstvalue.c: (_gst_value_initialize):
16216 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
16218 * check/gst-libs/controller.c:
16219 Header include fix.
16220 * gst/base/gstbasetransform.c:
16221 (gst_base_transform_default_prepare_buf),
16222 (gst_base_transform_handle_buffer):
16223 * gst/base/gstbasetransform.h:
16224 Some more basetransform changes and fixes to enable sub-classes
16225 that modify buffer metadata only.
16226 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16227 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16228 (gst_capsfilter_prepare_buf):
16229 If the output pad has fixed allowed caps and input buffers
16230 don't have any, set the fixed caps on outgoing buffers.
16232 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
16233 * check/elements/identity.c: (GST_START_TEST):
16234 Make the error a little clearer when the test fails because
16235 identity made a copy of the buffer.
16236 * docs/gst/gstreamer-sections.txt:
16237 New symbols in gstbasetransform.h
16238 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16239 (gst_base_transform_init), (gst_base_transform_transform_size),
16240 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16241 (gst_base_transform_default_prepare_buf),
16242 (gst_base_transform_get_unit_size),
16243 (gst_base_transform_buffer_alloc),
16244 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16245 (gst_base_transform_change_state),
16246 (gst_base_transform_set_passthrough),
16247 (gst_base_transform_set_in_place),
16248 (gst_base_transform_is_in_place):
16249 * gst/base/gstbasetransform.h:
16250 Change BaseTransform to separate in_place operate from same_caps
16251 output. in_place implies that the element can perform the transform
16252 on incoming buffers in-place, even if the caps on the output are
16254 Sub-class elements can now implement special buffer allocation
16255 methods for outgoing buffers if they wish to.
16256 Big documentation addition.
16257 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16258 * gst/elements/gstelements.c:
16259 Changes for basetransform modifications.
16260 * gst/elements/Makefile.am:
16261 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16262 Compile fix. Extra debug output.
16264 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
16266 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16268 add tests for valid pad naming
16269 * gst/check/gstcheck.c: (gst_check_log_message_func),
16270 (gst_check_log_critical_func):
16272 remove printing of code, it is fragile when the code contains
16273 % and the line number is enough info
16274 * gst/check/gstcheck.h:
16275 * gst/gstpad.c: (gst_pad_template_new):
16278 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
16281 say what CHECK flags we use
16282 * docs/libs/gstreamer-libs.types:
16283 * libs/gst/controller/Makefile.am:
16284 * libs/gst/controller/gst-controller.c:
16285 * libs/gst/controller/gst-controller.h:
16286 * libs/gst/controller/gst-helper.c:
16287 * libs/gst/controller/gst-interpolation.c:
16288 * libs/gst/controller/gstcontroller.c:
16289 * libs/gst/controller/gsthelper.c:
16290 * libs/gst/controller/gstinterpolation.c:
16291 * tools/gst-inspect.c: (print_plugin_info):
16292 we don't use dashes in header names
16294 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
16296 * check/Makefile.am:
16297 * check/gst/.cvsignore:
16298 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16299 (gst_pipeline_suite), (main):
16300 adding a test for pipelines and state changes
16301 * gst/gstutils.c: (get_state_func):
16303 * gstreamer.spec.in:
16306 2005-09-08 Michael Smith <msmith@fluendo.com>
16308 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16309 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16310 (gst_file_src_is_seekable), (gst_file_src_get_size),
16311 (gst_file_src_start):
16312 * gst/elements/gstfilesrc.h:
16313 Various fixes for unseekable, unmmapable, and non-normal files, so
16314 that fallback to read() rather than mmap() works.
16315 * gst/gstevent.c: (gst_event_new_newsegment):
16316 Allow newsegment events with segment_start == segment_end, as will
16317 correctly happen if you use filesrc on a zero-size file, for
16320 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
16322 * gst/gstplugin.c: (gst_plugin_load_file):
16323 Call g_module_close when we don't load the module
16325 * gst/registries/gstlibxmlregistry.c:
16326 (gst_xml_registry_get_property):
16327 Port leak fix from 0.8
16329 2005-09-07 Stefan Kost <ensonic@users.sf.net>
16331 * docs/gst/gstreamer-docs.sgml:
16332 * docs/gst/tmpl/.cvsignore:
16333 * docs/gst/tmpl/gsttrace.sgml:
16334 * docs/gst/tmpl/gsttrashstack.sgml:
16337 * gst/gstelement.h:
16339 * gst/gstmessage.c:
16340 * gst/gstmessage.h:
16343 * gst/gsttaginterface.c:
16344 * gst/gsttaginterface.h:
16345 * gst/gsttaglist.c:
16346 * gst/gsttaglist.h:
16347 * gst/gsttagsetter.c:
16348 * gst/gsttagsetter.h:
16351 * gst/gsttrashstack.c:
16352 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16353 inlined docs for gsttrace, gsttrashstack
16355 2005-09-07 Stefan Kost <ensonic@users.sf.net>
16358 * gst/elements/gstbufferstore.h:
16359 * gst/elements/gsttypefindelement.c:
16360 * gst/elements/gsttypefindelement.h:
16362 * gst/gsttypefind.c:
16363 * gst/gsttypefind.h:
16364 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16365 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16366 (gst_type_find_factory_dispose),
16367 (gst_type_find_factory_unload_thyself),
16368 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16369 (gst_type_find_factory_get_caps),
16370 (gst_type_find_factory_get_extensions),
16371 (gst_type_find_factory_call_function):
16372 * gst/gsttypefindfactory.h:
16373 * gst/registries/gstlibxmlregistry.c:
16374 * gst/registries/gstxmlregistry.c:
16375 splitted gsttypefind into gsttypefind, gsttypefindfactory
16377 2005-09-07 Andy Wingo <wingo@pobox.com>
16379 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16380 condition whereby the pad's task function is entered before the
16381 pad_mode variable was set.
16383 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
16385 * gst/gstpad.c: (gst_pad_alloc_buffer):
16386 Catch misbehaving pad_alloc functions that don't
16387 set up caps and do it for them.
16389 2005-09-07 Stefan Kost <ensonic@users.sf.net>
16391 * check/pipelines/simple_launch_lines.c: (run_pipeline):
16392 test for pipe!=NULL
16393 * docs/gst/tmpl/.cvsignore:
16394 * docs/gst/tmpl/gstmemchunk.sgml:
16395 * docs/gst/tmpl/gstparse.sgml:
16396 * docs/gst/tmpl/gsttaglist.sgml:
16397 * docs/gst/tmpl/gsttagsetter.sgml:
16398 * docs/gst/tmpl/gsttypefind.sgml:
16399 * docs/gst/tmpl/gsttypefindfactory.sgml:
16400 * gst/gstmemchunk.c:
16403 * gst/gsttaginterface.c:
16404 * gst/gsttypefind.c:
16405 * gst/gsttypefind.h:
16408 === release 0.9.2 ===
16410 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
16415 releasing 0.9.2, "South"
16417 2005-09-05 Andy Wingo <wingo@pobox.com>
16419 * gst/registries/gstxmlregistry.h:
16420 * gst/registries/gstxmlregistry.c: Um... resurrect...
16422 * gst/registries/gstxmlregistry.h:
16423 * gst/registries/gstxmlregistry.c: and update to newer API.
16424 Incidentally they should be a bit faster now that they don't have
16427 2005-09-05 Andy Wingo <wingo@pobox.com>
16429 * gst/registries/gstxmlregistry.h:
16430 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16431 replaced by the libxml registry a while back
16433 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
16435 * docs/gst/tmpl/gstplugin.sgml:
16436 * gst/elements/gstelements.c:
16438 * gst/gstplugin.c: (gst_plugin_register_func),
16439 (gst_plugin_desc_copy), (gst_plugin_desc_free),
16440 (gst_plugin_get_source):
16442 * gst/registries/gstlibxmlregistry.c: (load_plugin),
16443 (gst_xml_registry_save_plugin):
16444 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16445 (gst_xml_registry_save_plugin):
16446 * tools/gst-inspect.c: (print_plugin_info):
16447 add a "source" plugin description field, to represent the source
16448 module this plugin is a part of. By default GST_PLUGIN_DEFINE
16449 will set it to PACKAGE, which is automake's idea of the name of
16450 the source project.
16452 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
16457 * docs/Makefile.am:
16458 * docs/faq/Makefile.am:
16459 * docs/gst/tmpl/gstelement.sgml:
16460 * docs/gst/tmpl/gsttypes.sgml:
16461 * docs/htmlinstall.mak:
16462 * docs/manual/Makefile.am:
16463 * docs/pwg/Makefile.am:
16464 reorganize doc build a little
16465 split out docbook and gtk-doc stuff
16466 have two separate --enable's and enable them through autogen
16467 but disable by default in configure (to be similar to other
16469 * gstreamer.spec.in:
16470 clean up docs install
16488 translation updates
16490 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
16492 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16495 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16496 (gst_fake_sink_change_state):
16497 Make state change function thread-safe.
16499 * gst/gstpad.c: (gst_pad_alloc_buffer):
16500 Set offset on generic buffer allocated by fallback.
16502 2005-09-03 Stefan Kost <ensonic@users.sf.net>
16504 * docs/gst/gstreamer-sections.txt:
16505 * docs/gst/tmpl/gstelement.sgml:
16507 * libs/gst/controller/gst-controller.c:
16508 (gst_controlled_property_set_interpolation_mode),
16509 (gst_controlled_property_new),
16510 (gst_controller_find_controlled_property):
16511 run the wingo-magic script against the docs
16513 2005-09-02 Stefan Kost <ensonic@users.sf.net>
16515 * docs/gst/gstreamer-docs.sgml:
16516 * docs/gst/gstreamer-sections.txt:
16517 * docs/gst/tmpl/.cvsignore:
16518 * docs/gst/tmpl/gstelementdetails.sgml:
16519 * docs/gst/tmpl/gstelementfactory.sgml:
16522 * gst/gstelementfactory.c:
16523 * gst/gstelementfactory.h:
16524 merged elementdetails docs into elementfactory docs
16527 2005-09-02 Andy Wingo <wingo@pobox.com>
16529 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16530 consider this enum an enum and not a flags.
16532 2005-09-02 Stefan Kost <ensonic@users.sf.net>
16534 * docs/gst/gstreamer-docs.sgml:
16535 * docs/gst/tmpl/.cvsignore:
16536 * docs/gst/tmpl/gstghostpad.sgml:
16537 * docs/gst/tmpl/gstiterator.sgml:
16538 * docs/gst/tmpl/gstmacros.sgml:
16539 * docs/gst/tmpl/gstrealpad.sgml:
16540 * docs/gst/tmpl/gstregistry.sgml:
16541 * docs/gst/tmpl/gstregistrypool.sgml:
16542 * docs/gst/tmpl/gststructure.sgml:
16543 * docs/gst/tmpl/gstsystemclock.sgml:
16544 * docs/gst/tmpl/gsttrace.sgml:
16545 * gst/gstghostpad.c:
16547 * gst/gstmemchunk.c:
16548 * gst/gstmemchunk.h:
16550 * gst/gstregistry.c:
16551 * gst/gstregistrypool.c:
16552 * gst/gststructure.c:
16553 * gst/gstsystemclock.c:
16556 2005-09-02 Andy Wingo <wingo@pobox.com>
16558 * gst/gstelement.h (GstState): Renamed from GstElementState,
16559 changed to be a normal enum instead of flags.
16560 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
16561 munged to be GST_STATE_CHANGE_*.
16562 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
16563 work with the new state representation.
16564 (GstStateChange): New enumeration of possible state transitions.
16565 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
16566 (GstElementClass::change_state): Pass the GstStateChange along as
16567 an argument. Helps language bindings, so they don't have to use
16568 tricky lock-needing macros like GST_STATE_CHANGE ().
16570 * scripts/update-states (file): New script. Run it on a file to
16571 update it for state naming and API changes. Updates files in
16574 * All files updated for the new API.
16576 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
16578 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
16579 * gst/gstutils.c: (gst_util_set_value_from_string),
16580 (gst_util_set_object_arg):
16581 fix a bunch of unchecked return values
16582 * tools/gst-complete.c: (main):
16583 * gstreamer.spec.in:
16586 2005-09-01 Wim Taymans <wim@fluendo.com>
16588 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16589 (gst_base_sink_event), (gst_base_sink_do_sync),
16590 (gst_base_sink_handle_event):
16591 * gst/base/gstbasesink.h:
16592 Handle newsegments more correctly.
16597 * gst/gstevent.c: (gst_event_new_newsegment):
16598 A newsegment cannot have a start_time of -1
16600 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
16602 * win32/gstenumtypes.c:
16603 * win32/gstenumtypes.h:
16606 2005-08-31 Stefan Kost <ensonic@users.sf.net>
16608 * libs/gst/controller/gst-controller.c:
16609 (gst_controlled_property_set_interpolation_mode),
16610 (gst_controlled_property_new):
16611 fixed boolean again
16613 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
16615 * docs/faq/gst-uninstalled:
16620 * gst/gstutils.c: (gst_element_link_filtered):
16622 add gst_element_link_filtered
16624 2005-08-31 Stefan Kost <ensonic@users.sf.net>
16626 * docs/gst/gstreamer-docs.sgml:
16627 * docs/gst/gstreamer-sections.txt:
16628 * docs/gst/tmpl/.cvsignore:
16629 * docs/gst/tmpl/gsterror.sgml:
16630 * docs/gst/tmpl/gstfilter.sgml:
16631 * docs/gst/tmpl/gsturihandler.sgml:
16632 * docs/gst/tmpl/gsturitype.sgml:
16633 * docs/gst/tmpl/gstutils.sgml:
16634 * docs/gst/tmpl/gstxml.sgml:
16639 * gst/gsturitype.c:
16642 inlined more docs, fixed double id-ref
16644 2005-08-31 Wim Taymans <wim@fluendo.com>
16646 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16647 (gst_base_transform_handle_buffer):
16648 Passthrough elements don't need the caps as they don't care.
16650 2005-08-31 Wim Taymans <wim@fluendo.com>
16652 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16653 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
16654 Don't leak refcounts on buffers.
16656 2005-08-31 Wim Taymans <wim@fluendo.com>
16658 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
16659 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16660 (gst_base_transform_chain), (gst_base_transform_change_state):
16661 * gst/base/gstbasetransform.h:
16662 Handle the case where we are not negotiated more gracefully.
16664 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
16666 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
16667 (gst_file_src_map_region):
16668 Set READONLY flag on mmap'ed buffers, otherwise
16669 gst_buffer_make_writable() won't work properly (#314708).
16671 2005-08-31 Wim Taymans <wim@fluendo.com>
16673 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
16674 passthrough elements can even do inplace on non writable
16675 buffers (as they don't touch them).
16677 2005-08-31 Stefan Kost <ensonic@users.sf.net>
16679 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
16680 (gst_test_mono_source_set_property),
16681 (gst_test_mono_source_class_init), (GST_START_TEST),
16682 (gst_controller_suite):
16683 more tests (hehe I have the most)
16685 describe popping messages whenusing mulltiple sources
16686 * libs/gst/controller/gst-controller.c:
16687 (gst_controlled_property_set_interpolation_mode),
16688 (gst_controlled_property_new):
16689 * libs/gst/controller/gst-controller.h:
16690 * libs/gst/controller/gst-interpolation.c:
16691 implement boolean properties
16693 2005-08-31 Wim Taymans <wim@fluendo.com>
16695 * gst/gstminiobject.c: (gst_mini_object_ref):
16696 Cannot assert that the refcount has to be positive
16697 since a disposed object can be resurrected.
16699 2005-08-31 Wim Taymans <wim@fluendo.com>
16701 * gst/gstpad.c: (gst_pad_init):
16702 Revert change, need to first fix badly behaving
16705 2005-08-30 Wim Taymans <wim@fluendo.com>
16707 * check/elements/fakesrc.c: (setup_fakesrc):
16708 * check/elements/identity.c: (setup_identity):
16709 Activate pads before using them.
16711 2005-08-30 Wim Taymans <wim@fluendo.com>
16713 * gst/base/gstadapter.c: (gst_adapter_flush):
16714 Flushing out 0 bytes is ok for this function.
16716 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16717 no newsegment gives a warning and sets the start/stop to
16720 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
16721 (gst_base_transform_set_passthrough):
16724 * gst/gstminiobject.c: (gst_mini_object_ref):
16725 Check refcount here too.
16727 * gst/gstpad.c: (gst_pad_init):
16728 Pads are initially flushing and refusing data.
16730 * gst/gstutils.c: (gst_element_link_pads_filtered):
16731 When adding a capsfilter element make sure it has the
16732 same state as the parent bin.
16734 2005-08-30 Stefan Kost <ensonic@users.sf.net>
16736 * docs/gst/tmpl/.cvsignore:
16737 * docs/gst/tmpl/gstformat.sgml:
16738 * docs/gst/tmpl/gstversion.sgml:
16742 * gst/gstversion.h.in:
16743 more docs and two more inlined
16745 2005-08-30 Wim Taymans <wim@fluendo.com>
16747 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
16748 Don't sync to clock.
16750 2005-08-30 Stefan Kost <ensonic@users.sf.net>
16752 * docs/gst/gstreamer-sections.txt:
16753 ultral33t func10ns deserve to appear in the docs actually
16754 * docs/gst/tmpl/.cvsignore:
16755 * docs/gst/tmpl/gstcompat.sgml:
16756 * docs/gst/tmpl/gstconfig.sgml:
16757 * gst/check/gstcheck.c:
16759 * gst/gstconfig.h.in:
16762 2005-08-30 Stefan Kost <ensonic@users.sf.net>
16764 * docs/gst/tmpl/.cvsignore:
16765 * docs/gst/tmpl/gstquery.sgml:
16766 * docs/gst/tmpl/gstutils.sgml:
16769 inlined and extended docs
16771 2005-08-30 Stefan Kost <ensonic@users.sf.net>
16773 * check/gst-libs/controller.c: (GST_START_TEST),
16774 (gst_controller_suite):
16776 * docs/gst/tmpl/gstutils.sgml:
16777 * docs/libs/gstreamer-libs-sections.txt:
16778 * docs/libs/tmpl/gstdataprotocol.sgml:
16780 * examples/controller/audio-example.c: (main):
16781 controller example works now
16784 * tools/gst-inspect.c: (print_element_properties_info):
16785 show param spec flags
16787 2005-08-29 Andy Wingo <wingo@pobox.com>
16789 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
16791 2005-08-28 Andy Wingo <wingo@pobox.com>
16793 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
16794 as having two arguments instead of just one. Allows superclasses
16795 to access information on subclasses -- see the terrible for() loop
16796 in gtype.c:g_type_create_instance for the reason why. All callers
16799 2005-08-27 Stefan Kost <ensonic@users.sf.net>
16801 * docs/design/part-messages.txt:
16803 * docs/gst/tmpl/.cvsignore:
16804 * docs/gst/tmpl/gstcaps.sgml:
16805 * docs/gst/tmpl/gstclock.sgml:
16811 * gst/gstmessage.c:
16812 added descriptions for bus and message
16813 inline caps and clock docs
16815 2005-08-27 Stefan Kost <ensonic@users.sf.net>
16817 * gst/gstmessage.c:
16818 * gst/gstmessage.h:
16821 2005-08-27 Stefan Kost <ensonic@users.sf.net>
16823 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16826 2005-08-26 Andy Wingo <wingo@pobox.com>
16828 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
16829 element_set_state's return val.
16830 (test_2_elements): Add test that's been disabled for months.
16832 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
16833 can-activate-pull properties.
16835 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
16836 can-activate-pull properties. Implement is_seekable so fakesrc can
16837 operate in pull mode.
16839 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
16841 (gst_base_sink_activate, gst_base_sink_activate_pull)
16842 (gst_base_sink_activate_push): Make activation mode choosing work.
16844 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
16845 is right. Make pull mode work. Post an eos before pausing in pull
16847 (gst_base_sink_change_state): Pay attention to the core's
16848 change_state() return val.
16850 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
16851 has-getrange properties. Cleanups.
16853 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
16854 has_getrange and replace with can_activate_pull and
16857 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
16858 locking comments. Remove has_loop, has_chain and replace with
16859 can_activate_pull and can_activate_push.
16861 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
16864 * examples/Makefile.am:
16865 * examples/metadata/Makefile.am:
16866 * examples/metadata/read-metadata.c: (message_loop),
16867 (have_pad_handler), (make_pipeline), (print_tag), (main):
16868 Add metadata reading example that loops over a list of filenames,
16869 dumping any tags found.
16871 * gst/gstbus.c: (gst_bus_dispose):
16872 * gst/gstelement.c: (gst_element_dispose):
16873 Release a few potentially-held references in dispose.
16875 2005-08-26 Stefan Kost <ensonic@users.sf.net>
16877 * docs/gst/tmpl/gstminiobject.sgml:
16878 do *not* add tmpl/*.sgml files to CVS!
16880 2005-08-26 Stefan Kost <ensonic@users.sf.net>
16882 * libs/gst/bytestream/.cvsignore:
16883 * libs/gst/bytestream/Makefile.am:
16884 * libs/gst/bytestream/adapter.c:
16885 * libs/gst/bytestream/adapter.h:
16886 * libs/gst/bytestream/bytestream.c:
16887 * libs/gst/bytestream/bytestream.h:
16888 * libs/gst/bytestream/filepad.c:
16889 * libs/gst/bytestream/filepad.h:
16890 removing obsolete files
16892 2005-08-26 Stefan Kost <ensonic@users.sf.net>
16894 * docs/gst/gstreamer-docs.sgml:
16895 * docs/libs/gstreamer-libs-docs.sgml:
16896 disabed additional index entries again, as this makes docs-gen just
16897 slow and they aren't useful yet
16898 * docs/libs/gstreamer-libs-sections.txt:
16899 little -section.txt cleanup for libs
16901 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
16903 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16904 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
16905 fix up some debugging
16906 (gst_base_transform_get_unit_size),
16907 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16908 (gst_base_transform_handle_buffer):
16909 * gst/base/gstbasetransform.h:
16910 handle and store timed NEWSEGMENT events so that subclasses that
16911 calculate time by counting samples have a segment_start time they
16912 need to add to their timestamps - see audioresample
16914 2005-08-26 Stefan Kost <ensonic@users.sf.net>
16917 removed ';' from the end of macro defs
16918 * docs/gst/gstreamer-docs.sgml:
16919 * docs/gst/gstreamer-sections.txt:
16920 * docs/gst/tmpl/.cvsignore:
16922 * gst/gstelement.c: (gst_element_class_init),
16923 (gst_element_set_state), (activate_pads),
16924 (gst_element_save_thyself):
16925 * gst/gstevent.c: (gst_event_new_newsegment):
16927 * gst/gstiterator.c:
16928 * gst/gstiterator.h:
16931 * gst/gstutils.c: (gst_pad_query_convert):
16933 fixed parameter name mismatches between source, header and docs
16934 added some more docs, resolved the last batch of unused elements in
16935 docs (now someone needs to doc them)
16937 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
16939 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
16940 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
16941 don't walk through the plugins backwards. Where is all this
16942 reversed logic coming from ?
16944 2005-08-25 Wim Taymans <wim@fluendo.com>
16946 * gst/base/gstbasetransform.c: (gst_base_transform_init),
16947 (gst_base_transform_transform_size),
16948 (gst_base_transform_configure_caps),
16949 (gst_base_transform_get_unit_size),
16950 (gst_base_transform_buffer_alloc),
16951 (gst_base_transform_change_state):
16952 * gst/base/gstbasetransform.h:
16953 Cache caps unit_size.
16954 Make sure we cannot negotiate up and downstream at the
16957 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
16959 * gst/gst.c: (init_pre), (init_post):
16960 register the installed plugin path after the env var
16961 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
16962 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
16963 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
16964 directories, so the tests can prefer uninstalled over installed
16966 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
16968 * gst/base/gstbasetransform.h:
16973 2005-08-25 Wim Taymans <wim@fluendo.com>
16975 * gst/gstbin.c: (bin_bus_handler):
16976 Be a bit more conservative about the posted message.
16978 * gst/gstbus.c: (gst_bus_post):
16979 Some cleanups, warn wrong return values.
16981 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
16983 * check/gst/gstbin.c: (GST_START_TEST):
16984 * gst/gstbin.c: (bin_bus_handler):
16985 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
16986 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
16987 (gst_message_new_warning), (gst_message_new_tag),
16988 (gst_message_new_state_changed), (gst_message_new_segment_start),
16989 (gst_message_new_segment_done), (gst_message_new_custom):
16990 * gst/gstmessage.h:
16991 * tools/gst-launch.c: (event_loop):
16992 * tools/gst-md5sum.c: (event_loop):
16993 Revert unpopular change for GST_MESSAGE_SRC to GObject.
16995 2005-08-25 Wim Taymans <wim@fluendo.com>
16997 * check/generic/states.c: (GST_START_TEST):
16998 Cleanup can be done at the end.
17000 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
17001 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17002 (gst_task_get_state), (gst_task_start), (gst_task_pause):
17003 Oh boy.. Thanks for finding this, Thomas.
17005 2005-08-25 Stefan Kost <ensonic@users.sf.net>
17007 * docs/gst/gstreamer.types:
17008 added missing types
17010 2005-08-25 Stefan Kost <ensonic@users.sf.net>
17012 * docs/gst/gstreamer-docs.sgml:
17013 * docs/gst/gstreamer-sections.txt:
17014 * docs/gst/tmpl/.cvsignore:
17016 * gst/gstiterator.c:
17018 * gst/registries/gstxmlregistry.h:
17019 added missing classes and symbols (123 more to go)
17020 removed removed symbols from section file
17021 fixed many doc-comments
17023 2005-08-24 Wim Taymans <wim@fluendo.com>
17025 * check/generic/states.c: (GST_START_TEST):
17026 Make sure all tasks are stopped.
17028 * check/gst/gstbin.c: (GST_START_TEST):
17029 Unref after usage for proper valgrinding.
17031 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
17032 Really wait for the task to stop before destroying the
17035 * gst/gstqueue.c: (gst_queue_sink_activate_push),
17036 (gst_queue_src_activate_push):
17037 Small cleanups. Don't stop the task when we did not start
17040 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
17041 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17042 (gst_task_get_state), (gst_task_start), (gst_task_pause),
17045 Protect the stream lock with the object lock.
17046 Disallow setting the stream lock when running.
17047 Add cleanup_all to wait for the threadpool to finish.
17048 Remove code to autoallocate a mutex if none was provided.
17049 Add _join() to wait for a task to stop.
17050 Protect the thread pool with a global lock.
17052 2005-08-24 Wim Taymans <wim@fluendo.com>
17054 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17055 (gst_base_sink_get_times), (gst_base_sink_do_sync),
17056 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17057 * gst/base/gstbasesink.h:
17058 Handle newsegment events correctly.
17059 Drop buffers out of the segment range.
17061 2005-08-22 Andy Wingo <wingo@pobox.com>
17063 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17064 macro, implements an interface and gstimplementsinterface for a
17067 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
17069 * check/Makefile.am:
17070 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17071 add a test that does a bunch of state changes on elements
17072 needs some fixing for valgrind
17073 * check/states/sinks.c: (gst_object_suite):
17076 add prototype for gst_caps_is_equal_fixed
17078 * gst/gstregistrypool.c:
17081 2005-08-24 Andy Wingo <wingo@pobox.com>
17083 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17084 convert a negative value. Doesn't make much sense. Mostly this is
17085 here to force callers to ensure -1 maps to -1.
17087 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
17089 * docs/pwg/advanced-types.xml:
17090 Well done to Michael for catching my deliberate introduction
17091 of this spelling mistake.
17092 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17093 * gst/gstelement.h:
17094 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17095 unlink pads before removing the element from the bin.
17097 2005-08-24 Andy Wingo <wingo@pobox.com>
17099 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17100 the same thing as GST_DEBUG=*:4.
17101 (parse_debug_level, parse_debug_category): New helper parsers.
17103 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
17105 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17106 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17107 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17108 (gst_base_transform_buffer_alloc),
17109 (gst_base_transform_handle_buffer):
17110 use gboolean return values and pointers to size so we can use the
17111 full GST_BUFFER_SIZE range (guint) for buffer sizes
17112 use GstPadDirection for transform_caps
17113 * gst/base/gstbasetransform.h:
17114 rename get_size to get_unit_size since that's what it is
17115 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17116 use GstPadDirection for transform_caps
17117 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17119 cleanup and debugging
17121 2005-08-24 Stefan Kost <ensonic@users.sf.net>
17123 * gst/gstelement.c: (gst_element_class_init),
17124 (gst_element_set_state), (activate_pads),
17125 (gst_element_save_thyself):
17126 * tools/gst-compprep.c: (main):
17127 * tools/gst-inspect.c: (print_element_properties_info):
17128 * tools/gst-xmlinspect.c: (print_element_properties):
17129 Fixed long standing mem-leak
17131 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
17133 * check/gst/gstbin.c: (GST_START_TEST):
17134 * gst/gstbin.c: (bin_bus_handler):
17135 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17136 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17137 (gst_message_new_warning), (gst_message_new_tag),
17138 (gst_message_new_state_changed), (gst_message_new_segment_start),
17139 (gst_message_new_segment_done), (gst_message_new_custom):
17140 * gst/gstmessage.h:
17141 * tools/gst-launch.c: (event_loop):
17142 * tools/gst-md5sum.c: (event_loop):
17143 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17144 that applications can sensibly post custom messages with references
17145 to their own objects.
17147 2005-08-24 Andy Wingo <wingo@pobox.com>
17149 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17152 2005-08-24 Wim Taymans <wim@fluendo.com>
17154 * gst/base/gstbasetransform.c: (gst_base_transform_init),
17155 (gst_base_transform_transform_caps),
17156 (gst_base_transform_transform_size),
17157 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17158 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17159 (gst_base_transform_handle_buffer):
17160 * gst/base/gstbasetransform.h:
17161 Many fixes and new features added by Thomas. Can now also do
17162 transforms with variable sizes and a custom fixate_caps function.
17164 2005-08-24 Wim Taymans <wim@fluendo.com>
17166 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17170 Cast to ClockTime before formatting to time.
17175 2005-08-24 Stefan Kost <ensonic@users.sf.net>
17177 * check/gst-libs/controller.c: (GST_START_TEST),
17178 (gst_controller_suite):
17179 * docs/gst/tmpl/gstcaps.sgml:
17180 * docs/gst/tmpl/gstghostpad.sgml:
17181 * docs/gst/tmpl/gstquery.sgml:
17182 * docs/gst/tmpl/gstutils.sgml:
17183 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17184 (gst_object_sink_values), (gst_object_get_value_arrays),
17185 (gst_object_get_value_array):
17186 gracefully handle helper method calls to objects that are not beeing
17187 controlled, added test case for that
17189 2005-08-23 Wim Taymans <wim@fluendo.com>
17191 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17192 (gst_event_new_newsegment), (gst_event_parse_newsegment),
17193 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17194 (gst_event_parse_qos), (gst_event_new_seek),
17195 (gst_event_parse_seek):
17197 Some more debugging output and doc cleanups.
17199 * gst/gstqueue.c: (gst_queue_handle_sink_event):
17200 Fix possible deadlock.
17202 2005-08-23 Stefan Kost <ensonic@users.sf.net>
17204 * docs/gst/gstreamer-docs.sgml:
17205 * docs/gst/gstreamer-sections.txt:
17206 * docs/gst/gstreamer.types:
17207 * docs/gst/tmpl/.cvsignore:
17210 * gst/gstelement.c:
17212 added 100 symbols from gstreamer-unused.txt to the right sections
17213 fixed more broken comments
17214 added GstBus to docs
17216 2005-08-23 Stefan Kost <ensonic@users.sf.net>
17218 * docs/gst/gstreamer-sections.txt:
17219 * docs/gst/tmpl/.cvsignore:
17220 * docs/gst/tmpl/gstbin.sgml:
17221 * docs/gst/tmpl/gstbuffer.sgml:
17222 * gst/base/gstbasesrc.c:
17223 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17226 * tools/gst-launch.1.in:
17227 inlined more doc comments, added missing comments and fixed comments
17230 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
17232 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17236 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17238 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17239 * gst/gststructure.h:
17240 add a fixate function for booleans; add a FIXME that these func
17241 names should probably be gst_structure_fixate_*
17243 2005-08-23 Stefan Kost <ensonic@users.sf.net>
17245 * docs/gst/gstreamer-docs.sgml:
17246 * docs/gst/gstreamer-sections.txt:
17248 * gst/gstbin.c: (gst_bin_get_type),
17249 (gst_bin_child_proxy_get_child_by_index),
17250 (gst_bin_child_proxy_get_children_count),
17251 (gst_bin_child_proxy_init):
17252 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17253 (gst_child_proxy_get_child_by_index),
17254 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17255 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17256 (gst_child_proxy_get), (gst_child_proxy_set_property),
17257 (gst_child_proxy_set_valist), (gst_child_proxy_set),
17258 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17259 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17260 * gst/gstchildproxy.h:
17261 * gst/parse/grammar.y:
17262 * tools/gst-inspect.c: (print_interfaces),
17263 (print_element_properties_info), (print_element_info):
17264 ported gstchildproxy over from 0.8
17265 ported gst-inspect fixes and enhancements over from 0.8
17267 2005-08-22 Wim Taymans <wim@fluendo.com>
17269 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17270 (gst_base_transform_handle_buffer):
17271 Also call the transform function if we have ANY caps.
17273 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17276 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
17278 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17279 Don't pretend to handle seek events if the source is not seekable
17281 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
17283 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17284 Remove extra parameter to debug output
17286 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17287 (gst_base_src_do_seek), (gst_base_src_activate_push):
17288 Fix seek event handling.
17290 * gst/gstpipeline.c: (gst_pipeline_change_state):
17291 * gst/gstqueue.c: (gst_queue_handle_sink_event),
17292 (gst_queue_src_activate_push):
17293 Don't start the src pad task on FLUSH_STOP if the pad
17297 2005-08-22 Wim Taymans <wim@fluendo.com>
17299 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17300 Added check for gst_static_caps_get() refcounting.
17302 2005-08-22 Wim Taymans <wim@fluendo.com>
17304 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17305 Make _static_caps_get() refcounting sane.
17307 * gst/gstelement.c: (gst_element_set_state):
17308 Add g_return_val_if_fail() to protect against segfaults.
17310 2005-08-22 Stefan Kost <ensonic@users.sf.net>
17312 * docs/gst/tmpl/gstevent.sgml:
17315 inlined remaining docs, added missing doc comments
17317 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
17319 * check/gst/gstbin.c: (GST_START_TEST):
17320 since we don't know when preroll is done, use refcount range
17322 * gst/check/gstcheck.h:
17323 add macro for checking refcount range
17325 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
17327 * check/Makefile.am:
17328 clean up environment for when registry gets built versus
17329 when actual tests are run; valgrind seems to not report
17330 leaks if GST_PLUGIN_PATH is set to some specific values
17331 * check/gst/gstbin.c: (GST_START_TEST):
17332 add more refcounting checks; maybe this exposes a
17334 * common/check.mak:
17335 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17336 * gst/check/gstcheck.h:
17337 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17338 (gst_bin_change_state):
17339 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17340 add/fix debugging/whitespace
17342 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
17344 * check/gst/gstevent.c: (event_probe), (test_event),
17346 Er, don't call gst_bin_watch_for_state_change you idiot.
17348 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
17350 * check/Makefile.am:
17351 Use CHECK_CFLAGS and CHECK_LIBS
17352 * check/gst/gstevent.c: (event_probe), (test_event),
17355 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17356 (gst_base_src_start), (gst_base_src_stop),
17357 (gst_base_src_activate_push), (gst_base_src_activate_pull),
17358 (gst_base_src_change_state):
17359 Sprinkle gst_base_src_stop liberally around error paths to fix
17360 problems reusing a source after failed state changes.
17361 * gst/base/gsttypefindhelper.c: (helper_find_peek),
17362 (helper_find_suggest), (gst_type_find_helper):
17363 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17365 * docs/gst/tmpl/gstevent.sgml:
17366 Migrate part of the docs from the SGML file. Wait for ensonic to
17367 tell me how I did it wrong ;)
17368 * tools/gst-typefind.c: (main):
17369 Extra robustness to state changes between files.
17371 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
17373 * check/Makefile.am:
17374 don't valgrind the controller test - it's leaking - Stefan, HELP
17375 * gst/check/gstcheck.c: (gst_check_message_error),
17376 (gst_check_chain_func), (gst_check_setup_element),
17377 (gst_check_teardown_element), (gst_check_setup_src_pad),
17378 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17379 (gst_check_teardown_sink_pad):
17380 * gst/check/gstcheck.h:
17381 add a bunch of methods to set up elements, and src and sink pads
17382 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17383 * check/elements/identity.c: (setup_identity), (cleanup_identity),
17386 * gst/gstmessage.c:
17388 whitespace/doc fixes
17390 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17392 * gst/gstelement.h:
17393 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17394 be handled by the application and not always printed as well
17396 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17398 * check/Makefile.am:
17400 * gst/check/gstcheck.c: (gst_check_message_error):
17401 * gst/check/gstcheck.h:
17402 add a fail_unless_equals_int
17403 add fail_unless for error messages
17405 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17407 * check/Makefile.am:
17409 * common/Makefile.am:
17410 * common/check.mak:
17412 factor out some of the common stuff so we can use it
17414 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17416 * check/Makefile.am:
17417 * check/gst/gstiterator.c: (GST_START_TEST):
17418 * check/gst/gstsystemclock.c: (GST_START_TEST),
17419 (gst_systemclock_suite):
17420 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17422 valgrind more tests
17424 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
17426 * check/elements/.cvsignore:
17427 * check/elements/gstfakesrc.c:
17428 rename to name of element
17429 * check/elements/identity.c: (chain_func), (event_func),
17430 (setup_identity), (cleanup_identity), (GST_START_TEST),
17431 (identity_suite), (main):
17432 add a test for identity
17433 * check/Makefile.am:
17434 * pkgconfig/Makefile.am:
17435 * pkgconfig/gstreamer-check.pc.in:
17436 * pkgconfig/gstreamer-check-uninstalled.pc.in:
17440 move the check stuff to a library that gets installed
17441 * check/gst-libs/controller.c: (GST_START_TEST):
17442 * check/gst-libs/gdp.c:
17443 * check/gst/gst.c: (GST_START_TEST):
17444 * check/gst/gstbin.c:
17445 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17446 * check/gst/gstbus.c:
17447 * check/gst/gstcaps.c: (GST_START_TEST):
17448 * check/gst/gstelement.c:
17449 * check/gst/gstghostpad.c:
17450 * check/gst/gstiterator.c:
17451 * check/gst/gstmessage.c:
17452 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17453 * check/gst/gstobject.c:
17454 * check/gst/gstpad.c: (GST_START_TEST):
17455 * check/gst/gststructure.c: (GST_START_TEST):
17456 * check/gst/gstsystemclock.c: (GST_START_TEST),
17457 (gst_systemclock_suite):
17458 * check/gst/gsttag.c: (gst_tag_suite):
17459 * check/gst/gstvalue.c:
17460 * check/pipelines/cleanup.c:
17461 * check/pipelines/simple_launch_lines.c:
17462 * check/states/sinks.c:
17463 change include statement
17465 * docs/gst/gstreamer-sections.txt:
17466 * docs/gst/tmpl/gstpad.sgml:
17467 document more pad stuff
17468 * gst/gstminiobject.c: (gst_mini_object_ref),
17469 (gst_mini_object_unref):
17472 2005-08-19 Stefan Kost <ensonic@users.sf.net>
17474 * docs/gst/tmpl/gst.sgml:
17476 eliminate another tmpl file, fix spelling in the long-description
17478 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17480 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17481 (test_event), (timediff), (gstevents_suite):
17482 Should fix build on 64-bit arch's
17484 2005-08-18 Andy Wingo <wingo@pobox.com>
17486 Make sure that when a pipeline goes to PLAYING, that data has
17487 actually hit the sink.
17489 * check/states/sinks.c (test_sink): A sink that doesn't get any
17490 data shouldn't return SUCCESS for going to either PLAYING or
17491 PAUSED. Test also the return values on the way back down.
17493 * gst/gstelement.c (gst_element_set_state): When changing the
17494 state of an element currently changing state asynchronously, go to
17495 lost-state after commiting the pending state. Makes future calls
17496 to get_state continue to return ASYNC.
17498 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17499 ASYNC when going to PLAYING if we still don't have preroll, as can
17500 happen with live sources.
17502 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17504 * docs/pwg/advanced-types.xml:
17505 Hack long paragraph into 2 chunks as a workaround for buggy
17506 jadetex version in sid and breezy that loops infinitely and
17509 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17511 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17512 (test_event), (timediff), (gstevents_suite):
17513 Provide more error margin in clock measurements to allow for
17514 g_get_current_time inaccuracies.
17516 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17518 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17519 (test_event), (timediff), (gstevents_suite):
17520 Fix error message output so I might be able to tell why the
17521 test works here but fails on the build farm.
17523 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
17525 * check/Makefile.am:
17526 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17527 (test_event), (timediff), (gstevents_suite), (main):
17530 * docs/design/part-seeking.txt:
17531 Spelling correction
17533 * docs/gst/tmpl/gstevent.sgml:
17534 * docs/gst/tmpl/gstfakesrc.sgml:
17537 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17538 Treat a buffer-without-newsegment the same as a receiving
17539 a newsegment not in time format, and disable syncing to the clock
17542 * gst/gstbus.c: (gst_bus_set_sync_handler):
17543 Assert if anyone tries to replace the existing sync_handler for bus,
17544 as only the owner should be setting it.
17547 Have a fixed set of custom event enums with events identified by
17548 their structure name (as in 0.8), rather than a free-for-all
17549 allowing collisions between enum values from different plugins.
17551 * gst/gstpad.c: (gst_pad_class_init):
17554 * gst/gstqueue.c: (gst_queue_handle_sink_event):
17555 Handle out-of-band downstream events from the sending thread.
17557 2005-08-17 Andy Wingo <wingo@pobox.com>
17559 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
17560 play-timeout==0 to mean no timeout at all. In that case, don't
17561 bother with a get_state or a warning, just return directly, even
17564 * gst/base/gstbasetransform.c: Debug changes.
17567 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
17568 ensure bins post state change messages. A bit of a hack but I can't
17569 think of a way to avoid it.
17571 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
17573 2005-08-16 Andy Wingo <wingo@pobox.com>
17575 * gst/base/gstadapter.h:
17576 * gst/base/gstadapter.c (gst_adapter_take): New function, like
17577 peek() but you own the data. Not terribly efficient atm.
17579 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17581 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
17582 (gst_element_found_tags):
17584 Add two utility functions for tag handling.
17586 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17588 * docs/manual/advanced-dataaccess.xml:
17589 * docs/manual/basics-helloworld.xml:
17590 Fix docs to use _bin_add() before _link(), which fixes the examples
17591 with recent core versions (reported by Madhan Raj M
17592 <raj_madan@rediffmail.com>, #313199).
17594 2005-08-16 Wim Taymans <wim@fluendo.com>
17596 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17597 Added subtract checks.
17599 * docs/design/part-events.txt:
17600 Some more docs about newsegment
17602 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17605 * gst/gstcaps.c: (gst_caps_to_string):
17606 Add comments, cleanups.
17608 * gst/gstelement.c: (gst_element_save_thyself):
17611 * gst/gstvalue.c: (gst_value_collect_int_range),
17612 (gst_string_unwrap), (gst_value_union_int_int_range),
17613 (gst_value_union_int_range_int_range),
17614 (gst_value_intersect_int_int_range),
17615 (gst_value_intersect_int_range_int_range),
17616 (gst_value_intersect_double_double_range),
17617 (gst_value_intersect_double_range_double_range),
17618 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
17619 (gst_value_subtract_int_range_int),
17620 (gst_value_subtract_double_range_double),
17621 (gst_value_subtract_double_range_double_range),
17622 (gst_value_subtract_from_list), (gst_value_subtract_list),
17623 (gst_value_can_compare), (gst_value_compare_fraction):
17624 Cleanups, add comments, remove unneeded asserts.
17626 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
17628 * tools/gst-launch.c: (event_loop):
17629 don't convert NULL structures to strings
17631 2005-08-15 Stefan Kost <ensonic@users.sf.net>
17633 * docs/gst/gstreamer-sections.txt:
17634 made some defines private
17635 * docs/gst/tmpl/gstconfig.sgml:
17636 * docs/gst/tmpl/gstqueue.sgml:
17637 * docs/gst/tmpl/gsttaglist.sgml:
17638 * docs/gst/tmpl/gsttypes.sgml:
17639 * docs/gst/tmpl/gstutils.sgml:
17640 * docs/pwg/appendix-porting.xml:
17641 * gst/base/gstbasesink.h:
17642 * gst/base/gstbasesrc.c:
17643 * gst/base/gstbasesrc.h:
17644 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
17645 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
17646 * gst/gstelement.c: (gst_element_class_init):
17647 * gst/gstpad.c: (gst_pad_class_init):
17648 * gst/gstqueue.c: (gst_queue_class_init):
17649 * gst/gstxml.c: (gst_xml_class_init):
17650 documented all undocumented signal inline
17651 * libs/gst/controller/gst-controller.h:
17654 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17656 * docs/pwg/appendix-porting.xml:
17657 Document _set_link_function -> _set_setcaps_function.
17659 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
17661 * check/Makefile.am:
17662 add a .check target for running the check
17663 * check/gst-libs/controller.c: (GST_START_TEST):
17665 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17666 complete checks for gstbuffer; would be nice if I could get the
17667 gcov stuff to work so I can see if I actually completed gstbuffer.c
17668 * check/gstcheck.h:
17669 add ASSERT_BUFFER_REFCOUNT
17671 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
17673 * docs/gst/gstreamer-sections.txt:
17674 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
17676 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
17677 spew out a warning if a tag that is already registered
17678 is re-registered, unless it is re-registered with a
17679 different type (#308438).
17681 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
17683 * docs/pwg/appendix-porting.xml:
17684 * docs/pwg/building-state.xml:
17685 Add some paragraphs about state changes in 0.9 to the PWG
17686 and the porting guide, in particular about the new meaning
17687 of GST_STATE_PAUSED and how to write state change functions
17688 with concurrent access by multiple threads in mind.
17690 2005-08-11 Stefan Kost <ensonic@users.sf.net>
17692 * docs/gst/gstreamer-docs.sgml:
17693 * docs/libs/gstreamer-libs-docs.sgml:
17694 added deprecation and since indexes
17695 * libs/gst/controller/gst-controller.c:
17696 * libs/gst/controller/gst-helper.c:
17700 2005-08-11 Wim Taymans <wim@fluendo.com>
17702 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
17703 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
17704 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
17705 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
17706 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
17707 (gst_ghost_pad_set_target):
17708 Actually implement (re)setting the target on a ghostpad
17709 as described in the docs.
17711 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
17713 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
17714 Check whether GST_DEBUG_NO_COLOR environment variable is
17715 set and disable coloured debug output if that is the case.
17717 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
17719 * gst/base/gsttypefindhelper.c: (helper_find_peek),
17720 (gst_type_find_helper):
17721 The memory returned by gst_type_find_peek() needs to
17722 stay valid until the end of a typefind function, and
17723 typefind functions may keep results from different
17724 offsets around, so we can't just unref the buffer from
17725 the previous _peek(), but have to save all buffers
17726 returned by _peek() until typefinding is done and only
17729 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
17731 * docs/gst/gstreamer-sections.txt:
17733 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
17735 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17737 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17738 Fix a pretty good memleak.
17740 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
17742 * gst/gstiterator.h:
17743 Fix wrong include and 'make distcheck'.
17745 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17747 * gst/gstbin.c: (bin_bus_handler):
17748 Use gst_element_post_message() instead.
17750 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
17752 * gst/base/gstadapter.h:
17753 * gst/base/gstbasesink.h:
17754 * gst/base/gstbasesrc.h:
17755 * gst/base/gstbasetransform.h:
17756 * gst/base/gstcollectpads.h:
17757 * gst/base/gstpushsrc.h:
17758 * gst/gstiterator.h:
17759 Add padding to our base elements' class and instance structs and
17760 to GstIterator (you will need to rebuild all plugins and apps!)
17762 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17764 * gst/gstbin.c: (bin_bus_handler):
17765 Make default message forwarding from child->bus to bin->bus
17766 threadsafe and make it not emit warnings if the parent has no bus.
17768 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17770 * gst/gstelement.c: (activate_pads):
17771 On paused->ready, set pad->caps to NULL, as is the documented
17772 behaviour in this state change. Fixes playback of series of
17773 media files when visualization is enabled in Totem.
17775 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
17777 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17778 Allow NULL as filter-caps (which means "any").
17780 2005-08-05 Stefan Kost <ensonic@users.sf.net>
17782 * docs/libs/gstreamer-libs-sections.txt:
17783 * libs/gst/controller/gst-controller.c:
17784 * libs/gst/controller/gst-controller.h:
17785 * libs/gst/controller/gst-helper.c:
17786 adding more entries to the docs and fix small doc-bugs
17788 2005-08-05 Stefan Kost <ensonic@users.sf.net>
17790 * docs/gst/gstreamer-docs.sgml:
17791 * docs/gst/gstreamer-sections.txt:
17792 * docs/gst/gstreamer.types:
17793 * docs/gst/tmpl/gstbasesink.sgml:
17794 * docs/gst/tmpl/gstbasesrc.sgml:
17795 * docs/gst/tmpl/gstbasetransform.sgml:
17796 * docs/gst/tmpl/gstfakesrc.sgml:
17797 * gst/base/gstcollectpads.c:
17798 * gst/base/gstcollectpads.h:
17799 * libs/gst/controller/gst-controller.c:
17800 * libs/gst/controller/gst-controller.h:
17801 * libs/gst/controller/gst-helper.c:
17802 * libs/gst/controller/gst-interpolation.c:
17803 * libs/gst/controller/lib.c:
17804 added long/short desc for controller docs
17805 added collectpads base class docs
17806 added correct includes to base-class docs
17808 2005-08-05 Stefan Kost <ensonic@users.sf.net>
17810 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17811 (gst_test_mono_source_set_property),
17812 (gst_test_mono_source_class_init), (GST_START_TEST),
17813 (gst_controller_suite):
17814 * docs/gst/gstreamer-docs.sgml:
17815 * docs/gst/gstreamer-sections.txt:
17816 * docs/gst/gstreamer.types:
17817 * docs/libs/gstreamer-libs-docs.sgml:
17818 * docs/libs/gstreamer-libs-sections.txt:
17819 * gst/base/gstadapter.c:
17820 * libs/gst/controller/gst-controller.c:
17821 (gst_controlled_property_new), (gst_controlled_property_free),
17822 (gst_controller_new_valist),
17823 (gst_controller_remove_properties_valist),
17824 (gst_controller_sink_values), (_gst_controller_finalize):
17825 * libs/gst/controller/gst-controller.h:
17826 * libs/gst/controller/gst-helper.c:
17827 (gst_object_control_properties), (gst_object_uncontrol_properties),
17828 (gst_object_get_controller), (gst_object_set_controller),
17829 (gst_object_sink_values), (gst_object_get_value_arrays),
17830 (gst_object_get_value_array):
17831 more tests (and fixes) for the controller
17832 more docs for the controller
17833 integrated companies docs for the adapter
17835 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
17837 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
17838 (GST_START_TEST), (fakesrc_suite):
17839 add tests for sizetype
17841 2005-08-04 Andy Wingo <wingo@pobox.com>
17843 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
17844 fixes buffer_alloc proxying among other things.
17846 * gst/base/gstbasetransform.c:
17847 * gst/base/gstbasetransform.h:
17848 Revert patch to gstbasetransform from 7-28 removing
17851 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
17852 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
17853 Semantics changed, should return not the size of the output buffer
17854 but the byte size of a buffer with a given caps.
17856 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
17858 (gst_base_transform_configure_caps): Don't set out_size here: (in,
17859 out) are not the pad caps until setcaps finishes.
17860 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
17861 not-in-place case as well. Deal with changing from in-place to
17862 not-in-place within calling pad_alloc_buffer. Still a bit
17863 concerned about the overhead here...
17865 2005-08-03 Andy Wingo <wingo@pobox.com>
17867 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
17868 fixating is an error.
17870 2005-08-04 Edward Hervey <edward@fluendo.com>
17872 * gst/base/gstadapter.h:
17873 Added gst_adapter_get_type() to the header
17875 2005-08-03 Stefan Kost <ensonic@users.sf.net>
17877 * check/Makefile.am:
17878 * check/gst-libs/controller.c:
17879 * libs/gst/controller/gst-controller.c:
17880 (gst_controller_new_valist):
17881 added check test suite for the controller
17882 * gst/base/gstpushsrc.c:
17885 2005-08-03 Stefan Kost <ensonic@users.sf.net>
17887 * docs/gst/Makefile.am:
17888 * docs/gst/gstreamer-docs.sgml:
17889 * docs/gst/gstreamer-sections.txt:
17890 * docs/gst/gstreamer.types:
17891 * docs/gst/tmpl/gstfakesrc.sgml:
17893 * gst/base/gstbasesink.c:
17894 * gst/base/gstbasesink.h:
17895 * gst/base/gstbasesrc.c:
17896 * gst/base/gstbasesrc.h:
17897 * gst/base/gstbasetransform.c:
17898 * gst/base/gstpushsrc.c:
17899 * gst/base/gstpushsrc.h:
17900 add short/long description docs to base classes
17901 add pushsrc to the docs
17902 remove consolidated doc fragments
17904 2005-08-03 Stefan Kost <ensonic@users.sf.net>
17907 * docs/libs/Makefile.am:
17908 * docs/libs/gstreamer-libs-docs.sgml:
17909 * docs/libs/gstreamer-libs-sections.txt:
17910 * docs/libs/gstreamer-libs.types:
17911 * examples/Makefile.am:
17912 * examples/controller/.cvsignore:
17913 * examples/controller/Makefile.am:
17914 * examples/controller/audio-example.c: (main):
17915 * libs/gst/Makefile.am:
17916 * libs/gst/controller/.cvsignore:
17917 * libs/gst/controller/Makefile.am:
17918 * libs/gst/controller/gst-controller.c:
17919 (on_object_controlled_property_changed), (gst_timed_value_compare),
17920 (gst_timed_value_find),
17921 (gst_controlled_property_set_interpolation_mode),
17922 (gst_controlled_property_new), (gst_controlled_property_free),
17923 (gst_controller_find_controlled_property),
17924 (gst_controller_new_valist), (gst_controller_new),
17925 (gst_controller_remove_properties_valist),
17926 (gst_controller_remove_properties), (gst_controller_set),
17927 (gst_controller_set_from_list), (gst_controller_unset),
17928 (gst_controller_get), (gst_controller_get_all),
17929 (gst_controller_sink_values), (gst_controller_get_value_arrays),
17930 (gst_controller_get_value_array),
17931 (gst_controller_set_interpolation_mode),
17932 (_gst_controller_finalize), (_gst_controller_init),
17933 (_gst_controller_class_init), (gst_controller_get_type):
17934 * libs/gst/controller/gst-controller.h:
17935 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
17936 (g_object_uncontrol_properties), (g_object_get_controller),
17937 (g_object_set_controller), (g_object_sink_values),
17938 (g_object_get_value_arrays), (g_object_get_value_array):
17939 * libs/gst/controller/gst-interpolation.c:
17940 (gst_controlled_property_find_timed_value_node),
17941 (interpolate_none_get), (interpolate_trigger_get),
17942 (interpolate_trigger_get_value_array):
17943 * libs/gst/controller/lib.c: (gst_controller_init):
17944 * pkgconfig/Makefile.am:
17945 * pkgconfig/gstreamer-control-uninstalled.pc.in:
17946 * pkgconfig/gstreamer-control.pc.in:
17947 * testsuite/Makefile.am:
17948 * testsuite/controller/.cvsignore:
17949 * testsuite/controller/Makefile.am:
17950 * testsuite/controller/interpolator.c: (main):
17951 added controller code
17952 removed dparam pc files
17954 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
17955 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
17956 (gst_collectpads_stop):
17957 Broadcast the condition when shutting down, to make sure we wake all
17958 threads up. Shut down pads on finalize, for safety.
17960 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
17961 * gst/base/gstbasetransform.c: (gst_base_transform_init),
17962 (gst_base_transform_handle_buffer),
17963 (gst_base_transform_change_state):
17964 Handle PAUSED->READY->PAUSED transition after negotiation
17966 * gst/gstmessage.c: (gst_message_init):
17967 Extra piece of debug for new messages.
17969 2005-08-01 Stefan Kost <ensonic@users.sf.net>
17972 * docs/gst/tmpl/gstbasesrc.sgml:
17973 * docs/gst/tmpl/gstelement.sgml:
17974 * docs/gst/tmpl/gstevent.sgml:
17975 * docs/gst/tmpl/gstfakesrc.sgml:
17976 * docs/gst/tmpl/gstformat.sgml:
17977 * docs/gst/tmpl/gstghostpad.sgml:
17978 * docs/gst/tmpl/gstpad.sgml:
17979 * docs/gst/tmpl/gstquery.sgml:
17980 * docs/gst/tmpl/gststructure.sgml:
17981 * docs/gst/tmpl/gsttaglist.sgml:
17982 * docs/gst/tmpl/gstvalue.sgml:
17983 * docs/libs/gstreamer-libs-docs.sgml:
17984 * docs/libs/gstreamer-libs-sections.txt:
17985 * docs/libs/gstreamer-libs.types:
17986 * libs/gst/Makefile.am:
17987 * libs/gst/control/.cvsignore:
17988 * libs/gst/control/Makefile.am:
17989 * libs/gst/control/control.c:
17990 * libs/gst/control/control.h:
17991 * libs/gst/control/dparam.c:
17992 * libs/gst/control/dparam.h:
17993 * libs/gst/control/dparam_smooth.c:
17994 * libs/gst/control/dparam_smooth.h:
17995 * libs/gst/control/dparamcommon.h:
17996 * libs/gst/control/dparammanager.c:
17997 * libs/gst/control/dparammanager.h:
17998 * libs/gst/control/dplinearinterp.c:
17999 * libs/gst/control/dplinearinterp.h:
18000 * libs/gst/control/unitconvert.c:
18001 * libs/gst/control/unitconvert.h:
18002 * testsuite/Makefile.am:
18003 * testsuite/dynparams/.cvsignore:
18004 * testsuite/dynparams/Makefile.am:
18005 * testsuite/dynparams/dparamstest.c:
18006 * tools/Makefile.am:
18007 * tools/gst-inspect.c: (print_element_info), (main):
18008 * tools/gst-xmlinspect.c: (print_element_info), (main):
18009 deactivate and remove dparams (libgstcontrol)
18011 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
18013 * gst/elements/gsttypefindelement.c:
18014 (gst_type_find_element_have_type), (gst_type_find_element_init),
18015 (stop_typefinding), (gst_type_find_element_handle_event),
18016 (gst_type_find_element_chain), (gst_type_find_element_getrange):
18017 * gst/elements/gsttypefindelement.h:
18018 Set caps on all outgoing buffers, not just the first one.
18020 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
18022 * gst/elements/gsttypefindelement.c:
18023 (gst_type_find_element_have_type),
18024 (gst_type_find_element_check_set_buffer_caps),
18025 (gst_type_find_element_init), (stop_typefinding),
18026 (gst_type_find_element_handle_event),
18027 (gst_type_find_element_chain), (gst_type_find_element_getrange):
18028 * gst/elements/gsttypefindelement.h:
18029 Set caps on first outgoing buffer when we've found the type.
18031 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
18033 * docs/gst/gstreamer-docs.sgml:
18034 * docs/gst/gstreamer-sections.txt:
18035 * docs/gst/tmpl/gstscheduler.sgml:
18036 * docs/gst/tmpl/gstschedulerfactory.sgml:
18037 Remove some old cruft from docs.
18039 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
18042 Fix inline docs for GstPadLinkReturn.
18044 * gst/gststructure.c: (gst_structure_has_name):
18045 * gst/gststructure.h:
18046 * docs/gst/gstreamer-sections.txt:
18047 New API: gst_structure_has_name().
18049 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
18052 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
18053 and _LARGEFILE_SOURCE in config.h as required. Do not
18054 export those flags in our .pc files any longer (#142209).
18056 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18058 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18059 (gst_file_sink_do_seek), (gst_file_sink_event),
18060 (gst_file_sink_get_current_offset), (gst_file_sink_render):
18061 Redo seek/tell calls with large file support in mind; add some
18062 debugging messages; add log message that tells us when large
18063 file support is unavailable or not enabled for some reason.
18065 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18066 Add log message that tells us when large file support
18067 is unavailable or not enabled for some reason.
18069 2005-07-29 Wim Taymans <wim@fluendo.com>
18071 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18072 Added test for removing an element with ghostpad from a bin.
18073 Fixed test as current implementation does the right thing.
18075 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18076 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18077 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18078 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18079 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18080 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18081 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18082 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18083 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18084 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18085 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18086 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18087 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18088 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18089 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18090 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18091 * gst/gstghostpad.h:
18092 Clean up ghostpads, remove properties for internal stuff.
18095 Prepare for switching targets, not all use cases work yet.
18097 2005-07-29 Wim Taymans <wim@fluendo.com>
18099 * docs/design/part-gstghostpad.txt:
18102 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18103 (gst_bin_remove_func):
18104 Unlinking pads while holding the bin LOCK is not a good
18107 * gst/gstpad.c: (gst_pad_class_init),
18108 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18109 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18110 No prob setting template after creating the pad.
18112 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
18114 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18115 (gst_bus_peek), (gst_bus_source_dispatch),
18116 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18117 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18118 gst_bus_poll may be called from other threads. Handle
18119 this nicely by not making poll_data disappear off the
18120 stack once gst_bus_poll returns.
18121 gst_bus_peek now increments the refcount on the returned
18124 2005-07-29 Wim Taymans <wim@fluendo.com>
18126 * docs/design/part-gstghostpad.txt:
18127 Overview of current GhostPad datastructures and use
18128 cases for changing the target.
18130 2005-07-28 Wim Taymans <wim@fluendo.com>
18132 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18133 Added checks for hierarchy consistency whan adding linked
18136 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18137 Added check to test element scheduling without bin/pipeline.
18139 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18140 First add elements to bin, then link.
18142 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18143 (gst_bin_remove_func):
18144 Unlink pads from elements added/removed from bin to maintain
18145 hierarchy consistency.
18147 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18149 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18150 (gst_base_transform_handle_buffer):
18151 * gst/base/gstbasetransform.h:
18152 Remove broken delay_configure (fixes renegotiation of software
18153 scaling pipelines); remove some leftover printf()s.
18155 2005-07-28 Wim Taymans <wim@fluendo.com>
18157 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18158 Added some more tests for wrong hierarchy
18160 * docs/design/part-overview.txt:
18163 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18166 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18167 (gst_element_dispose):
18168 Some more cleanups.
18170 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18171 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18172 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18173 (gst_pad_set_caps), (gst_pad_send_event):
18174 Check for correct hierarchy when linking pads. Moving to
18175 strict requirement for ghostpads when linking elements in
18179 Clean ups. Added WRONG_HIERARCHY return value.
18181 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18183 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18184 Better debug if no transform is possible.
18186 2005-07-27 Wim Taymans <wim@fluendo.com>
18188 * docs/random/wtay/network-transp:
18189 Some old doc I had.
18191 2005-07-27 Wim Taymans <wim@fluendo.com>
18193 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18194 (gst_dp_event_from_packet):
18195 Fix serialization of seek events.
18197 2005-07-27 Wim Taymans <wim@fluendo.com>
18199 * check/gst-libs/gdp.c: (GST_START_TEST):
18200 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18201 Fix compilation and fix event serialization.
18203 2005-07-27 Wim Taymans <wim@fluendo.com>
18206 * docs/design/part-TODO.txt:
18207 * docs/design/part-events.txt:
18210 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18211 (gst_base_sink_event), (gst_base_sink_do_sync),
18212 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18213 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18214 (gst_base_src_do_seek), (gst_base_src_event_handler),
18215 (gst_base_src_loop):
18216 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18217 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18218 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18219 (gst_base_transform_event), (gst_base_transform_handle_buffer),
18220 (gst_base_transform_set_passthrough),
18221 (gst_base_transform_is_passthrough):
18222 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18223 * gst/elements/gstfilesink.c: (gst_file_sink_event):
18229 * gst/gstelement.c: (gst_element_seek):
18230 * gst/gstelement.h:
18231 Update gst_element_seek.
18233 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18234 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18235 (gst_event_new_flush_start), (gst_event_new_flush_stop),
18236 (gst_event_new_eos), (gst_event_new_newsegment),
18237 (gst_event_parse_newsegment), (gst_event_new_tag),
18238 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18239 (gst_event_parse_qos), (gst_event_new_seek),
18240 (gst_event_parse_seek), (gst_event_new_navigation):
18242 Make GstEvent use GstStructure. Add parsing code, make sure the
18243 API is sufficiently generic.
18244 Mark possible directions of events and serialization.
18246 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18247 (_gst_message_copy), (gst_message_new_segment_start),
18248 (gst_message_new_segment_done), (gst_message_new_custom),
18249 (gst_message_parse_segment_start),
18250 (gst_message_parse_segment_done):
18253 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18254 (gst_pad_set_caps), (gst_pad_send_event):
18255 Update for new events.
18256 Catch events sent in wrong directions.
18258 * gst/gstqueue.c: (gst_queue_link_src),
18259 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18260 (gst_queue_handle_src_query):
18265 Remove event code from this file.
18267 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18268 (gst_dp_event_from_packet):
18271 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18273 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18274 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18275 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18276 Make debugging actually useful.
18278 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18280 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18281 (gst_pad_fixate_caps):
18282 Implement default fixation once again, so that gst_pad_fixate()
18283 actually does anything at all. This probably needs to be some
18284 sort of a last resort, and use profile-based fixation first, but
18285 since that doesn't exist yet, this is the best we have. Fixes
18286 visualization in Totem.
18288 2005-07-22 Wim Taymans <wim@fluendo.com>
18290 * docs/design/part-events.txt:
18293 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18294 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18295 (gst_base_sink_activate_pull):
18296 Some more comments.
18298 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18299 (gst_fake_src_create):
18300 Fix handoff marshall.
18302 * gst/elements/gstidentity.c: (gst_identity_class_init),
18303 (gst_identity_transform_ip):
18304 We're a real inplace element.
18306 * gst/gstbus.c: (gst_bus_post):
18307 Added some comments.
18309 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18310 * tests/muxing/case1.c: (main):
18311 * tests/sched/dynamic-pipeline.c: (main):
18312 * tests/sched/interrupt1.c: (main):
18313 * tests/sched/interrupt2.c: (main):
18314 * tests/sched/interrupt3.c: (main):
18315 * tests/sched/runxml.c: (main):
18316 * tests/sched/sched-stress.c: (main):
18317 * tests/seeking/seeking1.c: (event_received), (main):
18318 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18320 * tests/threadstate/threadstate3.c: (main):
18321 * tests/threadstate/threadstate4.c: (main):
18322 * tests/threadstate/threadstate5.c: (main):
18325 2005-07-21 Wim Taymans <wim@fluendo.com>
18327 * docs/design/part-seeking.txt:
18328 Some small additions.
18330 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18331 (gst_base_sink_get_times), (gst_base_sink_do_sync),
18332 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18333 * gst/base/gstbasesink.h:
18334 discont values are gint64, handle the math correctly.
18336 * gst/base/gstbasesrc.c: (gst_base_src_loop):
18337 Make the basesrc report error if the source pad is not linked.
18339 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18340 (gst_queue_loop), (gst_queue_handle_src_query),
18341 (gst_queue_src_activate_push):
18342 Make queue collect data even if the srcpad is not linked.
18343 Start pushing out data as soon as it is linked.
18345 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18347 Added gst_flow_get_name() to ease error reporting.
18349 2005-07-20 Wim Taymans <wim@fluendo.com>
18351 * gst/gstmessage.c: (gst_message_new_segment_start),
18352 (gst_message_new_segment_done), (gst_message_parse_segment_start),
18353 (gst_message_parse_segment_done):
18354 * gst/gstmessage.h:
18355 Added a bunch of messages for advanced seeking.
18357 * gst/parse/grammar.y:
18358 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18359 (gst_dpman_state_changed):
18360 Fix some new-pad -> pad-added signals
18362 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18364 * docs/manual/appendix-porting.xml:
18365 * docs/pwg/appendix-porting.xml:
18366 Document new-pad/state-change signal renames and the FixedList
18369 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18371 * docs/manual/advanced-autoplugging.xml:
18372 * docs/manual/basics-helloworld.xml:
18373 * docs/manual/basics-pads.xml:
18374 * docs/random/ds/0.9-suggested-changes:
18375 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18376 * gst/gstelement.h:
18380 * gst/gststructure.c: (gst_structure_value_get_generic_type),
18381 (gst_structure_parse_array), (gst_structure_parse_value):
18382 * gst/gstvalue.c: (gst_type_is_fixed),
18383 (gst_value_list_prepend_value), (gst_value_list_append_value),
18384 (gst_value_list_get_size), (gst_value_list_get_value),
18385 (gst_value_transform_array_string), (gst_value_serialize_array),
18386 (gst_value_deserialize_array), (gst_value_intersect_array),
18387 (gst_value_is_fixed), (_gst_value_initialize):
18389 GstElement::new-pad -> pad-added, GstElement::state-change ->
18390 state-changed, GstValueFixedList -> GstValueArray, add format and
18391 flags as their own arguments in gst_element_seek() (should improve
18392 "bindeability"), remove function generators since they don't work
18393 under a whole bunch of compilers (they were deprecated already
18396 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18398 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18399 (_gst_debug_register_funcptr):
18401 Fix illegal cast on some platforms (#309253).
18403 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18405 * gst/gstmessage.c: (gst_message_new_custom):
18406 * gst/gstmessage.h:
18407 Add _new_custom, make _new_application a macro to _new_custom.
18409 2005-07-20 Wim Taymans <wim@fluendo.com>
18411 * gst/base/gstbasesrc.c: (gst_base_src_init),
18412 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18413 * gst/base/gstbasesrc.h:
18414 Add a gboolean to decide when to push out a discont.
18416 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18417 (gst_queue_loop), (gst_queue_handle_src_query),
18418 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18419 (gst_queue_set_property), (gst_queue_get_property):
18422 * tests/threadstate/threadstate1.c: (main):
18423 Make a thread test compile and run... very silly..
18426 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18428 * docs/manual/appendix-porting.xml:
18429 Mention removal of libgstgconf-0.9.la and existence of gconf
18432 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
18434 * docs/pwg/advanced-clock.xml:
18435 * docs/pwg/appendix-porting.xml:
18436 * docs/pwg/intro-preface.xml:
18437 * docs/pwg/other-base.xml:
18438 * docs/pwg/other-manager.xml:
18439 * docs/pwg/other-nton.xml:
18440 * docs/pwg/other-ntoone.xml:
18441 * docs/pwg/other-oneton.xml:
18442 * docs/pwg/pwg.xml:
18443 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18444 demuxer), remove n-to-n (was never written), fix some code examples
18445 and links and update the porting section to include all this.
18447 2005-07-19 Wim Taymans <wim@fluendo.com>
18449 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18450 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18451 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18452 (gst_queue_src_activate_push), (gst_queue_change_state),
18453 (gst_queue_get_property):
18455 Propagate GstFlowReturn more intelligently upstream and output
18456 an ERROR/EOS when streaming stopped due to fatal error.
18458 2005-07-19 Wim Taymans <wim@fluendo.com>
18460 * tools/gst-launch.c: (check_intr), (event_loop), (main):
18461 Don't block forever for the state change to complete, the
18462 pipeline already did with a sensible timeout.
18464 2005-07-19 Wim Taymans <wim@fluendo.com>
18466 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18467 Make sure we never call the create function is we
18470 2005-07-19 Andy Wingo <wingo@pobox.com>
18472 * gst/parse/parse.l: Attempt to solve bug #172815.
18474 2005-07-19 Wim Taymans <wim@fluendo.com>
18476 * docs/design/part-clocks.txt:
18477 * docs/design/part-events.txt:
18478 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18479 Small docs updates.
18480 Only update the seeking values when we are not
18483 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
18485 * gst/base/gstbasesrc.c: (gst_base_src_loop):
18486 Oops, ignore the result of gst_pad_push_event here.
18488 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
18490 * gst/base/gstbasesrc.c: (gst_base_src_loop),
18491 (gst_base_src_activate_push):
18492 Send discont event from the loop function, as pads
18493 aren't activated yet in the activate_push handler.
18495 * gst/gstbin.c: (bin_bus_handler):
18496 Don't leak element name.
18498 2005-07-18 Andy Wingo <wingo@pobox.com>
18500 * configure.ac: Use AS_LIBTOOL_TAGS.
18502 2005-07-18 Wim Taymans <wim@fluendo.com>
18504 * docs/gst/gstreamer.types:
18505 Remove deleted types.
18507 2005-07-18 Wim Taymans <wim@fluendo.com>
18509 * check/elements/gstfakesrc.c: (GST_START_TEST):
18512 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18513 (init_popt_callback):
18515 * gst/gst_private.h:
18516 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18517 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18520 * gst/gstconfig.h.in:
18521 * gst/gstelement.c: (gst_element_class_init),
18522 (gst_element_set_base_time), (gst_element_get_base_time),
18523 (iterator_fold_with_resync), (gst_element_change_state),
18524 (gst_element_dispose), (gst_element_get_bus):
18525 * gst/gstelement.h:
18526 * gst/gstelementfactory.h:
18527 * gst/gsterror.c: (_gst_core_errors_init):
18530 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18532 * gst/gstinfo.c: (_gst_debug_init):
18533 * gst/gstmessage.c: (_gst_message_copy):
18534 * gst/gstmessage.h:
18535 * gst/gstminiobject.h:
18538 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18539 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
18542 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
18543 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18544 (gst_pipeline_get_last_stream_time):
18545 * gst/gstpipeline.h:
18546 * gst/gstpluginfeature.h:
18548 * gst/gstscheduler.c:
18549 * gst/gstscheduler.h:
18550 * gst/gststructure.h:
18551 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18552 (gst_task_finalize), (gst_task_func), (gst_task_create),
18553 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
18554 (gst_task_stop), (gst_task_pause):
18556 * gst/gsttypefind.h:
18558 * gst/registries/gstlibxmlregistry.c: (load_feature),
18559 (gst_xml_registry_load), (gst_xml_registry_save_feature):
18560 * gst/registries/gstxmlregistry.c:
18561 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
18562 * gst/schedulers/threadscheduler.c:
18563 * libs/gst/control/dparammanager.h:
18564 * tools/gst-inspect.c: (print_element_list),
18565 (print_plugin_features), (print_element_features):
18566 * tools/gst-xmlinspect.c: (print_element_list),
18567 (print_plugin_info), (main):
18568 Removed plugable schedulers.
18569 Removed Scheduler/Manager from elements.
18570 Removed gsttypes.h, rearranged includes.
18571 Removed dependency pad<->element, element<>pipeline, and
18572 various others, fix includes.
18573 implement gst_pad_get_parent() with gst_object_get_parent()
18574 Make GstTask sefcontained.
18575 Fix _get_state() on GstBin, it did not return ASYNC with a 0
18577 Fix endless loop in iterator_fold_with_resync.
18580 2005-07-18 Wim Taymans <wim@fluendo.com>
18586 2005-07-18 Wim Taymans <wim@fluendo.com>
18589 No more cothreads.h
18591 2005-07-18 Wim Taymans <wim@fluendo.com>
18595 Let's remove these.
18597 2005-07-18 Wim Taymans <wim@fluendo.com>
18599 * docs/design/part-dynamic.txt:
18600 * docs/design/part-events.txt:
18601 * docs/design/part-seeking.txt:
18602 Some more docs in the works.
18604 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18605 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
18606 (gst_base_transform_setcaps), (gst_base_transform_get_size),
18607 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18608 (gst_base_transform_handle_buffer),
18609 (gst_base_transform_sink_activate_push),
18610 (gst_base_transform_src_activate_pull),
18611 (gst_base_transform_set_passthrough),
18612 (gst_base_transform_is_passthrough):
18615 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
18618 * gst/gstevent.c: (gst_event_finalize):
18621 * gst/gstutils.c: (gst_element_unlink),
18622 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
18623 (gst_pad_proxy_setcaps):
18625 Add _get_parent_element() to get a pads parent as an element.
18627 2005-07-18 Wim Taymans <wim@fluendo.com>
18629 * check/gst/gstbin.c: (GST_START_TEST):
18632 2005-07-18 Wim Taymans <wim@fluendo.com>
18634 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18635 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18636 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
18637 (gst_base_sink_event), (gst_base_sink_do_sync),
18638 (gst_base_sink_chain), (gst_base_sink_loop),
18639 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
18640 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18642 Fix logic for returning ASYNC when not prerolled.
18644 2005-07-18 Wim Taymans <wim@fluendo.com>
18646 * gst/gstqueue.c: (gst_queue_handle_sink_event):
18647 Fix nasty refcount bug.
18649 2005-07-16 Philippe Khalaf <burger@speedy.org>
18651 * gst/elements/gstfdsrc.c:
18652 * gst/elements/gstfdsrc.h:
18653 * gst/elements/gstelements.c:
18654 * gst/elements/Makefile.am:
18655 Ported fdsrc to 0.9.
18657 2005-07-16 Wim Taymans <wim@fluendo.com>
18659 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18660 (gst_base_sink_do_sync):
18663 2005-07-16 Wim Taymans <wim@fluendo.com>
18665 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18666 (gst_base_sink_event), (gst_base_sink_get_times),
18667 (gst_base_sink_do_sync), (gst_base_sink_change_state):
18668 * gst/base/gstbasesink.h:
18669 Store and use discont values when syncing buffers as described
18672 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18673 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
18674 (gst_base_src_activate_push):
18675 Push discont event when starting.
18677 * gst/elements/gstidentity.c: (gst_identity_transform):
18680 * gst/gstbin.c: (gst_bin_change_state):
18681 Small cleanups in base_time distribution.
18683 * gst/gstelement.c: (gst_element_set_base_time),
18684 (gst_element_get_base_time), (gst_element_change_state):
18685 * gst/gstelement.h:
18686 Added methods for the base_time of the element.
18689 * gst/gstpipeline.c: (gst_pipeline_send_event),
18690 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18691 (gst_pipeline_get_last_stream_time):
18692 * gst/gstpipeline.h:
18694 Handle seeking as described in design doc, remove stream_time
18696 Cleanups clock and stream_time selection code. Added accessors
18697 for the stream_time.
18700 2005-07-16 Andy Wingo <wingo@pobox.com>
18702 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
18705 2005-07-16 Wim Taymans <wim@fluendo.com>
18707 * check/gst/gstbin.c: (GST_START_TEST):
18708 Make elements silent as the deep_notify refs the
18709 parent, which might make the test fail.
18711 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18712 Don't hold the lock for too long.
18714 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
18716 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18717 Don't unref the caps we passed to gst_caps_make_writable() after
18718 passing them. gst_caps_make_writable() will do that for us.
18720 2005-07-15 Andy Wingo <wingo@pobox.com>
18722 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
18725 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
18726 own marshalling function for the handoff signal. Properly type the
18727 buffer as a buffer. Fixes some warnings. Should do a more general
18729 (gst_identity_class_init): Plug into the right marshaller.
18731 2005-07-15 Wim Taymans <wim@fluendo.com>
18733 * docs/design/part-TODO.txt:
18734 * docs/design/part-clocks.txt:
18735 * docs/design/part-element-sink.txt:
18736 * docs/design/part-events.txt:
18737 * docs/design/part-gstpipeline.txt:
18738 Updated docs, mostly DISCONT related.
18740 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
18742 * docs/pwg/building-pads.xml:
18743 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
18745 2005-07-15 Andy Wingo <wingo@pobox.com>
18747 * tools/gst-typefind.c: Update, add copyright block.
18749 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
18750 Normalize and truncate caps before fixation.
18753 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
18754 discards all but the first structure from its argument.
18756 2005-07-15 Wim Taymans <wim@fluendo.com>
18758 * gst/base/gstbasetransform.c: (gst_base_transform_init),
18759 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
18760 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18761 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18762 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
18763 (gst_base_transform_chain), (gst_base_transform_change_state),
18764 (gst_base_transform_set_passthrough),
18765 (gst_base_transform_is_passthrough):
18766 * gst/base/gstbasetransform.h:
18767 Make passthrough work using the bufferpools.
18768 Changed API a bit, subclasses have to write into a buffer
18769 provided by the base class.
18770 More debug info in nego functions.
18772 * gst/elements/gstidentity.c: (gst_identity_init),
18773 (gst_identity_transform):
18774 Port to new base class.
18776 2005-07-15 Wim Taymans <wim@fluendo.com>
18778 * gst/gstmessage.c: (gst_message_new_state_changed):
18779 * tools/gst-launch.c: (event_loop), (main):
18780 Totally dump messages in -launch with the -m option.
18781 Fix message name for State messages,
18783 2005-07-14 Wim Taymans <wim@fluendo.com>
18785 * gst/base/gstbasesrc.c: (gst_base_src_loop):
18786 Post error messages on errors.
18788 2005-07-14 Wim Taymans <wim@fluendo.com>
18790 * gst/gstcaps.c: (gst_caps_do_simplify):
18794 Define error for stream stopped.
18796 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
18797 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
18798 Do proper return values.
18800 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18801 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
18802 (gst_pad_get_range):
18803 Better return values.
18806 Reorganise return values, add macro to check for fatal errors.
18808 * gst/gstqueue.c: (gst_queue_chain):
18809 Return proper GstFlowReturn values,
18811 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
18813 * docs/gst/gstreamer-sections.txt:
18814 * docs/gst/gstreamer.types:
18815 * docs/gst/tmpl/gst.sgml:
18816 * docs/gst/tmpl/gstbasesink.sgml:
18817 * docs/gst/tmpl/gstbasesrc.sgml:
18818 * docs/gst/tmpl/gstbasetransform.sgml:
18819 * docs/gst/tmpl/gstbin.sgml:
18820 * docs/gst/tmpl/gstbuffer.sgml:
18821 * docs/gst/tmpl/gstcaps.sgml:
18822 * docs/gst/tmpl/gstclock.sgml:
18823 * docs/gst/tmpl/gstcompat.sgml:
18824 * docs/gst/tmpl/gstconfig.sgml:
18825 * docs/gst/tmpl/gstelement.sgml:
18826 * docs/gst/tmpl/gstelementdetails.sgml:
18827 * docs/gst/tmpl/gstelementfactory.sgml:
18828 * docs/gst/tmpl/gstenumtypes.sgml:
18829 * docs/gst/tmpl/gsterror.sgml:
18830 * docs/gst/tmpl/gstevent.sgml:
18831 * docs/gst/tmpl/gstfakesink.sgml:
18832 * docs/gst/tmpl/gstfakesrc.sgml:
18833 * docs/gst/tmpl/gstfilesink.sgml:
18834 * docs/gst/tmpl/gstfilesrc.sgml:
18835 * docs/gst/tmpl/gstfilter.sgml:
18836 * docs/gst/tmpl/gstformat.sgml:
18837 * docs/gst/tmpl/gstghostpad.sgml:
18838 * docs/gst/tmpl/gstimplementsinterface.sgml:
18839 * docs/gst/tmpl/gstindex.sgml:
18840 * docs/gst/tmpl/gstindexfactory.sgml:
18841 * docs/gst/tmpl/gstinfo.sgml:
18842 * docs/gst/tmpl/gstiterator.sgml:
18843 * docs/gst/tmpl/gstmacros.sgml:
18844 * docs/gst/tmpl/gstmemchunk.sgml:
18845 * docs/gst/tmpl/gstminiobject.sgml:
18846 * docs/gst/tmpl/gstobject.sgml:
18847 * docs/gst/tmpl/gstpad.sgml:
18848 * docs/gst/tmpl/gstpadtemplate.sgml:
18849 * docs/gst/tmpl/gstparse.sgml:
18850 * docs/gst/tmpl/gstpipeline.sgml:
18851 * docs/gst/tmpl/gstplugin.sgml:
18852 * docs/gst/tmpl/gstpluginfeature.sgml:
18853 * docs/gst/tmpl/gstquery.sgml:
18854 * docs/gst/tmpl/gstqueue.sgml:
18855 * docs/gst/tmpl/gstregistry.sgml:
18856 * docs/gst/tmpl/gstregistrypool.sgml:
18857 * docs/gst/tmpl/gstscheduler.sgml:
18858 * docs/gst/tmpl/gstschedulerfactory.sgml:
18859 * docs/gst/tmpl/gststructure.sgml:
18860 * docs/gst/tmpl/gstsystemclock.sgml:
18861 * docs/gst/tmpl/gsttaglist.sgml:
18862 * docs/gst/tmpl/gsttagsetter.sgml:
18863 * docs/gst/tmpl/gsttrace.sgml:
18864 * docs/gst/tmpl/gsttrashstack.sgml:
18865 * docs/gst/tmpl/gsttypefind.sgml:
18866 * docs/gst/tmpl/gsttypefindfactory.sgml:
18867 * docs/gst/tmpl/gsttypes.sgml:
18868 * docs/gst/tmpl/gsturihandler.sgml:
18869 * docs/gst/tmpl/gsturitype.sgml:
18870 * docs/gst/tmpl/gstutils.sgml:
18871 * docs/gst/tmpl/gstvalue.sgml:
18872 * docs/gst/tmpl/gstversion.sgml:
18873 * docs/gst/tmpl/gstxml.sgml:
18874 * docs/libs/tmpl/gstcontrol.sgml:
18875 * docs/libs/tmpl/gstdataprotocol.sgml:
18876 * docs/libs/tmpl/gstdparam.sgml:
18877 * docs/libs/tmpl/gstdplinint.sgml:
18878 * docs/libs/tmpl/gstdpman.sgml:
18879 * docs/libs/tmpl/gstdpsmooth.sgml:
18880 * docs/libs/tmpl/gstgetbits.sgml:
18881 * docs/libs/tmpl/gstunitconvert.sgml:
18882 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
18883 (gst_push_src_base_init), (gst_push_src_class_init),
18884 (gst_push_src_init), (gst_push_src_create):
18885 * gst/base/gstpushsrc.h:
18886 * gst/elements/gstelements.c:
18887 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
18888 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
18889 (gst_fake_sink_init), (gst_fake_sink_set_property),
18890 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
18891 (gst_fake_sink_event), (gst_fake_sink_preroll),
18892 (gst_fake_sink_render), (gst_fake_sink_change_state):
18893 * gst/elements/gstfakesink.h:
18894 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
18895 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
18896 (gst_fake_src_base_init), (gst_fake_src_class_init),
18897 (gst_fake_src_init), (gst_fake_src_event_handler),
18898 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
18899 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
18900 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
18901 (gst_fake_src_create_buffer), (gst_fake_src_create),
18902 (gst_fake_src_start), (gst_fake_src_stop):
18903 * gst/elements/gstfakesrc.h:
18904 * gst/elements/gstfilesink.c: (_do_init),
18905 (gst_file_sink_base_init), (gst_file_sink_class_init),
18906 (gst_file_sink_init), (gst_file_sink_dispose),
18907 (gst_file_sink_set_location), (gst_file_sink_set_property),
18908 (gst_file_sink_get_property), (gst_file_sink_open_file),
18909 (gst_file_sink_close_file), (gst_file_sink_query),
18910 (gst_file_sink_event), (gst_file_sink_render),
18911 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
18912 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
18913 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
18914 * gst/elements/gstfilesink.h:
18915 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
18916 (gst_file_src_class_init), (gst_file_src_init),
18917 (gst_file_src_finalize), (gst_file_src_set_location),
18918 (gst_file_src_set_property), (gst_file_src_get_property),
18919 (gst_file_src_map_region), (gst_file_src_map_small_region),
18920 (gst_file_src_create_mmap), (gst_file_src_create_read),
18921 (gst_file_src_create), (gst_file_src_is_seekable),
18922 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
18923 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
18924 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
18925 (gst_file_src_uri_handler_init):
18926 * gst/elements/gstfilesrc.h:
18927 more autistic cleanliness in functions/names/defines
18929 2005-07-13 Andy Wingo <wingo@pobox.com>
18931 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
18932 source couldn't negotiate.
18934 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
18938 * gst/gstutils.c (gst_element_link_pads_filtered): New old
18939 function. I am channeling Hades. Put your boots on suckers!!!
18941 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
18943 * testsuite/caps/Makefile.am:
18944 * testsuite/caps/value_compare.c:
18945 * testsuite/caps/value_intersect.c:
18946 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18947 move two testsuite apps over to the check dir
18949 2005-07-12 Wim Taymans <wim@fluendo.com>
18951 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18952 Added more debug info in the negotiate process.
18954 * gst/gstmessage.h:
18955 Prepare for segment playback.
18957 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
18963 * tools/gst-launch.c: (main):
18964 NULL pipeline on errors.
18966 2005-07-12 Andy Wingo <wingo@pobox.com>
18968 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
18969 not it comes from a malloc region. Make sure our copy gets freed.
18971 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
18973 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18974 * check/gst/gstmessage.c: (GST_START_TEST):
18975 * check/gst/gststructure.c: (GST_START_TEST),
18976 (gst_structure_suite), (main):
18978 * gst/gstelement.c: (gst_element_message_full):
18979 clean up GError and debug string now that they get copied
18980 * gst/gstmessage.c: (gst_message_new_error),
18981 (gst_message_new_warning), (gst_message_parse_error),
18982 (gst_message_parse_warning):
18983 use GST_TYPE_G_ERROR for structure_new, and take copies of
18984 arguments, so that we don't mess up refcounting
18986 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
18988 * check/Makefile.am:
18989 add per-test valgrind targets
18990 * check/gst-libs/gdp.c: (GST_START_TEST),
18991 (gst_data_protocol_suite), (main):
18994 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
18996 * check/Makefile.am:
18997 instate more valgrindable tests
18998 * check/elements/gstfakesrc.c: (chain_func), (event_func),
18999 (GST_START_TEST), (fakesrc_suite):
19000 * check/gst/gstpad.c: (GST_START_TEST):
19001 * check/gst/gststructure.c: (GST_START_TEST):
19003 * docs/gst/tmpl/gstminiobject.sgml:
19004 * gst/gstpad.c: (gst_pad_finalize):
19005 fix the static mutex leak
19007 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
19009 * check/Makefile.am:
19010 add two more tests for valgrinding
19011 * check/gst/gstvalue.c: (GST_START_TEST):
19012 test refcount of deserialized buffer, found a leak
19013 * docs/gst/gstreamer-docs.sgml:
19014 * docs/gst/gstreamer-sections.txt:
19015 * docs/gst/gstreamer.types:
19016 * docs/gst/tmpl/gstminiobject.sgml:
19017 add miniobject to docs
19018 * gst/gstminiobject.c:
19020 * gst/gstvalue.c: (gst_value_deserialize_buffer),
19021 (gst_string_unwrap):
19022 fix a hard-to-find invalid write for one of the tests
19023 fix a leak for deserialized buffers
19025 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19027 * docs/pwg/advanced-events.xml:
19028 * docs/pwg/advanced-request.xml:
19029 * docs/pwg/advanced-scheduling.xml:
19030 * docs/pwg/appendix-porting.xml:
19031 * docs/pwg/building-boiler.xml:
19032 * docs/pwg/intro-preface.xml:
19033 * docs/pwg/other-ntoone.xml:
19034 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
19035 of example code and explanation for pad activation, loop() and
19036 getrange() functions and a bit more. Remove old comments pointing
19038 * examples/pwg/Makefile.am:
19039 Add loop/getrange examples.
19041 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
19044 check for valgrind binary + some fixes
19046 valgrind suppressions for the tests
19047 * check/Makefile.am:
19048 add a valgrind: target that valgrinds the unit tests
19049 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
19050 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19051 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19052 * check/gst/gstghostpad.c:
19054 * check/gst/gstdata.c:
19056 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19057 (thread_unref), (gst_mini_object_suite), (main):
19059 * gst/gst.c: (gst_deinit):
19061 add a method to clean up.
19062 * gst/gstsystemclock.c: (gst_system_clock_dispose),
19063 (gst_system_clock_obtain):
19064 allow for disposing the system clock.
19065 * tools/gst-launch.c: (main):
19068 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
19070 * docs/gst/tmpl/gstbasesrc.sgml:
19071 * docs/gst/tmpl/gstfakesrc.sgml:
19072 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19073 (gst_base_src_init), (gst_base_src_set_property),
19074 (gst_base_src_get_property), (gst_base_src_get_range),
19075 (gst_base_src_start):
19076 * gst/base/gstbasesrc.h:
19077 add num-buffers property
19078 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19079 (gst_fakesrc_init), (gst_fakesrc_set_property),
19080 (gst_fakesrc_get_property), (gst_fakesrc_create),
19081 (gst_fakesrc_start):
19082 remove num-buffers property
19084 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
19086 * docs/gst/gstreamer-sections.txt:
19087 * docs/gst/tmpl/gstbasesink.sgml:
19088 * docs/gst/tmpl/gstbasesrc.sgml:
19089 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19090 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19091 (gst_base_sink_finalize), (gst_base_sink_set_clock),
19092 (gst_base_sink_set_property), (gst_base_sink_get_property),
19093 (gst_base_sink_handle_object), (gst_base_sink_event),
19094 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19095 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19096 (gst_base_sink_loop), (gst_base_sink_deactivate),
19097 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19098 (gst_base_sink_change_state):
19099 * gst/base/gstbasesink.h:
19100 * gst/base/gstbasesrc.h:
19101 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19102 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19103 (gst_filesink_init):
19104 more macro splitting
19106 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
19108 * gst/gstelement.c: (gst_element_get_bus):
19110 * tools/gst-launch.c: (check_intr), (event_loop):
19113 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
19115 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19118 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
19120 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19121 (gst_base_src_finalize):
19122 add finalize method and clean up properly
19123 * gst/gstpipeline.c: (gst_pipeline_dispose):
19126 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
19128 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19130 add more things to check
19131 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19132 * gst/gstelement.c:
19135 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
19137 * check/elements/gstfakesrc.c: (chain_func), (event_func),
19138 (GST_START_TEST), (fakesrc_suite):
19139 * check/gst-libs/gdp.c: (GST_START_TEST):
19140 * check/gst/gst.c: (GST_START_TEST):
19141 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19142 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19143 * check/gst/gstbus.c: (GST_START_TEST):
19144 * check/gst/gstcaps.c: (GST_START_TEST):
19145 * check/gst/gstdata.c: (GST_START_TEST):
19146 * check/gst/gstelement.c: (GST_START_TEST):
19147 * check/gst/gstghostpad.c: (GST_START_TEST):
19148 * check/gst/gstiterator.c: (GST_START_TEST):
19149 * check/gst/gstmessage.c: (GST_START_TEST):
19150 * check/gst/gstobject.c: (GST_START_TEST):
19151 * check/gst/gstpad.c: (GST_START_TEST):
19152 * check/gst/gststructure.c: (GST_START_TEST):
19153 * check/gst/gstsystemclock.c: (GST_START_TEST),
19154 (gst_systemclock_suite):
19155 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19156 * check/gst/gstvalue.c: (GST_START_TEST):
19157 * check/pipelines/cleanup.c: (GST_START_TEST):
19158 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19159 * check/states/sinks.c: (GST_START_TEST):
19160 * check/gstcheck.c: (gst_check_init):
19161 * check/gstcheck.h:
19162 add debugging category
19163 use GST_START_TEST now, so we add a debug line
19165 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
19167 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19168 add test for state change message on a bin
19169 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19171 * gst/gstbin.c: (gst_bin_init):
19172 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19173 * gst/gstelement.c: (gst_element_post_message),
19174 (gst_element_set_state):
19175 * gst/gstelementfactory.c: (gst_element_factory_create):
19176 * gst/gstmessage.c: (gst_message_new):
19177 * gst/gstscheduler.c:
19178 various debugging additions and cleanups
19180 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19182 * check/Makefile.am:
19183 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19185 adding tests for elements
19186 * gst/gstelement.c: (gst_element_dispose):
19188 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19190 * gst/registries/gstlibxmlregistry.c: (load_feature):
19191 plug more leaks. A simple gst_init() now is leakfree, yay.
19193 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19195 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19196 (gst_xml_registry_load):
19197 plug another memleak
19199 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19202 use GST_SET_ERROR_CFLAGS
19203 * docs/faq/cvs.xml:
19204 change to ERROR_CFLAGS
19206 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
19209 make GST_ERROR_CFLAGS overridable and re-enable Werror
19210 * docs/faq/cvs.xml:
19211 add a note about error CFLAGS
19212 * docs/gst/tmpl/gstfakesrc.sgml:
19213 * gst/elements/gstfakesrc.c:
19214 comment out some unused code
19215 * gst/gst.c: (split_and_iterate):
19216 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19220 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
19222 * common/Makefile.am:
19223 * common/gtk-doc.mak:
19224 * docs/gst/Makefile.am:
19225 factor out gtk-doc.mak
19227 2005-07-07 Wim Taymans <wim@fluendo.com>
19229 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19230 (gst_thread_scheduler_dispose):
19231 Unlock the STREAM_LOCK completely.
19233 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
19235 * check/Makefile.am:
19236 * check/elements/.cvsignore:
19237 * check/elements/gstfakesrc.c: (chain_func), (event_func),
19238 (START_TEST), (fakesrc_suite), (main):
19239 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19240 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19241 (gst_fakesrc_create), (gst_fakesrc_start):
19242 * gst/elements/gstfakesrc.h:
19243 adding a first element test
19245 2005-07-07 Andy Wingo <wingo@pobox.com>
19247 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19250 2005-07-07 Wim Taymans <wim@fluendo.com>
19256 2005-07-07 Wim Taymans <wim@fluendo.com>
19258 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19259 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19260 Allow subclasses to implement their own negotiation.
19262 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
19264 * docs/design/part-gstbin.txt:
19265 * docs/design/part-gstpipeline.txt:
19266 Update design notes to reflect the movement of
19267 responsibility for bus handling from GstPipeline to
19270 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
19273 Remove unnecessary queue2/3/4 examples.
19275 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
19277 * examples/Makefile.am:
19278 * examples/helloworld/helloworld.c: (event_loop), (main):
19279 * examples/queue/queue.c: (event_loop), (main):
19280 * examples/queue2/queue2.c: (main):
19281 Update a couple of the examples to work again.
19283 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19284 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19285 Spelling corrections and extra debug.
19287 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19288 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19289 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19291 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19292 (gst_pipeline_change_state):
19293 * gst/gstpipeline.h:
19294 Move the bus handler for children to the GstBin, and create a
19295 separate bus for receiving messages from children to the one the
19296 bus sends 'upwards' on.
19298 2005-07-06 Wim Taymans <wim@fluendo.com>
19301 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19302 (gst_base_sink_handle_object), (gst_base_sink_loop),
19303 (gst_base_sink_change_state):
19304 * gst/base/gstbasesink.h:
19305 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19306 (gst_base_src_init), (gst_base_src_setcaps),
19307 (gst_base_src_getcaps), (gst_base_src_loop),
19308 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19309 (gst_base_src_start), (gst_base_src_change_state):
19310 * gst/base/gstbasesrc.h:
19311 Make basesrc negotiate.
19312 Handle the case where preroll fails in basesink.
19315 2005-07-06 Wim Taymans <wim@fluendo.com>
19317 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19318 Implement the fixate function.
19319 Clean up acceptcaps.
19321 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19323 * docs/pwg/building-filterfactory.xml:
19324 * docs/pwg/pwg.xml:
19325 Remove never-written filter-factory chapter; I'll add the various
19326 base classes to part 4 ("other element types") later on.
19328 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19330 * docs/pwg/advanced-negotiation.xml:
19331 * docs/pwg/building-boiler.xml:
19332 * docs/pwg/building-pads.xml:
19333 * docs/pwg/pwg.xml:
19334 * examples/pwg/Makefile.am:
19335 Add a chapter on caps negotiation, simplify the original code
19336 samples a bit w.r.t. caps negotiation, add link to the advanced
19337 section. Add a bunch of examples showing different use cases of
19338 different types of caps negotiation. Upstream renegotiation isn't
19339 fully documented yet since nobody knows how that works.
19341 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
19343 * check/gst/gstpad.c:
19344 * check/gstcheck.c:
19345 * gst/gstpad.c: (gst_pad_get_internal_links_default):
19346 if pad has no parent, return NULL as list of internal links
19348 2005-07-05 Andy Wingo <wingo@pobox.com>
19350 * gst/elements/gstfilesrc.c:
19351 * gst/elements/gstfakesrc.c:
19352 * gst/base/gstpushsrc.c:
19353 * gst/base/gstbasesrc.h:
19354 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19356 2005-07-05 Stefan Kost <ensonic@users.sf.net>
19359 better report generation target (lcov needs a patch)
19361 2005-07-05 Andy Wingo <wingo@pobox.com>
19363 * gst/elements, testsuite: Null if we got it...
19365 2005-07-05 Wim Taymans <wim@fluendo.com>
19368 * libs/gst/dataprotocol/Makefile.am:
19369 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19370 * libs/gst/dataprotocol/dataprotocol.h:
19371 * pkgconfig/Makefile.am:
19372 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19373 * pkgconfig/gstreamer-dataprotocol.pc.in:
19374 Ported dataprotol to 0.9.
19375 Added pkgconfig files.
19377 2005-07-05 Andy Wingo <wingo@pobox.com>
19379 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19380 Default to returning TRUE for the case when tranform_caps returns
19381 a fixed caps, like for identity or volume.
19383 * check/gst/gstbus.c (pound_bus_with_messages):
19384 * check/gst/gstmessage.c (START_TEST):
19385 * check/pipelines/simple_launch_lines.c (got_handoff): Application
19386 message API change.
19388 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19389 logic weaks here: always run transform_caps, trying passthrough
19390 operation only if the original caps intersects with the transform.
19392 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19393 source and sink caps.
19395 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19396 Intersect the peer caps with the pad template before going into
19398 (gst_base_transform_transform_caps): More debugging.
19400 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19403 2005-07-04 Edward Hervey <edward@fluendo.com>
19407 (gst_pad_add_*_probe): now returns the signal id for better wrapping
19410 2005-07-04 Andy Wingo <wingo@pobox.com>
19412 * check/gst/gstpad.c: Only set explicit caps on pads.
19414 2005-07-01 Andy Wingo <wingo@pobox.com>
19416 * tests/network-clock.scm: Commentary update.
19418 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19419 Didn't really make sense, not implementable with basetransform,
19421 (gst_identity_transform): Unref inbuf via make_writable. Feeble
19422 attempt at implementing the sync property, needs an unlock method.
19424 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19425 New func, by default returns the same caps (the identity
19427 (gst_base_transform_getcaps): Uses transform_caps to return
19428 something sensible.
19429 (gst_base_transform_setcaps): Complicated logic to get caps on
19430 both pads, even if they are different, and to call set_caps once
19431 for every time both pads get their caps set.
19432 (gst_base_transform_handle_buffer): Give the ref to the transform
19433 function. Allows in-place modification of the buffer.
19435 * gst/base/gstbasetransform.h (transform_caps): New class method.
19436 Given caps on one side, what can I do on the other.
19437 (set_caps): Take two caps, one for each side of the element.
19440 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19441 caps in place. This is safe because we can check the mutability of
19442 the caps, and a good idea because fixate functions are just called
19443 as a matter of last resort. (Not actually implemented.)
19444 (gst_pad_set_caps): If the caps we're setting is actually the same
19445 as the existing pad caps, just update the pointer without calling
19446 setcaps. Assert that caps is either NULL or fixed, as per the
19449 * gst/gstghostpad.c: Update for fixate changes.
19451 2005-07-02 Andy Wingo <wingo@pobox.com>
19454 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19455 two refcounts makes it immutable, which is enough. Doc more.
19457 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
19459 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19460 Put the mini_object into GValue as a mini_object,
19461 not a gpointer, since that's how we declared
19464 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19466 * examples/pwg/Makefile.am:
19467 Fix buildbot again.
19469 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19471 * docs/pwg/building-testapp.xml:
19473 * examples/pwg/Makefile.am:
19476 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19479 * examples/Makefile.am:
19480 * examples/pwg/Makefile.am:
19481 * examples/pwg/extract.pl:
19482 Enable building the PWG examples.
19483 * docs/pwg/advanced-interfaces.xml:
19484 Add URI interface stub.
19485 * docs/pwg/advanced-types.xml:
19486 * docs/pwg/other-autoplugger.xml:
19487 * docs/pwg/appendix-porting.xml:
19488 * docs/pwg/pwg.xml:
19489 Add porting guide (mostly stubs), remove autoplugging (see ADM).
19490 * docs/pwg/building-boiler.xml:
19491 * docs/pwg/building-chainfn.xml:
19492 * docs/pwg/building-pads.xml:
19493 * docs/pwg/building-props.xml:
19494 * docs/pwg/building-state.xml:
19495 * docs/pwg/building-testapp.xml:
19496 Update the building-*.xml parts for 0.9 changes. All examples
19497 code blocks compile in examples/pwg/*.
19499 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19501 * docs/manual/advanced-autoplugging.xml:
19502 * docs/manual/appendix-checklist.xml:
19503 * docs/manual/appendix-integration.xml:
19504 * docs/manual/highlevel-components.xml:
19505 Fix playbin/decodebin examples, update docs a bit, mention bus
19506 instead of signals in various places, mention kmplayer and
19507 kaffeine since they have a working GStreamer backend in the KDE
19510 2005-06-30 Wim Taymans <wim@fluendo.com>
19513 * docs/design/draft-ghostpads.txt:
19514 * docs/design/draft-push-pull.txt:
19515 * docs/design/draft-query.txt:
19516 * docs/design/part-TODO.txt:
19517 * docs/design/part-query.txt:
19518 Added CHANGES-0.9 doc, updated status of other docs.
19523 2005-06-30 Wim Taymans <wim@fluendo.com>
19525 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19526 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19527 (gst_base_sink_change_state):
19528 * gst/base/gstbasesink.h:
19529 Some tweaks, only EOS and a buffer complete a preroll.
19531 2005-06-30 Andy Wingo <wingo@pobox.com>
19533 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19534 activate_push down to the internal pad as well.
19536 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
19538 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19540 * gst/gsttaginterface.c:
19541 Some documentation fixes (#307394 and #307397).
19543 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
19545 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19547 * gst/gstvalue.c: (gst_value_intersect_list):
19548 Fix memleak (#309125).
19550 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19552 * docs/manual/advanced-dataaccess.xml:
19553 Fix fakesrc example to compile; doesn't work, bug somewhere...?
19554 * docs/manual/basics-pads.xml:
19555 Add reference for filtered caps to above chapter.
19557 2005-06-30 Wim Taymans <wim@fluendo.com>
19559 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
19560 (gst_bin_change_state):
19562 Lame attempt at making the state change function a bit
19565 2005-06-30 Wim Taymans <wim@fluendo.com>
19567 * docs/design/part-clocks.txt:
19568 * docs/design/part-element-sink.txt:
19569 * docs/design/part-events.txt:
19570 * docs/design/part-preroll.txt:
19571 * docs/design/part-states.txt:
19572 Some more tweeks and additions to the docs.
19574 2005-06-30 Wim Taymans <wim@fluendo.com>
19576 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19577 (default_have_data), (gst_pad_class_init), (gst_pad_init),
19578 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19579 (gst_pad_check_pull_range), (gst_pad_get_range),
19580 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
19582 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
19583 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19584 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19585 (gst_pad_remove_buffer_probe):
19586 Removed atomic operations, use existing LOCK.
19587 Move exception handling out of main code path.
19589 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19591 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19592 (silly_return_true_function), (gst_pad_class_init),
19593 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19594 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
19595 (gst_pad_send_event):
19596 Fix accumulator, add default value by using _emitv() instead
19597 of _emit() for signal emission.
19599 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19601 * docs/manual/advanced-dataaccess.xml:
19602 * examples/manual/Makefile.am:
19604 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
19607 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
19609 * gst/elements/gstfilesink.c: (gst_filesink_render):
19610 Simplify code so that we don't have to handle short
19611 writes and return GST_FLOW_ERROR if an error occured.
19613 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19615 * docs/gst/gstreamer-docs.sgml:
19616 Remove probes more.
19618 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19620 * docs/gst/gstreamer-sections.txt:
19621 * docs/gst/tmpl/gstpad.sgml:
19622 * docs/gst/tmpl/gstprobe.sgml:
19624 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19625 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
19626 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19627 (gst_pad_push_event), (gst_pad_send_event):
19629 * gst/gstutils.c: (gst_pad_add_data_probe),
19630 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19631 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19632 (gst_pad_remove_buffer_probe):
19634 Remove old probes, add new g-signal-based probes and some utility
19637 2005-06-29 Edward Hervey <edward@fluendo.com>
19639 * gst/gstelementfactory.c:
19642 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
19643 the definition to the header file.
19645 2005-06-29 Andy Wingo <wingo@pobox.com>
19647 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
19648 plugins from the source directory.
19650 2005-06-29 Wim Taymans <wim@fluendo.com>
19652 * docs/gst/tmpl/gstbuffer.sgml:
19653 * docs/gst/tmpl/gstclock.sgml:
19654 Some fixings for blantently wrong text.
19656 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
19658 * check/Makefile.am:
19659 * gst/gst.c: (add_path_func), (init_pre):
19660 * gst/gstregistry.c: (gst_registry_add_path):
19661 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
19662 only scan the GST_PLUGIN_PATH locations, and not add
19665 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
19667 * docs/gst/gstreamer-sections.txt:
19668 * docs/gst/tmpl/gstbasesrc.sgml:
19669 * gst/gstelement.c:
19670 * gst/gstelement.h:
19675 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19677 * docs/manual/advanced-autoplugging.xml:
19678 Fix autoplugging example.
19680 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19682 * docs/manual/advanced-autoplugging.xml:
19683 * docs/manual/mime-world.fig:
19684 Try to get autoplugging working, fix type detection. Fix text
19685 in hello-world image.
19687 2005-06-29 Wim Taymans <wim@fluendo.com>
19689 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19690 (gst_base_sink_change_state):
19694 map SIGNAL and BROADCAST to the right function.
19697 Remove redundant braces.
19699 * gst/gstpad.c: (gst_pad_set_caps):
19700 Don't call setcaps function when reseting caps to NULL.
19702 * gst/gstsystemclock.c: (gst_system_clock_dispose),
19703 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
19704 (gst_system_clock_id_unschedule):
19705 Use BROADCAST as this is what we do.
19707 2005-06-29 Wim Taymans <wim@fluendo.com>
19709 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19710 We are actually prerolling before commiting the state
19713 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
19715 * docs/manual/advanced-clocks.xml:
19716 * docs/manual/advanced-interfaces.xml:
19717 * docs/manual/advanced-metadata.xml:
19718 * docs/manual/advanced-position.xml:
19719 * docs/manual/advanced-schedulers.xml:
19720 * docs/manual/advanced-threads.xml:
19721 * docs/manual/appendix-porting.xml:
19722 * docs/manual/basics-bins.xml:
19723 * docs/manual/basics-bus.xml:
19724 * docs/manual/basics-elements.xml:
19725 * docs/manual/basics-helloworld.xml:
19726 * docs/manual/basics-pads.xml:
19727 * docs/manual/highlevel-components.xml:
19728 * docs/manual/manual.xml:
19729 * docs/manual/thread.fig:
19730 Update (until threads/scheduling) Application Development Manual;
19731 remove GstThread, add GstBus, add simple porting checklist, add
19732 documentation for tag writing, clocks, make all examples until this
19733 part compile and run.
19734 * examples/manual/Makefile.am:
19735 Update from changes to Application Development Manual; add bus
19736 example, remove thread example.
19738 2005-06-28 Wim Taymans <wim@fluendo.com>
19740 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
19741 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
19742 (gst_bus_source_dispatch):
19743 Add debugging messages.
19744 Make internal methods static.
19745 Handle the case where the bus is flushed in the handler.
19747 * gst/gstelement.c: (gst_element_get_bus):
19748 Fix refcount in _get_bus();
19750 * gst/gstpipeline.c: (gst_pipeline_change_state),
19751 (gst_pipeline_get_clock_func):
19752 Clock refcounting fixes.
19753 Handle the case where preroll timed out more gracefully.
19755 * gst/gstsystemclock.c: (gst_system_clock_dispose):
19756 Clean up the internal thread in dispose. This is needed
19757 for subclasses that actually get disposed.
19759 * gst/schedulers/threadscheduler.c:
19760 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19761 (gst_thread_scheduler_dispose):
19762 Free thread pool in dispose.
19764 2005-06-28 Andy Wingo <wingo@pobox.com>
19766 * tests/network-clock-utils.scm (debug, print-event): New utils.
19768 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
19769 (*packet-loss*): Unified loss probability.
19770 (network-time): Report out-of-band events.
19772 * tests/plot-data: Add support for out-of-band events. Hack it
19773 into this script instead of passing it down the pipe; should fix
19776 2005-06-28 Wim Taymans <wim@fluendo.com>
19778 * docs/gst/gstreamer.types:
19779 * docs/gst/tmpl/gstbasesrc.sgml:
19780 * docs/gst/tmpl/gstpad.sgml:
19783 2005-06-28 Wim Taymans <wim@fluendo.com>
19785 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19786 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
19787 (gst_proxy_pad_do_fixatecaps):
19788 Correctly proxy the check_pull_range function.
19790 2005-06-28 Andy Wingo <wingo@pobox.com>
19792 * tests/network-clock.scm: Removed need for slib.
19794 2005-06-28 Wim Taymans <wim@fluendo.com>
19796 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
19797 (gst_basesink_preroll_queue_flush):
19798 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
19799 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
19800 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19801 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
19802 (gst_proxy_pad_set_property):
19805 * gst/gstqueue.c: (gst_queue_init):
19806 The deprecated pad loop function is removed now.
19808 2005-06-28 Andy Wingo <wingo@pobox.com>
19810 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
19811 New parameters, simulate network packet loss.
19813 * tests/network-clock-utils.scm: Initialize the RNG.
19815 2005-06-28 Wim Taymans <wim@fluendo.com>
19817 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
19818 (gst_basesink_event), (gst_basesink_deactivate):
19819 Flushing the preroll queue always needs to unlock the waiters.
19821 2005-06-28 Edward Hervey <edward@fluendo.com>
19823 * gst/gstpipeline.c: (gst_pipeline_send_event):
19824 Wheen a seek was successful on a pipeline, set the stream_time to the
19825 seek offset in order to have a synchronized stream_time.
19827 2005-06-28 Wim Taymans <wim@fluendo.com>
19829 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19830 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
19831 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
19832 (gst_proxy_pad_do_fixatecaps):
19833 Call wrapper function instead of just calling the function
19834 pointers. This takes care of any locking and whatmore.
19836 2005-06-28 Wim Taymans <wim@fluendo.com>
19838 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
19839 (gst_pad_pull_range):
19841 CONNECTED -> LINKED.
19843 2005-06-28 Andy Wingo <wingo@pobox.com>
19845 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
19846 source-munging commit!!!
19848 * gst/gstobject.c (gst_object_unref, gst_object_ref)
19849 (gst_object_sink): Take gpointer arguments, not GstObject --
19850 avoids casts. Like GLib.
19852 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
19855 2005-06-27 Andy Wingo <wingo@pobox.com>
19857 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
19860 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
19861 returns a sorted copy of the trace list.
19862 (gst_alloc_trace_print_live): New API, only prints traces with
19863 live objects. Sort the list.
19864 (gst_alloc_trace_print_all): Sort the list.
19865 (gst_alloc_trace_print): Align columns.
19867 * gst/elements/gstttypefindelement.c:
19868 * gst/elements/gsttee.c:
19869 * gst/base/gstbasesrc.c:
19870 * gst/base/gstbasesink.c:
19871 * gst/base/gstbasetransform.c:
19872 * gst/gstqueue.c: Adapt for pad activation changes.
19874 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
19876 (gst_pipeline_dispose): Drop ref on sched.
19878 * gst/gstpad.c (gst_pad_init): Set the default activate func.
19879 (gst_pad_activate_default): Push mode by default.
19880 (pre_activate_switch, post_activate_switch): New stubs, things to
19881 do before and after switching activation modes on pads.
19882 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
19883 the pad's activate function to choose which mode to activate.
19884 Shortcut on deactivation and call the right function directly.
19885 (gst_pad_activate_pull): New API, (de)activates a pad in pull
19887 (gst_pad_activate_push): New API, same for push mode.
19888 (gst_pad_set_activate_function)
19889 (gst_pad_set_activatepull_function)
19890 (gst_pad_set_activatepush_function): Setters for new API.
19892 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
19893 Trace all miniobjects.
19894 (gst_mini_object_make_writable): Unref the arg if we copy, like
19895 gst_caps_make_writable.
19897 * gst/gstmessage.c (_gst_message_initialize): No trace init.
19899 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
19900 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
19901 Adapt for new pad API.
19903 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
19905 * gst/gstelement.h:
19906 * gst/gstelement.c (gst_element_iterate_src_pads)
19907 (gst_element_iterate_sink_pads): New API functions.
19909 * gst/gstelement.c (iterator_fold_with_resync): New utility,
19910 should fold into gstiterator.c in some form.
19911 (gst_element_pads_activate): Simplified via use of fold and
19912 delegation of decisions to gstpad->activate.
19914 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
19917 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
19918 class once in init, like gstmessage. Didn't run into this issue
19919 but it seems correct. Don't initialize a trace, gstminiobject does
19922 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
19923 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
19925 (assert_live_count): New util function, uses alloc traces to check
19928 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
19929 To be modified when unlink drops the internal pad.
19931 2005-06-27 Wim Taymans <wim@fluendo.com>
19933 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
19934 (gst_bin_change_state):
19935 Cleanup the get_state() function a little, make sure it
19936 iterates the same set of elements.
19937 Added stub iterate_state_order().
19939 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
19941 * docs/gst/gstreamer-docs.sgml:
19942 * docs/gst/gstreamer-sections.txt:
19943 * docs/gst/gstreamer.types:
19944 * docs/gst/tmpl/gstbasesink.sgml:
19945 * docs/gst/tmpl/gstbasesrc.sgml:
19946 * docs/gst/tmpl/gstbasetransform.sgml:
19947 * docs/gst/tmpl/gstelement.sgml:
19948 * docs/gst/tmpl/gstiterator.sgml:
19949 * gst/base/gstbasesrc.c:
19950 * gst/base/gstbasesrc.h:
19951 * gst/base/gstbasetransform.h:
19952 * gst/gstelement.c:
19953 * gst/gstiterator.h:
19954 adding basetransform and iterator docs
19956 2005-06-27 Andy Wingo <wingo@pobox.com>
19958 * docs/design/part-activation.txt: Notes on how activation should
19959 work -- not quite implemented yet.
19961 2005-06-25 Wim Taymans <wim@fluendo.com>
19963 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
19964 At least get the chain function correct, needs more
19967 2005-06-25 Wim Taymans <wim@fluendo.com>
19969 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19970 (gst_basesink_handle_object), (gst_basesink_event),
19971 (gst_basesink_do_sync), (gst_basesink_handle_event),
19972 (gst_basesink_change_state):
19974 Right, two problems here: ghostpads don't take locks and
19975 glib _rec_mutex_lock_full() with depth==0 still locks.
19976 Catch illegal locking and g_warn them.
19978 2005-06-25 Wim Taymans <wim@fluendo.com>
19980 * check/states/sinks.c: (START_TEST), (gst_object_suite):
19981 Have to check for completion now...
19983 2005-06-25 Wim Taymans <wim@fluendo.com>
19985 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19986 (gst_basesink_handle_object), (gst_basesink_event),
19987 (gst_basesink_do_sync), (gst_basesink_handle_event),
19988 (gst_basesink_change_state):
19990 Unlock STREAM_LOCK whatever the recursion was.
19992 2005-06-25 Wim Taymans <wim@fluendo.com>
19994 * gst/base/gstbasesink.c: (gst_basesink_set_property),
19995 (gst_basesink_preroll_queue_empty),
19996 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
19997 (gst_basesink_event), (gst_basesink_do_sync),
19998 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
19999 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
20000 (gst_basesink_change_state):
20001 Reworked the base sink, handle event and buffer serialisation
20002 correctly and removed possible deadlock.
20003 Handle EOS correctly.
20005 2005-06-25 Wim Taymans <wim@fluendo.com>
20007 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
20008 (gst_pipeline_change_state):
20009 * tools/gst-launch.c: (check_intr), (event_loop), (main):
20010 Allow elements to post EOS in the state change function.
20011 Fix up -launch, make it exit the poll loop when the
20012 pipeline actually changed state.
20013 Fix up warning parsing in -launch.
20015 2005-06-25 Wim Taymans <wim@fluendo.com>
20017 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
20018 (gst_tee_sink_activate):
20019 Core takes STREAM_LOCK for us now.
20021 2005-06-25 Wim Taymans <wim@fluendo.com>
20023 * gst/gstelement.c: (gst_element_get_state_func),
20024 (gst_element_set_state):
20025 * gst/gstelement.h:
20026 * gst/gstmessage.c: (gst_message_parse_error),
20027 (gst_message_parse_warning):
20028 Keep track of current target state while performing a state
20029 change so that subclasses can do something interesting.
20030 Fix parsing of warning/error messages when GError is NULL.
20032 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
20034 * docs/gst/Makefile.am:
20035 * docs/gst/gstreamer-docs.sgml:
20036 * docs/gst/gstreamer-sections.txt:
20037 * docs/gst/gstreamer.types:
20038 * docs/gst/tmpl/gstbasesink.sgml:
20039 * docs/gst/tmpl/gstbasesrc.sgml:
20040 * docs/gst/tmpl/gstbin.sgml:
20041 * docs/gst/tmpl/gstcompat.sgml:
20042 * docs/gst/tmpl/gstfakesink.sgml:
20043 * docs/gst/tmpl/gstfakesrc.sgml:
20044 * docs/gst/tmpl/gstfilesink.sgml:
20045 * docs/gst/tmpl/gstfilesrc.sgml:
20046 * docs/gst/tmpl/gstindex.sgml:
20047 * docs/manual/appendix-quotes.xml:
20048 * gst/base/gstbasesrc.h:
20049 * gst/elements/gstfakesrc.h:
20050 * gst/gstmessage.h:
20051 start pulling in base classes and elements in our docs
20053 2005-06-24 Stefan Kost <ensonic@users.sf.net>
20055 * docs/gst/Makefile.am:
20056 * docs/libs/Makefile.am:
20057 fixed make distcheck with gtk-doc 1.3
20059 2005-06-23 Wim Taymans <wim@fluendo.com>
20061 * gst/gstelement.c: (gst_element_get_state_func),
20062 (gst_element_set_state), (gst_element_change_state):
20063 When the state did not change, also report NO_PREROLL
20066 2005-06-23 Wim Taymans <wim@fluendo.com>
20068 * gst/gstpad.c: (gst_pad_event_default):
20069 * gst/gstqueue.c: (gst_queue_loop):
20070 No unsafe task pausing please.
20072 2005-06-23 Wim Taymans <wim@fluendo.com>
20074 * gst/schedulers/threadscheduler.c:
20075 (gst_thread_scheduler_task_start),
20076 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20077 Ref the task before pushing it on the threadpool. This
20078 makes sure that we have a ref when the threadfunction is
20081 2005-06-23 Andy Wingo <wingo@pobox.com>
20083 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20084 offset is greater than the file's size.
20086 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
20087 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20088 * gst/gstobject.c (gst_object_class_init): Make the class lock
20089 recursive. Wim won't let me drop deep_notify. Decodebin works
20090 again, whoopdy doo.
20092 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20093 internal pad, and hacks accordingly. Doesn't do it on the target
20094 pad because we change its caps. Probably catches all cases of
20096 (gst_ghost_pad_set_property): Connect to notify::caps as
20099 * tests/network-clock.scm (plot-simulation): Pipe data to the
20100 elite python skript.
20102 * tests/network-clock-utils.scm (define-parameter): New macro,
20103 defines a parameter that can be set via the command line.
20104 (set-parameter!, parse-parameter-arguments): Command line args
20107 * tests/plot-data: Simple matplotlib-based plotter, takes input on
20110 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
20112 * gst/elements/gsttypefindelement.c:
20113 (gst_type_find_element_handle_event):
20114 Don't restart typefinding on a discont.
20115 * gst/gstelement.c: (gst_element_set_state):
20116 Debug spelling fix.
20117 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20118 Allow changing mode of an active pad.
20119 Debug output fixes.
20120 * gst/registries/gstlibxmlregistry.c: (load_feature):
20121 Don't cast a static pad template to a normal pad template.
20123 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
20125 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20126 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20127 remove gst_strtoll completely, since it didn't actually do
20128 anything more than what g_ascii_strtoull already does.
20129 check for range errors when deserializing
20130 do a cast for the unsigned cases; but further fixing needs
20131 a decision on what the interpretation of "(int)" and
20132 deserialization should be for values that fall outside the
20133 type's boundaries (ie, refuse, or interpret as casting)
20135 2005-06-23 Wim Taymans <wim@fluendo.com>
20137 * check/Makefile.am:
20138 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20139 * docs/design/part-live-source.txt:
20140 * docs/design/part-states.txt:
20141 * gst/base/gstbasesrc.c: (gst_basesrc_init),
20142 (gst_basesrc_set_live), (gst_basesrc_is_live),
20143 (gst_basesrc_get_range), (gst_basesrc_activate),
20144 (gst_basesrc_change_state):
20145 * gst/base/gstbasesrc.h:
20146 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20147 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20148 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20149 * gst/gstelement.c: (gst_element_get_state_func),
20150 (gst_element_set_state):
20151 * gst/gstelement.h:
20153 * tools/gst-launch.c: (event_loop), (main):
20154 Added support for live sources and other elements that
20156 Updated design docs, added live-source design doc.
20157 Implemented live source functionality in basesrc
20158 Fix error condition in _bin_get_state()
20159 Implement live source handling in -launch.
20160 Added check for live sources.
20161 Fixed case in GstBin where elements were changed state
20165 2005-06-23 Andy Wingo <wingo@pobox.com>
20167 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20168 borken refcounting.
20170 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20171 gst_caps_replace takes care of this for us.
20173 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20174 gst_pad_set_caps on the target, not just its setcaps() function.
20176 * tests/network-clock.scm:
20177 * tests/network-clock-utils.scm: A network clock simulator.
20178 Something of an algorithmic testbed before doing something in C.
20180 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
20182 * check/Makefile.am:
20183 * check/gst/capslist.h:
20184 copy over from 0.8, and add two with bitmasks specified with
20186 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20187 add test to parse everything from capslist.h
20188 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20190 add test for structure deserialization
20191 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20192 add tests for deserialization of strings to int types
20193 * gst/gststructure.c: (gst_structure_nth_field_name):
20194 * gst/gststructure.h:
20195 add a way to get the name of a field referenced by index
20196 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20197 instead of checking if the resulting long long lies between
20198 min and max, we check if the long long would fit into
20199 a number of bytes for the final type.
20200 This fixes cases where a string represents 2^32 - 1, which
20201 when cast to int would be the (valid) -1, but is bigger than
20204 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
20206 * gst/parse/grammar.y:
20207 add a log line for type deserialization
20209 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
20211 * check/gst/gstvalue.c: (START_TEST):
20212 * gst/gstvalue.c: (gst_value_deserialize):
20213 return long long, not int, so gint64 deserialization actually
20214 works. Is there any flag that makes the compiler check this ?
20217 2005-06-22 Wim Taymans <wim@fluendo.com>
20220 Added convenience macros for setting buffers in GValue.
20222 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
20224 * check/gst/.cvsignore:
20225 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20226 add a test deserializing int64, and comment part out because
20229 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
20231 * check/Makefile.am:
20232 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20233 * testsuite/Makefile.am:
20234 * testsuite/caps/Makefile.am:
20235 * testsuite/caps/value_serialize.c:
20236 * testsuite/test_gst_init.c:
20237 move a value_serialize test over
20239 2005-06-20 Wim Taymans <wim@fluendo.com>
20244 * gst/gstvalue.c: (gst_value_compare_buffer),
20245 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20246 (gst_value_compare_flags), (gst_value_serialize_flags),
20247 (gst_value_deserialize_flags), (_gst_value_initialize):
20248 Fix serialisation of buffers, they are not boxed types anymore
20250 2005-06-20 Wim Taymans <wim@fluendo.com>
20252 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20253 Testcase to show error in buffer-on-caps serialisation.
20255 2005-06-20 Andy Wingo <wingo@pobox.com>
20257 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20258 will be adding to later.
20260 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20261 if its socks fill with rocks.
20262 (gst_system_clock_obtain): Set the name on object construction.
20263 Avoid double-checked locking.
20265 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
20267 * gst/gsturi.c: (gst_element_make_from_uri):
20268 Fix potential endless loop.
20270 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20272 * check/Makefile.am:
20274 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20276 move over from testsuite dir and clean up
20279 * testsuite/Makefile.am:
20280 * testsuite/tags/.cvsignore:
20281 * testsuite/tags/Makefile.am:
20282 * testsuite/tags/merge.c:
20283 remove testsuite/tags
20285 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20287 * docs/gst/gstreamer-sections.txt:
20288 * docs/gst/tmpl/gstenumtypes.sgml:
20289 * win32/gstenumtypes.c:
20290 clean up documentation build a little
20292 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20294 * check/gstcheck.h:
20295 add macros for checking refcounts on objects and caps
20296 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20297 add some more unit tests
20298 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20299 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20300 fix leaked refcounts (I hope :)) so unittest works
20304 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
20306 * configure.ac: back to HEAD
20308 === release 0.9.1 ===
20310 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
20316 2005-06-17 Andy Wingo <wingo@pobox.com>
20318 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20319 assert; it's always possible that the pad gets deactivated in
20320 between the checks in gstpad.c and the implementation. Rely on
20321 finish_preroll() to return a FLUSHING or similar instead of on the
20324 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20325 clock and post an EOS message if we come out of finish_preroll in
20328 2005-06-16 David Schleef <ds@schleef.org>
20330 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20331 (gst_capsfilter_set_property): Allow NULL as possible value
20332 for filter_caps property, indicating GST_CAPS_ANY.
20334 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
20336 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20338 * gst/schedulers/Makefile.am:
20340 * gstreamer.spec.in:
20343 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
20345 * gstreamer.spec.in:
20348 2005-06-08 Andy Wingo <wingo@pobox.com>
20350 * gst/gstutils.c: RPAD fixes all around.
20351 (gst_element_link_pads): Refcounting fixes.
20353 * tools/gst-inspect.c:
20354 * tools/gst-xmlinspect.c:
20356 * gst/base/gsttypefindhelper.c:
20357 * gst/base/gstbasesink.c:
20358 * gst/gstqueue.c: RPAD fixes.
20360 * gst/gstghostpad.h:
20361 * gst/gstghostpad.c: New ghost pad implementation as full proxy
20362 pads. The tricky thing is they provide both source and sink
20363 interfaces, since they proxy the internal pad for the external
20364 pad, and vice versa. Implement with lower-level ProxyPad objects,
20365 with the interior proxy pad as a child of the exterior ghost pad.
20366 Should write a doc on this.
20368 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20369 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20372 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20373 pads are real pads. No ghost pads in this file. Not documenting
20374 the myriad s/RPAD/PAD/ and REALIZE fixes.
20375 (gst_pad_class_init): Add properties for "direction" and
20376 "template". Both are construct-only, so they can't change during
20377 the life of the pad. Fixes properly deriving from GstPad.
20378 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20379 derived objects, just set properties when creating the objects via
20381 (gst_pad_get_parent): Implement as a function, return NULL if the
20382 parent is not an element.
20383 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20384 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20386 * gst/gstobject.c (gst_object_class_init): Make name a construct
20387 property. Don't set it in the object init.
20389 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20390 with UNKNOWN direction.
20391 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20392 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20393 (gst_element_remove_pad): Remove ghost-pad special cases.
20394 (gst_element_pads_activate): Remove rpad cruft.
20396 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20397 catch the pad's-parent-not-an-element case.
20399 * gst/gst.h: Include gstghostpad.h.
20401 * gst/gst.c (init_post): No more real, ghost pads.
20403 * gst/Makefile.am: Add gstghostpad.[ch].
20405 * check/Makefile.am:
20406 * check/gst/gstbin.c:
20407 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20408 into a bin creates ghost pads, and that the refcounts are right.
20409 Partly moved from gstbin.c.
20411 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
20413 * check/gst-libs/.cvsignore:
20414 * check/gst/.cvsignore:
20415 * check/pipelines/.cvsignore:
20417 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20418 (START_TEST), (cleanup_suite), (main):
20419 add some tests related to cleanup after running pipelines
20421 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
20423 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20424 add a testsuite for GstBuffer
20426 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
20428 * gst/gstminiobject.h:
20429 add defines for accessing the refcount
20431 2005-06-03 Stefan Kost <ensonic@users.sf.net>
20433 * Makefile.am: added support for html unit test coverage reports
20435 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
20437 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20438 Free existing caps if the capsfilter changes. Add a FIXME about
20439 setting those caps on the pads.
20441 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20442 Before adding a ghost pad to a parent bin, check that there isn't
20443 already one for the element on the bin. Prevents infinite recursion
20444 when using decodebin in parse pipelines. Andy says he'll rewrite the
20445 way this works anyway, so ignore the hack.
20447 2005-06-02 Andy Wingo <wingo@pobox.com>
20449 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20450 file size, pass it on to the type find helper.
20452 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20453 segment_start and segment_end properly according to the seek
20454 method. Segment_end is still a bit flaky because offset can be
20455 negative for CUR and END cases, but it takes -1 as an "unset"
20458 2005-06-02 Wim Taymans <wim@fluendo.com>
20460 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20461 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20462 (gst_basesink_activate):
20463 * gst/base/gstbasesink.h:
20464 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20465 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20466 (gst_pad_query), (gst_pad_start_task):
20468 * gst/gstqueue.c: (gst_queue_bufferalloc),
20469 (gst_queue_handle_sink_event), (gst_queue_chain):
20470 Bufferalloc: return GstFlowReturn to more accuratly report
20471 why allocation failed.
20473 2005-06-02 Wim Taymans <wim@fluendo.com>
20475 * gst/gstpipeline.c: (gst_pipeline_send_event):
20476 Take snapshot of state without blocking.
20478 2005-06-02 Wim Taymans <wim@fluendo.com>
20480 * docs/design/part-TODO.txt:
20481 * docs/design/part-caps.txt:
20482 * docs/design/part-clocks.txt:
20483 * docs/design/part-negotiation.txt:
20484 * docs/design/part-preroll.txt:
20487 2005-05-30 Wim Taymans <wim@fluendo.com>
20489 * gst/elements/gstidentity.c: (gst_identity_event),
20490 (gst_identity_transform), (gst_identity_get_property):
20491 Protect last_message property as it is accessed from
20494 2005-05-30 Wim Taymans <wim@fluendo.com>
20496 * gst/gstelement.c: (gst_element_init),
20497 (gst_element_pads_activate), (gst_element_change_state):
20498 Slicker pad activation code.
20500 2005-05-30 Wim Taymans <wim@fluendo.com>
20503 * gst/gstelement.h:
20504 * gst/gstelementfactory.h:
20506 Move elementfactory methods to separate .h file.
20508 2005-05-30 Wim Taymans <wim@fluendo.com>
20510 * docs/design/part-overview.txt:
20511 * gst/gstsystemclock.h:
20512 Small typo fixes, doc updates.
20514 2005-05-30 Wim Taymans <wim@fluendo.com>
20516 * gst/gst.c: (gst_init_get_popt_table), (init_post),
20517 (init_popt_callback):
20518 Remove cpu-opt flag.
20520 2005-05-30 Wim Taymans <wim@fluendo.com>
20522 * gst/gstbuffer.c: (gst_subbuffer_finalize),
20523 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20525 Avoid typechecking in places where not needed.
20526 Added accessor for malloc_data.
20528 2005-05-30 Wim Taymans <wim@fluendo.com>
20530 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20531 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20532 (gst_pad_configure_sink), (gst_pad_configure_src),
20533 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20534 (gst_pad_start_task):
20535 Propagate errors from _set_caps() in configure_src/sink
20536 functions instead of returning TRUE.
20537 FLUSH events can travel up and downstream
20540 2005-05-30 Wim Taymans <wim@fluendo.com>
20542 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20543 (gst_basesink_activate):
20544 Handle EOS in preroll.
20546 2005-05-30 Wim Taymans <wim@fluendo.com>
20548 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20549 (gst_queue_loop), (gst_queue_handle_src_event):
20550 Remove old pieces of code
20551 Flushing the queue in an upstream event is a very bad idea.
20553 2005-05-26 Andy Wingo <wingo@pobox.com>
20555 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
20556 gst_value_set_mini_object so as to add a ref on the object (which
20557 will be removed when the value is unset).
20559 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
20560 arg type in ::handoff.
20562 * gst/gstelement.c (gst_element_change_state): Also deactivate
20563 pads in READY->NULL, just in case the element didn't make it to
20564 PAUSED. Wingo tested, Wim approved.
20566 2005-05-26 Wim Taymans <wim@fluendo.com>
20568 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20569 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20570 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
20571 A flushing pad cannot be used to alloc_buffer from.
20573 2005-05-26 Wim Taymans <wim@fluendo.com>
20575 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
20576 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
20577 (gst_bus_source_dispatch), (gst_bus_source_finalize),
20578 (gst_bus_create_watch), (gst_bus_add_watch_full):
20580 Implement a real GSource and use g_main_context_wakeup() to
20581 signal new messages instead of the socketpair.
20583 2005-05-25 Wim Taymans <wim@fluendo.com>
20585 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
20586 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
20587 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20588 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20589 (gst_pad_send_event), (gst_pad_start_task):
20590 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
20591 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20592 (gst_queue_sink_activate), (gst_queue_src_activate),
20593 (gst_queue_change_state):
20595 Fix state changes for non sinks. We now change sinks, then elements
20596 with unconnected srcpads, then the rest.
20597 More efficient queue unlocking in flush and state changes.
20598 Set the pad activate mode even if it does not have an activate
20601 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20603 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
20604 Don't go in pull mode for non-seekable sources.
20605 * gst/elements/gsttypefindelement.h:
20606 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20607 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
20608 (free_entry), (stop_typefinding),
20609 (gst_type_find_element_handle_event), (find_peek),
20610 (gst_type_find_element_chain), (do_pull_typefind),
20611 (gst_type_find_element_change_state):
20612 Allow typefinding (w/o seeking) in push-mode, simplified version
20613 of what was in 0.8.
20614 * gst/gstutils.c: (gst_buffer_join):
20616 gst_buffer_join() from 0.8.
20618 2005-05-25 Wim Taymans <wim@fluendo.com>
20620 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20621 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20622 (gst_pad_send_event), (gst_pad_start_task):
20623 Disable attempt at mode switching until it is figured out.
20625 2005-05-25 Wim Taymans <wim@fluendo.com>
20627 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
20628 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20629 (gst_basesink_finish_preroll), (gst_basesink_chain),
20630 (gst_basesink_loop), (gst_basesink_activate),
20631 (gst_basesink_change_state):
20632 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
20633 (gst_basesrc_get_range), (gst_basesrc_loop),
20634 (gst_basesrc_activate):
20635 * gst/elements/gsttee.c: (gst_tee_sink_activate):
20636 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20637 (gst_real_pad_init), (gst_real_pad_set_property),
20638 (gst_real_pad_get_property), (gst_pad_set_active),
20639 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
20640 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
20641 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
20642 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
20643 (gst_pad_event_default_dispatch), (gst_pad_event_default),
20644 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
20645 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
20646 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20647 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
20648 (gst_pad_stop_task):
20650 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20651 (gst_queue_loop), (gst_queue_src_activate):
20652 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
20653 (gst_task_get_state):
20655 * gst/schedulers/threadscheduler.c:
20656 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
20657 Implement gst_pad_pause/start/stop_task(), take STREAM lock
20659 Remove ACTIVE pad flag, use FLUSHING everywhere
20660 Added _pad_chain(), _pad_get_range() to call chain/getrange
20662 Add locks around IS_FLUSHING when reading.
20663 Take STREAM lock in chain(), get_range() functions so plugins
20664 don't need to take it anymore.
20668 2005-05-25 Wim Taymans <wim@fluendo.com>
20670 * tools/gst-launch.c: (event_loop):
20671 Unref message after using its contents instead of
20674 2005-05-24 Wim Taymans <wim@fluendo.com>
20676 * docs/design/draft-ghostpads.txt:
20677 * docs/design/draft-push-pull.txt:
20678 * docs/design/draft-query.txt:
20679 * docs/design/part-overview.txt:
20680 Docs updates, added general overview doc.
20682 2005-05-21 David Schleef <ds@schleef.org>
20684 * docs/gst/tmpl/old/GstBin.sgml:
20685 * docs/gst/tmpl/old/GstBuffer.sgml:
20686 * docs/gst/tmpl/old/GstCaps.sgml:
20687 * docs/gst/tmpl/old/GstClock.sgml:
20688 * docs/gst/tmpl/old/GstCompat.sgml:
20689 * docs/gst/tmpl/old/GstData.sgml:
20690 * docs/gst/tmpl/old/GstElement.sgml:
20691 * docs/gst/tmpl/old/GstEvent.sgml:
20692 * docs/gst/tmpl/old/GstIndex.sgml:
20693 * docs/gst/tmpl/old/GstStructure.sgml:
20694 * docs/gst/tmpl/old/GstTag.sgml:
20695 * docs/gst/tmpl/old/cothreads.sgml:
20696 * docs/gst/tmpl/old/cothreads_compat.sgml:
20697 * docs/gst/tmpl/old/gettext.sgml:
20698 * docs/gst/tmpl/old/gobject2gtk.sgml:
20699 * docs/gst/tmpl/old/grammar.tab.sgml:
20700 * docs/gst/tmpl/old/gst-i18n-app.sgml:
20701 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
20702 * docs/gst/tmpl/old/gst_private.sgml:
20703 * docs/gst/tmpl/old/gstaggregator.sgml:
20704 * docs/gst/tmpl/old/gstarch.sgml:
20705 * docs/gst/tmpl/old/gstatomic_impl.sgml:
20706 * docs/gst/tmpl/old/gstbufferstore.sgml:
20707 * docs/gst/tmpl/old/gstdata_private.sgml:
20708 * docs/gst/tmpl/old/gstdisksink.sgml:
20709 * docs/gst/tmpl/old/gstdisksrc.sgml:
20710 * docs/gst/tmpl/old/gstelementfactory.sgml:
20711 * docs/gst/tmpl/old/gstextratypes.sgml:
20712 * docs/gst/tmpl/old/gstfakesink.sgml:
20713 * docs/gst/tmpl/old/gstfakesrc.sgml:
20714 * docs/gst/tmpl/old/gstfdsink.sgml:
20715 * docs/gst/tmpl/old/gstfdsrc.sgml:
20716 * docs/gst/tmpl/old/gstfilesink.sgml:
20717 * docs/gst/tmpl/old/gstfilesrc.sgml:
20718 * docs/gst/tmpl/old/gsthttpsrc.sgml:
20719 * docs/gst/tmpl/old/gstidentity.sgml:
20720 * docs/gst/tmpl/old/gstindexfactory.sgml:
20721 * docs/gst/tmpl/old/gstmarshal.sgml:
20722 * docs/gst/tmpl/old/gstmd5sink.sgml:
20723 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
20724 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
20725 * docs/gst/tmpl/old/gstpadtemplate.sgml:
20726 * docs/gst/tmpl/old/gstpipefilter.sgml:
20727 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
20728 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
20729 * docs/gst/tmpl/old/gstshaper.sgml:
20730 * docs/gst/tmpl/old/gstspider.sgml:
20731 * docs/gst/tmpl/old/gstspideridentity.sgml:
20732 * docs/gst/tmpl/old/gststatistics.sgml:
20733 * docs/gst/tmpl/old/gsttee.sgml:
20734 * docs/gst/tmpl/old/gsttimecache.sgml:
20735 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
20736 * docs/gst/tmpl/old/gstxmlregistry.sgml:
20737 * docs/gst/tmpl/old/gthread-cothreads.sgml:
20738 * docs/gst/tmpl/old/types.sgml:
20739 I didn't intend to add these or check them in.
20741 2005-05-19 David Schleef <ds@schleef.org>
20743 * configure.ac: Use -no-common everywhere. In a sane world, it
20744 would be the default in libtool, because without it, you can't
20745 build DLLs on Windows.
20746 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
20747 * docs/gst/gstreamer-sections.txt:
20748 * docs/gst/tmpl/gstcpu.sgml:
20749 * docs/gst/tmpl/gstdata.sgml:
20750 * docs/gst/tmpl/gstthread.sgml:
20752 2005-05-19 David Schleef <ds@schleef.org>
20754 * gst/gstminiobject.c: (gst_value_set_mini_object),
20755 (gst_value_take_mini_object), (gst_value_get_mini_object):
20756 * gst/gstminiobject.h: Add GValue set/get functions.
20758 2005-05-19 Wim Taymans <wim@fluendo.com>
20760 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
20761 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
20762 (gst_subbuffer_init), (gst_buffer_is_span_fast):
20764 * gst/gstbus.c: (gst_bus_post):
20765 * gst/gstelement.c: (gst_element_get_random_pad):
20766 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
20767 Make subbufer unref the parent in finalize.
20768 some more debugging info.
20771 2005-05-19 Wim Taymans <wim@fluendo.com>
20773 * gst/base/gstbasesink.c: (gst_basesink_class_init),
20774 (gst_basesink_init), (gst_basesink_finalize),
20775 (gst_basesink_activate), (gst_basesink_change_state):
20776 Don't free preroll queue too early.
20778 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20782 Hi, I'm outdated. Please shoot me.
20784 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20786 * gst/gstpipeline.c: (gst_pipeline_send_event):
20787 Do not access variables after they have been deleted.
20789 2005-05-19 Wim Taymans <wim@fluendo.com>
20791 * tools/gst-inspect.c: (print_plugin_features):
20792 A plugin feature does unfortunatly not use the
20795 2005-05-18 Wim Taymans <wim@fluendo.com>
20797 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
20798 Port _span() functions to new subbuffers.
20800 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20802 * gst/gstbin.c: (gst_bin_add_func):
20803 Fix clock settery in bins when adding kids after the clock has
20806 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
20808 * gst/elements/gstidentity.c: (gst_identity_class_init):
20809 Workaround until signals support GstMiniObject.
20811 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
20814 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
20816 2005-05-18 Wim Taymans <wim@fluendo.com>
20818 * gst/base/Makefile.am:
20819 * gst/base/gstadapter.c: (gst_adapter_base_init),
20820 (gst_adapter_class_init), (gst_adapter_init),
20821 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
20822 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
20823 (gst_adapter_flush), (gst_adapter_available),
20824 (gst_adapter_available_fast):
20825 * gst/base/gstadapter.h:
20826 Ported and added adapter to the base classes.
20828 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
20831 * gst/gstmessage.c:
20832 Make sure the class is reffed/unreffed once before threads can be
20833 used. Fixes #304551.
20835 2005-05-17 Wim Taymans <wim@fluendo.com>
20837 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
20838 (gst_basesink_chain_unlocked), (gst_basesink_activate):
20839 * gst/gstminiobject.c: (gst_mini_object_get_type),
20840 (gst_mini_object_free):
20841 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
20842 (gst_pad_push), (gst_pad_push_event):
20843 * gst/gstqueue.c: (gst_queue_change_state):
20844 Don't queue buffers in basesink when we are flushing.
20845 Unref buffer when flushing in basesink.
20846 Flush queue when going to READY
20847 Unref buffer when _push() returns an error.
20848 Don't free MiniObject instance when refcount is incremented
20849 in _finalize() so that we can recover objects.
20851 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
20853 * docs/manual/advanced-schedulers.xml:
20854 * docs/manual/appendix-checklist.xml:
20855 * docs/pwg/advanced-clock.xml:
20856 * docs/pwg/advanced-interfaces.xml:
20857 * docs/pwg/advanced-request.xml:
20858 * docs/pwg/advanced-types.xml:
20859 * docs/pwg/intro-preface.xml:
20860 * examples/plugins/example.c: (gst_example_get_type),
20861 (gst_example_class_init), (gst_example_chain),
20862 (gst_example_set_property), (gst_example_get_property),
20863 (gst_example_change_state), (plugin_init):
20864 * examples/plugins/example.h:
20867 2005-05-17 Wim Taymans <wim@fluendo.com>
20869 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
20870 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
20871 * gst/gstqueue.c: (gst_queue_change_state):
20872 Clear queue when going to READY.
20873 Remove IN_SETCAPS flag too.
20875 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
20877 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
20878 Remove implicit cast from gboolean to GstElementStateReturn;
20879 make sure we still return failure in paused => ready case if
20880 the parent class fails to change state and our own stop
20883 2005-05-17 Wim Taymans <wim@fluendo.com>
20885 * tools/gst-launch.c: (event_loop):
20886 Message was unreffed too soon.
20888 2005-05-16 Andy Wingo <wingo@pobox.com>
20890 * gst/gstbin.c (sink_iterator_filter): Err... um...
20892 * check/gst/gstbin.c (test_ghost_pads): New test for the
20893 ghosting-if-elements-not-in-same-bin behavior.
20895 2005-05-16 David Schleef <ds@schleef.org>
20897 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
20898 accessing refcount directly.
20900 2005-05-15 David Schleef <ds@schleef.org>
20902 * check/Makefile.am: remove GstData checks
20903 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
20904 * gst/Makefile.am: add miniobject, remove data
20905 * gst/gst.h: add miniobject, remove data
20906 * gst/gstdata.c: remove
20907 * gst/gstdata.h: remove
20908 * gst/gstdata_private.h: remove
20909 * gst/gsttypes.h: remove GstEvent and GstMessage
20910 * gst/gstelement.c: (gst_element_post_message): fix for API changes
20911 * gst/gstmarshal.list: change BOXED -> OBJECT
20913 Implement GstMiniObject.
20914 * gst/gstminiobject.c:
20915 * gst/gstminiobject.h:
20917 Modify to be subclasses of GstMiniObject.
20918 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
20919 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
20920 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
20921 (gst_subbuffer_get_type), (gst_subbuffer_init),
20922 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
20925 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
20926 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
20927 (_gst_event_copy), (gst_event_new):
20929 * gst/gstmessage.c: (_gst_message_initialize),
20930 (gst_message_get_type), (gst_message_class_init),
20931 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
20932 (gst_message_new), (gst_message_new_error),
20933 (gst_message_new_warning), (gst_message_new_tag),
20934 (gst_message_new_state_changed), (gst_message_new_application):
20935 * gst/gstmessage.h:
20936 * gst/gstprobe.c: (gst_probe_perform),
20937 (gst_probe_dispatcher_dispatch):
20939 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
20940 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
20941 (_gst_query_copy), (gst_query_new):
20943 Update elements for GstData -> GstMiniObject changes
20945 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
20946 (gst_queue_chain), (gst_queue_loop):
20947 * gst/elements/gstbufferstore.c:
20948 (gst_buffer_store_add_buffer_func),
20949 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
20950 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
20951 (gst_fakesink_render):
20952 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
20953 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
20954 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
20955 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
20956 (gst_filesrc_create_read):
20957 * gst/elements/gstidentity.c: (gst_identity_class_init):
20958 * gst/elements/gsttypefindelement.c:
20959 (gst_type_find_element_src_event), (free_entry_buffers),
20960 (gst_type_find_element_handle_event):
20961 * libs/gst/dataprotocol/dataprotocol.c:
20962 (gst_dp_header_from_buffer):
20963 * libs/gst/dataprotocol/dataprotocol.h:
20964 * libs/gst/dataprotocol/dp-private.h:
20966 2005-05-15 David Schleef <ds@schleef.org>
20968 * gst/elements/gstelements.c: Don't include headers that were
20971 2005-05-15 David Schleef <ds@schleef.org>
20973 * gst/elements/Makefile.am: Remove some elements that don't
20974 need to be in the core (or even exist at all).
20975 * gst/elements/gstaggregator.c:
20976 * gst/elements/gstaggregator.h:
20977 * gst/elements/gstmd5sink.c:
20978 * gst/elements/gstmd5sink.h:
20979 * gst/elements/gstmultifilesrc.c:
20980 * gst/elements/gstmultifilesrc.h:
20981 * gst/elements/gstpipefilter.c:
20982 * gst/elements/gstpipefilter.h:
20983 * gst/elements/gstshaper.c:
20984 * gst/elements/gstshaper.h:
20985 * gst/elements/gststatistics.c:
20986 * gst/elements/gststatistics.h:
20987 * po/POTFILES.in: Remove above files.
20989 2005-05-14 Andy Wingo <wingo@pobox.com>
20991 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
20992 so as to get the refs right.
20993 (sink_iterator_filter): New function, wraps bin_element_is_sink,
20994 unreffing objects that don't pass the filter.
20996 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
20997 gst_element_set_bus.
20998 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
20999 normal cases, this will destroy the bus.
21001 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
21004 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
21007 2005-05-13 Andy Wingo <wingo@pobox.com>
21009 * gst/gstutils.c (gst_element_link_pads): Instead of calling
21010 gst_pad_link, call pad_link_maybe_ghosting,
21011 (pad_link_maybe_ghosting): Links pads, making sure that the
21012 elements being linked are in the same bin.
21013 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
21014 Helpers for pad_link_maybe_ghosting.
21016 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
21019 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
21021 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
21023 * docs/design/part-element-source.txt:
21026 2005-05-12 Wim Taymans <wim@fluendo.com>
21028 * gst/base/gstbasesink.c: (gst_basesink_init),
21029 (gst_basesink_activate):
21030 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
21031 (gst_basesrc_is_seekable):
21032 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21033 (bin_element_is_sink), (gst_bin_change_state):
21034 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21035 * gst/gstelement.h:
21036 Identify sinks by their flag to avoid overly complicated
21038 Do state changes even for elements not reachable from the
21040 BaseSink is a sink now :)
21041 Some more debugging info in the basesrc.
21044 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21046 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
21047 Implement _query on a bin, similar to _send_event.
21049 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
21051 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
21052 Discont event offset format should be GST_FORMAT_BYTES,
21053 not GST_FORMAT_TIME.
21055 2005-05-12 Wim Taymans <wim@fluendo.com>
21057 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21058 Same fix as Ronald's but without the signal.
21060 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21062 * gst/gstutils.c: (gst_element_query_position):
21063 No, an element is not a pad.
21065 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21067 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21068 (gst_bin_get_state):
21069 If a child is removed from a bin while we remove the child from
21070 the bin and while we're retrieving its state, signal this to the
21071 get_state function so we abort the wait (instead of waiting for
21072 a timeout) and can immediately re-iterate over all other elements.
21074 2005-05-12 Wim Taymans <wim@fluendo.com>
21076 * gst/base/Makefile.am:
21077 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21078 (gst_basesrc_start):
21079 * gst/base/gstbasesrc.h:
21080 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21081 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21082 (gst_pushsrc_init), (gst_pushsrc_create):
21083 * gst/base/gstpushsrc.h:
21084 Added is_seekable to BaseSrc
21085 Added simple PushSrc.
21087 2005-05-11 Wim Taymans <wim@fluendo.com>
21089 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21090 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21091 (gst_element_link_pads), (gst_element_query_position),
21092 (gst_element_query_convert), (intersect_caps_func),
21093 (gst_pad_query_position), (gst_pad_query_convert):
21094 Fix refcounting in utils function.
21095 No point in trying to activate a pad when it's added, it could
21096 be added from the state change function and then we deadlock, the
21097 element has to decide what to do.
21099 2005-05-10 Andy Wingo <wingo@pobox.com>
21101 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21102 *all* the arguments.
21104 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21105 stream lock if it's a FLUSH_DONE; normal flushes don't get the
21106 lock (according to the docs -- if this is wrong change the docs).
21108 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21109 flush messages in the NULL state.
21111 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21112 message immediately and return.
21113 (gst_bus_set_flushing): New function. If a bus is flushing, it
21114 flushes out any queued messages and immediately unrefs new
21115 messages. This is so when an element goes to NULL, all of the
21116 unhandled messages coming from it can be freed, and their
21117 references to the element dropped. In other words: message source
21118 ref considered harmful :P
21120 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21121 we're finished with it.
21123 * gst/gstmessage.c (gst_message_new_state_changed):
21125 2005-05-10 Wim Taymans <wim@fluendo.com>
21127 * gst/gstvalue.c: (gst_value_compare_flags),
21128 (gst_value_serialize_flags), (gst_value_deserialize_flags),
21129 (_gst_value_initialize):
21130 Added flags serialize/deserialize/compare code.
21132 2005-05-09 Andy Wingo <wingo@pobox.com>
21134 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21135 Intersect the peer's caps with our caps.
21137 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21139 * gst/base/gsttypefindhelper.c: (helper_find_peek):
21140 * gst/elements/gsttypefindelement.c: (find_peek):
21141 Handle negative offsets better. Fixes decodebin.
21143 2005-05-09 Wim Taymans <wim@fluendo.com>
21145 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21146 (gst_base_transform_event):
21147 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21148 Implement accept_caps.
21149 Fix silly lock/unlock mismatch in base class.
21151 2005-05-09 Wim Taymans <wim@fluendo.com>
21153 * docs/design/draft-push-pull.txt:
21154 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21155 * gst/elements/gstfilesink.c: (gst_filesink_init),
21156 (gst_filesink_query):
21157 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21158 (gst_type_find_handle_src_query), (find_element_get_length):
21159 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21160 * gst/gstelement.h:
21161 * gst/gstmessage.c:
21162 * gst/gstmessage.h:
21163 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21164 (gst_real_pad_get_caps_unlocked),
21165 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21166 (gst_pad_event_default_dispatch), (gst_pad_event_default),
21167 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21168 (gst_real_pad_dispose), (gst_real_pad_finalize),
21169 (gst_pad_load_and_link), (gst_pad_save_thyself),
21170 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21171 (gst_pad_check_pull_range), (gst_pad_pull_range),
21172 (gst_pad_template_get_type), (gst_pad_template_class_init),
21173 (gst_pad_template_init), (gst_pad_template_dispose),
21174 (name_is_valid), (gst_static_pad_template_get),
21175 (gst_pad_template_new), (gst_static_pad_template_get_caps),
21176 (gst_pad_template_get_caps), (gst_pad_set_element_private),
21177 (gst_pad_get_element_private), (gst_pad_start_task),
21178 (gst_pad_pause_task), (gst_pad_stop_task),
21179 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21180 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21181 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21182 (gst_ghost_pad_new):
21184 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21185 (gst_query_new_position), (gst_query_set_position),
21186 (gst_query_parse_position), (gst_query_new_convert),
21187 (gst_query_set_convert), (gst_query_parse_convert):
21189 * gst/gstqueryutils.c:
21190 * gst/gstqueryutils.h:
21191 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21192 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21193 (gst_queue_handle_src_query):
21194 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21195 (gst_element_query_position), (gst_element_query_convert),
21196 (intersect_caps_func), (gst_pad_query_position),
21197 (gst_pad_query_convert):
21199 * tools/gst-inspect.c: (print_pad_info):
21200 * tools/gst-xmlinspect.c: (print_element_info):
21201 Remove old query functions. Ported old code.
21202 Added position/convert helper functions to gstutils.
21203 Reordered gstpad.c code, grouping relevant things.
21204 Remove gst_message_new(), always need to speficy a specific
21208 2005-05-09 Andy Wingo <wingo@pobox.com>
21210 * gst/gstiterator.h: Add some includes.
21212 * gst/gstqueryutils.h: Include more headers.
21215 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21216 some uses of gst_pad_query.
21218 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21219 NULL out parameters.
21220 (gst_query_new_position): New proc, allocates a new position
21223 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21224 gstqueryutils.c to the build.
21226 * gst/gststructure.c (gst_structure_set_valist): Implement with
21227 the generic G_VALUE_COLLECT.
21229 2005-05-08 Edward Hervey <bilboed@bilboed.com>
21231 * gst/Makefile.am: (gst_headers):
21232 Added gstqueryutils.h to the list of headers to install, that was
21233 a 'nachty' move wingo :)
21235 2005-05-06 Andy Wingo <wingo@pobox.com>
21238 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21239 GstData, init a memchunk.
21240 (standard_definitions): Add a few query types, deprecate a few.
21241 (gst_query_get_type): New proc.
21242 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21244 (gst_query_new_application, gst_query_get_structure): New public
21247 * docs/design/draft-query.txt: Removed LINKS from the query types,
21248 because all the rest can be dispatched to other pads -- seemed
21249 ugly to have a query that couldn't be dispatched. internal_links
21250 is fine as a pad method.
21252 * gst/gstpad.h: Add query2 as a pad method, add the new functions
21253 in gstpad.c, but maintain binary compatibility for the moment.
21254 Will fix before 0.9 is out.
21256 * gst/gstqueryutils.c:
21257 * gst/gstqueryutils.h: New files, implement 3 methods for each
21258 query type: parse_query, parse_response, and set. Probably need an
21261 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21263 * gst/elements/gstfilesink.c (gst_filesink_query2):
21264 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21265 query_types, and formats methods.
21267 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21268 (gst_pad_set_query2_function): New functions.
21269 (gst_real_pad_init): Set query2_default as the default query2
21270 function. Basically just dispatches to internally linked pads.
21274 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21275 without using the atomic operations. Only one thread can possibly
21276 be accessing the data at this point. Changed so as to avoid
21277 gst_atomic operations.
21279 2005-05-06 Wim Taymans <wim@fluendo.com>
21281 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21282 Also set caps if we use the fallback buffer alloc.
21284 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
21286 * docs/gst/Makefile.am:
21287 * docs/gst/gstreamer-docs.sgml:
21288 * docs/gst/gstreamer-sections.txt:
21289 * docs/gst/tmpl/gstatomic.sgml:
21290 * docs/gst/tmpl/gstmemchunk.sgml:
21291 * testsuite/elements/struct_i386.h:
21292 * win32/GStreamer.vcproj:
21294 Purge GstAtomic stuff from docs and win32 makefiles as well
21296 2005-05-06 Wim Taymans <wim@fluendo.com>
21298 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21299 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21300 * gst/gstpad.c: (gst_pad_peer_get_caps):
21301 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21302 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21303 (gst_queue_src_activate), (gst_queue_change_state):
21305 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21306 (intersect_caps_func):
21307 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21308 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21309 Some fixes for the peer_get_caps() change.
21311 2005-05-06 Wim Taymans <wim@fluendo.com>
21313 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21314 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21315 (gst_basesink_activate):
21316 Actually do something with error codes returned from the push
21319 2005-05-06 Wim Taymans <wim@fluendo.com>
21321 * docs/design/part-element-sink.txt:
21322 * docs/design/part-element-source.txt:
21323 * gst/base/gstbasesink.c: (gst_basesink_class_init),
21324 (gst_basesink_event), (gst_basesink_activate):
21325 * gst/base/gstbasesink.h:
21326 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21327 (gst_basesrc_activate):
21328 * gst/base/gstbasesrc.h:
21329 * gst/gstelement.c: (gst_element_pads_activate):
21330 Some more documentation.
21331 Fixed scheduling decision in _pads_activate().
21333 2005-05-05 Andy Wingo <wingo@pobox.com>
21335 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21338 2005-05-05 Wim Taymans <wim@fluendo.com>
21340 * gst/base/Makefile.am:
21341 * gst/base/gstbasesink.h:
21342 * gst/base/gstbasesrc.c: (gst_basesrc_init),
21343 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21344 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21345 (gst_collectpads_class_init), (gst_collectpads_init),
21346 (gst_collectpads_finalize), (gst_collectpads_new),
21347 (gst_collectpads_set_function), (gst_collectpads_add_pad),
21348 (find_pad), (gst_collectpads_remove_pad),
21349 (gst_collectpads_is_active), (gst_collectpads_collect),
21350 (gst_collectpads_collect_range), (gst_collectpads_start),
21351 (gst_collectpads_stop), (gst_collectpads_peek),
21352 (gst_collectpads_pop), (gst_collectpads_available),
21353 (gst_collectpads_read), (gst_collectpads_flush),
21354 (gst_collectpads_chain):
21355 * gst/base/gstcollectpads.h:
21356 * gst/elements/Makefile.am:
21357 * gst/elements/gstelements.c:
21358 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21359 (gst_fakesink_get_times), (gst_fakesink_event),
21360 (gst_fakesink_preroll), (gst_fakesink_render):
21361 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21362 (gst_filesink_init), (gst_filesink_set_location),
21363 (gst_filesink_open_file), (gst_filesink_close_file),
21364 (gst_filesink_pad_query), (gst_filesink_event),
21365 (gst_filesink_render), (gst_filesink_change_state):
21366 * gst/elements/gstfilesink.h:
21367 Added object to help in making collect pad based elements.
21369 Make event function in sink baseclass return gboolean.
21371 2005-05-05 Wim Taymans <wim@fluendo.com>
21373 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21374 (gst_bin_get_by_name):
21376 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21377 (gst_clock_finalize):
21378 * gst/gstdata.c: (gst_data_replace):
21380 * gst/gstelement.c: (gst_element_request_pad),
21381 (gst_element_pads_activate):
21382 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21383 (gst_object_unref):
21384 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21385 (gst_pad_set_checkgetrange_function),
21386 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21387 (gst_pad_check_pull_range), (gst_pad_pull_range),
21388 (gst_static_pad_template_get_caps), (gst_pad_start_task),
21389 (gst_pad_pause_task), (gst_pad_stop_task):
21390 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21391 (gst_element_request_pad), (gst_pad_proxy_getcaps):
21392 Fix name lookup in GstBin.
21393 Added _data_replace() function and _buffer_replace()
21394 Use finalize method to clean up clock.
21395 Fix refcounting on request pads.
21396 Fix pad schedule mode error.
21397 Some more object refcounting debug info,
21400 2005-05-04 Andy Wingo <wingo@pobox.com>
21402 * check/Makefile.am:
21403 * docs/gst/tmpl/gstatomic.sgml:
21404 * docs/gst/tmpl/gstplugin.sgml:
21405 * gst/base/gstbasesink.c: (gst_basesink_activate):
21406 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21407 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21408 (gst_basesrc_query), (gst_basesrc_set_property),
21409 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21410 (gst_basesrc_activate):
21411 * gst/base/gstbasesrc.h:
21412 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21413 (gst_base_transform_src_activate):
21414 * gst/elements/gstelements.c:
21415 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21416 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21417 * gst/elements/gsttee.c: (gst_tee_sink_activate):
21418 * gst/elements/gsttypefindelement.c: (find_element_get_length),
21419 (gst_type_find_element_checkgetrange),
21420 (gst_type_find_element_activate):
21421 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21422 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21423 (gst_caps_load_thyself):
21424 * gst/gstelement.c: (gst_element_pads_activate),
21425 (gst_element_save_thyself), (gst_element_restore_thyself):
21426 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21427 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21429 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21430 (gst_xml_parse_file), (gst_xml_parse_memory),
21431 (gst_xml_get_element), (gst_xml_make_element):
21432 * gst/indexers/gstfileindex.c: (gst_file_index_load),
21433 (_file_index_id_save_xml), (gst_file_index_commit):
21434 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21435 (read_enum), (load_pad_template), (load_feature), (load_plugin),
21437 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21438 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21439 * tools/gst-complete.c: (main):
21440 * tools/gst-compprep.c: (main):
21441 * tools/gst-inspect.c: (print_element_properties_info):
21442 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21443 * tools/gst-xmlinspect.c: (print_element_properties):
21446 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
21448 * gst/gstplugin.c: (gst_plugin_check_module),
21449 (gst_plugin_check_file), (gst_plugin_load_file):
21450 apply patch from #172526 to make register work on MacOSX
21452 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
21454 * docs/gst/tmpl/gstconfig.sgml:
21455 * gst/gstconfig.h.in:
21456 move documentation for some symbols. Add doc for GST_PTR_FORMAT
21457 * testsuite/debug/printf_extension.c: (main):
21458 Do not use GST_PTR_FORMAT on pointers to types with
21459 sizeof < sizeof(gpointer). Fixes test on 64-bit
21460 * testsuite/elements/property.h:
21461 use correct printf format
21463 2005-05-02 Wim Taymans <wim@fluendo.com>
21465 * docs/design/draft-push-pull.txt:
21466 * docs/design/draft-query.txt:
21467 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21468 (gst_basesrc_start):
21469 Added draft for new query API.
21470 Added draft for better selecting scheduling methods.
21471 Make basesrc ignore length if the subclass does not support
21474 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
21477 possible fixes for automake-1.5 - _LIBADD is reserved
21479 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
21481 * docs/faq/Makefile.am:
21482 * docs/manual/Makefile.am:
21483 * docs/manuals.mak:
21484 * docs/pwg/Makefile.am:
21486 possible fixes for automake-1.5
21488 2005-04-28 Wim Taymans <wim@fluendo.com>
21490 * gst/base/gstbasesink.c: (gst_basesink_base_init),
21491 (gst_basesink_pad_getcaps), (gst_basesink_init),
21492 (gst_basesink_do_sync):
21493 * gst/gstclock.c: (gst_clock_entry_new):
21494 * gst/gstevent.c: (gst_event_discont_get_value):
21495 * gst/gstpipeline.c: (pipeline_bus_handler),
21496 (gst_pipeline_change_state):
21497 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21498 Better debugging of clocking info.
21499 Allow NULL values when getting discont values.
21501 2005-04-27 Wim Taymans <wim@fluendo.com>
21503 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21504 * check/gst/gstpad.c: (gst_pad_suite):
21505 Increase timeout for checks.
21507 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
21509 * check/Makefile.am:
21510 fix the broken rule for cleanup. Apparently this rule is
21511 only needed on FC2, so maybe this warrants further autotool
21514 2005-04-26 Wim Taymans <wim@fluendo.com>
21516 * gst/gsttrashstack.h:
21517 Ooohh. a nasty one! After having a failed pop() from the stack,
21518 it's possible that the stack is empty. In that case, don't
21519 follow the NULL pointer.
21521 2005-04-25 Wim Taymans <wim@fluendo.com>
21523 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21524 (gst_pad_set_checkgetrange_function),
21525 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21526 (gst_pad_check_pull_range), (gst_pad_pull_range),
21527 (gst_static_pad_template_get_caps), (gst_pad_start_task),
21528 (gst_pad_pause_task), (gst_pad_stop_task):
21529 * gst/gstplugin.c: (gst_plugin_load):
21531 Remove gst_library_load as it does more harm than good with
21532 the new g_module flags.
21533 Revert bogus caps template check in pad linking, pad caps
21534 are important when linking not the template, which is more
21535 general than the current caps.
21537 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21539 * gst/autoplug/.cvsignore:
21540 * gst/autoplug/Makefile.am:
21541 * gst/autoplug/gstsearchfuncs.c:
21542 * gst/autoplug/gstsearchfuncs.h:
21543 * gst/autoplug/gstspider.c:
21544 * gst/autoplug/gstspider.h:
21545 * gst/autoplug/gstspideridentity.c:
21546 * gst/autoplug/gstspideridentity.h:
21547 * gst/autoplug/spidertest.c:
21550 2005-04-25 Wim Taymans <wim@fluendo.com>
21552 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21553 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21554 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
21555 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
21557 Added stubs for unimplemented functions.
21559 2005-04-24 David Schleef <ds@schleef.org>
21561 * gst/gstpad.h: Disable some unimplemented functions. Wim,
21564 2005-04-24 David Schleef <ds@schleef.org>
21566 Convert everything from GstAtomicInt to g_atomic_int_*, and
21571 * gst/gstatomic_impl.h:
21579 * gst/gstdata_private.h:
21583 * gst/gstmessage.c:
21586 * gst/gststructure.c:
21587 * gst/gststructure.h:
21588 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
21591 2005-04-24 David Schleef <ds@schleef.org>
21593 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
21594 make the regressions tests work. Remove some code that is no
21596 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
21597 Disable warning for pads without templates.
21599 2005-04-24 David Schleef <ds@schleef.org>
21601 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
21602 functions that handle filtered links.
21603 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
21605 * gst/gstutils.c: Fix/remove utility functions that handle
21608 * gst/gstvalue.c: Add serialization/deserialization of caps
21609 * gst/parse/grammar.y: Ignore filtered caps when linking. This
21610 requires fixing so that the filter caps notation creates
21611 a capsfilter element and sets the filter_caps property. I
21612 think everyone probably wants to keep the shorthand notation.
21613 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
21614 * docs/gst/tmpl/gstpad.sgml:
21616 * gst/elements/gstelements.c: Register capsfilter element.
21617 * gst/Makefile.am: fix spacing
21618 * docs/random/ds/0.9-suggested-changes: random
21620 2005-04-23 David Schleef <ds@schleef.org>
21622 * gst/elements/Makefile.am:
21623 * gst/elements/gstcapsfilter.c: New element that acts like an
21624 identity, but filters caps. Will eventually replace filtered
21625 caps in pad linking.
21626 * gst/gstutils.c: (gst_element_create_all_pads): New function
21627 to create all the ALWAYS pads that are registered with an
21628 element class. This functionality should eventually be
21629 merged in with GstElement initialization.
21631 * testsuite/trigger/README: part of trigger test code that should
21632 have been checked in a long time ago.
21634 2005-04-23 David Schleef <ds@schleef.org>
21636 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
21637 needed with new versions of libtool (nobody will confirm this),
21638 and hard to carry around.
21639 * gst/autoplug/Makefile.am:
21640 * gst/base/Makefile.am:
21641 * gst/elements/Makefile.am:
21642 * gst/indexers/Makefile.am:
21643 * gst/schedulers/Makefile.am:
21644 * libs/gst/bytestream/Makefile.am:
21645 * libs/gst/control/Makefile.am:
21646 * libs/gst/dataprotocol/Makefile.am:
21647 * libs/gst/getbits/Makefile.am:
21649 2005-04-21 Wim Taymans <wim@fluendo.com>
21651 * docs/design/draft-push-pull.txt:
21652 * docs/design/part-MT-refcounting.txt:
21653 * docs/design/part-TODO.txt:
21654 * docs/design/part-caps.txt:
21655 * docs/design/part-events.txt:
21656 * docs/design/part-gstbus.txt:
21657 * docs/design/part-gstpipeline.txt:
21658 * docs/design/part-messages.txt:
21659 * docs/design/part-push-pull.txt:
21660 * docs/design/part-query.txt:
21663 2005-04-21 Wim Taymans <wim@fluendo.com>
21665 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
21666 (gst_message_new), (gst_message_new_error),
21667 (gst_message_new_warning), (gst_message_new_tag),
21668 (gst_message_new_state_changed), (gst_message_new_application),
21669 (gst_message_get_structure):
21670 * gst/gstmessage.h:
21671 * gst/gststructure.c: (gst_structure_set_parent_refcount),
21672 (gst_structure_copy_conditional):
21673 Use parent refcount in GstMessage to ensure GstStructure
21675 Cleaned up headers a bit.
21678 2005-04-20 Wim Taymans <wim@fluendo.com>
21680 * gst/base/gstbasesink.c: (gst_basesink_base_init),
21681 (gst_basesink_pad_getcaps), (gst_basesink_init),
21682 (gst_basesink_chain_unlocked):
21683 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
21684 (gst_type_find_helper):
21685 * gst/elements/gsttypefindelement.c:
21686 (gst_type_find_element_have_type), (gst_type_find_element_init),
21687 (stop_typefinding), (gst_type_find_element_handle_event),
21688 (find_suggest), (gst_type_find_element_chain),
21689 (gst_type_find_element_checkgetrange),
21690 (gst_type_find_element_getrange), (do_typefind),
21691 (gst_type_find_element_activate):
21692 * gst/gstbuffer.c: (_gst_buffer_sub_free),
21693 (gst_buffer_default_free), (gst_buffer_default_copy),
21694 (gst_buffer_set_caps):
21695 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
21696 (gst_caps_replace):
21697 * gst/gstmessage.c: (gst_message_new),
21698 (gst_message_new_state_changed):
21699 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21700 (gst_pad_set_checkgetrange_function),
21701 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
21702 (gst_pad_set_caps), (gst_pad_check_pull_range),
21703 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
21705 * gst/gsttypefind.c: (gst_type_find_register):
21706 Make gst_caps_replace() work like other _replace() functions.
21707 Use _caps_replace() where possible.
21708 Make sure _message_new() initialises its field.
21709 Add gst_static_pad_template_get_caps()
21712 2005-04-18 Andy Wingo <wingo@pobox.com>
21714 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
21715 on the peer, not the pad. I think that was a typo. Pass an extra
21716 arg to see if random access is possible. Activate the pads as
21717 PULL_RANGE if possible.
21719 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
21721 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
21722 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
21725 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21727 * docs/faq/using.xml:
21728 Add note on gstreamer-properties (#154996).
21730 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21732 * docs/random/bbb/optional-properties:
21733 Some analysis on optional properties.
21735 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
21737 * docs/gst/tmpl/gstelementfactory.sgml:
21738 * gst/gstelement.h:
21739 * gst/gstelementfactory.c: (gst_element_factory_init),
21740 (gst_element_factory_cleanup), (gst_element_register),
21741 (__gst_element_factory_add_static_pad_template),
21742 (gst_element_factory_get_static_pad_templates),
21743 (gst_element_factory_can_src_caps),
21744 (gst_element_factory_can_sink_caps):
21745 * gst/registries/Makefile.am:
21746 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
21747 (gst_xml_registry_class_init), (gst_xml_registry_init),
21748 (gst_xml_registry_new), (gst_xml_registry_set_property),
21749 (gst_xml_registry_get_property), (get_time), (make_dir),
21750 (gst_xml_registry_get_perms_func),
21751 (plugin_times_older_than_recurse), (plugin_times_older_than),
21752 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
21753 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
21754 (add_to_char_array), (read_string), (read_uint), (read_enum),
21755 (load_pad_template), (load_feature), (load_plugin), (load_paths),
21756 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
21757 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
21758 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
21759 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
21760 (gst_xml_registry_rebuild):
21761 * gst/registries/gstlibxmlregistry.h:
21762 * tools/gst-compprep.c: (main):
21763 * tools/gst-inspect.c: (print_pad_templates_info):
21764 * tools/gst-xmlinspect.c: (print_element_info):
21765 Use libxml2 for registry parsing, use staticpadtemplates in
21766 elementfactories. Makes gst_init() +/- 10x faster.
21768 2005-04-12 Wim Taymans <wim@fluendo.com>
21770 * gst/base/Makefile.am:
21771 * gst/base/gstbasesink.c: (gst_basesink_base_init),
21772 (gst_basesink_pad_getcaps), (gst_basesink_init),
21773 (gst_basesink_event), (gst_basesink_change_state):
21774 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21775 (gst_basesrc_init), (gst_basesrc_query),
21776 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21777 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21778 (gst_basesrc_check_get_range), (gst_basesrc_loop),
21779 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21780 (gst_basesrc_stop), (gst_basesrc_activate),
21781 (gst_basesrc_change_state):
21782 * gst/base/gsttypefindhelper.c: (helper_find_peek),
21783 (helper_find_suggest), (gst_type_find_helper):
21784 * gst/base/gsttypefindhelper.h:
21785 * gst/elements/Makefile.am:
21786 * gst/elements/gstelements.c:
21787 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21788 (gst_fakesink_get_times), (gst_fakesink_event),
21789 (gst_fakesink_preroll), (gst_fakesink_render):
21790 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21791 (gst_fakesrc_init), (gst_fakesrc_event_handler),
21792 (gst_fakesrc_get_property), (gst_fakesrc_create),
21793 (gst_fakesrc_start), (gst_fakesrc_stop):
21794 * gst/elements/gstfakesrc.h:
21795 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
21796 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21797 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21798 (gst_filesrc_create_read), (gst_filesrc_create),
21799 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
21800 (gst_filesrc_start):
21801 * gst/elements/gsttypefindelement.c:
21802 (gst_type_find_element_have_type), (gst_type_find_element_init),
21803 (start_typefinding), (stop_typefinding), (push_buffer_store),
21804 (gst_type_find_element_handle_event),
21805 (gst_type_find_element_chain),
21806 (gst_type_find_element_checkgetrange),
21807 (gst_type_find_element_getrange), (do_typefind),
21808 (gst_type_find_element_activate),
21809 (gst_type_find_element_change_state):
21810 * gst/elements/gsttypefindelement.h:
21811 * gst/gstpipeline.c: (pipeline_bus_handler):
21812 Added typefind helper.
21813 Small preroll fix in the base sink.
21814 Disable typefind code in basesrc.
21815 Crude port of typefindelement.
21819 2005-04-11 Wim Taymans <wim@fluendo.com>
21821 * check/gst/gstbus.c: (gstbus_suite):
21822 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
21823 * check/gstcheck.h:
21824 Fix up the timeout so that the test does not fail.
21826 2005-04-06 Wim Taymans <wim@fluendo.com>
21829 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21830 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
21831 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
21832 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
21833 (gst_basesrc_check_get_range), (gst_basesrc_loop),
21834 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
21835 (gst_basesrc_stop), (gst_basesrc_activate),
21836 (gst_basesrc_change_state), (basesrc_find_peek),
21837 (basesrc_find_suggest), (gst_basesrc_type_find):
21838 * gst/base/gstbasesrc.h:
21839 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
21840 (gst_filesrc_class_init), (gst_filesrc_init),
21841 (gst_filesrc_finalize), (gst_filesrc_set_location),
21842 (gst_filesrc_set_property), (gst_filesrc_get_property),
21843 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
21844 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
21845 (gst_filesrc_create_read), (gst_filesrc_create),
21846 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
21847 * gst/elements/gstfilesrc.h:
21848 * gst/gstelement.c: (gst_element_get_state_func),
21849 (gst_element_lost_state), (gst_element_pads_activate):
21850 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21851 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21852 (gst_pad_pull_range):
21854 More work on the generic source base class, implement seeking,
21856 Make filesrc extend the base source class.
21857 Added gst_pad_set_checkgetrange_function to GstPad.
21859 2005-04-06 Andy Wingo <wingo@pobox.com>
21861 * pkgconfig/gstreamer-base.pc.in:
21862 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
21864 * pkgconfig/Makefile.am:
21865 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
21867 2005-04-04 Wim Taymans <wim@fluendo.com>
21869 * gst/base/Makefile.am:
21871 * gst/base/gstbasesink.c: (gst_basesink_base_init),
21872 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
21873 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
21874 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
21875 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
21876 (gst_basesrc_base_init), (gst_basesrc_class_init),
21877 (gst_basesrc_init), (gst_basesrc_get_formats),
21878 (gst_basesrc_get_query_types), (gst_basesrc_query),
21879 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
21880 (gst_basesrc_set_property), (gst_basesrc_get_property),
21881 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
21882 (gst_basesrc_loop), (gst_basesrc_activate),
21883 (gst_basesrc_change_state):
21884 * gst/base/gstbasesrc.h:
21885 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
21886 (gst_fakesrc_class_init), (gst_fakesrc_init),
21887 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
21888 (gst_fakesrc_get_property), (gst_fakesrc_create):
21889 * gst/elements/gstfakesrc.h:
21890 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
21891 (gst_filesrc_open_file), (gst_filesrc_loop),
21892 (gst_filesrc_activate), (filesrc_find_peek),
21893 (gst_filesrc_type_find):
21894 Made base source class, make fakesrc extend it.
21895 Add comments to basesink class.
21896 Some filesrc cleanup.
21898 2005-03-31 David Schleef <ds@schleef.org>
21900 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
21901 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
21902 expected to link against libgstreamer.
21903 * gst/base/Makefile.am: link against libgstreamer
21904 * gst/elements/Makefile.am: same
21906 2005-03-31 Andy Wingo <wingo@pobox.com>
21908 * tests/instantiate/Makefile.am:
21909 * tests/instantiate/caps.c: Add test to test speed of caps copy
21912 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
21913 GMemChunk to be fair.
21915 * gst/gsttrashstack.h: Remove warning about using the fallback
21916 trash stack implementation, it's still faster than malloc.
21918 2005-03-30 Andy Wingo <wingo@pobox.com>
21920 * tests/complexity.c: Add a copyright.
21922 2005-03-31 Wim Taymans <wim@fluendo.com>
21924 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
21925 (gst_base_transform_class_init), (gst_base_transform_init),
21926 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
21927 (gst_base_transform_get_property),
21928 (gst_base_transform_sink_activate),
21929 (gst_base_transform_src_activate),
21930 (gst_base_transform_change_state):
21931 * gst/base/gstbasetransform.h:
21932 * gst/elements/gstidentity.c: (gst_identity_class_init),
21933 (gst_identity_event), (gst_identity_check_perfect),
21934 (gst_identity_transform), (gst_identity_start),
21935 (gst_identity_stop):
21936 Added start/stop methods to transform base class so subclasses
21937 don't need to deal with state changes even.
21939 2005-03-31 Wim Taymans <wim@fluendo.com>
21941 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
21942 (gst_event_new_discontinuous), (gst_event_discont_get_value):
21944 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21945 (gst_pad_pull_range):
21946 Added rate to the discont event to prepare for variable speed
21947 and reverse playback.
21949 2005-03-29 David Schleef <ds@schleef.org>
21952 * testsuite/trigger/Makefile.am:
21953 * testsuite/trigger/trigger.c: A little example program to show
21954 how trigger-based elements can work.
21956 2005-03-29 Wim Taymans <wim@fluendo.com>
21958 * gst/base/Makefile.am:
21960 * gst/base/gstbasesink.c: (gst_basesink_get_type),
21961 (gst_basesink_base_init), (gst_basesink_class_init),
21962 (gst_basesink_pad_getcaps), (gst_basesink_init),
21963 (gst_basesink_activate), (gst_basesink_change_state):
21964 * gst/base/gstbasesink.h:
21965 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
21966 (gst_base_transform_base_init), (gst_base_transform_finalize),
21967 (gst_base_transform_class_init), (gst_base_transform_init),
21968 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
21969 (gst_base_transform_event), (gst_base_transform_getrange),
21970 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
21971 (gst_base_transform_set_property),
21972 (gst_base_transform_get_property),
21973 (gst_base_transform_sink_activate),
21974 (gst_base_transform_src_activate),
21975 (gst_base_transform_change_state):
21976 * gst/base/gstbasetransform.h:
21977 * gst/elements/gstidentity.c: (gst_identity_finalize),
21978 (gst_identity_class_init), (gst_identity_init),
21979 (gst_identity_event), (gst_identity_check_perfect),
21980 (gst_identity_transform), (gst_identity_set_property),
21981 (gst_identity_get_property), (gst_identity_change_state):
21982 * gst/elements/gstidentity.h:
21983 * gst/gstelement.c: (gst_element_get_state_func),
21984 (gst_element_lost_state), (gst_element_pads_activate):
21985 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21986 (gst_pad_check_pull_range), (gst_pad_pull_range):
21988 Simplify pad activation.
21989 Added function to check if pull_range can be performed.
21990 Error out when pulling inactive or flushing pads.
21991 Removed const from refcounted types as it does not make sense.
21992 Simplify pad templates in basesink
21993 Added base class for simple 1-to-1 transforms.
21994 Make identity subclass the base transform.
21996 2005-03-29 Andy Wingo <wingo@pobox.com>
21998 * docs/libs/gstreamer-libs-overrides.txt:
21999 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
22000 really don't understand what's going on, but like whatever. I want
22003 * docs/gst/Makefile.am:
22004 * docs/libs/Makefile.am: Dist the overrides files.
22006 * check/Makefile.am (clean-local): Remove .libs directories.
22008 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
22009 elements to EXTRA_DIST, so po/ files are happy.
22011 * po/POTFILES.in: Er, remove it here.
22013 * po/POTFILES: Remove gstspider.c.
22015 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
22017 * docs/libs/gstreamer-libs-docs.sgml:
22018 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
22021 * tests/complexity.c (main): Set the length of the preroll queue
22022 on the sinks to prevent a lockup.
22024 * libs/gst/dataprotocol/Makefile.am:
22025 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
22026 the same as the one in check/gst-libs/gdp.c.
22028 * po/, docs/gst/: Commit automatic changes to docs and po files.
22030 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
22031 the versioned libgstbase.
22033 * check/Makefile.am: Depend on an unversioned gst-register, seems
22034 to make autoconf happier.
22036 * gst/base/Makefile.am: Make libgstbase a versioned lib.
22038 2005-03-28 Wim Taymans <wim@fluendo.com>
22041 * docs/design/part-gstelement.txt:
22042 * docs/design/part-negotiation.txt:
22043 * docs/design/part-preroll.txt:
22044 * docs/design/part-scheduling.txt:
22045 * docs/design/part-states.txt:
22047 * gst/base/Makefile.am:
22049 * gst/base/gstbasesink.c: (gst_basesink_get_template),
22050 (gst_basesink_base_init), (gst_basesink_class_init),
22051 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22052 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22053 (gst_basesink_set_pad_functions),
22054 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
22055 (gst_basesink_set_property), (gst_basesink_get_property),
22056 (gst_base_sink_get_template), (gst_base_sink_get_caps),
22057 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22058 (gst_basesink_preroll_queue_push),
22059 (gst_basesink_preroll_queue_empty),
22060 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22061 (gst_basesink_event), (gst_basesink_get_times),
22062 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22063 (gst_basesink_chain_unlocked), (gst_basesink_chain),
22064 (gst_basesink_loop), (gst_basesink_activate),
22065 (gst_basesink_change_state):
22066 * gst/base/gstbasesink.h:
22067 * gst/elements/Makefile.am:
22068 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22069 (gst_fakesink_class_init), (gst_fakesink_init),
22070 (gst_fakesink_set_property), (gst_fakesink_get_property),
22071 (gst_fakesink_get_times), (gst_fakesink_event),
22072 (gst_fakesink_preroll), (gst_fakesink_render),
22073 (gst_fakesink_change_state):
22074 * gst/elements/gstfakesink.h:
22075 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22076 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22077 * gst/gstelement.c: (gst_element_add_pad),
22078 (gst_element_get_state_func), (gst_element_abort_state),
22079 (gst_element_commit_state), (gst_element_lost_state),
22080 (gst_element_set_state), (gst_element_pads_activate):
22081 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22082 * gst/gstpipeline.c: (gst_pipeline_send_event),
22083 (gst_pipeline_change_state):
22084 Added state change code.
22085 Added/updated docs.
22086 Added sink base class, make fakesink extend the base class.
22087 Small cleanups in GstPipeline.
22089 2005-03-26 David Schleef <ds@schleef.org>
22091 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
22092 is broken and should be implemented in a different library.
22093 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22094 * gst/gst.h: remove gstcpu.h
22095 * gst/gstcpu.c: remove
22096 * gst/gstcpu.h: remove
22097 * gst/Makefile.am.future: Remove this file. It's ancient.
22099 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22101 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22102 (gst_bin_send_event):
22103 Add default event/set_manager handlers. The set_manager handler
22104 takes care that the manager is distributed over kids that were
22105 already in the bin before the manager was set. The event handler
22106 is a utility virtual function that sends the event over all sinks,
22107 so that gst_element_send_event (bin, event); has the expected
22109 * gst/gstpad.c: (gst_pad_event_default):
22110 Re-install default event handling for discontinuities, so that
22111 seeking works without requiring hacks in applications or extra
22113 * gst/gstpipeline.c: (gst_pipeline_class_init),
22114 (gst_pipeline_send_event):
22115 Half hack, half utility: set a pipeline to PAUSED for seek events,
22116 since that is the only way we can guarantee a/v sync. Means that
22117 you can do gst_element_seek (pipeline, method, pos); on a pipeline
22118 and it "just works".
22120 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
22122 * gst/gstpipeline.c: (gst_pipeline_use_clock):
22123 Lock/unlock mismatch.
22125 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
22127 * docs/faq/gst-uninstalled:
22128 add gst-plugins-base
22129 * docs/gst/Makefile.am:
22130 don't error out until docs are fixed
22131 * docs/gst/gstreamer.types:
22134 2005-03-22 Wim Taymans <wim@fluendo.com>
22136 * check/Makefile.am:
22137 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22138 * gst/gststructure.c: (gst_structure_set_valist),
22139 (gst_structure_copy_conditional):
22140 Activated more tests.
22141 Added message test.
22142 Added G_TYPE_POINTER to GstStructure.
22145 2005-03-22 Wim Taymans <wim@fluendo.com>
22147 * docs/design/part-TODO.txt:
22148 * docs/design/part-events.txt:
22149 * docs/design/part-gstbin.txt:
22150 * docs/design/part-gstbus.txt:
22151 * docs/design/part-gstpipeline.txt:
22152 * docs/design/part-messages.txt:
22154 * gst/gstmessage.c:
22157 2005-03-21 Wim Taymans <wim@fluendo.com>
22159 * gst/gstbus.c: (gst_bus_post):
22160 Fix copy-and-paste error.
22162 2005-03-21 Wim Taymans <wim@fluendo.com>
22164 * check/Makefile.am:
22166 * gst/elements/Makefile.am:
22167 * gst/elements/gstelements.c:
22168 * gst/elements/gstfakesink.c: (gst_fakesink_init),
22169 (gst_fakesink_event), (gst_fakesink_chain):
22170 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22171 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22172 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22173 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22174 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22175 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22176 (gst_fakesrc_loop), (gst_fakesrc_activate),
22177 (gst_fakesrc_change_state):
22178 * gst/elements/gstfakesrc.h:
22179 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22180 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22181 (gst_filesrc_open_file), (gst_filesrc_loop),
22182 (gst_filesrc_activate), (gst_filesrc_change_state),
22183 (filesrc_find_peek), (filesrc_find_suggest),
22184 (gst_filesrc_type_find):
22185 * gst/elements/gstidentity.c: (gst_identity_finalize),
22186 (gst_identity_class_init), (gst_identity_init),
22187 (gst_identity_proxy_getcaps), (identity_queue_push),
22188 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22189 (gst_identity_getrange), (gst_identity_chain),
22190 (gst_identity_sink_loop), (gst_identity_src_loop),
22191 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22192 (gst_identity_set_property), (gst_identity_get_property),
22193 (gst_identity_change_state):
22194 * gst/elements/gstidentity.h:
22195 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22196 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22197 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22198 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22199 (gst_tee_sink_activate):
22200 * gst/elements/gsttee.h:
22201 * gst/gst.c: (gst_register_core_elements), (init_post):
22203 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22204 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22205 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22206 (gst_bin_change_state):
22208 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22209 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22210 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22211 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22212 (gst_bus_set_sync_handler), (gst_bus_create_watch),
22213 (bus_watch_callback), (bus_watch_destroy),
22214 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22215 (poll_timeout), (gst_bus_poll):
22219 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22220 (gst_element_post_message), (gst_element_message_full),
22221 (gst_element_get_state_func), (gst_element_get_state),
22222 (gst_element_abort_state), (gst_element_commit_state),
22223 (gst_element_lost_state), (gst_element_set_state),
22224 (gst_element_pads_activate), (gst_element_change_state),
22225 (gst_element_dispose), (gst_element_set_manager_func),
22226 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22227 (gst_element_set_manager), (gst_element_get_manager),
22228 (gst_element_set_bus), (gst_element_get_bus),
22229 (gst_element_set_scheduler), (gst_element_get_scheduler):
22230 * gst/gstelement.h:
22231 * gst/gstevent.c: (gst_event_new_segment_seek),
22232 (gst_event_new_flush):
22234 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22235 (_gst_message_free), (gst_message_get_type), (gst_message_new),
22236 (gst_message_new_eos), (gst_message_new_error),
22237 (gst_message_new_warning), (gst_message_new_tag),
22238 (gst_message_new_state_changed), (gst_message_new_application),
22239 (gst_message_get_structure), (gst_message_parse_tag),
22240 (gst_message_parse_state_changed), (gst_message_parse_error),
22241 (gst_message_parse_warning):
22242 * gst/gstmessage.h:
22243 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22244 (gst_real_pad_set_property), (gst_pad_set_active),
22245 (gst_pad_is_active), (gst_pad_set_blocked_async),
22246 (gst_pad_set_blocked), (gst_pad_is_blocked),
22247 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22248 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22249 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22250 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22251 (gst_pad_link_filtered), (gst_pad_relink_filtered),
22252 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22253 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22254 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22255 (gst_pad_set_caps), (gst_pad_configure_sink),
22256 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22257 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22258 (gst_real_pad_dispose), (gst_real_pad_finalize),
22259 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22260 (gst_pad_event_default_dispatch), (gst_pad_event_default),
22261 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22263 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22264 (pipeline_bus_handler), (gst_pipeline_change_state),
22265 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22266 * gst/gstpipeline.h:
22268 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22269 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22270 (gst_queue_link_src), (gst_queue_bufferalloc),
22271 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22272 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22273 (gst_queue_loop), (gst_queue_handle_src_event),
22274 (gst_queue_handle_src_query), (gst_queue_src_activate),
22275 (gst_queue_change_state):
22277 * gst/gstscheduler.c: (gst_scheduler_init),
22278 (gst_scheduler_dispose), (gst_scheduler_create_task),
22279 (gst_scheduler_factory_create):
22280 * gst/gstscheduler.h:
22281 * gst/gststructure.c: (gst_structure_get_type),
22282 (gst_structure_copy_conditional):
22283 * gst/gststructure.h:
22284 * gst/gsttaginterface.h:
22285 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22286 (gst_task_init), (gst_task_dispose), (gst_task_create),
22287 (gst_task_get_state), (gst_task_start), (gst_task_stop),
22293 * gst/schedulers/Makefile.am:
22294 * gst/schedulers/cothreads_compat.h:
22295 * gst/schedulers/entryscheduler.c:
22296 * gst/schedulers/faircothreads.c:
22297 * gst/schedulers/faircothreads.h:
22298 * gst/schedulers/fairscheduler.c:
22299 * gst/schedulers/gstbasicscheduler.c:
22300 * gst/schedulers/gstoptimalscheduler.c:
22301 * gst/schedulers/gthread-cothreads.h:
22302 * gst/schedulers/threadscheduler.c:
22303 (gst_thread_scheduler_task_get_type),
22304 (gst_thread_scheduler_task_class_init),
22305 (gst_thread_scheduler_task_init),
22306 (gst_thread_scheduler_task_start),
22307 (gst_thread_scheduler_task_stop),
22308 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22309 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22310 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22311 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22313 * libs/gst/Makefile.am:
22314 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22315 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22316 (gst_file_pad_parent_set):
22317 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22318 (gst_dp_event_from_packet):
22319 * tests/complexity.c: (main):
22320 * tests/mass_elements.c: (main):
22321 * testsuite/states/locked.c: (message_received), (main):
22322 * testsuite/states/parent.c: (main):
22323 * tools/gst-inspect.c: (print_element_flag_info),
22324 (print_implementation_info), (print_pad_info):
22325 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22327 * tools/gst-md5sum.c: (event_loop), (main):
22328 * tools/gst-typefind.c: (main):
22329 * tools/gst-xmlinspect.c: (print_element_info):
22331 Added GstBus for mainloop integration.
22332 Added GstMessage for sending notifications on the bus.
22333 Added GstTask as an abstraction for pipeline entry points.
22335 Removed Schedulers.
22336 Simplified GstQueue for multithreaded core.
22337 Made _link threadsafe, removed old capsnego.
22338 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22339 Added pad blocking functions.
22340 Reworked scheduling functions in GstPad to prepare for
22341 scheduling updates soon.
22342 Moved events out of data stream.
22343 Simplified GstEvent types.
22344 Added return values to push/pull.
22345 Removed clocking from GstElement.
22346 Added prototypes for state change function for next merge.
22347 Removed iterate from bins and state change management.
22348 Fixed some elements, disabled others for now.
22349 Fixed -inspect and -launch.
22350 Added check for GstBus.
22352 2005-03-10 Wim Taymans <wim@fluendo.com>
22354 * docs/design/part-MT-refcounting.txt:
22355 * docs/design/part-clocks.txt:
22356 * docs/design/part-gstelement.txt:
22357 * docs/design/part-gstobject.txt:
22358 * docs/design/part-standards.txt:
22359 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22360 (gst_bin_remove_func), (gst_bin_remove):
22364 * testsuite/clock/clock1.c: (main):
22365 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22367 * testsuite/dlopen/loadgst.c: (do_test):
22368 * testsuite/refcounting/bin.c: (add_remove_test1),
22369 (add_remove_test2), (main):
22370 * testsuite/refcounting/element.c: (main):
22371 * testsuite/refcounting/element_pad.c: (main):
22372 * testsuite/refcounting/pad.c: (main):
22373 * tools/gst-launch.c: (sigint_handler_sighandler):
22374 * tools/gst-typefind.c: (main):
22376 Added doc about clock.
22377 removed gst_bin_iterate_recurse_up(), marked methods
22379 Fix more testsuites.
22381 2005-03-09 Wim Taymans <wim@fluendo.com>
22383 * gst/gstpad.c: (gst_pad_get_direction),
22384 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22385 (gst_pad_collect_valist):
22386 * testsuite/bins/interface.c: (main):
22387 * testsuite/caps/audioscale.c: (test_caps):
22388 * testsuite/caps/caps.c: (test1), (test2), (test3):
22389 * testsuite/caps/deserialize.c: (main):
22390 * testsuite/caps/enumcaps.c: (main):
22391 * testsuite/caps/filtercaps.c: (main):
22392 * testsuite/caps/intersect2.c: (main):
22393 * testsuite/caps/random.c: (main):
22394 * testsuite/caps/renegotiate.c: (my_fixate), (main):
22395 * testsuite/caps/sets.c: (check_caps):
22396 * testsuite/caps/simplify.c: (check_caps), (main):
22397 * testsuite/caps/subtract.c: (check_caps):
22398 Fix _pad_get_direction wrt ghostpads.
22399 Fix caps testsuite.
22401 2005-03-09 Wim Taymans <wim@fluendo.com>
22403 * check/Makefile.am:
22404 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22405 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22406 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22407 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22408 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22409 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22410 (gst_bin_remove), (gst_bin_iterate_recurse_up),
22411 (bin_element_is_sink), (gst_bin_iterate_sinks),
22412 (gst_bin_iterate_all_by_interface):
22414 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22415 (gst_element_change_state), (gst_element_dispose),
22416 (gst_element_finalize), (gst_element_set_loop_function):
22417 * gst/gstelement.h:
22418 * gst/gstiterator.c: (find_custom_fold_func):
22419 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22420 (gst_pad_collectv), (gst_pad_collect_valist),
22421 (gst_pad_template_new):
22422 * gst/gstpipeline.c: (gst_pipeline_class_init),
22423 (gst_pipeline_dispose), (gst_pipeline_set_property),
22424 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22425 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22426 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22428 * gst/schedulers/entryscheduler.c:
22429 * gst/schedulers/gstbasicscheduler.c:
22430 (gst_basic_scheduler_cothreaded_chain),
22431 (gst_basic_scheduler_chain_add_element):
22432 * testsuite/bins/interface.c: (main):
22434 Added GstSystemClock test.
22435 Implemented clock distribution code in GstBin.
22436 Implemented iterate sinks method for future use.
22437 Rearranged gstelement.h
22438 Fix GstIterator comparison bug.
22439 Moved some code to GstPipeline, mostly clocking related.
22441 2005-03-09 Wim Taymans <wim@fluendo.com>
22444 * gst/gst_private.h:
22445 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22446 (gst_bin_remove_func), (gst_bin_remove),
22447 (gst_bin_get_by_name_recurse_up):
22448 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22449 (gst_clock_id_compare_func), (gst_clock_id_wait),
22450 (gst_clock_id_wait_async), (gst_clock_init),
22451 (gst_clock_adjust_unlocked), (gst_clock_get_time):
22452 * gst/gstelement.h:
22453 * gst/gstinfo.c: (_gst_debug_init):
22455 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22456 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22458 Bump version number, we're now 0.9.0
22459 Add future debugging category.
22460 Fix NULL _unref() in _get_by_name_recurse_up
22461 Rearrange gstpad.h.
22464 2005-03-08 Wim Taymans <wim@fluendo.com>
22466 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22467 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22468 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22469 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22470 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22471 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22472 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22473 * gst/elements/gstidentity.c: (gst_identity_class_init):
22474 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22475 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22476 * gst/elements/gstshaper.c: (gst_shaper_class_init):
22477 * gst/elements/gststatistics.c: (gst_statistics_class_init):
22478 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22480 * gst/gstelement.c: (gst_element_class_init),
22481 (gst_element_base_class_init), (gst_element_init),
22482 (gst_element_get_random_pad), (gst_element_wait_state_change),
22483 (gst_element_change_state), (gst_element_dispose),
22484 (gst_element_finalize), (gst_element_set_loop_function):
22485 * gst/gstelement.h:
22486 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22487 * gst/gstthread.c: (gst_thread_class_init),
22488 (gst_thread_release_children_locks), (gst_thread_change_state):
22489 * gst/schedulers/gstbasicscheduler.c:
22490 (gst_basic_scheduler_loopfunc_wrapper),
22491 (gst_basic_scheduler_chain_wrapper),
22492 (gst_basic_scheduler_src_wrapper),
22493 (gst_basic_scheduler_remove_element):
22494 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22495 Remove threadsafe properties. Fix elements because GObject
22496 complains when installing a property before declaring a
22497 set/get_property handler.
22498 Rearrange gstelement.h file, use STATE macros for state locks.
22499 Free mutexes in the finalize method instead of dispose.
22501 2005-03-08 Wim Taymans <wim@fluendo.com>
22503 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22504 * gst/gstthread.c: (gst_thread_release_children_locks):
22505 Added parentage check.
22506 Fix build og GstThread again.
22508 2005-03-08 Wim Taymans <wim@fluendo.com>
22510 * docs/design/part-MT-refcounting.txt:
22511 * docs/design/part-conventions.txt:
22512 * docs/design/part-gstobject.txt:
22513 * docs/design/part-relations.txt:
22514 * docs/design/part-standards.txt:
22515 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22516 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22517 (gst_bin_get_by_name), (gst_bin_get_by_interface),
22518 (gst_bin_iterate_all_by_interface):
22521 * gst/gstelement.c: (gst_element_class_init),
22522 (gst_element_change_state), (gst_element_set_loop_function):
22523 * gst/gstelement.h:
22524 * gst/gstiterator.c:
22525 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22526 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22527 (gst_object_dispatch_properties_changed), (gst_object_set_name),
22528 (gst_object_set_parent), (gst_object_unparent),
22529 (gst_object_check_uniqueness):
22531 Docs updates, clean up some headers.
22533 2005-03-07 Wim Taymans <wim@fluendo.com>
22535 * check/.cvsignore:
22536 * check/Makefile.am:
22537 * check/gst-libs/.cvsignore:
22538 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
22539 * check/gst/.cvsignore:
22540 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
22541 (START_TEST), (gstbus_suite), (main):
22542 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
22543 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
22544 (gst_data_suite), (main):
22545 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
22546 (add_fold_func), (gstiterator_suite), (main):
22547 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
22548 (thread_name_object), (thread_name_object_default),
22549 (gst_object_name_compare), (gst_object_suite), (main):
22550 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
22551 (gst_pad_suite), (main):
22552 * check/gstcheck.c: (gst_check_log_message_func),
22553 (gst_check_log_critical_func), (gst_check_init):
22554 * check/gstcheck.h:
22555 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
22556 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
22559 2005-03-07 Wim Taymans <wim@fluendo.com>
22561 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22562 (gst_list_iterator_next), (gst_list_iterator_resync),
22563 (gst_list_iterator_free), (gst_iterator_new_list),
22564 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
22565 (gst_iterator_free), (gst_iterator_push), (filter_next),
22566 (filter_resync), (filter_uninit), (filter_free),
22567 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
22568 (gst_iterator_foreach), (find_custom_fold_func),
22569 (gst_iterator_find_custom):
22570 * gst/gstiterator.h:
22571 Added missing files.
22573 2005-03-07 Wim Taymans <wim@fluendo.com>
22577 * docs/design/part-MT-refcounting.txt:
22578 * docs/design/part-conventions.txt:
22579 * docs/design/part-gstobject.txt:
22580 * docs/design/part-relations.txt:
22581 * examples/mixer/mixer.c: (main):
22582 * examples/thread/thread.c: (eos), (main):
22584 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
22585 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
22586 (gst_spider_plug_from_srcpad):
22587 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
22588 (gst_spider_identity_change_state),
22589 (gst_spider_identity_sink_loop_type_finding):
22590 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
22591 * gst/elements/gstidentity.c: (gst_identity_init):
22592 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
22593 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
22594 * gst/elements/gsttypefindelement.c: (free_entry):
22597 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
22598 (gst_bin_set_clock_func), (gst_bin_auto_clock),
22599 (gst_bin_set_index), (gst_bin_set_element_sched),
22600 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
22601 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
22602 (gst_bin_iterate_elements), (iterate_child_recurse),
22603 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
22604 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
22605 (compare_interface), (gst_bin_get_by_interface),
22606 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
22608 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
22609 (gst_buffer_default_free), (gst_buffer_default_copy),
22610 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
22611 (gst_buffer_create_sub):
22613 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
22614 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
22615 (gst_caps_unref), (gst_static_caps_get),
22616 (gst_caps_remove_and_get_structure), (gst_caps_append),
22617 (gst_caps_append_structure), (gst_caps_remove_structure),
22618 (gst_caps_copy_nth), (gst_caps_set_simple),
22619 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
22620 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
22621 (gst_caps_structure_intersect_field), (gst_caps_intersect),
22622 (gst_caps_structure_subtract_field), (gst_caps_subtract),
22623 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
22624 (gst_caps_structure_figure_out_union),
22625 (gst_caps_switch_structures), (gst_caps_do_simplify),
22626 (gst_caps_replace), (gst_caps_from_string),
22627 (gst_caps_copy_conditional):
22629 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
22630 (_gst_clock_id_free), (gst_clock_id_unref),
22631 (gst_clock_id_compare_func), (gst_clock_id_wait),
22632 (gst_clock_id_wait_async), (gst_clock_class_init),
22633 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
22634 (gst_clock_get_time), (gst_clock_set_time_adjust),
22635 (gst_clock_set_property), (gst_clock_get_property):
22638 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
22639 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
22641 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22642 (gst_element_requires_clock), (gst_element_provides_clock),
22643 (gst_element_set_clock), (gst_element_clock_wait),
22644 (gst_element_wait), (gst_element_set_time_delay),
22645 (gst_element_is_indexable), (gst_element_add_pad),
22646 (gst_element_add_ghost_pad), (gst_element_remove_pad),
22647 (pad_compare_name), (gst_element_get_static_pad),
22648 (gst_element_request_pad), (gst_element_get_request_pad),
22649 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
22650 (gst_element_class_get_pad_template_list),
22651 (gst_element_class_get_pad_template), (gst_element_error_func),
22652 (gst_element_get_random_pad), (gst_element_get_event_masks),
22653 (gst_element_send_event), (gst_element_seek),
22654 (gst_element_get_query_types), (gst_element_query),
22655 (gst_element_get_formats), (gst_element_convert),
22656 (gst_element_is_locked_state), (gst_element_set_locked_state),
22657 (gst_element_sync_state_with_parent), (gst_element_change_state),
22658 (gst_element_finalize), (gst_element_yield),
22659 (gst_element_interrupt), (gst_element_set_scheduler),
22660 (gst_element_get_scheduler), (gst_element_set_loop_function):
22661 * gst/gstelement.h:
22663 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
22664 (gst_format_get_by_nick), (gst_format_get_details),
22665 (gst_format_iterate_definitions):
22667 * gst/gstindex.c: (gst_index_gtype_resolver):
22670 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
22671 (gst_mem_chunk_free):
22672 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22673 (gst_object_ref), (gst_object_unref), (gst_object_sink),
22674 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
22675 (gst_object_dispatch_properties_changed),
22676 (gst_object_set_name_default), (gst_object_set_name),
22677 (gst_object_get_name), (gst_object_set_name_prefix),
22678 (gst_object_get_name_prefix), (gst_object_set_parent),
22679 (gst_object_get_parent), (gst_object_unparent),
22680 (gst_object_check_uniqueness), (gst_object_save_thyself),
22681 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
22682 (gst_object_set_property), (gst_object_get_property),
22683 (gst_object_get_path_string):
22685 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22686 (gst_real_pad_init), (gst_real_pad_get_property),
22687 (gst_pad_custom_new), (gst_pad_get_direction),
22688 (gst_pad_set_active), (gst_pad_is_active),
22689 (gst_pad_set_event_function), (gst_pad_is_linked),
22690 (gst_pad_link_free), (gst_pad_link_intersect),
22691 (gst_pad_link_fixate), (gst_pad_set_caps),
22692 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
22693 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
22694 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
22695 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
22696 (gst_pad_get_caps), (gst_pad_peer_get_caps),
22697 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
22698 (gst_pad_realize), (gst_pad_get_allowed_caps),
22699 (gst_real_pad_dispose), (gst_real_pad_finalize),
22700 (gst_pad_collectv), (gst_pad_collect_valist),
22701 (gst_pad_template_dispose), (gst_pad_template_new),
22702 (gst_pad_get_internal_links):
22704 * gst/gstpipeline.c: (gst_pipeline_dispose),
22705 (gst_pipeline_change_state):
22706 * gst/gstpipeline.h:
22708 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
22709 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
22710 * gst/gstpluginfeature.h:
22711 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
22712 * gst/gstquery.c: (_gst_query_type_initialize),
22713 (gst_query_type_register), (gst_query_type_get_by_nick),
22714 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
22716 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
22717 * gst/gstscheduler.c: (gst_scheduler_add_element),
22718 (gst_scheduler_factory_create):
22719 * gst/gststructure.c: (gst_structure_set_parent_refcount),
22720 (gst_structure_free), (gst_structure_set_name),
22721 (gst_structure_id_set_value), (gst_structure_set_value),
22722 (gst_structure_set_valist), (gst_structure_remove_field),
22723 (gst_structure_remove_fields),
22724 (gst_structure_remove_fields_valist),
22725 (gst_structure_remove_all_fields), (gst_structure_foreach),
22726 (gst_structure_map_in_place),
22727 (gst_caps_structure_fixate_field_nearest_int),
22728 (gst_caps_structure_fixate_field_nearest_double):
22729 * gst/gststructure.h:
22730 * gst/gstsystemclock.c: (gst_system_clock_class_init),
22731 (gst_system_clock_init), (gst_system_clock_dispose),
22732 (gst_system_clock_async_thread),
22733 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
22734 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
22735 * gst/gstsystemclock.h:
22736 * gst/gsttag.c: (gst_tag_list_add_value_internal),
22737 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
22738 * gst/gsttaginterface.c:
22739 * gst/gstthread.c: (gst_thread_dispose),
22740 (gst_thread_release_children_locks), (gst_thread_change_state),
22741 (gst_thread_main_loop):
22742 * gst/gsttrashstack.h:
22743 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
22745 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
22746 (gst_element_request_pad), (gst_element_get_pad_from_template),
22747 (gst_element_request_compatible_pad),
22748 (gst_element_get_compatible_pad_filtered),
22749 (gst_element_get_compatible_pad), (gst_element_state_get_name),
22750 (gst_element_link_pads_filtered), (gst_element_link_filtered),
22751 (gst_element_link_many), (gst_element_link),
22752 (gst_element_link_pads), (gst_element_unlink_pads),
22753 (gst_element_unlink_many), (gst_element_unlink),
22754 (gst_pad_can_link_filtered), (gst_pad_can_link),
22755 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
22756 (gst_object_default_error), (gst_bin_add_many),
22757 (gst_bin_remove_many), (gst_element_populate_std_props),
22758 (gst_element_class_install_std_props), (gst_buffer_merge),
22759 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
22760 (link_fold_func), (gst_pad_proxy_setcaps):
22762 * gst/gstvalue.c: (gst_value_deserialize_string):
22763 * gst/parse/grammar.y:
22764 * gst/schedulers/gstbasicscheduler.c:
22765 (gst_basic_scheduler_cothreaded_chain),
22766 (gst_basic_scheduler_chain_recursive_add),
22767 (gst_basic_scheduler_pad_link):
22768 * gst/schedulers/gstoptimalscheduler.c:
22769 (get_group_schedule_function),
22770 (gst_opt_scheduler_state_transition),
22771 (gst_opt_scheduler_add_element), (element_get_reachables_func):
22772 * libs/gst/bytestream/bytestream.c:
22773 * libs/gst/dataprotocol/dataprotocol.c:
22774 (gst_dp_header_from_buffer):
22777 * tests/threadstate/threadstate2.c: (eos):
22778 * tools/gst-compprep.c: (main):
22779 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
22780 (print_pad_info), (print_children_info):
22781 * tools/gst-launch.c: (idle_func), (main):
22782 * tools/gst-md5sum.c: (idle_func), (main):
22783 * tools/gst-xmlinspect.c: (print_element_info):
22784 First THREADED backport attempt, focusing on adding locks and
22785 making sure the API is threadsafe. Needs more work. More docs
22788 2005-02-24 Andy Wingo <wingo@pobox.com>
22790 * tests/bench-complexity.scm:
22791 * tests/complexity.gnuplot: New files, good for running complexity
22794 * tests/Makefile.am:
22795 * tests/complexity.c: New test, sets up N elements, at each level
22796 teeing into M streams per element. Eeeenteresting.
22798 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
22799 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
22800 running bench-mass_elements.scm.
22802 * tests/bench-mass_elements.scm: New script, runs mass_elements
22803 for various numbers of identities, outputting the results to a
22804 file. Requires guile 1.6. Just for testing.
22806 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
22808 * gst/schedulers/fairscheduler.c:
22809 compile with debug disabled
22811 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
22814 hunting season on 0.9 is now OPEN