I am a fan of the Kaffeine media player.

I was a MS windows user. I recently shifted to Linux full time.
I was pleased when i found that kaffeine works with DVB-S. It is easiest to configure with DVB. ( Actually, The only one I was able to get it to work )

Here is my suggestion;
In windows, I used ProgDVB which had a time shift in memory (RAM), it wasn't really a time shift more like a buffer (it's size can be set in MBytes).
The stream of  media data was buffer in memory all the time. Using seek slider, you can go back to any instant up-to 20 minutes (for example, if buffer = 300MB, it depends on the stream bit rate). Also, you can pause and go do your thing then resume as long as that instance is in buffer (inside 20 minutes as in our example).

I hope I was able to describe the idea correctly and it's easy to implement.

I have a beginner skills in C/C++, I started trying to implement it, but I can't find the part I need to change in "src" files.

I am ready for beta testing you might need. Don't hesitate to contact me with Alpha version.