Record timeshift buffer as well (1 Viewer)

tourettes

Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    For me, this is the one thing that makes me stay with the built in tv engine, and will be the one reason I won't update to 1.1.0 (unless it's added of course ^.^)

    I really hope someone from the community can write a patch for this :)

    For 1.1.0 release it is alredy too late to introduce such big new fature. We are almost in release canditate state already.


    That's exactly what you said 7 months ago when the devs were working on 1.0.1 :p
    As long as you don't add it to the to-do list it will never be implemented and will this answer keep popin' up in the future... :D

    Mantis bug tracking & feature (todo list?) won't feature anything that wont' fullfill the following:

    • Is a confirmed bug
    • Is a feature that team has agreed to be added and we have a developer that has agreed to implement the feature
    • Is a feature that we have a community patch that is waiting for the integration testing (and team has agreed that the feature is a wanted one)
     

    pilehave

    Community Skin Designer
  • Premium Supporter
  • April 2, 2008
    2,566
    521
    Hornslet
    Home Country
    Denmark Denmark
    ok...but put it in MP 2.0 please, its easier to do from scratch than to rewrite tons of classes ;)
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    ok...but put it in MP 2.0 please, its easier to do from scratch than to rewrite tons of classes ;)

    Would require rewriting TsReader and TsWriter on some parts :) (and those are most likely going to be used in MPII).
     

    tanstaafl

    Portal Member
    December 19, 2007
    13
    0
    Uppsala
    Home Country
    Sweden Sweden
    Would require rewriting TsReader and TsWriter on some parts :) (and those are most likely going to be used in MPII).

    All the more reason to start thinking about it before it's too late! =)

    Could you or someone with fair knowledge of TsReader/Writer outline what would have to be done in some detail (including any other classes that would need changing)?

    Might make it a more attractive project if there's a brief outline of what classes to look at: TVE code isn't always that easy to follow. :p

    /tans

    PS: I do mean a _brief_ outline, say a few lines, a paragraph... Heck, even a list of classes, methods, that would definitely need altering would be useful. =)
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    PS: I do mean a _brief_ outline, say a few lines, a paragraph... Heck, even a list of classes, methods, that would definitely need altering would be useful. =)

    Actually TsReader doesn't need any changes...

    Here's a short list that could help up starting the developement

    • TV client needs to have an option / dialog that asks if the buffered / timeshifted material is wanted to be recorded when user presses a record on active show (that has timeshifted material)
    • TV client needs to maintain some state information of the buffer content (i.e. how much timesifted material there is available for the currently playing show)
    • TV client needs to ask server to record a buffered content (if user selects that option)
    • TV server needs to have an interface to be able to tell it to record the buffered data as well (client will tell how much)
    • TsWriter will have a new class that is able to parse the buffered data (timestamps mainly from multiple files) and then copy the needed buffer data to the newly created recording file (and assure that timestamps are continuous). Related code is somewere in TsWriter.cpp and DiskRecorder.cpp.

    Propably something else needs to be implemented as well, but I don't know the whole code that is affecting the recording use case (it has been at least one year when I have last time worked in that area). But at least that list should give some pointers for an interested community developer to start the work.

    Anyone, feel free to correct the ideas as they might be totally wrong :p
     

    te3hpurp

    Retired Team Member
  • Premium Supporter
  • September 23, 2008
    910
    231
    Rovaniemi
    Home Country
    Finland Finland
    Those are the tough solution guidelines...

    PS: I do mean a _brief_ outline, say a few lines, a paragraph... Heck, even a list of classes, methods, that would definitely need altering would be useful. =)

    Actually TsReader doesn't need any changes...

    Here's a short list that could help up starting the developement

    • TV client needs to have an option / dialog that asks if the buffered / timeshifted material is wanted to be recorded when user presses a record on active show (that has timeshifted material)
    • TV client needs to maintain some state information of the buffer content (i.e. how much timesifted material there is available for the currently playing show)
    • TV client needs to ask server to record a buffered content (if user selects that option)
    • TV server needs to have an interface to be able to tell it to record the buffered data as well (client will tell how much)
    • TsWriter will have a new class that is able to parse the buffered data (timestamps mainly from multiple files) and then copy the needed buffer data to the newly created recording file (and assure that timestamps are continuous). Related code is somewere in TsWriter.cpp and DiskRecorder.cpp.

    Propably something else needs to be implemented as well, but I don't know the whole code that is affecting the recording use case (it has been at least one year when I have last time worked in that area). But at least that list should give some pointers for an interested community developer to start the work.

    Anyone, feel free to correct the ideas as they might be totally wrong :p

    But what about simpler solution for those who want it so badly ?

    Ie User uses skip setps to go back to the point he/she wants to start recording and presses record. Dialog shows options to choose how long to record like 0,5 h, 1h, 1,5h etc. Then users selects correct length and mp records the same what is currently playing in screen. The you can close tv scree and go away and slected length of buffer is recoirded.

    regards,
     

    Gixxer

    Retired Team Member
  • Premium Supporter
  • August 18, 2007
    1,383
    41
    39
    Spain
    Home Country
    Spain Spain
    i dont know much about programming so i might be completly off here...

    wouldnt it be an option to keep for example a txt file of what is inside the timeshift buffer file.

    that means each line saying:
    -at 1:32 channel A program A
    -at 5:32 channel B program B
    -etc

    then if you hit record program A you do something like:
    -extract from timeshift buffer file from minute 1.32 to minute 5.32
    -start recording program A
    -when program A finishes recording, join extract to recording.

    im sure there are many complications i dont know about, but this could be an option where tsreader and tswriter are not modified. an external process could be in charge of first extracting the appropiate part from the timeshift buffer and then merging it to the actual recording.

    probably all this is wrong, but just my idea.
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    But what about simpler solution for those who want it so badly ?

    Ie User uses skip setps to go back to the point he/she wants to start recording and presses record. Dialog shows options to choose how long to record like 0,5 h, 1h, 1,5h etc. Then users selects correct length and mp records the same what is currently playing in screen. The you can close tv scree and go away and slected length of buffer is recoirded.

    I would assume the most complex thing is the buffer handling (and copying). So, there won't be any shortcuts :) The GUI and server client interface changes are trivial compared to that.
     

    Users who are viewing this thread

    Top Bottom