Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: Idea: Change DVB card while recording



Hello Klaus,

>> > A perfect solution for me would be that VDR "starts" recording on the
>> > second card on the same channel, makes a binary comparison of the
>> > received streams and then stops the recording on the first card without
>> > loss of any audio/video-data after the correct synchronization.

KS> Although this might be technically possible, I don't believe it's
KS> worth the effort because it would introduce pretty complex mechanisms
KS> in the otherwise clear and straightforward structures of VDR.

You mean, the frequent analyzing of if it's time to switch to another
card? I can imagine that this could be complex.

KS> Implementing a method to "free" the primary interface upon user request
KS> appears to me to be the better solution.

KS> I could imagine a solution where the user, when he wants to change the channel,
KS> gets prompted something like "Continue recording on another DVB card?" (only

That would be ok for me and it would be less complex to implement this
manual function, you're right.

Nevertheless, it would be nice if vdr can do this without data loss, i
mean with this buffer analyzing I described.

I made two instant recordings (one minute RTL) and compared the files.
It's like I imagined, in the middle, the files are nearly the same
(looks like a few bytes differ every n bytes, it could be a time code or
so in the video stream that the dvb cards create?).

Without looking at the vdr source code, I think that the actual
thread/procedure/object that writes one stream to a file cannot handle
two streams and merge them together.

I've two ideas of how to change this:

- One could implement an object before the "file-writer" that can handle
  two streams (for the few seconds when recording overlapping) and that
  only gives the stream to the "file-writer" that exists now unchanged,
  when in "normal operating mode".
  That would be some sort of big change in vdr.
  
- The recording on the new card can first start recording in a new file
  and then the old recording thread stops. That should result in an
  overlapping recording.
  Then, a new "overlapping recording check" can test after a recording
  has finished, if a vdr.00x exists with a greater number (that means
  overlapping recording) and in this case, the redundant data at the
  end of the own file is cut off.
  I think this method could be implemented cleanly without destroying
  the source code too much.
  
Tschau.




Home | Main Index | Thread Index