$Id$

= receipies =

The idea is to collect some recommendations for common, but not so trivial
tasks. docs/design/part-block.txt has something like that already. Ideally these
would go to the application developer manual and there would be sample code.

== initial seeking ==
=== question ===
How to I configure the initial playback segment?

=== idea ===
1) set pipeline to PAUSED
2) send seek event
3) set pipeline to PLAYING

=== problems ===
1) would preroll the pipeline only, to flush it when the seek comes


== async state changes ==
=== question === 
what to do when gst_element_set_state() returns ASYNC?

=== idea ===
1) listen to the STATE_CHANGED message on the bus
2) trigger next action

=== problems ===
This scatters logic over multiple functions (callbacks).


== topic ==
=== question === 
=== idea ===
=== problems ===
