Hello,<br><br>I want to stream an audio file from a server to a client, there I want to seek to change the track position and want to use scaletempo to change the playback rate.<br>Both actions are realized via a seek event.<br>
<br>When I use filesrc everything works fine, using tcpserversrc or similar things fail.<br><br>What I think I know:<br><br>- filesrc can random access all my audio data, so it can run in pullmode<br>- httpsrc, fdsrc, queue, ... run in pushmode as they cannot access all data in advance<br>
<br>What I don&#39;t understand:<br><br>- What really is pullmode: The last sink wants data, so it pulls it from it&#39;s predecessor, and that pulls it again from its predecessor and so on - until the buffer from the sink is full enough?<br>
- What really is pushmode: when a queue has enough data it pushes it forward to the next linked element, that pushes it forward and so on. What happens if the buffer of (say) alsasink is empty? Does the pipeline change to pause mode?<br>
<br><br>What options do I have?<br><br>Writing a plugin that buffers data from a network stream and offer random access mode? If the app seeks to data that has not arrived so far it sets the pipe to pause mode?<br>Any other (simpler) workaround?<br>
<br>Thanks so much,<br><br> Bastian Hecht<br><br>