2005-06-30 12:18:19 +00:00
|
|
|
Changes in the 0.9 version
|
|
|
|
--------------------------
|
|
|
|
|
|
|
|
- Refcounting and API revised for thread safety, see rules in
|
|
|
|
docs/design/part-MT-refcounting.txt
|
|
|
|
|
|
|
|
- Scheduling is now done by the elements, they start/stop
|
|
|
|
processing threads themselves. This removes the need for
|
|
|
|
a separate scheduler.
|
|
|
|
|
|
|
|
- State changes now happen from sink to source. This makes sure
|
|
|
|
that downstream elements are ready to process data when upstream
|
|
|
|
starts producing.
|
|
|
|
|
|
|
|
- EOS/ERROR/... does not change the state of elements anymore. This
|
|
|
|
means that when the application sets the state on an element, it
|
|
|
|
remains in this state.
|
|
|
|
|
|
|
|
- GMainLoop integration. Information on the state of the pipeline
|
Some docs updates
Original commit message from CVS:
* CHANGES-0.9:
* docs/design/part-TODO.txt:
* docs/design/part-events.txt:
Some docs updates
* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_event), (gst_base_sink_do_sync),
(gst_base_sink_activate_push), (gst_base_sink_activate_pull):
* gst/base/gstbasesrc.c: (gst_base_src_send_discont),
(gst_base_src_do_seek), (gst_base_src_event_handler),
(gst_base_src_loop):
* gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
(gst_base_transform_configure_caps), (gst_base_transform_setcaps),
(gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
(gst_base_transform_event), (gst_base_transform_handle_buffer),
(gst_base_transform_set_passthrough),
(gst_base_transform_is_passthrough):
* gst/elements/gstfakesink.c: (gst_fake_sink_event):
* gst/elements/gstfilesink.c: (gst_file_sink_event):
Event updates.
* gst/gstbuffer.h:
Use faster casts.
* gst/gstelement.c: (gst_element_seek):
* gst/gstelement.h:
Update gst_element_seek.
* gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
(gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
(gst_event_new_flush_start), (gst_event_new_flush_stop),
(gst_event_new_eos), (gst_event_new_newsegment),
(gst_event_parse_newsegment), (gst_event_new_tag),
(gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
(gst_event_parse_qos), (gst_event_new_seek),
(gst_event_parse_seek), (gst_event_new_navigation):
* gst/gstevent.h:
Make GstEvent use GstStructure. Add parsing code, make sure the
API is sufficiently generic.
Mark possible directions of events and serialization.
* gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
(_gst_message_copy), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_new_custom),
(gst_message_parse_segment_start),
(gst_message_parse_segment_done):
Small cleanups.
* gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
(gst_pad_set_caps), (gst_pad_send_event):
Update for new events.
Catch events sent in wrong directions.
* gst/gstqueue.c: (gst_queue_link_src),
(gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
(gst_queue_handle_src_query):
Event updates.
* gst/gsttag.c:
* gst/gsttag.h:
Remove event code from this file.
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
(gst_dp_event_from_packet):
Event updates.
2005-07-27 18:33:03 +00:00
|
|
|
is now received in the mainloop via the GstBus.
|
2005-06-30 12:18:19 +00:00
|
|
|
|
|
|
|
- Events move separate from the datastream, this allows for both
|
|
|
|
in and out of sync delivery of events.
|
|
|
|
|
|
|
|
- Generic _pull() replaced by _pull_region() so that random access
|
|
|
|
can be made faster.
|
|
|
|
|
|
|
|
- data passing happens from PAUSED, called the preroll phase. In this
|
|
|
|
state no data is rendered but it is queued in the sinks.
|
|
|
|
|
|
|
|
- negotiation simplified. Caps are now attached to buffers and travel
|
|
|
|
along with the datastream.
|
|
|
|
|
|
|
|
- GstBuffer is now subclassable.
|
|
|
|
|
|
|
|
- Ghostpads now look and feel like real pads.
|
|
|
|
|
|
|
|
- New Seeking/flushing policy.
|
|
|
|
|
|
|
|
- Addition of base classes and helper functions in the core to abstract
|
|
|
|
away the harder parts of plugin development.
|
|
|
|
|