Commit graph

59 commits

Author SHA1 Message Date
Wim Taymans 81f1e2e671 Small cleanups, backports from HEAD.
Original commit message from CVS:
Small cleanups, backports from HEAD.
2005-03-21 10:49:42 +00:00
Wim Taymans ba3534f315 Add sink base class to abstract locking and preroll.
Original commit message from CVS:
* configure.ac:
* docs/design/part-states.txt:
* gst/Makefile.am:
* gst/base/Makefile.am:
* gst/base/gstbasesink.c: (gst_basesink_get_template),
(gst_basesink_base_init), (gst_basesink_class_init),
(gst_basesink_init), (gst_basesink_set_pad_functions),
(gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
(gst_basesink_set_property), (gst_basesink_get_property),
(gst_base_sink_get_template), (gst_base_sink_get_caps),
(gst_base_sink_set_caps), (gst_base_sink_alloc_buffer),
(gst_basesink_finish_preroll), (gst_basesink_event),
(gst_basesink_chain_unlocked), (gst_basesink_chain),
(gst_basesink_loop), (gst_basesink_activate),
(gst_basesink_change_state):
* gst/base/gstbasesink.h:
* gst/elements/Makefile.am:
* gst/elements/gstfakesink.c: (gst_fakesink_base_init),
(gst_fakesink_class_init), (gst_fakesink_init),
(gst_fakesink_set_property), (gst_fakesink_get_property),
(gst_fakesink_event), (gst_fakesink_preroll),
(gst_fakesink_render), (gst_fakesink_change_state):
* gst/elements/gstfakesink.h:
* gst/gstelement.c: (gst_element_get_random_pad):
* gst/gstevent.h:
* gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
(gst_list_iterator_next), (gst_list_iterator_free),
(gst_iterator_new_list), (gst_iterator_pop), (gst_iterator_next),
(gst_iterator_push), (filter_next):
* gst/gstmessage.h:
* gst/gsttrashstack.h:
Add sink base class to abstract locking and preroll.
Make fakesink use the base class.
Some doc fixes.
Fix missing breaks.
2005-02-23 11:22:43 +00:00
Wim Taymans 484d9a3224 Added more docs.
Original commit message from CVS:
* docs/design/part-clocks.txt:
* docs/design/part-events.txt:
* gst/elements/gstfakesrc.c: (gst_fakesrc_get_event_mask),
(gst_fakesrc_event_handler), (gst_fakesrc_loop),
(gst_fakesrc_activate):
* gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
(gst_clock_id_compare_func), (gst_clock_id_wait),
(gst_clock_id_wait_async), (gst_clock_init),
(gst_clock_adjust_unlocked), (gst_clock_get_time):
* gst/gstevent.c: (gst_event_new_discontinuous_valist),
(gst_event_discont_get_value), (gst_event_new_segment_seek):
* gst/gstevent.h:
* gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
(pipeline_bus_handler), (gst_pipeline_change_state):
* gst/gstpipeline.h:
* gst/gstsystemclock.c: (gst_system_clock_init),
(gst_system_clock_async_thread),
(gst_system_clock_id_wait_unlocked),
(gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
(gst_dp_event_from_packet):
* testsuite/clock/Makefile.am:
* testsuite/clock/clock4.c: (gst_clock_debug), (ok_callback),
(error_callback), (main):
Added more docs.
Remove more silly events.
Implement periodic clock notifications.
Add async testsuite.
2005-02-11 15:50:53 +00:00
Wim Taymans 5951a9840d gst/: Work on flushing.
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
(gst_filesrc_get), (gst_filesrc_activate):
* gst/gstclock.c: (gst_clock_init), (gst_clock_dispose):
* gst/gstclock.h:
* gst/gstevent.c: (gst_event_new_discontinuous_valist),
(gst_event_new_discontinuous), (gst_event_discont_get_value),
(gst_event_new_flush):
* gst/gstevent.h:
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_set_blocked_async),
(gst_pad_set_acceptcaps_function),
(gst_pad_set_fixatecaps_function), (gst_pad_unlink),
(gst_pad_link_prepare_filtered), (gst_pad_link_filtered),
(gst_pad_relink_filtered), (gst_real_pad_get_caps_unlocked),
(gst_pad_peer_get_caps), (gst_pad_fixate_caps),
(gst_pad_accept_caps), (gst_pad_peer_accept_caps),
(gst_pad_set_caps), (gst_pad_configure_sink),
(gst_pad_configure_src), (gst_pad_realize), (gst_pad_alloc_buffer),
(gst_pad_push), (gst_pad_push_event), (gst_pad_send_event):
* gst/gstpad.h:
* gst/gsttask.c: (gst_task_pause):
* gst/gsttask.h:
* gst/schedulers/threadscheduler.c:
(gst_thread_scheduler_task_class_init),
(gst_thread_scheduler_task_init),
(gst_thread_scheduler_task_start),
(gst_thread_scheduler_task_stop),
(gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
Work on flushing.
Allow tasks to be paused.
Remove some old code in GstClock
2005-01-04 12:06:57 +00:00
Wim Taymans 0f74c8b5f1 gst/gstevent.*: We'll need the end offset in discont soon.
Original commit message from CVS:
* gst/gstevent.c: (gst_event_new_discontinuous_valist),
(gst_event_discont_get_value):
* gst/gstevent.h:
We'll need the end offset in discont soon.
2004-12-31 18:18:45 +00:00
Wim Taymans af728740a3 Clock updates, remove deprecated methods, simplify operations.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_set_index), (gst_bin_set_clock),
(gst_bin_set_bus), (gst_bin_set_scheduler), (gst_bin_add_func),
(gst_bin_iterate_elements), (gst_bin_change_state),
(gst_bin_get_by_name_recurse_up):
* gst/gstbuffer.c: (gst_buffer_default_copy):
* gst/gstbuffer.h:
* gst/gstclock.c: (gst_clock_init), (gst_clock_get_time),
(gst_clock_set_time_adjust):
* gst/gstclock.h:
* gst/gstelement.h:
* gst/gstevent.h:
* gst/gstinfo.h:
* gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
(gst_pipeline_change_state):
* gst/gstpipeline.h:
* gst/gstsystemclock.c: (gst_system_clock_wait):
* gst/gstutils.c: (gst_element_finish_preroll),
(gst_element_get_compatible_pad_filtered),
(gst_element_link_pads_filtered), (gst_element_unlink):
* gst/registries/gstxmlregistry.c:
(gst_xml_registry_parse_element_factory),
(gst_xml_registry_end_element):
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_header_from_buffer):
Clock updates, remove deprecated methods, simplify operations.
Fix clocking and time management in GstPipeline.
Preroll also occurs when going from playing to paused.
2004-12-31 10:44:46 +00:00
Wim Taymans 5b1065d625 More MT fixes. Header cleanups, design doc update.
Original commit message from CVS:
* docs/design/part-MT-refcounting.txt:
* gst/gstbin.c: (gst_bin_set_index), (gst_bin_set_clock),
(gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
(gst_bin_remove), (gst_bin_iterate_elements),
(bin_element_is_sink), (gst_bin_get_state), (gst_bin_change_state),
(gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
(gst_bin_get_by_interface), (gst_bin_get_all_by_interface):
* gst/gstbin.h:
* gst/gstbuffer.h:
* gst/gstbus.h:
* gst/gstcaps.h:
* gst/gstclock.h:
* gst/gstdata.h:
* gst/gstelement.h:
* gst/gstevent.h:
* gst/gstmessage.h:
* gst/gststructure.h:
More MT fixes. Header cleanups, design doc update.
2004-12-09 23:28:31 +00:00
Thomas Vander Stichele 3ffce00efc commiting wim's preliminary threaded work to a branch
Original commit message from CVS:
commiting wim's preliminary threaded work to a branch
2004-12-08 17:40:37 +00:00
Thomas Vander Stichele e7a32237d4 gst/autoplug/gstspideridentity.c: extra debugging
Original commit message from CVS:
* gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
extra debugging
* gst/gstevent.h:
* gst/gstinfo.c: (gst_debug_log_default):
print time nicely.  add thread pointer until someone figures out
a completely portable way of getting at thread id's.
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
(_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
(gst_pad_call_chain_function):
extra debugging
* gst/schedulers/gstoptimalscheduler.c:
(get_group_schedule_function), (loop_group_schedule_function),
(gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
(pad_clear_queued), (gst_opt_scheduler_iterate):
rename BUFPEN and friends to DATAPEN since that's what they are.
2004-07-08 13:49:14 +00:00
Steve Lhomme 395faf9c06 rename GSTREAMER_EXPORT to GST_EXPORT
Original commit message from CVS:
rename GSTREAMER_EXPORT to GST_EXPORT
2004-06-13 10:04:12 +00:00
Steve Lhomme f50188b8a0 Fix a bug to enable/disable DEBUG under MSVC
Original commit message from CVS:
Fix a bug to enable/disable DEBUG under MSVC
2004-06-12 10:51:35 +00:00
Jan Schmidt 734bd34a92 Added GST_EVENT_ANY as an event type that passes a GstStructure
Original commit message from CVS:
Added GST_EVENT_ANY as an event type that passes a GstStructure
2004-03-27 15:30:41 +00:00
Johan Dahlin ecd88e381d Revert again, this time without post-commit reindent hooks to put back the indentation :-)
Original commit message from CVS:
Revert again, this time without post-commit reindent hooks
to put back the indentation :-)
2004-03-15 14:43:35 +00:00
Johan Dahlin e2b3dc3e47 *.h: Revert indentation changes.
Original commit message from CVS:
* *.h: Revert indentation changes.
2004-03-15 14:31:41 +00:00
Thomas Vander Stichele a967370df5 gst-indent run on core
Original commit message from CVS:
gst-indent run on core
2004-03-13 15:27:01 +00:00
Thomas Vander Stichele e0c63736c6 comment fix whitespace fixes
Original commit message from CVS:
comment fix
whitespace fixes
2004-03-12 17:59:00 +00:00
Ramon Garcia Fernandez 4c4ff33d1f Trying to fix the mess that I made with the two previous commits.
Original commit message from CVS:


Trying to fix the mess that I made with the two previous commits.

First commit, doing something wrong (fixing comparisons of signed and unsigned).
Second commit, trying to revert the previous, but changing other things and
reverting unrelated work of other people.
And this third, hopefully fixes it.
2004-02-07 15:51:39 +00:00
Ramon Garcia Fernandez 1f920b1def Reverted changes made to fix unsigned-signed warnings after hearing comments on IRC. Thans to teus
Original commit message from CVS:
Reverted changes made to fix unsigned-signed warnings after hearing comments on IRC. Thans to teus
2004-02-07 15:37:21 +00:00
David Schleef ad3863ac5e docs/random/ds/0.9-suggested-changes: random notes
Original commit message from CVS:
* docs/random/ds/0.9-suggested-changes: random notes
* gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
(gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
expansion.
* gst/elements/gstfilesink.c: (gst_filesink_get_formats),
(gst_filesink_get_query_types): same
* gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
(gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
* gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
to use new GST_PTR_FORMAT.
* gst/gstelement.h: deprecate function factory macros
GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
These are our last variadic macros that can't be replaced with
inlines.  Celebrate!  Also fix a typo in an #ifdef that was
attempting to deprecate gst_element_clock_wait().
* gst/gstevent.h: same
* gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
(gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
* gst/gstpad.h: deprecate function factory macros similar to above.
2004-02-04 19:38:33 +00:00
David Schleef 1cd87b37e5 Change GST_.*_PADDING to _gst_padding[GST_PADDING];
Original commit message from CVS:
Change GST_.*_PADDING to _gst_padding[GST_PADDING];
2003-12-09 02:39:31 +00:00
David Schleef dd597cd485 change gst_event_new_discontinuousv to gst_event_new_discontinuous_valist
Original commit message from CVS:
change gst_event_new_discontinuousv to gst_event_new_discontinuous_valist
2003-12-02 04:28:26 +00:00
Benjamin Otte 385b9ee5c4 merge in tagging
Original commit message from CVS:
merge in tagging
Includes:
- gsttag.[ch] - The definition of GstTagList and tag registering/querying
- gsttaginterface.[ch] - Interface for elements that can handle setting of tags
- updates and merges to gststructure.[ch] and gstvalue.[ch]
- testsuite/tags - some tests for tagging
- bugfixes
- updates to make make distcheck work
- updates the version number to 0.7.2.1

Does not include:
- including tagging stuff in docs
- extensive tests
2003-11-24 02:09:23 +00:00
David Schleef 7eca737099 change navigation from caps to structure
Original commit message from CVS:
change navigation from caps to structure
2003-11-11 00:31:09 +00:00
David Schleef 67fb6a19f6 revert last change
Original commit message from CVS:
revert last change
2003-11-07 19:51:20 +00:00
Julien Moutte e72439148e Adding GST_EVENT_RENEGOTIATE
Original commit message from CVS:
Adding GST_EVENT_RENEGOTIATE
2003-11-07 17:17:06 +00:00
David Schleef 85a63494bf Add padding to structures and objects
Original commit message from CVS:
Add padding to structures and objects
2003-10-07 21:58:42 +00:00
David Schleef ce8fe777e6 Add navigation event
Original commit message from CVS:
Add navigation event
2003-09-14 11:09:28 +00:00
Benjamin Otte 8461453b10 add valist function for gst_event_new_discontinuous original patch from Brett Kosinski fixes #117348
Original commit message from CVS:
add valist function for gst_event_new_discontinuous
original patch from Brett Kosinski
fixes #117348
2003-07-16 19:25:11 +00:00
Ronald S. Bultje 1c17e4700b Get rid of NEW_MEDIA event, EOS is supposed to handle that
Original commit message from CVS:
Get rid of NEW_MEDIA event, EOS is supposed to handle that
2003-06-07 00:15:18 +00:00
Martin Schulze df2f947370 gst/gstelementfactory.c: Add "g_free (dp->license)" in gst_element_details_free().
Original commit message from CVS:
2003-03-29  Martin Schulze  <MHL.Schulze@t-online.de>

* gst/gstelementfactory.c: Add "g_free (dp->license)" in
gst_element_details_free().
* gst/gstevent.[ch]: Add function gst_event_get_type() to
support c++ language binding. Make macros gst_event_ref[_by_count]
return a GstEvent* instead of a GstData*.
* gst/gstbuffer.[ch]: Add functions gst_buffer[_pool]_get_type()
to support c++ language binding.
2003-03-29 11:58:15 +00:00
Benjamin Otte 17b8c5d004 added new function gst_event_has_new_media
Original commit message from CVS:
added new function gst_event_has_new_media
2003-03-16 18:29:45 +00:00
Wim Taymans fe83917b5c - replace old tracing with common GstTrace
Original commit message from CVS:
- replace old tracing with common GstTrace
2003-02-02 19:40:10 +00:00
Wim Taymans e8b63df877 Provide intrastructure to not have to pass NULL buffers on errors and interrupts, this should fix some issues with th...
Original commit message from CVS:
Provide intrastructure to not have to pass NULL buffers on errors and
interrupts, this should fix some issues with the optimal scheduler.
2003-01-08 21:33:20 +00:00
Wim Taymans 347505bcb9 - major API breakage (one of the last, I promise...)
Original commit message from CVS:
- major API breakage (one of the last, I promise...)
- GST_PAD_QUERY -> GST_QUERY
- GstPadQuery -> GstQuery
- Move query definitions to gstquery.h to allow for future dynamic
query types.
- remove _pad_handles_* in favour of extra format/event functions to
make the same checks.
- fix elements
- Implemented missing query/event/formats functions in gstelement
2002-12-30 17:42:11 +00:00
Thomas Vander Stichele 009e8bb2b4 applied fixed patch from Brian
Original commit message from CVS:
applied fixed patch from Brian
2002-11-29 17:05:13 +00:00
Thomas Vander Stichele 7cd8540542 revert fix because GST_DEBUG_LEAVE("") doesn't work with it
Original commit message from CVS:
revert fix because GST_DEBUG_LEAVE("") doesn't work with it
2002-11-29 14:20:53 +00:00
Christian Schaller 54cbcd0c18 commit Brian's patch with AC fix from thomas
Original commit message from CVS:
commit Brian's patch with AC fix from thomas
2002-11-29 11:10:35 +00:00
Wim Taymans 4514d28486 Small cleanups
Original commit message from CVS:
Small cleanups
2002-11-02 13:22:31 +00:00
Thomas Vander Stichele 517829a0d4 still killing comma's
Original commit message from CVS:
still killing comma's
2002-10-24 09:02:11 +00:00
Wim Taymans cadff5e813 Some more event flags some more padquery types
Original commit message from CVS:
Some more event flags
some more padquery types
Better debugging in _pad_get_caps
ref the caps before adding them to a padtemplate
2002-08-02 11:40:27 +00:00
Wim Taymans 12fddba0bd Added some convenience macros for creating format/querytype and eventmask functions
Original commit message from CVS:
Added some convenience macros for creating format/querytype and eventmask
functions
2002-07-25 18:12:12 +00:00
Wim Taymans cb04a141e3 - added GstEventMask to specify event masks (next set of commits)
Original commit message from CVS:
- added GstEventMask to specify event masks (next set of commits)
- use flags for seek methods (for use in masks)
- removed #if 0 from gstmemchunk.h
2002-07-24 20:41:08 +00:00
Wim Taymans e9f84e2738 - Documentation updates, renamed some _ methods because gtkdoc didn't want to generate docs for them.
Original commit message from CVS:
- Documentation updates, renamed some _ methods because gtkdoc didn't
want to generate docs for them.
- Add some more events for future use.
2002-07-13 23:12:22 +00:00
Thomas Vander Stichele dcb3cec6a0 merge from BRANCH-RELEASE-0_4_0
Original commit message from CVS:
merge from BRANCH-RELEASE-0_4_0
2002-07-09 10:27:22 +00:00
Wim Taymans fcb10a6c85 - Removed bufferpool code and move that to gstbuffer.c
Original commit message from CVS:
- Removed bufferpool code and move that to gstbuffer.c
- implemented refcounting on GstData
- implemented new buffer code based on Company's work in the EVENTS2 branch
- added boxed types for GstData/GstEvent/GstBuffer/GstBufferPool
- added refcounting to bufferpools and events
- use lockfree allocation for buffers
- simplified the clock, use lockfree allocation
- use GQueue in GstQueue for faster access to the tail element
- update core plugins to the new event API
2002-07-08 19:22:02 +00:00
Wim Taymans 9286f126e2 Added a size event to optimize buffer sizes make filesrc update its blocksize when it receives a size event
Original commit message from CVS:
Added a size event to optimize buffer sizes
make filesrc update its blocksize when it receives a size event
2002-06-13 22:27:40 +00:00
Wim Taymans c8e8981be8 Documentation updates
Original commit message from CVS:
Documentation updates
Make spider forward bufferpools
Remove some old registry code
2002-06-12 22:26:36 +00:00
Wim Taymans 0a2c1e9c61 Some cleanups
Original commit message from CVS:
Some cleanups
Add a KEY_UNIT flag for a seek event.
2002-06-02 11:49:57 +00:00
Wim Taymans a599a5b1df Created an overridable method for seeking on an element, along with a default implementation.
Original commit message from CVS:
Created an overridable method for seeking on an element, along with a default
implementation.
make queue flush on discont (not entirely correct)
removed the new_media from the discont event.
2002-05-30 19:03:30 +00:00
Wim Taymans 6f96a24d2e - The clock_wait now returns the difference between requested time and unlock time.
Original commit message from CVS:
- The clock_wait now returns the difference between requested time and
unlock time.
- Misc defines like GST_SECOND in gstclock.h
- remove pre/post in gstelement.c until fixed.
- added release_locks to gstelement so that the element can unlock itself
- added some more predefined events.
- added folowing functions to gstpad:
- convert function: get the relation between formats on this pad
- query function: get stats about the pad (position/total/latency)
- internal connect function: find out how this pad connects to other
pad internally to the element.
- generic pad_dispatcher.
- removed the last bits of pullregion
- use release_locks on the queue.
- added some events to queue
- make gstthread use the new release_locks function
- make the scheduler use the new clock_wait functions
- added events to fakesink
- added query functions to filesrc
- swap type and offset in the bytestream seek API to match fseek
- added some event handling in bytestream.
2002-05-26 21:54:27 +00:00