Commit graph

299 commits

Author SHA1 Message Date
Stefan Sauer
3d71df23b0 docs: add the start of a design document for controller 2011-12-25 21:28:04 +01:00
Wim Taymans
9e3aa102d7 docs: update design doc
also fix default alignment value (0 == no-alignment)
2011-11-18 18:08:21 +01:00
Wim Taymans
642a4697fe pad: install query probes
Fire query probes according to updated design doc.
2011-11-08 17:32:11 +01:00
Wim Taymans
ce09010267 pad: add pull mode probes
Allow probes to inspect the offset and size from a probe in pull mode and allow
the probe to modify the buffer.
Update design doc a little.
2011-11-08 12:47:33 +01:00
Wim Taymans
b6fbeb8fed pad: make probes work on all pads
fixes #644907
2011-11-04 18:19:14 +01:00
Tim-Philipp Müller
bffc9207b5 pad: rename GstProbeType and GstProbeReturn to GstPadProbe{Type,Return}
Better now than later in the cycle. These might come in handy:

sed -i -e 's/GstProbeReturn/GstPadProbeReturn/g'   `git grep GstProbeReturn  | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GST_PROBE_/GST_PAD_PROBE_/g'          `git grep GST_PROBE_      | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GstProbeType/GstPadProbeType/g'       `git grep GstProbeType    | sed -e 's/:.*//' | sort -u`
2011-11-01 00:15:17 +00:00
Sebastian Dröge
43538e2e75 Merge branch 'master' into 0.11
Conflicts:
	docs/design/draft-buffer2.txt
	docs/design/part-TODO.txt
	docs/design/part-block.txt
	docs/design/part-bufferlist.txt
	docs/design/part-caps.txt
	docs/design/part-element-transform.txt
	docs/design/part-events.txt
	docs/design/part-negotiation.txt
	gst/gstcaps.c
	gst/gstevent.h
	gst/gstghostpad.c
	gst/gstinterface.c
	gst/gstpad.c
	gst/gstpad.h
	gst/gstutils.c
	libs/gst/base/gstbasesink.c
	libs/gst/base/gstbasesrc.c
	libs/gst/base/gstbasetransform.c
	libs/gst/base/gsttypefindhelper.c
	plugins/elements/gstcapsfilter.c
	plugins/elements/gsttee.c
	tests/check/generic/sinks.c
	tools/gst-launch.1.in
2011-09-08 14:28:23 +02:00
Piotr Fusik
14f5518f3d docs, gst: typo fixes
https://bugzilla.gnome.org/show_bug.cgi?id=658449
2011-09-07 18:03:17 +01:00
Wim Taymans
1b381907b5 docs: update design docs a little
Update the design doc with the current state of the videometadata.
2011-06-22 18:07:18 +02:00
Wim Taymans
f8fedb8ff1 docs: update negotiation design doc 2011-06-22 12:26:19 +02:00
Wim Taymans
7988f4c494 docs: update bufferpool design doc 2011-06-21 17:47:36 +02:00
Wim Taymans
44d45e0b63 docs: update docs 2011-06-14 15:19:21 +02:00
Edward Hervey
30b3e90117 design: part-bufferlist.txt was merged into another doc 2011-06-10 13:44:19 +02:00
Wim Taymans
b84fff07ea memory: Require implementation to implement _share
Require the memory implementations to implement a share operation. This allows
us to remove the fallback share implementation which uses a different allocator
implementation and complicates things too much.
Update design doc a bit.
2011-06-08 12:04:49 +02:00
Wim Taymans
9886c712cd docs: add beginnings of memory design doc 2011-06-07 18:18:27 +02:00
Tim-Philipp Müller
b549abcf48 docs: minor fix and clarification 2011-06-07 13:05:33 +01:00
Wim Taymans
f48e7920da docs: go over design docs and fix things
Remove bufferlist part, it's merged with part-buffer.txt
2011-06-06 16:13:19 +02:00
Tim-Philipp Müller
a4092cd5c4 Remove everything libxml2- and loadsave-related 2011-06-04 15:22:06 +01:00
Wim Taymans
da14267ea8 docs: first version of probes document 2011-06-03 17:24:21 +02:00
Wim Taymans
f7acae0af5 docs: update bufferpool design doc
Move the bufferpool design doc from draft to part and merge it with
the allocation draft.
2011-06-03 12:43:32 +02:00
Wim Taymans
5fa3082e19 query: add SCHEDULING query
Add a new query to replace the checkgetrange function.
2011-05-24 17:39:56 +02:00
Wim Taymans
4c582b010b docs: update docs some more 2011-05-18 11:21:52 +02:00
Wim Taymans
029ac4597e pad: rework sticky events a little
Update the design docs with some clear rules for how sticky events are
handled.
Reimplement the sticky tags, use a small structure to hold the event and its
current state (active or inactive).
Events on sinkpads only become active when the event function returned success
for the event.
When linking, only update events that are different.
Avoid making a copy of the event array, use the object lock to protect the event
array and release it only to call the event function. This will need to check
if something changed, later.
Disable a test in the unit test, it can't work yet.
2011-05-18 11:08:52 +02:00
Wim Taymans
06f6935107 bufferpool: add query to request pool and configuration
Add a query to request allocation parameters and optionally a bufferpool as
well. This should allow elements to discover downstream capabilities and also
use the downstream allocators.
2011-04-28 15:31:48 +02:00
Wim Taymans
442193f3f3 bufferpool: fix some docs 2011-04-27 17:56:12 +02:00
Edward Hervey
629f8506e7 design: draft-buffer2.txt no longer exists 2011-04-09 04:05:48 +02:00
Wim Taymans
4686e124c8 Merge branch 'master' into 0.11 2011-04-01 10:47:48 +02:00
Tim-Philipp Müller
0221f842af design docs: document expected behaviour for ACCURATE and KEY_UNIT seek flags 2011-03-31 19:27:30 +01:00
Wim Taymans
cf4117b240 design: update design docs 2011-03-30 15:29:39 +02:00
Wim Taymans
db230b6121 design: update docs 2011-03-30 13:04:34 +02:00
Wim Taymans
e9d7571022 docs: rename draft to official doc 2011-03-08 18:05:42 +00:00
Wim Taymans
aab8b00f17 docs: update metadata draft 2011-03-04 19:02:33 +01:00
Wim Taymans
2dca02869b docs: update bufferpool draft 2011-03-04 16:05:44 +01:00
Wim Taymans
0969106993 docs: update docs and defs 2011-02-27 12:21:32 +01:00
Wim Taymans
8e4ab802f9 updates 2011-02-25 10:34:52 +01:00
Wim Taymans
a27da6a919 design: add api tag
We want to find metadata based on the API it implements and based on the
specific implementation.
2011-02-25 10:19:25 +01:00
Stefan Kost
14c40ff792 docs: spell-check 2011-02-18 17:17:29 +02:00
Wim Taymans
fab02a497a design: mention timeout in the progress message 2011-02-15 18:55:23 +01:00
Wim Taymans
fd0efad9cb design: make progress draft official 2011-02-15 18:55:22 +01:00
Wim Taymans
ec1bbd36bf message: rename category to code 2011-02-15 18:55:22 +01:00
Wim Taymans
8ff6a082d7 docs: add more standard categories 2011-02-15 18:55:22 +01:00
Wim Taymans
6382a6813d docs: update progress field
Avoid naming the progress free text field 'message' as it conflicts with the
message itself.
2011-02-15 18:55:22 +01:00
Wim Taymans
80311b758c design: tweak docs a little 2011-02-10 15:21:45 +01:00
Wim Taymans
2371cbbec2 design: update QoS document
Add new QoS types and talk about the new throttle QoS message.
2011-02-10 15:21:44 +01:00
Tim-Philipp Müller
166be8d7f1 docs: fix some typos in the bufferpool draft 2011-02-10 13:46:08 +00:00
Wim Taymans
654a9484ef design: add draft for first ideas for a bufferpool feature
Add a first draft with some ideas and use cases for the implementation
for bufferpools. The purpose is to be able to make elements negotiate
their buffer requirements as well as provide an infrastructure to
preallocate and reuse buffers in an easy way.
2011-02-09 16:27:33 +01:00
Zhang Wanming
624168d8a0 docs: fix a few more typos
https://bugzilla.gnome.org/show_bug.cgi?id=640502
2011-01-26 08:59:49 +00:00
Cai Yuanqing
eea239f47c design docs: fix 2 typos in part-MT-refcounting 2011-01-24 19:52:30 +01:00
Yang Xichuan
3d858ccc18 design docs: part-gstbin.txt fix typo
Signed-off-by: Yang Xichuan <xichuan.yang@tieto.com>
2011-01-24 19:16:15 +01:00
Vincent Penquerc'h
4b88f6048a design docs: fix a few typos and a thinko 2011-01-24 19:15:29 +01:00
Wim Taymans
7f217e728a design: update buffering doc
Add strategies to buffering doc
2011-01-24 16:35:25 +01:00
Wim Taymans
4b51c52395 design: more updates for the progress messages 2011-01-05 10:57:26 +01:00
Wim Taymans
d90b7702f1 docs: fix typo 2010-12-28 10:35:18 +01:00
Wim Taymans
22e64c80d2 docs: add draft idea for progress reporting 2010-12-22 16:42:04 +01:00
Tim-Philipp Müller
9ae630c73d build: remove trailing whitespaces after backslash in Makefile.am 2010-12-04 14:23:59 +00:00
Stefan Kost
16ce2d4ea4 design-docs: add html output using asciidoc
Unify the ad-hoc markup to be asciidoc style in many places. Add a "html" target
to Makefile to generate the output.
2010-12-03 09:50:31 +02:00
Wim Taymans
8b61681cff docs: update qos design doc
Fix some typos.
change the definition of the quality field for video decoders to something that
makes more sense.
2010-10-07 19:20:01 +02:00
Wim Taymans
b181094798 docs: add copy and conv function to buffer2 draft 2010-03-31 16:55:55 +02:00
Wim Taymans
ac2f2c6122 docs: update buffer2 draft 2010-03-31 10:54:55 +02:00
Wim Taymans
6e7ccbf9ab docs: avoid confusion between events and messages 2010-03-17 15:46:46 +01:00
Wim Taymans
7d99d0eb54 docs: merge QoS message fields
There was already a section about QoS messages that is now merged with the new
information.
2010-03-16 10:41:45 +01:00
Wim Taymans
03cb74617b docs: update QOS docs to include QOS messages
Add some docs about the values needed for a QoS message and some use
cases.

See #322947
2010-03-15 18:48:14 +01:00
Stefan Kost
a12fc26461 design: write about the current state of tag-handling
Document the taghandling in gstreamer. List gaps and propose new mechanisms to
deal with them.
2010-02-17 09:55:52 +02:00
Wim Taymans
6078dc4931 docs: small docs updates 2010-01-19 16:39:38 +01:00
Wim Taymans
068307b70e docs: update QoS documeent
Add some ideas about a new QoS message.

See also #322947
2010-01-11 14:58:11 +01:00
Wim Taymans
bdaadd4352 docs: add some more buffer2 ideas 2009-12-24 15:13:49 +01:00
Stefan Kost
f65a81ae6d docs: review and fix spelling 2009-12-14 15:11:14 +02:00
Wim Taymans
d20b373998 docs: fix grammar 2009-11-23 11:33:48 +01:00
Wim Taymans
8c4742866b TODO: remove stepping from TODO
Remove the frame stepping API from the TODO list.
2009-11-16 18:25:45 +01:00
Wim Taymans
ac1e923617 design: add some ideas for SKIP mode trickmodes 2009-10-27 15:47:39 +01:00
Wim Taymans
c10690aea2 TODO: add item to TODO list
We currently do a little too much work when we push the first buffer around
resulting in excessive caps checking. We can probably make this a little less
expensive.
2009-10-22 16:42:13 -04:00
Sebastian Dröge
bf8af3f734 docs: Update the design docs for bin state changes according to last commit 2009-08-18 11:38:38 +02:00
Tim-Philipp Müller
02790ee700 docs: dist GStreamer-1.0 buffer design draft 2009-08-06 09:21:19 +01:00
Edward Hervey
f39cfbebbf docs/design: Update Makefile.am for changed framestep document name. 2009-07-13 09:33:45 +02:00
Wim Taymans
dd670cb5b5 docs: add draft for arbitrary buffer metadata idea 2009-07-10 18:46:39 +01:00
Wim Taymans
8ecbf002b8 docs: more framestep docs out of draft 2009-07-10 18:35:21 +01:00
Wim Taymans
c5c136251b docs: update framestep document
Remove experimental status from the framestep draft.
2009-07-10 18:33:58 +01:00
Wim Taymans
25067558dc stepping: more stepping improvements
Update design doc with step-start docs.
Add eos field to step done message
when stepping in reverse, update the segment time field.
Flush out the current step when we are flushing.
2009-06-12 13:20:36 +02:00
Wim Taymans
89c42f8506 stepping: do flushing steps correctly
Note in the docs that a flushing step in PLAYING brings the pipeline to the lost
state and skips the data before prerolling again.

Implement the flushing step correctly by invalidating the current step
operation, which would activate the new step operation.
2009-06-08 17:41:56 +02:00
Wim Taymans
0c205b96b4 framestep: implement backwards framestep
Update framestep document, we want to pass the flush flag in the step-done
message.

Add flush flag to the gstmessage.

Update examples to use the new step-done message api.

Implement framestep with playback rates < 0.0 too.
2009-06-01 13:37:28 +02:00
Wim Taymans
386c516e51 add new API for framestepping
Add new STEP event and methods for creating/parsing the event
Update design docs.
Add new STEP_DONE message and method to create/parse.

API: GstEvent::gst_event_new_step()
API: GstEvent::gst_event_parse_step()
API: GstMessage::gst_message_new_step_done()
API: GstMessage::gst_message_parse_step_done()
2009-06-01 13:36:49 +02:00
Wim Taymans
170b9d6253 docs: remove a TODO item that is fixed now 2009-05-29 12:48:28 +02:00
Wim Taymans
6fd78ac41c docs: add Image to draft klass documentation 2009-05-25 14:53:08 +02:00
Edward Hervey
4f951e2614 Makefile.am: update for added/moved/removed files that weren't dist-ed. 2009-05-15 11:00:53 +02:00
Wim Taymans
e535c171d6 docs: rename and delete some design docs 2009-05-14 12:31:57 +02:00
Wim Taymans
0f83510620 docs: update trickmode document 2009-05-13 23:38:08 +02:00
Wim Taymans
079c68fdf4 docs: add some docs about buffer lists 2009-05-12 17:29:15 +02:00
Wim Taymans
3ff09d9b51 design: more STREAM_STATUS updates
Pass the thread object in a GValue, which would allow the application to figure
out the type of the object instead of us having to explicitly code it in a
message field.
2009-05-11 23:04:48 +02:00
Wim Taymans
39aa1e0e31 design: update stream-status document some more 2009-05-11 23:04:38 +02:00
Wim Taymans
0b5f070eae design: add first version of stream-status
Add the first version of the STREAM_STATUS message design docs.
This message will be used to give applications more control over the
streaming threads.
2009-05-11 23:04:15 +02:00
Stefan Kost
d6807e1ae3 formatting: tabs to spaces 2009-03-10 21:13:40 +02:00
Wim Taymans
013f4a58d5 design: update the framestep draft
Update the docs a little.
Add property to allow incremental stepping so that we can reduce excessive
queueing.
2009-02-27 12:36:54 +01:00
Wim Taymans
4b986a4a94 Add message to request a state change
Add a GST_MESSAGE_REQUEST_STATE that can be posted by element when they would
like to have the application change the state of the pipeline. the primary use
case is to pause the pipeline when an audio mixer is mixing a higher priority
stream but it can also be used for other purposes.

Add some docs and a unit test.

Implement the REQUEST_STATE message in gst-launch.

API: gst_message_new_request_state()
API: gst_message_parse_request_state()
API: GST_MESSAGE_REQUEST_STATE
2009-02-18 15:31:55 +01:00
Wim Taymans
85c0fc3260 docs/design/part-TODO.txt: Remove the seqnum entry that we implemented in 0.10 already.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Remove the seqnum entry that we implemented in 0.10 already.
Add entry about removing the format return value for queries.
2008-12-15 15:27:06 +00:00
Wim Taymans
773c1e4c1d docs/design/part-TODO.txt: Mumble something about removing GstXML.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Mumble something about removing GstXML.
2008-11-05 11:17:24 +00:00
Wim Taymans
5605bbc5d5 docs/design/part-TODO.txt: Refer to the framestepping document.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Refer to the framestepping document.
2008-11-04 16:10:04 +00:00
Wim Taymans
97ec47cabb docs/design/part-TODO.txt: Remove item from the todo list because it was fixed with the latency state change rewrites.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Remove item from the todo list because it was fixed with the latency
state change rewrites.
* docs/design/part-seeking.txt:
* docs/design/part-segments.txt:
Update some docs.
* gst/gstevent.c: (gst_event_new_new_segment_full),
(gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
(gst_event_parse_buffer_size), (gst_event_new_qos),
(gst_event_parse_qos), (gst_event_new_seek),
(gst_event_parse_seek), (gst_event_new_latency),
(gst_event_parse_latency):
Use quarks to construct and parse events.
* gst/gstquark.c: (_priv_gst_quarks_initialize):
* gst/gstquark.h:
Add some more quarks to the table.
Emit a warning when the quark tables are not in sync.
* tests/check/gst/gstbus.c: (GST_START_TEST):
Add an assert.
2008-10-13 17:19:25 +00:00
Wim Taymans
a739ae387d docs/design/part-negotiation.txt: Update the docs some more.
Original commit message from CVS:
* docs/design/part-negotiation.txt:
Update the docs some more.
* libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
If we pull a buffer with non-trivial caps, suggest those caps with the
max probability.
2008-10-10 15:12:11 +00:00
Edward Hervey
6bb3d02305 docs/design/part-TODO.txt: Add another limitation of pad-blocking with segment seeks not pushing
Original commit message from CVS:
* docs/design/part-TODO.txt:
Add another limitation of pad-blocking with segment seeks not pushing
EOS events.
2008-10-10 14:31:03 +00:00
Wim Taymans
b3403511ea docs/design/part-negotiation.txt: Small doc update.
Original commit message from CVS:
* docs/design/part-negotiation.txt:
Small doc update.
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
(gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
(gst_base_sink_init), (gst_base_sink_set_blocksize),
(gst_base_sink_get_blocksize), (gst_base_sink_set_property),
(gst_base_sink_get_property), (gst_base_sink_needs_preroll),
(gst_base_sink_loop), (gst_base_sink_pad_activate),
(gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
(gst_base_sink_change_state):
* libs/gst/base/gstbasesink.h:
Add blocksize property and methods to control the amount of data
to pull.
Negotiate first before activating upstream in pull mode so that they can
negotiate themselves.
When we operate in pull mode, we only accept the caps that we
negotiated.
Make the sink go ASYNC to PAUSED, like all other sinks.
API: GstBaseSink::gst_base_sink_set_blocksize()
API: GstBaseSink::gst_base_sink_get_blocksize()
API: GstBaseSink::blocksize
* libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
(gst_base_src_set_live), (gst_base_src_is_live),
(gst_base_src_set_format), (gst_base_src_query_latency),
(gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
(gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
(gst_base_src_set_property), (gst_base_src_get_property):
* libs/gst/base/gstbasesrc.h:
Add typechecking in public API functions.
Add methods to control the blocksize in subclasses.
API: GstBaseSrc::gst_base_src_set_blocksize()
API: GstBaseSrc::gst_base_src_get_blocksize()
2008-10-10 10:01:36 +00:00