<div dir="ltr">I want to write a source element for HTSP clients. <a href="https://tvheadend.org/projects/tvheadend/wiki/Htsp">HTSP</a> is the Home TV Streaming Protocol used by <a href="https://tvheadend.org/">tvheadend</a>. It supports playback of live TV and of recordings, and live TV can be put into timeshifted mode (paused and limited seeking). <div><br></div><div>I've got a little bit of experience with gstreamer, but this is the first time I've tried to write an element/plugin. Looking at the Plugin Writer's Guide, it seems that pull mode is better for playing recordings (and is necessary to support seeking?) while push mode would be better suited for live TV. However, when live TV is in timeshifted mode, pulling would be better. Can gstreamer switch between push/pull on the fly? Or should I just use pull mode for everything and buffer packets in the source?<br><br>-- <br>TH</div></div>