3 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
6 releasing 0.9.4, "Tyrannosaurus Rex"
8 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
10 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
11 (gst_file_sink_get_current_offset):
12 Use fseeko() and ftello() if available. When falling back on
13 lseek() to get the current offset, fflush() first to make sure
14 everything is up-to-date and we get the right offset.
16 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
18 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19 * gst/base/gstbasesrc.c: (gst_base_src_loop):
20 * gst/gsterror.c: (_gst_stream_errors_init):
22 * gst/gstqueue.c: (gst_queue_loop):
24 remove prematurely added error category and clean up the instances
26 2005-10-21 Wim Taymans <wim@fluendo.com>
28 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
29 (gst_base_sink_get_position), (gst_base_sink_query),
30 (gst_base_sink_change_state):
31 Simply set the right flag when going to playing, that's all
32 we need to do instead of calling a function inside the object
33 lock (that could take the lock as well and deadlock)
35 2005-10-21 Wim Taymans <wim@fluendo.com>
37 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
39 Don't warn, the peer element knows what to do best when
40 the seek failed, it might try something else.
42 2005-10-21 Wim Taymans <wim@fluendo.com>
44 * gst/base/gstbasesrc.c: (gst_base_src_init),
45 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
48 2005-10-21 Wim Taymans <wim@fluendo.com>
50 * docs/design/part-segments.txt:
53 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
54 Correctly set caps, even on the subbufer.
56 2005-10-21 Wim Taymans <wim@fluendo.com>
58 * docs/gst/gstreamer-docs.sgml:
59 * docs/gst/gstreamer-sections.txt:
66 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
70 And 2% more doc coverage.
72 2005-10-21 Andy Wingo <wingo@pobox.com>
74 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
77 2005-10-20 Wim Taymans <wim@fluendo.com>
79 * gst/gsterror.c: (gst_error_get_message):
87 2005-10-20 Wim Taymans <wim@fluendo.com>
92 Another 1% more coverage.
94 2005-10-20 Wim Taymans <wim@fluendo.com>
96 * docs/gst/gstreamer-sections.txt:
97 * gst/gstelement.c: (gst_element_get_state_func),
98 (gst_element_abort_state), (gst_element_commit_state),
99 (gst_element_lost_state):
101 * gst/gstquery.c: (gst_query_set_position),
102 (gst_query_parse_position), (gst_query_set_duration),
103 (gst_query_parse_duration), (gst_query_new_convert):
105 Yay! 1% more docs coverage.
107 2005-10-20 Wim Taymans <wim@fluendo.com>
110 * gst/gstquery.c: (gst_query_set_position),
111 (gst_query_parse_position), (gst_query_set_duration),
112 (gst_query_parse_duration), (gst_query_new_convert):
114 * gst/gstutils.c: (gst_element_query_convert):
116 Docs and consistency fixes.
118 2005-10-20 Wim Taymans <wim@fluendo.com>
124 2005-10-20 Wim Taymans <wim@fluendo.com>
126 * gst/gstbin.c: (message_check), (bin_replace_message),
127 (bin_remove_messages), (is_eos), (gst_bin_add_func),
128 (update_degree), (gst_bin_sort_iterator_next),
129 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
130 Reworked the message handling a bit, cache the messages instead of
131 only the senders. alows us to do more in the future.
133 2005-10-20 Wim Taymans <wim@fluendo.com>
135 * docs/design/part-TODO.txt:
138 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
139 (gst_base_sink_query):
140 Don't use clock time to report position when in EOS.
142 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
144 * tools/gst-inspect.c: (print_interfaces),
145 (print_element_properties_info), (print_element_info):
146 Fix interface output with gst-inspect -a; don't print
147 newlines after double/float properties.
149 2005-10-20 Wim Taymans <wim@fluendo.com>
151 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
152 (gst_base_sink_query):
153 Speed up current position calculation.
155 * gst/base/gstbasesrc.c: (gst_base_src_query),
156 (gst_base_src_default_newsegment):
157 Correctly set stream position in newsegment.
159 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
160 (update_degree), (gst_bin_sort_iterator_next),
161 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
162 * gst/gstmessage.c: (gst_message_new_custom):
163 Clean up debugging info
165 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
166 (gst_queue_loop), (gst_queue_handle_src_query):
169 2005-10-19 Wim Taymans <wim@fluendo.com>
171 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
172 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
173 Fix query handling again.
175 2005-10-19 Wim Taymans <wim@fluendo.com>
177 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
178 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
179 * gst/base/gstbasesrc.c: (gst_base_src_query):
180 * gst/elements/gstfilesink.c: (gst_file_sink_query):
181 * gst/elements/gsttypefindelement.c:
182 (gst_type_find_handle_src_query), (find_element_get_length),
183 (gst_type_find_element_activate):
186 * gst/gstquery.c: (gst_query_new_position),
187 (gst_query_set_position), (gst_query_parse_position),
188 (gst_query_new_duration), (gst_query_set_duration),
189 (gst_query_parse_duration), (gst_query_set_segment),
190 (gst_query_parse_segment):
192 Bundling query position/duration is not a good idea since duration
193 does not change much and we don't want to recalculate it for every
194 position query, so they are separated again..
195 Base value in segment query is not needed.
197 * gst/gstqueue.c: (gst_queue_handle_src_query):
198 * gst/gstutils.c: (gst_element_query_position),
199 (gst_element_query_duration), (gst_pad_query_position),
200 (gst_pad_query_duration):
202 Updates for query API change.
203 Added some docs here and there.
205 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
207 * check/gst/gstbin.c: (GST_START_TEST):
208 * check/gst/gstghostpad.c: (GST_START_TEST):
209 * check/pipelines/cleanup.c: (GST_START_TEST):
210 wait on thread to die so we can check refcount correctly
212 2005-10-18 Wim Taymans <wim@fluendo.com>
214 * check/pipelines/stress.c: (GST_START_TEST):
215 Make check a little more time consuming.
217 2005-10-18 Wim Taymans <wim@fluendo.com>
220 * check/pipelines/stress.c: (GST_START_TEST),
221 (simple_launch_lines_suite), (main):
222 Small state change torture test.
224 * docs/design/part-states.txt:
225 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
226 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
227 (gst_base_sink_change_state):
228 Never take state lock from streaming thread, clean up ugly
229 hacks. Unfortunatly core does not yet support nice ways to
232 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
234 Start state recalc if a STATE_DIRTY message is posted, but only
237 * gst/gstelement.c: (gst_element_sync_state_with_parent),
238 (gst_element_get_state_func), (gst_element_abort_state),
239 (gst_element_commit_state), (gst_element_lost_state),
240 (gst_element_set_state_func), (gst_element_change_state):
242 State variables are now protected with the LOCK, the state
243 lock is only used to serialize _set_state().
245 2005-10-18 Wim Taymans <wim@fluendo.com>
247 * check/gst/gstbin.c: (GST_START_TEST):
248 * check/gst/gstmessage.c: (GST_START_TEST):
249 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
250 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
252 * gst/gstelement.c: (gst_element_abort_state),
253 (gst_element_commit_state), (gst_element_lost_state):
254 * gst/gstmessage.c: (gst_message_new_state_changed),
255 (gst_message_new_state_dirty), (gst_message_new_segment_start),
256 (gst_message_new_segment_done), (gst_message_new_duration),
257 (gst_message_parse_state_changed),
258 (gst_message_parse_segment_start),
259 (gst_message_parse_segment_done), (gst_message_parse_duration):
261 * tools/gst-launch.c: (event_loop):
262 Seriously, this is better than a previous commit as we only need
263 to notify the fact that an element changed state in a streaming
264 thread, marking the state of the parents dirty, hence the
265 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
268 2005-10-18 Wim Taymans <wim@fluendo.com>
270 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
271 (gst_bin_recalc_func):
272 * gst/gstelement.c: (gst_element_set_clock),
273 (gst_element_abort_state), (gst_element_lost_state):
274 Cleanups, prepare for state change fixes.
276 2005-10-18 Wim Taymans <wim@fluendo.com>
279 * gst/gstelement.c: (gst_element_class_init),
280 (gst_element_set_state), (gst_element_set_state_func):
283 GThreadPool in GstBinClass to monitor async state changes.
284 state_cookie in GstElement to detect concurrent gst/set state.
285 set_state is now virtual too in case a very complicated element
286 has to be constructed.
288 2005-10-18 Wim Taymans <wim@fluendo.com>
290 * check/gst/gstbin.c: (GST_START_TEST):
291 * check/gst/gstmessage.c: (GST_START_TEST):
292 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
293 * gst/gstbin.c: (bin_bus_handler):
294 * gst/gstelement.c: (gst_element_commit_state),
295 (gst_element_lost_state):
296 * gst/gstmessage.c: (gst_message_new_state_changed),
297 (gst_message_new_segment_start), (gst_message_new_segment_done),
298 (gst_message_new_duration), (gst_message_parse_state_changed),
299 (gst_message_parse_segment_start),
300 (gst_message_parse_segment_done), (gst_message_parse_duration):
302 * tools/gst-launch.c: (event_loop):
303 Make messages future proof.
304 state-change gets a flag if it was a message comming from the
306 segment-start/stop can also be specified in other formats.
307 A message to notify an app that a pipeline changed playback
309 Also fix a GstMessage leak in -launch
311 2005-10-18 Andy Wingo <wingo@pobox.com>
313 * gst/gstelement.c (gst_element_dispose): More helpful message.
315 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
317 * gst/gstregistry.c: (gst_registry_scan_path_level):
318 unref a plug-in we get that was already initialized
320 2005-10-18 Stefan Kost <ensonic@users.sf.net>
322 * docs/gst/gstreamer-sections.txt:
323 * docs/libs/gstreamer-libs-sections.txt:
328 2005-10-17 Andy Wingo <wingo@pobox.com>
330 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
333 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
335 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
337 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
338 (gst_element_get_state_func): Better debug message.
339 (gst_element_commit_state): s/INFO/DEBUG/.
340 (gst_element_lost_state, gst_element_change_state):
342 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
343 (gst_message_new_custom): s/INFO/LOG/.
345 2005-10-17 Michael Smith <msmith@fluendo.com>
347 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
348 Check if end time is valid using end time, not start time.
350 2005-10-17 Stefan Kost <ensonic@users.sf.net>
352 * check/gst-libs/controller.c: (GST_START_TEST),
353 (gst_controller_suite):
354 * libs/gst/controller/gstcontroller.c:
355 (gst_controlled_property_set_interpolation_mode):
356 * libs/gst/controller/gstcontroller.h:
357 * libs/gst/controller/gstinterpolation.c:
358 * testsuite/controller/.cvsignore:
359 * testsuite/controller/Makefile.am:
360 * testsuite/controller/interpolator.c:
361 merge controller testsuites
363 remove mem-chunk from docs
365 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
369 * gst/gsttrashstack.c:
370 * gst/gsttrashstack.h:
371 out. get out. you're fired. to the Attic !
373 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
375 * gst/gstcaps.c: (gst_caps_intersect):
376 fix signedness issues in a (hopefully) correct way
377 * gst/gstelement.c: (gst_element_pads_activate):
379 * gst/gstobject.c: (gst_object_set_parent):
382 2005-10-17 Julien MOUTTE <julien@moutte.net>
384 * gst/gstvalue.h: Fix prototypes.
386 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
388 * docs/gst/gstreamer-sections.txt:
389 * gst/gst.c: (gst_version_string):
391 * gst/gstversion.h.in:
392 * win32/common/libgstreamer.def:
393 add gst_version_string ()
395 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
399 * gst/gst.c: (init_post):
400 * win32/common/config.h.in:
402 * gst/gstcaps.c: (gst_caps_intersect):
403 use gint64, the range could be bigger than a guint
405 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
408 document potential problem in 2038
410 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
412 * gst/gstcaps.c: (gst_caps_intersect):
413 Fix guint j diving under 0
415 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
418 * win32/common/config.h:
419 * win32/common/config.h.in:
420 check for process.h, declares getpid() on Windows
422 include process.h if we have it
423 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
425 fix signedness issues
426 * win32/common/libgstreamer.def:
429 2005-10-16 Julien MOUTTE <julien@moutte.net>
431 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
432 fix. Because of unsigned ints, caps intersection was going nuts and
433 trying to access structures with G_MAXUINT index. That fixes
434 videotestsrc ! ffmpegcolorspace ! fakesink
435 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
438 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
441 use the gettext macro
442 * gst/elements/gstelements.c:
444 * gst/indexers/gstindexers.c:
445 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
446 * win32/common/config.h:
448 * win32/common/config.h.in:
449 add the template to generate config.h
450 * win32/common/gstenumtypes.c:
451 * win32/common/gstversion.h:
454 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
456 * gst/gst.c: (gst_version):
457 * gst/gstversion.h.in:
460 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
463 Oops, add missing closing bracket.
465 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
468 use common m4's for argument checking
470 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
472 * docs/gst/gstreamer-sections.txt:
474 Add GST_EVENT_TYPE_NAME() macro.
476 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
479 * gst/gstpluginfeature.c:
481 privatize more symbols
483 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
486 add srcdir, builddir includes to GST_ALL_CFLAGS, since
487 everything that uses GStreamer API should have the includes
489 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
491 * docs/gst/gstreamer-sections.txt:
492 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
494 give each value a _get_type, removes the DATA exports
496 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
500 remove _gst_registry_auto_load, not used anymore
501 * gst/gstbin.c: (gst_bin_get_type):
503 * gst/gstelement.c: (gst_element_get_type):
505 * gst/gstobject.c: (gst_object_get_type):
507 * gst/gstpad.c: (gst_pad_get_type):
509 make _get_type functions similar, fixes data export from library
511 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
514 correctly make conditionals
515 * gst/elements/Makefile.am:
516 * gst/elements/gstelements.c:
517 fix typo causing fdsrc not to build
519 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
521 * testsuite/Makefile.am:
522 * testsuite/bytestream/.cvsignore:
523 * testsuite/bytestream/Makefile.am:
524 * testsuite/bytestream/filepadsink.c:
525 * testsuite/bytestream/gstbstest.c:
526 * testsuite/bytestream/test1.c:
527 * testsuite/bytestream/testfile1:
528 * testsuite/caps/normalisation.c:
529 * testsuite/caps/random.c: (main):
530 * testsuite/cleanup/.cvsignore:
531 * testsuite/cleanup/Makefile.am:
532 * testsuite/cleanup/cleanup1.c:
533 * testsuite/cleanup/cleanup2.c:
534 * testsuite/cleanup/cleanup3.c:
535 * testsuite/cleanup/cleanup4.c:
536 * testsuite/cleanup/cleanup5.c:
537 * testsuite/controller/interpolator.c:
538 * testsuite/debug/printf_extension.c: (main):
539 * testsuite/elements/tee.c:
540 * testsuite/negotiation/.cvsignore:
541 * testsuite/negotiation/Makefile.am:
542 * testsuite/negotiation/pad_link.c:
543 * testsuite/pad/Makefile.am:
544 * testsuite/pad/chainnopull.c:
545 * testsuite/pad/getnopush.c:
546 * testsuite/pad/link.c:
547 * testsuite/refcounting/sched.c: (create_pipeline):
548 * testsuite/registry/Makefile.am:
549 * testsuite/registry/gst-print-formats.c:
550 * testsuite/schedulers/.cvsignore:
551 * testsuite/schedulers/142183-2.c:
552 * testsuite/schedulers/142183.c:
553 * testsuite/schedulers/143777-2.c:
554 * testsuite/schedulers/143777.c:
555 * testsuite/schedulers/147713.c:
556 * testsuite/schedulers/147819.c:
557 * testsuite/schedulers/147894-2.c:
558 * testsuite/schedulers/147894.c:
559 * testsuite/schedulers/Makefile.am:
560 * testsuite/schedulers/group_link.c:
561 * testsuite/schedulers/queue_link.c:
562 * testsuite/schedulers/relink.c:
563 * testsuite/schedulers/unlink.c:
564 * testsuite/schedulers/unref.c:
565 * testsuite/schedulers/useless_iteration.c:
566 * testsuite/states/bin.c:
567 clean out/remove some stuff from the testsuite directories
569 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
572 check for some headers
573 * gst/elements/Makefile.am:
574 * gst/elements/gstelements.c:
575 don't compile fdsrc without sys/socket.h
576 * gst/indexers/Makefile.am:
577 * gst/indexers/gstindexers.c: (plugin_init):
578 don't compile fileindex without mmap
580 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
588 * docs/gst/Makefile.am:
589 * examples/helloworld/Makefile.am:
591 * gst/base/Makefile.am:
592 * gst/check/Makefile.am:
593 * gst/elements/Makefile.am:
594 * gst/indexers/Makefile.am:
595 * gst/parse/Makefile.am:
596 * libs/gst/controller/Makefile.am:
597 * libs/gst/dataprotocol/Makefile.am:
598 * examples/helloworld/helloworld.c: (event_loop):
599 compile fixes, though it's not being compiled currently
601 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
603 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
604 Add some simple tests for the new taglist date API.
606 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
608 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
609 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
610 Beautify 'last-message' output: print 'none' for buffer timestamps
611 and durations if none is set; improve alignment with next messages.
613 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
615 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
616 * gst/gstpluginfeature.h:
617 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
619 * docs/gst/gstreamer-sections.txt:
620 Add new API to check plugin feature version requirements.
622 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
623 Some basic tests for the above.
625 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
627 * gst/gststructure.c: (gst_structure_to_string):
628 guard against NULL printf - happens when for example
629 a message structure with GstClock gets serialized
631 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
633 * gst/base/gstcollectpads.c: (gst_collectpads_event):
634 Fix presumable copy'n'pasto.
636 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
638 * gst/elements/gstfakesrc.h:
639 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
640 * gst/elements/gsttypefindelement.c:
642 * gst/elements/gstfilesink.c: (gst_file_sink_render):
643 I wonder if this could actually write +2GB files before
645 2005-10-13 Andy Wingo <wingo@pobox.com>
647 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
648 Fix Timmeke Waymans bug.
649 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
650 string of the proper length to gst_caps_from_string. There's a
651 potential for, before this fix, that this could cause someone
652 connecting over the network to cause a segfault if the payload is
655 2005-10-13 Stefan Kost <ensonic@users.sf.net>
657 * docs/design/draft-push-pull.txt:
658 * docs/design/part-overview.txt:
659 * docs/random/TODO-pre-0.9:
660 * docs/random/old/ChangeLog.gstreamer:
661 * gst/base/gstpushsrc.c:
665 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
667 * gst/glib-compat.c: (gst_flags_get_first_value):
669 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
670 (gst_value_compare_double), (gst_value_serialize_flags):
671 GLib 2.6 g_flags_get_first_value has a bug that triggers an
674 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
676 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
677 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
679 * tools/gst-launch.c: (event_loop):
680 print out clock nicely
682 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
684 * docs/gst/gstreamer-sections.txt:
686 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
687 (gst_tag_list_get_date_index):
688 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
689 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
691 2005-10-13 Julien MOUTTE <julien@moutte.net>
693 * gst/base/gstcollectpads.c: (gst_collectpads_event),
694 (gst_collectpads_chain):
695 * gst/base/gstcollectpads.h: Handle newsegment and store informations
698 2005-10-13 Stefan Kost <ensonic@users.sf.net>
700 * docs/gst/gstreamer-sections.txt:
703 * tools/gst-inspect.c: (main):
704 * tools/gst-launch.c: (main):
705 * tools/gst-run.c: (main):
706 * tools/gst-xmlinspect.c: (main):
707 fix GOption context leaks
710 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
714 * win32/common/config.h:
716 * win32/vs6/grammar.dsp:
717 * win32/vs6/libgstelements.dsp:
718 * win32/vs6/libgstreamer.dsp:
721 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
723 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
724 * gst/base/gstbasesrc.c: (gst_base_src_query):
725 fix more guint64<->gdouble conversions
727 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
730 add win32-update target
731 * win32/common/gstconfig.h:
732 * win32/common/gstenumtypes.c:
733 * win32/common/gstenumtypes.h:
734 * win32/common/gstversion.h:
735 add files that visual studio can't generate
737 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
740 add a win32-update target
743 2005-10-12 Wim Taymans <wim@fluendo.com>
745 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
746 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
747 * gst/gstelement.c: (gst_element_commit_state),
748 (gst_element_set_state):
749 Protect flags with proper lock.
750 unref provided cached clock in dispose.
752 2005-10-12 Stefan Kost <ensonic@users.sf.net>
755 * gst/gstminiobject.h:
757 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
758 removed unused flags from miniobject
761 2005-10-12 Wim Taymans <wim@fluendo.com>
763 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
764 (gst_file_sink_event), (gst_file_sink_render):
765 Flush before seeking.
767 2005-10-12 Andy Wingo <wingo@pobox.com>
769 * gst/gst.c (gst_init_check): Ignore unknown options, as has
770 always been the case.
772 2005-10-12 Stefan Kost <ensonic@users.sf.net>
774 * check/gst/gstbin.c: (GST_START_TEST):
775 * docs/gst/gstreamer-sections.txt:
776 * gst/base/gstbasesink.c: (gst_base_sink_init):
777 * gst/base/gstbasesrc.c: (gst_base_src_init),
778 (gst_base_src_get_range), (gst_base_src_check_get_range),
779 (gst_base_src_start), (gst_base_src_stop):
780 * gst/base/gstbasesrc.h:
781 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
782 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
783 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
787 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
789 * gst/gstelement.c: (gst_element_is_locked_state),
790 (gst_element_set_locked_state), (gst_element_commit_state),
791 (gst_element_set_state):
793 * gst/gstindex.c: (gst_index_init):
795 * gst/gstminiobject.h:
796 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
797 (gst_object_set_parent):
799 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
800 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
802 * gst/gstpadtemplate.h:
803 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
804 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
806 * gst/indexers/gstfileindex.c: (gst_file_index_load),
807 (gst_file_index_commit):
808 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
809 * testsuite/pad/link.c: (gst_test_src_init),
810 (gst_test_filter_init), (gst_test_sink_init):
811 * testsuite/states/locked.c: (main):
812 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
813 moved bitshift from macro to enum definition
815 2005-10-12 Wim Taymans <wim@fluendo.com>
817 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
818 * gst/elements/gstfilesink.c: (gst_file_sink_event),
819 (gst_file_sink_render):
820 Some more debugging info.
822 2005-10-12 Wim Taymans <wim@fluendo.com>
824 * docs/design/part-states.txt:
825 * tools/gst-launch.c: (main):
827 Revert non-intentional change.
829 2005-10-12 Wim Taymans <wim@fluendo.com>
831 * check/gst/gstbin.c: (GST_START_TEST):
832 * check/gst/gstelement.c: (GST_START_TEST):
833 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
834 * check/gst/gstghostpad.c: (GST_START_TEST):
835 * check/gst/gstpipeline.c: (GST_START_TEST):
836 * check/pipelines/simple_launch_lines.c: (run_pipeline):
837 * check/states/sinks.c: (GST_START_TEST):
838 * gst/elements/gsttypefindelement.c: (stop_typefinding):
839 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
840 (gst_bin_remove_func), (gst_bin_get_state_func),
841 (gst_bin_recalc_state), (gst_bin_change_state_func),
843 * gst/gstelement.c: (gst_element_get_state_func),
844 (gst_element_get_state), (gst_element_abort_state),
845 (gst_element_commit_state), (gst_element_set_state),
846 (gst_element_change_state), (gst_element_change_state_func):
848 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
849 (gst_pipeline_provide_clock_func):
850 * gst/gstutils.c: (gst_element_link_pads_filtered):
851 * tools/gst-launch.c: (main):
852 * tools/gst-typefind.c: (main):
853 Use GstClockTime in _get_state() instead of GTimeVal.
854 Remove old code in gstutils.c
856 2005-10-12 Andy Wingo <wingo@pobox.com>
858 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
861 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
862 there is no task. Shouldn't affect any code, as nothing in our
863 plugins checks this return value.
864 (gst_pad_stop_task): Also take the stream lock if the pad has no
867 2005-10-12 Wim Taymans <wim@fluendo.com>
869 * gst/gstpad.c: (pre_activate), (post_activate),
870 (gst_pad_activate_pull), (gst_pad_activate_push):
871 Cleanup activation code. Reset old state if
874 2005-10-12 Wim Taymans <wim@fluendo.com>
876 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
877 (gst_base_sink_change_state):
878 No need to prerol after receiving EOS.
880 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
881 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
882 * gst/elements/gstidentity.c: (gst_identity_event):
883 Print events more verbosely.
885 2005-10-12 Wim Taymans <wim@fluendo.com>
888 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
889 * check/states/sinks2.c:
890 Moved sinks2 testcode in sinks check.
892 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
893 (gst_bin_remove_func), (gst_bin_recalc_state),
894 (gst_bin_change_state_func), (bin_bus_handler):
895 Fix potential race condition when _get_state() iterated over an
896 ASYNC element right before it posted a state completion.
901 * gst/gstevent.c: (gst_event_new_newsegment),
902 (gst_event_parse_newsegment):
903 A playback rate of 0.0 is not allowed.
905 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
907 * win32/common/config.h:
908 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
909 (_trewinddir), (_ttelldir), (_tseekdir):
910 * win32/common/dirent.h:
911 * win32/common/gtchar.h:
912 * win32/common/libgstbase.def:
913 * win32/common/libgstreamer.def:
914 * win32/vs6/grammar.dsp:
915 * win32/vs6/gst_inspect.dsp:
916 * win32/vs6/gst_launch.dsp:
917 * win32/vs6/gstreamer.dsw:
918 * win32/vs6/libgstbase.dsp:
919 * win32/vs6/libgstelements.dsp:
920 * win32/vs6/libgstreamer.dsp:
921 Visual Studio 6 project files, and a new common directory.
924 2005-10-11 Wim Taymans <wim@fluendo.com>
926 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
927 (gst_base_sink_do_sync), (gst_base_sink_query),
928 (gst_base_sink_change_state):
929 * gst/base/gstbasesink.h:
930 Correctly parse newsegment info.
932 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
934 * gst/gst.c: (init_post):
935 split plugin paths correctly
937 2005-10-11 Wim Taymans <wim@fluendo.com>
939 * check/gst/gstevent.c: (GST_START_TEST):
940 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
941 (gst_base_sink_change_state):
942 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
943 * gst/base/gstbasetransform.c: (gst_base_transform_event):
944 * gst/elements/gstfilesink.c: (gst_file_sink_event):
945 * gst/gstevent.c: (gst_event_new_newsegment),
946 (gst_event_parse_newsegment):
948 Added extra flag to newsegment for future API freeze.
949 Updated check and base elements.
951 2005-10-11 Julien MOUTTE <julien@moutte.net>
953 * gst/base/gstcollectpads.c: (gst_collectpads_init),
954 (gst_collectpads_add_pad), (gst_collectpads_pop),
955 (gst_collectpads_event), (gst_collectpads_chain):
956 * gst/base/gstcollectpads.h: Handle EOS correctly.
958 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
960 * tools/gst-launch.c: (main):
963 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
965 * gst/gst-i18n-lib.h:
966 check for ENABLE_NLS, not GETTEXT_PACKAGE
967 * gst/gstregistry.c: (gst_registry_add_plugin),
968 (gst_registry_scan_path_level),
969 (_gst_registry_remove_cache_plugins):
970 protect possibly NULL strings
972 config.h already included before
973 * tools/gst-inspect.c: (main):
974 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
975 check for ENABLE_NLS, not GETTEXT_PACKAGE
976 * tools/gst-launch.c: (main):
977 check for ENABLE_NLS, not GETTEXT_PACKAGE
979 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
982 if we don't have glib, fail before testing 2.8
983 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
984 fix a leak, should fix plugins-base testsuite
986 2005-10-11 Andy Wingo <wingo@pobox.com>
988 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
989 take the mode we're going to as an arg. Go head and set the mode
990 and flushing flags now, so that if the activate function starts a
991 thread all the flags will be in the right state.
992 (post_activate): Renamed also. Just handle making sure streaming
993 finishes for the deactivation case, and setting the deactivated
995 (gst_pad_set_active): Complain loudly if deactivation fails.
996 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
997 (gst_pad_activate_push): Adapt to pre/post_activate changes,
998 remove the terrible hack.
1000 2005-10-11 Wim Taymans <wim@fluendo.com>
1002 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
1003 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
1004 (gst_bin_recalc_state), (gst_bin_change_state_func),
1005 (gst_bin_dispose), (bin_bus_handler):
1007 Prepare to make current EOS message queue more generic.
1010 * gst/gstevent.c: (gst_event_new_newsegment),
1011 (gst_event_parse_newsegment):
1013 Rename base to stream_time.
1018 2005-10-11 Wim Taymans <wim@fluendo.com>
1020 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
1021 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
1022 (gst_bin_change_state_func), (bin_bus_handler):
1024 Work on proper clock selection.
1026 2005-10-11 Edward Hervey <edward@fluendo.com>
1028 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
1029 * libs/gst/controller/gstcontroller.h:
1030 Added GList* version of _remove_properties() in order to be able to wrap
1033 2005-10-11 Wim Taymans <wim@fluendo.com>
1035 * docs/design/part-states.txt:
1038 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
1039 (gst_bin_change_state_func), (bin_bus_handler):
1040 Doc updates. Don't distribute the same clock over and over again.
1046 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
1047 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
1048 (gst_pad_send_event):
1050 Make probe emission threadsafe again.
1051 Register quarks and move _get_name() from utils.
1054 * gst/gstpipeline.c: (gst_pipeline_class_init),
1055 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
1056 Only redistribute the clock of it changed.
1058 * gst/gstsystemclock.h:
1063 Moved the _flow_get_name() to GstPad.
1065 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
1067 * check/gst-libs/gdp.c: (GST_START_TEST):
1068 * check/gst/gstcaps.c: (GST_START_TEST):
1069 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
1070 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
1071 (gst_dp_packet_from_caps):
1072 fix more valgrind warnings before turning up the heat
1074 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
1076 * gst/parse/grammar.y:
1077 some cleanup before the hacking
1079 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
1081 * gst/base/gstbasesrc.c: (gst_base_src_query):
1083 * gst/gstutils.c: (gst_guint64_to_gdouble),
1084 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
1086 externalize, basesrc uses it
1087 obviously the implementation needs testing
1089 2005-10-10 Wim Taymans <wim@fluendo.com>
1091 * tests/sched/Makefile.am:
1092 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
1093 (make_pipeline3), (make_pipeline4), (print_elem), (main):
1095 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
1097 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
1098 apparently converting from guint64 to double is not implemented
1101 2005-10-10 Wim Taymans <wim@fluendo.com>
1103 * check/Makefile.am:
1104 * check/generic/states.c: (GST_START_TEST):
1105 * check/gst/gstbin.c: (GST_START_TEST):
1106 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
1107 * check/states/sinks.c: (GST_START_TEST):
1108 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
1110 Check fixes, use API as stated in design docs, remove hacks.
1112 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1113 (gst_base_sink_change_state):
1114 Catch stopping our task while we're shutting down.
1116 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1117 (gst_bin_remove_func), (gst_bin_get_state_func),
1118 (gst_bin_recalc_state), (gst_bin_change_state_func),
1121 * gst/gstelement.c: (gst_element_init),
1122 (gst_element_get_state_func), (gst_element_abort_state),
1123 (gst_element_commit_state), (gst_element_lost_state),
1124 (gst_element_set_state), (gst_element_change_state),
1125 (gst_element_change_state_func):
1127 New state change algorithm (see #318116)
1129 * gst/gstpipeline.c: (gst_pipeline_class_init),
1130 (gst_pipeline_init), (gst_pipeline_set_property),
1131 (gst_pipeline_get_property), (do_pipeline_seek),
1132 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
1133 * gst/gstpipeline.h:
1134 Remove crude state change hacks.
1139 * tools/gst-launch.c: (main):
1140 Fixes for state change. Needs some more work to fully use the
1143 2005-10-10 Andy Wingo <wingo@pobox.com>
1145 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
1147 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
1148 this flag, but it's not even in GLib 2.6. Odd. Hack around the
1151 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
1153 * gst/gstiterator.c: (gst_iterator_new):
1154 Fix my previous commit: GTypes passed to gst_iterator_new()
1155 can be fundamental types.
1157 2005-10-10 Wim Taymans <wim@fluendo.com>
1159 * gst/gstelement.c: (gst_element_iterate_pad_list),
1160 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
1161 (gst_element_iterate_sink_pads):
1162 Use src/sink pads lists for the respective iterators instead
1165 2005-10-10 Andy Wingo <wingo@pobox.com>
1167 Merged in popt removal + GOption addition patch from Ronald, bug
1170 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
1171 GstElement macros around, remove popt-related symbols, add goption
1174 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
1176 * docs/gst/Makefile.am:
1177 * docs/libs/Makefile.am: No POPT_CFLAGS.
1179 * examples/manual/Makefile.am:
1180 * docs/manual/basics-init.xml: Doc updates with an example.
1182 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1183 (gst_init), (parse_one_option), (parse_goption_arg):
1184 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
1185 bit of hand merging and debugging to get the GOption stuff working
1188 * tests/Makefile.am:
1189 * tools/Makefile.am:
1190 * tools/gst-inspect.c: (main):
1191 * tools/gst-launch.c: (main):
1192 * tools/gst-run.c: (main):
1193 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
1195 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
1197 * gst/gstiterator.c: (gst_iterator_new):
1198 Add assertions to make sure passed GType is likely to really
1199 be a GType (as the compiler won't catch it if the size and
1200 GType arguments get mixed up, see #318447).
1202 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
1204 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1206 * gst/gstbin.c: (gst_bin_iterate_sorted):
1207 Pass GType and size arguments to gst_iterator_new() in the right
1208 order (maybe we should make _new() take the GType as first argument
1209 just like _new_list()?) (#318447).
1212 2005-10-10 Wim Taymans <wim@fluendo.com>
1214 * gst/gstelement.c: (gst_element_finalize):
1215 And free the GStaticRecMutex too
1217 2005-10-10 Andy Wingo <wingo@pobox.com>
1219 * gst/gstelement.c (gst_element_init, gst_element_finalize):
1220 Allocate and free the mutex properly.
1222 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
1224 (GstElement): The state_lock is now recursive. Rebuild your
1225 plugins, suckers. Old macros adapted.
1227 * docs/gst/gstreamer-sections.txt: Doc updates.
1230 * gst/gstutils.c (g_static_rec_cond_timed_wait)
1231 (g_static_rec_cond_wait): Ported from state changes patch, while
1232 we wait on bug #317802 to be solved in a well-distributed GLib.
1234 * gst/gstelement.c (gst_element_change_state_func): Renamed from
1235 gst_element_change_state, variable name changes.
1236 (gst_element_change_state): Split out of gst_element_set_state in
1237 preparation for the state change merge. Doesn't pay attention to
1238 the 'transition' argument.
1239 (gst_element_set_state): Updates, hopefully purely cosmetic.
1240 (gst_element_sync_state_with_parent): MT-safety. Ported from the
1242 (gst_element_get_state_func): Renamed from get_state, cosmetic
1245 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
1247 * gst/elements/gstelements.c:
1248 * win32/GStreamer.vcproj:
1250 * win32/dirent.c: (_tseekdir):
1251 * win32/gst-inspect.vcproj:
1252 * win32/gst-launch.vcproj:
1253 * win32/gstconfig.h:
1254 * win32/gstelements.vcproj:
1255 * win32/gstenumtypes.c: (gst_object_flags_get_type):
1256 * win32/gstreamer.def:
1258 updates for the win32 build (patch from Sebastien Moutte)
1260 2005-10-10 Andy Wingo <wingo@pobox.com>
1262 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
1263 gst_bin_get_state, cleaned up (but no logic changes).
1264 (bin_element_is_sink): Comment updates.
1265 (sink_iterator_filter): Remove needless cast.
1266 (gst_bin_iterate_sinks): Doc update.
1267 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
1268 cleaned up (but no logic changes).
1270 * check/states/sinks.c (test_src_sink): Cleanups from the state
1272 (test_livesrc_sink): Sync on the state.
1274 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
1275 the state change patch.
1277 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
1280 * check/gst/gstbin.c: Merge in some style fixes and additional
1281 checks from Wim's state change patch.
1283 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
1285 * gst/base/gsttypefindhelper.c: (helper_find_peek),
1286 (gst_type_find_helper):
1287 Check whether we have the requested data already in our list of
1288 cached buffers before pulling a new buffer; also make the buffer
1289 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
1291 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
1296 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1297 don't use long long, it's not portable. Replacing with
1298 gint64 seems to work; let's hope no skeletons fall out of the closet.
1300 2005-10-10 Andy Wingo <wingo@pobox.com>
1302 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
1304 2005-10-09 Stefan Kost <ensonic@users.sf.net>
1306 * docs/gst/gstreamer-sections.txt:
1311 * gst/gstmessage.c: (gst_message_parse_state_changed):
1314 more docs, fix compilation
1316 2005-10-09 Philippe Khalaf <burger@speedy.org>
1318 Fixed a few forgotten variables on previous commit
1320 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
1322 * gst/base/gsttypefindhelper.c: (helper_find_peek):
1323 Fix evil typefind crasher: getrange() might return a short
1324 buffer at the end of a file, but gst_type_find_peek() must
1325 either return the full data as requested or NULL, but
1326 never a short buffer.
1328 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
1330 * gst/gstmessage.c: (gst_message_new_state_changed),
1331 (gst_message_parse_state_changed):
1333 don't use "new", it's a C++ keyword
1335 2005-10-08 Wim Taymans <wim@fluendo.com>
1337 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
1338 * gst/gstelement.c: (gst_element_post_message):
1339 * gst/gstpipeline.c: (gst_pipeline_change_state):
1340 Small docs and debug updates.
1342 2005-10-08 Stefan Kost <ensonic@users.sf.net>
1344 * docs/gst/gstreamer-sections.txt:
1345 * gst/gstelementfactory.c:
1350 2005-10-08 Wim Taymans <wim@fluendo.com>
1352 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
1353 (gst_bin_dispose), (bin_bus_handler):
1354 Fix typos, add comments.
1355 Clear EOS list when going to PAUSED from any direction and do it
1356 in a threadsafe way.
1357 Get base time in a threadsafe way too.
1358 Fix confusing debug in the change_state function.
1359 Various other small cleanups.
1361 * gst/gstelement.c: (gst_element_post_message):
1362 Fix very verbose bus posting code.
1364 * gst/gstpipeline.c: (gst_pipeline_class_init),
1365 (gst_pipeline_set_property), (gst_pipeline_get_property),
1366 (gst_pipeline_change_state):
1367 Small ARG_ -> PROP_ cleanup
1369 2005-10-08 Wim Taymans <wim@fluendo.com>
1371 * gst/gstbin.c: (is_eos), (bin_bus_handler):
1372 Do a less CPU demanding EOS check because we can.
1374 2005-10-08 Wim Taymans <wim@fluendo.com>
1376 * libs/gst/dataprotocol/dataprotocol.c:
1377 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1378 (gst_dp_packet_from_event):
1379 * libs/gst/dataprotocol/dataprotocol.h:
1380 * libs/gst/dataprotocol/dp-private.h:
1381 It's about time we bump the version number.
1382 Since event types don't fit in the guint8 anymore describing
1383 the payload type, make payload type 16 bits wide.
1385 2005-10-08 Wim Taymans <wim@fluendo.com>
1387 * docs/design/part-TODO.txt:
1388 * docs/design/part-clocks.txt:
1389 * docs/design/part-events.txt:
1390 * docs/design/part-gstbin.txt:
1391 * docs/design/part-gstelement.txt:
1392 * docs/design/part-gstpipeline.txt:
1393 * docs/design/part-live-source.txt:
1394 * docs/design/part-messages.txt:
1395 * docs/design/part-overview.txt:
1396 * docs/design/part-states.txt:
1399 2005-10-08 Wim Taymans <wim@fluendo.com>
1403 Fix event quark registration.
1404 Add some space between events so we can insert them in the
1407 2005-10-08 Wim Taymans <wim@fluendo.com>
1409 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1410 (gst_base_sink_handle_buffer):
1417 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
1418 (gst_queue_set_property), (gst_queue_get_property):
1420 Remove old unused properties.
1422 2005-10-08 Stefan Kost <ensonic@users.sf.net>
1423 * docs/gst/gstreamer-sections.txt:
1426 * gst/gstminiobject.c:
1427 * gst/gstminiobject.h:
1431 lots of new docs and doc fixes
1433 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
1435 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
1437 * gst/gstregistry.c: (gst_registry_lookup_locked),
1438 (gst_registry_scan_path_level):
1439 * gst/gstregistryxml.c: (load_plugin):
1440 Only ever load one plugin for a given plugin basename.
1441 This ensures correct overriding of GST_PLUGIN_PATH over
1442 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
1443 system installed plugins.
1445 2005-10-08 Wim Taymans <wim@fluendo.com>
1447 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1448 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
1449 Prepare for doing QOS.
1451 2005-10-08 Wim Taymans <wim@fluendo.com>
1453 * check/gst/gstbin.c: (GST_START_TEST):
1454 * check/pipelines/cleanup.c: (GST_START_TEST):
1455 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1456 Allow new clock message too.
1458 2005-10-08 Wim Taymans <wim@fluendo.com>
1460 * gst/gstmessage.c: (gst_message_new_error),
1461 (gst_message_new_warning), (gst_message_new_tag),
1462 (gst_message_new_state_changed), (gst_message_new_clock_provide),
1463 (gst_message_new_clock_lost), (gst_message_new_new_clock),
1464 (gst_message_new_segment_start), (gst_message_new_segment_done),
1465 (gst_message_parse_state_changed),
1466 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
1467 (gst_message_parse_new_clock):
1469 Also carry the clock in question.
1471 2005-10-08 Wim Taymans <wim@fluendo.com>
1473 * gst/gstmessage.c: (gst_message_new_custom),
1474 (gst_message_new_eos), (gst_message_new_error),
1475 (gst_message_new_warning), (gst_message_new_tag),
1476 (gst_message_new_state_changed), (gst_message_new_clock_provide),
1477 (gst_message_new_new_clock), (gst_message_new_segment_start),
1478 (gst_message_new_segment_done), (gst_message_parse_state_changed),
1479 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
1482 Added clock related messages.
1484 * gst/gstpipeline.c: (gst_pipeline_change_state):
1485 Post message when the clock changed.
1487 * tools/gst-launch.c: (event_loop):
1490 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
1492 * tools/gst-inspect.c: (print_element_properties_info):
1493 Can't pass NULL strings to g_print() on windows.
1495 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
1498 * docs/gst/Makefile.am:
1499 * docs/gst/gstreamer-docs.sgml:
1500 * docs/gst/running.xml:
1501 * docs/version.entities.in:
1502 add a chapter on running GStreamer.
1503 document GST_DEBUG and GST_PLUGIN* env vars
1505 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
1510 remove PLUGINS_BUILDDIR stuff
1511 * gst/gst.c: (init_post):
1512 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
1514 remove, it was condescending and not needed
1516 2005-10-08 Wim Taymans <wim@fluendo.com>
1518 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1519 (gst_base_sink_handle_object), (gst_base_sink_event),
1520 (gst_base_sink_wait), (gst_base_sink_handle_event),
1521 (gst_base_sink_change_state):
1522 * gst/base/gstbasesink.h:
1523 Repost EOS message while going to PLAYING if still EOS.
1524 Make sure that when receiving a FLUSH_START we don't attempt
1525 to sync on the clock anymore.
1527 2005-10-08 Wim Taymans <wim@fluendo.com>
1529 * tools/gst-launch.c: (event_loop):
1530 Better message printout.
1532 2005-10-08 Wim Taymans <wim@fluendo.com>
1534 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
1535 (gst_bin_child_proxy_get_children_count):
1536 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
1537 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
1538 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
1539 (gst_child_proxy_set_valist):
1540 * gst/parse/grammar.y:
1541 Make ChildProxy threadsafe and fix mem leaks.
1543 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
1545 * gst/gst.c: (init_post):
1546 debug the GST_PLUGIN_ env vars
1548 2005-10-08 Wim Taymans <wim@fluendo.com>
1550 * check/gst/gstbin.c: (GST_START_TEST):
1551 * check/gst/gstmessage.c: (GST_START_TEST):
1552 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
1553 * gst/gstelement.c: (gst_element_commit_state),
1554 (gst_element_lost_state):
1555 * gst/gstmessage.c: (gst_message_new_state_changed),
1556 (gst_message_parse_state_changed):
1558 * tools/gst-launch.c: (event_loop):
1559 Added extra field to STATE_CHANGE message with the pending
1560 state, which will be different from the new state soon.
1562 2005-10-08 Wim Taymans <wim@fluendo.com>
1564 * gst/gstbus.c: (gst_bus_pop):
1566 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1567 Small cleanups and doc updates.
1569 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
1571 * gst/gst.c: (init_pre):
1572 * gst/gstbin.c: (gst_bin_add_func):
1573 log distributing clocks and base time
1574 * gst/gstregistry.c: (gst_registry_add_plugin),
1575 (gst_registry_scan_path_level), (gst_registry_scan_path):
1576 clean up the debugging output a little
1577 * gst/gstutils.c: (gst_element_state_get_name):
1578 warn about a memleak (I've actually seen this be used, though
1579 it was probably a bug)
1581 2005-10-07 Wim Taymans <wim@fluendo.com>
1583 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1584 (gst_base_src_init), (gst_base_src_default_newsegment),
1585 (gst_base_src_newsegment), (gst_base_src_do_seek),
1586 (gst_base_src_loop), (gst_base_src_start):
1587 * gst/base/gstbasesrc.h:
1588 Make the newsegment event customizable by subclasses.
1590 2005-10-07 Wim Taymans <wim@fluendo.com>
1592 * gst/gstevent.c: (gst_event_new_buffersize),
1593 (gst_event_parse_buffersize):
1595 New event for future idea.
1597 2005-10-07 Andy Wingo <wingo@pobox.com>
1599 * gst/gstelement.c (gst_element_post_message): Doc update.
1601 * docs/gst/gstreamer-sections.txt: Update.
1603 * gst/gstmessage.c (gst_message_new_application): Made into a
1604 function like honest API calls.
1605 (gst_message_new_element): New message type.
1607 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
1609 * check/elements/fakesrc.c (test_no_preroll): New check, checks
1610 that setting a live fakesrc to PAUSED returns NO_PREROLL both
1613 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
1614 NO_PREROLL from gst_element_change_state to fall through.
1616 2005-10-07 Wim Taymans <wim@fluendo.com>
1618 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
1619 (gst_ghost_pad_do_activate_push):
1620 Activating a ghostpad with no internal pad in push mode
1623 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
1626 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
1627 Fixes compilation on Windows.
1629 2005-10-07 Michael Smith <msmith@fluendo.com>
1631 * tools/gst-inspect.c:
1632 Print out feature and plugin count at the end when printing out
1635 2005-10-04 Michael Smith <msmith@fluendo.com>
1637 * gst/gsterror.c: (_gst_stream_errors_init):
1638 Add another error string used in a few existing plugins.
1641 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1642 * tools/gst-inspect.c: (print_element_info):
1643 When a feature disappears from a plugin (and the feature exists in
1644 the cached registry file), things went horribly wrong. This isn't a
1645 complete fix, we should actually be removing the 'missing' features
1646 from the features list when we load the actual plugin. That's not
1649 2005-10-04 Johan Dahlin <johan@gnome.org>
1651 * check/gst/gstiterator.c: (GST_START_TEST):
1652 * gst/gstbin.c: (gst_bin_iterate_elements),
1653 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
1654 * gst/gstelement.c: (gst_element_iterate_pads):
1655 * gst/gstformat.c: (gst_format_iterate_definitions):
1656 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
1657 (gst_iterator_new_list), (gst_iterator_filter):
1658 * gst/gstiterator.h:
1659 * gst/gstquery.c: (gst_query_type_iterate_definitions):
1660 Add a GType to GstIterator, update callsites and tests.
1662 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
1664 * gst/gstpad.c: (gst_pad_event_default_dispatch):
1665 give events a chance to be handled by event probes when the pad
1668 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
1670 * gst/gstevent.c: (gst_event_type_get_name),
1671 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
1673 add string representations for event types
1675 2005-10-06 Wim Taymans <wim@fluendo.com>
1677 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
1678 Don't use NULL pointers.
1680 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
1682 * gst/gst_private.h:
1686 * gst/gstpluginfeature.c:
1687 widen the debug category in output to fit the biggest one we have
1688 add a bus category and use it
1689 play with the colors
1690 fix up some categories
1692 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
1694 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
1695 add push activation of sink ghost pads.
1696 Andye, please verify
1698 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
1700 * gst/gstutils.c: (gst_element_link_pads):
1701 fix a bug in the case where neither element has a pad
1702 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1703 add a test for that case
1705 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
1707 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
1708 emit have-data before checking for peers. This allows
1709 for probe handlers to connect elements. This helps autopluggers.
1710 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
1712 add six checks, linked/unlinked with no/true/false probe
1714 2005-10-04 Wim Taymans <wim@fluendo.com>
1716 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
1717 (gst_fake_sink_event), (gst_fake_sink_preroll),
1718 (gst_fake_sink_render), (gst_fake_sink_change_state):
1719 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
1720 (gst_fake_src_get_property), (gst_fake_src_create),
1721 (gst_fake_src_stop):
1722 * gst/elements/gstidentity.c: (gst_identity_stop):
1723 Protect last_message with lock.
1725 2005-10-04 Edward Hervey <edward@fluendo.com>
1728 Added precision in the comments for GST_FORMAT_DEFAULT
1730 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
1732 * tools/gst-launch.c: (main):
1733 Don't try to run erroneous pipelines.
1735 2005-10-04 Julien MOUTTE <julien@moutte.net>
1737 * gst/gstbus.c: We don't need this header.
1739 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
1744 === release 0.9.3 ===
1746 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
1750 Releasing 0.9.3, "Unregistered"
1752 2005-10-03 Andy Wingo <wingo@pobox.com>
1754 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
1755 whereby calling a pad's activatepush() function can start a thread
1756 that starts to push or pull before the pad gets the FLUSHING flag
1757 unset. Hack around it by holding the stream lock until the flag is
1758 set. Need to replace this with a proper solution. Together with
1759 the ghost pad fixes, this fixes mp3 playing/tagreading.
1761 * docs/design/part-gstghostpad.txt: Add a note about activation of
1762 proxy pads outside of ghost pads.
1764 * gst/gstghostpad.c: Implement the ghost pad activation design.
1766 2005-10-02 Andy Wingo <wingo@pobox.com>
1768 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
1769 It is volatile, after all.
1771 * docs/design/part-gstghostpad.txt: Flesh out activation with
1774 * gst/base/gstbasesrc.c (gst_base_src_init): Use
1777 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
1780 Fix (unused) AM_CONDITIONAL tests.
1782 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
1784 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1786 * gst/gstutils.c: (gst_pad_query_convert):
1787 Add assertion that makes sure src_val is >=0, just like
1788 gst_query_new_convert() has. (#315895)
1790 2005-09-30 Edward Hervey <edward@fluendo.com>
1792 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
1793 Let's not iterate pads we're not interested in, it avoids getting
1794 sky-high refcounts on sinkpad.
1796 2005-09-30 Wim Taymans <wim@fluendo.com>
1798 * gst/gstelement.c: (gst_element_set_state),
1799 (gst_element_change_state):
1800 Small tweak, element in ASYNC remains ASYNC.
1802 2005-09-30 Wim Taymans <wim@fluendo.com>
1804 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
1805 Only error is an error.
1807 * gst/gstbin.c: (gst_bin_change_state):
1810 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
1811 Also call pad_block in pad alloc.
1813 * gst/gstutils.c: (gst_flow_get_name):
1816 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
1818 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1819 (gst_base_src_get_range):
1820 Fix documentation typos. Add some more debug info.
1822 2005-09-29 David Schleef <ds@schleef.org>
1824 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
1825 more end-user friendly.
1826 * tools/gst-inspect.c: (main): Check if command-line argument is
1827 a file and attempt to load that file as a plugin.
1829 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
1831 * check/gst/gstbin.c:
1832 * check/states/sinks.c:
1833 fix tests for the new warning
1834 * check/gst/gstpipeline.c:
1835 add a test for pipeline and bus interaction
1837 elements should be NULL if they get disposed; add a warning if not
1839 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
1842 for 2.6 refcounting, make debug log more correct by printing
1843 the actual refcounts at the time of swap (Wim)
1845 2005-09-29 Andy Wingo <wingo@pobox.com>
1847 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
1848 removes signal watches previously added via
1849 gst_bus_add_signal_watch.
1850 (gst_bus_add_signal_watch): Don't return the source id, just store
1851 it on the bus if there wasn't an id already.
1853 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
1854 add_signal_watch and remove_signal_watch.
1856 2005-09-29 Edward Hervey <edward@fluendo.com>
1858 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
1859 Better if we actually iterate the list :)
1861 2005-09-29 Wim Taymans <wim@fluendo.com>
1863 * check/gst/gstbin.c: (GST_START_TEST):
1864 Change for new bus API.
1866 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
1867 (send_messages), (GST_START_TEST), (gstbus_suite):
1868 Change for new bus signal API.
1870 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
1871 (gst_bus_source_prepare), (gst_bus_source_check),
1872 (gst_bus_create_watch), (gst_bus_add_watch_full),
1873 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
1874 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
1876 Remove support for multiple GSources operating on different
1877 message types as it is too complex and unneeded when using
1879 Added support for receiving signals from the bus.
1881 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
1883 * docs/libs/tmpl/gstdataprotocol.sgml:
1884 * docs/manual/advanced-dataaccess.xml:
1885 * gst/elements/gstcapsfilter.c:
1887 rename filter-caps to caps property
1889 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
1891 * gst/gstvalue.c: (gst_value_deserialize_fraction):
1892 More robust fraction string parsing.
1894 * docs/pwg/appendix-porting.xml:
1895 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
1897 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
1899 * gst/gstcaps.c: (gst_caps_do_simplify):
1900 Thou shalt not free a structure and then continue using it
1901 in the next loop iteration.
1903 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
1905 Add test case for caps simplification.
1907 2005-09-29 Wim Taymans <wim@fluendo.com>
1909 * check/gst/gstbin.c: (GST_START_TEST):
1912 2005-09-29 Wim Taymans <wim@fluendo.com>
1914 * check/gst/gstbin.c: (GST_START_TEST):
1917 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1918 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
1919 (find_element), (gst_bin_sort_iterator_next),
1920 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
1921 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
1922 (gst_bin_change_state), (gst_bin_dispose):
1923 A bin does not have a bus, it gets the bus from the parent.
1925 * gst/gstelement.c: (gst_element_requires_clock),
1926 (gst_element_provides_clock), (gst_element_is_indexable),
1927 (gst_element_is_locked_state), (gst_element_change_state),
1928 (gst_element_set_bus_func):
1931 * gst/gstpipeline.c: (gst_pipeline_class_init),
1932 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
1933 The pipeline provides a bus.
1935 2005-09-28 Johan Dahlin <johan@gnome.org>
1937 * gst/gstmessage.c (gst_message_parse_state_changed): Use
1938 gst_structure_get_enum instead of gst_structure_get_int
1940 * gst/gststructure.c (gst_structure_get_enum): Impl.
1942 * gst/gststructure.h (gst_structure_get_enum): Add
1944 * docs/gst/gstreamer-sections.txt: Ditto
1946 * gst/gstmessage.c (gst_message_new_state_changed): Use
1947 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
1948 which does introspection.
1949 Reviewed by Christian Schaller
1951 2005-09-28 Stefan Kost <ensonic@users.sf.net>
1953 * gst/gstinfo.c: (gst_debug_log_default):
1954 don't do dummy g_strdup()s
1955 * libs/gst/controller/gstcontroller.c:
1956 (on_object_controlled_property_changed),
1957 (gst_controlled_property_new), (gst_controller_new_valist),
1958 (gst_controller_new_list),
1959 (gst_controller_remove_properties_valist), (gst_controller_set),
1960 (gst_controller_get), (gst_controller_sync_values),
1961 (gst_controller_get_value_array), (_gst_controller_class_init),
1962 (gst_controller_get_type):
1963 * libs/gst/controller/gstcontroller.h:
1964 * libs/gst/controller/gstinterpolation.c:
1965 (gst_controlled_property_find_timed_value_node):
1966 convert // to /**/ comments
1968 2005-09-28 Wim Taymans <wim@fluendo.com>
1970 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
1971 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
1972 (gst_bus_sync_signal_handler):
1974 Added async-message and sync-message signals to the bus.
1975 Added helper BusFunc to emit signals for all posted messages.
1977 * gst/gstmessage.c: (gst_message_type_get_name),
1978 (gst_message_type_to_quark), (gst_message_get_type):
1980 Register quarks for message names.
1982 2005-09-28 Stefan Kost <ensonic@users.sf.net>
1984 * docs/libs/gstreamer-libs-sections.txt:
1985 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
1986 (gst_controller_new_list):
1987 * libs/gst/controller/gstcontroller.h:
1988 added another constructor for language bindings
1990 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
1992 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
1996 * gst/gstinfo.c: (_gst_debug_init):
1997 slightly more readable color for refcount debugging
1999 2005-09-28 Wim Taymans <wim@fluendo.com>
2001 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2002 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
2003 (find_element), (gst_bin_sort_iterator_next),
2004 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
2005 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
2006 (gst_bin_change_state), (gst_bin_dispose):
2007 Small doc fixes. get_clock -> provide_clock.
2009 * gst/gstelement.c: (gst_element_class_init),
2010 (gst_element_provides_clock), (gst_element_provide_clock),
2011 (gst_element_get_clock), (gst_element_commit_state),
2012 (gst_element_lost_state):
2014 Make get/set_clock() symetric. Add provide_clock vmethod since
2015 that is actually what this function does.
2017 * gst/gstpipeline.c: (gst_pipeline_class_init),
2018 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
2019 (gst_pipeline_get_clock):
2020 get_clock -> provide_clock.
2022 2005-09-28 Andy Wingo <wingo@pobox.com>
2024 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
2025 lieu of real docs...
2027 * gst/elements/gstfdsrc.c: Cleaned up a bit.
2029 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
2031 * gst/elements/gstcapsfilter.c:
2032 * gst/elements/gstfakesink.c:
2033 * gst/elements/gstfakesrc.c:
2034 * gst/elements/gstfdsink.c:
2035 * gst/elements/gstfdsrc.c:
2036 * gst/elements/gstfilesink.c:
2037 * gst/elements/gstfilesrc.c:
2038 * gst/elements/gstidentity.c:
2039 * gst/elements/gsttee.c:
2040 * gst/elements/gsttypefindelement.c:
2041 Make element details static.
2043 2005-09-28 Wim Taymans <wim@fluendo.com>
2045 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
2046 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
2047 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
2048 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
2049 (gst_bin_change_state), (gst_bin_dispose):
2050 Some documentation updates.
2051 Clean up dispose handlers.
2053 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
2054 * gst/gstpad.c: (gst_pad_dispose):
2055 Clean up dispose handler.
2057 * gst/gstpipeline.c: (gst_pipeline_change_state):
2058 Removed spurious UNLOCK.
2060 2005-09-27 Stefan Kost <ensonic@users.sf.net>
2062 * docs/gst/gstreamer-sections.txt:
2063 * gst/base/gstbasesrc.h:
2068 * gst/gstpipeline.c:
2069 * gst/gstpipeline.h:
2072 added two new functions to the docs
2073 documents all undocumented GstXXXFlags
2074 completed some incomplete docs
2076 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
2078 * gst/gstbin.c: (gst_bin_dispose):
2079 * gst/gstelement.c: (gst_element_dispose):
2080 remove now useless and leaky resurrection code in dispose
2081 * gst/base/gstbasesrc.c: (gst_base_src_init):
2082 * gst/gstelementfactory.c: (gst_element_factory_create):
2083 * gst/gstobject.c: (gst_object_set_parent):
2086 2005-09-27 Wim Taymans <wim@fluendo.com>
2088 * docs/design/part-TODO.txt:
2091 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
2092 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
2093 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
2094 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
2095 (gst_bin_change_state):
2097 Remove element variable, we keep element info in the iterator now.
2099 2005-09-27 Andy Wingo <wingo@pobox.com>
2101 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
2104 2005-09-27 Wim Taymans <wim@fluendo.com>
2106 * check/gst/gstbin.c: (GST_START_TEST):
2107 Enable check that works now.
2109 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
2110 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
2111 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
2112 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
2113 (gst_bin_change_state):
2115 Redid the state change algorithm using a topological sort algo.
2116 Handles all cases correctly.
2117 Exposed iterator for state change order.
2120 Temp storage for state changes. Need to get rid of this soon.
2122 2005-09-27 Wim Taymans <wim@fluendo.com>
2124 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
2125 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
2126 (link_fold_func), (gst_pad_proxy_setcaps):
2127 Leak fixes, the fold functions need to unref the passed object and
2128 _get_parent_*() returns ref to parent.
2130 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
2132 * check/gst/gstbuffer.c: (test_make_writable):
2133 Plug leak in test case and fix 'make check-valgrind'
2135 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
2137 * gst/gstbuffer.c: (gst_subbuffer_init):
2138 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
2139 works correctly in all circumstances (we could have just copied
2140 the parent buffer's readonly flag, but conceptually it seems
2141 cleaner to mark all subbuffers as read-only). (based on patch
2142 by Alessandro Decina, #314710).
2144 * check/gst/gstbuffer.c: (create_read_only_buffer),
2145 (test_make_writable), (test_subbuffer_make_writable),
2147 Add some tests for gst_buffer_make_writable().
2149 2005-09-27 Wim Taymans <wim@fluendo.com>
2151 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
2152 use gst_object_has_ancestor().
2154 * gst/gstobject.c: (gst_object_has_ancestor):
2156 gst_object_has_ancestor() copied from gstbin.c as it is a
2159 * tests/instantiate/create.c: (create_all_elements):
2160 * tests/lat.c: (handoff_src), (handoff_sink):
2161 * tests/sched/runxml.c: (main):
2162 * tests/seeking/seeking1.c: (main):
2163 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
2165 Fix compilation of some tests.
2167 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
2170 Remove comment. GST_TYPE_G_ERROR is here to stay,
2171 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
2174 2005-09-26 Wim Taymans <wim@fluendo.com>
2176 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2177 Added check that shows error in state change order.
2179 2005-09-26 Wim Taymans <wim@fluendo.com>
2181 * gst/gstbin.c: (gst_bin_change_state):
2182 Make state change function use 3 queues again, we were
2183 adding elements in the wrong order.
2185 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
2188 * gst/gstpad.c: (gst_pad_dispose):
2189 Added some debug info first.
2191 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
2193 * docs/design/draft-push-pull.txt:
2194 * docs/design/part-events.txt:
2195 * docs/design/part-overview.txt:
2196 * docs/design/part-scheduling.txt:
2197 Replace all _pull_region() with _pull_range()
2199 2005-09-26 Andy Wingo <wingo@pobox.com>
2201 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
2203 * check/gst-libs/controller.c: Update for controller api change.
2206 * tests/Makefile.am:
2207 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
2208 over by GLib bug 118439.
2210 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
2211 routines to a function.
2213 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
2215 * libs/gst/controller/gsthelper.c:
2216 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
2217 (gst_object_sync_values): Renamed from sink_values. Ugh.
2219 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
2221 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
2222 Renamed from controller_key, as it is exported.
2224 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
2226 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
2231 * gst/gstpadtemplate.h:
2234 * gst/gstqueryutils.c:
2235 * gst/gstqueryutils.h:
2236 remove queryutils headers after moving the two used functions
2237 to gstquery. also fixes build problem for gstsiddec
2239 2005-09-26 Michael Smith <msmith@fluendo.com>
2241 * tools/gst-launch.1.in:
2242 Correct documentation in manpage of debug syntax
2244 2005-09-26 Wim Taymans <wim@fluendo.com>
2246 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2247 (gst_base_src_is_seekable), (gst_base_src_change_state):
2248 Some more debugging info.
2250 2005-09-25 Stefan Kost <ensonic@users.sf.net>
2252 * docs/gst/gstreamer-sections.txt:
2253 * gst/base/gstbasetransform.h:
2257 2005-09-25 Stefan Kost <ensonic@users.sf.net>
2259 * docs/gst/.cvsignore:
2260 * docs/gst/tmpl/.cvsignore:
2261 * docs/gst/tmpl/gstpipeline.sgml:
2262 * docs/gst/tmpl/gstplugin.sgml:
2263 * gst/gstpipeline.c:
2266 inlined the last two docs files
2267 removed the tmpl directory from cvs (no more conflicts here!)
2269 2005-09-25 Stefan Kost <ensonic@users.sf.net>
2271 * docs/gst/gstreamer-sections.txt:
2272 * docs/gst/tmpl/.cvsignore:
2273 * docs/gst/tmpl/gstpad.sgml:
2274 * docs/gst/tmpl/gstpadtemplate.sgml:
2276 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
2277 (gst_pad_finalize), (gst_pad_set_pad_template):
2279 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
2280 (gst_pad_template_class_init), (gst_pad_template_init),
2281 (gst_pad_template_dispose), (name_is_valid),
2282 (gst_static_pad_template_get), (gst_pad_template_new),
2283 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
2284 (gst_pad_template_pad_created):
2285 * gst/gstpadtemplate.h:
2286 inlined two more docs
2287 factored gstpadtemplate out of gstpad
2289 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
2291 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
2292 (test_children_state_change_order_semi_sink):
2293 Fix test case: we can't rely on a fixed state change order when
2294 going from READY => PAUSED because the sink might commit its
2295 new state first when the first buffer created by the source
2296 reaches the sink before the source has finished its change state.
2297 (Test case still fails at times, see #316856, comment 5 onwards)
2299 2005-09-24 Wim Taymans <wim@fluendo.com>
2301 * docs/design/part-events.txt:
2302 * docs/design/part-gstbus.txt:
2303 * docs/design/part-gstpipeline.txt:
2304 * docs/design/part-messages.txt:
2305 * docs/design/part-overview.txt:
2306 * docs/design/part-segments.txt:
2313 * gst/gstiterator.c:
2314 Various documentation updates.
2316 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
2319 Well, that's embarassing. Luckily we weren't using
2320 GST_CLOCK_DIFF anywhere.
2322 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
2324 * common/gtk-doc.mak:
2325 don't fail on building XML, FC4 slave shows a bunch of doc
2326 missing bits that I don't get
2328 * gst/gstpipeline.c:
2329 * gst/gststructure.c:
2332 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
2334 * docs/design/part-gstbin.txt:
2335 * docs/design/part-gstbus.txt:
2337 Add blurb about how the bus goes into flushing mode and
2338 drops all messages when its bin goes from READY into NULL
2341 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
2343 * docs/gst/gstreamer-sections.txt:
2344 * gst/gststructure.c: (gst_structure_get_clock_time):
2345 * gst/gststructure.h:
2346 add a method to get a GstClockTime out of a structure
2348 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
2350 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
2351 (test_children_state_change_order_semi_sink), (gst_bin_suite):
2352 Added test to check state change order in bins (can still be made
2353 to fail here under heavy disk load; bails out with 'Push on pad
2354 fakesink:sink0, but it was not activated in push mode').
2356 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
2357 Fix state change order when there is only a semi sink (#316856)
2359 * gst/gstbus.c: (gst_bus_class_init):
2360 Use _class_peek_parent(), not _class_ref(); fix docs to say
2361 'default main context' instead of 'mainloop' where that is
2364 * gst/gstelement.c: (gst_element_commit_state),
2365 (gst_element_set_state):
2366 Fix typos in debug messages
2368 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
2371 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
2372 * gst/gstpluginfeature.c:
2375 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2376 change an assert into an error until it gets fixed properly
2378 2005-09-23 Stefan Kost <ensonic@users.sf.net>
2380 * docs/gst/gstreamer-sections.txt:
2381 * docs/gst/tmpl/.cvsignore:
2382 * docs/gst/tmpl/gstelement.sgml:
2383 * docs/gst/tmpl/gstinfo.sgml:
2384 * docs/gst/tmpl/gstobject.sgml:
2389 * gst/gstobject.c: (gst_object_class_init):
2391 inlined 3 more biiiig doc files and added some missing docs on the fly
2393 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
2395 * check/gst/.cvsignore:
2396 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
2397 * gst/gstregistryxml.c: (load_plugin),
2398 (gst_registry_xml_save_plugin):
2399 put back source in registry. add checks for find_plugin.
2400 * testsuite/states/bin.c: (assert_state), (empty_bin),
2401 (test_adding_one_element), (main):
2402 * testsuite/states/locked.c: (main):
2403 some compile/run fixes
2405 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
2407 * check/gst/gstvalue.c: (GST_START_TEST):
2408 fix leaks in the test itself
2410 2005-09-22 Wim Taymans <wim@fluendo.com>
2412 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2413 (gst_base_sink_send_event), (gst_base_sink_peer_query),
2414 (gst_base_sink_query):
2415 Prepare for more accurate position reporting and query
2418 * gst/gstelement.c: (gst_element_send_event),
2419 (gst_element_set_state):
2422 2005-09-22 Wim Taymans <wim@fluendo.com>
2424 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
2425 (gst_query_parse_segment):
2428 Add segment query for future use.
2430 2005-09-22 Wim Taymans <wim@fluendo.com>
2432 * gst/gstbin.c: (gst_bin_add_func):
2433 Some more debug info.
2435 * gst/gstelement.c: (gst_element_send_event):
2439 Don't know how flags got broken.
2444 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
2446 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
2447 Add simplistic test suite for GST_TYPE_DATE serialisation and
2450 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
2452 * docs/gst/gstreamer-sections.txt:
2453 * gst/gststructure.c: (gst_structure_set_valist),
2454 (gst_structure_get_date):
2455 * gst/gststructure.h:
2456 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
2457 (gst_date_copy), (gst_value_compare_date),
2458 (gst_value_serialize_date), (gst_value_deserialize_date),
2459 (gst_value_transform_date_string),
2460 (gst_value_transform_string_date), (_gst_value_initialize):
2462 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
2463 bunch of utility functions along with a hack that checks that
2464 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
2465 is required. Part of the grand scheme in #170777.
2467 2005-09-22 Andy Wingo <wingo@pobox.com>
2469 * gst/gstconfig.h.in: Psych out gtk-doc.
2471 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
2473 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
2475 * tools/gst-inspect.c (print_element_list): Plug some
2476 inconsequential leaks.
2478 * gst/gstregistry.c (gst_registry_get_default): Doc.
2480 * check/gst/gstplugin.c:
2481 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
2482 * gst/gstelementfactory.c (gst_element_factory_create):
2483 * gst/gstindexfactory.c (gst_index_factory_create): Update for
2486 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
2487 (gst_plugin_feature_load): Doc, don't eat refs.
2489 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
2490 (gst_plugin_list_free): Doc.
2491 (gst_plugin_load_file): Doc updates.
2493 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
2494 accessors returning refcounted objects, return a ref.
2496 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
2497 accessor for caps. IDEMPOTENCE. Oh yes.
2499 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
2501 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
2503 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
2504 (_gst_debug_register_funcptr):
2505 Add mutex to serialise access to the hash table with
2506 the function pointer => function name string mapping;
2507 make that hash table static scope (#316809).
2509 * gst/registries/.cvsignore:
2510 Remove left-over file.
2512 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
2514 * docs/pwg/appendix-porting.xml:
2515 And something about newsegment events and caps-on-buffers to
2516 the porting guide (feel free to improve).
2518 2005-09-21 Andy Wingo <wingo@pobox.com>
2520 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
2521 data and event probes on the same pad.
2522 (test_buffer_probe_once): Test that removing probes from within
2523 the probe functions works.
2525 2005-09-21 Andy Wingo <wingo@pobox.com>
2527 * check/gst/gstutils.c: New file.
2528 (test_buffer_probe_n_times): A simple buffer probe test. More to
2531 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
2532 have-data::buffer, not have-data.
2533 (gst_pad_add_event_probe): Likewise for have-data::event.
2534 (gst_pad_add_data_probe): More docs. The part about 'resolving the
2535 peer' isn't quite right yet though.
2536 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
2537 (gst_pad_remove_data_probe): Change to take the guint handler_id
2538 as their arg, not the function+data, which is more glib-like.
2540 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
2541 the signal emission to indicate if the data is a buffer or an
2543 (gst_pad_get_type): Initialize buffer and event quarks.
2544 (gst_pad_class_init): have-data is now a detailed signal, yes it
2547 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
2549 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
2550 * gst/gstutils.c: (gst_util_set_value_from_string),
2551 (gst_util_set_object_arg):
2552 Don't put functional code in g_return_if_fail() or
2553 g_return_val_if_fail() statements, otherwise things will
2554 break when G_DISABLE_CHECKS is defined during compilation.
2556 2005-09-21 Stefan Kost <ensonic@users.sf.net>
2558 * docs/gst/tmpl/.cvsignore:
2559 * docs/gst/tmpl/gstvalue.sgml:
2562 inlied another one and added some obvious docs
2564 2005-09-21 Wim Taymans <wim@fluendo.com>
2566 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2567 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
2568 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
2569 (gst_fdsrc_get_property), (gst_fdsrc_create):
2570 * gst/elements/gstfdsrc.h:
2571 Properly implement fdsrc. Removed signal and timeout,
2572 better implemented somewhere else.
2574 2005-09-21 Stefan Kost <ensonic@users.sf.net>
2576 * docs/gst/tmpl/.cvsignore:
2577 * docs/gst/tmpl/gstimplementsinterface.sgml:
2578 * gst/gstinterface.c:
2581 2005-09-21 Stefan Kost <ensonic@users.sf.net>
2583 * docs/gst/gstreamer-sections.txt:
2584 * docs/gst/tmpl/.cvsignore:
2585 * docs/gst/tmpl/gstenumtypes.sgml:
2586 remove obsolete doc file
2588 2005-09-21 David Schleef <ds@schleef.org>
2590 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
2591 little beer, fix a little leak.
2593 2005-09-21 Stefan Kost <ensonic@users.sf.net>
2595 * docs/gst/gstreamer-docs.sgml:
2596 * docs/gst/gstreamer-sections.txt:
2597 * docs/gst/tmpl/.cvsignore:
2602 * gst/gstindex.c: (gst_index_class_init):
2604 * gst/gstindexfactory.c: (gst_index_factory_get_type),
2605 (gst_index_factory_class_init), (gst_index_factory_init),
2606 (gst_index_factory_finalize), (gst_index_factory_new),
2607 (gst_index_factory_destroy), (gst_index_factory_find),
2608 (gst_index_factory_create), (gst_index_factory_make):
2609 * gst/gstindexfactory.h:
2610 * gst/gstpluginfeature.c:
2611 * gst/gstpluginfeature.h:
2612 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
2613 more docs inlined, splitted gstindex.{c,h}
2615 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
2617 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
2620 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
2622 * gst/elements/gstfilesink.c: (gst_file_sink_init):
2623 Set sync to FALSE by default.
2625 2005-09-20 Wim Taymans <wim@fluendo.com>
2627 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2628 (gst_base_sink_init):
2629 Make sync property settable from subclass.
2631 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
2632 (gst_fake_sink_change_state):
2633 Set sync to FALSE by default.
2635 2005-09-20 Wim Taymans <wim@fluendo.com>
2637 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
2638 * tools/gst-launch.c: (main):
2639 The timeout handler should have lower priority than the source
2640 so we don't timeout before popping a message with 0 timeout.
2641 Dump error messages after failed state change.
2643 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
2645 * tools/gst-inspect.c: (print_element_properties_info):
2648 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
2650 * check/gst/gstevent.c:
2651 * gst/elements/gstfakesink.c:
2652 * gst/elements/gstfakesink.h:
2653 remove the sync property from fakesink.
2654 has the side effect of setting sync TRUE
2655 for fakesink, which is a change. Anyone who knows how
2656 to fix this nicely in a GObject-y way, feel free.
2658 2005-09-20 Stefan Kost <ensonic@users.sf.net>
2660 * docs/gst/gstreamer-docs.sgml:
2661 remove probe refsection
2663 2005-09-20 Stefan Kost <ensonic@users.sf.net>
2665 * check/Makefile.am:
2666 disable valgrinding the controller test again
2667 * docs/gst/gstreamer-sections.txt:
2668 update for api-changes
2670 2005-09-20 Wim Taymans <wim@fluendo.com>
2672 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2673 (gst_base_sink_set_property), (gst_base_sink_get_property),
2674 (gst_base_sink_do_sync):
2675 * gst/base/gstbasesink.h:
2676 Added sync property to basesink to disable clock sync.
2678 2005-09-20 Andy Wingo <wingo@pobox.com>
2680 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
2681 eating the caller's refcount.
2683 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
2684 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
2687 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
2688 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
2689 of GLib 2.8 public, so we can know which refcount to check in
2692 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
2693 (gst_object_init): Only set the gst refcount if we're going ahead
2694 with the refcount hack.
2696 2005-09-20 Stefan Kost <ensonic@users.sf.net>
2698 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
2699 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
2700 more leaks plumbed, added more debug-logging
2704 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
2707 remove include of gstmemchunk.h
2709 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
2711 * gst/gstclock.c: (_gst_clock_id_free):
2712 Commit from the Political Party For More Atomic CVS Commits,
2713 so that people don't waste too much of their day fishing
2714 out obvious leaks out of massive commits.
2715 Oh, and fix a pretty damn obvious leak in the memchunk
2718 2005-09-20 Stefan Kost <ensonic@users.sf.net>
2720 * check/Makefile.am:
2721 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
2722 plug mem-leak, re-add to valgrindable tests
2724 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
2727 unbreak the build for those who have chronic arthritis
2728 and typing "make check" is just too taxing on the hands
2730 2005-09-20 Andy Wingo <wingo@pobox.com>
2732 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
2733 really want it out, you should fix plugins at the same time.
2735 2005-09-19 Stefan Kost <ensonic@users.sf.net>
2738 * docs/gst/gstreamer-sections.txt:
2740 added missing symbols to api docs
2741 disable ref-count hack if we have glib >= 2.8
2743 2005-09-19 David Schleef <ds@schleef.org>
2745 * docs/gst/Makefile.am: Ignore a few more internal headers
2746 * docs/gst/gstreamer-docs.sgml: Remove old sections
2747 * docs/gst/gstreamer-sections.txt: Remove old sections
2748 * docs/gst/tmpl/gstobject.sgml: update
2749 * docs/gst/tmpl/gstplugin.sgml: update
2750 * docs/gst/tmpl/gstpluginfeature.sgml: update
2751 * docs/random/ds/0.9-suggested-changes: update.
2752 * gst/Makefile.am: remove memchunk and trashstack, since they're
2754 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
2755 * gst/gst.h: don't include some headers
2756 * gst/gstchildproxy.c: add gstmarshal.h
2757 * gst/gstclock.c: Don't use memchunks
2758 * gst/gstminiobject.c: Add some docs
2759 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
2760 * gst/gstobject.h: same
2761 * gst/gstplugin.c: include gstmacros.h
2762 * gst/gstplugin.h: don't include gstmacros.h, since it's private
2763 * gst/gstquery.c: don't use memchunks
2764 * gst/gstregistry.c: rename gst_registry_deinit()
2765 * gst/gstregistry.h: same
2767 2005-09-19 David Schleef <ds@schleef.org>
2769 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
2770 * docs/libs/gstreamer-libs-sections.txt:
2771 * docs/libs/tmpl/gstgetbits.sgml:
2772 * docs/libs/tmpl/gstputbits.sgml:
2774 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
2776 * win32/gstenumtypes.c:
2777 * win32/gstenumtypes.h:
2780 2005-09-19 Wim Taymans <wim@fluendo.com>
2782 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
2783 Automatically PAUSE and RESUME a pipeline when a flushing seek
2786 2005-09-19 Andy Wingo <wingo@pobox.com>
2788 * gst/gstregistry.h: Spacing fixen.
2790 2005-09-19 Wim Taymans <wim@fluendo.com>
2792 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
2793 Handle state change failure more correctly.
2795 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
2797 * check/Makefile.am:
2798 * check/pipelines/cleanup.c: (run_pipeline):
2799 * check/pipelines/simple_launch_lines.c: (run_pipeline),
2801 enable cleanup again after fixing the leak
2803 some more info on docs
2805 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
2807 * check/Makefile.am:
2808 re-enable tests now that leaks are plugged
2810 * check/gst/gstbin.c:
2811 * check/gst/gstpipeline.c:
2812 add some more tests while fixing leaks
2814 make sure binaries are uptodate when valgrinding/gdbing
2816 * gst/gstelementfactory.c:
2817 remove a ref too many, and add a FIXME for when we get
2818 round to disposing of classes
2820 fix the refcounting when loading a plugin from a file and
2821 the code pretends that the pointer is the same even though
2822 of course it can change
2823 * gst/gstpluginfeature.c:
2824 unref plugins marked cached (a bit confusing as a name)
2825 as the docs state should be done
2826 various doc additions to explain refcounting
2827 * gst/gstregistry.c:
2828 * gst/gstregistryxml.c:
2831 2005-09-19 Wim Taymans <wim@fluendo.com>
2833 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
2834 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
2835 (send_messages), (GST_START_TEST), (gstbus_suite):
2836 * check/gst/gstpipeline.c: (GST_START_TEST):
2837 * check/pipelines/cleanup.c: (run_pipeline):
2838 * check/pipelines/simple_launch_lines.c: (run_pipeline),
2840 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
2841 (gst_bus_source_check), (gst_bus_source_dispatch),
2842 (gst_bus_create_watch), (gst_bus_add_watch_full),
2843 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
2845 * tools/gst-launch.c: (event_loop):
2846 * tools/gst-md5sum.c: (event_loop):
2847 GstBusHandler -> GstBusFunc, return value has the same meaning as
2848 any other GSource (FALSE == remove source).
2849 _add_watch() and _add_watch_full() now take a MessageType mask to
2850 only handle specific types of messages.
2851 _poll() returns the GstMessage instead of the message type to avoid
2853 _have_pending() takes a MessageType mask now too.
2854 Added testsuite for multiple bus watches.
2855 Fix testsuites and applications for new bus API.
2857 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
2859 * check/Makefile.am:
2860 mark a bunch of the tests as to fix until we fix them
2862 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
2865 use GST_PLUGIN settings for valgrind tests as well, so we're
2866 valgrinding the correct thing
2867 * gst/gst.c: (init_post):
2870 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
2872 * gst/gst.c: (init_post), (gst_deinit):
2873 * gst/gstelementfactory.c: (gst_element_factory_class_init),
2874 (gst_element_factory_finalize), (gst_element_factory_cleanup):
2875 * gst/gstindex.c: (gst_index_factory_class_init),
2876 (gst_index_factory_finalize):
2877 * gst/gstobject.c: (gst_object_dispose):
2878 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2879 (gst_plugin_load_file), (gst_plugin_desc_free):
2880 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
2881 (gst_plugin_feature_finalize):
2882 * gst/gstregistry.c: (gst_registry_class_init),
2883 (gst_registry_init), (gst_registry_finalize),
2884 (gst_registry_get_default), (gst_registry_deinit):
2885 * gst/gstregistry.h:
2886 * gst/gstregistryxml.c: (load_feature), (load_plugin):
2887 various cleanups and memleak plugging. make valgrind is happy now.
2889 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
2892 add a check-valgrind target
2894 2005-09-18 David Schleef <ds@schleef.org>
2896 * tools/gst-inspect.c: Revert the GOption code.
2898 2005-09-17 David Schleef <ds@schleef.org>
2900 * check/Makefile.am: Fix environment variables.
2901 * check/gst/gstplugin.c: Fix for API changes.
2902 * tools/gst-inspect.c: Fix for API changes.
2903 * tools/gst-xmlinspect.c: Fix for API changes.
2904 * gst/gstelementfactory.c:
2907 * gst/gstpluginfeature.c:
2908 * gst/gstpluginfeature.h:
2909 * gst/gstregistry.c:
2910 * gst/gstregistry.h:
2911 * gst/gstregistryxml.c:
2912 * gst/gsttypefind.c:
2913 * gst/gsttypefindfactory.c:
2914 * gst/indexers/gstfileindex.c:
2915 * gst/indexers/gstmemindex.c:
2916 * gst/schedulers/Makefile.am:
2917 Change registry to keep track of both plugins and features,
2918 removing the feature tracking from plugins themselves.
2920 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
2922 * check/Makefile.am:
2923 * tools/gst-register.1.in:
2926 2005-09-15 David Schleef <ds@schleef.org>
2928 * check/gst/gstplugin.c:
2929 * gst/gstelementfactory.c:
2931 * gst/gstpluginfeature.c:
2932 * gst/gstregistry.c:
2933 Getting tired of debugging. Disabled all the unreffing of
2934 plugins and features, which fixes the segfaults, but of
2935 course leaks like crazy. At least playbin works.
2937 2005-09-15 David Schleef <ds@schleef.org>
2939 * check/gst/gstplugin.c: (register_check_elements),
2940 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
2942 * gst/elements/gsttypefindelement.c: Fix refcounting.
2943 * gst/gsttypefind.c:
2944 * gst/gsttypefindfactory.c:
2945 * gst/gsttypefindfactory.h:
2947 2005-09-15 David Schleef <ds@schleef.org>
2949 * gst/gstindex.c: get refcounting correct.
2950 * gst/gstregistry.c: Handle the case where a feature/plugin is
2953 2005-09-15 David Schleef <ds@schleef.org>
2955 * check/Makefile.am:
2956 * check/gst/gstplugin.c: Add test
2957 * gst/gstplugin.c: Fix problems noticed by testsuite
2959 * gst/gstregistry.c:
2960 * gst/gstregistry.h:
2962 2005-09-15 David Schleef <ds@schleef.org>
2964 * gst/gstplugin.c: Implement semi-decent recounting and locking
2965 in plugins and plugin features.
2967 * gst/gstpluginfeature.c:
2968 * gst/gstpluginfeature.h:
2969 * gst/gstregistry.c:
2971 2005-09-15 Michael Smith <msmith@fluendo.com>
2973 * gst/gstregistry.c: (gst_registry_get_feature_list):
2974 Implement this. Makes oggdemux work; decodebin still broken.
2976 2005-09-14 David Schleef <ds@schleef.org>
2978 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
2980 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
2981 * gst/check/Makefile.am:
2982 * libs/gst/controller/Makefile.am:
2983 * libs/gst/dataprotocol/Makefile.am:
2985 2005-09-14 David Schleef <ds@schleef.org>
2987 * configure.ac: Remove getbits library. Nothing uses it, and
2988 it should be in something like liboil if someone did want
2990 * libs/gst/Makefile.am:
2991 * libs/gst/getbits/Makefile.am:
2992 * libs/gst/getbits/gbtest.c:
2993 * libs/gst/getbits/getbits.c:
2994 * libs/gst/getbits/getbits.h:
2995 * libs/gst/getbits/gstgetbits_generic.c:
2996 * libs/gst/getbits/gstgetbits_i386.s:
2997 * libs/gst/getbits/gstgetbits_inl.h:
2999 2005-09-14 David Schleef <ds@schleef.org>
3001 * gst/Makefile.am: Dist glib-compat.h
3003 2005-09-14 David Schleef <ds@schleef.org>
3005 * configure.ac: Remove gst/registries, since it's no longer used.
3006 * gst/registries/Makefile.am:
3007 * gst/registries/gstlibxmlregistry.c:
3008 * gst/registries/gstlibxmlregistry.h:
3009 * gst/registries/gstxmlregistry.c:
3010 * gst/registries/gstxmlregistry.h:
3011 * gst/registries/registrytest.c:
3013 2005-09-14 David Schleef <ds@schleef.org>
3015 * gst/glib-compat.h:
3016 * gst/gstregistryxml.c:
3017 Convergence is near. Seriously.
3019 2005-09-14 David Schleef <ds@schleef.org>
3021 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
3022 * gst/glib-compat.h:
3023 Attempt #4 to appease the buildbots.
3025 2005-09-14 David Schleef <ds@schleef.org>
3027 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
3030 2005-09-14 David Schleef <ds@schleef.org>
3032 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
3035 2005-09-14 David Schleef <ds@schleef.org>
3037 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
3040 2005-09-14 David Schleef <ds@schleef.org>
3042 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
3043 * gst/glib-compat.h: Add some functions that are in newer versions
3044 of glib than we care to require.
3045 * gst/gstregistryxml.c: Use them.
3047 2005-09-14 David Schleef <ds@schleef.org>
3049 * po/POTFILES.in: remove gst-register.c
3051 2005-09-14 David Schleef <ds@schleef.org>
3053 * docs/gst/gstreamer-docs.sgml:
3054 * docs/gst/gstreamer-sections.txt:
3055 * docs/gst/gstreamer.types:
3056 * docs/gst/tmpl/gstelement.sgml:
3057 * docs/gst/tmpl/gstplugin.sgml:
3058 * docs/gst/tmpl/gstpluginfeature.sgml:
3059 Documentation updates for registry changes.
3061 2005-09-14 David Schleef <ds@schleef.org>
3063 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
3064 because we don't require glib-2.8.
3066 2005-09-14 David Schleef <ds@schleef.org>
3068 * gst/gstregistryxml.c: Added. Essentially moved out of the
3069 registries directory.
3071 2005-09-14 David Schleef <ds@schleef.org>
3073 * check/Makefile.am:
3074 * check/generic/states.c:
3078 * gst/gst_private.h:
3079 * gst/gstelementfactory.c:
3084 * gst/gstpluginfeature.c:
3085 * gst/gstpluginfeature.h:
3086 * gst/gstregistry.c:
3087 * gst/gstregistry.h:
3088 * gst/gstregistrypool.c: remove
3089 * gst/gstregistrypool.h: remove
3090 * gst/gsttypefind.c:
3091 * gst/gsttypefindfactory.c:
3093 * tools/Makefile.am:
3094 * tools/gst-compprep.c:
3095 * tools/gst-inspect.c:
3096 * tools/gst-register.c: remove
3097 * tools/gst-xmlinspect.c:
3098 Registry rewrite. Changes registry from being a file created
3099 by a tool into a simple cache file created automatically by
3100 libgstreamer. Removed gst-register (because it's no longer
3101 needed). Remove registry pools, because we only have one
3102 registry implementation (XML). Fix up other subsystems as
3105 2005-09-13 Michael Smith <msmith@fluendo.com>
3107 * gst/gstconfig.h.in:
3108 Don't Use windows linking attributes for MinGW. Fixes #316157
3110 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
3112 * gst/gstutils.c: (set_state_async_thread_func),
3113 (gst_element_set_state_async):
3114 Apparently people think it's better if this function doesn't
3115 try to set the state to whatever state was asked for on the first
3116 call to this function for any object. Seriously.
3118 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
3120 * check/gst/gstpipeline.c: (GST_START_TEST):
3121 * docs/gst/gstreamer-sections.txt:
3122 * gst/gstutils.c: (set_state_async_thread_func),
3123 (gst_element_set_state_async):
3125 add a "gst_element_set_state_async" method that
3126 sets the state and starts a thread to make sure the state
3127 change completes as best as it can
3129 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
3131 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3132 codify design+behaviour in testsuite after discussion
3134 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
3136 * docs/gst/tmpl/gstelement.sgml:
3137 * docs/manual/appendix-quotes.xml:
3139 * gst/gstelement.c: (gst_element_set_state):
3142 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
3144 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3145 (gst_base_transform_prepare_output_buf),
3146 (gst_base_transform_handle_buffer):
3147 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
3148 (gst_capsfilter_prepare_buf):
3149 Remove the requirement for sub-classes to call the parent
3150 implementation of prepare_output_buffer with a wrapper function.
3153 * gst/gsttagsetter.h:
3156 2005-09-11 Stefan Kost <ensonic@users.sf.net>
3158 * docs/gst/gstreamer-sections.txt:
3161 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
3163 * docs/gst/gstreamer-sections.txt:
3164 * docs/gst/tmpl/gstelement.sgml:
3165 * docs/gst/tmpl/gstplugin.sgml:
3166 * gst/gstminiobject.c:
3168 docs now stop throwing warnings
3170 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
3172 * docs/gst/gstreamer-sections.txt:
3173 * docs/gst/gstreamer.types:
3174 * docs/gst/tmpl/gstpad.sgml:
3175 * docs/gst/tmpl/gsttypes.sgml:
3176 * gst/base/gstadapter.h:
3177 * gst/base/gstbasesink.h:
3178 * gst/base/gstbasesrc.h:
3188 * gst/gststructure.c:
3189 * gst/registries/gstlibxmlregistry.h:
3190 various documentation fixes
3192 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
3194 * docs/gst/gstreamer-sections.txt:
3195 * docs/gst/tmpl/gstvalue.sgml:
3196 rearrange gstvalue section
3197 * gst/gstutils.c: (gst_element_state_get_name):
3199 * gst/gstvalue.c: (_gst_value_initialize):
3203 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
3205 * check/gst-libs/controller.c:
3207 * gst/base/gstbasetransform.c:
3208 (gst_base_transform_default_prepare_buf),
3209 (gst_base_transform_handle_buffer):
3210 * gst/base/gstbasetransform.h:
3211 Some more basetransform changes and fixes to enable sub-classes
3212 that modify buffer metadata only.
3213 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3214 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
3215 (gst_capsfilter_prepare_buf):
3216 If the output pad has fixed allowed caps and input buffers
3217 don't have any, set the fixed caps on outgoing buffers.
3219 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
3220 * check/elements/identity.c: (GST_START_TEST):
3221 Make the error a little clearer when the test fails because
3222 identity made a copy of the buffer.
3223 * docs/gst/gstreamer-sections.txt:
3224 New symbols in gstbasetransform.h
3225 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3226 (gst_base_transform_init), (gst_base_transform_transform_size),
3227 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
3228 (gst_base_transform_default_prepare_buf),
3229 (gst_base_transform_get_unit_size),
3230 (gst_base_transform_buffer_alloc),
3231 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3232 (gst_base_transform_change_state),
3233 (gst_base_transform_set_passthrough),
3234 (gst_base_transform_set_in_place),
3235 (gst_base_transform_is_in_place):
3236 * gst/base/gstbasetransform.h:
3237 Change BaseTransform to separate in_place operate from same_caps
3238 output. in_place implies that the element can perform the transform
3239 on incoming buffers in-place, even if the caps on the output are
3241 Sub-class elements can now implement special buffer allocation
3242 methods for outgoing buffers if they wish to.
3243 Big documentation addition.
3244 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
3245 * gst/elements/gstelements.c:
3246 Changes for basetransform modifications.
3247 * gst/elements/Makefile.am:
3248 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
3249 Compile fix. Extra debug output.
3251 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
3253 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
3255 add tests for valid pad naming
3256 * gst/check/gstcheck.c: (gst_check_log_message_func),
3257 (gst_check_log_critical_func):
3259 remove printing of code, it is fragile when the code contains
3260 % and the line number is enough info
3261 * gst/check/gstcheck.h:
3262 * gst/gstpad.c: (gst_pad_template_new):
3265 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
3268 say what CHECK flags we use
3269 * docs/libs/gstreamer-libs.types:
3270 * libs/gst/controller/Makefile.am:
3271 * libs/gst/controller/gst-controller.c:
3272 * libs/gst/controller/gst-controller.h:
3273 * libs/gst/controller/gst-helper.c:
3274 * libs/gst/controller/gst-interpolation.c:
3275 * libs/gst/controller/gstcontroller.c:
3276 * libs/gst/controller/gsthelper.c:
3277 * libs/gst/controller/gstinterpolation.c:
3278 * tools/gst-inspect.c: (print_plugin_info):
3279 we don't use dashes in header names
3281 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
3283 * check/Makefile.am:
3284 * check/gst/.cvsignore:
3285 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
3286 (gst_pipeline_suite), (main):
3287 adding a test for pipelines and state changes
3288 * gst/gstutils.c: (get_state_func):
3290 * gstreamer.spec.in:
3293 2005-09-08 Michael Smith <msmith@fluendo.com>
3295 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
3296 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
3297 (gst_file_src_is_seekable), (gst_file_src_get_size),
3298 (gst_file_src_start):
3299 * gst/elements/gstfilesrc.h:
3300 Various fixes for unseekable, unmmapable, and non-normal files, so
3301 that fallback to read() rather than mmap() works.
3302 * gst/gstevent.c: (gst_event_new_newsegment):
3303 Allow newsegment events with segment_start == segment_end, as will
3304 correctly happen if you use filesrc on a zero-size file, for
3307 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
3309 * gst/gstplugin.c: (gst_plugin_load_file):
3310 Call g_module_close when we don't load the module
3312 * gst/registries/gstlibxmlregistry.c:
3313 (gst_xml_registry_get_property):
3314 Port leak fix from 0.8
3316 2005-09-07 Stefan Kost <ensonic@users.sf.net>
3318 * docs/gst/gstreamer-docs.sgml:
3319 * docs/gst/tmpl/.cvsignore:
3320 * docs/gst/tmpl/gsttrace.sgml:
3321 * docs/gst/tmpl/gsttrashstack.sgml:
3330 * gst/gsttaginterface.c:
3331 * gst/gsttaginterface.h:
3334 * gst/gsttagsetter.c:
3335 * gst/gsttagsetter.h:
3338 * gst/gsttrashstack.c:
3339 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
3340 inlined docs for gsttrace, gsttrashstack
3342 2005-09-07 Stefan Kost <ensonic@users.sf.net>
3345 * gst/elements/gstbufferstore.h:
3346 * gst/elements/gsttypefindelement.c:
3347 * gst/elements/gsttypefindelement.h:
3349 * gst/gsttypefind.c:
3350 * gst/gsttypefind.h:
3351 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
3352 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
3353 (gst_type_find_factory_dispose),
3354 (gst_type_find_factory_unload_thyself),
3355 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
3356 (gst_type_find_factory_get_caps),
3357 (gst_type_find_factory_get_extensions),
3358 (gst_type_find_factory_call_function):
3359 * gst/gsttypefindfactory.h:
3360 * gst/registries/gstlibxmlregistry.c:
3361 * gst/registries/gstxmlregistry.c:
3362 splitted gsttypefind into gsttypefind, gsttypefindfactory
3364 2005-09-07 Andy Wingo <wingo@pobox.com>
3366 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
3367 condition whereby the pad's task function is entered before the
3368 pad_mode variable was set.
3370 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
3372 * gst/gstpad.c: (gst_pad_alloc_buffer):
3373 Catch misbehaving pad_alloc functions that don't
3374 set up caps and do it for them.
3376 2005-09-07 Stefan Kost <ensonic@users.sf.net>
3378 * check/pipelines/simple_launch_lines.c: (run_pipeline):
3380 * docs/gst/tmpl/.cvsignore:
3381 * docs/gst/tmpl/gstmemchunk.sgml:
3382 * docs/gst/tmpl/gstparse.sgml:
3383 * docs/gst/tmpl/gsttaglist.sgml:
3384 * docs/gst/tmpl/gsttagsetter.sgml:
3385 * docs/gst/tmpl/gsttypefind.sgml:
3386 * docs/gst/tmpl/gsttypefindfactory.sgml:
3387 * gst/gstmemchunk.c:
3390 * gst/gsttaginterface.c:
3391 * gst/gsttypefind.c:
3392 * gst/gsttypefind.h:
3395 === release 0.9.2 ===
3397 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
3402 releasing 0.9.2, "South"
3404 2005-09-05 Andy Wingo <wingo@pobox.com>
3406 * gst/registries/gstxmlregistry.h:
3407 * gst/registries/gstxmlregistry.c: Um... resurrect...
3409 * gst/registries/gstxmlregistry.h:
3410 * gst/registries/gstxmlregistry.c: and update to newer API.
3411 Incidentally they should be a bit faster now that they don't have
3414 2005-09-05 Andy Wingo <wingo@pobox.com>
3416 * gst/registries/gstxmlregistry.h:
3417 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
3418 replaced by the libxml registry a while back
3420 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
3422 * docs/gst/tmpl/gstplugin.sgml:
3423 * gst/elements/gstelements.c:
3425 * gst/gstplugin.c: (gst_plugin_register_func),
3426 (gst_plugin_desc_copy), (gst_plugin_desc_free),
3427 (gst_plugin_get_source):
3429 * gst/registries/gstlibxmlregistry.c: (load_plugin),
3430 (gst_xml_registry_save_plugin):
3431 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
3432 (gst_xml_registry_save_plugin):
3433 * tools/gst-inspect.c: (print_plugin_info):
3434 add a "source" plugin description field, to represent the source
3435 module this plugin is a part of. By default GST_PLUGIN_DEFINE
3436 will set it to PACKAGE, which is automake's idea of the name of
3439 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
3445 * docs/faq/Makefile.am:
3446 * docs/gst/tmpl/gstelement.sgml:
3447 * docs/gst/tmpl/gsttypes.sgml:
3448 * docs/htmlinstall.mak:
3449 * docs/manual/Makefile.am:
3450 * docs/pwg/Makefile.am:
3451 reorganize doc build a little
3452 split out docbook and gtk-doc stuff
3453 have two separate --enable's and enable them through autogen
3454 but disable by default in configure (to be similar to other
3456 * gstreamer.spec.in:
3457 clean up docs install
3477 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
3479 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
3482 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
3483 (gst_fake_sink_change_state):
3484 Make state change function thread-safe.
3486 * gst/gstpad.c: (gst_pad_alloc_buffer):
3487 Set offset on generic buffer allocated by fallback.
3489 2005-09-03 Stefan Kost <ensonic@users.sf.net>
3491 * docs/gst/gstreamer-sections.txt:
3492 * docs/gst/tmpl/gstelement.sgml:
3494 * libs/gst/controller/gst-controller.c:
3495 (gst_controlled_property_set_interpolation_mode),
3496 (gst_controlled_property_new),
3497 (gst_controller_find_controlled_property):
3498 run the wingo-magic script against the docs
3500 2005-09-02 Stefan Kost <ensonic@users.sf.net>
3502 * docs/gst/gstreamer-docs.sgml:
3503 * docs/gst/gstreamer-sections.txt:
3504 * docs/gst/tmpl/.cvsignore:
3505 * docs/gst/tmpl/gstelementdetails.sgml:
3506 * docs/gst/tmpl/gstelementfactory.sgml:
3509 * gst/gstelementfactory.c:
3510 * gst/gstelementfactory.h:
3511 merged elementdetails docs into elementfactory docs
3514 2005-09-02 Andy Wingo <wingo@pobox.com>
3516 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
3517 consider this enum an enum and not a flags.
3519 2005-09-02 Stefan Kost <ensonic@users.sf.net>
3521 * docs/gst/gstreamer-docs.sgml:
3522 * docs/gst/tmpl/.cvsignore:
3523 * docs/gst/tmpl/gstghostpad.sgml:
3524 * docs/gst/tmpl/gstiterator.sgml:
3525 * docs/gst/tmpl/gstmacros.sgml:
3526 * docs/gst/tmpl/gstrealpad.sgml:
3527 * docs/gst/tmpl/gstregistry.sgml:
3528 * docs/gst/tmpl/gstregistrypool.sgml:
3529 * docs/gst/tmpl/gststructure.sgml:
3530 * docs/gst/tmpl/gstsystemclock.sgml:
3531 * docs/gst/tmpl/gsttrace.sgml:
3532 * gst/gstghostpad.c:
3534 * gst/gstmemchunk.c:
3535 * gst/gstmemchunk.h:
3537 * gst/gstregistry.c:
3538 * gst/gstregistrypool.c:
3539 * gst/gststructure.c:
3540 * gst/gstsystemclock.c:
3543 2005-09-02 Andy Wingo <wingo@pobox.com>
3545 * gst/gstelement.h (GstState): Renamed from GstElementState,
3546 changed to be a normal enum instead of flags.
3547 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
3548 munged to be GST_STATE_CHANGE_*.
3549 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
3550 work with the new state representation.
3551 (GstStateChange): New enumeration of possible state transitions.
3552 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
3553 (GstElementClass::change_state): Pass the GstStateChange along as
3554 an argument. Helps language bindings, so they don't have to use
3555 tricky lock-needing macros like GST_STATE_CHANGE ().
3557 * scripts/update-states (file): New script. Run it on a file to
3558 update it for state naming and API changes. Updates files in
3561 * All files updated for the new API.
3563 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
3565 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
3566 * gst/gstutils.c: (gst_util_set_value_from_string),
3567 (gst_util_set_object_arg):
3568 fix a bunch of unchecked return values
3569 * tools/gst-complete.c: (main):
3570 * gstreamer.spec.in:
3573 2005-09-01 Wim Taymans <wim@fluendo.com>
3575 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3576 (gst_base_sink_event), (gst_base_sink_do_sync),
3577 (gst_base_sink_handle_event):
3578 * gst/base/gstbasesink.h:
3579 Handle newsegments more correctly.
3584 * gst/gstevent.c: (gst_event_new_newsegment):
3585 A newsegment cannot have a start_time of -1
3587 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
3589 * win32/gstenumtypes.c:
3590 * win32/gstenumtypes.h:
3593 2005-08-31 Stefan Kost <ensonic@users.sf.net>
3595 * libs/gst/controller/gst-controller.c:
3596 (gst_controlled_property_set_interpolation_mode),
3597 (gst_controlled_property_new):
3600 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
3602 * docs/faq/gst-uninstalled:
3607 * gst/gstutils.c: (gst_element_link_filtered):
3609 add gst_element_link_filtered
3611 2005-08-31 Stefan Kost <ensonic@users.sf.net>
3613 * docs/gst/gstreamer-docs.sgml:
3614 * docs/gst/gstreamer-sections.txt:
3615 * docs/gst/tmpl/.cvsignore:
3616 * docs/gst/tmpl/gsterror.sgml:
3617 * docs/gst/tmpl/gstfilter.sgml:
3618 * docs/gst/tmpl/gsturihandler.sgml:
3619 * docs/gst/tmpl/gsturitype.sgml:
3620 * docs/gst/tmpl/gstutils.sgml:
3621 * docs/gst/tmpl/gstxml.sgml:
3629 inlined more docs, fixed double id-ref
3631 2005-08-31 Wim Taymans <wim@fluendo.com>
3633 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
3634 (gst_base_transform_handle_buffer):
3635 Passthrough elements don't need the caps as they don't care.
3637 2005-08-31 Wim Taymans <wim@fluendo.com>
3639 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
3640 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
3641 Don't leak refcounts on buffers.
3643 2005-08-31 Wim Taymans <wim@fluendo.com>
3645 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
3646 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3647 (gst_base_transform_chain), (gst_base_transform_change_state):
3648 * gst/base/gstbasetransform.h:
3649 Handle the case where we are not negotiated more gracefully.
3651 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
3653 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
3654 (gst_file_src_map_region):
3655 Set READONLY flag on mmap'ed buffers, otherwise
3656 gst_buffer_make_writable() won't work properly (#314708).
3658 2005-08-31 Wim Taymans <wim@fluendo.com>
3660 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
3661 passthrough elements can even do inplace on non writable
3662 buffers (as they don't touch them).
3664 2005-08-31 Stefan Kost <ensonic@users.sf.net>
3666 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
3667 (gst_test_mono_source_set_property),
3668 (gst_test_mono_source_class_init), (GST_START_TEST),
3669 (gst_controller_suite):
3670 more tests (hehe I have the most)
3672 describe popping messages whenusing mulltiple sources
3673 * libs/gst/controller/gst-controller.c:
3674 (gst_controlled_property_set_interpolation_mode),
3675 (gst_controlled_property_new):
3676 * libs/gst/controller/gst-controller.h:
3677 * libs/gst/controller/gst-interpolation.c:
3678 implement boolean properties
3680 2005-08-31 Wim Taymans <wim@fluendo.com>
3682 * gst/gstminiobject.c: (gst_mini_object_ref):
3683 Cannot assert that the refcount has to be positive
3684 since a disposed object can be resurrected.
3686 2005-08-31 Wim Taymans <wim@fluendo.com>
3688 * gst/gstpad.c: (gst_pad_init):
3689 Revert change, need to first fix badly behaving
3692 2005-08-30 Wim Taymans <wim@fluendo.com>
3694 * check/elements/fakesrc.c: (setup_fakesrc):
3695 * check/elements/identity.c: (setup_identity):
3696 Activate pads before using them.
3698 2005-08-30 Wim Taymans <wim@fluendo.com>
3700 * gst/base/gstadapter.c: (gst_adapter_flush):
3701 Flushing out 0 bytes is ok for this function.
3703 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3704 no newsegment gives a warning and sets the start/stop to
3707 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
3708 (gst_base_transform_set_passthrough):
3711 * gst/gstminiobject.c: (gst_mini_object_ref):
3712 Check refcount here too.
3714 * gst/gstpad.c: (gst_pad_init):
3715 Pads are initially flushing and refusing data.
3717 * gst/gstutils.c: (gst_element_link_pads_filtered):
3718 When adding a capsfilter element make sure it has the
3719 same state as the parent bin.
3721 2005-08-30 Stefan Kost <ensonic@users.sf.net>
3723 * docs/gst/tmpl/.cvsignore:
3724 * docs/gst/tmpl/gstformat.sgml:
3725 * docs/gst/tmpl/gstversion.sgml:
3729 * gst/gstversion.h.in:
3730 more docs and two more inlined
3732 2005-08-30 Wim Taymans <wim@fluendo.com>
3734 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
3735 Don't sync to clock.
3737 2005-08-30 Stefan Kost <ensonic@users.sf.net>
3739 * docs/gst/gstreamer-sections.txt:
3740 ultral33t func10ns deserve to appear in the docs actually
3741 * docs/gst/tmpl/.cvsignore:
3742 * docs/gst/tmpl/gstcompat.sgml:
3743 * docs/gst/tmpl/gstconfig.sgml:
3744 * gst/check/gstcheck.c:
3746 * gst/gstconfig.h.in:
3749 2005-08-30 Stefan Kost <ensonic@users.sf.net>
3751 * docs/gst/tmpl/.cvsignore:
3752 * docs/gst/tmpl/gstquery.sgml:
3753 * docs/gst/tmpl/gstutils.sgml:
3756 inlined and extended docs
3758 2005-08-30 Stefan Kost <ensonic@users.sf.net>
3760 * check/gst-libs/controller.c: (GST_START_TEST),
3761 (gst_controller_suite):
3763 * docs/gst/tmpl/gstutils.sgml:
3764 * docs/libs/gstreamer-libs-sections.txt:
3765 * docs/libs/tmpl/gstdataprotocol.sgml:
3767 * examples/controller/audio-example.c: (main):
3768 controller example works now
3771 * tools/gst-inspect.c: (print_element_properties_info):
3772 show param spec flags
3774 2005-08-29 Andy Wingo <wingo@pobox.com>
3776 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
3778 2005-08-28 Andy Wingo <wingo@pobox.com>
3780 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
3781 as having two arguments instead of just one. Allows superclasses
3782 to access information on subclasses -- see the terrible for() loop
3783 in gtype.c:g_type_create_instance for the reason why. All callers
3786 2005-08-27 Stefan Kost <ensonic@users.sf.net>
3788 * docs/design/part-messages.txt:
3790 * docs/gst/tmpl/.cvsignore:
3791 * docs/gst/tmpl/gstcaps.sgml:
3792 * docs/gst/tmpl/gstclock.sgml:
3799 added descriptions for bus and message
3800 inline caps and clock docs
3802 2005-08-27 Stefan Kost <ensonic@users.sf.net>
3808 2005-08-27 Stefan Kost <ensonic@users.sf.net>
3810 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
3813 2005-08-26 Andy Wingo <wingo@pobox.com>
3815 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
3816 element_set_state's return val.
3817 (test_2_elements): Add test that's been disabled for months.
3819 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
3820 can-activate-pull properties.
3822 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
3823 can-activate-pull properties. Implement is_seekable so fakesrc can
3824 operate in pull mode.
3826 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
3828 (gst_base_sink_activate, gst_base_sink_activate_pull)
3829 (gst_base_sink_activate_push): Make activation mode choosing work.
3831 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
3832 is right. Make pull mode work. Post an eos before pausing in pull
3834 (gst_base_sink_change_state): Pay attention to the core's
3835 change_state() return val.
3837 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
3838 has-getrange properties. Cleanups.
3840 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
3841 has_getrange and replace with can_activate_pull and
3844 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
3845 locking comments. Remove has_loop, has_chain and replace with
3846 can_activate_pull and can_activate_push.
3848 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
3851 * examples/Makefile.am:
3852 * examples/metadata/Makefile.am:
3853 * examples/metadata/read-metadata.c: (message_loop),
3854 (have_pad_handler), (make_pipeline), (print_tag), (main):
3855 Add metadata reading example that loops over a list of filenames,
3856 dumping any tags found.
3858 * gst/gstbus.c: (gst_bus_dispose):
3859 * gst/gstelement.c: (gst_element_dispose):
3860 Release a few potentially-held references in dispose.
3862 2005-08-26 Stefan Kost <ensonic@users.sf.net>
3864 * docs/gst/tmpl/gstminiobject.sgml:
3865 do *not* add tmpl/*.sgml files to CVS!
3867 2005-08-26 Stefan Kost <ensonic@users.sf.net>
3869 * libs/gst/bytestream/.cvsignore:
3870 * libs/gst/bytestream/Makefile.am:
3871 * libs/gst/bytestream/adapter.c:
3872 * libs/gst/bytestream/adapter.h:
3873 * libs/gst/bytestream/bytestream.c:
3874 * libs/gst/bytestream/bytestream.h:
3875 * libs/gst/bytestream/filepad.c:
3876 * libs/gst/bytestream/filepad.h:
3877 removing obsolete files
3879 2005-08-26 Stefan Kost <ensonic@users.sf.net>
3881 * docs/gst/gstreamer-docs.sgml:
3882 * docs/libs/gstreamer-libs-docs.sgml:
3883 disabed additional index entries again, as this makes docs-gen just
3884 slow and they aren't useful yet
3885 * docs/libs/gstreamer-libs-sections.txt:
3886 little -section.txt cleanup for libs
3888 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
3890 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3891 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
3892 fix up some debugging
3893 (gst_base_transform_get_unit_size),
3894 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
3895 (gst_base_transform_handle_buffer):
3896 * gst/base/gstbasetransform.h:
3897 handle and store timed NEWSEGMENT events so that subclasses that
3898 calculate time by counting samples have a segment_start time they
3899 need to add to their timestamps - see audioresample
3901 2005-08-26 Stefan Kost <ensonic@users.sf.net>
3904 removed ';' from the end of macro defs
3905 * docs/gst/gstreamer-docs.sgml:
3906 * docs/gst/gstreamer-sections.txt:
3907 * docs/gst/tmpl/.cvsignore:
3909 * gst/gstelement.c: (gst_element_class_init),
3910 (gst_element_set_state), (activate_pads),
3911 (gst_element_save_thyself):
3912 * gst/gstevent.c: (gst_event_new_newsegment):
3914 * gst/gstiterator.c:
3915 * gst/gstiterator.h:
3918 * gst/gstutils.c: (gst_pad_query_convert):
3920 fixed parameter name mismatches between source, header and docs
3921 added some more docs, resolved the last batch of unused elements in
3922 docs (now someone needs to doc them)
3924 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
3926 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
3927 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
3928 don't walk through the plugins backwards. Where is all this
3929 reversed logic coming from ?
3931 2005-08-25 Wim Taymans <wim@fluendo.com>
3933 * gst/base/gstbasetransform.c: (gst_base_transform_init),
3934 (gst_base_transform_transform_size),
3935 (gst_base_transform_configure_caps),
3936 (gst_base_transform_get_unit_size),
3937 (gst_base_transform_buffer_alloc),
3938 (gst_base_transform_change_state):
3939 * gst/base/gstbasetransform.h:
3940 Cache caps unit_size.
3941 Make sure we cannot negotiate up and downstream at the
3944 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
3946 * gst/gst.c: (init_pre), (init_post):
3947 register the installed plugin path after the env var
3948 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
3949 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
3950 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
3951 directories, so the tests can prefer uninstalled over installed
3953 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
3955 * gst/base/gstbasetransform.h:
3960 2005-08-25 Wim Taymans <wim@fluendo.com>
3962 * gst/gstbin.c: (bin_bus_handler):
3963 Be a bit more conservative about the posted message.
3965 * gst/gstbus.c: (gst_bus_post):
3966 Some cleanups, warn wrong return values.
3968 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
3970 * check/gst/gstbin.c: (GST_START_TEST):
3971 * gst/gstbin.c: (bin_bus_handler):
3972 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
3973 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
3974 (gst_message_new_warning), (gst_message_new_tag),
3975 (gst_message_new_state_changed), (gst_message_new_segment_start),
3976 (gst_message_new_segment_done), (gst_message_new_custom):
3978 * tools/gst-launch.c: (event_loop):
3979 * tools/gst-md5sum.c: (event_loop):
3980 Revert unpopular change for GST_MESSAGE_SRC to GObject.
3982 2005-08-25 Wim Taymans <wim@fluendo.com>
3984 * check/generic/states.c: (GST_START_TEST):
3985 Cleanup can be done at the end.
3987 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
3988 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
3989 (gst_task_get_state), (gst_task_start), (gst_task_pause):
3990 Oh boy.. Thanks for finding this, Thomas.
3992 2005-08-25 Stefan Kost <ensonic@users.sf.net>
3994 * docs/gst/gstreamer.types:
3997 2005-08-25 Stefan Kost <ensonic@users.sf.net>
3999 * docs/gst/gstreamer-docs.sgml:
4000 * docs/gst/gstreamer-sections.txt:
4001 * docs/gst/tmpl/.cvsignore:
4003 * gst/gstiterator.c:
4005 * gst/registries/gstxmlregistry.h:
4006 added missing classes and symbols (123 more to go)
4007 removed removed symbols from section file
4008 fixed many doc-comments
4010 2005-08-24 Wim Taymans <wim@fluendo.com>
4012 * check/generic/states.c: (GST_START_TEST):
4013 Make sure all tasks are stopped.
4015 * check/gst/gstbin.c: (GST_START_TEST):
4016 Unref after usage for proper valgrinding.
4018 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
4019 Really wait for the task to stop before destroying the
4022 * gst/gstqueue.c: (gst_queue_sink_activate_push),
4023 (gst_queue_src_activate_push):
4024 Small cleanups. Don't stop the task when we did not start
4027 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
4028 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
4029 (gst_task_get_state), (gst_task_start), (gst_task_pause),
4032 Protect the stream lock with the object lock.
4033 Disallow setting the stream lock when running.
4034 Add cleanup_all to wait for the threadpool to finish.
4035 Remove code to autoallocate a mutex if none was provided.
4036 Add _join() to wait for a task to stop.
4037 Protect the thread pool with a global lock.
4039 2005-08-24 Wim Taymans <wim@fluendo.com>
4041 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4042 (gst_base_sink_get_times), (gst_base_sink_do_sync),
4043 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
4044 * gst/base/gstbasesink.h:
4045 Handle newsegment events correctly.
4046 Drop buffers out of the segment range.
4048 2005-08-22 Andy Wingo <wingo@pobox.com>
4050 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
4051 macro, implements an interface and gstimplementsinterface for a
4054 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
4056 * check/Makefile.am:
4057 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
4058 add a test that does a bunch of state changes on elements
4059 needs some fixing for valgrind
4060 * check/states/sinks.c: (gst_object_suite):
4063 add prototype for gst_caps_is_equal_fixed
4065 * gst/gstregistrypool.c:
4068 2005-08-24 Andy Wingo <wingo@pobox.com>
4070 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
4071 convert a negative value. Doesn't make much sense. Mostly this is
4072 here to force callers to ensure -1 maps to -1.
4074 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
4076 * docs/pwg/advanced-types.xml:
4077 Well done to Michael for catching my deliberate introduction
4078 of this spelling mistake.
4079 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
4081 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
4082 unlink pads before removing the element from the bin.
4084 2005-08-24 Andy Wingo <wingo@pobox.com>
4086 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
4087 the same thing as GST_DEBUG=*:4.
4088 (parse_debug_level, parse_debug_category): New helper parsers.
4090 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
4092 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
4093 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
4094 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
4095 (gst_base_transform_buffer_alloc),
4096 (gst_base_transform_handle_buffer):
4097 use gboolean return values and pointers to size so we can use the
4098 full GST_BUFFER_SIZE range (guint) for buffer sizes
4099 use GstPadDirection for transform_caps
4100 * gst/base/gstbasetransform.h:
4101 rename get_size to get_unit_size since that's what it is
4102 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
4103 use GstPadDirection for transform_caps
4104 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
4106 cleanup and debugging
4108 2005-08-24 Stefan Kost <ensonic@users.sf.net>
4110 * gst/gstelement.c: (gst_element_class_init),
4111 (gst_element_set_state), (activate_pads),
4112 (gst_element_save_thyself):
4113 * tools/gst-compprep.c: (main):
4114 * tools/gst-inspect.c: (print_element_properties_info):
4115 * tools/gst-xmlinspect.c: (print_element_properties):
4116 Fixed long standing mem-leak
4118 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
4120 * check/gst/gstbin.c: (GST_START_TEST):
4121 * gst/gstbin.c: (bin_bus_handler):
4122 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
4123 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
4124 (gst_message_new_warning), (gst_message_new_tag),
4125 (gst_message_new_state_changed), (gst_message_new_segment_start),
4126 (gst_message_new_segment_done), (gst_message_new_custom):
4128 * tools/gst-launch.c: (event_loop):
4129 * tools/gst-md5sum.c: (event_loop):
4130 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
4131 that applications can sensibly post custom messages with references
4132 to their own objects.
4134 2005-08-24 Andy Wingo <wingo@pobox.com>
4136 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
4139 2005-08-24 Wim Taymans <wim@fluendo.com>
4141 * gst/base/gstbasetransform.c: (gst_base_transform_init),
4142 (gst_base_transform_transform_caps),
4143 (gst_base_transform_transform_size),
4144 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
4145 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
4146 (gst_base_transform_handle_buffer):
4147 * gst/base/gstbasetransform.h:
4148 Many fixes and new features added by Thomas. Can now also do
4149 transforms with variable sizes and a custom fixate_caps function.
4151 2005-08-24 Wim Taymans <wim@fluendo.com>
4153 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
4157 Cast to ClockTime before formatting to time.
4162 2005-08-24 Stefan Kost <ensonic@users.sf.net>
4164 * check/gst-libs/controller.c: (GST_START_TEST),
4165 (gst_controller_suite):
4166 * docs/gst/tmpl/gstcaps.sgml:
4167 * docs/gst/tmpl/gstghostpad.sgml:
4168 * docs/gst/tmpl/gstquery.sgml:
4169 * docs/gst/tmpl/gstutils.sgml:
4170 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
4171 (gst_object_sink_values), (gst_object_get_value_arrays),
4172 (gst_object_get_value_array):
4173 gracefully handle helper method calls to objects that are not beeing
4174 controlled, added test case for that
4176 2005-08-23 Wim Taymans <wim@fluendo.com>
4178 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
4179 (gst_event_new_newsegment), (gst_event_parse_newsegment),
4180 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
4181 (gst_event_parse_qos), (gst_event_new_seek),
4182 (gst_event_parse_seek):
4184 Some more debugging output and doc cleanups.
4186 * gst/gstqueue.c: (gst_queue_handle_sink_event):
4187 Fix possible deadlock.
4189 2005-08-23 Stefan Kost <ensonic@users.sf.net>
4191 * docs/gst/gstreamer-docs.sgml:
4192 * docs/gst/gstreamer-sections.txt:
4193 * docs/gst/gstreamer.types:
4194 * docs/gst/tmpl/.cvsignore:
4199 added 100 symbols from gstreamer-unused.txt to the right sections
4200 fixed more broken comments
4201 added GstBus to docs
4203 2005-08-23 Stefan Kost <ensonic@users.sf.net>
4205 * docs/gst/gstreamer-sections.txt:
4206 * docs/gst/tmpl/.cvsignore:
4207 * docs/gst/tmpl/gstbin.sgml:
4208 * docs/gst/tmpl/gstbuffer.sgml:
4209 * gst/base/gstbasesrc.c:
4210 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4213 * tools/gst-launch.1.in:
4214 inlined more doc comments, added missing comments and fixed comments
4217 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
4219 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
4223 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
4225 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
4226 * gst/gststructure.h:
4227 add a fixate function for booleans; add a FIXME that these func
4228 names should probably be gst_structure_fixate_*
4230 2005-08-23 Stefan Kost <ensonic@users.sf.net>
4232 * docs/gst/gstreamer-docs.sgml:
4233 * docs/gst/gstreamer-sections.txt:
4235 * gst/gstbin.c: (gst_bin_get_type),
4236 (gst_bin_child_proxy_get_child_by_index),
4237 (gst_bin_child_proxy_get_children_count),
4238 (gst_bin_child_proxy_init):
4239 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4240 (gst_child_proxy_get_child_by_index),
4241 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
4242 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
4243 (gst_child_proxy_get), (gst_child_proxy_set_property),
4244 (gst_child_proxy_set_valist), (gst_child_proxy_set),
4245 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
4246 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
4247 * gst/gstchildproxy.h:
4248 * gst/parse/grammar.y:
4249 * tools/gst-inspect.c: (print_interfaces),
4250 (print_element_properties_info), (print_element_info):
4251 ported gstchildproxy over from 0.8
4252 ported gst-inspect fixes and enhancements over from 0.8
4254 2005-08-22 Wim Taymans <wim@fluendo.com>
4256 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
4257 (gst_base_transform_handle_buffer):
4258 Also call the transform function if we have ANY caps.
4260 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
4263 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
4265 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
4266 Don't pretend to handle seek events if the source is not seekable
4268 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
4270 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4271 Remove extra parameter to debug output
4273 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
4274 (gst_base_src_do_seek), (gst_base_src_activate_push):
4275 Fix seek event handling.
4277 * gst/gstpipeline.c: (gst_pipeline_change_state):
4278 * gst/gstqueue.c: (gst_queue_handle_sink_event),
4279 (gst_queue_src_activate_push):
4280 Don't start the src pad task on FLUSH_STOP if the pad
4284 2005-08-22 Wim Taymans <wim@fluendo.com>
4286 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4287 Added check for gst_static_caps_get() refcounting.
4289 2005-08-22 Wim Taymans <wim@fluendo.com>
4291 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
4292 Make _static_caps_get() refcounting sane.
4294 * gst/gstelement.c: (gst_element_set_state):
4295 Add g_return_val_if_fail() to protect against segfaults.
4297 2005-08-22 Stefan Kost <ensonic@users.sf.net>
4299 * docs/gst/tmpl/gstevent.sgml:
4302 inlined remaining docs, added missing doc comments
4304 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
4306 * check/gst/gstbin.c: (GST_START_TEST):
4307 since we don't know when preroll is done, use refcount range
4309 * gst/check/gstcheck.h:
4310 add macro for checking refcount range
4312 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
4314 * check/Makefile.am:
4315 clean up environment for when registry gets built versus
4316 when actual tests are run; valgrind seems to not report
4317 leaks if GST_PLUGIN_PATH is set to some specific values
4318 * check/gst/gstbin.c: (GST_START_TEST):
4319 add more refcounting checks; maybe this exposes a
4322 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4323 * gst/check/gstcheck.h:
4324 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
4325 (gst_bin_change_state):
4326 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
4327 add/fix debugging/whitespace
4329 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
4331 * check/gst/gstevent.c: (event_probe), (test_event),
4333 Er, don't call gst_bin_watch_for_state_change you idiot.
4335 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
4337 * check/Makefile.am:
4338 Use CHECK_CFLAGS and CHECK_LIBS
4339 * check/gst/gstevent.c: (event_probe), (test_event),
4342 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
4343 (gst_base_src_start), (gst_base_src_stop),
4344 (gst_base_src_activate_push), (gst_base_src_activate_pull),
4345 (gst_base_src_change_state):
4346 Sprinkle gst_base_src_stop liberally around error paths to fix
4347 problems reusing a source after failed state changes.
4348 * gst/base/gsttypefindhelper.c: (helper_find_peek),
4349 (helper_find_suggest), (gst_type_find_helper):
4350 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
4352 * docs/gst/tmpl/gstevent.sgml:
4353 Migrate part of the docs from the SGML file. Wait for ensonic to
4354 tell me how I did it wrong ;)
4355 * tools/gst-typefind.c: (main):
4356 Extra robustness to state changes between files.
4358 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
4360 * check/Makefile.am:
4361 don't valgrind the controller test - it's leaking - Stefan, HELP
4362 * gst/check/gstcheck.c: (gst_check_message_error),
4363 (gst_check_chain_func), (gst_check_setup_element),
4364 (gst_check_teardown_element), (gst_check_setup_src_pad),
4365 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4366 (gst_check_teardown_sink_pad):
4367 * gst/check/gstcheck.h:
4368 add a bunch of methods to set up elements, and src and sink pads
4369 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
4370 * check/elements/identity.c: (setup_identity), (cleanup_identity),
4375 whitespace/doc fixes
4377 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
4380 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
4381 be handled by the application and not always printed as well
4383 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
4385 * check/Makefile.am:
4387 * gst/check/gstcheck.c: (gst_check_message_error):
4388 * gst/check/gstcheck.h:
4389 add a fail_unless_equals_int
4390 add fail_unless for error messages
4392 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
4394 * check/Makefile.am:
4396 * common/Makefile.am:
4399 factor out some of the common stuff so we can use it
4401 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
4403 * check/Makefile.am:
4404 * check/gst/gstiterator.c: (GST_START_TEST):
4405 * check/gst/gstsystemclock.c: (GST_START_TEST),
4406 (gst_systemclock_suite):
4407 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
4411 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
4413 * check/elements/.cvsignore:
4414 * check/elements/gstfakesrc.c:
4415 rename to name of element
4416 * check/elements/identity.c: (chain_func), (event_func),
4417 (setup_identity), (cleanup_identity), (GST_START_TEST),
4418 (identity_suite), (main):
4419 add a test for identity
4420 * check/Makefile.am:
4421 * pkgconfig/Makefile.am:
4422 * pkgconfig/gstreamer-check.pc.in:
4423 * pkgconfig/gstreamer-check-uninstalled.pc.in:
4427 move the check stuff to a library that gets installed
4428 * check/gst-libs/controller.c: (GST_START_TEST):
4429 * check/gst-libs/gdp.c:
4430 * check/gst/gst.c: (GST_START_TEST):
4431 * check/gst/gstbin.c:
4432 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4433 * check/gst/gstbus.c:
4434 * check/gst/gstcaps.c: (GST_START_TEST):
4435 * check/gst/gstelement.c:
4436 * check/gst/gstghostpad.c:
4437 * check/gst/gstiterator.c:
4438 * check/gst/gstmessage.c:
4439 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
4440 * check/gst/gstobject.c:
4441 * check/gst/gstpad.c: (GST_START_TEST):
4442 * check/gst/gststructure.c: (GST_START_TEST):
4443 * check/gst/gstsystemclock.c: (GST_START_TEST),
4444 (gst_systemclock_suite):
4445 * check/gst/gsttag.c: (gst_tag_suite):
4446 * check/gst/gstvalue.c:
4447 * check/pipelines/cleanup.c:
4448 * check/pipelines/simple_launch_lines.c:
4449 * check/states/sinks.c:
4450 change include statement
4452 * docs/gst/gstreamer-sections.txt:
4453 * docs/gst/tmpl/gstpad.sgml:
4454 document more pad stuff
4455 * gst/gstminiobject.c: (gst_mini_object_ref),
4456 (gst_mini_object_unref):
4459 2005-08-19 Stefan Kost <ensonic@users.sf.net>
4461 * docs/gst/tmpl/gst.sgml:
4463 eliminate another tmpl file, fix spelling in the long-description
4465 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
4467 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4468 (test_event), (timediff), (gstevents_suite):
4469 Should fix build on 64-bit arch's
4471 2005-08-18 Andy Wingo <wingo@pobox.com>
4473 Make sure that when a pipeline goes to PLAYING, that data has
4474 actually hit the sink.
4476 * check/states/sinks.c (test_sink): A sink that doesn't get any
4477 data shouldn't return SUCCESS for going to either PLAYING or
4478 PAUSED. Test also the return values on the way back down.
4480 * gst/gstelement.c (gst_element_set_state): When changing the
4481 state of an element currently changing state asynchronously, go to
4482 lost-state after commiting the pending state. Makes future calls
4483 to get_state continue to return ASYNC.
4485 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
4486 ASYNC when going to PLAYING if we still don't have preroll, as can
4487 happen with live sources.
4489 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
4491 * docs/pwg/advanced-types.xml:
4492 Hack long paragraph into 2 chunks as a workaround for buggy
4493 jadetex version in sid and breezy that loops infinitely and
4496 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
4498 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4499 (test_event), (timediff), (gstevents_suite):
4500 Provide more error margin in clock measurements to allow for
4501 g_get_current_time inaccuracies.
4503 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
4505 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4506 (test_event), (timediff), (gstevents_suite):
4507 Fix error message output so I might be able to tell why the
4508 test works here but fails on the build farm.
4510 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
4512 * check/Makefile.am:
4513 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4514 (test_event), (timediff), (gstevents_suite), (main):
4517 * docs/design/part-seeking.txt:
4520 * docs/gst/tmpl/gstevent.sgml:
4521 * docs/gst/tmpl/gstfakesrc.sgml:
4524 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4525 Treat a buffer-without-newsegment the same as a receiving
4526 a newsegment not in time format, and disable syncing to the clock
4529 * gst/gstbus.c: (gst_bus_set_sync_handler):
4530 Assert if anyone tries to replace the existing sync_handler for bus,
4531 as only the owner should be setting it.
4534 Have a fixed set of custom event enums with events identified by
4535 their structure name (as in 0.8), rather than a free-for-all
4536 allowing collisions between enum values from different plugins.
4538 * gst/gstpad.c: (gst_pad_class_init):
4541 * gst/gstqueue.c: (gst_queue_handle_sink_event):
4542 Handle out-of-band downstream events from the sending thread.
4544 2005-08-17 Andy Wingo <wingo@pobox.com>
4546 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
4547 play-timeout==0 to mean no timeout at all. In that case, don't
4548 bother with a get_state or a warning, just return directly, even
4551 * gst/base/gstbasetransform.c: Debug changes.
4554 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
4555 ensure bins post state change messages. A bit of a hack but I can't
4556 think of a way to avoid it.
4558 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
4560 2005-08-16 Andy Wingo <wingo@pobox.com>
4562 * gst/base/gstadapter.h:
4563 * gst/base/gstadapter.c (gst_adapter_take): New function, like
4564 peek() but you own the data. Not terribly efficient atm.
4566 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4568 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
4569 (gst_element_found_tags):
4571 Add two utility functions for tag handling.
4573 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4575 * docs/manual/advanced-dataaccess.xml:
4576 * docs/manual/basics-helloworld.xml:
4577 Fix docs to use _bin_add() before _link(), which fixes the examples
4578 with recent core versions (reported by Madhan Raj M
4579 <raj_madan@rediffmail.com>, #313199).
4581 2005-08-16 Wim Taymans <wim@fluendo.com>
4583 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4584 Added subtract checks.
4586 * docs/design/part-events.txt:
4587 Some more docs about newsegment
4589 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
4592 * gst/gstcaps.c: (gst_caps_to_string):
4593 Add comments, cleanups.
4595 * gst/gstelement.c: (gst_element_save_thyself):
4598 * gst/gstvalue.c: (gst_value_collect_int_range),
4599 (gst_string_unwrap), (gst_value_union_int_int_range),
4600 (gst_value_union_int_range_int_range),
4601 (gst_value_intersect_int_int_range),
4602 (gst_value_intersect_int_range_int_range),
4603 (gst_value_intersect_double_double_range),
4604 (gst_value_intersect_double_range_double_range),
4605 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
4606 (gst_value_subtract_int_range_int),
4607 (gst_value_subtract_double_range_double),
4608 (gst_value_subtract_double_range_double_range),
4609 (gst_value_subtract_from_list), (gst_value_subtract_list),
4610 (gst_value_can_compare), (gst_value_compare_fraction):
4611 Cleanups, add comments, remove unneeded asserts.
4613 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
4615 * tools/gst-launch.c: (event_loop):
4616 don't convert NULL structures to strings
4618 2005-08-15 Stefan Kost <ensonic@users.sf.net>
4620 * docs/gst/gstreamer-sections.txt:
4621 made some defines private
4622 * docs/gst/tmpl/gstconfig.sgml:
4623 * docs/gst/tmpl/gstqueue.sgml:
4624 * docs/gst/tmpl/gsttaglist.sgml:
4625 * docs/gst/tmpl/gsttypes.sgml:
4626 * docs/gst/tmpl/gstutils.sgml:
4627 * docs/pwg/appendix-porting.xml:
4628 * gst/base/gstbasesink.h:
4629 * gst/base/gstbasesrc.c:
4630 * gst/base/gstbasesrc.h:
4631 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
4632 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
4633 * gst/gstelement.c: (gst_element_class_init):
4634 * gst/gstpad.c: (gst_pad_class_init):
4635 * gst/gstqueue.c: (gst_queue_class_init):
4636 * gst/gstxml.c: (gst_xml_class_init):
4637 documented all undocumented signal inline
4638 * libs/gst/controller/gst-controller.h:
4641 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4643 * docs/pwg/appendix-porting.xml:
4644 Document _set_link_function -> _set_setcaps_function.
4646 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
4648 * check/Makefile.am:
4649 add a .check target for running the check
4650 * check/gst-libs/controller.c: (GST_START_TEST):
4652 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4653 complete checks for gstbuffer; would be nice if I could get the
4654 gcov stuff to work so I can see if I actually completed gstbuffer.c
4656 add ASSERT_BUFFER_REFCOUNT
4658 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
4660 * docs/gst/gstreamer-sections.txt:
4661 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
4663 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
4664 spew out a warning if a tag that is already registered
4665 is re-registered, unless it is re-registered with a
4666 different type (#308438).
4668 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
4670 * docs/pwg/appendix-porting.xml:
4671 * docs/pwg/building-state.xml:
4672 Add some paragraphs about state changes in 0.9 to the PWG
4673 and the porting guide, in particular about the new meaning
4674 of GST_STATE_PAUSED and how to write state change functions
4675 with concurrent access by multiple threads in mind.
4677 2005-08-11 Stefan Kost <ensonic@users.sf.net>
4679 * docs/gst/gstreamer-docs.sgml:
4680 * docs/libs/gstreamer-libs-docs.sgml:
4681 added deprecation and since indexes
4682 * libs/gst/controller/gst-controller.c:
4683 * libs/gst/controller/gst-helper.c:
4687 2005-08-11 Wim Taymans <wim@fluendo.com>
4689 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
4690 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
4691 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
4692 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
4693 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
4694 (gst_ghost_pad_set_target):
4695 Actually implement (re)setting the target on a ghostpad
4696 as described in the docs.
4698 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
4700 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
4701 Check whether GST_DEBUG_NO_COLOR environment variable is
4702 set and disable coloured debug output if that is the case.
4704 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
4706 * gst/base/gsttypefindhelper.c: (helper_find_peek),
4707 (gst_type_find_helper):
4708 The memory returned by gst_type_find_peek() needs to
4709 stay valid until the end of a typefind function, and
4710 typefind functions may keep results from different
4711 offsets around, so we can't just unref the buffer from
4712 the previous _peek(), but have to save all buffers
4713 returned by _peek() until typefinding is done and only
4716 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
4718 * docs/gst/gstreamer-sections.txt:
4720 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
4722 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4724 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
4725 Fix a pretty good memleak.
4727 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
4729 * gst/gstiterator.h:
4730 Fix wrong include and 'make distcheck'.
4732 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4734 * gst/gstbin.c: (bin_bus_handler):
4735 Use gst_element_post_message() instead.
4737 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
4739 * gst/base/gstadapter.h:
4740 * gst/base/gstbasesink.h:
4741 * gst/base/gstbasesrc.h:
4742 * gst/base/gstbasetransform.h:
4743 * gst/base/gstcollectpads.h:
4744 * gst/base/gstpushsrc.h:
4745 * gst/gstiterator.h:
4746 Add padding to our base elements' class and instance structs and
4747 to GstIterator (you will need to rebuild all plugins and apps!)
4749 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4751 * gst/gstbin.c: (bin_bus_handler):
4752 Make default message forwarding from child->bus to bin->bus
4753 threadsafe and make it not emit warnings if the parent has no bus.
4755 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4757 * gst/gstelement.c: (activate_pads):
4758 On paused->ready, set pad->caps to NULL, as is the documented
4759 behaviour in this state change. Fixes playback of series of
4760 media files when visualization is enabled in Totem.
4762 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
4764 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
4765 Allow NULL as filter-caps (which means "any").
4767 2005-08-05 Stefan Kost <ensonic@users.sf.net>
4769 * docs/libs/gstreamer-libs-sections.txt:
4770 * libs/gst/controller/gst-controller.c:
4771 * libs/gst/controller/gst-controller.h:
4772 * libs/gst/controller/gst-helper.c:
4773 adding more entries to the docs and fix small doc-bugs
4775 2005-08-05 Stefan Kost <ensonic@users.sf.net>
4777 * docs/gst/gstreamer-docs.sgml:
4778 * docs/gst/gstreamer-sections.txt:
4779 * docs/gst/gstreamer.types:
4780 * docs/gst/tmpl/gstbasesink.sgml:
4781 * docs/gst/tmpl/gstbasesrc.sgml:
4782 * docs/gst/tmpl/gstbasetransform.sgml:
4783 * docs/gst/tmpl/gstfakesrc.sgml:
4784 * gst/base/gstcollectpads.c:
4785 * gst/base/gstcollectpads.h:
4786 * libs/gst/controller/gst-controller.c:
4787 * libs/gst/controller/gst-controller.h:
4788 * libs/gst/controller/gst-helper.c:
4789 * libs/gst/controller/gst-interpolation.c:
4790 * libs/gst/controller/lib.c:
4791 added long/short desc for controller docs
4792 added collectpads base class docs
4793 added correct includes to base-class docs
4795 2005-08-05 Stefan Kost <ensonic@users.sf.net>
4797 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
4798 (gst_test_mono_source_set_property),
4799 (gst_test_mono_source_class_init), (GST_START_TEST),
4800 (gst_controller_suite):
4801 * docs/gst/gstreamer-docs.sgml:
4802 * docs/gst/gstreamer-sections.txt:
4803 * docs/gst/gstreamer.types:
4804 * docs/libs/gstreamer-libs-docs.sgml:
4805 * docs/libs/gstreamer-libs-sections.txt:
4806 * gst/base/gstadapter.c:
4807 * libs/gst/controller/gst-controller.c:
4808 (gst_controlled_property_new), (gst_controlled_property_free),
4809 (gst_controller_new_valist),
4810 (gst_controller_remove_properties_valist),
4811 (gst_controller_sink_values), (_gst_controller_finalize):
4812 * libs/gst/controller/gst-controller.h:
4813 * libs/gst/controller/gst-helper.c:
4814 (gst_object_control_properties), (gst_object_uncontrol_properties),
4815 (gst_object_get_controller), (gst_object_set_controller),
4816 (gst_object_sink_values), (gst_object_get_value_arrays),
4817 (gst_object_get_value_array):
4818 more tests (and fixes) for the controller
4819 more docs for the controller
4820 integrated companies docs for the adapter
4822 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
4824 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
4825 (GST_START_TEST), (fakesrc_suite):
4826 add tests for sizetype
4828 2005-08-04 Andy Wingo <wingo@pobox.com>
4830 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
4831 fixes buffer_alloc proxying among other things.
4833 * gst/base/gstbasetransform.c:
4834 * gst/base/gstbasetransform.h:
4835 Revert patch to gstbasetransform from 7-28 removing
4838 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
4839 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
4840 Semantics changed, should return not the size of the output buffer
4841 but the byte size of a buffer with a given caps.
4843 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
4845 (gst_base_transform_configure_caps): Don't set out_size here: (in,
4846 out) are not the pad caps until setcaps finishes.
4847 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
4848 not-in-place case as well. Deal with changing from in-place to
4849 not-in-place within calling pad_alloc_buffer. Still a bit
4850 concerned about the overhead here...
4852 2005-08-03 Andy Wingo <wingo@pobox.com>
4854 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
4855 fixating is an error.
4857 2005-08-04 Edward Hervey <edward@fluendo.com>
4859 * gst/base/gstadapter.h:
4860 Added gst_adapter_get_type() to the header
4862 2005-08-03 Stefan Kost <ensonic@users.sf.net>
4864 * check/Makefile.am:
4865 * check/gst-libs/controller.c:
4866 * libs/gst/controller/gst-controller.c:
4867 (gst_controller_new_valist):
4868 added check test suite for the controller
4869 * gst/base/gstpushsrc.c:
4872 2005-08-03 Stefan Kost <ensonic@users.sf.net>
4874 * docs/gst/Makefile.am:
4875 * docs/gst/gstreamer-docs.sgml:
4876 * docs/gst/gstreamer-sections.txt:
4877 * docs/gst/gstreamer.types:
4878 * docs/gst/tmpl/gstfakesrc.sgml:
4880 * gst/base/gstbasesink.c:
4881 * gst/base/gstbasesink.h:
4882 * gst/base/gstbasesrc.c:
4883 * gst/base/gstbasesrc.h:
4884 * gst/base/gstbasetransform.c:
4885 * gst/base/gstpushsrc.c:
4886 * gst/base/gstpushsrc.h:
4887 add short/long description docs to base classes
4888 add pushsrc to the docs
4889 remove consolidated doc fragments
4891 2005-08-03 Stefan Kost <ensonic@users.sf.net>
4894 * docs/libs/Makefile.am:
4895 * docs/libs/gstreamer-libs-docs.sgml:
4896 * docs/libs/gstreamer-libs-sections.txt:
4897 * docs/libs/gstreamer-libs.types:
4898 * examples/Makefile.am:
4899 * examples/controller/.cvsignore:
4900 * examples/controller/Makefile.am:
4901 * examples/controller/audio-example.c: (main):
4902 * libs/gst/Makefile.am:
4903 * libs/gst/controller/.cvsignore:
4904 * libs/gst/controller/Makefile.am:
4905 * libs/gst/controller/gst-controller.c:
4906 (on_object_controlled_property_changed), (gst_timed_value_compare),
4907 (gst_timed_value_find),
4908 (gst_controlled_property_set_interpolation_mode),
4909 (gst_controlled_property_new), (gst_controlled_property_free),
4910 (gst_controller_find_controlled_property),
4911 (gst_controller_new_valist), (gst_controller_new),
4912 (gst_controller_remove_properties_valist),
4913 (gst_controller_remove_properties), (gst_controller_set),
4914 (gst_controller_set_from_list), (gst_controller_unset),
4915 (gst_controller_get), (gst_controller_get_all),
4916 (gst_controller_sink_values), (gst_controller_get_value_arrays),
4917 (gst_controller_get_value_array),
4918 (gst_controller_set_interpolation_mode),
4919 (_gst_controller_finalize), (_gst_controller_init),
4920 (_gst_controller_class_init), (gst_controller_get_type):
4921 * libs/gst/controller/gst-controller.h:
4922 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
4923 (g_object_uncontrol_properties), (g_object_get_controller),
4924 (g_object_set_controller), (g_object_sink_values),
4925 (g_object_get_value_arrays), (g_object_get_value_array):
4926 * libs/gst/controller/gst-interpolation.c:
4927 (gst_controlled_property_find_timed_value_node),
4928 (interpolate_none_get), (interpolate_trigger_get),
4929 (interpolate_trigger_get_value_array):
4930 * libs/gst/controller/lib.c: (gst_controller_init):
4931 * pkgconfig/Makefile.am:
4932 * pkgconfig/gstreamer-control-uninstalled.pc.in:
4933 * pkgconfig/gstreamer-control.pc.in:
4934 * testsuite/Makefile.am:
4935 * testsuite/controller/.cvsignore:
4936 * testsuite/controller/Makefile.am:
4937 * testsuite/controller/interpolator.c: (main):
4938 added controller code
4939 removed dparam pc files
4941 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
4942 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
4943 (gst_collectpads_stop):
4944 Broadcast the condition when shutting down, to make sure we wake all
4945 threads up. Shut down pads on finalize, for safety.
4947 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
4948 * gst/base/gstbasetransform.c: (gst_base_transform_init),
4949 (gst_base_transform_handle_buffer),
4950 (gst_base_transform_change_state):
4951 Handle PAUSED->READY->PAUSED transition after negotiation
4953 * gst/gstmessage.c: (gst_message_init):
4954 Extra piece of debug for new messages.
4956 2005-08-01 Stefan Kost <ensonic@users.sf.net>
4959 * docs/gst/tmpl/gstbasesrc.sgml:
4960 * docs/gst/tmpl/gstelement.sgml:
4961 * docs/gst/tmpl/gstevent.sgml:
4962 * docs/gst/tmpl/gstfakesrc.sgml:
4963 * docs/gst/tmpl/gstformat.sgml:
4964 * docs/gst/tmpl/gstghostpad.sgml:
4965 * docs/gst/tmpl/gstpad.sgml:
4966 * docs/gst/tmpl/gstquery.sgml:
4967 * docs/gst/tmpl/gststructure.sgml:
4968 * docs/gst/tmpl/gsttaglist.sgml:
4969 * docs/gst/tmpl/gstvalue.sgml:
4970 * docs/libs/gstreamer-libs-docs.sgml:
4971 * docs/libs/gstreamer-libs-sections.txt:
4972 * docs/libs/gstreamer-libs.types:
4973 * libs/gst/Makefile.am:
4974 * libs/gst/control/.cvsignore:
4975 * libs/gst/control/Makefile.am:
4976 * libs/gst/control/control.c:
4977 * libs/gst/control/control.h:
4978 * libs/gst/control/dparam.c:
4979 * libs/gst/control/dparam.h:
4980 * libs/gst/control/dparam_smooth.c:
4981 * libs/gst/control/dparam_smooth.h:
4982 * libs/gst/control/dparamcommon.h:
4983 * libs/gst/control/dparammanager.c:
4984 * libs/gst/control/dparammanager.h:
4985 * libs/gst/control/dplinearinterp.c:
4986 * libs/gst/control/dplinearinterp.h:
4987 * libs/gst/control/unitconvert.c:
4988 * libs/gst/control/unitconvert.h:
4989 * testsuite/Makefile.am:
4990 * testsuite/dynparams/.cvsignore:
4991 * testsuite/dynparams/Makefile.am:
4992 * testsuite/dynparams/dparamstest.c:
4993 * tools/Makefile.am:
4994 * tools/gst-inspect.c: (print_element_info), (main):
4995 * tools/gst-xmlinspect.c: (print_element_info), (main):
4996 deactivate and remove dparams (libgstcontrol)
4998 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
5000 * gst/elements/gsttypefindelement.c:
5001 (gst_type_find_element_have_type), (gst_type_find_element_init),
5002 (stop_typefinding), (gst_type_find_element_handle_event),
5003 (gst_type_find_element_chain), (gst_type_find_element_getrange):
5004 * gst/elements/gsttypefindelement.h:
5005 Set caps on all outgoing buffers, not just the first one.
5007 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
5009 * gst/elements/gsttypefindelement.c:
5010 (gst_type_find_element_have_type),
5011 (gst_type_find_element_check_set_buffer_caps),
5012 (gst_type_find_element_init), (stop_typefinding),
5013 (gst_type_find_element_handle_event),
5014 (gst_type_find_element_chain), (gst_type_find_element_getrange):
5015 * gst/elements/gsttypefindelement.h:
5016 Set caps on first outgoing buffer when we've found the type.
5018 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
5020 * docs/gst/gstreamer-docs.sgml:
5021 * docs/gst/gstreamer-sections.txt:
5022 * docs/gst/tmpl/gstscheduler.sgml:
5023 * docs/gst/tmpl/gstschedulerfactory.sgml:
5024 Remove some old cruft from docs.
5026 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
5029 Fix inline docs for GstPadLinkReturn.
5031 * gst/gststructure.c: (gst_structure_has_name):
5032 * gst/gststructure.h:
5033 * docs/gst/gstreamer-sections.txt:
5034 New API: gst_structure_has_name().
5036 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
5039 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
5040 and _LARGEFILE_SOURCE in config.h as required. Do not
5041 export those flags in our .pc files any longer (#142209).
5043 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
5045 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
5046 (gst_file_sink_do_seek), (gst_file_sink_event),
5047 (gst_file_sink_get_current_offset), (gst_file_sink_render):
5048 Redo seek/tell calls with large file support in mind; add some
5049 debugging messages; add log message that tells us when large
5050 file support is unavailable or not enabled for some reason.
5052 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
5053 Add log message that tells us when large file support
5054 is unavailable or not enabled for some reason.
5056 2005-07-29 Wim Taymans <wim@fluendo.com>
5058 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
5059 Added test for removing an element with ghostpad from a bin.
5060 Fixed test as current implementation does the right thing.
5062 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
5063 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
5064 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
5065 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
5066 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
5067 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
5068 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
5069 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
5070 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
5071 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
5072 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
5073 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
5074 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
5075 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
5076 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
5077 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
5078 * gst/gstghostpad.h:
5079 Clean up ghostpads, remove properties for internal stuff.
5082 Prepare for switching targets, not all use cases work yet.
5084 2005-07-29 Wim Taymans <wim@fluendo.com>
5086 * docs/design/part-gstghostpad.txt:
5089 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
5090 (gst_bin_remove_func):
5091 Unlinking pads while holding the bin LOCK is not a good
5094 * gst/gstpad.c: (gst_pad_class_init),
5095 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
5096 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
5097 No prob setting template after creating the pad.
5099 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
5101 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
5102 (gst_bus_peek), (gst_bus_source_dispatch),
5103 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
5104 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
5105 gst_bus_poll may be called from other threads. Handle
5106 this nicely by not making poll_data disappear off the
5107 stack once gst_bus_poll returns.
5108 gst_bus_peek now increments the refcount on the returned
5111 2005-07-29 Wim Taymans <wim@fluendo.com>
5113 * docs/design/part-gstghostpad.txt:
5114 Overview of current GhostPad datastructures and use
5115 cases for changing the target.
5117 2005-07-28 Wim Taymans <wim@fluendo.com>
5119 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5120 Added checks for hierarchy consistency whan adding linked
5123 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5124 Added check to test element scheduling without bin/pipeline.
5126 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5127 First add elements to bin, then link.
5129 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
5130 (gst_bin_remove_func):
5131 Unlink pads from elements added/removed from bin to maintain
5132 hierarchy consistency.
5134 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5136 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5137 (gst_base_transform_handle_buffer):
5138 * gst/base/gstbasetransform.h:
5139 Remove broken delay_configure (fixes renegotiation of software
5140 scaling pipelines); remove some leftover printf()s.
5142 2005-07-28 Wim Taymans <wim@fluendo.com>
5144 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
5145 Added some more tests for wrong hierarchy
5147 * docs/design/part-overview.txt:
5150 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
5153 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
5154 (gst_element_dispose):
5157 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
5158 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
5159 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
5160 (gst_pad_set_caps), (gst_pad_send_event):
5161 Check for correct hierarchy when linking pads. Moving to
5162 strict requirement for ghostpads when linking elements in
5166 Clean ups. Added WRONG_HIERARCHY return value.
5168 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5170 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
5171 Better debug if no transform is possible.
5173 2005-07-27 Wim Taymans <wim@fluendo.com>
5175 * docs/random/wtay/network-transp:
5178 2005-07-27 Wim Taymans <wim@fluendo.com>
5180 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5181 (gst_dp_event_from_packet):
5182 Fix serialization of seek events.
5184 2005-07-27 Wim Taymans <wim@fluendo.com>
5186 * check/gst-libs/gdp.c: (GST_START_TEST):
5187 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5188 Fix compilation and fix event serialization.
5190 2005-07-27 Wim Taymans <wim@fluendo.com>
5193 * docs/design/part-TODO.txt:
5194 * docs/design/part-events.txt:
5197 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5198 (gst_base_sink_event), (gst_base_sink_do_sync),
5199 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
5200 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5201 (gst_base_src_do_seek), (gst_base_src_event_handler),
5202 (gst_base_src_loop):
5203 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5204 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5205 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
5206 (gst_base_transform_event), (gst_base_transform_handle_buffer),
5207 (gst_base_transform_set_passthrough),
5208 (gst_base_transform_is_passthrough):
5209 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5210 * gst/elements/gstfilesink.c: (gst_file_sink_event):
5216 * gst/gstelement.c: (gst_element_seek):
5218 Update gst_element_seek.
5220 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
5221 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
5222 (gst_event_new_flush_start), (gst_event_new_flush_stop),
5223 (gst_event_new_eos), (gst_event_new_newsegment),
5224 (gst_event_parse_newsegment), (gst_event_new_tag),
5225 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
5226 (gst_event_parse_qos), (gst_event_new_seek),
5227 (gst_event_parse_seek), (gst_event_new_navigation):
5229 Make GstEvent use GstStructure. Add parsing code, make sure the
5230 API is sufficiently generic.
5231 Mark possible directions of events and serialization.
5233 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
5234 (_gst_message_copy), (gst_message_new_segment_start),
5235 (gst_message_new_segment_done), (gst_message_new_custom),
5236 (gst_message_parse_segment_start),
5237 (gst_message_parse_segment_done):
5240 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
5241 (gst_pad_set_caps), (gst_pad_send_event):
5242 Update for new events.
5243 Catch events sent in wrong directions.
5245 * gst/gstqueue.c: (gst_queue_link_src),
5246 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
5247 (gst_queue_handle_src_query):
5252 Remove event code from this file.
5254 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5255 (gst_dp_event_from_packet):
5258 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5260 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
5261 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5262 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
5263 Make debugging actually useful.
5265 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5267 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
5268 (gst_pad_fixate_caps):
5269 Implement default fixation once again, so that gst_pad_fixate()
5270 actually does anything at all. This probably needs to be some
5271 sort of a last resort, and use profile-based fixation first, but
5272 since that doesn't exist yet, this is the best we have. Fixes
5273 visualization in Totem.
5275 2005-07-22 Wim Taymans <wim@fluendo.com>
5277 * docs/design/part-events.txt:
5280 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5281 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
5282 (gst_base_sink_activate_pull):
5285 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
5286 (gst_fake_src_create):
5287 Fix handoff marshall.
5289 * gst/elements/gstidentity.c: (gst_identity_class_init),
5290 (gst_identity_transform_ip):
5291 We're a real inplace element.
5293 * gst/gstbus.c: (gst_bus_post):
5294 Added some comments.
5296 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
5297 * tests/muxing/case1.c: (main):
5298 * tests/sched/dynamic-pipeline.c: (main):
5299 * tests/sched/interrupt1.c: (main):
5300 * tests/sched/interrupt2.c: (main):
5301 * tests/sched/interrupt3.c: (main):
5302 * tests/sched/runxml.c: (main):
5303 * tests/sched/sched-stress.c: (main):
5304 * tests/seeking/seeking1.c: (event_received), (main):
5305 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5307 * tests/threadstate/threadstate3.c: (main):
5308 * tests/threadstate/threadstate4.c: (main):
5309 * tests/threadstate/threadstate5.c: (main):
5312 2005-07-21 Wim Taymans <wim@fluendo.com>
5314 * docs/design/part-seeking.txt:
5315 Some small additions.
5317 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5318 (gst_base_sink_get_times), (gst_base_sink_do_sync),
5319 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
5320 * gst/base/gstbasesink.h:
5321 discont values are gint64, handle the math correctly.
5323 * gst/base/gstbasesrc.c: (gst_base_src_loop):
5324 Make the basesrc report error if the source pad is not linked.
5326 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
5327 (gst_queue_loop), (gst_queue_handle_src_query),
5328 (gst_queue_src_activate_push):
5329 Make queue collect data even if the srcpad is not linked.
5330 Start pushing out data as soon as it is linked.
5332 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
5334 Added gst_flow_get_name() to ease error reporting.
5336 2005-07-20 Wim Taymans <wim@fluendo.com>
5338 * gst/gstmessage.c: (gst_message_new_segment_start),
5339 (gst_message_new_segment_done), (gst_message_parse_segment_start),
5340 (gst_message_parse_segment_done):
5342 Added a bunch of messages for advanced seeking.
5344 * gst/parse/grammar.y:
5345 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
5346 (gst_dpman_state_changed):
5347 Fix some new-pad -> pad-added signals
5349 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5351 * docs/manual/appendix-porting.xml:
5352 * docs/pwg/appendix-porting.xml:
5353 Document new-pad/state-change signal renames and the FixedList
5356 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5358 * docs/manual/advanced-autoplugging.xml:
5359 * docs/manual/basics-helloworld.xml:
5360 * docs/manual/basics-pads.xml:
5361 * docs/random/ds/0.9-suggested-changes:
5362 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
5367 * gst/gststructure.c: (gst_structure_value_get_generic_type),
5368 (gst_structure_parse_array), (gst_structure_parse_value):
5369 * gst/gstvalue.c: (gst_type_is_fixed),
5370 (gst_value_list_prepend_value), (gst_value_list_append_value),
5371 (gst_value_list_get_size), (gst_value_list_get_value),
5372 (gst_value_transform_array_string), (gst_value_serialize_array),
5373 (gst_value_deserialize_array), (gst_value_intersect_array),
5374 (gst_value_is_fixed), (_gst_value_initialize):
5376 GstElement::new-pad -> pad-added, GstElement::state-change ->
5377 state-changed, GstValueFixedList -> GstValueArray, add format and
5378 flags as their own arguments in gst_element_seek() (should improve
5379 "bindeability"), remove function generators since they don't work
5380 under a whole bunch of compilers (they were deprecated already
5383 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5385 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5386 (_gst_debug_register_funcptr):
5388 Fix illegal cast on some platforms (#309253).
5390 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5392 * gst/gstmessage.c: (gst_message_new_custom):
5394 Add _new_custom, make _new_application a macro to _new_custom.
5396 2005-07-20 Wim Taymans <wim@fluendo.com>
5398 * gst/base/gstbasesrc.c: (gst_base_src_init),
5399 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
5400 * gst/base/gstbasesrc.h:
5401 Add a gboolean to decide when to push out a discont.
5403 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5404 (gst_queue_loop), (gst_queue_handle_src_query),
5405 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
5406 (gst_queue_set_property), (gst_queue_get_property):
5409 * tests/threadstate/threadstate1.c: (main):
5410 Make a thread test compile and run... very silly..
5413 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5415 * docs/manual/appendix-porting.xml:
5416 Mention removal of libgstgconf-0.9.la and existence of gconf
5419 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
5421 * docs/pwg/advanced-clock.xml:
5422 * docs/pwg/appendix-porting.xml:
5423 * docs/pwg/intro-preface.xml:
5424 * docs/pwg/other-base.xml:
5425 * docs/pwg/other-manager.xml:
5426 * docs/pwg/other-nton.xml:
5427 * docs/pwg/other-ntoone.xml:
5428 * docs/pwg/other-oneton.xml:
5430 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
5431 demuxer), remove n-to-n (was never written), fix some code examples
5432 and links and update the porting section to include all this.
5434 2005-07-19 Wim Taymans <wim@fluendo.com>
5436 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
5437 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
5438 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
5439 (gst_queue_src_activate_push), (gst_queue_change_state),
5440 (gst_queue_get_property):
5442 Propagate GstFlowReturn more intelligently upstream and output
5443 an ERROR/EOS when streaming stopped due to fatal error.
5445 2005-07-19 Wim Taymans <wim@fluendo.com>
5447 * tools/gst-launch.c: (check_intr), (event_loop), (main):
5448 Don't block forever for the state change to complete, the
5449 pipeline already did with a sensible timeout.
5451 2005-07-19 Wim Taymans <wim@fluendo.com>
5453 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5454 Make sure we never call the create function is we
5457 2005-07-19 Andy Wingo <wingo@pobox.com>
5459 * gst/parse/parse.l: Attempt to solve bug #172815.
5461 2005-07-19 Wim Taymans <wim@fluendo.com>
5463 * docs/design/part-clocks.txt:
5464 * docs/design/part-events.txt:
5465 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
5467 Only update the seeking values when we are not
5470 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
5472 * gst/base/gstbasesrc.c: (gst_base_src_loop):
5473 Oops, ignore the result of gst_pad_push_event here.
5475 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
5477 * gst/base/gstbasesrc.c: (gst_base_src_loop),
5478 (gst_base_src_activate_push):
5479 Send discont event from the loop function, as pads
5480 aren't activated yet in the activate_push handler.
5482 * gst/gstbin.c: (bin_bus_handler):
5483 Don't leak element name.
5485 2005-07-18 Andy Wingo <wingo@pobox.com>
5487 * configure.ac: Use AS_LIBTOOL_TAGS.
5489 2005-07-18 Wim Taymans <wim@fluendo.com>
5491 * docs/gst/gstreamer.types:
5492 Remove deleted types.
5494 2005-07-18 Wim Taymans <wim@fluendo.com>
5496 * check/elements/gstfakesrc.c: (GST_START_TEST):
5499 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
5500 (init_popt_callback):
5502 * gst/gst_private.h:
5503 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
5504 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
5507 * gst/gstconfig.h.in:
5508 * gst/gstelement.c: (gst_element_class_init),
5509 (gst_element_set_base_time), (gst_element_get_base_time),
5510 (iterator_fold_with_resync), (gst_element_change_state),
5511 (gst_element_dispose), (gst_element_get_bus):
5513 * gst/gstelementfactory.h:
5514 * gst/gsterror.c: (_gst_core_errors_init):
5517 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
5519 * gst/gstinfo.c: (_gst_debug_init):
5520 * gst/gstmessage.c: (_gst_message_copy):
5522 * gst/gstminiobject.h:
5525 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
5526 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
5529 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
5530 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
5531 (gst_pipeline_get_last_stream_time):
5532 * gst/gstpipeline.h:
5533 * gst/gstpluginfeature.h:
5535 * gst/gstscheduler.c:
5536 * gst/gstscheduler.h:
5537 * gst/gststructure.h:
5538 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5539 (gst_task_finalize), (gst_task_func), (gst_task_create),
5540 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
5541 (gst_task_stop), (gst_task_pause):
5543 * gst/gsttypefind.h:
5545 * gst/registries/gstlibxmlregistry.c: (load_feature),
5546 (gst_xml_registry_load), (gst_xml_registry_save_feature):
5547 * gst/registries/gstxmlregistry.c:
5548 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
5549 * gst/schedulers/threadscheduler.c:
5550 * libs/gst/control/dparammanager.h:
5551 * tools/gst-inspect.c: (print_element_list),
5552 (print_plugin_features), (print_element_features):
5553 * tools/gst-xmlinspect.c: (print_element_list),
5554 (print_plugin_info), (main):
5555 Removed plugable schedulers.
5556 Removed Scheduler/Manager from elements.
5557 Removed gsttypes.h, rearranged includes.
5558 Removed dependency pad<->element, element<>pipeline, and
5559 various others, fix includes.
5560 implement gst_pad_get_parent() with gst_object_get_parent()
5561 Make GstTask sefcontained.
5562 Fix _get_state() on GstBin, it did not return ASYNC with a 0
5564 Fix endless loop in iterator_fold_with_resync.
5567 2005-07-18 Wim Taymans <wim@fluendo.com>
5573 2005-07-18 Wim Taymans <wim@fluendo.com>
5578 2005-07-18 Wim Taymans <wim@fluendo.com>
5584 2005-07-18 Wim Taymans <wim@fluendo.com>
5586 * docs/design/part-dynamic.txt:
5587 * docs/design/part-events.txt:
5588 * docs/design/part-seeking.txt:
5589 Some more docs in the works.
5591 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5592 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
5593 (gst_base_transform_setcaps), (gst_base_transform_get_size),
5594 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
5595 (gst_base_transform_handle_buffer),
5596 (gst_base_transform_sink_activate_push),
5597 (gst_base_transform_src_activate_pull),
5598 (gst_base_transform_set_passthrough),
5599 (gst_base_transform_is_passthrough):
5602 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
5605 * gst/gstevent.c: (gst_event_finalize):
5608 * gst/gstutils.c: (gst_element_unlink),
5609 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
5610 (gst_pad_proxy_setcaps):
5612 Add _get_parent_element() to get a pads parent as an element.
5614 2005-07-18 Wim Taymans <wim@fluendo.com>
5616 * check/gst/gstbin.c: (GST_START_TEST):
5619 2005-07-18 Wim Taymans <wim@fluendo.com>
5621 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
5622 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
5623 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
5624 (gst_base_sink_event), (gst_base_sink_do_sync),
5625 (gst_base_sink_chain), (gst_base_sink_loop),
5626 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
5627 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5629 Fix logic for returning ASYNC when not prerolled.
5631 2005-07-18 Wim Taymans <wim@fluendo.com>
5633 * gst/gstqueue.c: (gst_queue_handle_sink_event):
5634 Fix nasty refcount bug.
5636 2005-07-16 Philippe Khalaf <burger@speedy.org>
5638 * gst/elements/gstfdsrc.c:
5639 * gst/elements/gstfdsrc.h:
5640 * gst/elements/gstelements.c:
5641 * gst/elements/Makefile.am:
5642 Ported fdsrc to 0.9.
5644 2005-07-16 Wim Taymans <wim@fluendo.com>
5646 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5647 (gst_base_sink_do_sync):
5650 2005-07-16 Wim Taymans <wim@fluendo.com>
5652 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5653 (gst_base_sink_event), (gst_base_sink_get_times),
5654 (gst_base_sink_do_sync), (gst_base_sink_change_state):
5655 * gst/base/gstbasesink.h:
5656 Store and use discont values when syncing buffers as described
5659 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5660 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
5661 (gst_base_src_activate_push):
5662 Push discont event when starting.
5664 * gst/elements/gstidentity.c: (gst_identity_transform):
5667 * gst/gstbin.c: (gst_bin_change_state):
5668 Small cleanups in base_time distribution.
5670 * gst/gstelement.c: (gst_element_set_base_time),
5671 (gst_element_get_base_time), (gst_element_change_state):
5673 Added methods for the base_time of the element.
5676 * gst/gstpipeline.c: (gst_pipeline_send_event),
5677 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
5678 (gst_pipeline_get_last_stream_time):
5679 * gst/gstpipeline.h:
5681 Handle seeking as described in design doc, remove stream_time
5683 Cleanups clock and stream_time selection code. Added accessors
5684 for the stream_time.
5687 2005-07-16 Andy Wingo <wingo@pobox.com>
5689 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
5692 2005-07-16 Wim Taymans <wim@fluendo.com>
5694 * check/gst/gstbin.c: (GST_START_TEST):
5695 Make elements silent as the deep_notify refs the
5696 parent, which might make the test fail.
5698 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
5699 Don't hold the lock for too long.
5701 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
5703 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
5704 Don't unref the caps we passed to gst_caps_make_writable() after
5705 passing them. gst_caps_make_writable() will do that for us.
5707 2005-07-15 Andy Wingo <wingo@pobox.com>
5709 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
5712 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
5713 own marshalling function for the handoff signal. Properly type the
5714 buffer as a buffer. Fixes some warnings. Should do a more general
5716 (gst_identity_class_init): Plug into the right marshaller.
5718 2005-07-15 Wim Taymans <wim@fluendo.com>
5720 * docs/design/part-TODO.txt:
5721 * docs/design/part-clocks.txt:
5722 * docs/design/part-element-sink.txt:
5723 * docs/design/part-events.txt:
5724 * docs/design/part-gstpipeline.txt:
5725 Updated docs, mostly DISCONT related.
5727 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
5729 * docs/pwg/building-pads.xml:
5730 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
5732 2005-07-15 Andy Wingo <wingo@pobox.com>
5734 * tools/gst-typefind.c: Update, add copyright block.
5736 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
5737 Normalize and truncate caps before fixation.
5740 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
5741 discards all but the first structure from its argument.
5743 2005-07-15 Wim Taymans <wim@fluendo.com>
5745 * gst/base/gstbasetransform.c: (gst_base_transform_init),
5746 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
5747 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5748 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
5749 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
5750 (gst_base_transform_chain), (gst_base_transform_change_state),
5751 (gst_base_transform_set_passthrough),
5752 (gst_base_transform_is_passthrough):
5753 * gst/base/gstbasetransform.h:
5754 Make passthrough work using the bufferpools.
5755 Changed API a bit, subclasses have to write into a buffer
5756 provided by the base class.
5757 More debug info in nego functions.
5759 * gst/elements/gstidentity.c: (gst_identity_init),
5760 (gst_identity_transform):
5761 Port to new base class.
5763 2005-07-15 Wim Taymans <wim@fluendo.com>
5765 * gst/gstmessage.c: (gst_message_new_state_changed):
5766 * tools/gst-launch.c: (event_loop), (main):
5767 Totally dump messages in -launch with the -m option.
5768 Fix message name for State messages,
5770 2005-07-14 Wim Taymans <wim@fluendo.com>
5772 * gst/base/gstbasesrc.c: (gst_base_src_loop):
5773 Post error messages on errors.
5775 2005-07-14 Wim Taymans <wim@fluendo.com>
5777 * gst/gstcaps.c: (gst_caps_do_simplify):
5781 Define error for stream stopped.
5783 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
5784 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
5785 Do proper return values.
5787 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
5788 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
5789 (gst_pad_get_range):
5790 Better return values.
5793 Reorganise return values, add macro to check for fatal errors.
5795 * gst/gstqueue.c: (gst_queue_chain):
5796 Return proper GstFlowReturn values,
5798 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
5800 * docs/gst/gstreamer-sections.txt:
5801 * docs/gst/gstreamer.types:
5802 * docs/gst/tmpl/gst.sgml:
5803 * docs/gst/tmpl/gstbasesink.sgml:
5804 * docs/gst/tmpl/gstbasesrc.sgml:
5805 * docs/gst/tmpl/gstbasetransform.sgml:
5806 * docs/gst/tmpl/gstbin.sgml:
5807 * docs/gst/tmpl/gstbuffer.sgml:
5808 * docs/gst/tmpl/gstcaps.sgml:
5809 * docs/gst/tmpl/gstclock.sgml:
5810 * docs/gst/tmpl/gstcompat.sgml:
5811 * docs/gst/tmpl/gstconfig.sgml:
5812 * docs/gst/tmpl/gstelement.sgml:
5813 * docs/gst/tmpl/gstelementdetails.sgml:
5814 * docs/gst/tmpl/gstelementfactory.sgml:
5815 * docs/gst/tmpl/gstenumtypes.sgml:
5816 * docs/gst/tmpl/gsterror.sgml:
5817 * docs/gst/tmpl/gstevent.sgml:
5818 * docs/gst/tmpl/gstfakesink.sgml:
5819 * docs/gst/tmpl/gstfakesrc.sgml:
5820 * docs/gst/tmpl/gstfilesink.sgml:
5821 * docs/gst/tmpl/gstfilesrc.sgml:
5822 * docs/gst/tmpl/gstfilter.sgml:
5823 * docs/gst/tmpl/gstformat.sgml:
5824 * docs/gst/tmpl/gstghostpad.sgml:
5825 * docs/gst/tmpl/gstimplementsinterface.sgml:
5826 * docs/gst/tmpl/gstindex.sgml:
5827 * docs/gst/tmpl/gstindexfactory.sgml:
5828 * docs/gst/tmpl/gstinfo.sgml:
5829 * docs/gst/tmpl/gstiterator.sgml:
5830 * docs/gst/tmpl/gstmacros.sgml:
5831 * docs/gst/tmpl/gstmemchunk.sgml:
5832 * docs/gst/tmpl/gstminiobject.sgml:
5833 * docs/gst/tmpl/gstobject.sgml:
5834 * docs/gst/tmpl/gstpad.sgml:
5835 * docs/gst/tmpl/gstpadtemplate.sgml:
5836 * docs/gst/tmpl/gstparse.sgml:
5837 * docs/gst/tmpl/gstpipeline.sgml:
5838 * docs/gst/tmpl/gstplugin.sgml:
5839 * docs/gst/tmpl/gstpluginfeature.sgml:
5840 * docs/gst/tmpl/gstquery.sgml:
5841 * docs/gst/tmpl/gstqueue.sgml:
5842 * docs/gst/tmpl/gstregistry.sgml:
5843 * docs/gst/tmpl/gstregistrypool.sgml:
5844 * docs/gst/tmpl/gstscheduler.sgml:
5845 * docs/gst/tmpl/gstschedulerfactory.sgml:
5846 * docs/gst/tmpl/gststructure.sgml:
5847 * docs/gst/tmpl/gstsystemclock.sgml:
5848 * docs/gst/tmpl/gsttaglist.sgml:
5849 * docs/gst/tmpl/gsttagsetter.sgml:
5850 * docs/gst/tmpl/gsttrace.sgml:
5851 * docs/gst/tmpl/gsttrashstack.sgml:
5852 * docs/gst/tmpl/gsttypefind.sgml:
5853 * docs/gst/tmpl/gsttypefindfactory.sgml:
5854 * docs/gst/tmpl/gsttypes.sgml:
5855 * docs/gst/tmpl/gsturihandler.sgml:
5856 * docs/gst/tmpl/gsturitype.sgml:
5857 * docs/gst/tmpl/gstutils.sgml:
5858 * docs/gst/tmpl/gstvalue.sgml:
5859 * docs/gst/tmpl/gstversion.sgml:
5860 * docs/gst/tmpl/gstxml.sgml:
5861 * docs/libs/tmpl/gstcontrol.sgml:
5862 * docs/libs/tmpl/gstdataprotocol.sgml:
5863 * docs/libs/tmpl/gstdparam.sgml:
5864 * docs/libs/tmpl/gstdplinint.sgml:
5865 * docs/libs/tmpl/gstdpman.sgml:
5866 * docs/libs/tmpl/gstdpsmooth.sgml:
5867 * docs/libs/tmpl/gstgetbits.sgml:
5868 * docs/libs/tmpl/gstunitconvert.sgml:
5869 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
5870 (gst_push_src_base_init), (gst_push_src_class_init),
5871 (gst_push_src_init), (gst_push_src_create):
5872 * gst/base/gstpushsrc.h:
5873 * gst/elements/gstelements.c:
5874 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
5875 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
5876 (gst_fake_sink_init), (gst_fake_sink_set_property),
5877 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
5878 (gst_fake_sink_event), (gst_fake_sink_preroll),
5879 (gst_fake_sink_render), (gst_fake_sink_change_state):
5880 * gst/elements/gstfakesink.h:
5881 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5882 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5883 (gst_fake_src_base_init), (gst_fake_src_class_init),
5884 (gst_fake_src_init), (gst_fake_src_event_handler),
5885 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
5886 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
5887 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
5888 (gst_fake_src_create_buffer), (gst_fake_src_create),
5889 (gst_fake_src_start), (gst_fake_src_stop):
5890 * gst/elements/gstfakesrc.h:
5891 * gst/elements/gstfilesink.c: (_do_init),
5892 (gst_file_sink_base_init), (gst_file_sink_class_init),
5893 (gst_file_sink_init), (gst_file_sink_dispose),
5894 (gst_file_sink_set_location), (gst_file_sink_set_property),
5895 (gst_file_sink_get_property), (gst_file_sink_open_file),
5896 (gst_file_sink_close_file), (gst_file_sink_query),
5897 (gst_file_sink_event), (gst_file_sink_render),
5898 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
5899 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
5900 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
5901 * gst/elements/gstfilesink.h:
5902 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
5903 (gst_file_src_class_init), (gst_file_src_init),
5904 (gst_file_src_finalize), (gst_file_src_set_location),
5905 (gst_file_src_set_property), (gst_file_src_get_property),
5906 (gst_file_src_map_region), (gst_file_src_map_small_region),
5907 (gst_file_src_create_mmap), (gst_file_src_create_read),
5908 (gst_file_src_create), (gst_file_src_is_seekable),
5909 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
5910 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
5911 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
5912 (gst_file_src_uri_handler_init):
5913 * gst/elements/gstfilesrc.h:
5914 more autistic cleanliness in functions/names/defines
5916 2005-07-13 Andy Wingo <wingo@pobox.com>
5918 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
5919 source couldn't negotiate.
5921 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
5925 * gst/gstutils.c (gst_element_link_pads_filtered): New old
5926 function. I am channeling Hades. Put your boots on suckers!!!
5928 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
5930 * testsuite/caps/Makefile.am:
5931 * testsuite/caps/value_compare.c:
5932 * testsuite/caps/value_intersect.c:
5933 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5934 move two testsuite apps over to the check dir
5936 2005-07-12 Wim Taymans <wim@fluendo.com>
5938 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
5939 Added more debug info in the negotiate process.
5942 Prepare for segment playback.
5944 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
5950 * tools/gst-launch.c: (main):
5951 NULL pipeline on errors.
5953 2005-07-12 Andy Wingo <wingo@pobox.com>
5955 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
5956 not it comes from a malloc region. Make sure our copy gets freed.
5958 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
5960 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5961 * check/gst/gstmessage.c: (GST_START_TEST):
5962 * check/gst/gststructure.c: (GST_START_TEST),
5963 (gst_structure_suite), (main):
5965 * gst/gstelement.c: (gst_element_message_full):
5966 clean up GError and debug string now that they get copied
5967 * gst/gstmessage.c: (gst_message_new_error),
5968 (gst_message_new_warning), (gst_message_parse_error),
5969 (gst_message_parse_warning):
5970 use GST_TYPE_G_ERROR for structure_new, and take copies of
5971 arguments, so that we don't mess up refcounting
5973 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
5975 * check/Makefile.am:
5976 add per-test valgrind targets
5977 * check/gst-libs/gdp.c: (GST_START_TEST),
5978 (gst_data_protocol_suite), (main):
5981 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
5983 * check/Makefile.am:
5984 instate more valgrindable tests
5985 * check/elements/gstfakesrc.c: (chain_func), (event_func),
5986 (GST_START_TEST), (fakesrc_suite):
5987 * check/gst/gstpad.c: (GST_START_TEST):
5988 * check/gst/gststructure.c: (GST_START_TEST):
5990 * docs/gst/tmpl/gstminiobject.sgml:
5991 * gst/gstpad.c: (gst_pad_finalize):
5992 fix the static mutex leak
5994 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
5996 * check/Makefile.am:
5997 add two more tests for valgrinding
5998 * check/gst/gstvalue.c: (GST_START_TEST):
5999 test refcount of deserialized buffer, found a leak
6000 * docs/gst/gstreamer-docs.sgml:
6001 * docs/gst/gstreamer-sections.txt:
6002 * docs/gst/gstreamer.types:
6003 * docs/gst/tmpl/gstminiobject.sgml:
6004 add miniobject to docs
6005 * gst/gstminiobject.c:
6007 * gst/gstvalue.c: (gst_value_deserialize_buffer),
6008 (gst_string_unwrap):
6009 fix a hard-to-find invalid write for one of the tests
6010 fix a leak for deserialized buffers
6012 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6014 * docs/pwg/advanced-events.xml:
6015 * docs/pwg/advanced-request.xml:
6016 * docs/pwg/advanced-scheduling.xml:
6017 * docs/pwg/appendix-porting.xml:
6018 * docs/pwg/building-boiler.xml:
6019 * docs/pwg/intro-preface.xml:
6020 * docs/pwg/other-ntoone.xml:
6021 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
6022 of example code and explanation for pad activation, loop() and
6023 getrange() functions and a bit more. Remove old comments pointing
6025 * examples/pwg/Makefile.am:
6026 Add loop/getrange examples.
6028 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
6031 check for valgrind binary + some fixes
6033 valgrind suppressions for the tests
6034 * check/Makefile.am:
6035 add a valgrind: target that valgrinds the unit tests
6036 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
6037 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6038 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6039 * check/gst/gstghostpad.c:
6041 * check/gst/gstdata.c:
6043 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
6044 (thread_unref), (gst_mini_object_suite), (main):
6046 * gst/gst.c: (gst_deinit):
6048 add a method to clean up.
6049 * gst/gstsystemclock.c: (gst_system_clock_dispose),
6050 (gst_system_clock_obtain):
6051 allow for disposing the system clock.
6052 * tools/gst-launch.c: (main):
6055 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
6057 * docs/gst/tmpl/gstbasesrc.sgml:
6058 * docs/gst/tmpl/gstfakesrc.sgml:
6059 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6060 (gst_base_src_init), (gst_base_src_set_property),
6061 (gst_base_src_get_property), (gst_base_src_get_range),
6062 (gst_base_src_start):
6063 * gst/base/gstbasesrc.h:
6064 add num-buffers property
6065 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6066 (gst_fakesrc_init), (gst_fakesrc_set_property),
6067 (gst_fakesrc_get_property), (gst_fakesrc_create),
6068 (gst_fakesrc_start):
6069 remove num-buffers property
6071 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
6073 * docs/gst/gstreamer-sections.txt:
6074 * docs/gst/tmpl/gstbasesink.sgml:
6075 * docs/gst/tmpl/gstbasesrc.sgml:
6076 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
6077 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
6078 (gst_base_sink_finalize), (gst_base_sink_set_clock),
6079 (gst_base_sink_set_property), (gst_base_sink_get_property),
6080 (gst_base_sink_handle_object), (gst_base_sink_event),
6081 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
6082 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
6083 (gst_base_sink_loop), (gst_base_sink_deactivate),
6084 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
6085 (gst_base_sink_change_state):
6086 * gst/base/gstbasesink.h:
6087 * gst/base/gstbasesrc.h:
6088 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
6089 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
6090 (gst_filesink_init):
6091 more macro splitting
6093 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
6095 * gst/gstelement.c: (gst_element_get_bus):
6097 * tools/gst-launch.c: (check_intr), (event_loop):
6100 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
6102 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
6105 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
6107 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6108 (gst_base_src_finalize):
6109 add finalize method and clean up properly
6110 * gst/gstpipeline.c: (gst_pipeline_dispose):
6113 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
6115 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
6117 add more things to check
6118 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6122 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
6124 * check/elements/gstfakesrc.c: (chain_func), (event_func),
6125 (GST_START_TEST), (fakesrc_suite):
6126 * check/gst-libs/gdp.c: (GST_START_TEST):
6127 * check/gst/gst.c: (GST_START_TEST):
6128 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6129 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6130 * check/gst/gstbus.c: (GST_START_TEST):
6131 * check/gst/gstcaps.c: (GST_START_TEST):
6132 * check/gst/gstdata.c: (GST_START_TEST):
6133 * check/gst/gstelement.c: (GST_START_TEST):
6134 * check/gst/gstghostpad.c: (GST_START_TEST):
6135 * check/gst/gstiterator.c: (GST_START_TEST):
6136 * check/gst/gstmessage.c: (GST_START_TEST):
6137 * check/gst/gstobject.c: (GST_START_TEST):
6138 * check/gst/gstpad.c: (GST_START_TEST):
6139 * check/gst/gststructure.c: (GST_START_TEST):
6140 * check/gst/gstsystemclock.c: (GST_START_TEST),
6141 (gst_systemclock_suite):
6142 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6143 * check/gst/gstvalue.c: (GST_START_TEST):
6144 * check/pipelines/cleanup.c: (GST_START_TEST):
6145 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6146 * check/states/sinks.c: (GST_START_TEST):
6147 * check/gstcheck.c: (gst_check_init):
6149 add debugging category
6150 use GST_START_TEST now, so we add a debug line
6152 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
6154 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
6155 add test for state change message on a bin
6156 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
6158 * gst/gstbin.c: (gst_bin_init):
6159 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
6160 * gst/gstelement.c: (gst_element_post_message),
6161 (gst_element_set_state):
6162 * gst/gstelementfactory.c: (gst_element_factory_create):
6163 * gst/gstmessage.c: (gst_message_new):
6164 * gst/gstscheduler.c:
6165 various debugging additions and cleanups
6167 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
6169 * check/Makefile.am:
6170 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
6172 adding tests for elements
6173 * gst/gstelement.c: (gst_element_dispose):
6175 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
6177 * gst/registries/gstlibxmlregistry.c: (load_feature):
6178 plug more leaks. A simple gst_init() now is leakfree, yay.
6180 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
6182 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
6183 (gst_xml_registry_load):
6184 plug another memleak
6186 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
6189 use GST_SET_ERROR_CFLAGS
6191 change to ERROR_CFLAGS
6193 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
6196 make GST_ERROR_CFLAGS overridable and re-enable Werror
6198 add a note about error CFLAGS
6199 * docs/gst/tmpl/gstfakesrc.sgml:
6200 * gst/elements/gstfakesrc.c:
6201 comment out some unused code
6202 * gst/gst.c: (split_and_iterate):
6203 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
6207 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
6209 * common/Makefile.am:
6210 * common/gtk-doc.mak:
6211 * docs/gst/Makefile.am:
6212 factor out gtk-doc.mak
6214 2005-07-07 Wim Taymans <wim@fluendo.com>
6216 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
6217 (gst_thread_scheduler_dispose):
6218 Unlock the STREAM_LOCK completely.
6220 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
6222 * check/Makefile.am:
6223 * check/elements/.cvsignore:
6224 * check/elements/gstfakesrc.c: (chain_func), (event_func),
6225 (START_TEST), (fakesrc_suite), (main):
6226 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6227 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6228 (gst_fakesrc_create), (gst_fakesrc_start):
6229 * gst/elements/gstfakesrc.h:
6230 adding a first element test
6232 2005-07-07 Andy Wingo <wingo@pobox.com>
6234 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
6237 2005-07-07 Wim Taymans <wim@fluendo.com>
6243 2005-07-07 Wim Taymans <wim@fluendo.com>
6245 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6246 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
6247 Allow subclasses to implement their own negotiation.
6249 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
6251 * docs/design/part-gstbin.txt:
6252 * docs/design/part-gstpipeline.txt:
6253 Update design notes to reflect the movement of
6254 responsibility for bus handling from GstPipeline to
6257 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
6260 Remove unnecessary queue2/3/4 examples.
6262 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
6264 * examples/Makefile.am:
6265 * examples/helloworld/helloworld.c: (event_loop), (main):
6266 * examples/queue/queue.c: (event_loop), (main):
6267 * examples/queue2/queue2.c: (main):
6268 Update a couple of the examples to work again.
6270 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6271 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
6272 Spelling corrections and extra debug.
6274 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
6275 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
6276 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
6278 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
6279 (gst_pipeline_change_state):
6280 * gst/gstpipeline.h:
6281 Move the bus handler for children to the GstBin, and create a
6282 separate bus for receiving messages from children to the one the
6283 bus sends 'upwards' on.
6285 2005-07-06 Wim Taymans <wim@fluendo.com>
6288 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6289 (gst_base_sink_handle_object), (gst_base_sink_loop),
6290 (gst_base_sink_change_state):
6291 * gst/base/gstbasesink.h:
6292 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6293 (gst_base_src_init), (gst_base_src_setcaps),
6294 (gst_base_src_getcaps), (gst_base_src_loop),
6295 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
6296 (gst_base_src_start), (gst_base_src_change_state):
6297 * gst/base/gstbasesrc.h:
6298 Make basesrc negotiate.
6299 Handle the case where preroll fails in basesink.
6302 2005-07-06 Wim Taymans <wim@fluendo.com>
6304 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
6305 Implement the fixate function.
6306 Clean up acceptcaps.
6308 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6310 * docs/pwg/building-filterfactory.xml:
6312 Remove never-written filter-factory chapter; I'll add the various
6313 base classes to part 4 ("other element types") later on.
6315 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6317 * docs/pwg/advanced-negotiation.xml:
6318 * docs/pwg/building-boiler.xml:
6319 * docs/pwg/building-pads.xml:
6321 * examples/pwg/Makefile.am:
6322 Add a chapter on caps negotiation, simplify the original code
6323 samples a bit w.r.t. caps negotiation, add link to the advanced
6324 section. Add a bunch of examples showing different use cases of
6325 different types of caps negotiation. Upstream renegotiation isn't
6326 fully documented yet since nobody knows how that works.
6328 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
6330 * check/gst/gstpad.c:
6332 * gst/gstpad.c: (gst_pad_get_internal_links_default):
6333 if pad has no parent, return NULL as list of internal links
6335 2005-07-05 Andy Wingo <wingo@pobox.com>
6337 * gst/elements/gstfilesrc.c:
6338 * gst/elements/gstfakesrc.c:
6339 * gst/base/gstpushsrc.c:
6340 * gst/base/gstbasesrc.h:
6341 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
6343 2005-07-05 Stefan Kost <ensonic@users.sf.net>
6346 better report generation target (lcov needs a patch)
6348 2005-07-05 Andy Wingo <wingo@pobox.com>
6350 * gst/elements, testsuite: Null if we got it...
6352 2005-07-05 Wim Taymans <wim@fluendo.com>
6355 * libs/gst/dataprotocol/Makefile.am:
6356 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
6357 * libs/gst/dataprotocol/dataprotocol.h:
6358 * pkgconfig/Makefile.am:
6359 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
6360 * pkgconfig/gstreamer-dataprotocol.pc.in:
6361 Ported dataprotol to 0.9.
6362 Added pkgconfig files.
6364 2005-07-05 Andy Wingo <wingo@pobox.com>
6366 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
6367 Default to returning TRUE for the case when tranform_caps returns
6368 a fixed caps, like for identity or volume.
6370 * check/gst/gstbus.c (pound_bus_with_messages):
6371 * check/gst/gstmessage.c (START_TEST):
6372 * check/pipelines/simple_launch_lines.c (got_handoff): Application
6375 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
6376 logic weaks here: always run transform_caps, trying passthrough
6377 operation only if the original caps intersects with the transform.
6379 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
6380 source and sink caps.
6382 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
6383 Intersect the peer caps with the pad template before going into
6385 (gst_base_transform_transform_caps): More debugging.
6387 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
6390 2005-07-04 Edward Hervey <edward@fluendo.com>
6394 (gst_pad_add_*_probe): now returns the signal id for better wrapping
6397 2005-07-04 Andy Wingo <wingo@pobox.com>
6399 * check/gst/gstpad.c: Only set explicit caps on pads.
6401 2005-07-01 Andy Wingo <wingo@pobox.com>
6403 * tests/network-clock.scm: Commentary update.
6405 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
6406 Didn't really make sense, not implementable with basetransform,
6408 (gst_identity_transform): Unref inbuf via make_writable. Feeble
6409 attempt at implementing the sync property, needs an unlock method.
6411 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
6412 New func, by default returns the same caps (the identity
6414 (gst_base_transform_getcaps): Uses transform_caps to return
6416 (gst_base_transform_setcaps): Complicated logic to get caps on
6417 both pads, even if they are different, and to call set_caps once
6418 for every time both pads get their caps set.
6419 (gst_base_transform_handle_buffer): Give the ref to the transform
6420 function. Allows in-place modification of the buffer.
6422 * gst/base/gstbasetransform.h (transform_caps): New class method.
6423 Given caps on one side, what can I do on the other.
6424 (set_caps): Take two caps, one for each side of the element.
6427 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
6428 caps in place. This is safe because we can check the mutability of
6429 the caps, and a good idea because fixate functions are just called
6430 as a matter of last resort. (Not actually implemented.)
6431 (gst_pad_set_caps): If the caps we're setting is actually the same
6432 as the existing pad caps, just update the pointer without calling
6433 setcaps. Assert that caps is either NULL or fixed, as per the
6436 * gst/gstghostpad.c: Update for fixate changes.
6438 2005-07-02 Andy Wingo <wingo@pobox.com>
6441 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
6442 two refcounts makes it immutable, which is enough. Doc more.
6444 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
6446 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
6447 Put the mini_object into GValue as a mini_object,
6448 not a gpointer, since that's how we declared
6451 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6453 * examples/pwg/Makefile.am:
6456 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6458 * docs/pwg/building-testapp.xml:
6460 * examples/pwg/Makefile.am:
6463 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6466 * examples/Makefile.am:
6467 * examples/pwg/Makefile.am:
6468 * examples/pwg/extract.pl:
6469 Enable building the PWG examples.
6470 * docs/pwg/advanced-interfaces.xml:
6471 Add URI interface stub.
6472 * docs/pwg/advanced-types.xml:
6473 * docs/pwg/other-autoplugger.xml:
6474 * docs/pwg/appendix-porting.xml:
6476 Add porting guide (mostly stubs), remove autoplugging (see ADM).
6477 * docs/pwg/building-boiler.xml:
6478 * docs/pwg/building-chainfn.xml:
6479 * docs/pwg/building-pads.xml:
6480 * docs/pwg/building-props.xml:
6481 * docs/pwg/building-state.xml:
6482 * docs/pwg/building-testapp.xml:
6483 Update the building-*.xml parts for 0.9 changes. All examples
6484 code blocks compile in examples/pwg/*.
6486 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6488 * docs/manual/advanced-autoplugging.xml:
6489 * docs/manual/appendix-checklist.xml:
6490 * docs/manual/appendix-integration.xml:
6491 * docs/manual/highlevel-components.xml:
6492 Fix playbin/decodebin examples, update docs a bit, mention bus
6493 instead of signals in various places, mention kmplayer and
6494 kaffeine since they have a working GStreamer backend in the KDE
6497 2005-06-30 Wim Taymans <wim@fluendo.com>
6500 * docs/design/draft-ghostpads.txt:
6501 * docs/design/draft-push-pull.txt:
6502 * docs/design/draft-query.txt:
6503 * docs/design/part-TODO.txt:
6504 * docs/design/part-query.txt:
6505 Added CHANGES-0.9 doc, updated status of other docs.
6510 2005-06-30 Wim Taymans <wim@fluendo.com>
6512 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6513 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
6514 (gst_base_sink_change_state):
6515 * gst/base/gstbasesink.h:
6516 Some tweaks, only EOS and a buffer complete a preroll.
6518 2005-06-30 Andy Wingo <wingo@pobox.com>
6520 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
6521 activate_push down to the internal pad as well.
6523 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
6525 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6527 * gst/gsttaginterface.c:
6528 Some documentation fixes (#307394 and #307397).
6530 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
6532 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6534 * gst/gstvalue.c: (gst_value_intersect_list):
6535 Fix memleak (#309125).
6537 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6539 * docs/manual/advanced-dataaccess.xml:
6540 Fix fakesrc example to compile; doesn't work, bug somewhere...?
6541 * docs/manual/basics-pads.xml:
6542 Add reference for filtered caps to above chapter.
6544 2005-06-30 Wim Taymans <wim@fluendo.com>
6546 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
6547 (gst_bin_change_state):
6549 Lame attempt at making the state change function a bit
6552 2005-06-30 Wim Taymans <wim@fluendo.com>
6554 * docs/design/part-clocks.txt:
6555 * docs/design/part-element-sink.txt:
6556 * docs/design/part-events.txt:
6557 * docs/design/part-preroll.txt:
6558 * docs/design/part-states.txt:
6559 Some more tweeks and additions to the docs.
6561 2005-06-30 Wim Taymans <wim@fluendo.com>
6563 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
6564 (default_have_data), (gst_pad_class_init), (gst_pad_init),
6565 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
6566 (gst_pad_check_pull_range), (gst_pad_get_range),
6567 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
6569 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
6570 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
6571 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
6572 (gst_pad_remove_buffer_probe):
6573 Removed atomic operations, use existing LOCK.
6574 Move exception handling out of main code path.
6576 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6578 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
6579 (silly_return_true_function), (gst_pad_class_init),
6580 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
6581 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
6582 (gst_pad_send_event):
6583 Fix accumulator, add default value by using _emitv() instead
6584 of _emit() for signal emission.
6586 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6588 * docs/manual/advanced-dataaccess.xml:
6589 * examples/manual/Makefile.am:
6591 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
6594 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
6596 * gst/elements/gstfilesink.c: (gst_filesink_render):
6597 Simplify code so that we don't have to handle short
6598 writes and return GST_FLOW_ERROR if an error occured.
6600 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6602 * docs/gst/gstreamer-docs.sgml:
6605 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6607 * docs/gst/gstreamer-sections.txt:
6608 * docs/gst/tmpl/gstpad.sgml:
6609 * docs/gst/tmpl/gstprobe.sgml:
6611 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
6612 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
6613 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
6614 (gst_pad_push_event), (gst_pad_send_event):
6616 * gst/gstutils.c: (gst_pad_add_data_probe),
6617 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
6618 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
6619 (gst_pad_remove_buffer_probe):
6621 Remove old probes, add new g-signal-based probes and some utility
6624 2005-06-29 Edward Hervey <edward@fluendo.com>
6626 * gst/gstelementfactory.c:
6629 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
6630 the definition to the header file.
6632 2005-06-29 Andy Wingo <wingo@pobox.com>
6634 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
6635 plugins from the source directory.
6637 2005-06-29 Wim Taymans <wim@fluendo.com>
6639 * docs/gst/tmpl/gstbuffer.sgml:
6640 * docs/gst/tmpl/gstclock.sgml:
6641 Some fixings for blantently wrong text.
6643 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
6645 * check/Makefile.am:
6646 * gst/gst.c: (add_path_func), (init_pre):
6647 * gst/gstregistry.c: (gst_registry_add_path):
6648 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
6649 only scan the GST_PLUGIN_PATH locations, and not add
6652 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
6654 * docs/gst/gstreamer-sections.txt:
6655 * docs/gst/tmpl/gstbasesrc.sgml:
6662 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6664 * docs/manual/advanced-autoplugging.xml:
6665 Fix autoplugging example.
6667 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6669 * docs/manual/advanced-autoplugging.xml:
6670 * docs/manual/mime-world.fig:
6671 Try to get autoplugging working, fix type detection. Fix text
6672 in hello-world image.
6674 2005-06-29 Wim Taymans <wim@fluendo.com>
6676 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6677 (gst_base_sink_change_state):
6681 map SIGNAL and BROADCAST to the right function.
6684 Remove redundant braces.
6686 * gst/gstpad.c: (gst_pad_set_caps):
6687 Don't call setcaps function when reseting caps to NULL.
6689 * gst/gstsystemclock.c: (gst_system_clock_dispose),
6690 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
6691 (gst_system_clock_id_unschedule):
6692 Use BROADCAST as this is what we do.
6694 2005-06-29 Wim Taymans <wim@fluendo.com>
6696 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6697 We are actually prerolling before commiting the state
6700 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
6702 * docs/manual/advanced-clocks.xml:
6703 * docs/manual/advanced-interfaces.xml:
6704 * docs/manual/advanced-metadata.xml:
6705 * docs/manual/advanced-position.xml:
6706 * docs/manual/advanced-schedulers.xml:
6707 * docs/manual/advanced-threads.xml:
6708 * docs/manual/appendix-porting.xml:
6709 * docs/manual/basics-bins.xml:
6710 * docs/manual/basics-bus.xml:
6711 * docs/manual/basics-elements.xml:
6712 * docs/manual/basics-helloworld.xml:
6713 * docs/manual/basics-pads.xml:
6714 * docs/manual/highlevel-components.xml:
6715 * docs/manual/manual.xml:
6716 * docs/manual/thread.fig:
6717 Update (until threads/scheduling) Application Development Manual;
6718 remove GstThread, add GstBus, add simple porting checklist, add
6719 documentation for tag writing, clocks, make all examples until this
6720 part compile and run.
6721 * examples/manual/Makefile.am:
6722 Update from changes to Application Development Manual; add bus
6723 example, remove thread example.
6725 2005-06-28 Wim Taymans <wim@fluendo.com>
6727 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
6728 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
6729 (gst_bus_source_dispatch):
6730 Add debugging messages.
6731 Make internal methods static.
6732 Handle the case where the bus is flushed in the handler.
6734 * gst/gstelement.c: (gst_element_get_bus):
6735 Fix refcount in _get_bus();
6737 * gst/gstpipeline.c: (gst_pipeline_change_state),
6738 (gst_pipeline_get_clock_func):
6739 Clock refcounting fixes.
6740 Handle the case where preroll timed out more gracefully.
6742 * gst/gstsystemclock.c: (gst_system_clock_dispose):
6743 Clean up the internal thread in dispose. This is needed
6744 for subclasses that actually get disposed.
6746 * gst/schedulers/threadscheduler.c:
6747 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
6748 (gst_thread_scheduler_dispose):
6749 Free thread pool in dispose.
6751 2005-06-28 Andy Wingo <wingo@pobox.com>
6753 * tests/network-clock-utils.scm (debug, print-event): New utils.
6755 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
6756 (*packet-loss*): Unified loss probability.
6757 (network-time): Report out-of-band events.
6759 * tests/plot-data: Add support for out-of-band events. Hack it
6760 into this script instead of passing it down the pipe; should fix
6763 2005-06-28 Wim Taymans <wim@fluendo.com>
6765 * docs/gst/gstreamer.types:
6766 * docs/gst/tmpl/gstbasesrc.sgml:
6767 * docs/gst/tmpl/gstpad.sgml:
6770 2005-06-28 Wim Taymans <wim@fluendo.com>
6772 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
6773 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
6774 (gst_proxy_pad_do_fixatecaps):
6775 Correctly proxy the check_pull_range function.
6777 2005-06-28 Andy Wingo <wingo@pobox.com>
6779 * tests/network-clock.scm: Removed need for slib.
6781 2005-06-28 Wim Taymans <wim@fluendo.com>
6783 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
6784 (gst_basesink_preroll_queue_flush):
6785 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
6786 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
6787 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
6788 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
6789 (gst_proxy_pad_set_property):
6792 * gst/gstqueue.c: (gst_queue_init):
6793 The deprecated pad loop function is removed now.
6795 2005-06-28 Andy Wingo <wingo@pobox.com>
6797 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
6798 New parameters, simulate network packet loss.
6800 * tests/network-clock-utils.scm: Initialize the RNG.
6802 2005-06-28 Wim Taymans <wim@fluendo.com>
6804 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
6805 (gst_basesink_event), (gst_basesink_deactivate):
6806 Flushing the preroll queue always needs to unlock the waiters.
6808 2005-06-28 Edward Hervey <edward@fluendo.com>
6810 * gst/gstpipeline.c: (gst_pipeline_send_event):
6811 Wheen a seek was successful on a pipeline, set the stream_time to the
6812 seek offset in order to have a synchronized stream_time.
6814 2005-06-28 Wim Taymans <wim@fluendo.com>
6816 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
6817 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
6818 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
6819 (gst_proxy_pad_do_fixatecaps):
6820 Call wrapper function instead of just calling the function
6821 pointers. This takes care of any locking and whatmore.
6823 2005-06-28 Wim Taymans <wim@fluendo.com>
6825 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
6826 (gst_pad_pull_range):
6828 CONNECTED -> LINKED.
6830 2005-06-28 Andy Wingo <wingo@pobox.com>
6832 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
6833 source-munging commit!!!
6835 * gst/gstobject.c (gst_object_unref, gst_object_ref)
6836 (gst_object_sink): Take gpointer arguments, not GstObject --
6837 avoids casts. Like GLib.
6839 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
6842 2005-06-27 Andy Wingo <wingo@pobox.com>
6844 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
6847 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
6848 returns a sorted copy of the trace list.
6849 (gst_alloc_trace_print_live): New API, only prints traces with
6850 live objects. Sort the list.
6851 (gst_alloc_trace_print_all): Sort the list.
6852 (gst_alloc_trace_print): Align columns.
6854 * gst/elements/gstttypefindelement.c:
6855 * gst/elements/gsttee.c:
6856 * gst/base/gstbasesrc.c:
6857 * gst/base/gstbasesink.c:
6858 * gst/base/gstbasetransform.c:
6859 * gst/gstqueue.c: Adapt for pad activation changes.
6861 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
6863 (gst_pipeline_dispose): Drop ref on sched.
6865 * gst/gstpad.c (gst_pad_init): Set the default activate func.
6866 (gst_pad_activate_default): Push mode by default.
6867 (pre_activate_switch, post_activate_switch): New stubs, things to
6868 do before and after switching activation modes on pads.
6869 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
6870 the pad's activate function to choose which mode to activate.
6871 Shortcut on deactivation and call the right function directly.
6872 (gst_pad_activate_pull): New API, (de)activates a pad in pull
6874 (gst_pad_activate_push): New API, same for push mode.
6875 (gst_pad_set_activate_function)
6876 (gst_pad_set_activatepull_function)
6877 (gst_pad_set_activatepush_function): Setters for new API.
6879 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
6880 Trace all miniobjects.
6881 (gst_mini_object_make_writable): Unref the arg if we copy, like
6882 gst_caps_make_writable.
6884 * gst/gstmessage.c (_gst_message_initialize): No trace init.
6886 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
6887 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
6888 Adapt for new pad API.
6890 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
6893 * gst/gstelement.c (gst_element_iterate_src_pads)
6894 (gst_element_iterate_sink_pads): New API functions.
6896 * gst/gstelement.c (iterator_fold_with_resync): New utility,
6897 should fold into gstiterator.c in some form.
6898 (gst_element_pads_activate): Simplified via use of fold and
6899 delegation of decisions to gstpad->activate.
6901 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
6904 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
6905 class once in init, like gstmessage. Didn't run into this issue
6906 but it seems correct. Don't initialize a trace, gstminiobject does
6909 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
6910 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
6912 (assert_live_count): New util function, uses alloc traces to check
6915 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
6916 To be modified when unlink drops the internal pad.
6918 2005-06-27 Wim Taymans <wim@fluendo.com>
6920 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
6921 (gst_bin_change_state):
6922 Cleanup the get_state() function a little, make sure it
6923 iterates the same set of elements.
6924 Added stub iterate_state_order().
6926 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
6928 * docs/gst/gstreamer-docs.sgml:
6929 * docs/gst/gstreamer-sections.txt:
6930 * docs/gst/gstreamer.types:
6931 * docs/gst/tmpl/gstbasesink.sgml:
6932 * docs/gst/tmpl/gstbasesrc.sgml:
6933 * docs/gst/tmpl/gstbasetransform.sgml:
6934 * docs/gst/tmpl/gstelement.sgml:
6935 * docs/gst/tmpl/gstiterator.sgml:
6936 * gst/base/gstbasesrc.c:
6937 * gst/base/gstbasesrc.h:
6938 * gst/base/gstbasetransform.h:
6940 * gst/gstiterator.h:
6941 adding basetransform and iterator docs
6943 2005-06-27 Andy Wingo <wingo@pobox.com>
6945 * docs/design/part-activation.txt: Notes on how activation should
6946 work -- not quite implemented yet.
6948 2005-06-25 Wim Taymans <wim@fluendo.com>
6950 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
6951 At least get the chain function correct, needs more
6954 2005-06-25 Wim Taymans <wim@fluendo.com>
6956 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
6957 (gst_basesink_handle_object), (gst_basesink_event),
6958 (gst_basesink_do_sync), (gst_basesink_handle_event),
6959 (gst_basesink_change_state):
6961 Right, two problems here: ghostpads don't take locks and
6962 glib _rec_mutex_lock_full() with depth==0 still locks.
6963 Catch illegal locking and g_warn them.
6965 2005-06-25 Wim Taymans <wim@fluendo.com>
6967 * check/states/sinks.c: (START_TEST), (gst_object_suite):
6968 Have to check for completion now...
6970 2005-06-25 Wim Taymans <wim@fluendo.com>
6972 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
6973 (gst_basesink_handle_object), (gst_basesink_event),
6974 (gst_basesink_do_sync), (gst_basesink_handle_event),
6975 (gst_basesink_change_state):
6977 Unlock STREAM_LOCK whatever the recursion was.
6979 2005-06-25 Wim Taymans <wim@fluendo.com>
6981 * gst/base/gstbasesink.c: (gst_basesink_set_property),
6982 (gst_basesink_preroll_queue_empty),
6983 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
6984 (gst_basesink_event), (gst_basesink_do_sync),
6985 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
6986 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
6987 (gst_basesink_change_state):
6988 Reworked the base sink, handle event and buffer serialisation
6989 correctly and removed possible deadlock.
6990 Handle EOS correctly.
6992 2005-06-25 Wim Taymans <wim@fluendo.com>
6994 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
6995 (gst_pipeline_change_state):
6996 * tools/gst-launch.c: (check_intr), (event_loop), (main):
6997 Allow elements to post EOS in the state change function.
6998 Fix up -launch, make it exit the poll loop when the
6999 pipeline actually changed state.
7000 Fix up warning parsing in -launch.
7002 2005-06-25 Wim Taymans <wim@fluendo.com>
7004 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
7005 (gst_tee_sink_activate):
7006 Core takes STREAM_LOCK for us now.
7008 2005-06-25 Wim Taymans <wim@fluendo.com>
7010 * gst/gstelement.c: (gst_element_get_state_func),
7011 (gst_element_set_state):
7013 * gst/gstmessage.c: (gst_message_parse_error),
7014 (gst_message_parse_warning):
7015 Keep track of current target state while performing a state
7016 change so that subclasses can do something interesting.
7017 Fix parsing of warning/error messages when GError is NULL.
7019 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
7021 * docs/gst/Makefile.am:
7022 * docs/gst/gstreamer-docs.sgml:
7023 * docs/gst/gstreamer-sections.txt:
7024 * docs/gst/gstreamer.types:
7025 * docs/gst/tmpl/gstbasesink.sgml:
7026 * docs/gst/tmpl/gstbasesrc.sgml:
7027 * docs/gst/tmpl/gstbin.sgml:
7028 * docs/gst/tmpl/gstcompat.sgml:
7029 * docs/gst/tmpl/gstfakesink.sgml:
7030 * docs/gst/tmpl/gstfakesrc.sgml:
7031 * docs/gst/tmpl/gstfilesink.sgml:
7032 * docs/gst/tmpl/gstfilesrc.sgml:
7033 * docs/gst/tmpl/gstindex.sgml:
7034 * docs/manual/appendix-quotes.xml:
7035 * gst/base/gstbasesrc.h:
7036 * gst/elements/gstfakesrc.h:
7038 start pulling in base classes and elements in our docs
7040 2005-06-24 Stefan Kost <ensonic@users.sf.net>
7042 * docs/gst/Makefile.am:
7043 * docs/libs/Makefile.am:
7044 fixed make distcheck with gtk-doc 1.3
7046 2005-06-23 Wim Taymans <wim@fluendo.com>
7048 * gst/gstelement.c: (gst_element_get_state_func),
7049 (gst_element_set_state), (gst_element_change_state):
7050 When the state did not change, also report NO_PREROLL
7053 2005-06-23 Wim Taymans <wim@fluendo.com>
7055 * gst/gstpad.c: (gst_pad_event_default):
7056 * gst/gstqueue.c: (gst_queue_loop):
7057 No unsafe task pausing please.
7059 2005-06-23 Wim Taymans <wim@fluendo.com>
7061 * gst/schedulers/threadscheduler.c:
7062 (gst_thread_scheduler_task_start),
7063 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
7064 Ref the task before pushing it on the threadpool. This
7065 makes sure that we have a ref when the threadfunction is
7068 2005-06-23 Andy Wingo <wingo@pobox.com>
7070 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
7071 offset is greater than the file's size.
7073 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
7074 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
7075 * gst/gstobject.c (gst_object_class_init): Make the class lock
7076 recursive. Wim won't let me drop deep_notify. Decodebin works
7079 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
7080 internal pad, and hacks accordingly. Doesn't do it on the target
7081 pad because we change its caps. Probably catches all cases of
7083 (gst_ghost_pad_set_property): Connect to notify::caps as
7086 * tests/network-clock.scm (plot-simulation): Pipe data to the
7087 elite python skript.
7089 * tests/network-clock-utils.scm (define-parameter): New macro,
7090 defines a parameter that can be set via the command line.
7091 (set-parameter!, parse-parameter-arguments): Command line args
7094 * tests/plot-data: Simple matplotlib-based plotter, takes input on
7097 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
7099 * gst/elements/gsttypefindelement.c:
7100 (gst_type_find_element_handle_event):
7101 Don't restart typefinding on a discont.
7102 * gst/gstelement.c: (gst_element_set_state):
7104 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
7105 Allow changing mode of an active pad.
7107 * gst/registries/gstlibxmlregistry.c: (load_feature):
7108 Don't cast a static pad template to a normal pad template.
7110 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
7112 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
7113 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7114 remove gst_strtoll completely, since it didn't actually do
7115 anything more than what g_ascii_strtoull already does.
7116 check for range errors when deserializing
7117 do a cast for the unsigned cases; but further fixing needs
7118 a decision on what the interpretation of "(int)" and
7119 deserialization should be for values that fall outside the
7120 type's boundaries (ie, refuse, or interpret as casting)
7122 2005-06-23 Wim Taymans <wim@fluendo.com>
7124 * check/Makefile.am:
7125 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
7126 * docs/design/part-live-source.txt:
7127 * docs/design/part-states.txt:
7128 * gst/base/gstbasesrc.c: (gst_basesrc_init),
7129 (gst_basesrc_set_live), (gst_basesrc_is_live),
7130 (gst_basesrc_get_range), (gst_basesrc_activate),
7131 (gst_basesrc_change_state):
7132 * gst/base/gstbasesrc.h:
7133 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7134 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
7135 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
7136 * gst/gstelement.c: (gst_element_get_state_func),
7137 (gst_element_set_state):
7140 * tools/gst-launch.c: (event_loop), (main):
7141 Added support for live sources and other elements that
7143 Updated design docs, added live-source design doc.
7144 Implemented live source functionality in basesrc
7145 Fix error condition in _bin_get_state()
7146 Implement live source handling in -launch.
7147 Added check for live sources.
7148 Fixed case in GstBin where elements were changed state
7152 2005-06-23 Andy Wingo <wingo@pobox.com>
7154 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
7157 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
7158 gst_caps_replace takes care of this for us.
7160 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
7161 gst_pad_set_caps on the target, not just its setcaps() function.
7163 * tests/network-clock.scm:
7164 * tests/network-clock-utils.scm: A network clock simulator.
7165 Something of an algorithmic testbed before doing something in C.
7167 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
7169 * check/Makefile.am:
7170 * check/gst/capslist.h:
7171 copy over from 0.8, and add two with bitmasks specified with
7173 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
7174 add test to parse everything from capslist.h
7175 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
7177 add test for structure deserialization
7178 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
7179 add tests for deserialization of strings to int types
7180 * gst/gststructure.c: (gst_structure_nth_field_name):
7181 * gst/gststructure.h:
7182 add a way to get the name of a field referenced by index
7183 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7184 instead of checking if the resulting long long lies between
7185 min and max, we check if the long long would fit into
7186 a number of bytes for the final type.
7187 This fixes cases where a string represents 2^32 - 1, which
7188 when cast to int would be the (valid) -1, but is bigger than
7191 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
7193 * gst/parse/grammar.y:
7194 add a log line for type deserialization
7196 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
7198 * check/gst/gstvalue.c: (START_TEST):
7199 * gst/gstvalue.c: (gst_value_deserialize):
7200 return long long, not int, so gint64 deserialization actually
7201 works. Is there any flag that makes the compiler check this ?
7204 2005-06-22 Wim Taymans <wim@fluendo.com>
7207 Added convenience macros for setting buffers in GValue.
7209 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
7211 * check/gst/.cvsignore:
7212 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
7213 add a test deserializing int64, and comment part out because
7216 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
7218 * check/Makefile.am:
7219 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
7220 * testsuite/Makefile.am:
7221 * testsuite/caps/Makefile.am:
7222 * testsuite/caps/value_serialize.c:
7223 * testsuite/test_gst_init.c:
7224 move a value_serialize test over
7226 2005-06-20 Wim Taymans <wim@fluendo.com>
7231 * gst/gstvalue.c: (gst_value_compare_buffer),
7232 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
7233 (gst_value_compare_flags), (gst_value_serialize_flags),
7234 (gst_value_deserialize_flags), (_gst_value_initialize):
7235 Fix serialisation of buffers, they are not boxed types anymore
7237 2005-06-20 Wim Taymans <wim@fluendo.com>
7239 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
7240 Testcase to show error in buffer-on-caps serialisation.
7242 2005-06-20 Andy Wingo <wingo@pobox.com>
7244 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
7245 will be adding to later.
7247 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
7248 if its socks fill with rocks.
7249 (gst_system_clock_obtain): Set the name on object construction.
7250 Avoid double-checked locking.
7252 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
7254 * gst/gsturi.c: (gst_element_make_from_uri):
7255 Fix potential endless loop.
7257 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
7259 * check/Makefile.am:
7261 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
7263 move over from testsuite dir and clean up
7266 * testsuite/Makefile.am:
7267 * testsuite/tags/.cvsignore:
7268 * testsuite/tags/Makefile.am:
7269 * testsuite/tags/merge.c:
7270 remove testsuite/tags
7272 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
7274 * docs/gst/gstreamer-sections.txt:
7275 * docs/gst/tmpl/gstenumtypes.sgml:
7276 * win32/gstenumtypes.c:
7277 clean up documentation build a little
7279 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
7282 add macros for checking refcounts on objects and caps
7283 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
7284 add some more unit tests
7285 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7286 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
7287 fix leaked refcounts (I hope :)) so unittest works
7291 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
7293 * configure.ac: back to HEAD
7295 === release 0.9.1 ===
7297 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
7303 2005-06-17 Andy Wingo <wingo@pobox.com>
7305 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
7306 assert; it's always possible that the pad gets deactivated in
7307 between the checks in gstpad.c and the implementation. Rely on
7308 finish_preroll() to return a FLUSHING or similar instead of on the
7311 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
7312 clock and post an EOS message if we come out of finish_preroll in
7315 2005-06-16 David Schleef <ds@schleef.org>
7317 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7318 (gst_capsfilter_set_property): Allow NULL as possible value
7319 for filter_caps property, indicating GST_CAPS_ANY.
7321 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
7323 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
7325 * gst/schedulers/Makefile.am:
7327 * gstreamer.spec.in:
7330 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
7332 * gstreamer.spec.in:
7335 2005-06-08 Andy Wingo <wingo@pobox.com>
7337 * gst/gstutils.c: RPAD fixes all around.
7338 (gst_element_link_pads): Refcounting fixes.
7340 * tools/gst-inspect.c:
7341 * tools/gst-xmlinspect.c:
7343 * gst/base/gsttypefindhelper.c:
7344 * gst/base/gstbasesink.c:
7345 * gst/gstqueue.c: RPAD fixes.
7347 * gst/gstghostpad.h:
7348 * gst/gstghostpad.c: New ghost pad implementation as full proxy
7349 pads. The tricky thing is they provide both source and sink
7350 interfaces, since they proxy the internal pad for the external
7351 pad, and vice versa. Implement with lower-level ProxyPad objects,
7352 with the interior proxy pad as a child of the exterior ghost pad.
7353 Should write a doc on this.
7355 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
7356 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
7359 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
7360 pads are real pads. No ghost pads in this file. Not documenting
7361 the myriad s/RPAD/PAD/ and REALIZE fixes.
7362 (gst_pad_class_init): Add properties for "direction" and
7363 "template". Both are construct-only, so they can't change during
7364 the life of the pad. Fixes properly deriving from GstPad.
7365 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
7366 derived objects, just set properties when creating the objects via
7368 (gst_pad_get_parent): Implement as a function, return NULL if the
7369 parent is not an element.
7370 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
7371 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
7373 * gst/gstobject.c (gst_object_class_init): Make name a construct
7374 property. Don't set it in the object init.
7376 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
7377 with UNKNOWN direction.
7378 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
7379 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
7380 (gst_element_remove_pad): Remove ghost-pad special cases.
7381 (gst_element_pads_activate): Remove rpad cruft.
7383 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
7384 catch the pad's-parent-not-an-element case.
7386 * gst/gst.h: Include gstghostpad.h.
7388 * gst/gst.c (init_post): No more real, ghost pads.
7390 * gst/Makefile.am: Add gstghostpad.[ch].
7392 * check/Makefile.am:
7393 * check/gst/gstbin.c:
7394 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
7395 into a bin creates ghost pads, and that the refcounts are right.
7396 Partly moved from gstbin.c.
7398 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
7400 * check/gst-libs/.cvsignore:
7401 * check/gst/.cvsignore:
7402 * check/pipelines/.cvsignore:
7404 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
7405 (START_TEST), (cleanup_suite), (main):
7406 add some tests related to cleanup after running pipelines
7408 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
7410 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
7411 add a testsuite for GstBuffer
7413 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
7415 * gst/gstminiobject.h:
7416 add defines for accessing the refcount
7418 2005-06-03 Stefan Kost <ensonic@users.sf.net>
7420 * Makefile.am: added support for html unit test coverage reports
7422 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
7424 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7425 Free existing caps if the capsfilter changes. Add a FIXME about
7426 setting those caps on the pads.
7428 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
7429 Before adding a ghost pad to a parent bin, check that there isn't
7430 already one for the element on the bin. Prevents infinite recursion
7431 when using decodebin in parse pipelines. Andy says he'll rewrite the
7432 way this works anyway, so ignore the hack.
7434 2005-06-02 Andy Wingo <wingo@pobox.com>
7436 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
7437 file size, pass it on to the type find helper.
7439 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
7440 segment_start and segment_end properly according to the seek
7441 method. Segment_end is still a bit flaky because offset can be
7442 negative for CUR and END cases, but it takes -1 as an "unset"
7445 2005-06-02 Wim Taymans <wim@fluendo.com>
7447 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
7448 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
7449 (gst_basesink_activate):
7450 * gst/base/gstbasesink.h:
7451 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7452 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
7453 (gst_pad_query), (gst_pad_start_task):
7455 * gst/gstqueue.c: (gst_queue_bufferalloc),
7456 (gst_queue_handle_sink_event), (gst_queue_chain):
7457 Bufferalloc: return GstFlowReturn to more accuratly report
7458 why allocation failed.
7460 2005-06-02 Wim Taymans <wim@fluendo.com>
7462 * gst/gstpipeline.c: (gst_pipeline_send_event):
7463 Take snapshot of state without blocking.
7465 2005-06-02 Wim Taymans <wim@fluendo.com>
7467 * docs/design/part-TODO.txt:
7468 * docs/design/part-caps.txt:
7469 * docs/design/part-clocks.txt:
7470 * docs/design/part-negotiation.txt:
7471 * docs/design/part-preroll.txt:
7474 2005-05-30 Wim Taymans <wim@fluendo.com>
7476 * gst/elements/gstidentity.c: (gst_identity_event),
7477 (gst_identity_transform), (gst_identity_get_property):
7478 Protect last_message property as it is accessed from
7481 2005-05-30 Wim Taymans <wim@fluendo.com>
7483 * gst/gstelement.c: (gst_element_init),
7484 (gst_element_pads_activate), (gst_element_change_state):
7485 Slicker pad activation code.
7487 2005-05-30 Wim Taymans <wim@fluendo.com>
7491 * gst/gstelementfactory.h:
7493 Move elementfactory methods to separate .h file.
7495 2005-05-30 Wim Taymans <wim@fluendo.com>
7497 * docs/design/part-overview.txt:
7498 * gst/gstsystemclock.h:
7499 Small typo fixes, doc updates.
7501 2005-05-30 Wim Taymans <wim@fluendo.com>
7503 * gst/gst.c: (gst_init_get_popt_table), (init_post),
7504 (init_popt_callback):
7505 Remove cpu-opt flag.
7507 2005-05-30 Wim Taymans <wim@fluendo.com>
7509 * gst/gstbuffer.c: (gst_subbuffer_finalize),
7510 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
7512 Avoid typechecking in places where not needed.
7513 Added accessor for malloc_data.
7515 2005-05-30 Wim Taymans <wim@fluendo.com>
7517 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
7518 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
7519 (gst_pad_configure_sink), (gst_pad_configure_src),
7520 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
7521 (gst_pad_start_task):
7522 Propagate errors from _set_caps() in configure_src/sink
7523 functions instead of returning TRUE.
7524 FLUSH events can travel up and downstream
7527 2005-05-30 Wim Taymans <wim@fluendo.com>
7529 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
7530 (gst_basesink_activate):
7531 Handle EOS in preroll.
7533 2005-05-30 Wim Taymans <wim@fluendo.com>
7535 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7536 (gst_queue_loop), (gst_queue_handle_src_event):
7537 Remove old pieces of code
7538 Flushing the queue in an upstream event is a very bad idea.
7540 2005-05-26 Andy Wingo <wingo@pobox.com>
7542 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
7543 gst_value_set_mini_object so as to add a ref on the object (which
7544 will be removed when the value is unset).
7546 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
7547 arg type in ::handoff.
7549 * gst/gstelement.c (gst_element_change_state): Also deactivate
7550 pads in READY->NULL, just in case the element didn't make it to
7551 PAUSED. Wingo tested, Wim approved.
7553 2005-05-26 Wim Taymans <wim@fluendo.com>
7555 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7556 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
7557 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
7558 A flushing pad cannot be used to alloc_buffer from.
7560 2005-05-26 Wim Taymans <wim@fluendo.com>
7562 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
7563 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
7564 (gst_bus_source_dispatch), (gst_bus_source_finalize),
7565 (gst_bus_create_watch), (gst_bus_add_watch_full):
7567 Implement a real GSource and use g_main_context_wakeup() to
7568 signal new messages instead of the socketpair.
7570 2005-05-25 Wim Taymans <wim@fluendo.com>
7572 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
7573 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
7574 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7575 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
7576 (gst_pad_send_event), (gst_pad_start_task):
7577 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
7578 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7579 (gst_queue_sink_activate), (gst_queue_src_activate),
7580 (gst_queue_change_state):
7582 Fix state changes for non sinks. We now change sinks, then elements
7583 with unconnected srcpads, then the rest.
7584 More efficient queue unlocking in flush and state changes.
7585 Set the pad activate mode even if it does not have an activate
7588 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7590 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
7591 Don't go in pull mode for non-seekable sources.
7592 * gst/elements/gsttypefindelement.h:
7593 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
7594 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
7595 (free_entry), (stop_typefinding),
7596 (gst_type_find_element_handle_event), (find_peek),
7597 (gst_type_find_element_chain), (do_pull_typefind),
7598 (gst_type_find_element_change_state):
7599 Allow typefinding (w/o seeking) in push-mode, simplified version
7601 * gst/gstutils.c: (gst_buffer_join):
7603 gst_buffer_join() from 0.8.
7605 2005-05-25 Wim Taymans <wim@fluendo.com>
7607 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7608 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
7609 (gst_pad_send_event), (gst_pad_start_task):
7610 Disable attempt at mode switching until it is figured out.
7612 2005-05-25 Wim Taymans <wim@fluendo.com>
7614 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
7615 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
7616 (gst_basesink_finish_preroll), (gst_basesink_chain),
7617 (gst_basesink_loop), (gst_basesink_activate),
7618 (gst_basesink_change_state):
7619 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
7620 (gst_basesrc_get_range), (gst_basesrc_loop),
7621 (gst_basesrc_activate):
7622 * gst/elements/gsttee.c: (gst_tee_sink_activate):
7623 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
7624 (gst_real_pad_init), (gst_real_pad_set_property),
7625 (gst_real_pad_get_property), (gst_pad_set_active),
7626 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
7627 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
7628 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
7629 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
7630 (gst_pad_event_default_dispatch), (gst_pad_event_default),
7631 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
7632 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
7633 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
7634 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
7635 (gst_pad_stop_task):
7637 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7638 (gst_queue_loop), (gst_queue_src_activate):
7639 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
7640 (gst_task_get_state):
7642 * gst/schedulers/threadscheduler.c:
7643 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
7644 Implement gst_pad_pause/start/stop_task(), take STREAM lock
7646 Remove ACTIVE pad flag, use FLUSHING everywhere
7647 Added _pad_chain(), _pad_get_range() to call chain/getrange
7649 Add locks around IS_FLUSHING when reading.
7650 Take STREAM lock in chain(), get_range() functions so plugins
7651 don't need to take it anymore.
7655 2005-05-25 Wim Taymans <wim@fluendo.com>
7657 * tools/gst-launch.c: (event_loop):
7658 Unref message after using its contents instead of
7661 2005-05-24 Wim Taymans <wim@fluendo.com>
7663 * docs/design/draft-ghostpads.txt:
7664 * docs/design/draft-push-pull.txt:
7665 * docs/design/draft-query.txt:
7666 * docs/design/part-overview.txt:
7667 Docs updates, added general overview doc.
7669 2005-05-21 David Schleef <ds@schleef.org>
7671 * docs/gst/tmpl/old/GstBin.sgml:
7672 * docs/gst/tmpl/old/GstBuffer.sgml:
7673 * docs/gst/tmpl/old/GstCaps.sgml:
7674 * docs/gst/tmpl/old/GstClock.sgml:
7675 * docs/gst/tmpl/old/GstCompat.sgml:
7676 * docs/gst/tmpl/old/GstData.sgml:
7677 * docs/gst/tmpl/old/GstElement.sgml:
7678 * docs/gst/tmpl/old/GstEvent.sgml:
7679 * docs/gst/tmpl/old/GstIndex.sgml:
7680 * docs/gst/tmpl/old/GstStructure.sgml:
7681 * docs/gst/tmpl/old/GstTag.sgml:
7682 * docs/gst/tmpl/old/cothreads.sgml:
7683 * docs/gst/tmpl/old/cothreads_compat.sgml:
7684 * docs/gst/tmpl/old/gettext.sgml:
7685 * docs/gst/tmpl/old/gobject2gtk.sgml:
7686 * docs/gst/tmpl/old/grammar.tab.sgml:
7687 * docs/gst/tmpl/old/gst-i18n-app.sgml:
7688 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7689 * docs/gst/tmpl/old/gst_private.sgml:
7690 * docs/gst/tmpl/old/gstaggregator.sgml:
7691 * docs/gst/tmpl/old/gstarch.sgml:
7692 * docs/gst/tmpl/old/gstatomic_impl.sgml:
7693 * docs/gst/tmpl/old/gstbufferstore.sgml:
7694 * docs/gst/tmpl/old/gstdata_private.sgml:
7695 * docs/gst/tmpl/old/gstdisksink.sgml:
7696 * docs/gst/tmpl/old/gstdisksrc.sgml:
7697 * docs/gst/tmpl/old/gstelementfactory.sgml:
7698 * docs/gst/tmpl/old/gstextratypes.sgml:
7699 * docs/gst/tmpl/old/gstfakesink.sgml:
7700 * docs/gst/tmpl/old/gstfakesrc.sgml:
7701 * docs/gst/tmpl/old/gstfdsink.sgml:
7702 * docs/gst/tmpl/old/gstfdsrc.sgml:
7703 * docs/gst/tmpl/old/gstfilesink.sgml:
7704 * docs/gst/tmpl/old/gstfilesrc.sgml:
7705 * docs/gst/tmpl/old/gsthttpsrc.sgml:
7706 * docs/gst/tmpl/old/gstidentity.sgml:
7707 * docs/gst/tmpl/old/gstindexfactory.sgml:
7708 * docs/gst/tmpl/old/gstmarshal.sgml:
7709 * docs/gst/tmpl/old/gstmd5sink.sgml:
7710 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
7711 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
7712 * docs/gst/tmpl/old/gstpadtemplate.sgml:
7713 * docs/gst/tmpl/old/gstpipefilter.sgml:
7714 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
7715 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
7716 * docs/gst/tmpl/old/gstshaper.sgml:
7717 * docs/gst/tmpl/old/gstspider.sgml:
7718 * docs/gst/tmpl/old/gstspideridentity.sgml:
7719 * docs/gst/tmpl/old/gststatistics.sgml:
7720 * docs/gst/tmpl/old/gsttee.sgml:
7721 * docs/gst/tmpl/old/gsttimecache.sgml:
7722 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
7723 * docs/gst/tmpl/old/gstxmlregistry.sgml:
7724 * docs/gst/tmpl/old/gthread-cothreads.sgml:
7725 * docs/gst/tmpl/old/types.sgml:
7726 I didn't intend to add these or check them in.
7728 2005-05-19 David Schleef <ds@schleef.org>
7730 * configure.ac: Use -no-common everywhere. In a sane world, it
7731 would be the default in libtool, because without it, you can't
7732 build DLLs on Windows.
7733 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
7734 * docs/gst/gstreamer-sections.txt:
7735 * docs/gst/tmpl/gstcpu.sgml:
7736 * docs/gst/tmpl/gstdata.sgml:
7737 * docs/gst/tmpl/gstthread.sgml:
7739 2005-05-19 David Schleef <ds@schleef.org>
7741 * gst/gstminiobject.c: (gst_value_set_mini_object),
7742 (gst_value_take_mini_object), (gst_value_get_mini_object):
7743 * gst/gstminiobject.h: Add GValue set/get functions.
7745 2005-05-19 Wim Taymans <wim@fluendo.com>
7747 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
7748 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
7749 (gst_subbuffer_init), (gst_buffer_is_span_fast):
7751 * gst/gstbus.c: (gst_bus_post):
7752 * gst/gstelement.c: (gst_element_get_random_pad):
7753 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
7754 Make subbufer unref the parent in finalize.
7755 some more debugging info.
7758 2005-05-19 Wim Taymans <wim@fluendo.com>
7760 * gst/base/gstbasesink.c: (gst_basesink_class_init),
7761 (gst_basesink_init), (gst_basesink_finalize),
7762 (gst_basesink_activate), (gst_basesink_change_state):
7763 Don't free preroll queue too early.
7765 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7769 Hi, I'm outdated. Please shoot me.
7771 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7773 * gst/gstpipeline.c: (gst_pipeline_send_event):
7774 Do not access variables after they have been deleted.
7776 2005-05-19 Wim Taymans <wim@fluendo.com>
7778 * tools/gst-inspect.c: (print_plugin_features):
7779 A plugin feature does unfortunatly not use the
7782 2005-05-18 Wim Taymans <wim@fluendo.com>
7784 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
7785 Port _span() functions to new subbuffers.
7787 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7789 * gst/gstbin.c: (gst_bin_add_func):
7790 Fix clock settery in bins when adding kids after the clock has
7793 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
7795 * gst/elements/gstidentity.c: (gst_identity_class_init):
7796 Workaround until signals support GstMiniObject.
7798 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
7801 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
7803 2005-05-18 Wim Taymans <wim@fluendo.com>
7805 * gst/base/Makefile.am:
7806 * gst/base/gstadapter.c: (gst_adapter_base_init),
7807 (gst_adapter_class_init), (gst_adapter_init),
7808 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
7809 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
7810 (gst_adapter_flush), (gst_adapter_available),
7811 (gst_adapter_available_fast):
7812 * gst/base/gstadapter.h:
7813 Ported and added adapter to the base classes.
7815 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
7819 Make sure the class is reffed/unreffed once before threads can be
7820 used. Fixes #304551.
7822 2005-05-17 Wim Taymans <wim@fluendo.com>
7824 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
7825 (gst_basesink_chain_unlocked), (gst_basesink_activate):
7826 * gst/gstminiobject.c: (gst_mini_object_get_type),
7827 (gst_mini_object_free):
7828 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
7829 (gst_pad_push), (gst_pad_push_event):
7830 * gst/gstqueue.c: (gst_queue_change_state):
7831 Don't queue buffers in basesink when we are flushing.
7832 Unref buffer when flushing in basesink.
7833 Flush queue when going to READY
7834 Unref buffer when _push() returns an error.
7835 Don't free MiniObject instance when refcount is incremented
7836 in _finalize() so that we can recover objects.
7838 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
7840 * docs/manual/advanced-schedulers.xml:
7841 * docs/manual/appendix-checklist.xml:
7842 * docs/pwg/advanced-clock.xml:
7843 * docs/pwg/advanced-interfaces.xml:
7844 * docs/pwg/advanced-request.xml:
7845 * docs/pwg/advanced-types.xml:
7846 * docs/pwg/intro-preface.xml:
7847 * examples/plugins/example.c: (gst_example_get_type),
7848 (gst_example_class_init), (gst_example_chain),
7849 (gst_example_set_property), (gst_example_get_property),
7850 (gst_example_change_state), (plugin_init):
7851 * examples/plugins/example.h:
7854 2005-05-17 Wim Taymans <wim@fluendo.com>
7856 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
7857 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
7858 * gst/gstqueue.c: (gst_queue_change_state):
7859 Clear queue when going to READY.
7860 Remove IN_SETCAPS flag too.
7862 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
7864 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
7865 Remove implicit cast from gboolean to GstElementStateReturn;
7866 make sure we still return failure in paused => ready case if
7867 the parent class fails to change state and our own stop
7870 2005-05-17 Wim Taymans <wim@fluendo.com>
7872 * tools/gst-launch.c: (event_loop):
7873 Message was unreffed too soon.
7875 2005-05-16 Andy Wingo <wingo@pobox.com>
7877 * gst/gstbin.c (sink_iterator_filter): Err... um...
7879 * check/gst/gstbin.c (test_ghost_pads): New test for the
7880 ghosting-if-elements-not-in-same-bin behavior.
7882 2005-05-16 David Schleef <ds@schleef.org>
7884 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
7885 accessing refcount directly.
7887 2005-05-15 David Schleef <ds@schleef.org>
7889 * check/Makefile.am: remove GstData checks
7890 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
7891 * gst/Makefile.am: add miniobject, remove data
7892 * gst/gst.h: add miniobject, remove data
7893 * gst/gstdata.c: remove
7894 * gst/gstdata.h: remove
7895 * gst/gstdata_private.h: remove
7896 * gst/gsttypes.h: remove GstEvent and GstMessage
7897 * gst/gstelement.c: (gst_element_post_message): fix for API changes
7898 * gst/gstmarshal.list: change BOXED -> OBJECT
7900 Implement GstMiniObject.
7901 * gst/gstminiobject.c:
7902 * gst/gstminiobject.h:
7904 Modify to be subclasses of GstMiniObject.
7905 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
7906 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
7907 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
7908 (gst_subbuffer_get_type), (gst_subbuffer_init),
7909 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
7912 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
7913 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
7914 (_gst_event_copy), (gst_event_new):
7916 * gst/gstmessage.c: (_gst_message_initialize),
7917 (gst_message_get_type), (gst_message_class_init),
7918 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
7919 (gst_message_new), (gst_message_new_error),
7920 (gst_message_new_warning), (gst_message_new_tag),
7921 (gst_message_new_state_changed), (gst_message_new_application):
7923 * gst/gstprobe.c: (gst_probe_perform),
7924 (gst_probe_dispatcher_dispatch):
7926 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
7927 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
7928 (_gst_query_copy), (gst_query_new):
7930 Update elements for GstData -> GstMiniObject changes
7932 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
7933 (gst_queue_chain), (gst_queue_loop):
7934 * gst/elements/gstbufferstore.c:
7935 (gst_buffer_store_add_buffer_func),
7936 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
7937 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
7938 (gst_fakesink_render):
7939 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7940 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
7941 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
7942 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
7943 (gst_filesrc_create_read):
7944 * gst/elements/gstidentity.c: (gst_identity_class_init):
7945 * gst/elements/gsttypefindelement.c:
7946 (gst_type_find_element_src_event), (free_entry_buffers),
7947 (gst_type_find_element_handle_event):
7948 * libs/gst/dataprotocol/dataprotocol.c:
7949 (gst_dp_header_from_buffer):
7950 * libs/gst/dataprotocol/dataprotocol.h:
7951 * libs/gst/dataprotocol/dp-private.h:
7953 2005-05-15 David Schleef <ds@schleef.org>
7955 * gst/elements/gstelements.c: Don't include headers that were
7958 2005-05-15 David Schleef <ds@schleef.org>
7960 * gst/elements/Makefile.am: Remove some elements that don't
7961 need to be in the core (or even exist at all).
7962 * gst/elements/gstaggregator.c:
7963 * gst/elements/gstaggregator.h:
7964 * gst/elements/gstmd5sink.c:
7965 * gst/elements/gstmd5sink.h:
7966 * gst/elements/gstmultifilesrc.c:
7967 * gst/elements/gstmultifilesrc.h:
7968 * gst/elements/gstpipefilter.c:
7969 * gst/elements/gstpipefilter.h:
7970 * gst/elements/gstshaper.c:
7971 * gst/elements/gstshaper.h:
7972 * gst/elements/gststatistics.c:
7973 * gst/elements/gststatistics.h:
7974 * po/POTFILES.in: Remove above files.
7976 2005-05-14 Andy Wingo <wingo@pobox.com>
7978 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
7979 so as to get the refs right.
7980 (sink_iterator_filter): New function, wraps bin_element_is_sink,
7981 unreffing objects that don't pass the filter.
7983 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
7984 gst_element_set_bus.
7985 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
7986 normal cases, this will destroy the bus.
7988 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
7991 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
7994 2005-05-13 Andy Wingo <wingo@pobox.com>
7996 * gst/gstutils.c (gst_element_link_pads): Instead of calling
7997 gst_pad_link, call pad_link_maybe_ghosting,
7998 (pad_link_maybe_ghosting): Links pads, making sure that the
7999 elements being linked are in the same bin.
8000 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
8001 Helpers for pad_link_maybe_ghosting.
8003 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
8006 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
8008 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
8010 * docs/design/part-element-source.txt:
8013 2005-05-12 Wim Taymans <wim@fluendo.com>
8015 * gst/base/gstbasesink.c: (gst_basesink_init),
8016 (gst_basesink_activate):
8017 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
8018 (gst_basesrc_is_seekable):
8019 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8020 (bin_element_is_sink), (gst_bin_change_state):
8021 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
8023 Identify sinks by their flag to avoid overly complicated
8025 Do state changes even for elements not reachable from the
8027 BaseSink is a sink now :)
8028 Some more debugging info in the basesrc.
8031 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8033 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
8034 Implement _query on a bin, similar to _send_event.
8036 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
8038 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
8039 Discont event offset format should be GST_FORMAT_BYTES,
8040 not GST_FORMAT_TIME.
8042 2005-05-12 Wim Taymans <wim@fluendo.com>
8044 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
8045 Same fix as Ronald's but without the signal.
8047 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8049 * gst/gstutils.c: (gst_element_query_position):
8050 No, an element is not a pad.
8052 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8054 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
8055 (gst_bin_get_state):
8056 If a child is removed from a bin while we remove the child from
8057 the bin and while we're retrieving its state, signal this to the
8058 get_state function so we abort the wait (instead of waiting for
8059 a timeout) and can immediately re-iterate over all other elements.
8061 2005-05-12 Wim Taymans <wim@fluendo.com>
8063 * gst/base/Makefile.am:
8064 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
8065 (gst_basesrc_start):
8066 * gst/base/gstbasesrc.h:
8067 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
8068 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
8069 (gst_pushsrc_init), (gst_pushsrc_create):
8070 * gst/base/gstpushsrc.h:
8071 Added is_seekable to BaseSrc
8072 Added simple PushSrc.
8074 2005-05-11 Wim Taymans <wim@fluendo.com>
8076 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
8077 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
8078 (gst_element_link_pads), (gst_element_query_position),
8079 (gst_element_query_convert), (intersect_caps_func),
8080 (gst_pad_query_position), (gst_pad_query_convert):
8081 Fix refcounting in utils function.
8082 No point in trying to activate a pad when it's added, it could
8083 be added from the state change function and then we deadlock, the
8084 element has to decide what to do.
8086 2005-05-10 Andy Wingo <wingo@pobox.com>
8088 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
8089 *all* the arguments.
8091 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
8092 stream lock if it's a FLUSH_DONE; normal flushes don't get the
8093 lock (according to the docs -- if this is wrong change the docs).
8095 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
8096 flush messages in the NULL state.
8098 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
8099 message immediately and return.
8100 (gst_bus_set_flushing): New function. If a bus is flushing, it
8101 flushes out any queued messages and immediately unrefs new
8102 messages. This is so when an element goes to NULL, all of the
8103 unhandled messages coming from it can be freed, and their
8104 references to the element dropped. In other words: message source
8105 ref considered harmful :P
8107 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
8108 we're finished with it.
8110 * gst/gstmessage.c (gst_message_new_state_changed):
8112 2005-05-10 Wim Taymans <wim@fluendo.com>
8114 * gst/gstvalue.c: (gst_value_compare_flags),
8115 (gst_value_serialize_flags), (gst_value_deserialize_flags),
8116 (_gst_value_initialize):
8117 Added flags serialize/deserialize/compare code.
8119 2005-05-09 Andy Wingo <wingo@pobox.com>
8121 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
8122 Intersect the peer's caps with our caps.
8124 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8126 * gst/base/gsttypefindhelper.c: (helper_find_peek):
8127 * gst/elements/gsttypefindelement.c: (find_peek):
8128 Handle negative offsets better. Fixes decodebin.
8130 2005-05-09 Wim Taymans <wim@fluendo.com>
8132 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
8133 (gst_base_transform_event):
8134 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
8135 Implement accept_caps.
8136 Fix silly lock/unlock mismatch in base class.
8138 2005-05-09 Wim Taymans <wim@fluendo.com>
8140 * docs/design/draft-push-pull.txt:
8141 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
8142 * gst/elements/gstfilesink.c: (gst_filesink_init),
8143 (gst_filesink_query):
8144 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
8145 (gst_type_find_handle_src_query), (find_element_get_length):
8146 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
8150 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
8151 (gst_real_pad_get_caps_unlocked),
8152 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
8153 (gst_pad_event_default_dispatch), (gst_pad_event_default),
8154 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
8155 (gst_real_pad_dispose), (gst_real_pad_finalize),
8156 (gst_pad_load_and_link), (gst_pad_save_thyself),
8157 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
8158 (gst_pad_check_pull_range), (gst_pad_pull_range),
8159 (gst_pad_template_get_type), (gst_pad_template_class_init),
8160 (gst_pad_template_init), (gst_pad_template_dispose),
8161 (name_is_valid), (gst_static_pad_template_get),
8162 (gst_pad_template_new), (gst_static_pad_template_get_caps),
8163 (gst_pad_template_get_caps), (gst_pad_set_element_private),
8164 (gst_pad_get_element_private), (gst_pad_start_task),
8165 (gst_pad_pause_task), (gst_pad_stop_task),
8166 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
8167 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
8168 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
8169 (gst_ghost_pad_new):
8171 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
8172 (gst_query_new_position), (gst_query_set_position),
8173 (gst_query_parse_position), (gst_query_new_convert),
8174 (gst_query_set_convert), (gst_query_parse_convert):
8176 * gst/gstqueryutils.c:
8177 * gst/gstqueryutils.h:
8178 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
8179 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
8180 (gst_queue_handle_src_query):
8181 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
8182 (gst_element_query_position), (gst_element_query_convert),
8183 (intersect_caps_func), (gst_pad_query_position),
8184 (gst_pad_query_convert):
8186 * tools/gst-inspect.c: (print_pad_info):
8187 * tools/gst-xmlinspect.c: (print_element_info):
8188 Remove old query functions. Ported old code.
8189 Added position/convert helper functions to gstutils.
8190 Reordered gstpad.c code, grouping relevant things.
8191 Remove gst_message_new(), always need to speficy a specific
8195 2005-05-09 Andy Wingo <wingo@pobox.com>
8197 * gst/gstiterator.h: Add some includes.
8199 * gst/gstqueryutils.h: Include more headers.
8202 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
8203 some uses of gst_pad_query.
8205 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
8206 NULL out parameters.
8207 (gst_query_new_position): New proc, allocates a new position
8210 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
8211 gstqueryutils.c to the build.
8213 * gst/gststructure.c (gst_structure_set_valist): Implement with
8214 the generic G_VALUE_COLLECT.
8216 2005-05-08 Edward Hervey <bilboed@bilboed.com>
8218 * gst/Makefile.am: (gst_headers):
8219 Added gstqueryutils.h to the list of headers to install, that was
8220 a 'nachty' move wingo :)
8222 2005-05-06 Andy Wingo <wingo@pobox.com>
8225 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
8226 GstData, init a memchunk.
8227 (standard_definitions): Add a few query types, deprecate a few.
8228 (gst_query_get_type): New proc.
8229 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
8231 (gst_query_new_application, gst_query_get_structure): New public
8234 * docs/design/draft-query.txt: Removed LINKS from the query types,
8235 because all the rest can be dispatched to other pads -- seemed
8236 ugly to have a query that couldn't be dispatched. internal_links
8237 is fine as a pad method.
8239 * gst/gstpad.h: Add query2 as a pad method, add the new functions
8240 in gstpad.c, but maintain binary compatibility for the moment.
8241 Will fix before 0.9 is out.
8243 * gst/gstqueryutils.c:
8244 * gst/gstqueryutils.h: New files, implement 3 methods for each
8245 query type: parse_query, parse_response, and set. Probably need an
8248 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
8250 * gst/elements/gstfilesink.c (gst_filesink_query2):
8251 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
8252 query_types, and formats methods.
8254 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
8255 (gst_pad_set_query2_function): New functions.
8256 (gst_real_pad_init): Set query2_default as the default query2
8257 function. Basically just dispatches to internally linked pads.
8261 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
8262 without using the atomic operations. Only one thread can possibly
8263 be accessing the data at this point. Changed so as to avoid
8264 gst_atomic operations.
8266 2005-05-06 Wim Taymans <wim@fluendo.com>
8268 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
8269 Also set caps if we use the fallback buffer alloc.
8271 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
8273 * docs/gst/Makefile.am:
8274 * docs/gst/gstreamer-docs.sgml:
8275 * docs/gst/gstreamer-sections.txt:
8276 * docs/gst/tmpl/gstatomic.sgml:
8277 * docs/gst/tmpl/gstmemchunk.sgml:
8278 * testsuite/elements/struct_i386.h:
8279 * win32/GStreamer.vcproj:
8281 Purge GstAtomic stuff from docs and win32 makefiles as well
8283 2005-05-06 Wim Taymans <wim@fluendo.com>
8285 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
8286 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
8287 * gst/gstpad.c: (gst_pad_peer_get_caps):
8288 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
8289 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
8290 (gst_queue_src_activate), (gst_queue_change_state):
8292 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
8293 (intersect_caps_func):
8294 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
8295 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
8296 Some fixes for the peer_get_caps() change.
8298 2005-05-06 Wim Taymans <wim@fluendo.com>
8300 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
8301 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
8302 (gst_basesink_activate):
8303 Actually do something with error codes returned from the push
8306 2005-05-06 Wim Taymans <wim@fluendo.com>
8308 * docs/design/part-element-sink.txt:
8309 * docs/design/part-element-source.txt:
8310 * gst/base/gstbasesink.c: (gst_basesink_class_init),
8311 (gst_basesink_event), (gst_basesink_activate):
8312 * gst/base/gstbasesink.h:
8313 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
8314 (gst_basesrc_activate):
8315 * gst/base/gstbasesrc.h:
8316 * gst/gstelement.c: (gst_element_pads_activate):
8317 Some more documentation.
8318 Fixed scheduling decision in _pads_activate().
8320 2005-05-05 Andy Wingo <wingo@pobox.com>
8322 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
8325 2005-05-05 Wim Taymans <wim@fluendo.com>
8327 * gst/base/Makefile.am:
8328 * gst/base/gstbasesink.h:
8329 * gst/base/gstbasesrc.c: (gst_basesrc_init),
8330 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
8331 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
8332 (gst_collectpads_class_init), (gst_collectpads_init),
8333 (gst_collectpads_finalize), (gst_collectpads_new),
8334 (gst_collectpads_set_function), (gst_collectpads_add_pad),
8335 (find_pad), (gst_collectpads_remove_pad),
8336 (gst_collectpads_is_active), (gst_collectpads_collect),
8337 (gst_collectpads_collect_range), (gst_collectpads_start),
8338 (gst_collectpads_stop), (gst_collectpads_peek),
8339 (gst_collectpads_pop), (gst_collectpads_available),
8340 (gst_collectpads_read), (gst_collectpads_flush),
8341 (gst_collectpads_chain):
8342 * gst/base/gstcollectpads.h:
8343 * gst/elements/Makefile.am:
8344 * gst/elements/gstelements.c:
8345 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
8346 (gst_fakesink_get_times), (gst_fakesink_event),
8347 (gst_fakesink_preroll), (gst_fakesink_render):
8348 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8349 (gst_filesink_init), (gst_filesink_set_location),
8350 (gst_filesink_open_file), (gst_filesink_close_file),
8351 (gst_filesink_pad_query), (gst_filesink_event),
8352 (gst_filesink_render), (gst_filesink_change_state):
8353 * gst/elements/gstfilesink.h:
8354 Added object to help in making collect pad based elements.
8356 Make event function in sink baseclass return gboolean.
8358 2005-05-05 Wim Taymans <wim@fluendo.com>
8360 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
8361 (gst_bin_get_by_name):
8363 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
8364 (gst_clock_finalize):
8365 * gst/gstdata.c: (gst_data_replace):
8367 * gst/gstelement.c: (gst_element_request_pad),
8368 (gst_element_pads_activate):
8369 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
8371 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8372 (gst_pad_set_checkgetrange_function),
8373 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
8374 (gst_pad_check_pull_range), (gst_pad_pull_range),
8375 (gst_static_pad_template_get_caps), (gst_pad_start_task),
8376 (gst_pad_pause_task), (gst_pad_stop_task):
8377 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
8378 (gst_element_request_pad), (gst_pad_proxy_getcaps):
8379 Fix name lookup in GstBin.
8380 Added _data_replace() function and _buffer_replace()
8381 Use finalize method to clean up clock.
8382 Fix refcounting on request pads.
8383 Fix pad schedule mode error.
8384 Some more object refcounting debug info,
8387 2005-05-04 Andy Wingo <wingo@pobox.com>
8389 * check/Makefile.am:
8390 * docs/gst/tmpl/gstatomic.sgml:
8391 * docs/gst/tmpl/gstplugin.sgml:
8392 * gst/base/gstbasesink.c: (gst_basesink_activate):
8393 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
8394 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
8395 (gst_basesrc_query), (gst_basesrc_set_property),
8396 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
8397 (gst_basesrc_activate):
8398 * gst/base/gstbasesrc.h:
8399 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
8400 (gst_base_transform_src_activate):
8401 * gst/elements/gstelements.c:
8402 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8403 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
8404 * gst/elements/gsttee.c: (gst_tee_sink_activate):
8405 * gst/elements/gsttypefindelement.c: (find_element_get_length),
8406 (gst_type_find_element_checkgetrange),
8407 (gst_type_find_element_activate):
8408 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
8409 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
8410 (gst_caps_load_thyself):
8411 * gst/gstelement.c: (gst_element_pads_activate),
8412 (gst_element_save_thyself), (gst_element_restore_thyself):
8413 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
8414 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
8416 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
8417 (gst_xml_parse_file), (gst_xml_parse_memory),
8418 (gst_xml_get_element), (gst_xml_make_element):
8419 * gst/indexers/gstfileindex.c: (gst_file_index_load),
8420 (_file_index_id_save_xml), (gst_file_index_commit):
8421 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
8422 (read_enum), (load_pad_template), (load_feature), (load_plugin),
8424 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
8425 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
8426 * tools/gst-complete.c: (main):
8427 * tools/gst-compprep.c: (main):
8428 * tools/gst-inspect.c: (print_element_properties_info):
8429 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
8430 * tools/gst-xmlinspect.c: (print_element_properties):
8433 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
8435 * gst/gstplugin.c: (gst_plugin_check_module),
8436 (gst_plugin_check_file), (gst_plugin_load_file):
8437 apply patch from #172526 to make register work on MacOSX
8439 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
8441 * docs/gst/tmpl/gstconfig.sgml:
8442 * gst/gstconfig.h.in:
8443 move documentation for some symbols. Add doc for GST_PTR_FORMAT
8444 * testsuite/debug/printf_extension.c: (main):
8445 Do not use GST_PTR_FORMAT on pointers to types with
8446 sizeof < sizeof(gpointer). Fixes test on 64-bit
8447 * testsuite/elements/property.h:
8448 use correct printf format
8450 2005-05-02 Wim Taymans <wim@fluendo.com>
8452 * docs/design/draft-push-pull.txt:
8453 * docs/design/draft-query.txt:
8454 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
8455 (gst_basesrc_start):
8456 Added draft for new query API.
8457 Added draft for better selecting scheduling methods.
8458 Make basesrc ignore length if the subclass does not support
8461 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
8464 possible fixes for automake-1.5 - _LIBADD is reserved
8466 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
8468 * docs/faq/Makefile.am:
8469 * docs/manual/Makefile.am:
8471 * docs/pwg/Makefile.am:
8473 possible fixes for automake-1.5
8475 2005-04-28 Wim Taymans <wim@fluendo.com>
8477 * gst/base/gstbasesink.c: (gst_basesink_base_init),
8478 (gst_basesink_pad_getcaps), (gst_basesink_init),
8479 (gst_basesink_do_sync):
8480 * gst/gstclock.c: (gst_clock_entry_new):
8481 * gst/gstevent.c: (gst_event_discont_get_value):
8482 * gst/gstpipeline.c: (pipeline_bus_handler),
8483 (gst_pipeline_change_state):
8484 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8485 Better debugging of clocking info.
8486 Allow NULL values when getting discont values.
8488 2005-04-27 Wim Taymans <wim@fluendo.com>
8490 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
8491 * check/gst/gstpad.c: (gst_pad_suite):
8492 Increase timeout for checks.
8494 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
8496 * check/Makefile.am:
8497 fix the broken rule for cleanup. Apparently this rule is
8498 only needed on FC2, so maybe this warrants further autotool
8501 2005-04-26 Wim Taymans <wim@fluendo.com>
8503 * gst/gsttrashstack.h:
8504 Ooohh. a nasty one! After having a failed pop() from the stack,
8505 it's possible that the stack is empty. In that case, don't
8506 follow the NULL pointer.
8508 2005-04-25 Wim Taymans <wim@fluendo.com>
8510 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8511 (gst_pad_set_checkgetrange_function),
8512 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
8513 (gst_pad_check_pull_range), (gst_pad_pull_range),
8514 (gst_static_pad_template_get_caps), (gst_pad_start_task),
8515 (gst_pad_pause_task), (gst_pad_stop_task):
8516 * gst/gstplugin.c: (gst_plugin_load):
8518 Remove gst_library_load as it does more harm than good with
8519 the new g_module flags.
8520 Revert bogus caps template check in pad linking, pad caps
8521 are important when linking not the template, which is more
8522 general than the current caps.
8524 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8526 * gst/autoplug/.cvsignore:
8527 * gst/autoplug/Makefile.am:
8528 * gst/autoplug/gstsearchfuncs.c:
8529 * gst/autoplug/gstsearchfuncs.h:
8530 * gst/autoplug/gstspider.c:
8531 * gst/autoplug/gstspider.h:
8532 * gst/autoplug/gstspideridentity.c:
8533 * gst/autoplug/gstspideridentity.h:
8534 * gst/autoplug/spidertest.c:
8537 2005-04-25 Wim Taymans <wim@fluendo.com>
8539 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8540 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
8541 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
8542 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
8544 Added stubs for unimplemented functions.
8546 2005-04-24 David Schleef <ds@schleef.org>
8548 * gst/gstpad.h: Disable some unimplemented functions. Wim,
8551 2005-04-24 David Schleef <ds@schleef.org>
8553 Convert everything from GstAtomicInt to g_atomic_int_*, and
8558 * gst/gstatomic_impl.h:
8566 * gst/gstdata_private.h:
8573 * gst/gststructure.c:
8574 * gst/gststructure.h:
8575 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
8578 2005-04-24 David Schleef <ds@schleef.org>
8580 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
8581 make the regressions tests work. Remove some code that is no
8583 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
8584 Disable warning for pads without templates.
8586 2005-04-24 David Schleef <ds@schleef.org>
8588 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
8589 functions that handle filtered links.
8590 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
8592 * gst/gstutils.c: Fix/remove utility functions that handle
8595 * gst/gstvalue.c: Add serialization/deserialization of caps
8596 * gst/parse/grammar.y: Ignore filtered caps when linking. This
8597 requires fixing so that the filter caps notation creates
8598 a capsfilter element and sets the filter_caps property. I
8599 think everyone probably wants to keep the shorthand notation.
8600 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
8601 * docs/gst/tmpl/gstpad.sgml:
8603 * gst/elements/gstelements.c: Register capsfilter element.
8604 * gst/Makefile.am: fix spacing
8605 * docs/random/ds/0.9-suggested-changes: random
8607 2005-04-23 David Schleef <ds@schleef.org>
8609 * gst/elements/Makefile.am:
8610 * gst/elements/gstcapsfilter.c: New element that acts like an
8611 identity, but filters caps. Will eventually replace filtered
8612 caps in pad linking.
8613 * gst/gstutils.c: (gst_element_create_all_pads): New function
8614 to create all the ALWAYS pads that are registered with an
8615 element class. This functionality should eventually be
8616 merged in with GstElement initialization.
8618 * testsuite/trigger/README: part of trigger test code that should
8619 have been checked in a long time ago.
8621 2005-04-23 David Schleef <ds@schleef.org>
8623 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
8624 needed with new versions of libtool (nobody will confirm this),
8625 and hard to carry around.
8626 * gst/autoplug/Makefile.am:
8627 * gst/base/Makefile.am:
8628 * gst/elements/Makefile.am:
8629 * gst/indexers/Makefile.am:
8630 * gst/schedulers/Makefile.am:
8631 * libs/gst/bytestream/Makefile.am:
8632 * libs/gst/control/Makefile.am:
8633 * libs/gst/dataprotocol/Makefile.am:
8634 * libs/gst/getbits/Makefile.am:
8636 2005-04-21 Wim Taymans <wim@fluendo.com>
8638 * docs/design/draft-push-pull.txt:
8639 * docs/design/part-MT-refcounting.txt:
8640 * docs/design/part-TODO.txt:
8641 * docs/design/part-caps.txt:
8642 * docs/design/part-events.txt:
8643 * docs/design/part-gstbus.txt:
8644 * docs/design/part-gstpipeline.txt:
8645 * docs/design/part-messages.txt:
8646 * docs/design/part-push-pull.txt:
8647 * docs/design/part-query.txt:
8650 2005-04-21 Wim Taymans <wim@fluendo.com>
8652 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
8653 (gst_message_new), (gst_message_new_error),
8654 (gst_message_new_warning), (gst_message_new_tag),
8655 (gst_message_new_state_changed), (gst_message_new_application),
8656 (gst_message_get_structure):
8658 * gst/gststructure.c: (gst_structure_set_parent_refcount),
8659 (gst_structure_copy_conditional):
8660 Use parent refcount in GstMessage to ensure GstStructure
8662 Cleaned up headers a bit.
8665 2005-04-20 Wim Taymans <wim@fluendo.com>
8667 * gst/base/gstbasesink.c: (gst_basesink_base_init),
8668 (gst_basesink_pad_getcaps), (gst_basesink_init),
8669 (gst_basesink_chain_unlocked):
8670 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
8671 (gst_type_find_helper):
8672 * gst/elements/gsttypefindelement.c:
8673 (gst_type_find_element_have_type), (gst_type_find_element_init),
8674 (stop_typefinding), (gst_type_find_element_handle_event),
8675 (find_suggest), (gst_type_find_element_chain),
8676 (gst_type_find_element_checkgetrange),
8677 (gst_type_find_element_getrange), (do_typefind),
8678 (gst_type_find_element_activate):
8679 * gst/gstbuffer.c: (_gst_buffer_sub_free),
8680 (gst_buffer_default_free), (gst_buffer_default_copy),
8681 (gst_buffer_set_caps):
8682 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
8684 * gst/gstmessage.c: (gst_message_new),
8685 (gst_message_new_state_changed):
8686 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8687 (gst_pad_set_checkgetrange_function),
8688 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
8689 (gst_pad_set_caps), (gst_pad_check_pull_range),
8690 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
8692 * gst/gsttypefind.c: (gst_type_find_register):
8693 Make gst_caps_replace() work like other _replace() functions.
8694 Use _caps_replace() where possible.
8695 Make sure _message_new() initialises its field.
8696 Add gst_static_pad_template_get_caps()
8699 2005-04-18 Andy Wingo <wingo@pobox.com>
8701 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
8702 on the peer, not the pad. I think that was a typo. Pass an extra
8703 arg to see if random access is possible. Activate the pads as
8704 PULL_RANGE if possible.
8706 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
8708 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
8709 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
8712 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8714 * docs/faq/using.xml:
8715 Add note on gstreamer-properties (#154996).
8717 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8719 * docs/random/bbb/optional-properties:
8720 Some analysis on optional properties.
8722 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
8724 * docs/gst/tmpl/gstelementfactory.sgml:
8726 * gst/gstelementfactory.c: (gst_element_factory_init),
8727 (gst_element_factory_cleanup), (gst_element_register),
8728 (__gst_element_factory_add_static_pad_template),
8729 (gst_element_factory_get_static_pad_templates),
8730 (gst_element_factory_can_src_caps),
8731 (gst_element_factory_can_sink_caps):
8732 * gst/registries/Makefile.am:
8733 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
8734 (gst_xml_registry_class_init), (gst_xml_registry_init),
8735 (gst_xml_registry_new), (gst_xml_registry_set_property),
8736 (gst_xml_registry_get_property), (get_time), (make_dir),
8737 (gst_xml_registry_get_perms_func),
8738 (plugin_times_older_than_recurse), (plugin_times_older_than),
8739 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
8740 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
8741 (add_to_char_array), (read_string), (read_uint), (read_enum),
8742 (load_pad_template), (load_feature), (load_plugin), (load_paths),
8743 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
8744 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
8745 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
8746 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
8747 (gst_xml_registry_rebuild):
8748 * gst/registries/gstlibxmlregistry.h:
8749 * tools/gst-compprep.c: (main):
8750 * tools/gst-inspect.c: (print_pad_templates_info):
8751 * tools/gst-xmlinspect.c: (print_element_info):
8752 Use libxml2 for registry parsing, use staticpadtemplates in
8753 elementfactories. Makes gst_init() +/- 10x faster.
8755 2005-04-12 Wim Taymans <wim@fluendo.com>
8757 * gst/base/Makefile.am:
8758 * gst/base/gstbasesink.c: (gst_basesink_base_init),
8759 (gst_basesink_pad_getcaps), (gst_basesink_init),
8760 (gst_basesink_event), (gst_basesink_change_state):
8761 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
8762 (gst_basesrc_init), (gst_basesrc_query),
8763 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
8764 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
8765 (gst_basesrc_check_get_range), (gst_basesrc_loop),
8766 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
8767 (gst_basesrc_stop), (gst_basesrc_activate),
8768 (gst_basesrc_change_state):
8769 * gst/base/gsttypefindhelper.c: (helper_find_peek),
8770 (helper_find_suggest), (gst_type_find_helper):
8771 * gst/base/gsttypefindhelper.h:
8772 * gst/elements/Makefile.am:
8773 * gst/elements/gstelements.c:
8774 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
8775 (gst_fakesink_get_times), (gst_fakesink_event),
8776 (gst_fakesink_preroll), (gst_fakesink_render):
8777 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8778 (gst_fakesrc_init), (gst_fakesrc_event_handler),
8779 (gst_fakesrc_get_property), (gst_fakesrc_create),
8780 (gst_fakesrc_start), (gst_fakesrc_stop):
8781 * gst/elements/gstfakesrc.h:
8782 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
8783 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
8784 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
8785 (gst_filesrc_create_read), (gst_filesrc_create),
8786 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
8787 (gst_filesrc_start):
8788 * gst/elements/gsttypefindelement.c:
8789 (gst_type_find_element_have_type), (gst_type_find_element_init),
8790 (start_typefinding), (stop_typefinding), (push_buffer_store),
8791 (gst_type_find_element_handle_event),
8792 (gst_type_find_element_chain),
8793 (gst_type_find_element_checkgetrange),
8794 (gst_type_find_element_getrange), (do_typefind),
8795 (gst_type_find_element_activate),
8796 (gst_type_find_element_change_state):
8797 * gst/elements/gsttypefindelement.h:
8798 * gst/gstpipeline.c: (pipeline_bus_handler):
8799 Added typefind helper.
8800 Small preroll fix in the base sink.
8801 Disable typefind code in basesrc.
8802 Crude port of typefindelement.
8806 2005-04-11 Wim Taymans <wim@fluendo.com>
8808 * check/gst/gstbus.c: (gstbus_suite):
8809 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
8811 Fix up the timeout so that the test does not fail.
8813 2005-04-06 Wim Taymans <wim@fluendo.com>
8816 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
8817 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
8818 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
8819 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
8820 (gst_basesrc_check_get_range), (gst_basesrc_loop),
8821 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
8822 (gst_basesrc_stop), (gst_basesrc_activate),
8823 (gst_basesrc_change_state), (basesrc_find_peek),
8824 (basesrc_find_suggest), (gst_basesrc_type_find):
8825 * gst/base/gstbasesrc.h:
8826 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
8827 (gst_filesrc_class_init), (gst_filesrc_init),
8828 (gst_filesrc_finalize), (gst_filesrc_set_location),
8829 (gst_filesrc_set_property), (gst_filesrc_get_property),
8830 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
8831 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
8832 (gst_filesrc_create_read), (gst_filesrc_create),
8833 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
8834 * gst/elements/gstfilesrc.h:
8835 * gst/gstelement.c: (gst_element_get_state_func),
8836 (gst_element_lost_state), (gst_element_pads_activate):
8837 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8838 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
8839 (gst_pad_pull_range):
8841 More work on the generic source base class, implement seeking,
8843 Make filesrc extend the base source class.
8844 Added gst_pad_set_checkgetrange_function to GstPad.
8846 2005-04-06 Andy Wingo <wingo@pobox.com>
8848 * pkgconfig/gstreamer-base.pc.in:
8849 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
8851 * pkgconfig/Makefile.am:
8852 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
8854 2005-04-04 Wim Taymans <wim@fluendo.com>
8856 * gst/base/Makefile.am:
8858 * gst/base/gstbasesink.c: (gst_basesink_base_init),
8859 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
8860 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
8861 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
8862 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
8863 (gst_basesrc_base_init), (gst_basesrc_class_init),
8864 (gst_basesrc_init), (gst_basesrc_get_formats),
8865 (gst_basesrc_get_query_types), (gst_basesrc_query),
8866 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
8867 (gst_basesrc_set_property), (gst_basesrc_get_property),
8868 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
8869 (gst_basesrc_loop), (gst_basesrc_activate),
8870 (gst_basesrc_change_state):
8871 * gst/base/gstbasesrc.h:
8872 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
8873 (gst_fakesrc_class_init), (gst_fakesrc_init),
8874 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
8875 (gst_fakesrc_get_property), (gst_fakesrc_create):
8876 * gst/elements/gstfakesrc.h:
8877 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
8878 (gst_filesrc_open_file), (gst_filesrc_loop),
8879 (gst_filesrc_activate), (filesrc_find_peek),
8880 (gst_filesrc_type_find):
8881 Made base source class, make fakesrc extend it.
8882 Add comments to basesink class.
8883 Some filesrc cleanup.
8885 2005-03-31 David Schleef <ds@schleef.org>
8887 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
8888 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
8889 expected to link against libgstreamer.
8890 * gst/base/Makefile.am: link against libgstreamer
8891 * gst/elements/Makefile.am: same
8893 2005-03-31 Andy Wingo <wingo@pobox.com>
8895 * tests/instantiate/Makefile.am:
8896 * tests/instantiate/caps.c: Add test to test speed of caps copy
8899 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
8900 GMemChunk to be fair.
8902 * gst/gsttrashstack.h: Remove warning about using the fallback
8903 trash stack implementation, it's still faster than malloc.
8905 2005-03-30 Andy Wingo <wingo@pobox.com>
8907 * tests/complexity.c: Add a copyright.
8909 2005-03-31 Wim Taymans <wim@fluendo.com>
8911 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
8912 (gst_base_transform_class_init), (gst_base_transform_init),
8913 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8914 (gst_base_transform_get_property),
8915 (gst_base_transform_sink_activate),
8916 (gst_base_transform_src_activate),
8917 (gst_base_transform_change_state):
8918 * gst/base/gstbasetransform.h:
8919 * gst/elements/gstidentity.c: (gst_identity_class_init),
8920 (gst_identity_event), (gst_identity_check_perfect),
8921 (gst_identity_transform), (gst_identity_start),
8922 (gst_identity_stop):
8923 Added start/stop methods to transform base class so subclasses
8924 don't need to deal with state changes even.
8926 2005-03-31 Wim Taymans <wim@fluendo.com>
8928 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
8929 (gst_event_new_discontinuous), (gst_event_discont_get_value):
8931 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8932 (gst_pad_pull_range):
8933 Added rate to the discont event to prepare for variable speed
8934 and reverse playback.
8936 2005-03-29 David Schleef <ds@schleef.org>
8939 * testsuite/trigger/Makefile.am:
8940 * testsuite/trigger/trigger.c: A little example program to show
8941 how trigger-based elements can work.
8943 2005-03-29 Wim Taymans <wim@fluendo.com>
8945 * gst/base/Makefile.am:
8947 * gst/base/gstbasesink.c: (gst_basesink_get_type),
8948 (gst_basesink_base_init), (gst_basesink_class_init),
8949 (gst_basesink_pad_getcaps), (gst_basesink_init),
8950 (gst_basesink_activate), (gst_basesink_change_state):
8951 * gst/base/gstbasesink.h:
8952 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
8953 (gst_base_transform_base_init), (gst_base_transform_finalize),
8954 (gst_base_transform_class_init), (gst_base_transform_init),
8955 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
8956 (gst_base_transform_event), (gst_base_transform_getrange),
8957 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
8958 (gst_base_transform_set_property),
8959 (gst_base_transform_get_property),
8960 (gst_base_transform_sink_activate),
8961 (gst_base_transform_src_activate),
8962 (gst_base_transform_change_state):
8963 * gst/base/gstbasetransform.h:
8964 * gst/elements/gstidentity.c: (gst_identity_finalize),
8965 (gst_identity_class_init), (gst_identity_init),
8966 (gst_identity_event), (gst_identity_check_perfect),
8967 (gst_identity_transform), (gst_identity_set_property),
8968 (gst_identity_get_property), (gst_identity_change_state):
8969 * gst/elements/gstidentity.h:
8970 * gst/gstelement.c: (gst_element_get_state_func),
8971 (gst_element_lost_state), (gst_element_pads_activate):
8972 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8973 (gst_pad_check_pull_range), (gst_pad_pull_range):
8975 Simplify pad activation.
8976 Added function to check if pull_range can be performed.
8977 Error out when pulling inactive or flushing pads.
8978 Removed const from refcounted types as it does not make sense.
8979 Simplify pad templates in basesink
8980 Added base class for simple 1-to-1 transforms.
8981 Make identity subclass the base transform.
8983 2005-03-29 Andy Wingo <wingo@pobox.com>
8985 * docs/libs/gstreamer-libs-overrides.txt:
8986 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
8987 really don't understand what's going on, but like whatever. I want
8990 * docs/gst/Makefile.am:
8991 * docs/libs/Makefile.am: Dist the overrides files.
8993 * check/Makefile.am (clean-local): Remove .libs directories.
8995 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
8996 elements to EXTRA_DIST, so po/ files are happy.
8998 * po/POTFILES.in: Er, remove it here.
9000 * po/POTFILES: Remove gstspider.c.
9002 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
9004 * docs/libs/gstreamer-libs-docs.sgml:
9005 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
9008 * tests/complexity.c (main): Set the length of the preroll queue
9009 on the sinks to prevent a lockup.
9011 * libs/gst/dataprotocol/Makefile.am:
9012 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
9013 the same as the one in check/gst-libs/gdp.c.
9015 * po/, docs/gst/: Commit automatic changes to docs and po files.
9017 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
9018 the versioned libgstbase.
9020 * check/Makefile.am: Depend on an unversioned gst-register, seems
9021 to make autoconf happier.
9023 * gst/base/Makefile.am: Make libgstbase a versioned lib.
9025 2005-03-28 Wim Taymans <wim@fluendo.com>
9028 * docs/design/part-gstelement.txt:
9029 * docs/design/part-negotiation.txt:
9030 * docs/design/part-preroll.txt:
9031 * docs/design/part-scheduling.txt:
9032 * docs/design/part-states.txt:
9034 * gst/base/Makefile.am:
9036 * gst/base/gstbasesink.c: (gst_basesink_get_template),
9037 (gst_basesink_base_init), (gst_basesink_class_init),
9038 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
9039 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
9040 (gst_basesink_set_pad_functions),
9041 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
9042 (gst_basesink_set_property), (gst_basesink_get_property),
9043 (gst_base_sink_get_template), (gst_base_sink_get_caps),
9044 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
9045 (gst_basesink_preroll_queue_push),
9046 (gst_basesink_preroll_queue_empty),
9047 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
9048 (gst_basesink_event), (gst_basesink_get_times),
9049 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
9050 (gst_basesink_chain_unlocked), (gst_basesink_chain),
9051 (gst_basesink_loop), (gst_basesink_activate),
9052 (gst_basesink_change_state):
9053 * gst/base/gstbasesink.h:
9054 * gst/elements/Makefile.am:
9055 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
9056 (gst_fakesink_class_init), (gst_fakesink_init),
9057 (gst_fakesink_set_property), (gst_fakesink_get_property),
9058 (gst_fakesink_get_times), (gst_fakesink_event),
9059 (gst_fakesink_preroll), (gst_fakesink_render),
9060 (gst_fakesink_change_state):
9061 * gst/elements/gstfakesink.h:
9062 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
9063 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
9064 * gst/gstelement.c: (gst_element_add_pad),
9065 (gst_element_get_state_func), (gst_element_abort_state),
9066 (gst_element_commit_state), (gst_element_lost_state),
9067 (gst_element_set_state), (gst_element_pads_activate):
9068 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
9069 * gst/gstpipeline.c: (gst_pipeline_send_event),
9070 (gst_pipeline_change_state):
9071 Added state change code.
9073 Added sink base class, make fakesink extend the base class.
9074 Small cleanups in GstPipeline.
9076 2005-03-26 David Schleef <ds@schleef.org>
9078 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
9079 is broken and should be implemented in a different library.
9080 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
9081 * gst/gst.h: remove gstcpu.h
9082 * gst/gstcpu.c: remove
9083 * gst/gstcpu.h: remove
9084 * gst/Makefile.am.future: Remove this file. It's ancient.
9086 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9088 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
9089 (gst_bin_send_event):
9090 Add default event/set_manager handlers. The set_manager handler
9091 takes care that the manager is distributed over kids that were
9092 already in the bin before the manager was set. The event handler
9093 is a utility virtual function that sends the event over all sinks,
9094 so that gst_element_send_event (bin, event); has the expected
9096 * gst/gstpad.c: (gst_pad_event_default):
9097 Re-install default event handling for discontinuities, so that
9098 seeking works without requiring hacks in applications or extra
9100 * gst/gstpipeline.c: (gst_pipeline_class_init),
9101 (gst_pipeline_send_event):
9102 Half hack, half utility: set a pipeline to PAUSED for seek events,
9103 since that is the only way we can guarantee a/v sync. Means that
9104 you can do gst_element_seek (pipeline, method, pos); on a pipeline
9105 and it "just works".
9107 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
9109 * gst/gstpipeline.c: (gst_pipeline_use_clock):
9110 Lock/unlock mismatch.
9112 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
9114 * docs/faq/gst-uninstalled:
9115 add gst-plugins-base
9116 * docs/gst/Makefile.am:
9117 don't error out until docs are fixed
9118 * docs/gst/gstreamer.types:
9121 2005-03-22 Wim Taymans <wim@fluendo.com>
9123 * check/Makefile.am:
9124 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
9125 * gst/gststructure.c: (gst_structure_set_valist),
9126 (gst_structure_copy_conditional):
9127 Activated more tests.
9129 Added G_TYPE_POINTER to GstStructure.
9132 2005-03-22 Wim Taymans <wim@fluendo.com>
9134 * docs/design/part-TODO.txt:
9135 * docs/design/part-events.txt:
9136 * docs/design/part-gstbin.txt:
9137 * docs/design/part-gstbus.txt:
9138 * docs/design/part-gstpipeline.txt:
9139 * docs/design/part-messages.txt:
9144 2005-03-21 Wim Taymans <wim@fluendo.com>
9146 * gst/gstbus.c: (gst_bus_post):
9147 Fix copy-and-paste error.
9149 2005-03-21 Wim Taymans <wim@fluendo.com>
9151 * check/Makefile.am:
9153 * gst/elements/Makefile.am:
9154 * gst/elements/gstelements.c:
9155 * gst/elements/gstfakesink.c: (gst_fakesink_init),
9156 (gst_fakesink_event), (gst_fakesink_chain):
9157 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9158 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
9159 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
9160 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
9161 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9162 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
9163 (gst_fakesrc_loop), (gst_fakesrc_activate),
9164 (gst_fakesrc_change_state):
9165 * gst/elements/gstfakesrc.h:
9166 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9167 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
9168 (gst_filesrc_open_file), (gst_filesrc_loop),
9169 (gst_filesrc_activate), (gst_filesrc_change_state),
9170 (filesrc_find_peek), (filesrc_find_suggest),
9171 (gst_filesrc_type_find):
9172 * gst/elements/gstidentity.c: (gst_identity_finalize),
9173 (gst_identity_class_init), (gst_identity_init),
9174 (gst_identity_proxy_getcaps), (identity_queue_push),
9175 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
9176 (gst_identity_getrange), (gst_identity_chain),
9177 (gst_identity_sink_loop), (gst_identity_src_loop),
9178 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
9179 (gst_identity_set_property), (gst_identity_get_property),
9180 (gst_identity_change_state):
9181 * gst/elements/gstidentity.h:
9182 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
9183 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
9184 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
9185 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
9186 (gst_tee_sink_activate):
9187 * gst/elements/gsttee.h:
9188 * gst/gst.c: (gst_register_core_elements), (init_post):
9190 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
9191 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
9192 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
9193 (gst_bin_change_state):
9195 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
9196 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
9197 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
9198 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
9199 (gst_bus_set_sync_handler), (gst_bus_create_watch),
9200 (bus_watch_callback), (bus_watch_destroy),
9201 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
9202 (poll_timeout), (gst_bus_poll):
9206 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
9207 (gst_element_post_message), (gst_element_message_full),
9208 (gst_element_get_state_func), (gst_element_get_state),
9209 (gst_element_abort_state), (gst_element_commit_state),
9210 (gst_element_lost_state), (gst_element_set_state),
9211 (gst_element_pads_activate), (gst_element_change_state),
9212 (gst_element_dispose), (gst_element_set_manager_func),
9213 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
9214 (gst_element_set_manager), (gst_element_get_manager),
9215 (gst_element_set_bus), (gst_element_get_bus),
9216 (gst_element_set_scheduler), (gst_element_get_scheduler):
9218 * gst/gstevent.c: (gst_event_new_segment_seek),
9219 (gst_event_new_flush):
9221 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
9222 (_gst_message_free), (gst_message_get_type), (gst_message_new),
9223 (gst_message_new_eos), (gst_message_new_error),
9224 (gst_message_new_warning), (gst_message_new_tag),
9225 (gst_message_new_state_changed), (gst_message_new_application),
9226 (gst_message_get_structure), (gst_message_parse_tag),
9227 (gst_message_parse_state_changed), (gst_message_parse_error),
9228 (gst_message_parse_warning):
9230 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
9231 (gst_real_pad_set_property), (gst_pad_set_active),
9232 (gst_pad_is_active), (gst_pad_set_blocked_async),
9233 (gst_pad_set_blocked), (gst_pad_is_blocked),
9234 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
9235 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
9236 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
9237 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
9238 (gst_pad_link_filtered), (gst_pad_relink_filtered),
9239 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
9240 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
9241 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
9242 (gst_pad_set_caps), (gst_pad_configure_sink),
9243 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
9244 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
9245 (gst_real_pad_dispose), (gst_real_pad_finalize),
9246 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
9247 (gst_pad_event_default_dispatch), (gst_pad_event_default),
9248 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
9250 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
9251 (pipeline_bus_handler), (gst_pipeline_change_state),
9252 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
9253 * gst/gstpipeline.h:
9255 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9256 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
9257 (gst_queue_link_src), (gst_queue_bufferalloc),
9258 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
9259 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
9260 (gst_queue_loop), (gst_queue_handle_src_event),
9261 (gst_queue_handle_src_query), (gst_queue_src_activate),
9262 (gst_queue_change_state):
9264 * gst/gstscheduler.c: (gst_scheduler_init),
9265 (gst_scheduler_dispose), (gst_scheduler_create_task),
9266 (gst_scheduler_factory_create):
9267 * gst/gstscheduler.h:
9268 * gst/gststructure.c: (gst_structure_get_type),
9269 (gst_structure_copy_conditional):
9270 * gst/gststructure.h:
9271 * gst/gsttaginterface.h:
9272 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9273 (gst_task_init), (gst_task_dispose), (gst_task_create),
9274 (gst_task_get_state), (gst_task_start), (gst_task_stop),
9280 * gst/schedulers/Makefile.am:
9281 * gst/schedulers/cothreads_compat.h:
9282 * gst/schedulers/entryscheduler.c:
9283 * gst/schedulers/faircothreads.c:
9284 * gst/schedulers/faircothreads.h:
9285 * gst/schedulers/fairscheduler.c:
9286 * gst/schedulers/gstbasicscheduler.c:
9287 * gst/schedulers/gstoptimalscheduler.c:
9288 * gst/schedulers/gthread-cothreads.h:
9289 * gst/schedulers/threadscheduler.c:
9290 (gst_thread_scheduler_task_get_type),
9291 (gst_thread_scheduler_task_class_init),
9292 (gst_thread_scheduler_task_init),
9293 (gst_thread_scheduler_task_start),
9294 (gst_thread_scheduler_task_stop),
9295 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
9296 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9297 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
9298 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
9300 * libs/gst/Makefile.am:
9301 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
9302 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
9303 (gst_file_pad_parent_set):
9304 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9305 (gst_dp_event_from_packet):
9306 * tests/complexity.c: (main):
9307 * tests/mass_elements.c: (main):
9308 * testsuite/states/locked.c: (message_received), (main):
9309 * testsuite/states/parent.c: (main):
9310 * tools/gst-inspect.c: (print_element_flag_info),
9311 (print_implementation_info), (print_pad_info):
9312 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
9314 * tools/gst-md5sum.c: (event_loop), (main):
9315 * tools/gst-typefind.c: (main):
9316 * tools/gst-xmlinspect.c: (print_element_info):
9318 Added GstBus for mainloop integration.
9319 Added GstMessage for sending notifications on the bus.
9320 Added GstTask as an abstraction for pipeline entry points.
9323 Simplified GstQueue for multithreaded core.
9324 Made _link threadsafe, removed old capsnego.
9325 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
9326 Added pad blocking functions.
9327 Reworked scheduling functions in GstPad to prepare for
9328 scheduling updates soon.
9329 Moved events out of data stream.
9330 Simplified GstEvent types.
9331 Added return values to push/pull.
9332 Removed clocking from GstElement.
9333 Added prototypes for state change function for next merge.
9334 Removed iterate from bins and state change management.
9335 Fixed some elements, disabled others for now.
9336 Fixed -inspect and -launch.
9337 Added check for GstBus.
9339 2005-03-10 Wim Taymans <wim@fluendo.com>
9341 * docs/design/part-MT-refcounting.txt:
9342 * docs/design/part-clocks.txt:
9343 * docs/design/part-gstelement.txt:
9344 * docs/design/part-gstobject.txt:
9345 * docs/design/part-standards.txt:
9346 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
9347 (gst_bin_remove_func), (gst_bin_remove):
9351 * testsuite/clock/clock1.c: (main):
9352 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
9354 * testsuite/dlopen/loadgst.c: (do_test):
9355 * testsuite/refcounting/bin.c: (add_remove_test1),
9356 (add_remove_test2), (main):
9357 * testsuite/refcounting/element.c: (main):
9358 * testsuite/refcounting/element_pad.c: (main):
9359 * testsuite/refcounting/pad.c: (main):
9360 * tools/gst-launch.c: (sigint_handler_sighandler):
9361 * tools/gst-typefind.c: (main):
9363 Added doc about clock.
9364 removed gst_bin_iterate_recurse_up(), marked methods
9366 Fix more testsuites.
9368 2005-03-09 Wim Taymans <wim@fluendo.com>
9370 * gst/gstpad.c: (gst_pad_get_direction),
9371 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
9372 (gst_pad_collect_valist):
9373 * testsuite/bins/interface.c: (main):
9374 * testsuite/caps/audioscale.c: (test_caps):
9375 * testsuite/caps/caps.c: (test1), (test2), (test3):
9376 * testsuite/caps/deserialize.c: (main):
9377 * testsuite/caps/enumcaps.c: (main):
9378 * testsuite/caps/filtercaps.c: (main):
9379 * testsuite/caps/intersect2.c: (main):
9380 * testsuite/caps/random.c: (main):
9381 * testsuite/caps/renegotiate.c: (my_fixate), (main):
9382 * testsuite/caps/sets.c: (check_caps):
9383 * testsuite/caps/simplify.c: (check_caps), (main):
9384 * testsuite/caps/subtract.c: (check_caps):
9385 Fix _pad_get_direction wrt ghostpads.
9388 2005-03-09 Wim Taymans <wim@fluendo.com>
9390 * check/Makefile.am:
9391 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
9392 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
9393 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
9394 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
9395 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
9396 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
9397 (gst_bin_remove), (gst_bin_iterate_recurse_up),
9398 (bin_element_is_sink), (gst_bin_iterate_sinks),
9399 (gst_bin_iterate_all_by_interface):
9401 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
9402 (gst_element_change_state), (gst_element_dispose),
9403 (gst_element_finalize), (gst_element_set_loop_function):
9405 * gst/gstiterator.c: (find_custom_fold_func):
9406 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
9407 (gst_pad_collectv), (gst_pad_collect_valist),
9408 (gst_pad_template_new):
9409 * gst/gstpipeline.c: (gst_pipeline_class_init),
9410 (gst_pipeline_dispose), (gst_pipeline_set_property),
9411 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
9412 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
9413 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
9415 * gst/schedulers/entryscheduler.c:
9416 * gst/schedulers/gstbasicscheduler.c:
9417 (gst_basic_scheduler_cothreaded_chain),
9418 (gst_basic_scheduler_chain_add_element):
9419 * testsuite/bins/interface.c: (main):
9421 Added GstSystemClock test.
9422 Implemented clock distribution code in GstBin.
9423 Implemented iterate sinks method for future use.
9424 Rearranged gstelement.h
9425 Fix GstIterator comparison bug.
9426 Moved some code to GstPipeline, mostly clocking related.
9428 2005-03-09 Wim Taymans <wim@fluendo.com>
9431 * gst/gst_private.h:
9432 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
9433 (gst_bin_remove_func), (gst_bin_remove),
9434 (gst_bin_get_by_name_recurse_up):
9435 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
9436 (gst_clock_id_compare_func), (gst_clock_id_wait),
9437 (gst_clock_id_wait_async), (gst_clock_init),
9438 (gst_clock_adjust_unlocked), (gst_clock_get_time):
9440 * gst/gstinfo.c: (_gst_debug_init):
9442 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
9443 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
9445 Bump version number, we're now 0.9.0
9446 Add future debugging category.
9447 Fix NULL _unref() in _get_by_name_recurse_up
9451 2005-03-08 Wim Taymans <wim@fluendo.com>
9453 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
9454 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
9455 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9456 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
9457 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
9458 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
9459 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
9460 * gst/elements/gstidentity.c: (gst_identity_class_init):
9461 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
9462 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9463 * gst/elements/gstshaper.c: (gst_shaper_class_init):
9464 * gst/elements/gststatistics.c: (gst_statistics_class_init):
9465 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
9467 * gst/gstelement.c: (gst_element_class_init),
9468 (gst_element_base_class_init), (gst_element_init),
9469 (gst_element_get_random_pad), (gst_element_wait_state_change),
9470 (gst_element_change_state), (gst_element_dispose),
9471 (gst_element_finalize), (gst_element_set_loop_function):
9473 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
9474 * gst/gstthread.c: (gst_thread_class_init),
9475 (gst_thread_release_children_locks), (gst_thread_change_state):
9476 * gst/schedulers/gstbasicscheduler.c:
9477 (gst_basic_scheduler_loopfunc_wrapper),
9478 (gst_basic_scheduler_chain_wrapper),
9479 (gst_basic_scheduler_src_wrapper),
9480 (gst_basic_scheduler_remove_element):
9481 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
9482 Remove threadsafe properties. Fix elements because GObject
9483 complains when installing a property before declaring a
9484 set/get_property handler.
9485 Rearrange gstelement.h file, use STATE macros for state locks.
9486 Free mutexes in the finalize method instead of dispose.
9488 2005-03-08 Wim Taymans <wim@fluendo.com>
9490 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
9491 * gst/gstthread.c: (gst_thread_release_children_locks):
9492 Added parentage check.
9493 Fix build og GstThread again.
9495 2005-03-08 Wim Taymans <wim@fluendo.com>
9497 * docs/design/part-MT-refcounting.txt:
9498 * docs/design/part-conventions.txt:
9499 * docs/design/part-gstobject.txt:
9500 * docs/design/part-relations.txt:
9501 * docs/design/part-standards.txt:
9502 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
9503 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
9504 (gst_bin_get_by_name), (gst_bin_get_by_interface),
9505 (gst_bin_iterate_all_by_interface):
9508 * gst/gstelement.c: (gst_element_class_init),
9509 (gst_element_change_state), (gst_element_set_loop_function):
9511 * gst/gstiterator.c:
9512 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
9513 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
9514 (gst_object_dispatch_properties_changed), (gst_object_set_name),
9515 (gst_object_set_parent), (gst_object_unparent),
9516 (gst_object_check_uniqueness):
9518 Docs updates, clean up some headers.
9520 2005-03-07 Wim Taymans <wim@fluendo.com>
9523 * check/Makefile.am:
9524 * check/gst-libs/.cvsignore:
9525 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
9526 * check/gst/.cvsignore:
9527 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
9528 (START_TEST), (gstbus_suite), (main):
9529 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
9530 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
9531 (gst_data_suite), (main):
9532 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
9533 (add_fold_func), (gstiterator_suite), (main):
9534 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
9535 (thread_name_object), (thread_name_object_default),
9536 (gst_object_name_compare), (gst_object_suite), (main):
9537 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
9538 (gst_pad_suite), (main):
9539 * check/gstcheck.c: (gst_check_log_message_func),
9540 (gst_check_log_critical_func), (gst_check_init):
9542 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
9543 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
9546 2005-03-07 Wim Taymans <wim@fluendo.com>
9548 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9549 (gst_list_iterator_next), (gst_list_iterator_resync),
9550 (gst_list_iterator_free), (gst_iterator_new_list),
9551 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
9552 (gst_iterator_free), (gst_iterator_push), (filter_next),
9553 (filter_resync), (filter_uninit), (filter_free),
9554 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
9555 (gst_iterator_foreach), (find_custom_fold_func),
9556 (gst_iterator_find_custom):
9557 * gst/gstiterator.h:
9558 Added missing files.
9560 2005-03-07 Wim Taymans <wim@fluendo.com>
9564 * docs/design/part-MT-refcounting.txt:
9565 * docs/design/part-conventions.txt:
9566 * docs/design/part-gstobject.txt:
9567 * docs/design/part-relations.txt:
9568 * examples/mixer/mixer.c: (main):
9569 * examples/thread/thread.c: (eos), (main):
9571 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
9572 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
9573 (gst_spider_plug_from_srcpad):
9574 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
9575 (gst_spider_identity_change_state),
9576 (gst_spider_identity_sink_loop_type_finding):
9577 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
9578 * gst/elements/gstidentity.c: (gst_identity_init):
9579 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
9580 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
9581 * gst/elements/gsttypefindelement.c: (free_entry):
9584 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
9585 (gst_bin_set_clock_func), (gst_bin_auto_clock),
9586 (gst_bin_set_index), (gst_bin_set_element_sched),
9587 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
9588 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
9589 (gst_bin_iterate_elements), (iterate_child_recurse),
9590 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
9591 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
9592 (compare_interface), (gst_bin_get_by_interface),
9593 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
9595 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
9596 (gst_buffer_default_free), (gst_buffer_default_copy),
9597 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
9598 (gst_buffer_create_sub):
9600 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
9601 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
9602 (gst_caps_unref), (gst_static_caps_get),
9603 (gst_caps_remove_and_get_structure), (gst_caps_append),
9604 (gst_caps_append_structure), (gst_caps_remove_structure),
9605 (gst_caps_copy_nth), (gst_caps_set_simple),
9606 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
9607 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
9608 (gst_caps_structure_intersect_field), (gst_caps_intersect),
9609 (gst_caps_structure_subtract_field), (gst_caps_subtract),
9610 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
9611 (gst_caps_structure_figure_out_union),
9612 (gst_caps_switch_structures), (gst_caps_do_simplify),
9613 (gst_caps_replace), (gst_caps_from_string),
9614 (gst_caps_copy_conditional):
9616 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
9617 (_gst_clock_id_free), (gst_clock_id_unref),
9618 (gst_clock_id_compare_func), (gst_clock_id_wait),
9619 (gst_clock_id_wait_async), (gst_clock_class_init),
9620 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
9621 (gst_clock_get_time), (gst_clock_set_time_adjust),
9622 (gst_clock_set_property), (gst_clock_get_property):
9625 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
9626 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
9628 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
9629 (gst_element_requires_clock), (gst_element_provides_clock),
9630 (gst_element_set_clock), (gst_element_clock_wait),
9631 (gst_element_wait), (gst_element_set_time_delay),
9632 (gst_element_is_indexable), (gst_element_add_pad),
9633 (gst_element_add_ghost_pad), (gst_element_remove_pad),
9634 (pad_compare_name), (gst_element_get_static_pad),
9635 (gst_element_request_pad), (gst_element_get_request_pad),
9636 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
9637 (gst_element_class_get_pad_template_list),
9638 (gst_element_class_get_pad_template), (gst_element_error_func),
9639 (gst_element_get_random_pad), (gst_element_get_event_masks),
9640 (gst_element_send_event), (gst_element_seek),
9641 (gst_element_get_query_types), (gst_element_query),
9642 (gst_element_get_formats), (gst_element_convert),
9643 (gst_element_is_locked_state), (gst_element_set_locked_state),
9644 (gst_element_sync_state_with_parent), (gst_element_change_state),
9645 (gst_element_finalize), (gst_element_yield),
9646 (gst_element_interrupt), (gst_element_set_scheduler),
9647 (gst_element_get_scheduler), (gst_element_set_loop_function):
9650 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
9651 (gst_format_get_by_nick), (gst_format_get_details),
9652 (gst_format_iterate_definitions):
9654 * gst/gstindex.c: (gst_index_gtype_resolver):
9657 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
9658 (gst_mem_chunk_free):
9659 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
9660 (gst_object_ref), (gst_object_unref), (gst_object_sink),
9661 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
9662 (gst_object_dispatch_properties_changed),
9663 (gst_object_set_name_default), (gst_object_set_name),
9664 (gst_object_get_name), (gst_object_set_name_prefix),
9665 (gst_object_get_name_prefix), (gst_object_set_parent),
9666 (gst_object_get_parent), (gst_object_unparent),
9667 (gst_object_check_uniqueness), (gst_object_save_thyself),
9668 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
9669 (gst_object_set_property), (gst_object_get_property),
9670 (gst_object_get_path_string):
9672 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
9673 (gst_real_pad_init), (gst_real_pad_get_property),
9674 (gst_pad_custom_new), (gst_pad_get_direction),
9675 (gst_pad_set_active), (gst_pad_is_active),
9676 (gst_pad_set_event_function), (gst_pad_is_linked),
9677 (gst_pad_link_free), (gst_pad_link_intersect),
9678 (gst_pad_link_fixate), (gst_pad_set_caps),
9679 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
9680 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
9681 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
9682 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
9683 (gst_pad_get_caps), (gst_pad_peer_get_caps),
9684 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
9685 (gst_pad_realize), (gst_pad_get_allowed_caps),
9686 (gst_real_pad_dispose), (gst_real_pad_finalize),
9687 (gst_pad_collectv), (gst_pad_collect_valist),
9688 (gst_pad_template_dispose), (gst_pad_template_new),
9689 (gst_pad_get_internal_links):
9691 * gst/gstpipeline.c: (gst_pipeline_dispose),
9692 (gst_pipeline_change_state):
9693 * gst/gstpipeline.h:
9695 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
9696 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
9697 * gst/gstpluginfeature.h:
9698 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
9699 * gst/gstquery.c: (_gst_query_type_initialize),
9700 (gst_query_type_register), (gst_query_type_get_by_nick),
9701 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
9703 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
9704 * gst/gstscheduler.c: (gst_scheduler_add_element),
9705 (gst_scheduler_factory_create):
9706 * gst/gststructure.c: (gst_structure_set_parent_refcount),
9707 (gst_structure_free), (gst_structure_set_name),
9708 (gst_structure_id_set_value), (gst_structure_set_value),
9709 (gst_structure_set_valist), (gst_structure_remove_field),
9710 (gst_structure_remove_fields),
9711 (gst_structure_remove_fields_valist),
9712 (gst_structure_remove_all_fields), (gst_structure_foreach),
9713 (gst_structure_map_in_place),
9714 (gst_caps_structure_fixate_field_nearest_int),
9715 (gst_caps_structure_fixate_field_nearest_double):
9716 * gst/gststructure.h:
9717 * gst/gstsystemclock.c: (gst_system_clock_class_init),
9718 (gst_system_clock_init), (gst_system_clock_dispose),
9719 (gst_system_clock_async_thread),
9720 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
9721 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9722 * gst/gstsystemclock.h:
9723 * gst/gsttag.c: (gst_tag_list_add_value_internal),
9724 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
9725 * gst/gsttaginterface.c:
9726 * gst/gstthread.c: (gst_thread_dispose),
9727 (gst_thread_release_children_locks), (gst_thread_change_state),
9728 (gst_thread_main_loop):
9729 * gst/gsttrashstack.h:
9730 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
9732 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
9733 (gst_element_request_pad), (gst_element_get_pad_from_template),
9734 (gst_element_request_compatible_pad),
9735 (gst_element_get_compatible_pad_filtered),
9736 (gst_element_get_compatible_pad), (gst_element_state_get_name),
9737 (gst_element_link_pads_filtered), (gst_element_link_filtered),
9738 (gst_element_link_many), (gst_element_link),
9739 (gst_element_link_pads), (gst_element_unlink_pads),
9740 (gst_element_unlink_many), (gst_element_unlink),
9741 (gst_pad_can_link_filtered), (gst_pad_can_link),
9742 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
9743 (gst_object_default_error), (gst_bin_add_many),
9744 (gst_bin_remove_many), (gst_element_populate_std_props),
9745 (gst_element_class_install_std_props), (gst_buffer_merge),
9746 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
9747 (link_fold_func), (gst_pad_proxy_setcaps):
9749 * gst/gstvalue.c: (gst_value_deserialize_string):
9750 * gst/parse/grammar.y:
9751 * gst/schedulers/gstbasicscheduler.c:
9752 (gst_basic_scheduler_cothreaded_chain),
9753 (gst_basic_scheduler_chain_recursive_add),
9754 (gst_basic_scheduler_pad_link):
9755 * gst/schedulers/gstoptimalscheduler.c:
9756 (get_group_schedule_function),
9757 (gst_opt_scheduler_state_transition),
9758 (gst_opt_scheduler_add_element), (element_get_reachables_func):
9759 * libs/gst/bytestream/bytestream.c:
9760 * libs/gst/dataprotocol/dataprotocol.c:
9761 (gst_dp_header_from_buffer):
9764 * tests/threadstate/threadstate2.c: (eos):
9765 * tools/gst-compprep.c: (main):
9766 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
9767 (print_pad_info), (print_children_info):
9768 * tools/gst-launch.c: (idle_func), (main):
9769 * tools/gst-md5sum.c: (idle_func), (main):
9770 * tools/gst-xmlinspect.c: (print_element_info):
9771 First THREADED backport attempt, focusing on adding locks and
9772 making sure the API is threadsafe. Needs more work. More docs
9775 2005-02-24 Andy Wingo <wingo@pobox.com>
9777 * tests/bench-complexity.scm:
9778 * tests/complexity.gnuplot: New files, good for running complexity
9781 * tests/Makefile.am:
9782 * tests/complexity.c: New test, sets up N elements, at each level
9783 teeing into M streams per element. Eeeenteresting.
9785 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
9786 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
9787 running bench-mass_elements.scm.
9789 * tests/bench-mass_elements.scm: New script, runs mass_elements
9790 for various numbers of identities, outputting the results to a
9791 file. Requires guile 1.6. Just for testing.
9793 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
9795 * gst/schedulers/fairscheduler.c:
9796 compile with debug disabled
9798 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
9801 hunting season on 0.9 is now OPEN