Push/pull mode for net source for live, timeshifted and recorded TV
I want to write a source element for HTSP clients. HTSP is the Home TV Streaming Protocol used by tvheadend. It supports playback of live TV and of recordings, and live TV can be put into timeshifted mode (paused and limited seeking).
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?