Commit graph

2243 commits

Author SHA1 Message Date
Wim Taymans
be1f48de3a docs/design/part-element-sink.txt: Updated document.
Original commit message from CVS:
* docs/design/part-element-sink.txt:
Updated document.

* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
(gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
(gst_base_sink_configure_segment), (gst_base_sink_commit_state),
(gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
(gst_base_sink_do_sync), (gst_base_sink_render_object),
(gst_base_sink_preroll_object),
(gst_base_sink_queue_object_unlocked),
(gst_base_sink_queue_object), (gst_base_sink_event),
(gst_base_sink_chain_unlocked), (gst_base_sink_chain),
(gst_base_sink_loop), (gst_base_sink_activate_pull),
(gst_base_sink_get_position), (gst_base_sink_change_state):
* libs/gst/base/gstbasesink.h:
Totally refactored matching the design doc.
Use two segments, one to clip incomming buffers and another to
perform sync.
Handle queueing correctly, bypass the queue when playing.
Make EOS cancelable.
Handle errors correctly when operating in pull based mode.

* tests/check/elements/fakesink.c: (GST_START_TEST),
(fakesink_suite):
Added new check for sinks.
2006-02-02 12:07:48 +00:00
Wim Taymans
0a52de57d7 gst/gstsegment.c: No reason to refuse to clip when start == -1
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_clip):
No reason to refuse to clip when start == -1
2006-02-02 11:59:27 +00:00
Stefan Kost
523041b533 docs/: describe dparams (controller) for plugins unify docs a little more
Original commit message from CVS:
* docs/README:
* docs/manual/intro-basics.xml:
* docs/manual/intro-preface.xml:
* docs/manual/manual.xml:
* docs/pwg/advanced-dparams.xml:
* docs/pwg/intro-basics.xml:
* docs/pwg/intro-preface.xml:
* docs/pwg/pwg.xml:
describe dparams (controller) for plugins
unify docs a little more
2006-02-02 11:24:19 +00:00
Tim-Philipp Müller
cefc46ad7e Add new API: gst_parse_bin_from_description() and gst_bin_find_unconnected_pad() (#329069).
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.c: (element_find_unconnected_pad),
(gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
* gst/gstutils.h:
Add new API: gst_parse_bin_from_description() and
gst_bin_find_unconnected_pad() (#329069).
2006-02-02 09:51:18 +00:00
Stefan Kost
7e3ec58b4d docs/manual/README: uncover a nasty detail of the docs build
Original commit message from CVS:
* docs/manual/README:
uncover a nasty detail of the docs build
2006-02-01 22:43:17 +00:00
Wim Taymans
b6192a81bd gst/gstbin.c: Don't cache duration messages if we're not going to use or free them.
Original commit message from CVS:
* gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
Don't cache duration messages if we're not going to use or
free them.
2006-01-31 18:46:15 +00:00
Stefan Kost
dad303a342 docs/: more dparam docs
Original commit message from CVS:
* docs/manual/advanced-dparams.xml:
* docs/pwg/advanced-dparams.xml:
more dparam docs
* gst/gstindex.c:
fix docs
* libs/gst/controller/lib.c: (gst_controller_init):
init just once
2006-01-31 16:56:28 +00:00
Thomas Vander Stichele
93d14f9c64 gst/gstelement.c: also show file/line/func if no additional debug was given
Original commit message from CVS:

* gst/gstelement.c: (gst_element_message_full):
also show file/line/func if no additional debug was given
2006-01-31 10:16:49 +00:00
Sébastien Moutte
281eb4c00b win32/vs7/grammar.vcproj: activate copy of autogenerated files for Release mode
Original commit message from CVS:
* win32/vs7/grammar.vcproj:
activate copy of autogenerated files for Release mode
2006-01-30 23:52:52 +00:00
Sébastien Moutte
0e96ab6bb2 win32/common/libgstreamer.def: export gst_value_compare
Original commit message from CVS:
* win32/common/libgstreamer.def:
export gst_value_compare
2006-01-30 22:29:03 +00:00
Philippe Rouquier
8ea74d2f7c plugins/elements/:
Original commit message from CVS:
* plugins/elements/Makefile.am:
* plugins/elements/gstelements.c:
* plugins/elements/gstfdsink.c: (_do_init),
(gst_fd_sink_base_init), (gst_fd_sink_class_init),
(gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
(gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
(gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
(gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
(gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
(gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
* plugins/elements/gstfdsink.h:
Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
2006-01-30 21:57:00 +00:00
Stefan Kost
a768c44689 docs/manual/advanced-dparams.xml: describe controller
Original commit message from CVS:
* docs/manual/advanced-dparams.xml:
describe controller
* docs/manual/advanced-position.xml:
* docs/manual/basics-init.xml:
* docs/manual/manual.xml:
* docs/manual/titlepage.xml:
* docs/pwg/pwg.xml:
* docs/pwg/titlepage.xml:
cleanup xml (more to come)
* libs/gst/controller/gstcontroller.c:
fix typo
2006-01-30 21:11:38 +00:00
Sébastien Moutte
c0a0e6303e win32/vs6/grammar.dsp: add autogen of gstmarshal.c,h for Release mode
Original commit message from CVS:
* win32/vs6/grammar.dsp:
add autogen of gstmarshal.c,h for Release mode
2006-01-30 20:36:51 +00:00
Wim Taymans
0cab8b4fbc libs/gst/base/gstbasesink.c: Basesink cleanups, remove some old code.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
(gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
(gst_base_sink_handle_object), (gst_base_sink_event),
(gst_base_sink_is_prerolled), (gst_base_sink_wait),
(gst_base_sink_do_sync), (gst_base_sink_handle_event),
(gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
(gst_base_sink_deactivate), (gst_base_sink_activate),
(gst_base_sink_activate_pull), (gst_base_sink_get_position),
(gst_base_sink_query), (gst_base_sink_change_state):
Basesink cleanups, remove some old code.
Handle the case where a subclass can preroll in the render
method (mostly audiosinks).
Handle more events.
Remove some locks around variables that are now protected
with the PREROLL_LOCK (clock_id, flushing, ..).
Optimize position query some more, do correct locking.
Remove old code to push queue in state change, this is not
needed anymore since preroll blocks on all prerollable items
now.
Almost implemented as described in design doc.
2006-01-30 16:07:48 +00:00
Wim Taymans
1071a5979d tests/check/gst/gstbin.c: Wait for refcount to settle down before checking.
Original commit message from CVS:
* tests/check/gst/gstbin.c: (GST_START_TEST):
Wait for refcount to settle down before checking.
2006-01-30 15:57:43 +00:00
Wim Taymans
6f658cf690 docs/design/part-element-sink.txt: Pseudo code overview of desired sink behaviour regarding preroll.
Original commit message from CVS:
* docs/design/part-element-sink.txt:
Pseudo code overview of desired sink behaviour regarding
preroll.
2006-01-30 15:15:47 +00:00
Jan Schmidt
14c9285db8 Bleh, forgot to commit the changelog entry on Saturday.
Original commit message from CVS:
Bleh, forgot to commit the changelog entry on Saturday.
2006-01-30 14:28:03 +00:00
Sébastien Moutte
d90b1da4f4 win32/vs6/grammar.dsp: fix some bugs in autogenerated files for Release mode
Original commit message from CVS:
* win32/vs6/grammar.dsp:
fix some bugs in autogenerated files for Release mode
2006-01-29 21:56:00 +00:00
Sébastien Moutte
32c1915210 win32/common/: export some new symbols: gst_base_src_set_format, gst_iterator_next, gst_structure_set_valist
Original commit message from CVS:
* win32/common/libgstbase.def:
* win32/common/libgstreamer.def:
export some new symbols: gst_base_src_set_format,
gst_iterator_next, gst_structure_set_valist
2006-01-29 19:24:18 +00:00
Julien Moutte
a365129ba7 gst/gstghostpad.c: Set pad functions unconditionally. Fixes #329105.
Original commit message from CVS:
2006-01-29  Julien MOUTTE  <julien@moutte.net>

* gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
Set pad functions unconditionally. Fixes #329105.
2006-01-29 17:37:08 +00:00
Sébastien Moutte
c84db83b8e win32/vs8: add vs8 project files created by Sergey Scobich
Original commit message from CVS:
* win32/vs8:
add vs8 project files created by Sergey Scobich
2006-01-29 16:54:40 +00:00
Stefan Kost
a53172d79d doc fixes, to link to function, just write gst_cool_function(), don't prefix with '#'
Original commit message from CVS:
* gst/gstcaps.c:
* gst/gstelement.c: (gst_element_send_event):
* gst/gstevent.c:
* gst/gstinfo.c:
* gst/gstiterator.c:
* gst/gstiterator.h:
* gst/gstpad.c: (gst_pad_send_event):
* gst/gststructure.c:
* gst/gsturi.c:
* gst/gstutils.c:
* gst/gstvalue.c:
* libs/gst/base/gstadapter.c:
doc fixes, to link to function, just write gst_cool_function(), don't
prefix with '#'
2006-01-27 22:34:51 +00:00
Jan Schmidt
038e540a53 plugins/elements/gsttee.c: Always prefer an actual return value from a src pad in place of NOT_LINKED. This means we ...
Original commit message from CVS:
* plugins/elements/gsttee.c: (gst_tee_do_push),
(gst_tee_handle_buffer):
Always prefer an actual return value from a src
pad in place of NOT_LINKED. This means we return
WRONG_STATE when all src pads are WRONG_STATE
instead of NOT_LINKED.

Lock when replacing the last message to prevent
racing with the get_property method.

Add debug output
2006-01-27 16:59:57 +00:00
Jan Schmidt
a25bb7be67 tests/check/: Add a very simple check that should have caught the memleak I fixed last night (if not for the slice al...
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
(main):
Add a very simple check that should have caught the memleak I fixed
last night (if not for the slice allocator hiding it)
2006-01-27 11:53:20 +00:00
Jan Schmidt
6ef1fd2c53 gst/gstbin.c: Clean up references to the clock provider when disposed or when handling a clock-lost message from it.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
(gst_bin_remove_func), (gst_bin_handle_message_func),
(bin_query_duration_fold), (bin_query_generic_fold):
Clean up references to the clock provider when disposed or when
handling a clock-lost message from it.

Unref sinks when performing a query via gst_iterator_fold, as the
gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)

* gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
(gst_clock_set_master):
Drop our reference to the master clock, if any, when we are disposed.

* gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
Chain up in dispose.
2006-01-27 01:48:37 +00:00
Wim Taymans
74464f0730 libs/gst/base/gstbasesrc.c: Add some debugging.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
Add some debugging.
2006-01-26 12:59:48 +00:00
Julien Moutte
41a718c171 plugins/elements/gsttee.c: Apply patch from #328715. Tee now handles pad being NOT_LINKED or in WRONG_STATE.
Original commit message from CVS:
2006-01-26  Julien MOUTTE  <julien@moutte.net>

* plugins/elements/gsttee.c: (gst_tee_do_push),
(gst_tee_handle_buffer): Apply patch from #328715. Tee now
handles pad being NOT_LINKED or in WRONG_STATE.
2006-01-26 12:40:17 +00:00
Stefan Kost
9da0074030 win32/MANIFEST: more updating
Original commit message from CVS:
* win32/MANIFEST:
more updating
2006-01-26 08:57:40 +00:00
Stefan Kost
6e2a72d605 win32/MANIFEST: remove obsolete entry
Original commit message from CVS:
* win32/MANIFEST:
remove obsolete entry
2006-01-26 08:39:20 +00:00
Stefan Kost
b352cee4f7 added code for downstream events, reviewed docs in gstevent.c
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
(gst_bin_iterate_sources), (gst_bin_send_event):
* gst/gstbin.h:
* gst/gstelement.c: (gst_element_send_event):
* gst/gstevent.c:
* gst/gstpad.c: (gst_pad_send_event):
added code for downstream events, reviewed docs in gstevent.c
2006-01-26 06:57:14 +00:00
Julien Moutte
8791aa4fbc libs/gst/base/gstbasesink.c: We only query position using the clock in the playing state.
Original commit message from CVS:
2006-01-25  Julien MOUTTE  <julien@moutte.net>

* libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
We only query position using the clock in the playing state.
Query peer in the other cases.
* win32/common/config.h: Updates.
2006-01-25 18:07:02 +00:00
Wim Taymans
213c508b5c gst/gstsystemclock.c: A clock entry that is scheduled for the exact time of the clock is still in time.
Original commit message from CVS:
* gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
A clock entry that is scheduled for the exact time of the
clock is still in time.

* libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_do_sync):
Add some more debug info.
2006-01-24 16:23:17 +00:00
Sébastien Moutte
5eb568fb84 win32/vs7: Add new vs7 project files and solution.
Original commit message from CVS:
* win32/vs7 :
Add new vs7 project files and solution.
2006-01-23 12:37:33 +00:00
Sébastien Moutte
a979862974 win32/vs7: all files removed as they were out-dated.
Original commit message from CVS:
* win32/vs7:
all files removed as they were out-dated.
2006-01-23 12:23:00 +00:00
Thomas Vander Stichele
0e08e35ec2 docs/random/release: update notes
Original commit message from CVS:

* docs/random/release:
update notes
* gst/gstbin.c: (gst_bin_init):
* gst/gstbus.c: (gst_bus_new):
* gst/gstbus.h:
* gst/gstpipeline.c: (gst_pipeline_init):
use gst_bus_new(), improve logging, fix docs
* win32/common/config.h:
update for cvs build
2006-01-20 19:01:59 +00:00
Thomas Vander Stichele
c29338bfbf autogen.sh: up required version of automake to 1.7
Original commit message from CVS:

* autogen.sh:
up required version of automake to 1.7
2006-01-20 18:59:00 +00:00
Sébastien Moutte
5234d4f59a win32/common/libgstreamer.def: export gst_buffer_is_metadata_writable
Original commit message from CVS:
* win32/common/libgstreamer.def:
export gst_buffer_is_metadata_writable
2006-01-20 12:53:40 +00:00
Tim-Philipp Müller
d21b9afd54 Add gst_event_replace() (#327001)
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstevent.h:
Add gst_event_replace() (#327001)
2006-01-20 11:46:03 +00:00
Wim Taymans
ae957681a7 gst/gstpad.c: Make it actually compile too..
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
Make it actually compile too..
2006-01-20 09:56:38 +00:00
Wim Taymans
b5b28e2e39 gst/gstcaps.c: Clarify behaviour of _is_equal() when passing NULL parameters.
Original commit message from CVS:
* gst/gstcaps.c:
Clarify behaviour of _is_equal() when passing NULL parameters.

* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
(gst_pad_set_caps):
Cleanups. Don't unref NULL caps.
When setting the same caps, protect caps of the pad with
proper lock.
Use full functionality of _is_equal() when comparing caps.
2006-01-20 09:53:24 +00:00
Jan Schmidt
1dad4aea3a libs/gst/base/gstcollectpads.c: Don't loop infinitely if there are no buffers to present. Partially fixes #327197, bu...
Original commit message from CVS:
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
Don't loop infinitely if there are no buffers to present. Partially
fixes #327197, but collectpads is just broken for reusing elements
to do multiple encodes atm.
2006-01-20 09:26:00 +00:00
Jan Schmidt
134605648c tools/: URL_HANDLER is not a plugin feature we can search for in the registry.
Original commit message from CVS:
* tools/gst-inspect.c: (print_element_features):
* tools/gst-xmlinspect.c: (main):
URL_HANDLER is not a plugin feature we can search for in
the registry.
2006-01-20 09:12:10 +00:00
Edward Hervey
b5c4ad28c1 gst/gstelement.c: When activating, do src pads first, then sink pads.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_pads_activate):
When activating, do src pads first, then sink pads.
When de-activating, do sink pads first, then src pads.
2006-01-19 18:06:18 +00:00
Jan Schmidt
68178a3c9a docs/gst/gstreamer-sections.txt: Add gst_index_add_associationv to the docs
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Add gst_index_add_associationv to the docs
2006-01-19 14:02:04 +00:00
Jan Schmidt
14816cdb49 gst/gstevent.c: Fix docs typo
Original commit message from CVS:
* gst/gstevent.c:
Fix docs typo

* plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
(gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
Do some refactoring. Doesn't actually change functionality,
but makes landing the DRAIN event easier later.
2006-01-19 13:30:31 +00:00
Tim-Philipp Müller
5fadea40de docs/pwg/advanced-scheduling.xml: Update from 0.9.x to 0.10 API and make example a bit clearer.
Original commit message from CVS:
* docs/pwg/advanced-scheduling.xml:
Update from 0.9.x to 0.10 API and make example a bit
clearer.
2006-01-19 10:39:27 +00:00
Jan Schmidt
db47e0d2b6 docs/gst/gstreamer-sections.txt: Add gst_buffer_(is|make)_metadata_writable methods.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Add gst_buffer_(is|make)_metadata_writable methods.
2006-01-19 09:24:03 +00:00
Jan Schmidt
6a8c739673 docs/design/part-sparsestreams.txt: Update sparse streams doc
Original commit message from CVS:
* docs/design/part-sparsestreams.txt:
Update sparse streams doc
2006-01-19 09:08:15 +00:00
Jan Schmidt
872ad1b6f5 docs/design/part-events.txt: Remove mention of FILLER events.
Original commit message from CVS:
* docs/design/part-events.txt:
Remove mention of FILLER events.
Add DRAIN event.

* docs/design/part-sparsestreams.txt:
Write some things about using NEWSEGMENT to keep sparse streams
flowing.
2006-01-19 09:02:12 +00:00
Tim-Philipp Müller
da80e6167e gst/gstbin.c: Guard gst_object_unref call against a NULL object (dispose can theoretically be called multiple times).
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_dispose):
Guard gst_object_unref call against a NULL object (dispose
can theoretically be called multiple times).
2006-01-18 18:56:44 +00:00