[WiP] Timeshifting in a single looping .ts file (1 Viewer)

SilentException

Retired Team Member
  • Premium Supporter
  • October 27, 2008
    2,617
    1,130
    Rijeka, Croatia
    Home Country
    Croatia Croatia
    You should read posts from before and the wiki page, but basically if you're paused and max files is reached, then no new data is written to timeshift files. That way, when user unpauses, playback is resumed from the point where he paused. If the data got overwriten, that would not be possible.
     

    disaster123

    MP Donator
  • Premium Supporter
  • May 14, 2008
    3,558
    434
    Home Country
    Germany Germany
    AW: Timeshifting in a single looping .ts file

    ah OK then i got it correctly. I haven't tested it now but i can't remember that i've changed anything in the filters which can influence that. We have to try that. At the moment we should fix the problem mentioned by dvdfreak that you will see disontinues after channel change (seems the BUFFER_SAFETY_BORDER isn't working in that case).

    @all
    please keep in mind that the patch doesn't include rtsp changes. I'll do that when UNC is working fine.
     

    arion_p

    Retired Team Member
  • Premium Supporter
  • February 7, 2007
    3,373
    1,626
    Athens
    Home Country
    Greece Greece
    So how does TsWriter know when the ts buffer is full? How does it track the read position of clients?

    Remember there maybe many clients reading the same ts buffer and each one be located at a different position. TsWriter should not write past any client read position.
     

    disaster123

    MP Donator
  • Premium Supporter
  • May 14, 2008
    3,558
    434
    Home Country
    Germany Germany
    AW: Timeshifting in a single looping .ts file

    @arion
    I'm not 100% sure but i haven't touched anything in the code which has todo with such parts. So it should work like before. But i'm not sure if i have missed something.
     

    arion_p

    Retired Team Member
  • Premium Supporter
  • February 7, 2007
    3,373
    1,626
    Athens
    Home Country
    Greece Greece
    Existing TsWriter will not overwrite a file that is open by any client. That is how it stops when the buffer is full. But since now there is only one file, it is always open by all clients and that cannot be used to stop TsWriter from overwriting unwatched data.
     

    disaster123

    MP Donator
  • Premium Supporter
  • May 14, 2008
    3,558
    434
    Home Country
    Germany Germany
    AW: Timeshifting in a single looping .ts file

    ah thanks arion - really didn't know that. So this won't work atm. Any ideas? I think the main question is still is this idea (one ts file) acceptable at all for the team? I mean dvdvfreak and myself have / will need a lot of / some time to do this stuff. When the team already knows that this patch / idea will probably never go into MP we can us our time for other stuff ;-) At least cause UNC is working fine now me since i've exchanged my PowerLAN with a 300Mbit/s WLAN Mimo.
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Well, I do think all the requirements could be implemented in single TS file, but perhaps you need to expand .tshift file format a bit :)

    There is one feature that cannot be implemented with the one buffer approach. I'm not 100% sure if that feature is needed thou.

    Currently user can configure TS buffer amount and the max TS buffer amount. The buffer amount between normal and max is started to use when user pauses the stream and the buffering time goes beyond the normal limit. This is lowering the HD space requirement for the TS buffer. So, the buffer could be 30 mins in normal cases but with long pause it could be 2 hours for example.

    This is something you cannot do with a single buffer file (unless you are extending the file size on the fly of course).
     

    disaster123

    MP Donator
  • Premium Supporter
  • May 14, 2008
    3,558
    434
    Home Country
    Germany Germany
    AW: Timeshifting in a single looping .ts file

    I'm still not 100% sure if this is the right / correct way. I mean for a lot of users the multi .ts stuff is working correctly. But WHY does it not work in some cases this is really strange. For me it worked on Client1 + 2 but not on Client 3. The problem here was that my power lan was not powerful enough for HD content / it was going down from 130Mbit/s to 10Mbit/s every 5-15 minutes - strangely i saw this then every time the buffer file changes.
     

    Users who are viewing this thread

    Top Bottom